New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 5682 for branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/EXTERNAL/AGRIF/LIB/fortran.c – NEMO

Ignore:
Timestamp:
2015-08-12T17:46:45+02:00 (9 years ago)
Author:
mattmartin
Message:

OBS simplification changes committed to branch after running SETTE tests to make sure we get the same results as the trunk for ORCA2_LIM_OBS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/EXTERNAL/AGRIF/LIB/fortran.c

    r3294 r5682  
    1 /* A Bison parser, made by GNU Bison 2.3.  */ 
    2  
    3 /* Skeleton implementation for Bison's Yacc-like parsers in C 
    4  
    5    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 
    6    Free Software Foundation, Inc. 
    7  
    8    This program is free software; you can redistribute it and/or modify 
     1/* A Bison parser, made by GNU Bison 2.7.  */ 
     2 
     3/* Bison implementation for Yacc-like parsers in C 
     4    
     5      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. 
     6    
     7   This program is free software: you can redistribute it and/or modify 
    98   it under the terms of the GNU General Public License as published by 
    10    the Free Software Foundation; either version 2, or (at your option) 
    11    any later version. 
    12  
     9   the Free Software Foundation, either version 3 of the License, or 
     10   (at your option) any later version. 
     11    
    1312   This program is distributed in the hope that it will be useful, 
    1413   but WITHOUT ANY WARRANTY; without even the implied warranty of 
    1514   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
    1615   GNU General Public License for more details. 
    17  
     16    
    1817   You should have received a copy of the GNU General Public License 
    19    along with this program; if not, write to the Free Software 
    20    Foundation, Inc., 51 Franklin Street, Fifth Floor, 
    21    Boston, MA 02110-1301, USA.  */ 
     18   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */ 
    2219 
    2320/* As a special exception, you may create a larger work that contains 
     
    3027   Bison output files to be licensed under the GNU General Public 
    3128   License without this special exception. 
    32  
     29    
    3330   This special exception was added by the Free Software Foundation in 
    3431   version 2.2 of Bison.  */ 
     
    4845 
    4946/* Bison version.  */ 
    50 #define YYBISON_VERSION "2.3" 
    5147 
    5248/* Skeleton name.  */ 
     
    5652#define YYPURE 0 
    5753 
    58 /* Using locations.  */ 
    59 #define YYLSP_NEEDED 0 
     54/* Push parsers.  */ 
     55#define YYPUSH 0 
     56 
     57/* Pull parsers.  */ 
     58#define YYPULL 1 
     59 
    6060 
    6161/* Substitute the variable and function names.  */ 
    62 #define yyparse fortranparse 
    63 #define yylex   fortranlex 
    64 #define yyerror fortranerror 
    65 #define yylval  fortranlval 
    66 #define yychar  fortranchar 
    67 #define yydebug fortrandebug 
    68 #define yynerrs fortrannerrs 
    69  
    70  
    71 /* Tokens.  */ 
    72 #ifndef YYTOKENTYPE 
    73 # define YYTOKENTYPE 
    74    /* Put the tokens into the symbol table, so that GDB and other debuggers 
    75       know about them.  */ 
    76    enum yytokentype { 
    77      TOK_BINARY_OP = 258, 
    78      TOK_NEQV = 259, 
    79      TOK_EQV = 260, 
    80      TOK_XOR = 261, 
    81      TOK_OR = 262, 
    82      TOK_AND = 263, 
    83      TOK_NOT = 264, 
    84      TOK_NE = 265, 
    85      TOK_EQ = 266, 
    86      TOK_GE = 267, 
    87      TOK_LE = 268, 
    88      TOK_GT = 269, 
    89      TOK_LT = 270, 
    90      TOK_UNARY_OP = 271, 
    91      TOK_DSLASH = 272, 
    92      TOK_SLASH = 273, 
    93      TOK_DASTER = 274, 
    94      TOK_SEP = 275, 
    95      TOK_SEMICOLON = 276, 
    96      TOK_NEXTLINE = 277, 
    97      TOK_PARAMETER = 278, 
    98      TOK_RESULT = 279, 
    99      TOK_ONLY = 280, 
    100      TOK_INCLUDE = 281, 
    101      TOK_SUBROUTINE = 282, 
    102      TOK_PROGRAM = 283, 
    103      TOK_FUNCTION = 284, 
    104      TOK_OMP = 285, 
    105      TOK_DOLLAR = 286, 
    106      TOK_FORMAT = 287, 
    107      TOK_MAX = 288, 
    108      TOK_TANH = 289, 
    109      TOK_WHERE = 290, 
    110      TOK_ELSEWHERE = 291, 
    111      TOK_ENDWHERE = 292, 
    112      TOK_MAXVAL = 293, 
    113      TOK_TRIM = 294, 
    114      TOK_SUM = 295, 
    115      TOK_SQRT = 296, 
    116      TOK_CASE = 297, 
    117      TOK_SELECTCASE = 298, 
    118      TOK_FILE = 299, 
    119      TOK_END = 300, 
    120      TOK_ERR = 301, 
    121      TOK_DONOTTREAT = 302, 
    122      TOK_ENDDONOTTREAT = 303, 
    123      TOK_EXIST = 304, 
    124      TOK_MIN = 305, 
    125      TOK_FLOAT = 306, 
    126      TOK_EXP = 307, 
    127      TOK_COS = 308, 
    128      TOK_COSH = 309, 
    129      TOK_ACOS = 310, 
    130      TOK_NINT = 311, 
    131      TOK_CYCLE = 312, 
    132      TOK_SIN = 313, 
    133      TOK_SINH = 314, 
    134      TOK_ASIN = 315, 
    135      TOK_EQUIVALENCE = 316, 
    136      TOK_BACKSPACE = 317, 
    137      TOK_LOG = 318, 
    138      TOK_TAN = 319, 
    139      TOK_ATAN = 320, 
    140      TOK_RECURSIVE = 321, 
    141      TOK_ABS = 322, 
    142      TOK_MOD = 323, 
    143      TOK_SIGN = 324, 
    144      TOK_MINLOC = 325, 
    145      TOK_MAXLOC = 326, 
    146      TOK_EXIT = 327, 
    147      TOK_MINVAL = 328, 
    148      TOK_PUBLIC = 329, 
    149      TOK_PRIVATE = 330, 
    150      TOK_ALLOCATABLE = 331, 
    151      TOK_RETURN = 332, 
    152      TOK_THEN = 333, 
    153      TOK_ELSEIF = 334, 
    154      TOK_ELSE = 335, 
    155      TOK_ENDIF = 336, 
    156      TOK_PRINT = 337, 
    157      TOK_PLAINGOTO = 338, 
    158      TOK_CONSTRUCTID = 339, 
    159      TOK_LOGICALIF = 340, 
    160      TOK_PLAINDO = 341, 
    161      TOK_CONTAINS = 342, 
    162      TOK_ENDDO = 343, 
    163      TOK_MODULE = 344, 
    164      TOK_ENDMODULE = 345, 
    165      TOK_DOWHILE = 346, 
    166      TOK_ALLOCATE = 347, 
    167      TOK_OPEN = 348, 
    168      TOK_CLOSE = 349, 
    169      TOK_INQUIRE = 350, 
    170      TOK_WRITE = 351, 
    171      TOK_READ = 352, 
    172      TOK_REWIND = 353, 
    173      TOK_DEALLOCATE = 354, 
    174      TOK_NULLIFY = 355, 
    175      TOK_FIN = 356, 
    176      TOK_DEBUT = 357, 
    177      TOK_DIMENSION = 358, 
    178      TOK_ENDSELECT = 359, 
    179      TOK_EXTERNAL = 360, 
    180      TOK_INTENT = 361, 
    181      TOK_INTRINSIC = 362, 
    182      TOK_NAMELIST = 363, 
    183      TOK_CASEDEFAULT = 364, 
    184      TOK_OPTIONAL = 365, 
    185      TOK_POINTER = 366, 
    186      TOK_CONTINUE = 367, 
    187      TOK_SAVE = 368, 
    188      TOK_TARGET = 369, 
    189      TOK_QUOTE = 370, 
    190      TOK_IMPLICIT = 371, 
    191      TOK_NONE = 372, 
    192      TOK_CALL = 373, 
    193      TOK_STAT = 374, 
    194      TOK_POINT_TO = 375, 
    195      TOK_COMMON = 376, 
    196      TOK_GLOBAL = 377, 
    197      TOK_INTERFACE = 378, 
    198      TOK_ENDINTERFACE = 379, 
    199      TOK_LEFTAB = 380, 
    200      TOK_RIGHTAB = 381, 
    201      TOK_PAUSE = 382, 
    202      TOK_PROCEDURE = 383, 
    203      TOK_STOP = 384, 
    204      TOK_NAMEEQ = 385, 
    205      TOK_REAL8 = 386, 
    206      TOK_OUT = 387, 
    207      TOK_INOUT = 388, 
    208      TOK_IN = 389, 
    209      TOK_USE = 390, 
    210      TOK_TRUE = 391, 
    211      TOK_FALSE = 392, 
    212      TOK_LABEL = 393, 
    213      TOK_TYPE = 394, 
    214      TOK_TYPEPAR = 395, 
    215      TOK_ENDTYPE = 396, 
    216      TOK_REAL = 397, 
    217      TOK_INTEGER = 398, 
    218      TOK_LOGICAL = 399, 
    219      TOK_DOUBLEPRECISION = 400, 
    220      TOK_DOUBLEREAL = 401, 
    221      TOK_ENDSUBROUTINE = 402, 
    222      TOK_ENDFUNCTION = 403, 
    223      TOK_ENDPROGRAM = 404, 
    224      TOK_ENDUNIT = 405, 
    225      TOK_CHARACTER = 406, 
    226      TOK_CHAR_CONSTANT = 407, 
    227      TOK_CHAR_CUT = 408, 
    228      TOK_DATA = 409, 
    229      TOK_CHAR_INT = 410, 
    230      TOK_CHAR_MESSAGE = 411, 
    231      TOK_CSTREAL = 412, 
    232      TOK_CSTREALDP = 413, 
    233      TOK_CSTREALQP = 414, 
    234      TOK_SFREAL = 415, 
    235      TOK_COMPLEX = 416, 
    236      TOK_DOUBLECOMPLEX = 417, 
    237      TOK_NAME = 418, 
    238      TOK_NAME_CHAR = 419, 
    239      TOK_PROBTYPE = 420, 
    240      TOK_INTERPTYPE = 421, 
    241      TOK_VARTYPE = 422, 
    242      TOK_BC = 423, 
    243      TOK_OP = 424, 
    244      TOK_CSTINT = 425, 
    245      TOK_COMMENT = 426, 
    246      TOK_FILENAME = 427 
    247    }; 
    248 #endif 
    249 /* Tokens.  */ 
    250 #define TOK_BINARY_OP 258 
    251 #define TOK_NEQV 259 
    252 #define TOK_EQV 260 
    253 #define TOK_XOR 261 
    254 #define TOK_OR 262 
    255 #define TOK_AND 263 
    256 #define TOK_NOT 264 
    257 #define TOK_NE 265 
    258 #define TOK_EQ 266 
    259 #define TOK_GE 267 
    260 #define TOK_LE 268 
    261 #define TOK_GT 269 
    262 #define TOK_LT 270 
    263 #define TOK_UNARY_OP 271 
    264 #define TOK_DSLASH 272 
    265 #define TOK_SLASH 273 
    266 #define TOK_DASTER 274 
    267 #define TOK_SEP 275 
    268 #define TOK_SEMICOLON 276 
    269 #define TOK_NEXTLINE 277 
    270 #define TOK_PARAMETER 278 
    271 #define TOK_RESULT 279 
    272 #define TOK_ONLY 280 
    273 #define TOK_INCLUDE 281 
    274 #define TOK_SUBROUTINE 282 
    275 #define TOK_PROGRAM 283 
    276 #define TOK_FUNCTION 284 
    277 #define TOK_OMP 285 
    278 #define TOK_DOLLAR 286 
    279 #define TOK_FORMAT 287 
    280 #define TOK_MAX 288 
    281 #define TOK_TANH 289 
    282 #define TOK_WHERE 290 
    283 #define TOK_ELSEWHERE 291 
    284 #define TOK_ENDWHERE 292 
    285 #define TOK_MAXVAL 293 
    286 #define TOK_TRIM 294 
    287 #define TOK_SUM 295 
    288 #define TOK_SQRT 296 
    289 #define TOK_CASE 297 
    290 #define TOK_SELECTCASE 298 
    291 #define TOK_FILE 299 
    292 #define TOK_END 300 
    293 #define TOK_ERR 301 
    294 #define TOK_DONOTTREAT 302 
    295 #define TOK_ENDDONOTTREAT 303 
    296 #define TOK_EXIST 304 
    297 #define TOK_MIN 305 
    298 #define TOK_FLOAT 306 
    299 #define TOK_EXP 307 
    300 #define TOK_COS 308 
    301 #define TOK_COSH 309 
    302 #define TOK_ACOS 310 
    303 #define TOK_NINT 311 
    304 #define TOK_CYCLE 312 
    305 #define TOK_SIN 313 
    306 #define TOK_SINH 314 
    307 #define TOK_ASIN 315 
    308 #define TOK_EQUIVALENCE 316 
    309 #define TOK_BACKSPACE 317 
    310 #define TOK_LOG 318 
    311 #define TOK_TAN 319 
    312 #define TOK_ATAN 320 
    313 #define TOK_RECURSIVE 321 
    314 #define TOK_ABS 322 
    315 #define TOK_MOD 323 
    316 #define TOK_SIGN 324 
    317 #define TOK_MINLOC 325 
    318 #define TOK_MAXLOC 326 
    319 #define TOK_EXIT 327 
    320 #define TOK_MINVAL 328 
    321 #define TOK_PUBLIC 329 
    322 #define TOK_PRIVATE 330 
    323 #define TOK_ALLOCATABLE 331 
    324 #define TOK_RETURN 332 
    325 #define TOK_THEN 333 
    326 #define TOK_ELSEIF 334 
    327 #define TOK_ELSE 335 
    328 #define TOK_ENDIF 336 
    329 #define TOK_PRINT 337 
    330 #define TOK_PLAINGOTO 338 
    331 #define TOK_CONSTRUCTID 339 
    332 #define TOK_LOGICALIF 340 
    333 #define TOK_PLAINDO 341 
    334 #define TOK_CONTAINS 342 
    335 #define TOK_ENDDO 343 
    336 #define TOK_MODULE 344 
    337 #define TOK_ENDMODULE 345 
    338 #define TOK_DOWHILE 346 
    339 #define TOK_ALLOCATE 347 
    340 #define TOK_OPEN 348 
    341 #define TOK_CLOSE 349 
    342 #define TOK_INQUIRE 350 
    343 #define TOK_WRITE 351 
    344 #define TOK_READ 352 
    345 #define TOK_REWIND 353 
    346 #define TOK_DEALLOCATE 354 
    347 #define TOK_NULLIFY 355 
    348 #define TOK_FIN 356 
    349 #define TOK_DEBUT 357 
    350 #define TOK_DIMENSION 358 
    351 #define TOK_ENDSELECT 359 
    352 #define TOK_EXTERNAL 360 
    353 #define TOK_INTENT 361 
    354 #define TOK_INTRINSIC 362 
    355 #define TOK_NAMELIST 363 
    356 #define TOK_CASEDEFAULT 364 
    357 #define TOK_OPTIONAL 365 
    358 #define TOK_POINTER 366 
    359 #define TOK_CONTINUE 367 
    360 #define TOK_SAVE 368 
    361 #define TOK_TARGET 369 
    362 #define TOK_QUOTE 370 
    363 #define TOK_IMPLICIT 371 
    364 #define TOK_NONE 372 
    365 #define TOK_CALL 373 
    366 #define TOK_STAT 374 
    367 #define TOK_POINT_TO 375 
    368 #define TOK_COMMON 376 
    369 #define TOK_GLOBAL 377 
    370 #define TOK_INTERFACE 378 
    371 #define TOK_ENDINTERFACE 379 
    372 #define TOK_LEFTAB 380 
    373 #define TOK_RIGHTAB 381 
    374 #define TOK_PAUSE 382 
    375 #define TOK_PROCEDURE 383 
    376 #define TOK_STOP 384 
    377 #define TOK_NAMEEQ 385 
    378 #define TOK_REAL8 386 
    379 #define TOK_OUT 387 
    380 #define TOK_INOUT 388 
    381 #define TOK_IN 389 
    382 #define TOK_USE 390 
    383 #define TOK_TRUE 391 
    384 #define TOK_FALSE 392 
    385 #define TOK_LABEL 393 
    386 #define TOK_TYPE 394 
    387 #define TOK_TYPEPAR 395 
    388 #define TOK_ENDTYPE 396 
    389 #define TOK_REAL 397 
    390 #define TOK_INTEGER 398 
    391 #define TOK_LOGICAL 399 
    392 #define TOK_DOUBLEPRECISION 400 
    393 #define TOK_DOUBLEREAL 401 
    394 #define TOK_ENDSUBROUTINE 402 
    395 #define TOK_ENDFUNCTION 403 
    396 #define TOK_ENDPROGRAM 404 
    397 #define TOK_ENDUNIT 405 
    398 #define TOK_CHARACTER 406 
    399 #define TOK_CHAR_CONSTANT 407 
    400 #define TOK_CHAR_CUT 408 
    401 #define TOK_DATA 409 
    402 #define TOK_CHAR_INT 410 
    403 #define TOK_CHAR_MESSAGE 411 
    404 #define TOK_CSTREAL 412 
    405 #define TOK_CSTREALDP 413 
    406 #define TOK_CSTREALQP 414 
    407 #define TOK_SFREAL 415 
    408 #define TOK_COMPLEX 416 
    409 #define TOK_DOUBLECOMPLEX 417 
    410 #define TOK_NAME 418 
    411 #define TOK_NAME_CHAR 419 
    412 #define TOK_PROBTYPE 420 
    413 #define TOK_INTERPTYPE 421 
    414 #define TOK_VARTYPE 422 
    415 #define TOK_BC 423 
    416 #define TOK_OP 424 
    417 #define TOK_CSTINT 425 
    418 #define TOK_COMMENT 426 
    419 #define TOK_FILENAME 427 
    420  
    421  
    422  
     62#define yyparse         fortran_parse 
     63#define yylex           fortran_lex 
     64#define yyerror         fortran_error 
     65#define yylval          fortran_lval 
     66#define yychar          fortran_char 
     67#define yydebug         fortran_debug 
     68#define yynerrs         fortran_nerrs 
    42369 
    42470/* Copy the first part of user declarations.  */ 
     71/* Line 371 of yacc.c  */ 
    42572#line 36 "fortran.y" 
    42673 
     
    43077#include <string.h> 
    43178#include "decl.h" 
    432 extern int line_num_fortran; 
    433 extern int line_num_fortran_common; 
    434 char *tmp; 
    435 char c_selectorname[LONG_C]; 
    436 char ligne[LONG_C]; 
    437 char truename[LONGNOM]; 
    438 char identcopy[LONG_C]; 
     79 
     80extern int line_num_input; 
     81extern char *fortran_text; 
     82 
     83char c_selectorname[LONG_M]; 
     84char ligne[LONG_M]; 
     85char truename[LONG_VNAME]; 
     86char identcopy[LONG_VNAME]; 
    43987int c_selectorgiven=0; 
    440 int incom; 
    44188listvar *curlistvar; 
    44289typedim c_selectordim; 
    44390listcouple *coupletmp; 
    444 listdim *parcoursdim; 
    44591int removeline=0; 
    44692listvar *test; 
    44793 
    448  
    449 /* Enabling traces.  */ 
    450 #ifndef YYDEBUG 
    451 # define YYDEBUG 0 
    452 #endif 
     94int fortran_error(const char *s) 
     95{ 
     96    printf("%s line %d, file %s motclef = |%s|\n", s, line_num_input, cur_filename, fortran_text); 
     97    exit(1); 
     98} 
     99 
     100 
     101/* Line 371 of yacc.c  */ 
     102#line 104 "fortran.tab.c" 
     103 
     104# ifndef YY_NULL 
     105#  if defined __cplusplus && 201103L <= __cplusplus 
     106#   define YY_NULL nullptr 
     107#  else 
     108#   define YY_NULL 0 
     109#  endif 
     110# endif 
    453111 
    454112/* Enabling verbose error messages.  */ 
     
    460118#endif 
    461119 
    462 /* Enabling the token table.  */ 
    463 #ifndef YYTOKEN_TABLE 
    464 # define YYTOKEN_TABLE 0 
     120 
     121/* Enabling traces.  */ 
     122#ifndef YYDEBUG 
     123# define YYDEBUG 1 
    465124#endif 
     125#if YYDEBUG 
     126extern int fortran_debug; 
     127#endif 
     128 
     129/* Tokens.  */ 
     130#ifndef YYTOKENTYPE 
     131# define YYTOKENTYPE 
     132   /* Put the tokens into the symbol table, so that GDB and other debuggers 
     133      know about them.  */ 
     134   enum yytokentype { 
     135     TOK_NEQV = 258, 
     136     TOK_EQV = 259, 
     137     TOK_XOR = 260, 
     138     TOK_OR = 261, 
     139     TOK_AND = 262, 
     140     TOK_NOT = 263, 
     141     TOK_NE = 264, 
     142     TOK_EQ = 265, 
     143     TOK_GE = 266, 
     144     TOK_LE = 267, 
     145     TOK_GT = 268, 
     146     TOK_LT = 269, 
     147     TOK_DSLASH = 270, 
     148     TOK_SLASH = 271, 
     149     TOK_DASTER = 272, 
     150     TOK_SEMICOLON = 273, 
     151     TOK_PARAMETER = 274, 
     152     TOK_RESULT = 275, 
     153     TOK_ONLY = 276, 
     154     TOK_INCLUDE = 277, 
     155     TOK_SUBROUTINE = 278, 
     156     TOK_PROGRAM = 279, 
     157     TOK_FUNCTION = 280, 
     158     TOK_FORMAT = 281, 
     159     TOK_MAX = 282, 
     160     TOK_TANH = 283, 
     161     TOK_WHERE = 284, 
     162     TOK_ELSEWHEREPAR = 285, 
     163     TOK_ELSEWHERE = 286, 
     164     TOK_ENDWHERE = 287, 
     165     TOK_MAXVAL = 288, 
     166     TOK_TRIM = 289, 
     167     TOK_NULL_PTR = 290, 
     168     TOK_SUM = 291, 
     169     TOK_SQRT = 292, 
     170     TOK_CASE = 293, 
     171     TOK_SELECTCASE = 294, 
     172     TOK_FILE = 295, 
     173     TOK_UNIT = 296, 
     174     TOK_FMT = 297, 
     175     TOK_NML = 298, 
     176     TOK_END = 299, 
     177     TOK_EOR = 300, 
     178     TOK_ERR = 301, 
     179     TOK_EXIST = 302, 
     180     TOK_MIN = 303, 
     181     TOK_FLOAT = 304, 
     182     TOK_EXP = 305, 
     183     TOK_COS = 306, 
     184     TOK_COSH = 307, 
     185     TOK_ACOS = 308, 
     186     TOK_NINT = 309, 
     187     TOK_CYCLE = 310, 
     188     TOK_SIN = 311, 
     189     TOK_SINH = 312, 
     190     TOK_ASIN = 313, 
     191     TOK_EQUIVALENCE = 314, 
     192     TOK_BACKSPACE = 315, 
     193     TOK_LOG = 316, 
     194     TOK_TAN = 317, 
     195     TOK_ATAN = 318, 
     196     TOK_RECURSIVE = 319, 
     197     TOK_ABS = 320, 
     198     TOK_MOD = 321, 
     199     TOK_SIGN = 322, 
     200     TOK_MINLOC = 323, 
     201     TOK_MAXLOC = 324, 
     202     TOK_EXIT = 325, 
     203     TOK_MINVAL = 326, 
     204     TOK_PUBLIC = 327, 
     205     TOK_PRIVATE = 328, 
     206     TOK_ALLOCATABLE = 329, 
     207     TOK_RETURN = 330, 
     208     TOK_THEN = 331, 
     209     TOK_ELSEIF = 332, 
     210     TOK_ELSE = 333, 
     211     TOK_ENDIF = 334, 
     212     TOK_PRINT = 335, 
     213     TOK_PLAINGOTO = 336, 
     214     TOK_LOGICALIF = 337, 
     215     TOK_PLAINDO = 338, 
     216     TOK_CONTAINS = 339, 
     217     TOK_ENDDO = 340, 
     218     TOK_MODULE = 341, 
     219     TOK_ENDMODULE = 342, 
     220     TOK_WHILE = 343, 
     221     TOK_CONCURRENT = 344, 
     222     TOK_ALLOCATE = 345, 
     223     TOK_OPEN = 346, 
     224     TOK_CLOSE = 347, 
     225     TOK_INQUIRE = 348, 
     226     TOK_WRITE = 349, 
     227     TOK_FLUSH = 350, 
     228     TOK_READ = 351, 
     229     TOK_REWIND = 352, 
     230     TOK_DEALLOCATE = 353, 
     231     TOK_NULLIFY = 354, 
     232     TOK_DIMENSION = 355, 
     233     TOK_ENDSELECT = 356, 
     234     TOK_EXTERNAL = 357, 
     235     TOK_INTENT = 358, 
     236     TOK_INTRINSIC = 359, 
     237     TOK_NAMELIST = 360, 
     238     TOK_DEFAULT = 361, 
     239     TOK_OPTIONAL = 362, 
     240     TOK_POINTER = 363, 
     241     TOK_CONTINUE = 364, 
     242     TOK_SAVE = 365, 
     243     TOK_TARGET = 366, 
     244     TOK_IMPLICIT = 367, 
     245     TOK_NONE = 368, 
     246     TOK_CALL = 369, 
     247     TOK_STAT = 370, 
     248     TOK_POINT_TO = 371, 
     249     TOK_COMMON = 372, 
     250     TOK_GLOBAL = 373, 
     251     TOK_LEFTAB = 374, 
     252     TOK_RIGHTAB = 375, 
     253     TOK_PAUSE = 376, 
     254     TOK_PROCEDURE = 377, 
     255     TOK_STOP = 378, 
     256     TOK_REAL8 = 379, 
     257     TOK_FOURDOTS = 380, 
     258     TOK_HEXA = 381, 
     259     TOK_ASSIGNTYPE = 382, 
     260     TOK_OUT = 383, 
     261     TOK_INOUT = 384, 
     262     TOK_IN = 385, 
     263     TOK_USE = 386, 
     264     TOK_TRUE = 387, 
     265     TOK_FALSE = 388, 
     266     TOK_LABEL = 389, 
     267     TOK_TYPE = 390, 
     268     TOK_TYPEPAR = 391, 
     269     TOK_ENDTYPE = 392, 
     270     TOK_REAL = 393, 
     271     TOK_INTEGER = 394, 
     272     TOK_LOGICAL = 395, 
     273     TOK_DOUBLEPRECISION = 396, 
     274     TOK_ENDSUBROUTINE = 397, 
     275     TOK_ENDFUNCTION = 398, 
     276     TOK_ENDPROGRAM = 399, 
     277     TOK_ENDUNIT = 400, 
     278     TOK_CHARACTER = 401, 
     279     TOK_CHAR_CONSTANT = 402, 
     280     TOK_CHAR_CUT = 403, 
     281     TOK_DATA = 404, 
     282     TOK_CHAR_MESSAGE = 405, 
     283     TOK_CSTREAL = 406, 
     284     TOK_COMPLEX = 407, 
     285     TOK_DOUBLECOMPLEX = 408, 
     286     TOK_NAME = 409, 
     287     TOK_CSTINT = 410 
     288   }; 
     289#endif 
     290 
    466291 
    467292#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 
    468293typedef union YYSTYPE 
    469 #line 59 "fortran.y" 
    470294{ 
    471        char      nac[LONG_C]; 
    472        char      na[LONGNOM]; 
    473        listdim  *d; 
    474        listvar  *l; 
    475        listnom  *ln; 
    476        listcouple  *lc; 
    477        listname *lnn; 
    478        typedim   dim1; 
    479        variable *v; 
    480        } 
    481 /* Line 193 of yacc.c.  */ 
    482 #line 483 "fortran.tab.c" 
    483    YYSTYPE; 
     295/* Line 387 of yacc.c  */ 
     296#line 65 "fortran.y" 
     297 
     298    char        na[LONG_M]; 
     299    listdim     *d; 
     300    listvar     *l; 
     301    listcouple  *lc; 
     302    listname    *lnn; 
     303    typedim     dim1; 
     304    variable    *v; 
     305 
     306 
     307/* Line 387 of yacc.c  */ 
     308#line 310 "fortran.tab.c" 
     309} YYSTYPE; 
     310# define YYSTYPE_IS_TRIVIAL 1 
    484311# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 
    485312# define YYSTYPE_IS_DECLARED 1 
    486 # define YYSTYPE_IS_TRIVIAL 1 
    487313#endif 
    488314 
     315extern YYSTYPE fortran_lval; 
     316 
     317#ifdef YYPARSE_PARAM 
     318#if defined __STDC__ || defined __cplusplus 
     319int fortran_parse (void *YYPARSE_PARAM); 
     320#else 
     321int fortran_parse (); 
     322#endif 
     323#else /* ! YYPARSE_PARAM */ 
     324#if defined __STDC__ || defined __cplusplus 
     325int fortran_parse (void); 
     326#else 
     327int fortran_parse (); 
     328#endif 
     329#endif /* ! YYPARSE_PARAM */ 
     330 
    489331 
    490332 
    491333/* Copy the second part of user declarations.  */ 
    492334 
    493  
    494 /* Line 216 of yacc.c.  */ 
    495 #line 496 "fortran.tab.c" 
     335/* Line 390 of yacc.c  */ 
     336#line 338 "fortran.tab.c" 
    496337 
    497338#ifdef short 
     
    546387#  if ENABLE_NLS 
    547388#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 
    548 #   define YY_(msgid) dgettext ("bison-runtime", msgid) 
     389#   define YY_(Msgid) dgettext ("bison-runtime", Msgid) 
    549390#  endif 
    550391# endif 
    551392# ifndef YY_ 
    552 #  define YY_(msgid) msgid 
     393#  define YY_(Msgid) Msgid 
    553394# endif 
    554395#endif 
     
    556397/* Suppress unused-variable warnings by "using" E.  */ 
    557398#if ! defined lint || defined __GNUC__ 
    558 # define YYUSE(e) ((void) (e)) 
     399# define YYUSE(E) ((void) (E)) 
    559400#else 
    560 # define YYUSE(e) /* empty */ 
     401# define YYUSE(E) /* empty */ 
    561402#endif 
    562403 
    563404/* Identity function, used to suppress warnings about constant conditions.  */ 
    564405#ifndef lint 
    565 # define YYID(n) (n) 
     406# define YYID(N) (N) 
    566407#else 
    567408#if (defined __STDC__ || defined __C99__FUNC__ \ 
    568409     || defined __cplusplus || defined _MSC_VER) 
    569410static int 
    570 YYID (int i) 
     411YYID (int yyi) 
    571412#else 
    572413static int 
    573 YYID (i) 
    574     int i; 
     414YYID (yyi) 
     415    int yyi; 
    575416#endif 
    576417{ 
    577   return i; 
     418  return yyi; 
    578419} 
    579420#endif 
     
    596437#   else 
    597438#    define YYSTACK_ALLOC alloca 
    598 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 
     439#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 
    599440     || defined __cplusplus || defined _MSC_VER) 
    600441#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 
    601 #     ifndef _STDLIB_H 
    602 #      define _STDLIB_H 1 
     442      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */ 
     443#     ifndef EXIT_SUCCESS 
     444#      define EXIT_SUCCESS 0 
    603445#     endif 
    604446#    endif 
     
    623465#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 
    624466#  endif 
    625 #  if (defined __cplusplus && ! defined _STDLIB_H \ 
     467#  if (defined __cplusplus && ! defined EXIT_SUCCESS \ 
    626468       && ! ((defined YYMALLOC || defined malloc) \ 
    627469        && (defined YYFREE || defined free))) 
    628470#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 
    629 #   ifndef _STDLIB_H 
    630 #    define _STDLIB_H 1 
     471#   ifndef EXIT_SUCCESS 
     472#    define EXIT_SUCCESS 0 
    631473#   endif 
    632474#  endif 
    633475#  ifndef YYMALLOC 
    634476#   define YYMALLOC malloc 
    635 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 
     477#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 
    636478     || defined __cplusplus || defined _MSC_VER) 
    637479void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 
     
    640482#  ifndef YYFREE 
    641483#   define YYFREE free 
    642 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 
     484#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 
    643485     || defined __cplusplus || defined _MSC_VER) 
    644486void free (void *); /* INFRINGES ON USER NAME SPACE */ 
     
    656498union yyalloc 
    657499{ 
    658   yytype_int16 yyss; 
    659   YYSTYPE yyvs; 
    660   }; 
     500  yytype_int16 yyss_alloc; 
     501  YYSTYPE yyvs_alloc; 
     502}; 
    661503 
    662504/* The size of the maximum gap between one aligned stack and the next.  */ 
     
    669511      + YYSTACK_GAP_MAXIMUM) 
    670512 
    671 /* Copy COUNT objects from FROM to TO.  The source and destination do 
    672    not overlap.  */ 
    673 # ifndef YYCOPY 
    674 #  if defined __GNUC__ && 1 < __GNUC__ 
    675 #   define YYCOPY(To, From, Count) \ 
    676       __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 
    677 #  else 
    678 #   define YYCOPY(To, From, Count)     \ 
    679       do             \ 
    680    {              \ 
    681      YYSIZE_T yyi;            \ 
    682      for (yyi = 0; yyi < (Count); yyi++)  \ 
    683        (To)[yyi] = (From)[yyi];     \ 
    684    }              \ 
    685       while (YYID (0)) 
    686 #  endif 
    687 # endif 
     513# define YYCOPY_NEEDED 1 
    688514 
    689515/* Relocate STACK from its old location to the new one.  The 
     
    692518   stack.  Advance YYPTR to a properly aligned location for the next 
    693519   stack.  */ 
    694 # define YYSTACK_RELOCATE(Stack)             \ 
     520# define YYSTACK_RELOCATE(Stack_alloc, Stack)            \ 
    695521    do                           \ 
    696522      {                          \ 
    697523   YYSIZE_T yynewbytes;                \ 
    698    YYCOPY (&yyptr->Stack, Stack, yysize);          \ 
    699    Stack = &yyptr->Stack               \ 
     524   YYCOPY (&yyptr->Stack_alloc, Stack, yysize);       \ 
     525   Stack = &yyptr->Stack_alloc;              \ 
    700526   yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 
    701527   yyptr += yynewbytes / sizeof (*yyptr);          \ 
     
    705531#endif 
    706532 
     533#if defined YYCOPY_NEEDED && YYCOPY_NEEDED 
     534/* Copy COUNT objects from SRC to DST.  The source and destination do 
     535   not overlap.  */ 
     536# ifndef YYCOPY 
     537#  if defined __GNUC__ && 1 < __GNUC__ 
     538#   define YYCOPY(Dst, Src, Count) \ 
     539      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 
     540#  else 
     541#   define YYCOPY(Dst, Src, Count)              \ 
     542      do                                        \ 
     543        {                                       \ 
     544          YYSIZE_T yyi;                         \ 
     545          for (yyi = 0; yyi < (Count); yyi++)   \ 
     546            (Dst)[yyi] = (Src)[yyi];            \ 
     547        }                                       \ 
     548      while (YYID (0)) 
     549#  endif 
     550# endif 
     551#endif /* !YYCOPY_NEEDED */ 
     552 
    707553/* YYFINAL -- State number of the termination state.  */ 
    708554#define YYFINAL  2 
    709555/* YYLAST -- Last index in YYTABLE.  */ 
    710 #define YYLAST   6070 
     556#define YYLAST   6268 
    711557 
    712558/* YYNTOKENS -- Number of terminals.  */ 
    713 #define YYNTOKENS  190 
     559#define YYNTOKENS  169 
    714560/* YYNNTS -- Number of nonterminals.  */ 
    715 #define YYNNTS  184 
     561#define YYNNTS  206 
    716562/* YYNRULES -- Number of rules.  */ 
    717 #define YYNRULES  555 
     563#define YYNRULES  597 
    718564/* YYNRULES -- Number of states.  */ 
    719 #define YYNSTATES  982 
     565#define YYNSTATES  1051 
    720566 
    721567/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */ 
    722568#define YYUNDEFTOK  2 
    723 #define YYMAXUTOK   427 
     569#define YYMAXUTOK   410 
    724570 
    725571#define YYTRANSLATE(YYX)                  \ 
     
    730576{ 
    731577       0,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    732      187,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     578     166,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    733579       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    734        2,     2,     2,   183,     2,     2,     2,   189,     2,     2, 
    735      179,   180,    23,    21,     3,    22,     2,   188,     2,     2, 
     580       2,     2,     2,     2,     2,     2,     2,   168,     2,     2, 
     581     162,   163,    21,    19,     3,    20,     2,   167,     2,     2, 
    736582       2,     2,     2,     2,     2,     2,     2,     2,     4,     2, 
    737      185,     5,   186,     2,     2,     2,     2,     2,     2,     2, 
     583     164,     5,   165,     2,     2,     2,     2,     2,     2,     2, 
    738584       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    739585       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    740        2,   181,     2,   182,     2,   184,     2,     2,     2,     2, 
     586       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    741587       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    742588       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     
    756602       2,     2,     2,     2,     2,     2,     1,     2,     6,     7, 
    757603       8,     9,    10,    11,    12,    13,    14,    15,    16,    17, 
    758       18,    19,    20,    24,    25,    26,    27,    28,    29,    30, 
     604      18,    22,    23,    24,    25,    26,    27,    28,    29,    30, 
    759605      31,    32,    33,    34,    35,    36,    37,    38,    39,    40, 
    760606      41,    42,    43,    44,    45,    46,    47,    48,    49,    50, 
     
    770616     141,   142,   143,   144,   145,   146,   147,   148,   149,   150, 
    771617     151,   152,   153,   154,   155,   156,   157,   158,   159,   160, 
    772      161,   162,   163,   164,   165,   166,   167,   168,   169,   170, 
    773      171,   172,   173,   174,   175,   176,   177,   178 
     618     161 
    774619}; 
    775620 
     
    779624static const yytype_uint16 yyprhs[] = 
    780625{ 
    781        0,     0,     3,     4,     7,    10,    13,    15,    19,    23, 
    782       25,    29,    32,    35,    39,    43,    46,    49,    52,    54, 
    783       56,    58,    60,    61,    62,    65,    66,    68,    69,    70, 
    784       72,    73,    78,    81,    88,    93,    96,    98,    99,   101, 
    785      103,   104,   107,   111,   112,   115,   119,   121,   125,   127, 
    786      129,   132,   137,   140,   143,   148,   151,   153,   155,   157, 
    787      159,   161,   163,   165,   167,   169,   171,   176,   180,   184, 
    788      187,   191,   192,   194,   196,   198,   200,   202,   204,   206, 
    789      208,   210,   212,   214,   216,   218,   220,   222,   224,   226, 
    790      228,   230,   232,   234,   236,   238,   240,   242,   244,   248, 
    791      252,   258,   260,   264,   268,   271,   276,   278,   282,   283, 
    792      286,   289,   293,   295,   297,   299,   304,   311,   316,   318, 
    793      322,   325,   329,   335,   339,   341,   342,   345,   347,   352, 
    794      356,   359,   363,   367,   371,   375,   376,   378,   381,   384, 
    795      388,   394,   398,   399,   402,   405,   407,   413,   419,   422, 
    796      426,   429,   433,   435,   439,   442,   446,   452,   454,   457, 
    797      459,   463,   466,   468,   472,   473,   475,   477,   481,   485, 
    798      488,   490,   494,   497,   500,   501,   508,   516,   517,   520, 
    799      523,   527,   531,   533,   534,   537,   542,   546,   550,   555, 
    800      558,   560,   562,   564,   566,   568,   570,   572,   574,   575, 
    801      578,   580,   584,   585,   588,   592,   594,   598,   601,   605, 
    802      607,   609,   611,   613,   614,   618,   619,   622,   627,   629, 
    803      633,   635,   637,   639,   642,   644,   649,   651,   653,   655, 
    804      657,   659,   661,   663,   665,   667,   669,   670,   674,   676, 
    805      680,   682,   684,   687,   690,   694,   696,   698,   700,   704, 
    806      706,   708,   712,   716,   721,   726,   730,   735,   740,   744, 
    807      749,   754,   759,   764,   769,   774,   779,   784,   789,   794, 
    808      799,   804,   809,   813,   818,   823,   828,   833,   835,   839, 
    809      841,   843,   845,   848,   851,   854,   856,   858,   861,   864, 
    810      867,   870,   873,   876,   879,   882,   885,   888,   891,   895, 
    811      898,   902,   905,   908,   911,   914,   917,   920,   923,   924, 
    812      926,   929,   932,   935,   937,   939,   941,   943,   944,   946, 
    813      949,   954,   960,   965,   969,   973,   975,   978,   980,   984, 
    814      986,   988,   992,   998,  1003,  1007,  1010,  1013,  1015,  1017, 
    815     1019,  1021,  1023,  1025,  1027,  1029,  1032,  1035,  1037,  1040, 
    816     1042,  1044,  1045,  1047,  1053,  1054,  1056,  1058,  1060,  1061, 
    817     1065,  1069,  1070,  1076,  1079,  1084,  1091,  1098,  1100,  1102, 
    818     1104,  1108,  1112,  1114,  1118,  1122,  1124,  1126,  1132,  1138, 
    819     1143,  1145,  1148,  1151,  1154,  1157,  1159,  1162,  1168,  1170, 
    820     1172,  1175,  1181,  1183,  1186,  1190,  1195,  1197,  1199,  1201, 
    821     1203,  1205,  1207,  1209,  1211,  1215,  1219,  1223,  1226,  1229, 
    822     1230,  1236,  1244,  1245,  1248,  1250,  1252,  1253,  1255,  1257, 
    823     1259,  1261,  1264,  1266,  1268,  1270,  1276,  1282,  1285,  1288, 
    824     1291,  1294,  1296,  1297,  1302,  1309,  1311,  1315,  1318,  1321, 
    825     1324,  1325,  1329,  1330,  1332,  1335,  1337,  1339,  1343,  1345, 
    826     1348,  1350,  1352,  1355,  1358,  1361,  1365,  1368,  1370,  1371, 
    827     1373,  1376,  1379,  1380,  1383,  1387,  1391,  1395,  1399,  1401, 
    828     1405,  1407,  1409,  1413,  1415,  1417,  1419,  1423,  1426,  1431, 
    829     1436,  1439,  1442,  1444,  1446,  1448,  1450,  1452,  1454,  1456, 
    830     1458,  1460,  1464,  1466,  1468,  1472,  1476,  1480,  1484,  1487, 
    831     1491,  1494,  1497,  1500,  1503,  1507,  1509,  1511,  1513,  1515, 
    832     1519,  1520,  1522,  1525,  1530,  1533,  1536,  1542,  1543,  1545, 
    833     1548,  1550,  1552,  1554,  1558,  1562,  1566,  1570,  1574,  1578, 
    834     1580,  1582,  1584,  1588,  1594,  1600,  1606,  1612,  1620,  1622, 
    835     1631,  1634,  1636,  1638,  1642,  1644,  1646,  1648,  1653,  1655, 
    836     1659,  1660,  1665,  1667,  1671,  1675 
     626       0,     0,     3,     4,     7,     9,    11,    14,    16,    19, 
     627      21,    25,    28,    31,    33,    37,    41,    44,    47,    51, 
     628      53,    54,    55,    57,    58,    61,    66,    69,    75,    78, 
     629      80,    83,    85,    87,    88,    91,    95,    96,    99,   103, 
     630     105,   109,   111,   113,   116,   121,   124,   127,   132,   135, 
     631     137,   139,   141,   143,   145,   147,   149,   151,   153,   158, 
     632     162,   166,   169,   172,   173,   175,   177,   179,   181,   183, 
     633     185,   187,   189,   191,   193,   195,   197,   199,   201,   203, 
     634     205,   207,   209,   211,   213,   215,   217,   219,   221,   223, 
     635     225,   229,   233,   239,   241,   245,   249,   252,   257,   259, 
     636     263,   264,   266,   269,   273,   275,   277,   280,   282,   286, 
     637     291,   296,   305,   307,   311,   314,   318,   324,   328,   330, 
     638     331,   334,   336,   341,   345,   348,   352,   356,   360,   364, 
     639     365,   367,   370,   374,   380,   384,   386,   392,   398,   401, 
     640     405,   408,   412,   414,   416,   420,   424,   427,   431,   437, 
     641     439,   442,   444,   448,   451,   453,   457,   458,   460,   462, 
     642     466,   470,   473,   475,   479,   482,   485,   491,   498,   499, 
     643     502,   505,   509,   513,   514,   517,   522,   526,   530,   535, 
     644     538,   540,   542,   544,   546,   548,   550,   552,   553,   556, 
     645     558,   562,   563,   566,   570,   572,   576,   579,   583,   585, 
     646     587,   589,   591,   593,   594,   598,   599,   601,   605,   607, 
     647     611,   613,   615,   617,   620,   622,   627,   629,   631,   633, 
     648     635,   637,   639,   641,   643,   645,   647,   648,   652,   654, 
     649     658,   660,   662,   665,   668,   672,   674,   676,   678,   680, 
     650     682,   686,   690,   694,   699,   704,   708,   713,   718,   722, 
     651     727,   732,   737,   742,   747,   752,   757,   762,   767,   772, 
     652     777,   782,   787,   791,   796,   800,   805,   810,   812,   816, 
     653     818,   820,   822,   825,   828,   831,   833,   835,   838,   841, 
     654     844,   847,   850,   853,   856,   859,   862,   866,   870,   873, 
     655     876,   879,   882,   885,   888,   891,   894,   897,   900,   901, 
     656     903,   906,   909,   912,   914,   916,   918,   920,   921,   923, 
     657     926,   931,   937,   942,   947,   951,   953,   956,   958,   962, 
     658     964,   966,   970,   976,   981,   985,   988,   991,   993,   995, 
     659     997,   999,  1001,  1003,  1005,  1007,  1010,  1013,  1015,  1018, 
     660    1020,  1022,  1023,  1025,  1031,  1032,  1034,  1036,  1038,  1039, 
     661    1042,  1045,  1051,  1054,  1059,  1066,  1073,  1075,  1077,  1081, 
     662    1085,  1087,  1091,  1095,  1097,  1099,  1101,  1103,  1105,  1107, 
     663    1109,  1111,  1113,  1116,  1118,  1120,  1123,  1126,  1129,  1133, 
     664    1136,  1142,  1148,  1151,  1154,  1157,  1160,  1162,  1167,  1169, 
     665    1172,  1175,  1178,  1181,  1183,  1185,  1187,  1189,  1195,  1202, 
     666    1203,  1207,  1208,  1213,  1214,  1219,  1224,  1226,  1228,  1230, 
     667    1232,  1234,  1238,  1243,  1245,  1248,  1250,  1253,  1254,  1255, 
     668    1258,  1262,  1264,  1269,  1271,  1273,  1278,  1281,  1287,  1291, 
     669    1295,  1297,  1302,  1305,  1312,  1321,  1327,  1331,  1333,  1335, 
     670    1337,  1339,  1341,  1344,  1351,  1352,  1354,  1357,  1361,  1362, 
     671    1364,  1367,  1371,  1379,  1385,  1391,  1398,  1400,  1403,  1405, 
     672    1408,  1414,  1419,  1420,  1422,  1425,  1429,  1436,  1441,  1444, 
     673    1448,  1450,  1453,  1457,  1459,  1461,  1465,  1467,  1470,  1473, 
     674    1477,  1479,  1481,  1483,  1485,  1487,  1489,  1491,  1493,  1495, 
     675    1496,  1501,  1509,  1511,  1515,  1518,  1521,  1524,  1525,  1529, 
     676    1530,  1532,  1535,  1538,  1540,  1542,  1546,  1548,  1551,  1553, 
     677    1555,  1556,  1558,  1561,  1564,  1565,  1568,  1572,  1576,  1580, 
     678    1582,  1586,  1588,  1590,  1594,  1596,  1598,  1600,  1604,  1610, 
     679    1615,  1618,  1621,  1622,  1624,  1626,  1628,  1630,  1632,  1634, 
     680    1636,  1638,  1640,  1644,  1646,  1648,  1652,  1656,  1660,  1664, 
     681    1667,  1671,  1674,  1677,  1680,  1683,  1686,  1689,  1692,  1696, 
     682    1698,  1700,  1702,  1704,  1708,  1711,  1716,  1719,  1722,  1728, 
     683    1729,  1731,  1734,  1736,  1738,  1740,  1742,  1746,  1750,  1754, 
     684    1758,  1762,  1766,  1772,  1778,  1784,  1790,  1798,  1807,  1810, 
     685    1812,  1816,  1818,  1820,  1824,  1825,  1830,  1832 
    837686}; 
    838687 
     
    840689static const yytype_int16 yyrhs[] = 
    841690{ 
    842      191,     0,    -1,    -1,   191,   192,    -1,   187,   198,    -1, 
    843      199,   193,    -1,   177,    -1,   197,   200,   205,    -1,     1, 
    844      205,   201,    -1,   194,    -1,   193,    27,   194,    -1,   203, 
    845      196,    -1,   212,   196,    -1,   206,   207,   196,    -1,   315, 
    846      200,   205,    -1,   195,   196,    -1,   298,     4,    -1,   198, 
    847      200,    -1,    53,    -1,    54,    -1,    36,    -1,    37,    -1, 
    848       -1,    -1,   144,   201,    -1,    -1,   177,    -1,    -1,    -1, 
    849       72,    -1,    -1,   202,    33,   204,   208,    -1,    34,   204, 
    850       -1,   202,    35,   204,   208,    30,   209,    -1,   202,    35, 
    851      204,   208,    -1,    95,   169,    -1,   169,    -1,    -1,    32, 
    852       -1,   158,    -1,    -1,   179,   180,    -1,   179,   210,   180, 
    853       -1,    -1,   179,   180,    -1,   179,   210,   180,    -1,   211, 
    854       -1,   210,     3,   211,    -1,   169,    -1,    23,    -1,   257, 
    855      222,    -1,   145,   213,   221,   324,    -1,   147,   324,    -1, 
    856      117,   216,    -1,   224,   179,   249,   180,    -1,   224,   249, 
    857       -1,   243,    -1,   228,    -1,   253,    -1,   239,    -1,   241, 
    858       -1,   240,    -1,   308,    -1,   251,    -1,   237,    -1,   234, 
    859       -1,    68,   179,   280,   180,    -1,   111,   221,   242,    -1, 
    860      113,   221,   215,    -1,    67,   217,    -1,   225,   226,   187, 
    861       -1,    -1,   275,    -1,    46,    -1,    40,    -1,    44,    -1, 
    862       56,    -1,    79,    -1,    45,    -1,    47,    -1,    62,    -1, 
    863       57,    -1,    58,    -1,    59,    -1,    60,    -1,    61,    -1, 
    864       64,    -1,    65,    -1,    66,    -1,    69,    -1,    70,    -1, 
    865       71,    -1,    74,    -1,    75,    -1,    76,    -1,    77,    -1, 
    866      169,    -1,   214,    -1,   215,     3,   214,    -1,   179,   220, 
    867      180,    -1,   216,     3,   179,   220,   180,    -1,   218,    -1, 
    868      217,     3,   218,    -1,   179,   219,   180,    -1,   298,   276, 
    869       -1,   219,     3,   298,   276,    -1,   280,    -1,   220,     3, 
    870      280,    -1,    -1,     4,     4,    -1,   255,   256,    -1,   223, 
    871      204,   208,    -1,    35,    -1,    29,    -1,   160,    -1,   169, 
    872       24,   227,    24,    -1,   226,   248,   169,    24,   227,    24, 
    873       -1,   231,    24,   227,    24,    -1,   232,    -1,   232,     3, 
    874      227,    -1,   229,   230,    -1,   229,   247,   230,    -1,   228, 
    875      248,   247,   248,   230,    -1,   228,     3,   230,    -1,   119, 
    876       -1,    -1,   169,   276,    -1,   169,    -1,   169,   179,   280, 
    877      180,    -1,   231,     3,   231,    -1,   233,   299,    -1,   232, 
    878       21,   232,    -1,   232,    22,   232,    -1,   232,    23,   232, 
    879       -1,   232,   188,   232,    -1,    -1,   284,    -1,   235,   236, 
    880       -1,   114,   298,    -1,   114,   247,   298,    -1,   235,   248, 
    881      247,   248,   298,    -1,   235,     3,   298,    -1,    -1,   129, 
    882      324,    -1,   130,   324,    -1,   109,    -1,   238,   248,   169, 
    883      276,   264,    -1,   239,     3,   169,   276,   264,    -1,    81, 
    884      187,    -1,    81,   221,   242,    -1,    80,   187,    -1,    80, 
    885      221,   242,    -1,   169,    -1,   242,     3,   169,    -1,   244, 
    886      245,    -1,   244,   247,   245,    -1,   243,   248,   247,   248, 
    887      245,    -1,   127,    -1,   128,   127,    -1,   246,    -1,   245, 
    888        3,   246,    -1,   169,   276,    -1,    20,    -1,    24,   169, 
    889       24,    -1,    -1,     3,    -1,   250,    -1,   249,     3,   250, 
    890       -1,   169,     5,   280,    -1,   134,   252,    -1,   169,    -1, 
    891      252,     3,   169,    -1,   122,   123,    -1,   122,   137,    -1, 
    892       -1,   271,   254,   169,   276,   264,   305,    -1,   255,     3, 
    893      254,   169,   276,   264,   305,    -1,    -1,   262,   266,    -1, 
    894      261,   259,    -1,   263,    23,   176,    -1,   258,   268,   180, 
    895       -1,   146,    -1,    -1,    23,   176,    -1,    23,   179,   260, 
    896      180,    -1,   179,   260,   180,    -1,   169,   269,   270,    -1, 
    897      169,     5,   269,   270,    -1,   269,   270,    -1,   157,    -1, 
    898      263,    -1,   149,    -1,   148,    -1,   167,    -1,   151,    -1, 
    899      168,    -1,   150,    -1,    -1,    23,   265,    -1,   280,    -1, 
    900      179,    23,   180,    -1,    -1,    23,   267,    -1,   179,   268, 
    901      180,    -1,   280,    -1,   179,    23,   180,    -1,   169,   269, 
    902       -1,   169,     5,   269,    -1,   169,    -1,   176,    -1,   280, 
    903       -1,    23,    -1,    -1,     3,   169,   269,    -1,    -1,     4, 
    904        4,    -1,     3,   272,     4,     4,    -1,   273,    -1,   272, 
    905        3,   273,    -1,    29,    -1,   275,    -1,    82,    -1,   109, 
    906      276,    -1,   111,    -1,   112,   179,   274,   180,    -1,   113, 
    907       -1,   116,    -1,   117,    -1,   119,    -1,   120,    -1,   140, 
    908       -1,   138,    -1,   139,    -1,    80,    -1,    81,    -1,    -1, 
    909      179,   277,   180,    -1,   278,    -1,   277,     3,   278,    -1, 
    910      279,    -1,     4,    -1,   280,     4,    -1,     4,   280,    -1, 
    911      280,     4,   279,    -1,    23,    -1,   280,    -1,   283,    -1, 
    912      179,   280,   180,    -1,   307,    -1,   281,    -1,    46,   282, 
    913      180,    -1,    39,   282,   180,    -1,    40,   179,   282,   180, 
    914       -1,    44,   179,   282,   180,    -1,    56,   282,   180,    -1, 
    915       79,   179,   282,   180,    -1,    45,   179,   280,   180,    -1, 
    916       47,   280,   180,    -1,   148,   179,   282,   180,    -1,    62, 
    917      179,   280,   180,    -1,    57,   179,   280,   180,    -1,    58, 
    918      179,   280,   180,    -1,    59,   179,   280,   180,    -1,    60, 
    919      179,   280,   180,    -1,    61,   179,   280,   180,    -1,    64, 
    920      179,   280,   180,    -1,    65,   179,   280,   180,    -1,    66, 
    921      179,   280,   180,    -1,    69,   179,   280,   180,    -1,    70, 
    922      179,   280,   180,    -1,    71,   179,   280,   180,    -1,    73, 
    923      280,   180,    -1,    74,   179,   282,   180,    -1,    75,   179, 
    924      282,   180,    -1,    76,   179,   282,   180,    -1,    77,   179, 
    925      282,   180,    -1,   280,    -1,   282,     3,   280,    -1,   288, 
    926       -1,   299,    -1,   293,    -1,   280,   285,    -1,   284,   280, 
    927       -1,    12,   280,    -1,    21,    -1,    22,    -1,    21,   280, 
    928       -1,    22,   280,    -1,    23,   280,    -1,    25,   280,    -1, 
    929       14,   280,    -1,     8,   280,    -1,    17,   280,    -1,   186, 
    930      280,    -1,    18,   280,    -1,   185,   280,    -1,    15,   280, 
    931       -1,   186,     5,   280,    -1,    16,   280,    -1,   185,     5, 
    932      280,    -1,    13,   280,    -1,     7,   280,    -1,     9,   280, 
    933       -1,    10,   280,    -1,    11,   280,    -1,    24,   286,    -1, 
    934        5,   287,    -1,    -1,   280,    -1,     5,   280,    -1,    24, 
    935      280,    -1,     5,   280,    -1,   280,    -1,   298,    -1,   292, 
    936       -1,   290,    -1,    -1,   291,    -1,   291,   302,    -1,   292, 
    937      179,   294,   180,    -1,   292,   179,   294,   180,   302,    -1, 
    938      298,   179,   294,   180,    -1,   288,   189,   288,    -1,   131, 
    939      360,   132,    -1,   289,    -1,   289,   295,    -1,   296,    -1, 
    940      295,     3,   296,    -1,   280,    -1,   297,    -1,   280,     4, 
    941      280,    -1,   280,     4,   280,     4,   280,    -1,     4,   280, 
    942        4,   280,    -1,     4,     4,   280,    -1,     4,   280,    -1, 
    943      280,     4,    -1,     4,    -1,   169,    -1,   142,    -1,   143, 
    944       -1,   176,    -1,   163,    -1,   164,    -1,   165,    -1,   299, 
    945      169,    -1,   300,   301,    -1,   158,    -1,   300,   158,    -1, 
    946      162,    -1,   159,    -1,    -1,   302,    -1,   179,   303,     4, 
    947      303,   180,    -1,    -1,   280,    -1,   187,    -1,   280,    -1, 
    948       -1,   306,     5,   280,    -1,   306,   126,   280,    -1,    -1, 
    949      179,   283,     3,   283,   180,    -1,   309,   310,    -1,   309, 
    950      310,     3,   311,    -1,   309,   310,     3,    31,     4,   187, 
    951       -1,   309,   310,     3,    31,     4,   313,    -1,   141,    -1, 
    952      169,    -1,   312,    -1,   311,     3,   312,    -1,   169,   126, 
    953      169,    -1,   314,    -1,   313,     3,   314,    -1,   169,   126, 
    954      169,    -1,   169,    -1,   328,    -1,    98,   179,   366,   370, 
    955      180,    -1,   105,   179,   369,   370,   180,    -1,   106,   179, 
    956      371,   180,    -1,   317,    -1,   318,   324,    -1,   316,   324, 
    957       -1,   319,   324,    -1,    96,   324,    -1,   321,    -1,   372, 
    958      328,    -1,    41,   179,   280,   180,   304,    -1,    42,    -1, 
    959       43,    -1,   372,    84,    -1,    85,   179,   280,   180,    84, 
    960       -1,    86,    -1,    87,   324,    -1,    48,   320,   180,    -1, 
    961       49,   179,   280,   180,    -1,   115,    -1,   110,    -1,    93, 
    962       -1,   153,    -1,   156,    -1,   155,    -1,   154,    -1,   280, 
    963       -1,   320,     3,   280,    -1,   320,     4,   280,    -1,   326, 
    964      323,   322,    -1,   327,   280,    -1,    94,   325,    -1,    -1, 
    965      373,     5,   280,     3,   280,    -1,   373,     5,   280,     3, 
    966      280,     3,   280,    -1,    -1,   176,   248,    -1,   187,    -1, 
    967      169,    -1,    -1,   169,    -1,    92,    -1,    97,    -1,   118, 
    968       -1,   330,   332,    -1,   365,    -1,   341,    -1,   333,    -1, 
    969       98,   179,   366,   370,   180,    -1,   105,   179,   369,   370, 
    970      180,    -1,    78,   303,    -1,    83,   304,    -1,    63,   304, 
    971       -1,   340,   304,    -1,   331,    -1,    -1,   298,   329,   276, 
    972      276,    -1,   330,   189,   298,   329,   276,   276,    -1,   176, 
    973       -1,   331,     3,   176,    -1,     5,   280,    -1,   126,   280, 
    974       -1,   336,   334,    -1,    -1,   179,   335,   180,    -1,    -1, 
    975      338,    -1,   337,   169,    -1,   124,    -1,   339,    -1,   338, 
    976        3,   339,    -1,   280,    -1,    23,   364,    -1,   133,    -1, 
    977      135,    -1,   349,   345,    -1,   351,   343,    -1,   352,   345, 
    978       -1,   352,   345,   360,    -1,   104,   346,    -1,    38,    -1, 
    979       -1,   356,    -1,   345,   342,    -1,   350,   344,    -1,    -1, 
    980        3,   356,    -1,   179,   347,   180,    -1,   179,   353,   180, 
    981       -1,   179,   298,   180,    -1,   179,   176,   180,    -1,   176, 
    982       -1,   179,   283,   180,    -1,   169,    -1,   348,    -1,   347, 
    983        3,   348,    -1,   353,    -1,    23,    -1,    25,    -1,   298, 
    984      280,   276,    -1,   298,   280,    -1,   298,   280,   189,   330, 
    985       -1,   298,   179,   297,   180,    -1,   298,    23,    -1,   298, 
    986       25,    -1,    99,    -1,   100,    -1,   354,    -1,    23,    -1, 
    987      103,    -1,   101,    -1,    88,    -1,   102,    -1,   354,    -1, 
    988      179,   353,   180,    -1,   288,    -1,   299,    -1,   353,   355, 
    989      353,    -1,   353,    23,   353,    -1,   353,    24,   353,    -1, 
    990      353,    25,   353,    -1,   355,   353,    -1,   353,    20,   353, 
    991       -1,    50,   280,    -1,    55,   280,    -1,    52,   280,    -1, 
    992       51,   280,    -1,   169,     5,   280,    -1,   281,    -1,    21, 
    993       -1,    22,    -1,   358,    -1,   356,     3,   358,    -1,    -1, 
    994      288,    -1,   357,   359,    -1,   179,   356,   180,   359,    -1, 
    995      281,   359,    -1,   299,   359,    -1,   179,   356,     3,   363, 
    996      180,    -1,    -1,   285,    -1,   359,   285,    -1,   283,    -1, 
    997      362,    -1,   361,    -1,   283,     3,   280,    -1,   283,     3, 
    998      362,    -1,   362,     3,   280,    -1,   362,     3,   362,    -1, 
    999      361,     3,   280,    -1,   361,     3,   362,    -1,   283,    -1, 
    1000      281,    -1,   307,    -1,   179,   280,   180,    -1,   179,   283, 
    1001        3,   363,   180,    -1,   179,   362,     3,   363,   180,    -1, 
    1002      179,   361,     3,   363,   180,    -1,   169,     5,   280,     3, 
    1003      280,    -1,   169,     5,   280,     3,   280,     3,   280,    -1, 
    1004      176,    -1,    89,   179,   280,     3,   280,   180,     3,   280, 
    1005       -1,    89,   364,    -1,   367,    -1,   330,    -1,   366,     3, 
    1006      367,    -1,   298,    -1,   292,    -1,   368,    -1,   298,   179, 
    1007      295,   180,    -1,   367,    -1,   369,     3,   367,    -1,    -1, 
    1008        3,   125,     5,   298,    -1,   298,    -1,   371,     3,   298, 
    1009       -1,    91,   280,   180,    -1,   298,    -1 
     691     170,     0,    -1,    -1,   170,   171,    -1,   172,    -1,   173, 
     692      -1,   140,   173,    -1,     1,    -1,   166,   175,    -1,    24, 
     693      -1,   172,   166,   175,    -1,   172,    24,    -1,   172,   140, 
     694      -1,   174,    -1,   173,    24,   166,    -1,   173,    24,   174, 
     695      -1,   178,   175,    -1,   186,   175,    -1,    28,   181,   175, 
     696      -1,   282,    -1,    -1,    -1,    70,    -1,    -1,    26,   183, 
     697      -1,   176,    29,   180,   182,    -1,    30,   180,    -1,   176, 
     698      31,   180,   182,   177,    -1,    92,   160,    -1,   161,    -1, 
     699     179,   161,    -1,   160,    -1,   153,    -1,    -1,   162,   163, 
     700      -1,   162,   184,   163,    -1,    -1,   162,   163,    -1,   162, 
     701     184,   163,    -1,   185,    -1,   184,     3,   185,    -1,   160, 
     702      -1,    21,    -1,   228,   196,    -1,   141,   187,   195,   336, 
     703      -1,   143,   336,    -1,   114,   190,    -1,   198,   162,   221, 
     704     163,    -1,   198,   221,    -1,   215,    -1,   203,    -1,   225, 
     705      -1,   211,    -1,   213,    -1,   212,    -1,   276,    -1,   223, 
     706      -1,   209,    -1,    66,   162,   249,   163,    -1,   108,   195, 
     707     214,    -1,   110,   195,   189,    -1,    65,   191,    -1,   199, 
     708     166,    -1,    -1,   244,    -1,    42,    -1,    34,    -1,    39, 
     709      -1,    54,    -1,    77,    -1,    40,    -1,    43,    -1,    60, 
     710      -1,    55,    -1,    56,    -1,    57,    -1,    58,    -1,    59, 
     711      -1,    62,    -1,    63,    -1,    64,    -1,    67,    -1,    68, 
     712      -1,    69,    -1,    72,    -1,    73,    -1,    74,    -1,    75, 
     713      -1,   160,    -1,   188,    -1,   189,     3,   188,    -1,   162, 
     714     194,   163,    -1,   190,     3,   162,   194,   163,    -1,   192, 
     715      -1,   191,     3,   192,    -1,   162,   193,   163,    -1,   267, 
     716     245,    -1,   193,     3,   267,   245,    -1,   249,    -1,   194, 
     717       3,   249,    -1,    -1,   131,    -1,   226,   227,    -1,   197, 
     718     180,   182,    -1,    31,    -1,    25,    -1,   155,   200,    -1, 
     719     201,    -1,   200,   220,   201,    -1,   160,    22,   202,    22, 
     720      -1,   206,    22,   202,    22,    -1,   162,   257,     3,   368, 
     721     163,    22,   202,    22,    -1,   207,    -1,   207,     3,   202, 
     722      -1,   204,   205,    -1,   204,   219,   205,    -1,   203,   220, 
     723     219,   220,   205,    -1,   203,     3,   205,    -1,   116,    -1, 
     724      -1,   160,   245,    -1,   160,    -1,   160,   162,   249,   163, 
     725      -1,   206,     3,   206,    -1,   208,   268,    -1,   207,    19, 
     726     207,    -1,   207,    20,   207,    -1,   207,    21,   207,    -1, 
     727     207,   167,   207,    -1,    -1,   253,    -1,   111,   267,    -1, 
     728     111,   219,   267,    -1,   209,   220,   219,   220,   267,    -1, 
     729     209,     3,   267,    -1,   106,    -1,   210,   220,   160,   245, 
     730     233,    -1,   211,     3,   160,   245,   233,    -1,    79,   166, 
     731      -1,    79,   195,   214,    -1,    78,   166,    -1,    78,   195, 
     732     214,    -1,   160,    -1,   133,    -1,   214,     3,   160,    -1, 
     733     214,     3,   133,    -1,   216,   217,    -1,   216,   219,   217, 
     734      -1,   215,   220,   219,   220,   217,    -1,   123,    -1,   124, 
     735     123,    -1,   218,    -1,   217,     3,   218,    -1,   160,   245, 
     736      -1,    18,    -1,    22,   160,    22,    -1,    -1,     3,    -1, 
     737     222,    -1,   221,     3,   222,    -1,   160,     5,   249,    -1, 
     738     128,   224,    -1,   160,    -1,   224,     3,   160,    -1,   118, 
     739     119,    -1,   118,   130,    -1,   240,   160,   245,   233,   274, 
     740      -1,   226,     3,   160,   245,   233,   274,    -1,    -1,   232, 
     741     235,    -1,   231,   229,    -1,   232,    21,   161,    -1,   142, 
     742     237,   163,    -1,    -1,    21,   161,    -1,    21,   162,   230, 
     743     163,    -1,   162,   230,   163,    -1,   160,   238,   239,    -1, 
     744     160,     5,   238,   239,    -1,   238,   239,    -1,   152,    -1, 
     745     145,    -1,   146,    -1,   144,    -1,   158,    -1,   159,    -1, 
     746     147,    -1,    -1,    21,   234,    -1,   249,    -1,   162,    21, 
     747     163,    -1,    -1,    21,   236,    -1,   162,   237,   163,    -1, 
     748     249,    -1,   162,    21,   163,    -1,   160,   238,    -1,   160, 
     749       5,   238,    -1,   160,    -1,   161,    -1,   133,    -1,   249, 
     750      -1,    21,    -1,    -1,     3,   160,   238,    -1,    -1,   131, 
     751      -1,     3,   241,   131,    -1,   242,    -1,   241,     3,   242, 
     752      -1,    25,    -1,   244,    -1,    80,    -1,   106,   245,    -1, 
     753     108,    -1,   109,   162,   243,   163,    -1,   110,    -1,   113, 
     754      -1,   114,    -1,   116,    -1,   117,    -1,   136,    -1,   134, 
     755      -1,   135,    -1,    78,    -1,    79,    -1,    -1,   162,   246, 
     756     163,    -1,   247,    -1,   246,     3,   247,    -1,   248,    -1, 
     757       4,    -1,   249,     4,    -1,     4,   249,    -1,   249,     4, 
     758     248,    -1,    21,    -1,   249,    -1,   252,    -1,   275,    -1, 
     759     250,    -1,   162,   249,   163,    -1,    42,   251,   163,    -1, 
     760      33,   251,   163,    -1,    34,   162,   251,   163,    -1,    39, 
     761     162,   251,   163,    -1,    54,   251,   163,    -1,    77,   162, 
     762     251,   163,    -1,    40,   162,   249,   163,    -1,    43,   249, 
     763     163,    -1,   144,   162,   251,   163,    -1,    60,   162,   249, 
     764     163,    -1,    55,   162,   249,   163,    -1,    56,   162,   249, 
     765     163,    -1,    57,   162,   249,   163,    -1,    58,   162,   249, 
     766     163,    -1,    59,   162,   249,   163,    -1,    62,   162,   249, 
     767     163,    -1,    63,   162,   249,   163,    -1,    64,   162,   249, 
     768     163,    -1,    67,   162,   249,   163,    -1,    68,   162,   249, 
     769     163,    -1,    69,   162,   249,   163,    -1,    71,   249,   163, 
     770      -1,    72,   162,   251,   163,    -1,    73,   251,   163,    -1, 
     771      74,   162,   251,   163,    -1,    75,   162,   251,   163,    -1, 
     772     249,    -1,   251,     3,   249,    -1,   257,    -1,   268,    -1, 
     773     262,    -1,   249,   254,    -1,   253,   249,    -1,    11,   249, 
     774      -1,    19,    -1,    20,    -1,    19,   249,    -1,    20,   249, 
     775      -1,    21,   249,    -1,    23,   249,    -1,    13,   249,    -1, 
     776       7,   249,    -1,    16,   249,    -1,   165,   249,    -1,   164, 
     777     249,    -1,   165,     5,   249,    -1,   164,     5,   249,    -1, 
     778      17,   249,    -1,    14,   249,    -1,    15,   249,    -1,    12, 
     779     249,    -1,     6,   249,    -1,     8,   249,    -1,     9,   249, 
     780      -1,    10,   249,    -1,    22,   255,    -1,     5,   256,    -1, 
     781      -1,   249,    -1,     5,   249,    -1,    22,   249,    -1,     5, 
     782     249,    -1,   249,    -1,   267,    -1,   261,    -1,   259,    -1, 
     783      -1,   260,    -1,   260,   271,    -1,   261,   162,   263,   163, 
     784      -1,   261,   162,   263,   163,   271,    -1,   267,   162,   263, 
     785     163,    -1,   257,   168,   356,   257,    -1,   125,   366,   126, 
     786      -1,   258,    -1,   258,   264,    -1,   265,    -1,   264,     3, 
     787     265,    -1,   249,    -1,   266,    -1,   249,     4,   249,    -1, 
     788     249,     4,   249,     4,   249,    -1,     4,   249,     4,   249, 
     789      -1,     4,     4,   249,    -1,     4,   249,    -1,   249,     4, 
     790      -1,     4,    -1,   160,    -1,   138,    -1,   139,    -1,    41, 
     791      -1,   161,    -1,   157,    -1,   132,    -1,   268,   160,    -1, 
     792     269,   270,    -1,   153,    -1,   269,   153,    -1,   156,    -1, 
     793     154,    -1,    -1,   271,    -1,   162,   272,     4,   272,   163, 
     794      -1,    -1,   249,    -1,   166,    -1,   249,    -1,    -1,     5, 
     795     249,    -1,   122,   249,    -1,   162,   252,     3,   252,   163, 
     796      -1,   277,   160,    -1,   277,   160,     3,   278,    -1,   277, 
     797     160,     3,    27,     4,   166,    -1,   277,   160,     3,    27, 
     798       4,   280,    -1,   137,    -1,   279,    -1,   278,     3,   279, 
     799      -1,   160,   122,   160,    -1,   281,    -1,   280,     3,   281, 
     800      -1,   160,   122,   160,    -1,   160,    -1,   283,    -1,   331, 
     801      -1,   284,    -1,   300,    -1,   320,    -1,   310,    -1,   287, 
     802      -1,   115,    -1,   338,   340,    -1,   369,    -1,   341,    -1, 
     803     357,   352,    -1,   359,   350,    -1,   100,   352,    -1,   100, 
     804     352,   366,    -1,   103,   353,    -1,    96,   162,   370,   373, 
     805     163,    -1,   104,   162,   372,   373,   163,    -1,    76,   272, 
     806      -1,    81,   273,    -1,    61,   273,    -1,   348,   273,    -1, 
     807     339,    -1,   105,   162,   374,   163,    -1,   333,    -1,   334, 
     808     336,    -1,   332,   336,    -1,   335,   336,    -1,    93,   336, 
     809      -1,   319,    -1,   286,    -1,    90,    -1,   249,    -1,    35, 
     810     162,   294,   163,   293,    -1,   291,   172,   288,   289,   290, 
     811     297,    -1,    -1,   288,   292,   172,    -1,    -1,   289,   295, 
     812     172,   288,    -1,    -1,   290,   296,   172,   288,    -1,    35, 
     813     162,   294,   163,    -1,   293,    -1,   286,    -1,   287,    -1, 
     814     285,    -1,   249,    -1,    36,   294,   163,    -1,    36,   294, 
     815     163,   160,    -1,    37,    -1,    37,   160,    -1,    38,    -1, 
     816      38,   160,    -1,    -1,    -1,   299,   282,    -1,   299,   282, 
     817     172,    -1,   301,    -1,   302,   172,   307,   308,    -1,   303, 
     818      -1,   304,    -1,   160,     4,    89,   179,    -1,    89,   179, 
     819      -1,   160,     4,    89,   179,   305,    -1,    89,   179,   305, 
     820      -1,   160,     4,    89,    -1,    89,    -1,   160,     4,    89, 
     821     305,    -1,    89,   305,    -1,   220,   306,     5,   249,     3, 
     822     249,    -1,   220,   306,     5,   249,     3,   249,     3,   249, 
     823      -1,   220,    94,   162,   249,   163,    -1,   220,    95,   298, 
     824      -1,   267,    -1,   299,    -1,   309,    -1,   330,    -1,    91, 
     825      -1,    91,   160,    -1,   315,   172,   299,   311,   313,   318, 
     826      -1,    -1,   312,    -1,   311,   312,    -1,   316,   172,   299, 
     827      -1,    -1,   314,    -1,   313,   312,    -1,   317,   172,   299, 
     828      -1,   160,     4,    88,   162,   249,   163,    82,    -1,    88, 
     829     162,   249,   163,    82,    -1,    83,   162,   249,   163,    82, 
     830      -1,    83,   162,   249,   163,    82,   160,    -1,    84,    -1, 
     831      84,   160,    -1,    85,    -1,    85,   160,    -1,    88,   162, 
     832     249,   163,   284,    -1,   323,   172,   321,   325,    -1,    -1, 
     833     322,    -1,   321,   322,    -1,   324,   172,   299,    -1,   160, 
     834       4,    45,   162,   249,   163,    -1,    45,   162,   249,   163, 
     835      -1,    44,   326,    -1,    44,   326,   160,    -1,   107,    -1, 
     836     107,   160,    -1,   162,   327,   163,    -1,   112,    -1,   328, 
     837      -1,   327,     3,   328,    -1,   329,    -1,   329,     4,    -1, 
     838       4,   329,    -1,   329,     4,   329,    -1,   249,    -1,   115, 
     839      -1,    32,    -1,   148,    -1,   151,    -1,   150,    -1,   149, 
     840      -1,   166,    -1,   160,    -1,    -1,   267,   337,   245,   245, 
     841      -1,   338,   168,   356,   267,   337,   245,   245,    -1,   161, 
     842      -1,   339,     3,   161,    -1,     5,   249,    -1,   122,   249, 
     843      -1,   344,   342,    -1,    -1,   162,   343,   163,    -1,    -1, 
     844     346,    -1,   345,   101,    -1,   345,   160,    -1,   120,    -1, 
     845     347,    -1,   346,     3,   347,    -1,   249,    -1,    21,   161, 
     846      -1,   127,    -1,   129,    -1,    -1,   363,    -1,   352,   349, 
     847      -1,   358,   351,    -1,    -1,     3,   363,    -1,   162,   354, 
     848     163,    -1,   162,   267,   163,    -1,   162,   161,   163,    -1, 
     849     161,    -1,   162,   252,   163,    -1,   160,    -1,   355,    -1, 
     850     354,     3,   355,    -1,   360,    -1,    21,    -1,    23,    -1, 
     851     267,   249,   245,    -1,   267,   249,   168,   356,   338,    -1, 
     852     267,   162,   266,   163,    -1,   267,    21,    -1,   267,    23, 
     853      -1,    -1,    97,    -1,    98,    -1,   101,    -1,   361,    -1, 
     854      21,    -1,   102,    -1,    99,    -1,    86,    -1,   361,    -1, 
     855     162,   360,   163,    -1,   257,    -1,   268,    -1,   360,   362, 
     856     360,    -1,   360,    21,   360,    -1,   360,    22,   360,    -1, 
     857     360,    23,   360,    -1,   362,   360,    -1,   360,    18,   360, 
     858      -1,    46,   249,    -1,    47,   249,    -1,    49,   249,    -1, 
     859      48,   249,    -1,    53,   249,    -1,    52,   249,    -1,    50, 
     860     249,    -1,   160,     5,   249,    -1,   250,    -1,    19,    -1, 
     861      20,    -1,   364,    -1,   363,     3,   364,    -1,   257,   365, 
     862      -1,   162,   363,   163,   365,    -1,   250,   365,    -1,   268, 
     863     365,    -1,   162,   363,     3,   368,   163,    -1,    -1,   254, 
     864      -1,   365,   254,    -1,   275,    -1,   250,    -1,   252,    -1, 
     865     367,    -1,   252,     3,   249,    -1,   252,     3,   367,    -1, 
     866     367,     3,   249,    -1,   367,     3,   367,    -1,   366,     3, 
     867     249,    -1,   366,     3,   367,    -1,   162,   252,     3,   368, 
     868     163,    -1,   162,   366,     3,   368,   163,    -1,   162,   367, 
     869       3,   368,   163,    -1,   160,     5,   249,     3,   249,    -1, 
     870     160,     5,   249,     3,   249,     3,   249,    -1,    87,   162, 
     871     249,     3,   249,   163,     3,   249,    -1,    87,   161,    -1, 
     872     371,    -1,   370,     3,   371,    -1,   257,    -1,   371,    -1, 
     873     372,     3,   371,    -1,    -1,     3,   121,     5,   257,    -1, 
     874     267,    -1,   374,     3,   267,    -1 
    1010875}; 
    1011876 
     
    1013878static const yytype_uint16 yyrline[] = 
    1014879{ 
    1015        0,   336,   336,   337,   339,   340,   341,   342,   343,   346, 
    1016      347,   349,   350,   351,   360,   361,   363,   365,   367,   374, 
    1017      379,   380,   382,   384,   385,   387,   388,   394,   397,   398, 
    1018      401,   402,   430,   448,   481,   515,   532,   539,   541,   545, 
    1019      550,   553,   556,   561,   562,   563,   571,   582,   594,   595, 
    1020      597,   605,   613,   619,   620,   635,   648,   649,   655,   656, 
    1021      693,   706,   707,   708,   709,   710,   711,   712,   713,   714, 
    1022      715,   734,   735,   741,   742,   743,   744,   745,   746,   747, 
    1023      748,   749,   750,   751,   752,   753,   754,   755,   756,   757, 
    1024      758,   759,   760,   761,   762,   763,   764,   766,   767,   769, 
    1025      770,   772,   773,   775,   777,   778,   780,   781,   783,   784, 
    1026      786,   870,   907,   913,   918,   923,   937,   951,   966,   973, 
    1027      982,   983,   984,   985,   987,   992,   993,   998,  1002,  1007, 
    1028     1012,  1014,  1016,  1018,  1020,  1024,  1025,  1028,  1030,  1031, 
    1029     1032,  1033,  1035,  1037,  1042,  1047,  1053,  1069,  1086,  1087, 
    1030     1089,  1093,  1098,  1102,  1107,  1113,  1124,  1136,  1141,  1147, 
    1031     1152,  1156,  1166,  1175,  1185,  1186,  1188,  1192,  1197,  1220, 
    1032     1222,  1223,  1225,  1235,  1237,  1239,  1272,  1307,  1309,  1311, 
    1033     1315,  1320,  1326,  1334,  1335,  1337,  1338,  1340,  1341,  1342, 
    1034     1344,  1349,  1351,  1356,  1360,  1363,  1369,  1371,  1377,  1378, 
    1035     1380,  1381,  1383,  1384,  1385,  1387,  1388,  1390,  1391,  1400, 
    1036     1404,  1409,  1411,  1414,  1415,  1417,  1418,  1419,  1421,  1422, 
    1037     1424,  1428,  1429,  1431,  1436,  1438,  1440,  1441,  1442,  1443, 
    1038     1449,  1452,  1453,  1454,  1456,  1458,  1461,  1466,  1470,  1472, 
    1039     1476,  1481,  1485,  1490,  1495,  1503,  1504,  1506,  1507,  1509, 
    1040     1511,  1515,  1517,  1519,  1521,  1523,  1525,  1527,  1529,  1531, 
    1041     1533,  1535,  1537,  1539,  1541,  1543,  1545,  1547,  1549,  1551, 
    1042     1553,  1555,  1557,  1559,  1561,  1563,  1565,  1568,  1569,  1573, 
    1043     1574,  1576,  1578,  1580,  1582,  1585,  1586,  1588,  1590,  1592, 
    1044     1594,  1596,  1598,  1600,  1602,  1604,  1606,  1608,  1610,  1612, 
    1045     1614,  1616,  1618,  1620,  1622,  1624,  1626,  1628,  1631,  1632, 
    1046     1634,  1636,  1639,  1641,  1645,  1650,  1655,  1661,  1673,  1678, 
    1047     1680,  1683,  1687,  1697,  1703,  1706,  1707,  1710,  1711,  1714, 
    1048     1715,  1717,  1719,  1722,  1724,  1725,  1726,  1727,  1729,  1787, 
    1049     1789,  1790,  1791,  1792,  1793,  1794,  1796,  1798,  1800,  1801, 
    1050     1803,  1806,  1807,  1809,  1812,  1813,  1815,  1816,  1818,  1819, 
    1051     1827,  1836,  1838,  1841,  1861,  1895,  1915,  1966,  1974,  1977, 
    1052     1981,  1991,  2002,  2006,  2016,  2028,  2037,  2038,  2044,  2050, 
    1053     2051,  2101,  2119,  2139,  2158,  2203,  2204,  2205,  2206,  2207, 
    1054     2208,  2209,  2210,  2211,  2212,  2213,  2214,  2215,  2216,  2260, 
    1055     2270,  2279,  2288,  2297,  2298,  2299,  2301,  2302,  2303,  2305, 
    1056     2306,  2307,  2308,  2309,  2311,  2312,  2314,  2315,  2317,  2319, 
    1057     2326,  2327,  2328,  2329,  2330,  2331,  2337,  2343,  2344,  2345, 
    1058     2346,  2347,  2349,  2350,  2360,  2362,  2363,  2365,  2366,  2368, 
    1059     2396,  2397,  2399,  2400,  2402,  2432,  2434,  2435,  2438,  2452, 
    1060     2455,  2456,  2459,  2460,  2461,  2462,  2463,  2464,  2476,  2477, 
    1061     2479,  2480,  2485,  2486,  2488,  2489,  2491,  2492,  2493,  2494, 
    1062     2495,  2497,  2498,  2500,  2501,  2502,  2503,  2504,  2505,  2506, 
    1063     2507,  2508,  2510,  2511,  2513,  2514,  2517,  2518,  2519,  2522, 
    1064     2525,  2526,  2528,  2529,  2530,  2531,  2532,  2533,  2534,  2535, 
    1065     2536,  2537,  2538,  2539,  2540,  2541,  2543,  2544,  2546,  2547, 
    1066     2549,  2550,  2552,  2553,  2554,  2555,  2556,  2558,  2559,  2560, 
    1067     2562,  2563,  2564,  2566,  2568,  2570,  2572,  2574,  2576,  2578, 
    1068     2579,  2581,  2583,  2585,  2587,  2589,  2593,  2596,  2603,  2605, 
    1069     2606,  2608,  2609,  2610,  2612,  2614,  2615,  2617,  2624,  2625, 
    1070     2627,  2628,  2630,  2631,  2639,  2641 
     880       0,   313,   313,   314,   316,   317,   318,   319,   322,   323, 
     881     324,   325,   326,   329,   330,   331,   334,   335,   336,   344, 
     882     347,   350,   351,   354,   355,   358,   366,   375,   392,   411, 
     883     412,   415,   417,   419,   420,   421,   423,   424,   425,   427, 
     884     439,   451,   452,   454,   455,   456,   457,   458,   475,   492, 
     885     493,   498,   499,   536,   549,   550,   551,   552,   553,   554, 
     886     555,   556,   557,   570,   571,   578,   579,   580,   581,   582, 
     887     583,   584,   585,   586,   587,   588,   589,   590,   591,   592, 
     888     593,   594,   595,   596,   597,   598,   599,   600,   601,   604, 
     889     605,   608,   609,   612,   613,   615,   618,   619,   622,   623, 
     890     625,   626,   629,   695,   710,   712,   716,   719,   720,   723, 
     891     729,   734,   748,   749,   752,   753,   754,   755,   758,   760, 
     892     761,   764,   765,   766,   769,   770,   771,   772,   773,   775, 
     893     776,   779,   780,   781,   782,   785,   792,   802,   814,   815, 
     894     818,   819,   822,   823,   824,   825,   828,   834,   842,   852, 
     895     853,   856,   857,   860,   868,   874,   881,   882,   885,   886, 
     896     889,   905,   908,   909,   912,   921,   923,   945,   970,   972, 
     897     973,   974,   975,   977,   978,   979,   980,   983,   984,   985, 
     898     987,   990,   991,   992,   993,   994,   995,   997,   998,  1001, 
     899    1002,  1004,  1005,  1006,  1008,  1009,  1012,  1013,  1023,  1024, 
     900    1025,  1028,  1029,  1031,  1032,  1034,  1035,  1036,  1038,  1039, 
     901    1042,  1043,  1044,  1045,  1046,  1047,  1049,  1050,  1051,  1052, 
     902    1053,  1056,  1057,  1058,  1061,  1062,  1064,  1065,  1073,  1079, 
     903    1086,  1087,  1088,  1089,  1090,  1093,  1094,  1096,  1097,  1098, 
     904    1099,  1103,  1104,  1105,  1106,  1107,  1108,  1109,  1110,  1111, 
     905    1112,  1113,  1114,  1115,  1116,  1117,  1118,  1119,  1120,  1121, 
     906    1122,  1123,  1124,  1125,  1126,  1127,  1128,  1130,  1131,  1133, 
     907    1134,  1135,  1136,  1137,  1138,  1140,  1141,  1145,  1146,  1147, 
     908    1148,  1149,  1150,  1151,  1152,  1153,  1154,  1155,  1156,  1157, 
     909    1158,  1159,  1160,  1161,  1162,  1163,  1164,  1165,  1167,  1168, 
     910    1169,  1170,  1173,  1174,  1177,  1178,  1179,  1183,  1194,  1195, 
     911    1196,  1197,  1200,  1209,  1216,  1219,  1220,  1223,  1224,  1227, 
     912    1228,  1231,  1232,  1233,  1234,  1235,  1236,  1237,  1239,  1285, 
     913    1286,  1287,  1288,  1289,  1290,  1291,  1293,  1296,  1297,  1298, 
     914    1299,  1301,  1302,  1305,  1307,  1308,  1311,  1312,  1314,  1315, 
     915    1321,  1329,  1332,  1352,  1379,  1399,  1439,  1446,  1450,  1457, 
     916    1467,  1468,  1476,  1486,  1498,  1499,  1504,  1505,  1506,  1507, 
     917    1508,  1513,  1514,  1515,  1516,  1517,  1518,  1519,  1520,  1521, 
     918    1522,  1523,  1524,  1525,  1526,  1527,  1528,  1529,  1530,  1567, 
     919    1576,  1587,  1595,  1617,  1618,  1619,  1657,  1661,  1665,  1668, 
     920    1669,  1672,  1673,  1676,  1677,  1682,  1686,  1687,  1688,  1692, 
     921    1696,  1701,  1702,  1707,  1708,  1713,  1714,  1718,  1722,  1723, 
     922    1724,  1729,  1734,  1739,  1740,  1745,  1746,  1747,  1748,  1753, 
     923    1754,  1755,  1756,  1761,  1762,  1763,  1764,  1768,  1772,  1776, 
     924    1777,  1782,  1783,  1787,  1790,  1791,  1792,  1796,  1799,  1800, 
     925    1801,  1804,  1809,  1810,  1815,  1816,  1821,  1822,  1827,  1828, 
     926    1832,  1836,  1839,  1840,  1841,  1844,  1849,  1850,  1855,  1856, 
     927    1861,  1862,  1867,  1868,  1872,  1873,  1878,  1879,  1880,  1881, 
     928    1885,  1889,  1893,  1897,  1905,  1912,  1919,  1926,  1927,  1930, 
     929    1933,  1944,  1950,  1951,  1954,  1955,  1957,  1970,  1971,  1973, 
     930    1974,  1977,  1978,  2000,  2003,  2004,  2007,  2015,  2018,  2019, 
     931    2022,  2023,  2026,  2027,  2029,  2030,  2032,  2035,  2036,  2037, 
     932    2038,  2039,  2042,  2043,  2046,  2047,  2048,  2049,  2050,  2051, 
     933    2052,  2053,  2056,  2059,  2060,  2061,  2063,  2064,  2067,  2068, 
     934    2069,  2072,  2073,  2076,  2077,  2078,  2079,  2080,  2081,  2082, 
     935    2083,  2084,  2085,  2086,  2087,  2088,  2089,  2090,  2091,  2092, 
     936    2094,  2095,  2097,  2098,  2104,  2105,  2106,  2107,  2108,  2110, 
     937    2111,  2112,  2115,  2116,  2117,  2118,  2119,  2120,  2121,  2122, 
     938    2123,  2124,  2127,  2128,  2129,  2131,  2132,  2134,  2135,  2138, 
     939    2139,  2142,  2145,  2146,  2148,  2149,  2152,  2153 
    1071940}; 
    1072941#endif 
    1073942 
    1074 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 
     943#if YYDEBUG || YYERROR_VERBOSE || 0 
    1075944/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 
    1076945   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */ 
    1077946static const char *const yytname[] = 
    1078947{ 
    1079   "$end", "error", "$undefined", "','", "':'", "'='", "TOK_BINARY_OP", 
    1080   "TOK_NEQV", "TOK_EQV", "TOK_XOR", "TOK_OR", "TOK_AND", "TOK_NOT", 
    1081   "TOK_NE", "TOK_EQ", "TOK_GE", "TOK_LE", "TOK_GT", "TOK_LT", 
    1082   "TOK_UNARY_OP", "TOK_DSLASH", "'+'", "'-'", "'*'", "TOK_SLASH", 
    1083   "TOK_DASTER", "TOK_SEP", "TOK_SEMICOLON", "TOK_NEXTLINE", 
    1084   "TOK_PARAMETER", "TOK_RESULT", "TOK_ONLY", "TOK_INCLUDE", 
    1085   "TOK_SUBROUTINE", "TOK_PROGRAM", "TOK_FUNCTION", "TOK_OMP", "TOK_DOLLAR", 
    1086   "TOK_FORMAT", "TOK_MAX", "TOK_TANH", "TOK_WHERE", "TOK_ELSEWHERE", 
    1087   "TOK_ENDWHERE", "TOK_MAXVAL", "TOK_TRIM", "TOK_SUM", "TOK_SQRT", 
    1088   "TOK_CASE", "TOK_SELECTCASE", "TOK_FILE", "TOK_END", "TOK_ERR", 
    1089   "TOK_DONOTTREAT", "TOK_ENDDONOTTREAT", "TOK_EXIST", "TOK_MIN", 
    1090   "TOK_FLOAT", "TOK_EXP", "TOK_COS", "TOK_COSH", "TOK_ACOS", "TOK_NINT", 
    1091   "TOK_CYCLE", "TOK_SIN", "TOK_SINH", "TOK_ASIN", "TOK_EQUIVALENCE", 
    1092   "TOK_BACKSPACE", "TOK_LOG", "TOK_TAN", "TOK_ATAN", "TOK_RECURSIVE", 
    1093   "TOK_ABS", "TOK_MOD", "TOK_SIGN", "TOK_MINLOC", "TOK_MAXLOC", "TOK_EXIT", 
    1094   "TOK_MINVAL", "TOK_PUBLIC", "TOK_PRIVATE", "TOK_ALLOCATABLE", 
    1095   "TOK_RETURN", "TOK_THEN", "TOK_ELSEIF", "TOK_ELSE", "TOK_ENDIF", 
    1096   "TOK_PRINT", "TOK_PLAINGOTO", "TOK_CONSTRUCTID", "TOK_LOGICALIF", 
    1097   "TOK_PLAINDO", "TOK_CONTAINS", "TOK_ENDDO", "TOK_MODULE", 
    1098   "TOK_ENDMODULE", "TOK_DOWHILE", "TOK_ALLOCATE", "TOK_OPEN", "TOK_CLOSE", 
    1099   "TOK_INQUIRE", "TOK_WRITE", "TOK_READ", "TOK_REWIND", "TOK_DEALLOCATE", 
    1100   "TOK_NULLIFY", "TOK_FIN", "TOK_DEBUT", "TOK_DIMENSION", "TOK_ENDSELECT", 
    1101   "TOK_EXTERNAL", "TOK_INTENT", "TOK_INTRINSIC", "TOK_NAMELIST", 
    1102   "TOK_CASEDEFAULT", "TOK_OPTIONAL", "TOK_POINTER", "TOK_CONTINUE", 
    1103   "TOK_SAVE", "TOK_TARGET", "TOK_QUOTE", "TOK_IMPLICIT", "TOK_NONE", 
    1104   "TOK_CALL", "TOK_STAT", "TOK_POINT_TO", "TOK_COMMON", "TOK_GLOBAL", 
    1105   "TOK_INTERFACE", "TOK_ENDINTERFACE", "TOK_LEFTAB", "TOK_RIGHTAB", 
    1106   "TOK_PAUSE", "TOK_PROCEDURE", "TOK_STOP", "TOK_NAMEEQ", "TOK_REAL8", 
     948  "$end", "error", "$undefined", "','", "':'", "'='", "TOK_NEQV", 
     949  "TOK_EQV", "TOK_XOR", "TOK_OR", "TOK_AND", "TOK_NOT", "TOK_NE", "TOK_EQ", 
     950  "TOK_GE", "TOK_LE", "TOK_GT", "TOK_LT", "TOK_DSLASH", "'+'", "'-'", 
     951  "'*'", "TOK_SLASH", "TOK_DASTER", "TOK_SEMICOLON", "TOK_PARAMETER", 
     952  "TOK_RESULT", "TOK_ONLY", "TOK_INCLUDE", "TOK_SUBROUTINE", "TOK_PROGRAM", 
     953  "TOK_FUNCTION", "TOK_FORMAT", "TOK_MAX", "TOK_TANH", "TOK_WHERE", 
     954  "TOK_ELSEWHEREPAR", "TOK_ELSEWHERE", "TOK_ENDWHERE", "TOK_MAXVAL", 
     955  "TOK_TRIM", "TOK_NULL_PTR", "TOK_SUM", "TOK_SQRT", "TOK_CASE", 
     956  "TOK_SELECTCASE", "TOK_FILE", "TOK_UNIT", "TOK_FMT", "TOK_NML", 
     957  "TOK_END", "TOK_EOR", "TOK_ERR", "TOK_EXIST", "TOK_MIN", "TOK_FLOAT", 
     958  "TOK_EXP", "TOK_COS", "TOK_COSH", "TOK_ACOS", "TOK_NINT", "TOK_CYCLE", 
     959  "TOK_SIN", "TOK_SINH", "TOK_ASIN", "TOK_EQUIVALENCE", "TOK_BACKSPACE", 
     960  "TOK_LOG", "TOK_TAN", "TOK_ATAN", "TOK_RECURSIVE", "TOK_ABS", "TOK_MOD", 
     961  "TOK_SIGN", "TOK_MINLOC", "TOK_MAXLOC", "TOK_EXIT", "TOK_MINVAL", 
     962  "TOK_PUBLIC", "TOK_PRIVATE", "TOK_ALLOCATABLE", "TOK_RETURN", "TOK_THEN", 
     963  "TOK_ELSEIF", "TOK_ELSE", "TOK_ENDIF", "TOK_PRINT", "TOK_PLAINGOTO", 
     964  "TOK_LOGICALIF", "TOK_PLAINDO", "TOK_CONTAINS", "TOK_ENDDO", 
     965  "TOK_MODULE", "TOK_ENDMODULE", "TOK_WHILE", "TOK_CONCURRENT", 
     966  "TOK_ALLOCATE", "TOK_OPEN", "TOK_CLOSE", "TOK_INQUIRE", "TOK_WRITE", 
     967  "TOK_FLUSH", "TOK_READ", "TOK_REWIND", "TOK_DEALLOCATE", "TOK_NULLIFY", 
     968  "TOK_DIMENSION", "TOK_ENDSELECT", "TOK_EXTERNAL", "TOK_INTENT", 
     969  "TOK_INTRINSIC", "TOK_NAMELIST", "TOK_DEFAULT", "TOK_OPTIONAL", 
     970  "TOK_POINTER", "TOK_CONTINUE", "TOK_SAVE", "TOK_TARGET", "TOK_IMPLICIT", 
     971  "TOK_NONE", "TOK_CALL", "TOK_STAT", "TOK_POINT_TO", "TOK_COMMON", 
     972  "TOK_GLOBAL", "TOK_LEFTAB", "TOK_RIGHTAB", "TOK_PAUSE", "TOK_PROCEDURE", 
     973  "TOK_STOP", "TOK_REAL8", "TOK_FOURDOTS", "TOK_HEXA", "TOK_ASSIGNTYPE", 
    1107974  "TOK_OUT", "TOK_INOUT", "TOK_IN", "TOK_USE", "TOK_TRUE", "TOK_FALSE", 
    1108975  "TOK_LABEL", "TOK_TYPE", "TOK_TYPEPAR", "TOK_ENDTYPE", "TOK_REAL", 
    1109   "TOK_INTEGER", "TOK_LOGICAL", "TOK_DOUBLEPRECISION", "TOK_DOUBLEREAL", 
    1110   "TOK_ENDSUBROUTINE", "TOK_ENDFUNCTION", "TOK_ENDPROGRAM", "TOK_ENDUNIT", 
    1111   "TOK_CHARACTER", "TOK_CHAR_CONSTANT", "TOK_CHAR_CUT", "TOK_DATA", 
    1112   "TOK_CHAR_INT", "TOK_CHAR_MESSAGE", "TOK_CSTREAL", "TOK_CSTREALDP", 
    1113   "TOK_CSTREALQP", "TOK_SFREAL", "TOK_COMPLEX", "TOK_DOUBLECOMPLEX", 
    1114   "TOK_NAME", "TOK_NAME_CHAR", "TOK_PROBTYPE", "TOK_INTERPTYPE", 
    1115   "TOK_VARTYPE", "TOK_BC", "TOK_OP", "TOK_CSTINT", "TOK_COMMENT", 
    1116   "TOK_FILENAME", "'('", "')'", "'['", "']'", "'!'", "'_'", "'<'", "'>'", 
    1117   "'\\n'", "'/'", "'%'", "$accept", "input", "line", "suite_line_list", 
    1118   "suite_line", "instr", "fin_line", "keyword", "position", "thislabel", 
    1119   "cmnt", "nulcurbuf", "opt_recursive", "entry", "name_routine", 
    1120   "writedeclar", "before_include", "filename", "arglist", "arglist1", 
     976  "TOK_INTEGER", "TOK_LOGICAL", "TOK_DOUBLEPRECISION", "TOK_ENDSUBROUTINE", 
     977  "TOK_ENDFUNCTION", "TOK_ENDPROGRAM", "TOK_ENDUNIT", "TOK_CHARACTER", 
     978  "TOK_CHAR_CONSTANT", "TOK_CHAR_CUT", "TOK_DATA", "TOK_CHAR_MESSAGE", 
     979  "TOK_CSTREAL", "TOK_COMPLEX", "TOK_DOUBLECOMPLEX", "TOK_NAME", 
     980  "TOK_CSTINT", "'('", "')'", "'<'", "'>'", "'\\n'", "'/'", "'%'", 
     981  "$accept", "input", "line", "line-break", "suite_line_list", 
     982  "suite_line", "fin_line", "opt_recursive", "opt_result", "entry", 
     983  "label", "name_routine", "filename", "arglist", "arglist_after_result", 
    1121984  "args", "arg", "spec", "opt_spec", "name_intrinsic", 
    1122985  "use_intrinsic_list", "list_couple", "list_expr_equi", "expr_equi", 
    1123986  "list_expr_equi1", "list_expr", "opt_sep", "after_type", 
    1124   "before_function", "before_parameter", "before_data", "data", 
    1125   "datavallist", "save", "before_save", "varsave", "datanamelist", 
    1126   "expr_data", "opt_signe", "namelist", "namelist_action", 
    1127   "after_namelist", "interface", "before_dimension", "dimension", 
    1128   "private", "public", "use_name_list", "common", "before_common", 
    1129   "var_common_list", "var_common", "comblock", "opt_comma", "paramlist", 
    1130   "paramitem", "module_proc_stmt", "proc_name_list", "implicit", 
    1131   "opt_retour", "dcl", "nodimsgiven", "type", "before_typepar", 
    1132   "c_selector", "c_attribute", "before_character", "typespec", "typename", 
    1133   "lengspec", "proper_lengspec", "selector", "proper_selector", 
    1134   "attribute", "clause", "opt_clause", "options", "attr_spec_list", 
    1135   "attr_spec", "intent_spec", "access_spec", "dims", "dimlist", "dim", 
    1136   "ubound", "expr", "predefinedfunction", "minmaxlist", "uexpr", "signe", 
    1137   "operation", "after_slash", "after_equal", "lhs", "beforefunctionuse", 
     987  "before_function", "before_parameter", "data_stmt", "data_stmt_set_list", 
     988  "data_stmt_set", "data_stmt_value_list", "save", "before_save", 
     989  "varsave", "datanamelist", "expr_data", "opt_signe", "namelist", 
     990  "before_dimension", "dimension", "private", "public", "use_name_list", 
     991  "common", "before_common", "var_common_list", "var_common", "comblock", 
     992  "opt_comma", "paramlist", "paramitem", "module_proc_stmt", 
     993  "proc_name_list", "implicit", "dcl", "nodimsgiven", "type", "c_selector", 
     994  "c_attribute", "before_character", "typespec", "lengspec", 
     995  "proper_lengspec", "selector", "proper_selector", "attribute", "clause", 
     996  "opt_clause", "options", "attr_spec_list", "attr_spec", "intent_spec", 
     997  "access_spec", "dims", "dimlist", "dim", "ubound", "expr", 
     998  "predefinedfunction", "minmaxlist", "uexpr", "signe", "operation", 
     999  "after_slash", "after_equal", "lhs", "beforefunctionuse", 
    11381000  "array_ele_substring_func_ref", "begin_array", "structure_component", 
    11391001  "vec", "funarglist", "funargs", "funarg", "triplet", "ident", 
    11401002  "simple_const", "string_constant", "opt_substring", "substring", 
    1141   "optexpr", "opt_expr", "initial_value", "before_initial", 
    1142   "complex_const", "use_stat", "word_use", "module_name", "rename_list", 
    1143   "rename_name", "only_list", "only_name", "exec", "word_endsubroutine", 
    1144   "word_endunit", "word_endprogram", "word_endfunction", "caselist", 
    1145   "boucledo", "do_arg", "opt_int", "opt_name", "optname", "worddo", 
    1146   "wordwhile", "iffable", "before_dims", "ident_dims", "int_list", 
    1147   "after_ident_dims", "call", "opt_call", "opt_callarglist", "keywordcall", 
    1148   "before_call", "callarglist", "callarg", "stop", "io", "option_inlist", 
    1149   "option_read", "opt_inlist", "ioctl", "after_rewind", "ctllist", 
    1150   "ioclause", "iofctl", "infmt", "read", "write", "fexpr", "unpar_fexpr", 
    1151   "addop", "inlist", "opt_lhs", "inelt", "opt_operation", "outlist", 
    1152   "out2", "other", "dospec", "label", "goto", "allocation_list", 
    1153   "allocate_object", "array_element", "allocate_object_list", 
    1154   "opt_stat_spec", "pointer_name_list", "logif", "do_var", 0 
     1003  "optexpr", "opt_expr", "initial_value", "complex_const", "use_stat", 
     1004  "word_use", "rename_list", "rename_name", "only_list", "only_name", 
     1005  "execution-part-construct", "executable-construct", "action-stmt", 
     1006  "assignment-stmt", "where-stmt", "where-construct", 
     1007  "opt-where-body-construct", "opt-masked-elsewhere-construct", 
     1008  "opt-elsewhere-construct", "where-construct-stmt", 
     1009  "where-body-construct", "where-assignment-stmt", "mask-expr", 
     1010  "masked-elsewhere-stmt", "elsewhere-stmt", "end-where-stmt", 
     1011  "forall-header", "block", "do-construct", "block-do-construct", 
     1012  "do-stmt", "label-do-stmt", "nonlabel-do-stmt", "loop-control", 
     1013  "do-variable", "do-block", "end-do", "end-do-stmt", "if-construct", 
     1014  "opt-else-if-stmt-block", "else-if-stmt-block", "opt-else-stmt-block", 
     1015  "else-stmt-block", "if-then-stmt", "else-if-stmt", "else-stmt", 
     1016  "end-if-stmt", "if-stmt", "case-construct", "opt_case-stmt-block", 
     1017  "case-stmt-block", "select-case-stmt", "case-stmt", "end-select-stmt", 
     1018  "case-selector", "case-value-range-list", "case-value-range", 
     1019  "case-value", "continue-stmt", "format-stmt", "word_endsubroutine", 
     1020  "word_endunit", "word_endprogram", "word_endfunction", "opt_name", 
     1021  "before_dims", "ident_dims", "int_list", "after_ident_dims", "call", 
     1022  "opt_call", "opt_callarglist", "keywordcall", "before_call", 
     1023  "callarglist", "callarg", "stop", "option_inlist", "option_read", 
     1024  "opt_inlist", "ioctl", "after_rewind", "ctllist", "ioclause", 
     1025  "declare_after_percent", "iofctl", "infmt", "read", "fexpr", 
     1026  "unpar_fexpr", "addop", "inlist", "inelt", "opt_operation", "outlist", 
     1027  "other", "dospec", "goto", "allocation_list", "allocate_object", 
     1028  "allocate_object_list", "opt_stat_spec", "pointer_name_list", YY_NULL 
    11551029}; 
    11561030#endif 
     
    11621036{ 
    11631037       0,   256,   257,    44,    58,    61,   258,   259,   260,   261, 
    1164      262,   263,   264,   265,   266,   267,   268,   269,   270,   271, 
    1165      272,    43,    45,    42,   273,   274,   275,   276,   277,   278, 
     1038     262,   263,   264,   265,   266,   267,   268,   269,   270,    43, 
     1039      45,    42,   271,   272,   273,   274,   275,   276,   277,   278, 
    11661040     279,   280,   281,   282,   283,   284,   285,   286,   287,   288, 
    11671041     289,   290,   291,   292,   293,   294,   295,   296,   297,   298, 
     
    11771051     389,   390,   391,   392,   393,   394,   395,   396,   397,   398, 
    11781052     399,   400,   401,   402,   403,   404,   405,   406,   407,   408, 
    1179      409,   410,   411,   412,   413,   414,   415,   416,   417,   418, 
    1180      419,   420,   421,   422,   423,   424,   425,   426,   427,    40, 
    1181       41,    91,    93,    33,    95,    60,    62,    10,    47,    37 
     1053     409,   410,    40,    41,    60,    62,    10,    47,    37 
    11821054}; 
    11831055# endif 
     
    11861058static const yytype_uint16 yyr1[] = 
    11871059{ 
    1188        0,   190,   191,   191,   192,   192,   192,   192,   192,   193, 
    1189      193,   194,   194,   194,   194,   194,   195,   196,   197,   197, 
    1190      197,   197,   198,   199,   199,   200,   200,   201,   202,   202, 
    1191      203,   203,   203,   203,   203,   203,   204,   205,   206,   207, 
    1192      208,   208,   208,   209,   209,   209,   210,   210,   211,   211, 
    1193      212,   212,   212,   212,   212,   212,   212,   212,   212,   212, 
    1194      212,   212,   212,   212,   212,   212,   212,   212,   212,   212, 
    1195      212,   213,   213,   214,   214,   214,   214,   214,   214,   214, 
    1196      214,   214,   214,   214,   214,   214,   214,   214,   214,   214, 
    1197      214,   214,   214,   214,   214,   214,   214,   215,   215,   216, 
     1060       0,   169,   170,   170,   171,   171,   171,   171,   172,   172, 
     1061     172,   172,   172,   173,   173,   173,   174,   174,   174,   174, 
     1062     175,   176,   176,   177,   177,   178,   178,   178,   178,   179, 
     1063     179,   180,   181,   182,   182,   182,   183,   183,   183,   184, 
     1064     184,   185,   185,   186,   186,   186,   186,   186,   186,   186, 
     1065     186,   186,   186,   186,   186,   186,   186,   186,   186,   186, 
     1066     186,   186,   186,   187,   187,   188,   188,   188,   188,   188, 
     1067     188,   188,   188,   188,   188,   188,   188,   188,   188,   188, 
     1068     188,   188,   188,   188,   188,   188,   188,   188,   188,   189, 
     1069     189,   190,   190,   191,   191,   192,   193,   193,   194,   194, 
     1070     195,   195,   196,   196,   197,   198,   199,   200,   200,   201, 
     1071     201,   201,   202,   202,   203,   203,   203,   203,   204,   205, 
     1072     205,   206,   206,   206,   207,   207,   207,   207,   207,   208, 
     1073     208,   209,   209,   209,   209,   210,   211,   211,   212,   212, 
     1074     213,   213,   214,   214,   214,   214,   215,   215,   215,   216, 
    11981075     216,   217,   217,   218,   219,   219,   220,   220,   221,   221, 
    1199      222,   222,   223,   224,   225,   226,   226,   226,   227,   227, 
    1200      228,   228,   228,   228,   229,   230,   230,   231,   231,   231, 
    1201      232,   232,   232,   232,   232,   233,   233,   234,   235,   235, 
    1202      235,   235,   236,   237,   237,   238,   239,   239,   240,   240, 
    1203      241,   241,   242,   242,   243,   243,   243,   244,   244,   245, 
    1204      245,   246,   247,   247,   248,   248,   249,   249,   250,   251, 
    1205      252,   252,   253,   253,   254,   255,   255,   256,   257,   257, 
    1206      257,   257,   258,   259,   259,   259,   259,   260,   260,   260, 
    1207      261,   262,   263,   263,   263,   263,   263,   263,   264,   264, 
    1208      265,   265,   266,   266,   266,   267,   267,   268,   268,   268, 
    1209      268,   269,   269,   270,   270,   271,   271,   271,   272,   272, 
    1210      273,   273,   273,   273,   273,   273,   273,   273,   273,   273, 
    1211      273,   274,   274,   274,   275,   275,   276,   276,   277,   277, 
    1212      278,   278,   278,   278,   278,   279,   279,   280,   280,   280, 
    1213      280,   281,   281,   281,   281,   281,   281,   281,   281,   281, 
    1214      281,   281,   281,   281,   281,   281,   281,   281,   281,   281, 
    1215      281,   281,   281,   281,   281,   281,   281,   282,   282,   283, 
    1216      283,   283,   283,   283,   283,   284,   284,   285,   285,   285, 
    1217      285,   285,   285,   285,   285,   285,   285,   285,   285,   285, 
    1218      285,   285,   285,   285,   285,   285,   285,   285,   286,   286, 
    1219      286,   286,   287,   287,   288,   288,   288,   289,   290,   290, 
    1220      290,   290,   291,   292,   293,   294,   294,   295,   295,   296, 
    1221      296,   297,   297,   297,   297,   297,   297,   297,   298,   299, 
    1222      299,   299,   299,   299,   299,   299,   299,   300,   300,   300, 
    1223      300,   301,   301,   302,   303,   303,   304,   304,   305,   305, 
    1224      305,   306,   307,   308,   308,   308,   308,   309,   310,   311, 
    1225      311,   312,   313,   313,   314,   314,   315,   315,   315,   315, 
    1226      315,   315,   315,   315,   315,   315,   315,   315,   315,   315, 
    1227      315,   315,   315,   315,   315,   315,   315,   315,   315,   316, 
    1228      317,   318,   319,   320,   320,   320,   321,   321,   321,   322, 
    1229      322,   322,   323,   323,   324,   324,   325,   325,   326,   327, 
    1230      328,   328,   328,   328,   328,   328,   328,   328,   328,   328, 
    1231      328,   328,   329,   330,   330,   331,   331,   332,   332,   333, 
    1232      334,   334,   335,   335,   336,   337,   338,   338,   339,   339, 
    1233      340,   340,   341,   341,   341,   341,   341,   341,   342,   342, 
    1234      343,   343,   344,   344,   345,   345,   346,   346,   346,   346, 
    1235      346,   347,   347,   348,   348,   348,   348,   348,   348,   348, 
    1236      348,   348,   349,   349,   350,   350,   351,   351,   351,   352, 
    1237      353,   353,   354,   354,   354,   354,   354,   354,   354,   354, 
    1238      354,   354,   354,   354,   354,   354,   355,   355,   356,   356, 
    1239      357,   357,   358,   358,   358,   358,   358,   359,   359,   359, 
    1240      360,   360,   360,   361,   361,   361,   361,   361,   361,   361, 
    1241      361,   362,   362,   362,   362,   362,   363,   363,   364,   365, 
    1242      365,   366,   366,   366,   367,   367,   367,   368,   369,   369, 
    1243      370,   370,   371,   371,   372,   373 
     1076     222,   223,   224,   224,   225,   225,   226,   226,   227,   228, 
     1077     228,   228,   228,   229,   229,   229,   229,   230,   230,   230, 
     1078     231,   232,   232,   232,   232,   232,   232,   233,   233,   234, 
     1079     234,   235,   235,   235,   236,   236,   237,   237,   237,   237, 
     1080     237,   238,   238,   239,   239,   240,   240,   240,   241,   241, 
     1081     242,   242,   242,   242,   242,   242,   242,   242,   242,   242, 
     1082     242,   243,   243,   243,   244,   244,   245,   245,   246,   246, 
     1083     247,   247,   247,   247,   247,   248,   248,   249,   249,   249, 
     1084     249,   250,   250,   250,   250,   250,   250,   250,   250,   250, 
     1085     250,   250,   250,   250,   250,   250,   250,   250,   250,   250, 
     1086     250,   250,   250,   250,   250,   250,   250,   251,   251,   252, 
     1087     252,   252,   252,   252,   252,   253,   253,   254,   254,   254, 
     1088     254,   254,   254,   254,   254,   254,   254,   254,   254,   254, 
     1089     254,   254,   254,   254,   254,   254,   254,   254,   255,   255, 
     1090     255,   255,   256,   256,   257,   257,   257,   258,   259,   259, 
     1091     259,   259,   260,   261,   262,   263,   263,   264,   264,   265, 
     1092     265,   266,   266,   266,   266,   266,   266,   266,   267,   268, 
     1093     268,   268,   268,   268,   268,   268,   268,   269,   269,   269, 
     1094     269,   270,   270,   271,   272,   272,   273,   273,   274,   274, 
     1095     274,   275,   276,   276,   276,   276,   277,   278,   278,   279, 
     1096     280,   280,   281,   281,   282,   282,   283,   283,   283,   283, 
     1097     283,   284,   284,   284,   284,   284,   284,   284,   284,   284, 
     1098     284,   284,   284,   284,   284,   284,   284,   284,   284,   284, 
     1099     284,   284,   284,   284,   284,   284,   285,   286,   287,   288, 
     1100     288,   289,   289,   290,   290,   291,   292,   292,   292,   293, 
     1101     294,   295,   295,   296,   296,   297,   297,   298,   299,   299, 
     1102     299,   300,   301,   302,   302,   303,   303,   303,   303,   304, 
     1103     304,   304,   304,   305,   305,   305,   305,   306,   307,   308, 
     1104     308,   309,   309,   310,   311,   311,   311,   312,   313,   313, 
     1105     313,   314,   315,   315,   316,   316,   317,   317,   318,   318, 
     1106     319,   320,   321,   321,   321,   322,   323,   323,   324,   324, 
     1107     325,   325,   326,   326,   327,   327,   328,   328,   328,   328, 
     1108     329,   330,   331,   332,   333,   334,   335,   336,   336,   337, 
     1109     338,   338,   339,   339,   340,   340,   341,   342,   342,   343, 
     1110     343,   344,   344,   345,   346,   346,   347,   347,   348,   348, 
     1111     349,   349,   350,   350,   351,   351,   352,   353,   353,   353, 
     1112     353,   353,   354,   354,   355,   355,   355,   355,   355,   355, 
     1113     355,   355,   356,   357,   357,   357,   358,   358,   359,   359, 
     1114     359,   360,   360,   361,   361,   361,   361,   361,   361,   361, 
     1115     361,   361,   361,   361,   361,   361,   361,   361,   361,   361, 
     1116     362,   362,   363,   363,   364,   364,   364,   364,   364,   365, 
     1117     365,   365,   366,   366,   366,   366,   366,   366,   366,   366, 
     1118     366,   366,   367,   367,   367,   368,   368,   369,   369,   370, 
     1119     370,   371,   372,   372,   373,   373,   374,   374 
    12441120}; 
    12451121 
     
    12471123static const yytype_uint8 yyr2[] = 
    12481124{ 
    1249        0,     2,     0,     2,     2,     2,     1,     3,     3,     1, 
    1250        3,     2,     2,     3,     3,     2,     2,     2,     1,     1, 
    1251        1,     1,     0,     0,     2,     0,     1,     0,     0,     1, 
    1252        0,     4,     2,     6,     4,     2,     1,     0,     1,     1, 
    1253        0,     2,     3,     0,     2,     3,     1,     3,     1,     1, 
    1254        2,     4,     2,     2,     4,     2,     1,     1,     1,     1, 
    1255        1,     1,     1,     1,     1,     1,     4,     3,     3,     2, 
    1256        3,     0,     1,     1,     1,     1,     1,     1,     1,     1, 
     1125       0,     2,     0,     2,     1,     1,     2,     1,     2,     1, 
     1126       3,     2,     2,     1,     3,     3,     2,     2,     3,     1, 
     1127       0,     0,     1,     0,     2,     4,     2,     5,     2,     1, 
     1128       2,     1,     1,     0,     2,     3,     0,     2,     3,     1, 
     1129       3,     1,     1,     2,     4,     2,     2,     4,     2,     1, 
     1130       1,     1,     1,     1,     1,     1,     1,     1,     4,     3, 
     1131       3,     2,     2,     0,     1,     1,     1,     1,     1,     1, 
    12571132       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, 
    1258        1,     1,     1,     1,     1,     1,     1,     1,     3,     3, 
    1259        5,     1,     3,     3,     2,     4,     1,     3,     0,     2, 
    1260        2,     3,     1,     1,     1,     4,     6,     4,     1,     3, 
    1261        2,     3,     5,     3,     1,     0,     2,     1,     4,     3, 
    1262        2,     3,     3,     3,     3,     0,     1,     2,     2,     3, 
    1263        5,     3,     0,     2,     2,     1,     5,     5,     2,     3, 
    1264        2,     3,     1,     3,     2,     3,     5,     1,     2,     1, 
    1265        3,     2,     1,     3,     0,     1,     1,     3,     3,     2, 
    1266        1,     3,     2,     2,     0,     6,     7,     0,     2,     2, 
    1267        3,     3,     1,     0,     2,     4,     3,     3,     4,     2, 
    1268        1,     1,     1,     1,     1,     1,     1,     1,     0,     2, 
    1269        1,     3,     0,     2,     3,     1,     3,     2,     3,     1, 
    1270        1,     1,     1,     0,     3,     0,     2,     4,     1,     3, 
     1133       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, 
     1134       3,     3,     5,     1,     3,     3,     2,     4,     1,     3, 
     1135       0,     1,     2,     3,     1,     1,     2,     1,     3,     4, 
     1136       4,     8,     1,     3,     2,     3,     5,     3,     1,     0, 
     1137       2,     1,     4,     3,     2,     3,     3,     3,     3,     0, 
     1138       1,     2,     3,     5,     3,     1,     5,     5,     2,     3, 
     1139       2,     3,     1,     1,     3,     3,     2,     3,     5,     1, 
     1140       2,     1,     3,     2,     1,     3,     0,     1,     1,     3, 
     1141       3,     2,     1,     3,     2,     2,     5,     6,     0,     2, 
     1142       2,     3,     3,     0,     2,     4,     3,     3,     4,     2, 
     1143       1,     1,     1,     1,     1,     1,     1,     0,     2,     1, 
     1144       3,     0,     2,     3,     1,     3,     2,     3,     1,     1, 
     1145       1,     1,     1,     0,     3,     0,     1,     3,     1,     3, 
    12711146       1,     1,     1,     2,     1,     4,     1,     1,     1,     1, 
    12721147       1,     1,     1,     1,     1,     1,     0,     3,     1,     3, 
    1273        1,     1,     2,     2,     3,     1,     1,     1,     3,     1, 
    1274        1,     3,     3,     4,     4,     3,     4,     4,     3,     4, 
     1148       1,     1,     2,     2,     3,     1,     1,     1,     1,     1, 
     1149       3,     3,     3,     4,     4,     3,     4,     4,     3,     4, 
    12751150       4,     4,     4,     4,     4,     4,     4,     4,     4,     4, 
    1276        4,     4,     3,     4,     4,     4,     4,     1,     3,     1, 
     1151       4,     4,     3,     4,     3,     4,     4,     1,     3,     1, 
    12771152       1,     1,     2,     2,     2,     1,     1,     2,     2,     2, 
    1278        2,     2,     2,     2,     2,     2,     2,     2,     3,     2, 
    1279        3,     2,     2,     2,     2,     2,     2,     2,     0,     1, 
     1153       2,     2,     2,     2,     2,     2,     3,     3,     2,     2, 
     1154       2,     2,     2,     2,     2,     2,     2,     2,     0,     1, 
    12801155       2,     2,     2,     1,     1,     1,     1,     0,     1,     2, 
    1281        4,     5,     4,     3,     3,     1,     2,     1,     3,     1, 
     1156       4,     5,     4,     4,     3,     1,     2,     1,     3,     1, 
    12821157       1,     3,     5,     4,     3,     2,     2,     1,     1,     1, 
    12831158       1,     1,     1,     1,     1,     2,     2,     1,     2,     1, 
    1284        1,     0,     1,     5,     0,     1,     1,     1,     0,     3, 
    1285        3,     0,     5,     2,     4,     6,     6,     1,     1,     1, 
    1286        3,     3,     1,     3,     3,     1,     1,     5,     5,     4, 
    1287        1,     2,     2,     2,     2,     1,     2,     5,     1,     1, 
    1288        2,     5,     1,     2,     3,     4,     1,     1,     1,     1, 
    1289        1,     1,     1,     1,     3,     3,     3,     2,     2,     0, 
    1290        5,     7,     0,     2,     1,     1,     0,     1,     1,     1, 
    1291        1,     2,     1,     1,     1,     5,     5,     2,     2,     2, 
    1292        2,     1,     0,     4,     6,     1,     3,     2,     2,     2, 
    1293        0,     3,     0,     1,     2,     1,     1,     3,     1,     2, 
    1294        1,     1,     2,     2,     2,     3,     2,     1,     0,     1, 
    1295        2,     2,     0,     2,     3,     3,     3,     3,     1,     3, 
    1296        1,     1,     3,     1,     1,     1,     3,     2,     4,     4, 
    1297        2,     2,     1,     1,     1,     1,     1,     1,     1,     1, 
    1298        1,     3,     1,     1,     3,     3,     3,     3,     2,     3, 
    1299        2,     2,     2,     2,     3,     1,     1,     1,     1,     3, 
    1300        0,     1,     2,     4,     2,     2,     5,     0,     1,     2, 
    1301        1,     1,     1,     3,     3,     3,     3,     3,     3,     1, 
    1302        1,     1,     3,     5,     5,     5,     5,     7,     1,     8, 
    1303        2,     1,     1,     3,     1,     1,     1,     4,     1,     3, 
    1304        0,     4,     1,     3,     3,     1 
     1159       1,     0,     1,     5,     0,     1,     1,     1,     0,     2, 
     1160       2,     5,     2,     4,     6,     6,     1,     1,     3,     3, 
     1161       1,     3,     3,     1,     1,     1,     1,     1,     1,     1, 
     1162       1,     1,     2,     1,     1,     2,     2,     2,     3,     2, 
     1163       5,     5,     2,     2,     2,     2,     1,     4,     1,     2, 
     1164       2,     2,     2,     1,     1,     1,     1,     5,     6,     0, 
     1165       3,     0,     4,     0,     4,     4,     1,     1,     1,     1, 
     1166       1,     3,     4,     1,     2,     1,     2,     0,     0,     2, 
     1167       3,     1,     4,     1,     1,     4,     2,     5,     3,     3, 
     1168       1,     4,     2,     6,     8,     5,     3,     1,     1,     1, 
     1169       1,     1,     2,     6,     0,     1,     2,     3,     0,     1, 
     1170       2,     3,     7,     5,     5,     6,     1,     2,     1,     2, 
     1171       5,     4,     0,     1,     2,     3,     6,     4,     2,     3, 
     1172       1,     2,     3,     1,     1,     3,     1,     2,     2,     3, 
     1173       1,     1,     1,     1,     1,     1,     1,     1,     1,     0, 
     1174       4,     7,     1,     3,     2,     2,     2,     0,     3,     0, 
     1175       1,     2,     2,     1,     1,     3,     1,     2,     1,     1, 
     1176       0,     1,     2,     2,     0,     2,     3,     3,     3,     1, 
     1177       3,     1,     1,     3,     1,     1,     1,     3,     5,     4, 
     1178       2,     2,     0,     1,     1,     1,     1,     1,     1,     1, 
     1179       1,     1,     3,     1,     1,     3,     3,     3,     3,     2, 
     1180       3,     2,     2,     2,     2,     2,     2,     2,     3,     1, 
     1181       1,     1,     1,     3,     2,     4,     2,     2,     5,     0, 
     1182       1,     2,     1,     1,     1,     1,     3,     3,     3,     3, 
     1183       3,     3,     5,     5,     5,     5,     7,     8,     2,     1, 
     1184       3,     1,     1,     3,     0,     4,     1,     3 
    13051185}; 
    13061186 
    1307 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state 
    1308    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero 
     1187/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 
     1188   Performed when YYTABLE doesn't specify something else to do.  Zero 
    13091189   means the default is an error.  */ 
    13101190static const yytype_uint16 yydefact[] = 
    13111191{ 
    1312        2,     0,     1,    37,    20,    21,    18,    19,    27,     6, 
    1313       22,     3,    25,    30,    27,    24,     4,    26,    37,   113, 
    1314       38,     0,   457,     0,   388,   389,     0,     0,     0,     0, 
    1315        0,    29,   354,   108,   108,     0,     0,   392,     0,   488, 
    1316        0,     0,   418,   398,   416,     0,     0,   419,     0,   482, 
    1317      483,   487,   489,   486,     0,     0,     0,   145,   397,   108, 
    1318      108,     0,   396,     0,   420,   124,     0,   445,   157,     0, 
    1319        0,     0,   450,     0,   451,   367,    71,   182,     0,   193, 
    1320      192,   197,   195,   399,   402,   401,   400,   190,   114,   194, 
    1321      196,   338,   435,     5,     9,    22,     0,    22,     0,    22, 
    1322        0,     0,    57,   125,    65,   142,    64,   164,    59,    61, 
    1323       60,    56,     0,    63,    58,   215,     0,   183,   202,   191, 
    1324      432,    62,     0,    25,     0,   380,     0,     0,   385,   412, 
    1325        0,   376,     0,   431,   424,   440,     0,     0,   423,     0, 
    1326        0,     0,   422,     0,     8,     7,    36,    32,     0,     0, 
    1327      285,   286,     0,     0,     0,     0,     0,     0,     0,     0, 
    1328        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1329        0,     0,     0,     0,     0,     0,     0,     0,   339,   340, 
    1330        0,   347,   350,   349,   342,   343,   344,   341,     0,   403, 
    1331      250,   247,     0,   279,   316,   318,   315,   281,   314,   280, 
    1332      351,   249,     0,     0,   356,   357,   429,     0,    69,   101, 
    1333        0,   355,   427,     0,   150,     0,   148,     0,   428,     0, 
    1334      415,   414,   393,   538,     0,   540,     0,   417,   408,    35, 
    1335      384,     0,   470,   468,     0,   456,     0,     0,     0,     0, 
    1336      162,     0,     0,   138,     0,    53,   172,   173,   158,   143, 
    1337      144,   170,   169,   234,   235,   108,    72,    52,    30,    15, 
    1338       25,     0,     0,    11,    39,    22,    12,     0,     0,    55, 
    1339      166,   127,   164,     0,   125,     0,   236,   120,   125,   165, 
    1340      137,     0,   165,     0,     0,     0,   236,   154,   159,     0, 
    1341        0,     0,   112,    50,     0,   177,   174,   209,   210,     0, 
    1342        0,     0,   179,     0,     0,   178,     0,    16,   236,   368, 
    1343      363,    37,   382,   381,   383,   164,   409,   407,     0,     0, 
    1344        0,   421,     0,   442,   439,   444,   430,     0,   452,   506, 
    1345      507,   485,     0,     0,     0,     0,   338,     0,   505,   492, 
    1346      493,   453,   458,   462,     0,   484,     0,   454,   390,     0, 
    1347        0,   432,   386,     0,   284,   277,     0,     0,     0,     0, 
     1192       2,     0,     1,     7,     9,   105,     0,     0,   482,     0, 
     1193       0,     0,     0,     0,    22,   344,   100,   100,     0,   540, 
     1194       0,     0,   156,   395,     0,     0,     0,   533,   534,   539, 
     1195       0,   535,   538,     0,     0,     0,   135,   100,   100,     0, 
     1196       0,   371,   118,     0,   503,   149,     0,   508,     0,   509, 
     1197     356,    21,    63,     0,     0,   183,   181,   182,   186,   483, 
     1198     486,   485,   484,   180,     0,   184,   185,   328,   492,    20, 
     1199       3,     4,     5,    13,     0,    20,    20,     0,     0,    50, 
     1200     119,    57,   156,    52,    54,    53,    49,     0,    56,    51, 
     1201     205,   173,   191,   489,    55,     0,    19,   364,   366,   394, 
     1202     370,     0,   367,   421,     0,   423,   424,   369,     0,   393, 
     1203     368,     0,   365,     0,   388,     0,     0,     0,   386,   374, 
     1204     497,     0,     0,     0,     0,   373,    32,    20,    31,    26, 
     1205       0,     0,     0,   275,   276,     0,     0,     0,     0,   331, 
    13481206       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    13491207       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1350        0,     0,     0,   530,   520,   249,     0,   522,   521,     0, 
    1351        0,   247,     0,     0,     0,     0,     0,     0,     0,     0, 
    1352        0,     0,     0,     0,     0,     0,     0,   308,     0,     0, 
    1353        0,   282,   283,     0,   354,   319,   317,   317,   345,   348, 
    1354      346,   352,     0,     0,   394,     0,     0,   236,     0,     0, 
    1355      109,   152,   151,   149,     0,     0,   554,     0,   545,   432, 
    1356      542,   550,   541,   546,   341,   247,   314,   544,   548,   550, 
    1357      552,     0,    67,    74,    75,    78,    73,    79,    76,    81, 
    1358       82,    83,    84,    85,    80,    86,    87,    88,    89,    90, 
    1359       91,    92,    93,    94,    95,    77,    96,    97,    68,     0, 
    1360      139,     0,   106,     0,     0,     0,    10,    17,    40,    40, 
    1361       13,     0,     0,     0,   135,     0,    70,     0,     0,   135, 
    1362      123,   164,     0,   126,   121,   141,   164,   236,   236,   164, 
    1363      161,     0,   155,   220,   222,   236,   224,     0,   226,   227, 
    1364      228,   229,   230,     0,   218,   221,   216,    40,   174,   110, 
    1365        0,     0,   212,   207,   211,   181,   184,     0,   338,     0, 
    1366      213,     0,   203,   205,     0,   180,   236,     0,    14,   413, 
    1367      555,   406,     0,   437,   438,   432,   436,     0,   448,     0, 
    1368      443,   446,   474,   475,     0,   314,     0,   471,   473,   490, 
    1369      500,   503,   502,   501,     0,   473,   510,   517,   511,   517, 
    1370      460,   459,   517,   508,   510,   461,     0,     0,     0,     0, 
    1371        0,   498,   455,     0,     0,     0,     0,   252,     0,     0, 
    1372        0,   251,   258,   255,     0,     0,     0,     0,     0,     0, 
    1373        0,     0,     0,     0,     0,     0,   272,     0,     0,     0, 
    1374        0,     0,     0,   247,     0,     0,     0,   324,     0,     0, 
    1375        0,   248,     0,     0,   313,   307,   302,   292,   303,   304, 
    1376      305,   301,   291,   297,   299,   293,   295,   287,   288,   289, 
    1377        0,     0,   309,   306,   290,     0,   296,     0,   294,   323, 
    1378        0,   325,     0,     0,   404,   405,   395,     0,   103,   104, 
    1379      102,    66,     0,     0,     0,   317,     0,     0,   467,   469, 
    1380      466,     0,     0,     0,   379,     0,   163,     0,    99,     0, 
    1381      171,    51,     0,    31,    34,   168,    54,   167,     0,   118, 
    1382        0,   136,     0,     0,   127,   129,     0,   125,   241,   245, 
    1383        0,   238,   240,   246,     0,   198,   198,     0,   160,   223, 
    1384        0,     0,     0,   111,     0,   236,   208,     0,     0,   213, 
    1385      186,     0,   189,     0,   204,   433,     0,     0,   364,   369, 
    1386        0,   236,   449,   441,     0,     0,   480,   481,   317,   236, 
    1387        0,   464,   465,   504,   465,     0,   518,   514,   515,   510, 
    1388      512,   463,   499,   495,   496,   497,   494,   550,   550,   387, 
    1389      278,   253,   254,   257,   261,   262,   263,   264,   265,   260, 
    1390      266,   267,   268,   269,   270,   271,   273,   274,   275,   276, 
    1391      256,   248,     0,     0,     0,   523,   524,   527,   528,   525, 
    1392      526,   259,   247,   312,   310,   311,   300,   298,   354,   337, 
    1393      329,   326,   327,   330,   320,   322,   236,   153,   391,     0, 
    1394        0,     0,   543,   377,   549,   378,   553,    98,   107,     0, 
    1395       49,    48,    41,     0,    46,    43,   115,   135,   135,   135, 
    1396      135,   135,   130,   128,   135,   117,   122,   243,     0,   237, 
    1397      242,   140,     0,   146,   147,   156,   232,   233,   231,     0, 
    1398      219,   217,   236,   198,   185,   213,   187,     0,   206,     0, 
    1399        0,     0,     0,   236,   447,   491,     0,     0,     0,   476, 
    1400      472,   473,   510,   517,   519,   509,     0,     0,   338,     0, 
    1401        0,     0,   362,     0,     0,   335,   336,     0,   321,   105, 
    1402        0,   547,     0,   100,     0,    42,     0,    33,   119,   131, 
    1403      132,   133,   134,     0,   239,   244,   246,     0,   199,   200, 
    1404      225,   198,   358,   188,   214,   375,   365,   366,   372,   371, 
    1405      370,     0,   434,   479,   478,     0,   513,   425,   426,     0, 
    1406      533,   535,   534,   353,   334,     0,   331,   328,     0,   551, 
    1407       47,    44,     0,   116,     0,   358,   175,     0,     0,     0, 
    1408      410,   516,     0,   333,     0,   539,    45,   201,   176,     0, 
    1409        0,   374,   373,     0,     0,   332,   359,   360,   411,   536, 
    1410        0,   537 
     1208       0,     0,   334,   329,   330,     0,   337,   340,   339,   333, 
     1209     328,   332,     0,   346,   347,   239,   237,     0,   269,   306, 
     1210     308,   305,   271,   304,   270,   341,   384,   238,     0,    61, 
     1211      93,     0,   345,   382,   101,   140,     0,   138,     0,   383, 
     1212     588,     0,     0,   157,    29,   156,     0,   432,    28,   488, 
     1213     487,   392,     0,     0,   377,   521,   519,     0,   379,     0, 
     1214       0,     0,     0,   154,     0,     0,   131,     0,    46,   164, 
     1215     165,   150,   162,   161,     6,   224,   225,   100,    64,   200, 
     1216     198,   199,     0,    45,   121,     0,   156,   107,     0,     0, 
     1217       8,    11,    12,    20,    21,     0,     0,    16,    17,     0, 
     1218       0,    48,   158,    62,   119,     0,   226,   114,   119,   157, 
     1219       0,     0,     0,     0,   226,   146,   151,     0,     0,   104, 
     1220     206,    43,     0,   168,     0,     0,     0,   170,     0,     0, 
     1221     169,   226,   352,   399,   418,   418,   462,   390,   389,   391, 
     1222       0,     0,   532,   372,     0,   499,   496,   501,   502,   385, 
     1223     375,   560,   561,   537,     0,     0,     0,     0,     0,     0, 
     1224       0,   328,     0,   559,   543,   544,   376,   510,   514,     0, 
     1225     536,     0,    18,   410,     0,     0,   274,   267,     0,     0, 
     1226       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1227       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1228       0,     0,     0,     0,     0,   573,   574,   572,     0,   575, 
     1229       0,     0,   237,     0,     0,     0,     0,     0,     0,     0, 
     1230       0,     0,     0,     0,     0,     0,     0,     0,   298,     0, 
     1231       0,     0,   272,   273,   532,   344,   309,   307,   307,   335, 
     1232     338,   336,   342,     0,   226,     0,     0,   143,   142,   141, 
     1233     139,     0,     0,    30,   428,     0,   417,   437,     0,   591, 
     1234     594,   589,   525,   526,     0,   304,     0,   522,   524,   541, 
     1235     378,   332,   237,   304,   592,   594,   596,     0,    59,    66, 
     1236      67,    70,    65,    71,    68,    73,    74,    75,    76,    77, 
     1237      72,    78,    79,    80,    81,    82,    83,    84,    85,    86, 
     1238      87,    69,    88,    89,    60,     0,   132,     0,    98,     0, 
     1239       0,     0,     0,   202,   196,   201,   172,   129,     0,     0, 
     1240       0,     0,   129,     0,     0,   156,    10,    14,    15,    33, 
     1241      33,     0,     0,     0,   117,   156,     0,   120,   115,   134, 
     1242     156,   226,   226,   156,   153,     0,   147,   210,   212,   226, 
     1243     214,     0,   216,   217,   218,   219,   220,     0,   208,   211, 
     1244      33,     0,   102,   226,   174,     0,   328,     0,   203,   332, 
     1245       0,   192,   194,     0,   226,     0,   401,   438,     0,   444, 
     1246       0,     0,   463,     0,   494,   495,     0,   493,     0,   506, 
     1247       0,   500,   504,   551,   552,   554,   553,   557,   556,   555, 
     1248       0,   524,     0,   569,   569,   569,   512,   511,   562,     0, 
     1249     513,     0,     0,     0,     0,     0,   549,   405,   467,     0, 
     1250     242,     0,     0,     0,   241,   248,   245,     0,     0,     0, 
     1251       0,     0,     0,     0,     0,     0,     0,     0,     0,   262, 
     1252       0,   264,     0,     0,     0,   237,     0,     0,     0,     0, 
     1253     314,     0,     0,   240,     0,     0,   303,   297,   292,   282, 
     1254     293,   294,   295,   291,   281,   289,   290,   283,   288,   277, 
     1255     278,   279,     0,     0,   299,   296,   280,     0,   285,     0, 
     1256     284,     0,     0,   315,     0,     0,     0,    95,    96,    94, 
     1257      58,     0,     0,     0,     0,   436,     0,     0,     0,     0, 
     1258     530,   531,   307,   226,     0,   516,   518,   520,   517,     0, 
     1259       0,     0,   387,     0,   155,     0,    91,     0,   163,    44, 
     1260     197,     0,   112,     0,   130,     0,     0,   108,   121,   123, 
     1261       0,     0,     0,   156,   431,     0,    25,    23,   160,    47, 
     1262     159,   119,   231,   235,     0,   228,   230,   236,     0,   187, 
     1263     187,     0,   152,   213,     0,     0,   207,   103,   226,   187, 
     1264       0,     0,   203,   176,     0,   179,     0,   193,   490,     0, 
     1265       0,   353,   357,   396,   409,   407,   408,   403,     0,   406, 
     1266     419,   441,   481,   422,   439,   440,     0,   448,   445,     0, 
     1267     473,     0,   468,   470,   464,   461,   418,   489,   507,   498, 
     1268       0,   558,   542,     0,   570,   566,   564,   567,     0,   515, 
     1269     550,   546,   547,   548,   545,   397,   268,   243,   244,   247, 
     1270     251,   252,   253,   254,   255,   250,   256,   257,   258,   259, 
     1271     260,   261,   263,   265,   266,   246,     0,     0,     0,   576, 
     1272     577,   580,   581,   578,   579,   249,   237,   302,   300,   301, 
     1273     287,   286,   313,   344,   327,   319,   316,   317,   320,   310, 
     1274     312,   226,   145,   144,     0,     0,   453,     0,   460,     0, 
     1275       0,     0,   590,   380,     0,     0,   532,   527,   523,   593, 
     1276     381,   597,    90,    99,     0,   109,   129,   129,   129,   129, 
     1277     129,   124,   122,     0,     0,   110,     0,     0,   427,    42, 
     1278      41,    34,     0,    39,    36,    27,   116,   233,     0,   227, 
     1279     232,   133,     0,   136,   137,   148,   222,   223,   221,     0, 
     1280     209,   187,   348,   175,   203,   177,     0,   195,     0,     0, 
     1281       0,     0,     0,     0,   400,   420,   442,     0,   456,   446, 
     1282       0,   449,     0,   418,     0,   480,     0,   474,   476,   469, 
     1283     471,   465,   226,   505,     0,   569,   571,   563,   328,     0, 
     1284       0,     0,   351,     0,     0,   325,   326,     0,   311,    97, 
     1285       0,     0,     0,   435,     0,     0,   529,     0,    92,   113, 
     1286     125,   126,   127,   128,     0,     0,   466,     0,     0,    35, 
     1287       0,    24,   229,   234,   236,     0,   188,   189,   215,   348, 
     1288       0,     0,   166,   178,   204,   363,   354,   355,   360,   359, 
     1289     358,     0,   413,   415,     0,   398,   399,     0,   457,   458, 
     1290     450,   443,   418,   447,   478,     0,   472,   477,   226,     0, 
     1291     565,   582,   583,   584,   343,   324,     0,   321,   318,     0, 
     1292       0,     0,   433,   595,   528,     0,   129,   452,    40,    37, 
     1293       0,     0,   167,   349,   350,     0,     0,   411,   414,   416, 
     1294     399,   402,     0,   459,   451,   475,   479,   491,   568,   323, 
     1295       0,   587,     0,     0,     0,     0,     0,    38,   190,   362, 
     1296     361,   412,   404,   454,   322,   434,   585,   111,   455,     0, 
     1297     586 
    14111298}; 
    14121299 
     
    14141301static const yytype_int16 yydefgoto[] = 
    14151302{ 
    1416       -1,     1,    11,    93,    94,    95,   259,    12,   260,    13, 
    1417       18,    15,    96,    97,   147,    14,    98,   265,   693,   907, 
    1418      833,   834,    99,   255,   477,   478,   245,   208,   209,   426, 
    1419      481,   215,   293,   294,   100,   101,   272,   698,   102,   103, 
    1420      277,   273,   699,   700,   104,   105,   280,   106,   107,   108, 
    1421      109,   110,   432,   111,   112,   287,   288,   242,   275,   269, 
    1422      270,   113,   252,   114,   530,   295,   529,   115,   116,   302, 
    1423      539,   117,   118,   119,   853,   918,   305,   542,   299,   540, 
    1424      732,   296,   523,   524,   859,   525,   503,   710,   711,   712, 
    1425      355,   190,   356,   191,   192,   411,   653,   635,   193,   661, 
    1426      194,   195,   196,   197,   663,   811,   812,   813,   198,   199, 
    1427      200,   420,   415,   212,   206,   956,   957,   201,   121,   122, 
    1428      310,   738,   739,   927,   928,   123,   124,   125,   126,   127, 
    1429      202,   128,   551,   316,   222,   228,   129,   130,   131,   308, 
    1430      132,   133,   321,   134,   324,   559,   135,   136,   560,   561, 
    1431      137,   138,   580,   341,   585,   328,   235,   566,   567,   139, 
    1432      343,   140,   141,   344,   569,   346,   581,   582,   583,   757, 
    1433      386,   387,   388,   889,   225,   142,   441,   442,   443,   449, 
    1434      677,   451,   143,   552 
     1303      -1,     1,    70,    71,    72,    73,   250,    74,   865,    75, 
     1304     205,   129,   127,   696,   951,   862,   863,    76,   237,   463, 
     1305     464,   228,   189,   190,   403,   467,   196,   281,   282,    77, 
     1306      78,   246,   247,   681,    79,    80,   267,   248,   682,   683, 
     1307      81,    82,    83,    84,    85,   409,    86,    87,   275,   276, 
     1308     225,   206,   261,   262,    88,   233,    89,   283,   522,    90, 
     1309     287,   527,    91,    92,   873,   956,   290,   531,   242,   528, 
     1310     725,   284,   517,   518,   879,   519,   497,   704,   705,   706, 
     1311     337,   175,   338,   176,   177,   392,   635,   617,   178,   643, 
     1312     179,   180,   181,   182,   645,   816,   817,   818,   183,   184, 
     1313     185,   401,   396,   193,   186,   962,   187,    94,    95,   731, 
     1314     732,   967,   968,   740,    97,    98,   734,    99,   100,   536, 
     1315     737,   892,   101,   738,   739,   334,   893,   974,   975,   655, 
     1316     537,   102,   103,   104,   105,   106,   207,   418,   538,   743, 
     1317     744,   107,   747,   748,   900,   901,   108,   749,   902,   981, 
     1318     109,   110,   541,   542,   111,   543,   755,   752,   906,   907, 
     1319     908,   745,   112,   113,   114,   115,   116,   211,   291,   117, 
     1320     118,   303,   119,   306,   550,   120,   121,   551,   552,   122, 
     1321     566,   326,   570,   214,   218,   426,   427,   546,   123,   328, 
     1322     124,   428,   429,   331,   567,   568,   765,   368,   369,   854, 
     1323     125,   420,   421,   435,   658,   437 
    14351324}; 
    14361325 
    14371326/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 
    14381327   STATE-NUM.  */ 
    1439 #define YYPACT_NINF -711 
     1328#define YYPACT_NINF -845 
    14401329static const yytype_int16 yypact[] = 
    14411330{ 
    1442     -711,   923,  -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711, 
    1443     -711,  -711,   -98,  5724,  -711,  -711,  -711,  -711,  -711,  -711, 
    1444     -711,   -51,  -711,   -47,  -711,  -711,  4731,    54,  2666,    70, 
    1445      115,  -711,  4731,    34,    40,  2666,   117,  -711,   -63,  -711, 
    1446        7,  4731,  -711,  -711,   -39,    66,   -63,  -711,   137,  -711, 
    1447     -711,  -711,  -711,  -711,   184,   141,   170,  -711,  -711,   199, 
    1448      199,   155,  -711,   175,  -711,  -711,    37,  -711,  -711,    92, 
    1449      -63,   -63,  -711,   129,  -711,  -711,   116,  -711,   -63,  -711, 
    1450     -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711, 
    1451     -711,  -711,  -711,   217,  -711,  -711,    31,  -711,    96,  -711, 
    1452      -64,   187,    97,   156,  -711,   149,  -711,   384,   390,  -711, 
    1453     -711,   395,   165,  -711,  -711,    91,   -15,    80,   125,   372, 
    1454      416,  -711,   253,   -98,   -63,  -711,   -63,   -63,  -711,   247, 
    1455     4731,  -711,    24,   434,  -711,   267,   278,  2666,  -711,   270, 
    1456     5575,   270,  -711,  2341,  -711,  -711,  -711,  -711,  4731,  4731, 
    1457     -711,  -711,  4731,   276,   279,   280,  4731,  4731,  4731,   285, 
    1458      291,   292,   296,   299,   301,   309,   310,   313,   316,   317, 
    1459      318,  4731,   319,   325,   328,   329,   330,  4859,  -711,  -711, 
    1460      331,  -711,  -711,  -711,  -711,  -711,  -711,  -711,  4731,  2530, 
    1461     -711,  -711,  4731,   304,  -711,   334,   342,  -711,   343,   354, 
    1462      -33,  -711,    43,  4731,  -711,  2530,  -711,   356,   528,  -711, 
    1463     4731,  2530,  -711,   534,  -711,   376,  -711,   376,  -711,  4731, 
    1464     -711,  -711,  -711,  -711,  4731,  -711,  1494,  -711,  -711,  -711, 
    1465     -711,   356,  -711,  -711,  4987,  -711,   356,   356,   376,  2588, 
    1466     -711,   377,   356,  -711,  4731,   544,  -711,  -711,  -711,  -711, 
    1467     -711,  -711,   546,  -711,  -711,   199,  -711,  -711,  5724,  -711, 
    1468      -98,   -51,   -51,  -711,  -711,  -711,  -711,   557,   394,   561, 
    1469     -711,    21,    33,   144,   397,   139,   388,  -711,   397,   356, 
    1470     -711,   139,  -711,   399,   402,   139,   388,   571,  -711,   407, 
    1471      733,   575,  -711,  -711,   -51,   572,  -711,  3067,  -711,   401, 
    1472      215,  3963,  -711,  5115,   -15,  -711,   425,  -711,   388,  -711, 
    1473      601,  -711,  -711,  -711,  -711,   384,   356,  2530,  4731,  4731, 
    1474      356,  -711,   429,  4091,  -711,  -711,  -711,  5430,  -711,  -711, 
    1475     -711,  -711,  4731,  4731,  4731,  4731,   610,  5430,  -711,   304, 
    1476      354,  -711,  1098,   616,   588,   618,  5621,  4859,  -711,   441, 
    1477      443,  -711,  -711,  1515,   670,  2530,    27,  4731,  4731,  4731, 
    1478       36,  1550,    45,  4731,  4731,  4731,  4731,  4731,  4731,  4731, 
    1479     4731,  4731,  4731,  4731,  4731,  1572,  4731,  4731,  4731,  4731, 
    1480     4731,  4859,  2530,  1594,   782,  -711,   500,   630,   631,  4731, 
    1481     1615,   633,  3451,  4731,  4731,  4731,  4731,  4731,  4731,  4731, 
    1482     4731,  4731,  4731,  4731,  4731,  4731,  4731,  3195,  4731,  3579, 
    1483     3707,  -711,   128,   356,  4731,  -711,  -711,  -711,  -711,  -711, 
    1484     -711,  -711,  4731,  4731,  -711,  1637,    48,   388,    70,  1697, 
    1485     -711,  -711,   641,   641,  1819,  1173,  -711,   304,   -24,    -1, 
    1486      457,   647,  -711,  -711,   471,   472,   151,    -1,  -711,   650, 
    1487     -711,    62,   641,  -711,  -711,  -711,  -711,  -711,  -711,  -711, 
    1488     -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711, 
    1489     -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711,   651,   634, 
    1490     -711,    71,  2530,   476,   488,   -63,  -711,  -711,   480,   480, 
    1491     -711,  4731,    72,   394,   314,  4731,  -711,   491,   495,   314, 
    1492     -711,   384,  2538,  -711,  -711,  -711,   384,   388,   388,   384, 
    1493     -711,   407,   571,  -711,  -711,   388,  -711,   486,  -711,  -711, 
    1494     -711,  -711,  -711,   358,  -711,  -711,  -711,   480,  -711,  -711, 
    1495      497,  4219,  -711,  -711,  2530,  -711,  -711,  3963,  3323,   487, 
    1496      665,  4347,  -711,  2530,   489,  -711,   388,    23,  -711,  -711, 
    1497     -711,  -711,   667,  2530,  2530,  -711,  -711,   498,  2530,   493, 
    1498      672,  -711,  -711,  -711,  5621,  3835,    75,  -711,   119,  -711, 
    1499     2530,  2530,  2530,  2530,  4731,   530,  5850,  2530,   304,  1840, 
    1500     -711,   674,  2530,  -711,  5850,  -711,  5621,  5621,  5621,  5621, 
    1501     5621,   654,  -711,   356,   356,  2666,  4731,  -711,    84,    85, 
    1502     1879,  -711,  -711,  -711,  1900,  1921,  1942,  1963,  2006,  2027, 
    1503     2145,  2209,  2230,  2251,  2272,  2293,  -711,    86,    88,    89, 
    1504       90,    98,  2327,   678,   687,   693,  4859,  -711,  4859,  4859, 
    1505       99,  -711,  4731,  4731,  2530,  -711,   710,   710,   569,   569, 
    1506      670,   814,   814,   814,   814,   814,   814,   133,   133,   128, 
    1507     4731,  4731,  2530,  -711,   128,  4731,   814,  4731,   814,   304, 
    1508      695,  2811,   517,   520,  2530,  2530,  -711,   356,  -711,  -711, 
    1509     -711,  -711,   532,   619,  4731,  2811,   -49,   526,  -711,  -711, 
    1510     -711,   -49,   527,   356,  -711,  2588,  -711,  4731,  -711,  4731, 
    1511     -711,  -711,    67,  -711,   681,  2530,  -711,  -711,   689,    50, 
    1512      716,  -711,  2348,   691,   538,  -711,   705,   397,  4731,  -711, 
    1513      105,  -711,  -711,  1384,   356,   707,   707,   407,  -711,  -711, 
    1514      287,   733,   732,  -711,   568,   388,  -711,   558,  4219,   665, 
    1515     -711,   570,  -711,   560,  -711,  -711,   738,   617,   741,  -711, 
    1516     4731,   388,  -711,  -711,  4091,   536,  -711,  -711,  2811,   519, 
    1517     5430,  -711,  -711,  2530,   727,   106,  -711,  2530,  2530,  5850, 
    1518     2530,   674,   574,   654,   654,   654,   406,   647,   650,  -711, 
    1519     2530,  -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711, 
    1520     -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711, 
    1521     -711,  -711,  5243,  5243,  5243,  2530,  -711,  2530,  -711,  2530, 
    1522     -711,  -711,   573,   814,   814,   128,   814,   814,  4731,  2939, 
    1523     1406,   745,  -711,  -711,   334,  -711,   388,  -711,  -711,  2475, 
    1524      107,   744,  -711,  -711,  -711,  -711,  -711,  -711,  2530,   109, 
    1525     -711,  -711,  -711,   110,  -711,   577,  -711,   314,   314,   314, 
    1526      314,   314,   354,  -711,   314,  -711,  -711,  2530,  2538,  -711, 
    1527     4475,  -711,  5371,  -711,  -711,   571,  -711,  -711,  -711,   579, 
    1528     -711,  -711,   388,   707,  -711,   665,  -711,  4219,  -711,   -50, 
    1529      581,   582,  1196,   388,  -711,  -711,  1362,   580,   356,  -711, 
    1530     -711,   588,  5891,  2530,  -711,  -711,   583,   584,   747,   585, 
    1531      590,   591,  -711,   592,  4731,  1428,  4731,  2811,  -711,  -711, 
    1532      754,  -711,   356,  -711,    26,  -711,    93,  -711,  -711,    29, 
    1533       29,   586,   113,   737,  -711,  -711,  2530,  4603,  -711,  2530, 
    1534     -711,   707,    64,  -711,  -711,   649,  -711,   770,  -711,  -711, 
    1535     -711,  4731,  -711,  -711,   457,   596,  2530,  -711,  -711,  4731, 
    1536     -711,  -711,  -711,  -711,  2530,  4731,  1471,  -711,  4731,  -711, 
    1537     -711,  -711,   111,  -711,   597,    64,  -711,   162,   609,   611, 
    1538     1282,  -711,  1305,  2530,  4731,  2530,  -711,  -711,  -711,  4731, 
    1539     4731,  -711,  -711,  4731,  4731,  2530,  2530,  2530,  2530,  1328, 
    1540     4731,  2530 
     1331    -845,   967,  -845,  -845,  -845,  -845,   -22,    45,  -845,    94, 
     1332     186,  3621,   199,   238,  -845,  4658,    16,    36,  3621,  -845, 
     1333     369,   256,    56,  -845,   299,   280,   268,  -845,  -845,  -845, 
     1334     306,  -845,  -845,   409,   311,   350,  -845,   357,   357,   119, 
     1335     354,  -845,  -845,    53,  -845,  -845,   420,  -845,   386,  -845, 
     1336    -845,  5758,   363,   274,   280,  -845,  -845,  -845,  -845,  -845, 
     1337    -845,  -845,  -845,  -845,   237,  -845,  -845,   549,  -845,  -845, 
     1338    -845,   122,   563,  -845,   440,  -845,  -845,   319,   433,   436, 
     1339     159,   495,   622,   624,  -845,  -845,   523,   329,  -845,  -845, 
     1340     398,   102,   163,  -845,  -845,   471,  -845,  -845,  -845,  -845, 
     1341    -845,   215,  -845,  -845,   215,  -845,  -845,  -845,   215,  -845, 
     1342    -845,   215,  -845,   280,  -845,   280,   280,    20,   630,  -845, 
     1343     472,    44,  3621,   306,  5477,  -845,  -845,  -845,  -845,  -845, 
     1344    4658,  4658,  4658,  -845,  -845,  4658,   473,   474,   477,  -845, 
     1345    4658,  4658,  4658,   478,   484,   486,   487,   488,   494,   496, 
     1346     497,   498,   499,   500,   501,  4658,   505,  4658,   507,   508, 
     1347     511,  4767,  -845,  -845,  -845,   512,  -845,  -845,  -845,  -845, 
     1348    -845,  -845,  4658,  -845,  2490,  -845,  -845,  4658,   470,  -845, 
     1349     513,   515,  -845,   516,   522,   270,  -845,  -845,   524,   654, 
     1350    -845,  4658,  2490,  -845,  -845,  -845,   277,  -845,   277,  -845, 
     1351    -845,  4658,  4658,  -845,  -845,   110,   326,  -845,  -845,  -845, 
     1352    -845,  -845,   524,  5347,  4767,  -845,  -845,  4876,  -845,   524, 
     1353     524,   277,  2573,  -845,   527,   524,  -845,  4658,   665,  -845, 
     1354    -845,  -845,  -845,   680,   563,  -845,  -845,   357,  -845,  -845, 
     1355    2967,  -845,   526,  -845,    88,   524,    32,  -845,   384,    82, 
     1356    -845,  -845,  -845,  -845,  5621,    45,    45,  -845,  -845,   687, 
     1357     533,   691,  -845,  -845,   535,   442,   534,  -845,   535,   524, 
     1358     442,   537,   539,   442,   534,   699,  -845,   545,   847,  -845, 
     1359    -845,  -845,    45,   714,   564,   434,  3874,  -845,  4985,   274, 
     1360    -845,   534,   727,   122,   122,   122,   258,  -845,  -845,  -845, 
     1361    4658,  4658,  -845,  -845,   571,  3983,  -845,  -845,  -845,  -845, 
     1362    -845,  -845,  -845,  -845,  4658,  4658,  4658,  4658,  4658,  4658, 
     1363    4658,   726,  5347,  -845,   470,   522,  -845,  1249,   730,   555, 
     1364     561,  5523,  -845,  2490,   572,  1332,   875,  2490,    38,  4658, 
     1365    4658,  4658,    48,  1353,    61,  4658,  4658,  4658,  4658,  4658, 
     1366    4658,  4658,  4658,  4658,  4658,  4658,  4658,  1514,  4658,    68, 
     1367    4658,  4658,  4658,  4767,  2490,  1533,   753,  1552,   278,   731, 
     1368    4658,  1616,   733,  3294,  4658,  4658,  4658,  4658,  4658,  4658, 
     1369    4658,  4658,  4658,  4658,  4658,  4658,  4658,  4658,  3076,  4658, 
     1370    3403,  3512,  -845,   185,  -845,  4658,  -845,  -845,  -845,  -845, 
     1371    -845,  -845,  -845,    69,   534,   199,  1635,  -845,  -845,   734, 
     1372     734,  1129,  1713,  -845,  -845,   576,  -845,  -845,   736,   470, 
     1373     739,  -845,  -845,  -845,  5523,  3765,    79,  -845,   555,  -845, 
     1374     740,   581,   582,   439,  -845,   743,  -845,   105,   734,  -845, 
     1375    -845,  -845,  -845,  -845,  -845,  -845,  -845,  -845,  -845,  -845, 
     1376    -845,  -845,  -845,  -845,  -845,  -845,  -845,  -845,  -845,  -845, 
     1377    -845,  -845,  -845,  -845,   744,   717,  -845,   106,  2490,   588, 
     1378     591,   280,  4092,  -845,  -845,  2490,  -845,   598,  4658,    31, 
     1379     237,   594,   598,   595,   602,   125,  -845,  -845,  -845,   609, 
     1380     609,  4658,   109,   533,  -845,   622,  2531,  -845,  -845,  -845, 
     1381     622,   534,   534,   622,  -845,   545,   699,  -845,  -845,   534, 
     1382    -845,   615,  -845,  -845,  -845,  -845,  -845,   123,  -845,  -845, 
     1383     609,   618,  -845,   534,  -845,  3874,  3185,   585,   750,    34, 
     1384    4201,  -845,  2490,   592,   534,    80,  4331,  5955,    78,  5879, 
     1385      13,    85,  -845,   215,  2490,  2490,   524,  -845,   619,  2490, 
     1386     616,   778,  -845,  2490,  2490,  2490,  2490,  2490,  2490,  2490, 
     1387    4658,   337,  1249,  2490,   706,  1732,  -845,   779,  -845,  1249, 
     1388    -845,  5523,  5523,  5523,  5523,  5523,   760,  4658,  -845,  4658, 
     1389    -845,   111,   115,  1751,  -845,  -845,  -845,  1796,  1815,  1834, 
     1390    1912,  1931,  1995,  2014,  2033,  2092,  2111,  2130,  2194,  -845, 
     1391     121,  -845,   130,   136,   149,   781,   785,   786,  4767,  4767, 
     1392    -845,  4767,   150,  -845,  4658,  4658,  2490,  -845,   542,   542, 
     1393     806,   806,   875,   887,   887,   887,   887,   887,   887,   164, 
     1394     164,   185,  4658,  4658,  2490,  -845,   185,  4658,   887,  4658, 
     1395     887,   524,   787,  2640,   627,   629,   524,  -845,  -845,  -845, 
     1396    -845,   295,  4658,  6031,  4658,  -845,  4658,    19,   631,   337, 
     1397    -845,  -845,  2640,    83,  5347,  -845,  -845,  -845,  -845,    19, 
     1398     632,   524,  -845,  2573,  -845,  4658,  -845,  4658,  -845,  -845, 
     1399    -845,   771,    42,   547,  -845,  2213,   636,  -845,   637,  -845, 
     1400     776,  4658,  4658,   135,  -845,   242,  -845,   774,  2490,  -845, 
     1401    -845,   535,  4658,  -845,   151,  -845,  -845,  1253,   524,   780, 
     1402     780,   545,  -845,  -845,   476,   847,  -845,  -845,   534,   780, 
     1403     641,  4092,   750,  -845,   645,  -845,   644,  -845,  -845,   804, 
     1404     688,   809,  -845,  2490,  -845,  -845,  -845,   773,   215,  -845, 
     1405     215,   653,  -845,  -845,  -845,  -845,   652,   536,  -845,   215, 
     1406    -845,  2749,   655,   664,  -845,  -845,   122,  -845,  -845,  -845, 
     1407    3983,  2490,  -845,   152,  -845,  2490,  2490,  2490,  1249,   779, 
     1408     570,   760,   760,   760,   593,  -845,  2490,  -845,  -845,  -845, 
     1409    -845,  -845,  -845,  -845,  -845,  -845,  -845,  -845,  -845,  -845, 
     1410    -845,  -845,  -845,  -845,  -845,  -845,  5094,  5094,  5094,  2490, 
     1411    -845,  2490,  -845,  2490,  -845,  -845,   667,   887,   887,   185, 
     1412     887,   887,   470,  4658,  2858,  1415,   828,  -845,  -845,   513, 
     1413    -845,   534,  -845,  -845,  2291,   670,  -845,   671,  -845,  2310, 
     1414    1150,   829,  -845,  -845,  1233,   672,  -845,  -845,  -845,  -845, 
     1415    -845,  -845,  -845,  2490,   153,  -845,   598,   598,   598,   598, 
     1416     598,   522,  -845,   832,   676,  -845,  2329,  2374,  -845,  -845, 
     1417    -845,  -845,   154,  -845,   678,  -845,  -845,  2490,  2531,  -845, 
     1418    4440,  -845,  5203,  -845,  -845,   699,  -845,  -845,  -845,   679, 
     1419    -845,   780,   231,  -845,   750,  -845,  4092,  -845,   291,   681, 
     1420     683,  4658,   586,   215,   122,   122,  -845,  4658,   685,  -845, 
     1421     454,  -845,   215,   122,  4658,  2490,   155,  -845,   842,  -845, 
     1422    -845,  5955,   534,  -845,  1831,  2490,  -845,  -845,   832,   684, 
     1423     686,   689,  -845,   690,  4658,  1435,  4658,  2640,  -845,  -845, 
     1424     845,  4658,  4658,  -845,  4658,   524,  -845,   524,  -845,  -845, 
     1425      66,    66,   693,   143,  4658,   833,  -845,   768,    60,  -845, 
     1426     259,  -845,  -845,  -845,  2490,  4549,  -845,  2490,  -845,   231, 
     1427    4658,  4658,  -845,  -845,  -845,   729,  -845,   851,  -845,  -845, 
     1428    -845,   695,   696,   702,   215,  -845,   122,  2393,  -845,   703, 
     1429    -845,  -845,   122,  5955,  -845,  2749,  -845,  4658,   534,   701, 
     1430    2490,  -845,  -845,  -845,  -845,  2490,  4658,  1455,  -845,  4658, 
     1431     704,  2412,  1171,   470,   697,  1192,   598,  -845,  -845,  -845, 
     1432     157,   705,  -845,  2490,  2490,   709,   713,   716,  -845,  -845, 
     1433     122,  4331,   784,  -845,  5955,  -845,  -845,  -845,  -845,  2490, 
     1434    4658,  2490,  4658,  6107,  4658,  4658,   855,  -845,  -845,  -845, 
     1435    -845,  -845,  4331,   719,  2490,  2490,  1213,  -845,  -845,  4658, 
     1436    2490 
    15411437}; 
    15421438 
     
    15441440static const yytype_int16 yypgoto[] = 
    15451441{ 
    1546     -711,  -711,  -711,  -711,   523,  -711,    30,  -711,   774,  -711, 
    1547      -66,   772,  -711,  -711,    65,     6,  -711,  -711,  -430,  -711, 
    1548     -118,  -110,  -711,  -711,   123,  -711,  -711,  -711,   373,  -711, 
    1549      120,     1,  -711,  -711,  -711,  -711,  -711,  -480,  -711,  -711, 
    1550     -264,   312,  -439,  -711,  -711,  -711,  -711,  -711,  -711,  -711, 
    1551     -711,  -711,   -68,  -711,  -711,  -276,   300,   -35,   -85,   548, 
    1552      324,  -711,  -711,  -711,   274,  -711,  -711,  -711,  -711,  -711, 
    1553      281,  -711,  -711,  -711,  -699,  -711,  -711,  -711,   515,  -290, 
    1554     -666,  -711,  -711,   100,  -711,   749,  -104,  -711,   -25,   -17, 
    1555      -26,  -136,    56,  -176,  -432,  -497,  -711,  -711,  -103,  -711, 
    1556     -711,  -711,  -204,  -711,   404,   159,   -57,    95,    -5,   -70, 
    1557     -711,  -711,  -197,  -398,   -30,  -108,  -711,  -166,  -711,  -711, 
    1558     -711,  -711,   -23,  -711,  -105,  -711,  -711,  -711,  -711,  -711, 
    1559     -711,  -711,  -711,  -711,   -28,  -711,  -711,  -711,   708,   302, 
    1560     -208,  -711,  -711,  -711,  -711,  -711,  -711,  -711,  -711,   118, 
    1561     -711,  -711,  -711,  -711,  -711,   277,  -711,  -711,   114,  -711, 
    1562     -711,  -711,  -711,  -306,   720,  -263,  -226,  -711,  -673,  -554, 
    1563      514,   482,  -326,  -710,   308,  -711,   273,  -202,  -711,   275, 
    1564     -416,  -711,  -711,  -711 
     1442    -845,  -845,  -845,   -96,   830,   628,   -26,  -845,  -845,  -845, 
     1443     399,   156,  -845,   -94,  -845,   -67,   -63,  -845,  -845,   232, 
     1444    -845,  -845,  -845,   509,  -845,   234,    30,  -845,  -845,  -845, 
     1445    -845,  -845,   444,  -464,  -845,  -845,  -238,   438,  -242,  -845, 
     1446    -845,  -845,  -845,  -845,  -845,   -47,  -845,  -845,  -263,   417, 
     1447     -27,   -50,   668,   437,  -845,  -845,  -845,  -845,  -845,  -845, 
     1448    -845,   404,  -845,  -845,  -671,  -845,  -845,  -845,   642,  -231, 
     1449    -656,  -845,  -845,   217,  -845,   882,  -236,  -845,    67,    70, 
     1450     -11,   -78,    55,  -144,  -458,  -507,  -845,  -845,   -97,  -845, 
     1451    -845,  -845,  -845,  -845,   540,  -845,     9,   279,     1,   -70, 
     1452    -845,  -845,  -182,  -382,   365,   -20,  -128,  -845,  -845,  -845, 
     1453      52,  -845,   -73,    43,  -845,  -630,  -845,  -515,  -514,  -844, 
     1454    -845,  -845,  -845,  -845,  -566,  -718,  -845,  -845,  -845,  -845, 
     1455    -294,  -845,  -845,  -845,  -845,  -845,  -185,  -845,  -845,  -845, 
     1456    -845,  -845,  -845,  -663,  -845,  -845,  -845,  -845,  -845,  -845, 
     1457    -845,  -845,  -845,   405,  -845,  -845,  -845,  -845,  -845,   -40, 
     1458    -787,  -845,  -845,  -845,  -845,  -845,  -845,   -38,   190,    11, 
     1459    -845,  -845,  -845,  -845,  -845,  -845,  -845,  -845,   191,  -845, 
     1460    -845,  -845,  -845,   506,  -845,  -845,   288,  -384,  -845,  -845, 
     1461    -845,   -39,   834,  -250,  -126,  -699,  -522,  -140,  -287,  -465, 
     1462    -845,  -845,  -213,  -845,   519,  -845 
    15651463}; 
    15661464 
    15671465/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If 
    15681466   positive, shift that token.  If negative, reduce the rule which 
    1569    number is the opposite.  If zero, do what YYDEFACT says. 
    1570    If YYTABLE_NINF, syntax error.  */ 
    1571 #define YYTABLE_NINF -511 
     1467   number is the opposite.  If YYTABLE_NINF, syntax error.  */ 
     1468#define YYTABLE_NINF -542 
    15721469static const yytype_int16 yytable[] = 
    15731470{ 
    1574      189,   384,   205,   421,   338,   218,   211,   533,   120,   205, 
    1575      500,   385,   391,   512,   504,   226,   660,   854,   230,   706, 
    1576      281,   568,   283,   440,   145,   758,   285,   438,   760,   318, 
    1577      596,   575,   438,   682,   448,   217,   282,   339,   213,   596, 
    1578      591,   383,   249,   250,   213,   494,   422,   423,   596,   830, 
    1579      257,   667,   840,   837,   736,   625,   243,   311,   445,   694, 
    1580      238,   239,   701,   866,   261,   683,   262,   701,   278,  -361, 
    1581      340,   838,   839,   840,   687,   493,   821,   289,   750,    17, 
    1582      756,   590,   756,   890,   891,   756,   885,   596,   596,   596, 
    1583      830,   596,   596,   596,   290,   291,   312,   723,   313,   314, 
    1584      274,   596,   596,   300,   317,   267,   220,   326,   848,   882, 
    1585      897,   205,   687,   904,   904,   268,   830,  -164,   146,   925, 
    1586       91,  -164,   353,   354,   221,   419,   292,   263,   437,   266, 
    1587      227,   361,   148,   437,   838,   839,   840,   926,   351,   586, 
    1588      329,   330,   587,   588,   589,   375,   414,   498,   303,   433, 
    1589      319,   382,   279,   408,   297,   416,   406,   407,   408,   240, 
    1590      246,   298,   390,   241,   922,  -315,   412,   969,   499,  -164, 
    1591      452,   384,   935,  -164,   247,   240,   240,   425,   675,   241, 
    1592      241,   385,   510,   223,   429,   240,   224,   497,  -314,   241, 
    1593     -361,   338,   737,   434,   487,   831,   253,   254,   435,   923, 
    1594      495,   338,   427,   213,   546,   623,   577,   597,   382,   885, 
    1595      338,   383,   360,   320,   362,   385,   601,   841,   482,   248, 
    1596      496,   214,   955,   424,   339,   603,   439,   216,   668,   446, 
    1597      549,   447,   450,   203,   339,   229,   831,   480,   841,   578, 
    1598      501,   726,   684,   339,   258,   383,   506,   832,   729,   207, 
    1599      509,   688,   696,   120,   264,   751,   485,   340,   745,   301, 
    1600      884,   884,   831,   884,   771,   772,   786,   340,   787,   788, 
    1601      789,   534,   579,   951,   505,   534,   340,   543,   790,   801, 
    1602      762,   763,   764,   765,   766,   849,   883,   901,   970,   903, 
    1603      905,   966,   553,   554,   210,   490,   219,   558,   251,   752, 
    1604      796,   841,   798,   800,   304,   590,   570,   571,   572,   573, 
    1605      659,   550,   590,   409,   410,   555,   231,   548,   409,   410, 
    1606      236,   382,   565,   669,    91,   276,   488,   489,   590,   936, 
    1607      417,   680,   565,   600,   286,   150,   151,   604,   605,   606, 
    1608      607,   608,   609,   610,   611,   612,   613,   614,   615,   237, 
    1609      755,   886,   887,   232,   244,   622,   271,   908,   761,   527, 
    1610      233,   721,   722,   234,   913,   391,   634,   636,   637,   638, 
    1611      639,   640,   641,   642,   643,   644,   645,   646,   647,   648, 
    1612      649,   652,   654,   656,   658,   440,   756,   282,   211,   438, 
    1613      438,   536,   448,   284,   537,   306,   664,   665,   282,   909, 
    1614      910,   911,   912,   715,   716,   701,   701,   701,   701,   701, 
    1615      893,   719,   701,   598,   599,  -164,   707,   342,   347,  -164, 
    1616      307,   714,   309,   315,   717,   856,   857,   858,   338,   587, 
    1617      588,   589,   617,   618,   619,   620,   621,   322,   865,   884, 
    1618      577,   855,   735,   846,   881,   630,   323,   325,   577,   327, 
    1619      338,   338,   338,   338,   338,   357,   802,   691,   358,   359, 
    1620      385,   339,   385,   385,   363,   695,   796,   798,   800,   702, 
    1621      364,   365,   438,   578,   822,   366,   713,   438,   367,   824, 
    1622      368,   578,   590,   339,   339,   339,   339,   339,   369,   370, 
    1623      437,   437,   371,   413,   340,   372,   373,   374,   376,   590, 
    1624      590,   590,   590,   590,   377,   534,   579,   378,   379,   380, 
    1625      389,   534,   534,   414,   579,   390,   340,   340,   340,   340, 
    1626      340,   416,   417,   418,   392,    91,   393,   394,   395,   396, 
    1627      397,   428,   398,   399,   400,   401,   402,   403,   430,   749, 
    1628      404,   405,   406,   407,   408,   431,   479,   483,   753,   484, 
    1629      586,   329,   330,   587,   588,   589,   586,   329,   330,   587, 
    1630      588,   589,   491,   267,   493,   769,   276,   502,   507,   205, 
    1631      770,   508,   391,   437,   511,   528,   286,   924,   437,   526, 
    1632      397,   535,   398,   399,   400,   401,   402,   403,   439,   447, 
    1633      404,   405,   406,   407,   408,   329,   330,   587,   588,   589, 
    1634      795,   545,   797,   799,   547,   556,   382,   803,   586,   329, 
    1635      330,   587,   588,   589,   338,   574,   802,   898,   590,   584, 
    1636      593,   863,   594,   577,   804,   805,   385,   385,   385,   806, 
    1637      842,   807,   627,   628,   629,   810,   632,   873,  -490,  -490, 
    1638     -490,  -490,  -490,  -490,   672,   879,   320,   339,   819,   810, 
    1639      676,   678,   679,   681,   685,   689,   578,   690,   686,   692, 
    1640      703,   828,   816,   482,   704,   720,   725,   730,   731,   734, 
    1641      934,   447,   740,   743,   223,   744,   447,   759,   826,   589, 
    1642      340,   792,   847,   398,   399,   400,   401,   402,   403,   579, 
    1643      793,   404,   405,   406,   407,   408,   794,   814,   502,   808, 
    1644      815,   817,   534,   818,   409,   410,   823,   825,   878,   851, 
    1645      754,   835,   899,   836,   872,   844,   875,   495,   558,   395, 
    1646      396,   397,   876,   398,   399,   400,   401,   402,   403,   845, 
    1647      852,   404,   405,   406,   407,   408,   861,   862,   864,   867, 
    1648      868,   391,   869,   870,   871,   565,   577,  -491,   897,   902, 
    1649      929,   737,   939,   892,   409,   410,   906,   948,   921,   920, 
    1650      933,   953,   513,   937,   938,   940,   795,   797,   799,   932, 
    1651      941,   942,   943,   959,   841,   958,   961,   967,   971,   578, 
    1652      925,   486,   211,   895,    16,   626,   144,  -247,   952,  -247, 
    1653     -247,  -247,  -247,  -247,   950,  -247,  -247,  -247,  -247,  -247, 
    1654     -247,   670,   724,  -247,  -247,  -247,  -247,  -247,   827,   829, 
    1655      705,   718,   579,   253,   254,   514,   492,   697,   727,   544, 
    1656      662,   860,   713,   914,   916,   256,   919,  -511,  -511,  -511, 
    1657     -511,  -511,  -511,   915,   820,   404,   405,   406,   407,   408, 
    1658      947,   534,   515,   877,   516,   517,   518,   968,   930,   519, 
    1659      520,   352,   521,   522,   972,   409,   410,   741,   178,   179, 
    1660      345,   592,   874,   624,   880,   742,   767,     0,   944,   768, 
    1661      946,   810,     0,   351,   181,   182,     0,     0,   183,   184, 
    1662      185,   186,     0,     0,     0,     0,     0,     0,     0,     0, 
    1663        0,   390,   187,     0,     0,   409,   410,   949,     0,     0, 
    1664        0,     0,     0,     0,     0,   960,     0,     0,     0,     0, 
    1665        0,     0,     0,   962,     0,     0,     0,     0,     0,   963, 
    1666        0,     0,   965,     2,     3,     0,     0,     0,     0,     0, 
    1667        0,     0,     0,     0,     0,     0,     0,     0,   975,     0, 
    1668        0,     0,     0,   976,   977,     0,     0,   978,   979,     0, 
    1669      -23,     0,   -23,     0,   981,   -23,   -23,   -23,   -23,     4, 
    1670        5,   -23,     0,     0,   -23,   -23,   -23,  -247,  -247,     0, 
    1671        0,   -23,   -23,     0,     0,     0,     6,     7,     0,     0, 
    1672        0,     0,     0,     0,     0,     0,   -23,     0,     0,     0, 
    1673      -23,   -23,     0,     0,     0,   -23,     0,     0,     0,   409, 
    1674      410,   -23,     0,   -23,   -23,     0,   -23,     0,   -23,   -23, 
    1675      -23,   -23,   -23,     0,   -23,   -23,   -23,   -23,   -23,   -23, 
    1676      -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23, 
    1677        0,     0,   -23,   -23,   -23,     0,   -23,   -23,   -23,     0, 
    1678      -23,   -23,   -23,     0,     0,   -23,     0,   -23,     0,     0, 
    1679      -23,   -23,   -23,   -23,     0,     0,   -23,   -23,   -23,     0, 
    1680        0,     0,     0,     0,   -23,     0,     0,     8,   -23,   -23, 
    1681      -23,   -23,   -23,   -23,   -23,     0,   -23,   -23,   -23,   -23, 
    1682      -23,     0,     0,   -23,     0,     0,     0,     0,     0,     0, 
    1683      -23,   -23,   -23,     0,     0,     0,     0,     0,     0,   -23, 
    1684        9,  -510,     0,  -510,     0,  -510,  -510,  -510,  -510,  -510, 
    1685       10,  -510,  -510,  -510,  -510,  -510,  -510,     0,     0,  -510, 
    1686     -510,  -510,  -510,  -510,     0,     0,     0,     0,     0,     0, 
    1687        0,     0,     0,     0,     0,     0,     0,   152,   153,     0, 
    1688        0,     0,   154,   155,   156,   157,     0,     0,     0,     0, 
    1689        0,     0,     0,     0,   158,   159,   160,   161,   162,   163, 
    1690      164,     0,   165,   166,   167,     0,     0,   168,   169,   170, 
    1691        0,   171,   172,   173,   174,   175,   674,   176,   392,     0, 
    1692      393,   394,   395,   396,   397,     0,   398,   399,   400,   401, 
    1693      402,   403,     0,     0,   404,   405,   406,   407,   408,   931, 
    1694        0,   392,     0,   393,   394,   395,   396,   397,     0,   398, 
    1695      399,   400,   401,   402,   403,     0,     0,   404,   405,   406, 
    1696      407,   408,     0,     0,     0,     0,     0,     0,     0,     0, 
     1471     174,   539,    93,   402,   192,   293,   434,   174,   294,   474, 
     1472     641,   775,   295,   642,   506,   296,   243,   366,   690,   684, 
     1473     414,   735,   736,   828,   684,   300,   494,   324,   372,   265, 
     1474     498,   270,   271,   367,   686,   203,   273,  -171,   504,   874, 
     1475     226,   579,   766,   767,    96,   846,   323,   198,   882,   257, 
     1476     258,   579,    93,   268,   325,   534,   764,   764,   764,   203, 
     1477     277,   847,   848,   849,   579,  -171,   885,   221,   222,   917, 
     1478     366,   579,   646,   432,   430,   297,   607,   298,   299,   575, 
     1479    -430,   859,   664,   365,   899,   329,   367,   849,   373,   374, 
     1480     375,   376,   377,   378,    96,   379,   380,   381,   382,   383, 
     1481     384,   332,   385,   386,   387,   388,   389,   729,   671,   675, 
     1482     477,   174,   493,   203,   579,   419,   324,   984,   579,   333, 
     1483     335,   336,   419,   285,   579,   750,   715,   483,   203,   540, 
     1484     343,   126,  1021,   579,  -426,   323,   365,   223,   203,   579, 
     1485     831,   224,   301,   325,   357,   307,   251,   194,   479,  -429, 
     1486     364,   410,   579,   579,   868,   914,   675,   948,   985,  -425, 
     1487     948,   371,   847,   848,   849,  -171,   393,   194,   648,   741, 
     1488     484,   485,   229,   971,   438,   751,  1042,   223,   575,   170, 
     1489     406,   224,   195,   230,   288,   387,   388,   389,   302,   404, 
     1490     411,   412,   753,   742,  -171,   342,   480,   344,  -106,   394, 
     1491    1026,   580,   197,   364,   308,   128,   364,   417,   389,   850, 
     1492     959,   584,   359,  1000,   425,   917,   468,   204,   433,   605, 
     1493     860,   436,  -430,   606,   586,   324,   466,   486,   963,   475, 
     1494     564,   601,   647,   850,   324,   367,   960,   980,   495,     4, 
     1495     730,   680,   665,   500,   323,   496,   503,   390,   391,   563, 
     1496     478,   836,   325,   323,   716,    93,   130,   565,   916,   916, 
     1497     916,   325,   252,   859,   286,   709,   710,   471,   672,   676, 
     1498     499,   413,   699,   713,   777,   475,  -426,   532,   778,   170, 
     1499     859,   609,   251,   561,   792,   365,   204,   719,   253,   544, 
     1500     545,  -429,   576,   793,   549,   722,   413,    96,   728,   794, 
     1501     694,  -425,   540,   553,   554,   555,   556,   557,   558,   559, 
     1502     850,   575,   795,   805,   869,   915,   938,   949,   986,   266, 
     1503    1037,   800,   802,   425,   804,   289,   575,   324,   390,   391, 
     1504     583,   919,   920,   921,   587,   588,   589,   590,   591,   592, 
     1505     593,   594,   595,   596,   597,   598,   323,   223,   131,   390, 
     1506     391,   224,   371,   961,   325,   571,   311,   312,   572,   573, 
     1507     574,   188,   616,   618,   619,   620,   621,   622,   623,   624, 
     1508     625,   626,   627,   628,   629,   630,   631,   634,   636,   638, 
     1509     640,    69,   939,   199,   192,   659,   372,   481,   684,   684, 
     1510     684,   684,   684,   990,   581,   582,   697,   244,   252,   245, 
     1511     191,   278,   860,   828,   610,   861,   482,   239,   764,   575, 
     1512     407,   489,   490,   600,   663,   602,   603,   604,   202,   860, 
     1513     415,   416,  1009,   400,   253,   612,   717,   837,   822,   279, 
     1514     212,   923,   395,   679,   240,   241,   763,   408,   520,   264, 
     1515     209,   235,   236,   769,   832,   701,   210,   756,   875,   989, 
     1516     708,   965,   937,   711,  -156,   823,   839,   966,  -156,   208, 
     1517     223,   475,   911,   866,   224,   564,   775,   685,   213,   255, 
     1518     806,   256,   564,   219,   324,   324,   324,   324,   324,   259, 
     1519     698,   260,   881,   916,   563,   707,   170,   309,   194,   274, 
     1520     884,   563,   565,   323,   323,   323,   323,   323,   269,   565, 
     1521     762,   325,   325,   325,   325,   325,   735,   736,   858,   800, 
     1522     802,   804,   220,  -156,   475,   475,   227,  -156,   372,   371, 
     1523     575,   575,   575,   575,   575,   733,   203,   735,   736,   280, 
     1524     200,   201,   770,   771,   772,   773,   774,   746,    93,   979, 
     1525      93,  -156,  1036,   231,   812,  -156,   232,   757,   684,   761, 
     1526     376,   377,   378,   249,   379,   380,   381,   382,   383,   384, 
     1527     419,   385,   386,   387,   388,   389,   733,   324,   776,   215, 
     1528     216,   217,   419,   571,   311,   312,   572,   573,   574,  -541, 
     1529    -541,  -541,  -541,  -541,  -541,   929,   323,   254,   139,   311, 
     1530     312,   572,   573,   574,   325,   524,   525,   799,   801,   263, 
     1531     803,   398,   668,   364,   807,   940,   941,   942,   943,   983, 
     1532     876,   877,   878,   851,   572,   573,   574,   133,   134,   746, 
     1533     898,   808,   809,   972,   973,   203,   810,   272,   811,   310, 
     1534     327,   292,   815,   304,   305,   339,   340,   928,   394,   341, 
     1535     345,   824,   894,   829,   895,   830,   346,   821,   347,   348, 
     1536     349,   834,   806,   903,    93,   964,   350,   405,   351,   352, 
     1537     353,   354,   355,   356,   843,   425,   468,   358,   469,   360, 
     1538     361,   564,   841,   362,   370,   395,   988,   397,   398,   162, 
     1539     856,   857,   399,   470,   170,   163,   164,   465,  1024,   476, 
     1540     563,   867,   491,   259,   493,   266,   496,   501,   565,   502, 
     1541     166,   167,   505,   168,   169,   274,   390,   391,   171,   871, 
     1542     475,   373,   374,   375,   376,   377,   378,   521,   379,   380, 
     1543     381,   382,   383,   384,   523,   385,   386,   387,   388,   389, 
     1544     535,   560,   547,   569,   611,   577,   614,   651,   654,   674, 
     1545     905,   656,   657,   609,   666,   667,   669,   673,   723,   549, 
     1546     677,   678,  1027,   724,   688,   727,   608,   691,  -237,  -237, 
     1547    -237,  -237,  -237,  -237,   692,  -237,  -237,  -237,  -237,  -237, 
     1548    -237,   695,  -237,  -237,  -237,  -237,  -237,   714,   718,   759, 
     1549     758,   760,   768,   574,   796,   799,   801,   803,   797,   798, 
     1550     819,   813,   820,   845,   833,   840,   853,   976,   855,   478, 
     1551     864,   872,   192,   925,   883,   886,   982,   887,   888,   891, 
     1552     889,   372,   890,   896,   897,   909,   378,   564,   379,   380, 
     1553     381,   382,   383,   384,   910,   385,   386,   387,   388,   389, 
     1554     922,   927,   931,   932,   935,   936,   563,   944,  1003,   945, 
     1555     950,   969,   958,   730,   565,   978,   987,   991,   999,   992, 
     1556    1007,  1015,   993,   994,  1016,  1006,  1018,   707,  1017,   954, 
     1557     850,   957,  1019,  1023,  1028,   302,  1043,  1032,  1038,  1039, 
     1558     390,   391,   507,   965,   394,   475,  1041,  1047,  1020,  1048, 
     1559     333,   234,   488,  1010,   693,  1008,   977,   379,   380,   381, 
     1560     382,   383,   384,   905,   385,   386,   387,   388,   389,  -542, 
     1561    -542,  -542,  -542,  -542,  -542,   842,   385,   386,   387,   388, 
     1562     389,   844,    93,   995,   649,   997,   815,  -237,  -237,   689, 
     1563     333,  1001,   712,  1002,   687,   235,   236,   508,   492,   720, 
     1564     700,   533,   880,  1005,   238,   952,   998,   644,    93,  1012, 
     1565     953,   835,   970,  1040,   371,  1025,   754,   912,  1004,  1013, 
     1566    1014,   913,   838,   509,   670,   510,   511,   512,   330,     0, 
     1567     513,   514,     0,   515,   516,     0,     0,     2,     3,     0, 
     1568     390,   391,     0,     0,   905,     0,   905,     0,     0,     0, 
     1569       0,     0,     0,     0,    93,  1029,     0,     0,  1031,     0, 
     1570       0,     4,     5,     0,     0,     6,   -21,     7,   -21,     8, 
     1571       0,     0,     9,     0,     0,     0,     0,     0,     0,     0, 
     1572     733,     0,    10,     0,     0,     0,     0,     0,     0,  1044, 
     1573       0,   733,     0,  1045,  1046,    93,     0,     0,    11,     0, 
     1574       0,   733,    12,    13,    93,     0,     0,    14,  1050,   390, 
     1575     391,     0,     0,    15,     0,    16,    17,     0,    18,     0, 
     1576       0,   390,   391,    19,    20,    21,    22,    23,     0,    24, 
     1577      25,     0,     0,    26,    27,    28,    29,    30,    31,    32, 
     1578      33,    34,    35,    36,     0,    37,     0,    38,    39,     0, 
     1579       0,    40,    41,    42,     0,    43,     0,    44,     0,     0, 
     1580      45,    46,     0,     0,    47,    48,    49,     0,     0,     0, 
     1581       0,     0,     0,     0,    50,     0,     0,    51,    52,    53, 
     1582      54,    55,    56,    57,    58,    59,    60,    61,    62,    63, 
     1583       0,     0,    64,     0,     0,    65,    66,    67,    68,     0, 
     1584       0,     0,   652,    69,   373,   374,   375,   376,   377,   378, 
     1585       0,   379,   380,   381,   382,   383,   384,     0,   385,   386, 
     1586     387,   388,   389,   934,     0,   373,   374,   375,   376,   377, 
     1587     378,     0,   379,   380,   381,   382,   383,   384,     0,   385, 
     1588     386,   387,   388,   389,  1034,     0,   373,   374,   375,   376, 
     1589     377,   378,     0,   379,   380,   381,   382,   383,   384,     0, 
     1590     385,   386,   387,   388,   389,  1035,     0,   373,   374,   375, 
     1591     376,   377,   378,     0,   379,   380,   381,   382,   383,   384, 
     1592       0,   385,   386,   387,   388,   389,  1049,     0,   373,   374, 
     1593     375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
     1594     384,     0,   385,   386,   387,   388,   389,   926,   373,   374, 
     1595     375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
     1596     384,     0,   385,   386,   387,   388,   389,   870,   373,   374, 
     1597     375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
     1598     384,     0,   385,   386,   387,   388,   389,     0,     0,     0, 
     1599       0,     0,   135,   136,     0,     0,     0,     0,   137,   138, 
     1600     139,   140,   141,   390,   391,     0,     0,     0,     0,     0, 
     1601       0,     0,     0,   142,   143,   144,   145,   146,   147,   148, 
     1602       0,   149,   150,   151,   390,   391,   152,   153,   154,     0, 
     1603     155,   156,   157,   158,   159,     0,   160,     0,     0,     0, 
     1604       0,     0,     0,     0,     0,   390,   391,   373,   374,   375, 
     1605     376,   377,   378,     0,   379,   380,   381,   382,   383,   384, 
     1606       0,   385,   386,   387,   388,   389,   390,   391,   373,   374, 
     1607     375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
     1608     384,     0,   385,   386,   387,   388,   389,   390,   391,     0, 
     1609       0,   162,     0,     0,     0,     0,     0,   163,   164,     0, 
     1610       0,     0,     0,   165,     0,     0,   613,   390,   391,     0, 
     1611       0,     0,   166,   167,     0,   168,   169,     0,     0,   170, 
     1612     171,   562,     0,     0,     0,     0,     0,   390,   391,   926, 
     1613     373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
     1614     382,   383,   384,     0,   385,   386,   387,   388,   389,   996, 
     1615     373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
     1616     382,   383,   384,     0,   385,   386,   387,   388,   389,  1030, 
     1617     373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
     1618     382,   383,   384,     0,   385,   386,   387,   388,   389,     0, 
    16971619       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1698      178,   179,     0,     0,     0,     0,   180,     0,     0,     0, 
    1699        0,     0,     0,     0,     0,     0,   181,   182,     0,     0, 
    1700      183,   184,   185,   186,     0,     0,     0,    91,     0,     0, 
    1701        0,     0,     0,     0,   187,     0,     0,   576,     0,     0, 
    1702        0,     0,     0,  -510,  -510,   973,     0,   392,     0,   393, 
    1703      394,   395,   396,   397,     0,   398,   399,   400,   401,   402, 
    1704      403,     0,     0,   404,   405,   406,   407,   408,   974,     0, 
    1705      392,     0,   393,   394,   395,   396,   397,     0,   398,   399, 
    1706      400,   401,   402,   403,     0,     0,   404,   405,   406,   407, 
    1707      408,   980,     0,   392,     0,   393,   394,   395,   396,   397, 
    1708        0,   398,   399,   400,   401,   402,   403,     0,     0,   404, 
    1709      405,   406,   407,   408,     0,     0,     0,     0,   409,   410, 
    1710        0,     0,     0,     0,     0,     0,   896,   392,     0,   393, 
    1711      394,   395,   396,   397,     0,   398,   399,   400,   401,   402, 
    1712      403,   409,   410,   404,   405,   406,   407,   408,   850,   392, 
    1713        0,   393,   394,   395,   396,   397,     0,   398,   399,   400, 
    1714      401,   402,   403,     0,     0,   404,   405,   406,   407,   408, 
    1715      896,   392,     0,   393,   394,   395,   396,   397,     0,   398, 
    1716      399,   400,   401,   402,   403,     0,     0,   404,   405,   406, 
    1717      407,   408,   945,   392,     0,   393,   394,   395,   396,   397, 
    1718        0,   398,   399,   400,   401,   402,   403,     0,     0,   404, 
    1719      405,   406,   407,   408,     0,     0,     0,     0,     0,     0, 
    1720        0,     0,     0,     0,     0,     0,     0,   409,   410,     0, 
    1721        0,     0,     0,     0,     0,   964,   392,     0,   393,   394, 
    1722      395,   396,   397,     0,   398,   399,   400,   401,   402,   403, 
    1723      409,   410,   404,   405,   406,   407,   408,     0,     0,   392, 
    1724        0,   393,   394,   395,   396,   397,     0,   398,   399,   400, 
    1725      401,   402,   403,   409,   410,   404,   405,   406,   407,   408, 
    1726      392,     0,   393,   394,   395,   396,   397,     0,   398,   399, 
    1727      400,   401,   402,   403,     0,     0,   404,   405,   406,   407, 
    1728      408,     0,   631,     0,     0,     0,     0,   409,   410,     0, 
    1729        0,     0,     0,     0,     0,   392,     0,   393,   394,   395, 
    1730      396,   397,     0,   398,   399,   400,   401,   402,   403,   409, 
    1731      410,   404,   405,   406,   407,   408,     0,   392,     0,   393, 
    1732      394,   395,   396,   397,     0,   398,   399,   400,   401,   402, 
    1733      403,   409,   410,   404,   405,   406,   407,   408,     0,  -250, 
    1734        0,  -250,  -250,  -250,  -250,  -250,     0,  -250,  -250,  -250, 
    1735     -250,  -250,  -250,   409,   410,  -250,  -250,  -250,  -250,  -250, 
    1736      392,     0,   393,   394,   395,   396,   397,     0,   398,   399, 
    1737      400,   401,   402,   403,     0,     0,   404,   405,   406,   407, 
    1738      408,     0,   392,     0,   393,   394,   395,   396,   397,     0, 
    1739      398,   399,   400,   401,   402,   403,   409,   410,   404,   405, 
    1740      406,   407,   408,     0,     0,     0,     0,     0,     0,     0, 
    1741        0,     0,     0,     0,   436,     0,     0,     0,     0,   409, 
    1742      410,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1743        0,     0,     0,     0,     0,   595,     0,     0,     0,     0, 
    1744      409,   410,   392,     0,   393,   394,   395,   396,   397,     0, 
    1745      398,   399,   400,   401,   402,   403,     0,     0,   404,   405, 
    1746      406,   407,   408,     0,     0,     0,     0,     0,     0,     0, 
    1747      602,     0,     0,     0,     0,   409,   410,     0,     0,     0, 
     1620       0,     0,     0,     0,     0,   578,   390,   391,     0,     0, 
    17481621       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1749        0,     0,   616,     0,     0,     0,     0,   409,   410,     0, 
     1622       0,     0,     0,     0,     0,     0,   585,   390,   391,   373, 
     1623     374,   375,   376,   377,   378,     0,   379,   380,   381,   382, 
     1624     383,   384,     0,   385,   386,   387,   388,   389,  -239,  -239, 
     1625    -239,  -239,  -239,  -239,     0,  -239,  -239,  -239,  -239,  -239, 
     1626    -239,     0,  -239,  -239,  -239,  -239,  -239,  -238,  -238,  -238, 
     1627    -238,  -238,  -238,     0,  -238,  -238,  -238,  -238,  -238,  -238, 
     1628       0,  -238,  -238,  -238,  -238,  -238,     0,     0,     0,   390, 
     1629     391,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1630       0,     0,     0,     0,     0,     0,     0,     0,     0,   390, 
     1631     391,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1632       0,     0,     0,     0,     0,     0,     0,     0,     0,   390, 
     1633     391,   373,   374,   375,   376,   377,   378,     0,   379,   380, 
     1634     381,   382,   383,   384,     0,   385,   386,   387,   388,   389, 
     1635     373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
     1636     382,   383,   384,     0,   385,   386,   387,   388,   389,     0, 
    17501637       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1751        0,     0,     0,     0,  -250,     0,     0,     0,     0,  -250, 
    1752     -250,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1753        0,     0,     0,     0,     0,   631,     0,     0,     0,     0, 
    1754      409,   410,     0,     0,     0,     0,     0,     0,     0,     0, 
    1755        0,     0,     0,     0,     0,     0,     0,   666,     0,     0, 
    1756        0,     0,   409,   410,   392,     0,   393,   394,   395,   396, 
    1757      397,     0,   398,   399,   400,   401,   402,   403,     0,     0, 
    1758      404,   405,   406,   407,   408,   392,     0,   393,   394,   395, 
    1759      396,   397,     0,   398,   399,   400,   401,   402,   403,     0, 
    1760        0,   404,   405,   406,   407,   408,     0,     0,     0,     0, 
    1761        0,     0,     0,     0,     0,     0,     0,   671,     0,     0, 
    1762        0,     0,   409,   410,   392,     0,   393,   394,   395,   396, 
    1763      397,     0,   398,   399,   400,   401,   402,   403,     0,     0, 
    1764      404,   405,   406,   407,   408,   392,     0,   393,   394,   395, 
    1765      396,   397,     0,   398,   399,   400,   401,   402,   403,     0, 
    1766        0,   404,   405,   406,   407,   408,   392,     0,   393,   394, 
    1767      395,   396,   397,     0,   398,   399,   400,   401,   402,   403, 
    1768        0,     0,   404,   405,   406,   407,   408,   392,     0,   393, 
    1769      394,   395,   396,   397,     0,   398,   399,   400,   401,   402, 
    1770      403,     0,     0,   404,   405,   406,   407,   408,   392,     0, 
    1771      393,   394,   395,   396,   397,     0,   398,   399,   400,   401, 
    1772      402,   403,     0,     0,   404,   405,   406,   407,   408,     0, 
    1773        0,     0,     0,     0,     0,     0,     0,     0,     0,   673, 
    1774        0,     0,     0,     0,   409,   410,     0,     0,     0,   418, 
    1775        0,   392,     0,   393,   394,   395,   396,   397,     0,   398, 
    1776      399,   400,   401,   402,   403,   409,   410,   404,   405,   406, 
    1777      407,   408,   392,     0,   393,   394,   395,   396,   397,     0, 
    1778      398,   399,   400,   401,   402,   403,     0,     0,   404,   405, 
    1779      406,   407,   408,     0,     0,     0,     0,     0,     0,   773, 
    1780        0,     0,     0,     0,   409,   410,     0,     0,     0,     0, 
     1638       0,     0,     0,     0,     0,     0,     0,   599,   390,   391, 
    17811639       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1782      774,     0,     0,     0,     0,   409,   410,     0,     0,     0, 
     1640       0,     0,     0,     0,     0,     0,  -239,  -239,  -239,     0, 
    17831641       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1784        0,   775,     0,     0,     0,     0,   409,   410,     0,     0, 
     1642       0,     0,     0,     0,     0,  -238,  -238,  -238,   373,   374, 
     1643     375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
     1644     384,     0,   385,   386,   387,   388,   389,   373,   374,   375, 
     1645     376,   377,   378,     0,   379,   380,   381,   382,   383,   384, 
     1646       0,   385,   386,   387,   388,   389,   373,   374,   375,   376, 
     1647     377,   378,     0,   379,   380,   381,   382,   383,   384,     0, 
     1648     385,   386,   387,   388,   389,     0,     0,     0,     0,   613, 
     1649     390,   391,     0,     0,     0,     0,     0,     0,     0,     0, 
     1650       0,     0,     0,     0,     0,     0,     0,     0,   650,   390, 
     1651     391,   373,   374,   375,   376,   377,   378,     0,   379,   380, 
     1652     381,   382,   383,   384,     0,   385,   386,   387,   388,   389, 
     1653     373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
     1654     382,   383,   384,     0,   385,   386,   387,   388,   389,   373, 
     1655     374,   375,   376,   377,   378,     0,   379,   380,   381,   382, 
     1656     383,   384,     0,   385,   386,   387,   388,   389,     0,     0, 
     1657       0,     0,     0,     0,   135,   136,     0,     0,     0,     0, 
     1658     137,   138,   139,   140,   141,     0,   653,   390,   391,     0, 
     1659       0,     0,     0,     0,     0,   142,   143,   144,   145,   146, 
     1660     147,   148,   399,   149,   150,   151,   390,   391,   152,   153, 
     1661     154,     0,   155,   156,   157,   158,   159,     0,   160,     0, 
     1662       0,     0,     0,     0,   779,   390,   391,   373,   374,   375, 
     1663     376,   377,   378,     0,   379,   380,   381,   382,   383,   384, 
     1664       0,   385,   386,   387,   388,   389,   373,   374,   375,   376, 
     1665     377,   378,     0,   379,   380,   381,   382,   383,   384,     0, 
     1666     385,   386,   387,   388,   389,     0,     0,     0,     0,   780, 
     1667     390,   391,     0,   162,     0,     0,     0,     0,     0,   163, 
     1668     164,     0,     0,     0,     0,   165,     0,     0,   781,   390, 
     1669     391,     0,     0,     0,   166,   167,     0,   168,   169,     0, 
     1670       0,   918,   171,   562,     0,     0,     0,   782,   390,   391, 
     1671     373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
     1672     382,   383,   384,     0,   385,   386,   387,   388,   389,   373, 
     1673     374,   375,   376,   377,   378,     0,   379,   380,   381,   382, 
     1674     383,   384,     0,   385,   386,   387,   388,   389,   373,   374, 
     1675     375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
     1676     384,     0,   385,   386,   387,   388,   389,     0,     0,     0, 
    17851677       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1786        0,     0,   776,     0,     0,     0,     0,   409,   410,     0, 
     1678       0,     0,     0,     0,     0,   783,   390,   391,     0,     0, 
    17871679       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1788        0,     0,     0,   777,     0,     0,     0,     0,   409,   410, 
    1789      392,     0,   393,   394,   395,   396,   397,     0,   398,   399, 
    1790      400,   401,   402,   403,     0,     0,   404,   405,   406,   407, 
    1791      408,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1792        0,     0,     0,     0,     0,     0,   778,     0,     0,     0, 
    1793        0,   409,   410,     0,     0,     0,     0,     0,     0,     0, 
    1794        0,     0,     0,     0,     0,     0,     0,   779,     0,     0, 
    1795        0,     0,   409,   410,   392,     0,   393,   394,   395,   396, 
    1796      397,     0,   398,   399,   400,   401,   402,   403,     0,     0, 
    1797      404,   405,   406,   407,   408,   392,     0,   393,   394,   395, 
    1798      396,   397,     0,   398,   399,   400,   401,   402,   403,     0, 
    1799        0,   404,   405,   406,   407,   408,   392,     0,   393,   394, 
    1800      395,   396,   397,     0,   398,   399,   400,   401,   402,   403, 
    1801        0,     0,   404,   405,   406,   407,   408,   392,     0,   393, 
    1802      394,   395,   396,   397,     0,   398,   399,   400,   401,   402, 
    1803      403,     0,     0,   404,   405,   406,   407,   408,   392,     0, 
    1804      393,   394,   395,   396,   397,     0,   398,   399,   400,   401, 
    1805      402,   403,     0,     0,   404,   405,   406,   407,   408,     0, 
    1806        0,     0,     0,     0,     0,   780,     0,     0,     0,     0, 
    1807      409,   410,   392,     0,   393,   394,   395,   396,   397,     0, 
    1808      398,   399,   400,   401,   402,   403,     0,     0,   404,   405, 
    1809      406,   407,   408,   392,     0,   393,   394,   395,   396,   397, 
    1810        0,   398,   399,   400,   401,   402,   403,     0,     0,   404, 
    1811      405,   406,   407,   408,     0,     0,     0,     0,     0,    22, 
    1812        0,     0,     0,     0,     0,     0,     0,     0,     0,   781, 
    1813        0,     0,     0,     0,   409,   410,     0,     0,     0,     0, 
    1814        0,     0,     0,     0,    28,     0,     0,     0,     0,     0, 
    1815      782,     0,     0,     0,     0,   409,   410,     0,     0,    32, 
    1816        0,     0,     0,     0,    35,   348,     0,     0,     0,    39, 
    1817       40,   783,     0,     0,     0,     0,   409,   410,     0,   349, 
    1818       49,    50,    51,    52,    53,    54,   350,     0,     0,     0, 
    1819        0,     0,   784,     0,     0,     0,     0,   409,   410,    64, 
    1820        0,     0,     0,     0,     0,    67,     0,     0,     0,     0, 
    1821        0,     0,     0,   785,    72,     0,    74,     0,   409,   410, 
    1822      392,     0,   393,   394,   395,   396,   397,     0,   398,   399, 
    1823      400,   401,   402,   403,     0,     0,   404,   405,   406,   407, 
    1824      408,     0,     0,     0,     0,     0,     0,   791,     0,     0, 
    1825       91,     0,   409,   410,     0,     0,     0,    92,     0,     0, 
    1826        0,     0,     0,     0,     0,     0,     0,     0,   843,     0, 
    1827        0,     0,     0,   409,   410,   392,     0,   393,   394,   395, 
    1828      396,   397,   708,   398,   399,   400,   401,   402,   403,     0, 
    1829      149,   404,   405,   406,   407,   408,     0,     0,     0,   150, 
    1830      151,   709,     0,     0,     0,     0,     0,     0,     0,     0, 
    1831        0,     0,     0,     0,     0,     0,     0,   152,   153,     0, 
    1832        0,     0,   154,   155,   156,   157,     0,     0,     0,     0, 
    1833        0,     0,     0,     0,   158,   159,   160,   161,   162,   163, 
    1834      164,     0,   165,   166,   167,     0,     0,   168,   169,   170, 
    1835        0,   171,   172,   173,   174,   175,     0,   176,     0,     0, 
    1836        0,     0,     0,     0,     0,     0,     0,     0,   453,     0, 
    1837        0,     0,   454,   455,   456,   457,     0,     0,     0,     0, 
    1838        0,     0,     0,     0,   458,   459,   460,   461,   462,   463, 
    1839      464,     0,   465,   466,   467,   900,     0,   468,   469,   470, 
    1840      409,   410,   471,   472,   473,   474,     0,   475,     0,   177, 
    1841        0,     0,     0,     0,     0,     0,     0,     0,   149,     0, 
    1842      178,   179,     0,     0,     0,     0,   180,   150,   151,     0, 
    1843        0,     0,     0,     0,     0,     0,   181,   182,     0,     0, 
    1844      183,   184,   185,   186,     0,   152,   153,    91,     0,     0, 
    1845      154,   155,   156,   157,   187,   409,   410,   188,     0,     0, 
    1846        0,     0,   158,   159,   160,   161,   162,   163,   164,     0, 
    1847      165,   166,   167,     0,     0,   168,   169,   170,     0,   171, 
    1848      172,   173,   174,   175,     0,   176,     0,     0,     0,     0, 
    1849        0,     0,     0,     0,     0,     0,     0,   476,     0,     0, 
     1680       0,     0,     0,     0,   784,   390,   391,   373,   374,   375, 
     1681     376,   377,   378,     0,   379,   380,   381,   382,   383,   384, 
     1682       0,   385,   386,   387,   388,   389,   373,   374,   375,   376, 
     1683     377,   378,     0,   379,   380,   381,   382,   383,   384,     0, 
     1684     385,   386,   387,   388,   389,   373,   374,   375,   376,   377, 
     1685     378,     0,   379,   380,   381,   382,   383,   384,     0,   385, 
     1686     386,   387,   388,   389,     0,     0,     0,     0,   785,   390, 
     1687     391,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1688       0,     0,     0,     0,     0,     0,     0,   786,   390,   391, 
     1689       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1690       0,     0,     0,     0,     0,     0,   787,   390,   391,   373, 
     1691     374,   375,   376,   377,   378,     0,   379,   380,   381,   382, 
     1692     383,   384,     0,   385,   386,   387,   388,   389,   373,   374, 
     1693     375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
     1694     384,     0,   385,   386,   387,   388,   389,     0,     0,     0, 
     1695       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1696       0,     0,     0,     0,     0,   788,   390,   391,     0,     0, 
     1697       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1698       0,     0,     0,     0,   789,   390,   391,     0,     0,     0, 
     1699       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1700       0,     0,     0,   790,   390,   391,   373,   374,   375,   376, 
     1701     377,   378,     0,   379,   380,   381,   382,   383,   384,     0, 
     1702     385,   386,   387,   388,   389,   373,   374,   375,   376,   377, 
     1703     378,     0,   379,   380,   381,   382,   383,   384,     0,   385, 
     1704     386,   387,   388,   389,   373,   374,   375,   376,   377,   378, 
     1705       0,   379,   380,   381,   382,   383,   384,     0,   385,   386, 
     1706     387,   388,   389,     0,     0,     0,     0,   791,   390,   391, 
     1707       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1708       0,     0,     0,     0,     0,     0,   852,   390,   391,   373, 
     1709     374,   375,   376,   377,   378,     0,   379,   380,   381,   382, 
     1710     383,   384,     0,   385,   386,   387,   388,   389,   373,   374, 
     1711     375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
     1712     384,     0,   385,   386,   387,   388,   389,   373,   374,   375, 
     1713     376,   377,   378,     0,   379,   380,   381,   382,   383,   384, 
     1714       0,   385,   386,   387,   388,   389,     0,     0,     0,     0, 
     1715       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1716       0,     0,     0,     0,   930,   390,   391,     0,     0,     0, 
     1717       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1718       0,     0,     0,   933,   390,   391,     0,     0,     0,     0, 
     1719       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1720       0,     0,   946,   390,   391,   373,   374,   375,   376,   377, 
     1721     378,     0,   379,   380,   381,   382,   383,   384,     0,   385, 
     1722     386,   387,   388,   389,     0,     0,     0,     0,     0,     0, 
     1723       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1724       0,     0,     0,     0,     0,   702,     0,   947,   390,   391, 
     1725       0,     0,   132,     0,     0,     0,     0,     0,     0,     0, 
     1726     133,   134,   703,     0,     0,     0,  1022,   390,   391,     0, 
     1727       0,     0,     0,     0,   135,   136,     0,     0,     0,     0, 
     1728     137,   138,   139,   140,   141,  1033,   390,   391,     0,     0, 
     1729       0,     0,     0,     0,     0,   142,   143,   144,   145,   146, 
     1730     147,   148,     0,   149,   150,   151,     0,     0,   152,   153, 
     1731     154,     0,   155,   156,   157,   158,   159,   439,   160,     0, 
     1732       0,     0,   440,   441,     0,   442,   443,     0,     0,     0, 
     1733       0,     0,     0,     0,     0,     0,     0,   444,   445,   446, 
     1734     447,   448,   449,   450,     0,   451,   452,   453,     0,     0, 
     1735     454,   455,   456,     0,   814,   457,   458,   459,   460,     0, 
     1736     461,   132,     0,     0,   390,   391,   161,     0,     0,   133, 
     1737     134,     0,     0,   162,     0,     0,     0,     0,     0,   163, 
     1738     164,     0,     0,   135,   136,   165,     0,     0,     0,   137, 
     1739     138,   139,   140,   141,   166,   167,     0,   168,   169,     0, 
     1740       0,   170,   171,   172,   142,   143,   144,   145,   146,   147, 
     1741     148,     0,   149,   150,   151,     0,     0,   152,   153,   154, 
     1742       0,   155,   156,   157,   158,   159,     0,   160,     0,     0, 
     1743       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1744       0,     0,     0,   462,     0,     0,     0,     0,     0,     0, 
     1745       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1746       0,     0,     0,   904,     0,     0,     0,     0,     0,     0, 
     1747     132,     0,     0,     0,     0,   161,     0,     0,   133,   134, 
     1748       0,     0,   162,     0,     0,     0,     0,     0,   163,   164, 
     1749       0,     0,   135,   136,   165,     0,     0,     0,   137,   138, 
     1750     139,   140,   141,   166,   167,     0,   168,   169,     0,     0, 
     1751     170,   171,   172,   142,   143,   144,   145,   146,   147,   148, 
     1752       0,   149,   150,   151,     0,     0,   152,   153,   154,     0, 
     1753     155,   156,   157,   158,   159,     0,   160,     0,     0,     0, 
    18501754       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    18511755       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    18521756       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1853        0,     0,     0,     0,     0,     0,     0,   177,     0,     0, 
    1854        0,     0,     0,     0,     0,     0,     0,     0,   178,   179, 
    1855        0,     0,     0,     0,   180,   809,     0,     0,     0,     0, 
    1856        0,     0,     0,   149,   181,   182,     0,     0,   183,   184, 
    1857      185,   186,   150,   151,     0,    91,     0,     0,     0,     0, 
    1858        0,     0,   187,     0,     0,   188,     0,     0,     0,     0, 
    1859      152,   153,     0,   204,     0,   154,   155,   156,   157,     0, 
    1860        0,     0,     0,     0,     0,     0,     0,   158,   159,   160, 
    1861      161,   162,   163,   164,     0,   165,   166,   167,     0,     0, 
    1862      168,   169,   170,     0,   171,   172,   173,   174,   175,     0, 
    1863      176,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1757       0,     0,   924,     0,     0,     0,     0,     0,     0,   132, 
     1758       0,     0,     0,     0,   161,     0,     0,   133,   134,     0, 
     1759       0,   162,     0,     0,     0,     0,     0,   163,   164,     0, 
     1760       0,   135,   136,   165,     0,     0,     0,   137,   138,   139, 
     1761     140,   141,   166,   167,     0,   168,   169,     0,     0,   170, 
     1762     171,   172,   142,   143,   144,   145,   146,   147,   148,     0, 
     1763     149,   150,   151,     0,     0,   152,   153,   154,     0,   155, 
     1764     156,   157,   158,   159,     0,   160,     0,     0,     0,     0, 
     1765       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1766       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1767       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1768       0,     0,   472,     0,     0,     0,     0,     0,   132,     0, 
     1769       0,     0,     0,   161,     0,     0,   133,   134,   473,     0, 
     1770     162,     0,     0,     0,     0,     0,   163,   164,     0,     0, 
     1771     135,   136,   165,     0,     0,     0,   137,   138,   139,   140, 
     1772     141,   166,   167,     0,   168,   169,     0,     0,   170,   171, 
     1773     172,   142,   143,   144,   145,   146,   147,   148,     0,   149, 
     1774     150,   151,     0,     0,   152,   153,   154,     0,   155,   156, 
     1775     157,   158,   159,     0,   160,     0,     0,     0,     0,     0, 
     1776       0,     0,     0,     0,     0,     0,     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,   632,     0,     0,     0,     0,     0,   132,     0,     0, 
     1780       0,     0,   161,     0,     0,   133,   134,     0,   633,   162, 
     1781       0,     0,     0,     0,     0,   163,   164,     0,     0,   135, 
     1782     136,   165,     0,     0,     0,   137,   138,   139,   140,   141, 
     1783     166,   167,     0,   168,   169,     0,     0,   170,   171,   172, 
     1784     142,   143,   144,   145,   146,   147,   148,     0,   149,   150, 
     1785     151,     0,     0,   152,   153,   154,     0,   155,   156,   157, 
     1786     158,   159,     0,   160,     0,     0,     0,     0,     0,     0, 
     1787       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1788       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1789       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1790     721,     0,     0,     0,     0,     0,   132,     0,     0,     0, 
     1791       0,   161,     0,     0,   133,   134,   473,     0,   162,     0, 
     1792       0,     0,     0,     0,   163,   164,     0,     0,   135,   136, 
     1793     165,     0,     0,     0,   137,   138,   139,   140,   141,   166, 
     1794     167,     0,   168,   169,     0,     0,   170,   171,   172,   142, 
     1795     143,   144,   145,   146,   147,   148,     0,   149,   150,   151, 
     1796       0,     0,   152,   153,   154,     0,   155,   156,   157,   158, 
     1797     159,     0,   160,     0,     0,     0,     0,     0,     0,     0, 
     1798       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1799       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1800       0,     0,     0,     0,     0,     0,     0,     0,     0,   615, 
     1801       0,     0,     0,     0,     0,   132,     0,     0,     0,     0, 
     1802     161,     0,     0,   133,   134,     0,     0,   162,     0,     0, 
     1803       0,     0,     0,   163,   164,     0,     0,   135,   136,   165, 
     1804       0,     0,     0,   137,   138,   139,   140,   141,   166,   167, 
     1805       0,   168,   169,     0,     0,   170,   171,   172,   142,   143, 
     1806     144,   145,   146,   147,   148,     0,   149,   150,   151,     0, 
     1807       0,   152,   153,   154,     0,   155,   156,   157,   158,   159, 
     1808       0,   160,     0,     0,     0,     0,     0,     0,     0,     0, 
     1809       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1810       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1811       0,     0,     0,     0,     0,     0,     0,     0,   637,     0, 
     1812       0,     0,     0,     0,   132,     0,     0,     0,     0,   161, 
     1813       0,     0,   133,   134,     0,     0,   162,     0,     0,     0, 
     1814       0,     0,   163,   164,     0,     0,   135,   136,   165,     0, 
     1815       0,     0,   137,   138,   139,   140,   141,   166,   167,     0, 
     1816     168,   169,     0,     0,   170,   171,   172,   142,   143,   144, 
     1817     145,   146,   147,   148,     0,   149,   150,   151,     0,     0, 
     1818     152,   153,   154,     0,   155,   156,   157,   158,   159,     0, 
     1819     160,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1820       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1821       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1822       0,     0,     0,     0,     0,     0,     0,   639,     0,     0, 
     1823       0,     0,     0,   132,     0,     0,     0,     0,   161,     0, 
     1824       0,   133,   134,     0,     0,   162,     0,     0,     0,     0, 
     1825       0,   163,   164,     0,     0,   135,   136,   165,     0,     0, 
     1826       0,   137,   138,   139,   140,   141,   166,   167,     0,   168, 
     1827     169,     0,     0,   170,   171,   172,   142,   143,   144,   145, 
     1828     146,   147,   148,     0,   149,   150,   151,     0,     0,   152, 
     1829     153,   154,     0,   155,   156,   157,   158,   159,     0,   160, 
    18641830       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    18651831       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    18661832       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    18671833       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1868        0,     0,   177,   894,     0,     0,     0,     0,     0,     0, 
    1869        0,   149,     0,   178,   179,     0,     0,     0,     0,   180, 
    1870      150,   151,     0,     0,     0,     0,     0,     0,     0,   181, 
    1871      182,     0,     0,   183,   184,   185,   186,     0,   152,   153, 
    1872       91,     0,     0,   154,   155,   156,   157,   187,     0,     0, 
    1873      188,     0,     0,     0,     0,   158,   159,   160,   161,   162, 
    1874      163,   164,     0,   165,   166,   167,     0,     0,   168,   169, 
    1875      170,     0,   171,   172,   173,   174,   175,     0,   176,     0, 
     1834       0,     0,   132,     0,     0,     0,     0,   161,     0,     0, 
     1835     133,   134,     0,     0,   162,     0,     0,     0,     0,     0, 
     1836     163,   164,     0,     0,   135,   136,   165,     0,     0,     0, 
     1837     137,   138,   139,   140,   141,   166,   167,     0,   168,   169, 
     1838       0,     0,   170,   171,   172,   142,   143,   144,   145,   146, 
     1839     147,   148,     0,   149,   150,   151,     0,     0,   152,   153, 
     1840     154,     0,   155,   156,   157,   158,   159,     0,   160,     0, 
    18761841       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    18771842       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    18781843       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    18791844       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1845       0,     0,     0,     0,     0,     0,   161,     0,     0,     0, 
     1846       0,     0,     0,   162,     0,     0,     0,     0,     0,   163, 
     1847     164,     0,     0,     0,     0,   165,     0,     0,     0,     0, 
     1848       0,     0,     0,     0,   166,   167,   132,   168,   169,     0, 
     1849       0,   170,   171,   172,   133,   134,   660,   173,   661,     0, 
     1850       0,     0,     0,     0,     0,     0,     0,     0,   135,   136, 
     1851       0,     0,     0,     0,   137,   138,   139,   140,   141,     0, 
     1852       0,     0,     0,     0,     0,     0,     0,     0,     0,   142, 
     1853     143,   144,   145,   146,   147,   148,     0,   149,   150,   151, 
     1854       0,     0,   152,   153,   154,     0,   155,   156,   157,   158, 
     1855     159,     0,   160,     0,     0,     0,     0,     0,     0,     0, 
    18801856       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1881      177,     0,   531,     0,     0,     0,     0,     0,     0,   149, 
    1882        0,   178,   179,     0,     0,     0,     0,   180,   150,   151, 
    1883      532,     0,     0,     0,     0,     0,     0,   181,   182,     0, 
    1884        0,   183,   184,   185,   186,     0,   152,   153,    91,     0, 
    1885        0,   154,   155,   156,   157,   187,     0,     0,   188,     0, 
    1886        0,     0,     0,   158,   159,   160,   161,   162,   163,   164, 
    1887        0,   165,   166,   167,     0,     0,   168,   169,   170,     0, 
    1888      171,   172,   173,   174,   175,     0,   176,     0,     0,     0, 
     1857       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1858       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1859       0,     0,     0,     0,     0,   132,     0,     0,     0,     0, 
     1860     161,     0,     0,   133,   134,   473,     0,   162,     0,     0, 
     1861       0,     0,     0,   163,   164,     0,     0,   135,   136,   165, 
     1862       0,     0,     0,   137,   138,   139,   140,   141,   166,   167, 
     1863       0,   168,   169,     0,     0,   170,   171,   662,   142,   143, 
     1864     144,   145,   146,   147,   148,     0,   149,   150,   151,     0, 
     1865       0,   152,   153,   154,     0,   155,   156,   157,   158,   159, 
     1866       0,   160,     0,     0,     0,     0,     0,     0,     0,     0, 
     1867       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1868       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1869       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1870       0,     0,     0,     0,   132,     0,     0,     0,     0,   161, 
     1871       0,     0,   133,   134,   548,     0,   162,     0,     0,     0, 
     1872       0,     0,   163,   164,     0,     0,   135,   136,   165,     0, 
     1873       0,     0,   137,   138,   139,   140,   141,   166,   167,     0, 
     1874     168,   169,     0,     0,   526,   171,   172,   142,   143,   144, 
     1875     145,   146,   147,   148,     0,   149,   150,   151,     0,     0, 
     1876     152,   153,   154,     0,   155,   156,   157,   158,   159,     0, 
     1877     160,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1878       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1879       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1880       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1881       0,     0,     0,   132,     0,     0,     0,     0,   161,     0, 
     1882       0,   133,   134,   473,     0,   162,     0,     0,     0,     0, 
     1883       0,   163,   164,     0,     0,   135,   136,   165,     0,     0, 
     1884       0,   137,   138,   139,   140,   141,   166,   167,     0,   168, 
     1885     169,     0,     0,   170,   171,   172,   142,   143,   144,   145, 
     1886     146,   147,   148,     0,   149,   150,   151,     0,     0,   152, 
     1887     153,   154,     0,   155,   156,   157,   158,   159,     0,   160, 
    18891888       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    18901889       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    18911890       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    18921891       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1893        0,     0,     0,     0,     0,     0,     0,     0,   177,     0, 
    1894      650,     0,     0,     0,     0,     0,     0,   149,     0,   178, 
    1895      179,     0,     0,     0,     0,   180,   150,   151,     0,   651, 
    1896        0,     0,     0,     0,     0,   181,   182,     0,     0,   183, 
    1897      184,   185,   186,     0,   152,   153,    91,     0,     0,   154, 
    1898      155,   156,   157,   187,     0,     0,   188,     0,     0,     0, 
    1899        0,   158,   159,   160,   161,   162,   163,   164,     0,   165, 
    1900      166,   167,     0,     0,   168,   169,   170,     0,   171,   172, 
    1901      173,   174,   175,     0,   176,     0,     0,     0,     0,     0, 
     1892       0,     0,   132,     0,     0,     0,     0,   161,     0,     0, 
     1893     133,   134,   726,     0,   162,     0,     0,     0,     0,     0, 
     1894     163,   164,     0,     0,   135,   136,   165,     0,     0,     0, 
     1895     137,   138,   139,   140,   141,   166,   167,     0,   168,   169, 
     1896       0,     0,   170,   171,   172,   142,   143,   144,   145,   146, 
     1897     147,   148,     0,   149,   150,   151,     0,     0,   152,   153, 
     1898     154,     0,   155,   156,   157,   158,   159,     0,   160,     0, 
    19021899       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19031900       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19041901       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19051902       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1906        0,     0,     0,     0,     0,     0,   177,     0,   728,     0, 
    1907        0,     0,     0,     0,     0,   149,     0,   178,   179,     0, 
    1908        0,     0,     0,   180,   150,   151,   532,     0,     0,     0, 
    1909        0,     0,     0,   181,   182,     0,     0,   183,   184,   185, 
    1910      186,     0,   152,   153,    91,     0,     0,   154,   155,   156, 
    1911      157,   187,     0,     0,   188,     0,     0,     0,     0,   158, 
    1912      159,   160,   161,   162,   163,   164,     0,   165,   166,   167, 
    1913        0,     0,   168,   169,   170,     0,   171,   172,   173,   174, 
    1914      175,     0,   176,     0,     0,     0,     0,     0,     0,     0, 
     1903       0,     0,     0,     0,     0,     0,   161,     0,     0,     0, 
     1904       0,     0,     0,   162,     0,     0,     0,     0,     0,   163, 
     1905     164,     0,   132,     0,     0,   165,     0,     0,     0,     0, 
     1906     133,   134,     0,     0,   166,   167,     0,   168,   169,     0, 
     1907       0,   170,   171,   172,   135,   136,     9,     0,     0,     0, 
     1908     137,   138,   139,   140,   141,     0,     0,     0,     0,     0, 
     1909       0,     0,     0,     0,     0,   142,   143,   144,   145,   146, 
     1910     147,   148,     0,   149,   150,   151,     0,     0,   152,   153, 
     1911     154,     0,   155,   156,   157,   158,   159,     0,   160,     0, 
    19151912       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19161913       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19171914       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19181915       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1919        0,     0,     0,     0,   177,     0,   633,     0,     0,     0, 
    1920        0,     0,     0,   149,     0,   178,   179,     0,     0,     0, 
    1921        0,   180,   150,   151,     0,     0,     0,     0,     0,     0, 
    1922        0,   181,   182,     0,     0,   183,   184,   185,   186,     0, 
    1923      152,   153,    91,     0,     0,   154,   155,   156,   157,   187, 
    1924        0,     0,   188,     0,     0,     0,     0,   158,   159,   160, 
    1925      161,   162,   163,   164,     0,   165,   166,   167,     0,     0, 
    1926      168,   169,   170,     0,   171,   172,   173,   174,   175,     0, 
    1927      176,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1916       0,   132,     0,     0,     0,     0,   161,     0,     0,   133, 
     1917     134,   703,     0,   162,     0,     0,     0,     0,     0,   163, 
     1918     164,     0,     0,   135,   136,   165,     0,     0,     0,   137, 
     1919     138,   139,   140,   141,   166,   167,     0,   168,   169,     0, 
     1920       0,   170,   171,   172,   142,   143,   144,   145,   146,   147, 
     1921     148,     0,   149,   150,   151,     0,     0,   152,   153,   154, 
     1922       0,   155,   156,   157,   158,   159,     0,   160,     0,     0, 
    19281923       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19291924       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19301925       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19311926       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1932        0,     0,   177,     0,   655,     0,     0,     0,     0,     0, 
    1933        0,   149,     0,   178,   179,     0,     0,     0,     0,   180, 
    1934      150,   151,     0,     0,     0,     0,     0,     0,     0,   181, 
    1935      182,     0,     0,   183,   184,   185,   186,     0,   152,   153, 
    1936       91,     0,     0,   154,   155,   156,   157,   187,     0,     0, 
    1937      188,     0,     0,     0,     0,   158,   159,   160,   161,   162, 
    1938      163,   164,     0,   165,   166,   167,     0,     0,   168,   169, 
    1939      170,     0,   171,   172,   173,   174,   175,     0,   176,     0, 
     1927     132,     0,     0,     0,     0,   161,     0,     0,   133,   134, 
     1928    1011,     0,   162,     0,     0,     0,     0,     0,   163,   164, 
     1929       0,     0,   135,   136,   165,     0,     0,     0,   137,   138, 
     1930     139,   140,   141,   166,   167,     0,   168,   169,     0,     0, 
     1931     170,   171,   172,   142,   143,   144,   145,   146,   147,   148, 
     1932       0,   149,   150,   151,     0,     0,   152,   153,   154,     0, 
     1933     155,   156,   157,   158,   159,     0,   160,     0,     0,     0, 
     1934       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1935       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1936       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1937       0,     0,     0,     0,     0,     0,     0,     0,     0,   132, 
     1938       0,     0,     0,     0,   161,     0,     0,   133,   134,     0, 
     1939       0,   162,     0,     0,     0,     0,     0,   163,   164,     0, 
     1940       0,   135,   136,   165,     0,     0,     0,   137,   138,   139, 
     1941     140,   141,   166,   167,     0,   168,   169,     0,     0,   170, 
     1942     171,   172,   142,   143,   144,   145,   146,   147,   148,     0, 
     1943     149,   150,   151,     0,     0,   152,   153,   154,     0,   155, 
     1944     156,   157,   158,   159,     0,   160,     0,     0,     0,     0, 
     1945       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1946       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1947       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1948       0,     0,     0,     0,     0,     0,     0,     0,   132,     0, 
     1949       0,     0,     0,   161,     0,     0,   133,   134,     0,     0, 
     1950     162,     0,     0,     0,     0,     0,   163,   164,     0,     0, 
     1951     135,   136,   165,     0,     0,     0,   137,   138,   139,   140, 
     1952     141,   166,   167,     0,   168,   169,     0,     0,   170,   171, 
     1953     172,   142,   143,   144,   145,   146,   147,   148,     0,   149, 
     1954     150,   151,     0,     0,   152,   153,   154,     0,   155,   156, 
     1955     157,   158,   159,     0,   160,     0,     0,     0,     0,     0, 
     1956       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1957       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1958       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1959       0,     0,     0,     0,     0,     0,     0,   132,     0,     0, 
     1960       0,     0,   161,     0,     0,   133,   134,     0,     0,   162, 
     1961       0,     0,     0,     0,     0,   163,   164,     0,     0,   135, 
     1962     136,   165,     0,     0,     0,   137,   138,   139,   140,   141, 
     1963     166,   167,     0,   168,   169,     0,     0,   170,   171,   363, 
     1964     142,   143,   144,   145,   146,   147,   148,     0,   149,   150, 
     1965     151,     0,     0,   152,   153,   154,     0,   155,   156,   157, 
     1966     158,   159,     0,   160,     0,     0,     0,     0,     0,     0, 
     1967       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1968       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1969       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1970       0,     0,     0,     0,     0,     0,   132,     0,     0,     0, 
     1971       0,   161,     0,     0,   133,   134,     0,     0,   162,     0, 
     1972       0,     0,     0,     0,   163,   164,     0,     0,   135,   136, 
     1973     165,     0,     0,     0,   137,   138,   139,   140,   141,   166, 
     1974     167,     0,   168,   169,     0,     0,   170,   431,   172,   142, 
     1975     143,   144,   145,   146,   147,   148,     0,   149,   150,   151, 
     1976       0,     0,   152,   153,   154,     0,   155,   156,   157,   158, 
     1977     159,     0,   160,     0,     0,     0,     0,     0,     0,     0, 
     1978       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1979       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1980       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1981       0,     0,     0,     0,     0,   132,     0,     0,     0,     0, 
     1982     161,     0,     0,   133,   134,     0,     0,   162,     0,     0, 
     1983       0,     0,     0,   163,   164,     0,     0,   135,   136,   165, 
     1984       0,     0,     0,   137,   138,   139,   140,   141,   166,   167, 
     1985       0,   168,   169,     0,     0,   170,   529,   530,   142,   143, 
     1986     144,   145,   146,   147,   148,     0,   149,   150,   151,     0, 
     1987       0,   152,   153,   154,     0,   155,   156,   157,   158,   159, 
     1988       0,   160,     0,     0,     0,     0,     0,     0,     0,     0, 
     1989       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1990       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1991       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1992       0,     0,     0,     0,   132,     0,     0,     0,     0,   161, 
     1993       0,     0,   133,   134,     0,     0,   162,     0,     0,     0, 
     1994       0,     0,   163,   164,     0,     0,   135,   136,   165,     0, 
     1995       0,     0,   137,   138,   139,   140,   141,   166,   167,     0, 
     1996     168,   169,     0,     0,   918,   171,   363,   142,   143,   144, 
     1997     145,   146,   147,   148,     0,   149,   150,   151,     0,     0, 
     1998     152,   153,   154,     0,   155,   156,   157,   158,   159,     0, 
     1999     160,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     2000       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     2001       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     2002       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     2003       0,     0,     0,     0,     0,     0,     0,     0,   161,     0, 
     2004       0,     0,     0,     0,     0,   162,     0,     0,     0,     0, 
     2005       0,   163,   164,     0,     0,     0,     0,   165,     0,     0, 
     2006       0,     0,     0,     0,     0,     0,   166,   167,     0,   168, 
     2007     169,     0,     0,   170,   171,   955,   311,   312,   422,     0, 
     2008     423,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     2009     135,   136,     0,     0,     0,     0,   137,   138,   139,   140, 
     2010     141,     0,     0,   314,   315,   316,   317,   318,     0,   319, 
     2011     320,   142,   143,   144,   145,   146,   147,   148,     0,   149, 
     2012     150,   151,     0,     0,   152,   153,   154,     0,   155,   156, 
     2013     157,   158,   159,     0,   160,     0,     0,     0,     0,     0, 
    19402014       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19412015       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19422016       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    19432017       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     2018       0,     0,     0,     0,     0,     0,     0,     0,     0,   162, 
     2019       0,     0,     0,     0,     0,   163,   164,     0,     0,     0, 
     2020       0,   165,     0,     0,     0,     0,   311,   312,   313,     0, 
     2021     166,   167,     0,   168,   169,     0,     0,   321,   171,   424, 
     2022     135,   136,     0,     0,     0,     0,   137,   138,   139,   140, 
     2023     141,     0,     0,   314,   315,   316,   317,   318,     0,   319, 
     2024     320,   142,   143,   144,   145,   146,   147,   148,     0,   149, 
     2025     150,   151,   311,   312,   152,   153,   154,     0,   155,   156, 
     2026     157,   158,   159,     0,   160,     0,   135,   136,     0,     0, 
     2027       0,     0,   137,   138,   139,   140,   141,     0,     0,   314, 
     2028     315,   316,   317,   318,     0,   319,   320,   142,   143,   144, 
     2029     145,   146,   147,   148,     0,   149,   150,   151,     0,     0, 
     2030     152,   153,   154,     0,   155,   156,   157,   158,   159,     0, 
     2031     160,     0,     0,     0,     0,     0,     0,     0,     0,   162, 
     2032       0,     0,     0,     0,     0,   163,   164,     0,     0,     0, 
     2033       0,   165,     0,     0,     0,     0,     0,     0,     0,     0, 
     2034     166,   167,     0,   168,   169,     0,     0,   321,   171,   322, 
     2035       0,     0,     0,     0,     0,     0,     5,     0,     0,     6, 
     2036       0,     7,     0,     8,     0,   162,     9,     0,     0,     0, 
     2037       0,   163,   164,     0,     0,     0,    10,   165,     0,     0, 
     2038       0,     0,     0,     0,     0,     0,   166,   167,     0,   168, 
     2039     169,     0,    11,   321,   171,   424,    12,    13,     0,     0, 
     2040       0,    14,     0,     0,     0,     0,     0,    15,     0,    16, 
     2041      17,     0,    18,     0,     0,     0,     0,    19,    20,    21, 
     2042      22,    23,     0,    24,    25,     0,     0,    26,    27,    28, 
     2043      29,    30,    31,    32,    33,    34,    35,    36,     0,    37, 
     2044       0,    38,    39,     0,     0,    40,    41,    42,     0,    43, 
     2045       0,    44,     0,     0,    45,    46,     0,     0,    47,    48, 
     2046      49,     0,     0,     0,     0,     0,     0,     0,    50,     0, 
     2047       0,     0,    52,    53,    54,    55,    56,    57,    58,    59, 
     2048      60,    61,    62,    63,     0,     0,    64,     0,     0,    65, 
     2049      66,    67,    68,     5,     0,     0,     6,   487,     7,     0, 
     2050       8,     0,     0,     9,     0,     0,     0,     0,     0,     0, 
     2051       0,     0,     0,    10,     0,     0,     0,     0,     0,     0, 
     2052       0,     0,     0,     0,     0,     0,     0,     0,     0,    11, 
     2053       0,     0,     0,    12,    13,     0,     0,     0,    14,     0, 
     2054       0,     0,     0,     0,    15,     0,    16,    17,     0,    18, 
     2055       0,     0,     0,     0,    19,    20,    21,    22,    23,     0, 
     2056      24,    25,     0,     0,    26,    27,    28,    29,    30,    31, 
     2057      32,    33,    34,    35,    36,     0,    37,     0,    38,    39, 
     2058       0,     0,    40,    41,    42,     0,    43,     0,    44,     0, 
     2059       0,    45,    46,     0,     0,    47,    48,    49,     0,     0, 
     2060       0,     0,     0,     0,     0,    50,     0,     0,     0,    52, 
     2061      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, 
     2062      63,     8,     0,    64,     9,     0,    65,    66,    67,    68, 
     2063       0,     0,     0,     0,    10,     0,     0,     0,     0,     0, 
    19442064       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1945      177,     0,   657,     0,     0,     0,     0,     0,     0,   149, 
    1946        0,   178,   179,     0,     0,     0,     0,   180,   150,   151, 
    1947        0,     0,     0,     0,     0,     0,     0,   181,   182,     0, 
    1948        0,   183,   184,   185,   186,     0,   152,   153,    91,     0, 
    1949        0,   154,   155,   156,   157,   187,     0,     0,   188,     0, 
    1950        0,     0,     0,   158,   159,   160,   161,   162,   163,   164, 
    1951        0,   165,   166,   167,     0,     0,   168,   169,   170,     0, 
    1952      171,   172,   173,   174,   175,     0,   176,     0,     0,     0, 
     2065      11,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     2066       0,     0,     0,     0,     0,    15,     0,     0,     0,     0, 
     2067      18,     0,   746,     0,     0,    19,    20,    21,    22,    23, 
     2068       0,     0,    25,     0,     0,    26,    27,    28,    29,    30, 
     2069      31,    32,    33,    34,    35,     0,     0,     8,     0,     0, 
     2070       9,     0,     0,     0,    41,     0,     0,     0,     0,    44, 
     2071      10,     0,     0,     0,     0,     0,    47,     0,    49,     0, 
     2072       0,     0,     0,     0,     0,     0,    11,     0,     0,     0, 
     2073       0,     0,     0,     0,     0,     0,     0,    59,    60,    61, 
     2074      62,    15,     0,     0,     0,     0,    18,     0,     0,    67, 
     2075      68,    19,    20,    21,    22,    23,     0,     0,    25,     0, 
     2076       0,    26,    27,    28,    29,    30,    31,    32,    33,    34, 
     2077      35,     0,     0,     0,     0,     0,   825,     0,     0,     0, 
     2078      41,     0,     0,     0,     0,    44,     0,     0,     0,     0, 
     2079       0,     0,    47,     0,    49,     0,     0,     0,     0,     0, 
     2080       0,     0,    11,     0,     0,     0,     0,     0,     0,     0, 
     2081       0,     0,     0,    59,    60,    61,    62,    15,     0,     0, 
     2082       0,     0,    18,   826,     0,    67,    68,    19,    20,   827, 
     2083       0,    23,     0,     0,    25,     0,     0,    26,    27,    28, 
     2084      29,    30,    31,    32,    33,    34,    35,     0,     0,     0, 
     2085       0,     0,   825,     0,     0,     0,    41,     0,     0,     0, 
     2086       0,    44,     0,     0,     0,     0,     0,     0,    47,     0, 
     2087      49,     0,     0,     0,     0,     0,     0,     0,    11,     0, 
     2088       0,     0,     0,     0,     0,     0,     0,     0,     0,    59, 
     2089      60,    61,    62,    15,     0,     0,     0,     0,    18,     0, 
     2090       0,   170,    68,    19,    20,   827,     0,    23,     0,     0, 
     2091      25,     0,     0,    26,    27,    28,    29,    30,    31,    32, 
     2092      33,    34,    35,     0,     0,     0,     0,     0,     0,     0, 
     2093       0,     0,    41,     0,     0,     0,     0,    44,     0,     0, 
     2094       0,     0,     0,     0,    47,     0,    49,     0,     0,     0, 
    19532095       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1954        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1955        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1956        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1957        0,     0,     0,     0,     0,     0,     0,     0,   177,     0, 
    1958        0,     0,     0,     0,     0,     0,     0,   149,     0,   178, 
    1959      179,     0,     0,     0,     0,   180,   150,   151,   746,     0, 
    1960      747,     0,     0,     0,     0,   181,   182,     0,     0,   183, 
    1961      184,   185,   186,     0,   152,   153,    91,     0,     0,   154, 
    1962      155,   156,   157,   187,     0,     0,   188,     0,     0,     0, 
    1963        0,   158,   159,   160,   161,   162,   163,   164,     0,   165, 
    1964      166,   167,     0,     0,   168,   169,   170,     0,   171,   172, 
    1965      173,   174,   175,     0,   176,     0,     0,     0,     0,     0, 
    1966        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1967        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1968        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1969        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1970        0,     0,     0,     0,     0,     0,   177,     0,     0,     0, 
    1971        0,     0,     0,     0,     0,   149,     0,   178,   179,     0, 
    1972        0,     0,     0,   180,   150,   151,   532,     0,     0,     0, 
    1973        0,     0,     0,   181,   182,     0,     0,   183,   184,   185, 
    1974      186,     0,   152,   153,    91,     0,     0,   154,   155,   156, 
    1975      157,   187,     0,     0,   748,     0,     0,     0,     0,   158, 
    1976      159,   160,   161,   162,   163,   164,     0,   165,   166,   167, 
    1977        0,     0,   168,   169,   170,     0,   171,   172,   173,   174, 
    1978      175,     0,   176,     0,     0,     0,     0,     0,     0,     0, 
    1979        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1980        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1981        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1982        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1983        0,     0,     0,     0,   177,     0,     0,     0,     0,     0, 
    1984        0,     0,     0,   149,     0,   178,   179,     0,     0,     0, 
    1985        0,   180,   150,   151,   557,     0,     0,     0,     0,     0, 
    1986        0,   181,   182,     0,     0,   183,   184,   185,   186,     0, 
    1987      152,   153,   538,     0,     0,   154,   155,   156,   157,   187, 
    1988        0,     0,   188,     0,     0,     0,     0,   158,   159,   160, 
    1989      161,   162,   163,   164,     0,   165,   166,   167,     0,     0, 
    1990      168,   169,   170,     0,   171,   172,   173,   174,   175,     0, 
    1991      176,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1992        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1993        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1994        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1995        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1996        0,     0,   177,     0,     0,     0,     0,     0,     0,     0, 
    1997        0,   149,     0,   178,   179,     0,     0,     0,     0,   180, 
    1998      150,   151,   532,     0,     0,     0,     0,     0,     0,   181, 
    1999      182,     0,     0,   183,   184,   185,   186,     0,   152,   153, 
    2000       91,     0,     0,   154,   155,   156,   157,   187,     0,     0, 
    2001      188,     0,     0,     0,     0,   158,   159,   160,   161,   162, 
    2002      163,   164,     0,   165,   166,   167,     0,     0,   168,   169, 
    2003      170,     0,   171,   172,   173,   174,   175,     0,   176,     0, 
    2004        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2005        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2006        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2007        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2008        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2009      177,     0,     0,     0,     0,     0,     0,     0,     0,   149, 
    2010        0,   178,   179,     0,     0,     0,     0,   180,   150,   151, 
    2011      733,     0,     0,     0,     0,     0,     0,   181,   182,     0, 
    2012        0,   183,   184,   185,   186,     0,   152,   153,    91,     0, 
    2013        0,   154,   155,   156,   157,   187,     0,     0,   188,     0, 
    2014        0,     0,     0,   158,   159,   160,   161,   162,   163,   164, 
    2015        0,   165,   166,   167,     0,     0,   168,   169,   170,     0, 
    2016      171,   172,   173,   174,   175,     0,   176,     0,     0,     0, 
    2017        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2018        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2019        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2020        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2021        0,     0,     0,     0,     0,     0,     0,     0,   177,     0, 
    2022        0,     0,     0,     0,     0,     0,     0,   149,     0,   178, 
    2023      179,     0,     0,     0,     0,   180,   150,   151,   709,     0, 
    2024        0,     0,     0,     0,     0,   181,   182,     0,     0,   183, 
    2025      184,   185,   186,     0,   152,   153,    91,     0,     0,   154, 
    2026      155,   156,   157,   187,     0,     0,   188,     0,     0,     0, 
    2027        0,   158,   159,   160,   161,   162,   163,   164,     0,   165, 
    2028      166,   167,     0,     0,   168,   169,   170,     0,   171,   172, 
    2029      173,   174,   175,     0,   176,     0,     0,     0,     0,     0, 
    2030        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2031        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2032        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2033        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2034        0,     0,     0,     0,     0,     0,   177,     0,     0,     0, 
    2035        0,     0,     0,     0,     0,   149,     0,   178,   179,     0, 
    2036        0,     0,     0,   180,   150,   151,   954,     0,     0,     0, 
    2037        0,     0,     0,   181,   182,     0,     0,   183,   184,   185, 
    2038      186,     0,   152,   153,    91,     0,     0,   154,   155,   156, 
    2039      157,   187,     0,     0,   188,     0,     0,     0,     0,   158, 
    2040      159,   160,   161,   162,   163,   164,     0,   165,   166,   167, 
    2041        0,     0,   168,   169,   170,     0,   171,   172,   173,   174, 
    2042      175,     0,   176,     0,     0,     0,     0,     0,     0,     0, 
    2043        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2044        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2045        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2046        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2047        0,     0,     0,     0,   177,     0,     0,     0,     0,     0, 
    2048        0,     0,     0,   149,     0,   178,   179,     0,     0,     0, 
    2049        0,   180,   150,   151,     0,     0,     0,     0,     0,     0, 
    2050        0,   181,   182,     0,     0,   183,   184,   185,   186,     0, 
    2051      152,   153,    91,     0,     0,   154,   155,   156,   157,   187, 
    2052        0,     0,   188,     0,     0,     0,     0,   158,   159,   160, 
    2053      161,   162,   163,   164,     0,   165,   166,   167,     0,     0, 
    2054      168,   169,   170,     0,   171,   172,   173,   174,   175,     0, 
    2055      176,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2056        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2057        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2058        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2059        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2060        0,     0,   177,     0,     0,     0,     0,     0,     0,     0, 
    2061        0,   149,     0,   178,   179,     0,     0,     0,     0,   180, 
    2062      150,   151,     0,     0,     0,     0,     0,     0,     0,   181, 
    2063      182,     0,     0,   183,   184,   185,   186,     0,   152,   153, 
    2064       91,     0,     0,   154,   155,   156,   157,   187,     0,     0, 
    2065      188,     0,     0,     0,     0,   158,   159,   160,   161,   162, 
    2066      163,   164,     0,   165,   166,   167,     0,     0,   168,   169, 
    2067      170,     0,   171,   172,   173,   174,   175,     0,   176,     0, 
    2068        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2069        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2070        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2071        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2072        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2073      177,     0,     0,     0,     0,     0,     0,     0,     0,   149, 
    2074        0,   178,   179,     0,     0,     0,     0,   180,   150,   151, 
    2075        0,     0,     0,     0,     0,     0,     0,   181,   182,     0, 
    2076        0,   183,   184,   185,   186,     0,   152,   153,    91,     0, 
    2077        0,   154,   155,   156,   157,   187,     0,     0,   381,     0, 
    2078        0,     0,     0,   158,   159,   160,   161,   162,   163,   164, 
    2079        0,   165,   166,   167,     0,     0,   168,   169,   170,     0, 
    2080      171,   172,   173,   174,   175,     0,   176,     0,     0,     0, 
    2081        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2082        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2083        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2084        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2085        0,     0,     0,     0,     0,     0,     0,     0,   177,     0, 
    2086        0,     0,     0,     0,     0,     0,     0,   149,     0,   178, 
    2087      179,     0,     0,     0,     0,   180,   150,   151,     0,     0, 
    2088        0,     0,     0,     0,     0,   181,   182,     0,     0,   183, 
    2089      184,   185,   186,     0,   152,   153,    91,     0,     0,   154, 
    2090      155,   156,   157,   444,     0,     0,   188,     0,     0,     0, 
    2091        0,   158,   159,   160,   161,   162,   163,   164,     0,   165, 
    2092      166,   167,     0,     0,   168,   169,   170,     0,   171,   172, 
    2093      173,   174,   175,     0,   176,     0,     0,     0,     0,     0, 
    2094        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2095        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2096        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2097        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2098        0,     0,     0,     0,     0,     0,   177,     0,     0,     0, 
    2099        0,     0,     0,     0,     0,   149,     0,   178,   179,     0, 
    2100        0,     0,     0,   180,   150,   151,     0,     0,     0,     0, 
    2101        0,     0,     0,   181,   182,     0,     0,   183,   184,   185, 
    2102      186,     0,   152,   153,    91,     0,     0,   154,   155,   156, 
    2103      157,   187,     0,     0,   541,     0,     0,     0,     0,   158, 
    2104      159,   160,   161,   162,   163,   164,     0,   165,   166,   167, 
    2105        0,     0,   168,   169,   170,     0,   171,   172,   173,   174, 
    2106      175,     0,   176,     0,     0,     0,     0,     0,     0,     0, 
    2107        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2108        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2109        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2110        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2111        0,     0,     0,     0,   177,     0,     0,     0,     0,     0, 
    2112        0,     0,     0,   149,     0,   178,   179,     0,     0,     0, 
    2113        0,   180,   150,   151,     0,     0,     0,     0,     0,     0, 
    2114        0,   181,   182,     0,     0,   183,   184,   185,   186,     0, 
    2115      152,   153,   888,     0,     0,   154,   155,   156,   157,   187, 
    2116        0,     0,   381,     0,     0,     0,     0,   158,   159,   160, 
    2117      161,   162,   163,   164,     0,   165,   166,   167,     0,     0, 
    2118      168,   169,   170,     0,   171,   172,   173,   174,   175,     0, 
    2119      176,   329,   330,   562,     0,   563,     0,     0,     0,     0, 
    2120        0,     0,     0,     0,     0,     0,     0,     0,     0,   152, 
    2121      153,     0,     0,     0,   154,   155,   156,   157,     0,     0, 
    2122      332,   333,   334,     0,     0,   335,   158,   159,   160,   161, 
    2123      162,   163,   164,     0,   165,   166,   167,     0,     0,   168, 
    2124      169,   170,   177,   171,   172,   173,   174,   175,     0,   176, 
    2125        0,     0,     0,   178,   179,     0,     0,     0,     0,   180, 
    2126        0,     0,     0,     0,     0,     0,     0,     0,     0,   181, 
    2127      182,     0,     0,   183,   184,   185,   186,     0,     0,     0, 
    2128       91,     0,     0,     0,     0,     0,     0,   187,     0,     0, 
    2129      917,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2130        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2131        0,     0,   178,   179,     0,     0,     0,     0,   180,     0, 
    2132        0,     0,     0,     0,     0,     0,     0,     0,   181,   182, 
    2133        0,     0,   183,   184,   185,   186,   329,   330,   331,   336, 
    2134        0,     0,     0,     0,     0,     0,   187,     0,     0,   564, 
    2135        0,     0,     0,     0,   152,   153,     0,     0,     0,   154, 
    2136      155,   156,   157,     0,     0,   332,   333,   334,     0,     0, 
    2137      335,   158,   159,   160,   161,   162,   163,   164,     0,   165, 
    2138      166,   167,   329,   330,   168,   169,   170,     0,   171,   172, 
    2139      173,   174,   175,     0,   176,     0,     0,     0,     0,     0, 
    2140      152,   153,     0,     0,     0,   154,   155,   156,   157,     0, 
    2141        0,   332,   333,   334,     0,     0,   335,   158,   159,   160, 
    2142      161,   162,   163,   164,     0,   165,   166,   167,     0,     0, 
    2143      168,   169,   170,     0,   171,   172,   173,   174,   175,     0, 
    2144      176,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2145        0,     0,     0,     0,     0,     0,     0,   178,   179,     0, 
    2146        0,     0,     0,   180,     0,     0,     0,     0,     0,     0, 
    2147        0,     0,     0,   181,   182,     0,     0,   183,   184,   185, 
    2148      186,     0,     0,     0,   336,     0,     0,     0,     0,     0, 
    2149        0,   187,     0,    19,   337,     0,    20,   -28,    21,   -28, 
    2150        0,     0,    22,   178,   179,    23,    24,    25,     0,   180, 
    2151        0,     0,    26,    27,     0,     0,     0,     0,     0,   181, 
    2152      182,     0,     0,   183,   184,   185,   186,    28,     0,     0, 
    2153      336,    29,    30,     0,     0,     0,    31,   187,     0,     0, 
    2154      564,     0,    32,     0,    33,    34,     0,    35,     0,    36, 
    2155       37,    38,    39,    40,     0,    41,    42,    43,    44,    45, 
    2156       46,    47,    48,    49,    50,    51,    52,    53,    54,    55, 
    2157       56,     0,     0,    57,    58,    59,     0,    60,    61,    62, 
    2158        0,    63,    64,    65,     0,     0,    66,     0,    67,     0, 
    2159        0,    68,    69,    70,    71,     0,     0,    72,    73,    74, 
    2160        0,     0,     0,     0,     0,    75,     0,     0,     0,    76, 
    2161       77,    78,    79,    80,    81,    82,     0,    83,    84,    85, 
    2162       86,    87,     0,     0,    88,     0,     0,     0,     0,   152, 
    2163      153,    89,    90,    91,   154,   155,   156,   157,     0,     0, 
    2164       92,     0,     0,     0,     0,     0,   158,   159,   160,   161, 
    2165      162,   163,   164,     0,   165,   166,   167,     0,     0,   168, 
    2166      169,   170,     0,   171,   172,   173,   174,   175,     0,   176, 
    2167      152,   153,     0,     0,     0,   154,   155,   156,   157,     0, 
    2168        0,     0,     0,     0,     0,     0,     0,   158,   159,   160, 
    2169      161,   162,   163,   164,     0,   165,   166,   167,     0,     0, 
    2170      168,   169,   170,     0,   171,   172,   173,   174,   175,     0, 
    2171      176,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2172        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    2173        0,     0,   178,   179,     0,     0,     0,     0,   180,     0, 
    2174        0,     0,     0,     0,     0,     0,     0,     0,   181,   182, 
    2175        0,     0,   183,   184,   185,   186,     0,     0,     0,    91, 
    2176        0,     0,     0,     0,     0,     0,   187,     0,     0,   576, 
    2177        0,     0,     0,   178,   179,     0,     0,     0,     0,   180, 
    2178        0,     0,     0,     0,     0,     0,     0,     0,     0,   181, 
    2179      182,     0,     0,   183,   184,   185,   186,     0,     0,     0, 
    2180      888,     0,     0,     0,     0,     0,     0,   187,     0,     0, 
    2181      576 
     2096       0,     0,     0,     0,     0,    59,    60,    61,    62,     0, 
     2097       0,     0,     0,     0,     0,     0,     0,   170,    68 
    21822098}; 
     2099 
     2100#define yypact_value_is_default(Yystate) \ 
     2101  (!!((Yystate) == (-845))) 
     2102 
     2103#define yytable_value_is_error(Yytable_value) \ 
     2104  (!!((Yytable_value) == (-542))) 
    21832105 
    21842106static const yytype_int16 yycheck[] = 
    21852107{ 
    2186       26,   177,    28,   200,   140,    35,    32,   297,    13,    35, 
    2187      274,   177,   188,   289,   278,    41,   414,   716,    46,   499, 
    2188      105,   327,   107,   231,    18,   579,   111,   231,   582,     5, 
    2189        3,   337,   236,   449,   236,    34,     3,   140,     4,     3, 
    2190      346,   177,    70,    71,     4,    24,     3,     4,     3,    23, 
    2191       78,     3,    23,     3,    31,   381,    61,   123,   234,   489, 
    2192       59,    60,   494,   729,    33,     3,    35,   499,   103,     5, 
    2193      140,    21,    22,    23,     3,     3,   125,   112,     3,   177, 
    2194      577,   344,   579,   793,   794,   582,   759,     3,     3,     3, 
    2195       23,     3,     3,     3,     3,     4,   124,   527,   126,   127, 
    2196        3,     3,     3,    23,   130,   169,   169,   137,     3,     3, 
    2197        3,   137,     3,     3,     3,   179,    23,    20,   169,   169, 
    2198      169,    24,   148,   149,   187,   158,    35,    97,   231,    99, 
    2199      169,   157,   179,   236,    21,    22,    23,   187,   143,    20, 
    2200       21,    22,    23,    24,    25,   171,   179,     3,    23,   217, 
    2201      126,   177,     3,    25,   169,   179,    23,    24,    25,    20, 
    2202      123,   176,   188,    24,   863,   189,   192,     5,    24,    20, 
    2203      238,   347,   882,    24,   137,    20,    20,   203,   179,    24, 
    2204       24,   347,   286,   176,   210,    20,   179,   272,   189,    24, 
    2205      126,   327,   169,   219,   260,   169,    80,    81,   224,   865, 
    2206      179,   337,   207,     4,   308,   381,   342,   180,   234,   882, 
    2207      346,   347,   156,   189,   158,   381,   180,   188,   244,   127, 
    2208      187,   187,   921,   180,   327,   180,   231,   187,   180,   234, 
    2209      315,   236,   237,   179,   337,   169,   169,   242,   188,   342, 
    2210      275,   531,   180,   346,    27,   381,   281,   180,   538,   179, 
    2211      285,   180,   180,   258,   158,   180,   255,   327,   564,   179, 
    2212      757,   758,   169,   760,   180,   180,   180,   337,   180,   180, 
    2213      180,   297,   342,   180,   279,   301,   346,   303,   180,   180, 
    2214      586,   587,   588,   589,   590,   180,   180,   180,   126,   180, 
    2215      180,   180,   318,   319,   179,   265,   179,   323,   169,   180, 
    2216      626,   188,   628,   629,   179,   568,   332,   333,   334,   335, 
    2217      413,   316,   575,   185,   186,   320,   179,   311,   185,   186, 
    2218      179,   347,   327,   427,   169,   169,   261,   262,   591,   883, 
    2219      179,   180,   337,   359,   169,    21,    22,   363,   364,   365, 
    2220      366,   367,   368,   369,   370,   371,   372,   373,   374,   179, 
    2221      576,   767,   768,   169,   179,   381,   169,   837,   584,   294, 
    2222      176,     3,     4,   179,   844,   541,   392,   393,   394,   395, 
    2223      396,   397,   398,   399,   400,   401,   402,   403,   404,   405, 
    2224      406,   407,   408,   409,   410,   593,   883,     3,   414,   593, 
    2225      594,   176,   594,     3,   179,    23,   422,   423,     3,   838, 
    2226      839,   840,   841,   507,   508,   837,   838,   839,   840,   841, 
    2227      808,   515,   844,   357,   358,    20,   501,   140,   141,    24, 
    2228        4,   506,   169,   176,   509,   138,   139,   140,   564,    23, 
    2229       24,    25,   376,   377,   378,   379,   380,     3,   728,   936, 
    2230      576,   717,   546,   707,   750,   389,   179,   169,   584,   179, 
    2231      586,   587,   588,   589,   590,   179,   632,   485,   179,   179, 
    2232      626,   564,   628,   629,   179,   491,   792,   793,   794,   495, 
    2233      179,   179,   676,   576,   676,   179,   502,   681,   179,   681, 
    2234      179,   584,   745,   586,   587,   588,   589,   590,   179,   179, 
    2235      593,   594,   179,   189,   564,   179,   179,   179,   179,   762, 
    2236      763,   764,   765,   766,   179,   531,   576,   179,   179,   179, 
    2237      179,   537,   538,   179,   584,   541,   586,   587,   588,   589, 
    2238      590,   179,   179,   169,     5,   169,     7,     8,     9,    10, 
    2239       11,     3,    13,    14,    15,    16,    17,    18,     4,   565, 
    2240       21,    22,    23,    24,    25,   169,   169,     3,   574,     3, 
    2241       20,    21,    22,    23,    24,    25,    20,    21,    22,    23, 
    2242       24,    25,     5,   169,     3,   595,   169,   179,   169,   595, 
    2243      596,   169,   748,   676,     3,     3,   169,   867,   681,     4, 
    2244       11,   180,    13,    14,    15,    16,    17,    18,   593,   594, 
    2245       21,    22,    23,    24,    25,    21,    22,    23,    24,    25, 
    2246      626,   176,   628,   629,     3,   176,   632,   633,    20,    21, 
    2247       22,    23,    24,    25,   750,     5,   792,   814,   881,     3, 
    2248      179,   725,   179,   759,   650,   651,   792,   793,   794,   655, 
    2249      700,   657,   132,     3,     3,   661,     3,   741,    20,    21, 
    2250       22,    23,    24,    25,     3,   749,   189,   750,   674,   675, 
    2251        3,   180,   180,     3,     3,   179,   759,   169,    24,   179, 
    2252      169,   687,   667,   689,   169,   179,   169,   180,     3,   180, 
    2253      878,   676,     5,   180,   176,     3,   681,     3,   683,    25, 
    2254      750,     3,   708,    13,    14,    15,    16,    17,    18,   759, 
    2255        3,    21,    22,    23,    24,    25,     3,   180,   179,     4, 
    2256      180,   169,   728,    84,   185,   186,   180,   180,   189,   714, 
    2257      180,    30,   816,    24,   740,    24,   180,   179,   744,     9, 
    2258       10,    11,   748,    13,    14,    15,    16,    17,    18,    24, 
    2259       23,    21,    22,    23,    24,    25,     4,   169,   180,   169, 
    2260      180,   917,     4,   126,     3,   750,   882,    20,     3,     5, 
    2261      169,   169,     5,   180,   185,   186,   179,     3,   862,   180, 
    2262      180,    24,    29,   180,   180,   180,   792,   793,   794,   873, 
    2263      180,   180,   180,     3,   188,   126,   180,   180,   169,   882, 
    2264      169,   258,   808,   809,    10,     3,    14,     5,   906,     7, 
    2265        8,     9,    10,    11,   904,    13,    14,    15,    16,    17, 
    2266       18,   428,   528,    21,    22,    23,    24,    25,   685,   689, 
    2267      498,   511,   882,    80,    81,    82,   268,   493,   537,   304, 
    2268      416,   721,   848,   848,   850,    76,   852,    13,    14,    15, 
    2269       16,    17,    18,   850,   675,    21,    22,    23,    24,    25, 
    2270      897,   867,   109,   748,   111,   112,   113,   955,   871,   116, 
    2271      117,   143,   119,   120,   959,   185,   186,   555,   142,   143, 
    2272      140,   347,   744,   381,   750,   557,   593,    -1,   894,   594, 
    2273      896,   897,    -1,   878,   158,   159,    -1,    -1,   162,   163, 
     2108      11,   295,     1,   185,    15,   101,   219,    18,   104,   240, 
     2109     394,   577,   108,   395,   277,   111,    54,   161,   482,   477, 
     2110     205,   536,   536,   653,   482,     5,   264,   124,   172,    79, 
     2111     268,    81,    82,   161,     3,     3,    86,     3,   274,   710, 
     2112      39,     3,   564,   565,     1,     3,   124,    17,   719,    75, 
     2113      76,     3,    51,    80,   124,   291,   563,   564,   565,     3, 
     2114      87,    19,    20,    21,     3,    31,   722,    37,    38,   768, 
     2115     214,     3,     3,   217,   214,   113,   363,   115,   116,   329, 
     2116      24,    21,     3,   161,   747,   124,   214,    21,     5,     6, 
     2117       7,     8,     9,    10,    51,    12,    13,    14,    15,    16, 
     2118      17,   127,    19,    20,    21,    22,    23,    27,     3,     3, 
     2119      22,   122,     3,     3,     3,   212,   213,   904,     3,   130, 
     2120     131,   132,   219,    21,     3,   112,     3,    45,     3,    44, 
     2121     141,   153,   976,     3,    24,   213,   214,    18,     3,     3, 
     2122     121,    22,   122,   213,   155,   101,    24,   131,   245,    24, 
     2123     161,   198,     3,     3,     3,     3,     3,     3,     3,    24, 
     2124       3,   172,    19,    20,    21,   131,   177,   131,   404,    91, 
     2125      88,    89,   119,   891,   221,   162,  1020,    18,   428,   160, 
     2126     191,    22,   166,   130,    21,    21,    22,    23,   168,   188, 
     2127     201,   202,   107,   115,   160,   140,   246,   142,   166,   168, 
     2128     987,   163,   166,   214,   160,   160,   217,   206,    23,   167, 
     2129     881,   163,   157,   931,   213,   914,   227,   161,   217,   363, 
     2130     160,   220,   166,   363,   163,   322,   225,   253,   884,   240, 
     2131     327,   163,   163,   167,   331,   363,     5,   900,   265,    24, 
     2132     160,   472,   163,   270,   322,   162,   273,   164,   165,   327, 
     2133     162,   168,   322,   331,   131,   254,   162,   327,   765,   766, 
     2134     767,   331,   140,    21,   162,   501,   502,   237,   163,   163, 
     2135     269,   161,   163,   509,   163,   286,   166,   288,   163,   160, 
     2136      21,     3,    24,   322,   163,   363,   161,   523,   166,   300, 
     2137     301,   166,   331,   163,   305,   526,   161,   254,   534,   163, 
     2138     485,   166,    44,   314,   315,   316,   317,   318,   319,   320, 
     2139     167,   561,   163,   163,   163,   163,   163,   163,   163,   160, 
     2140     163,   608,   609,   322,   611,   162,   576,   424,   164,   165, 
     2141     341,   796,   797,   798,   345,   346,   347,   348,   349,   350, 
     2142     351,   352,   353,   354,   355,   356,   424,    18,   162,   164, 
     2143     165,    22,   363,   122,   424,    18,    19,    20,    21,    22, 
     2144      23,   162,   373,   374,   375,   376,   377,   378,   379,   380, 
     2145     381,   382,   383,   384,   385,   386,   387,   388,   389,   390, 
     2146     391,   166,   846,    18,   395,   424,   530,     3,   846,   847, 
     2147     848,   849,   850,   915,   339,   340,   490,   160,   140,   162, 
     2148     162,     3,   160,  1033,   126,   163,    22,   133,   915,   659, 
     2149     133,   255,   256,   358,   425,   360,   361,   362,   162,   160, 
     2150      94,    95,   163,   153,   166,   370,   520,   663,   133,    31, 
     2151     162,   813,   162,   471,   160,   161,   562,   160,   282,     3, 
     2152     160,    78,    79,   569,   657,   495,   166,   543,   711,   914, 
     2153     500,   160,   836,   503,    18,   160,   669,   166,    22,   160, 
     2154      18,   472,   756,   701,    22,   562,  1032,   478,   162,    29, 
     2155     614,    31,   569,   162,   571,   572,   573,   574,   575,   160, 
     2156     491,   162,   718,   990,   562,   496,   160,   122,   131,   160, 
     2157     721,   569,   562,   571,   572,   573,   574,   575,     3,   569, 
     2158     163,   571,   572,   573,   574,   575,  1021,  1021,   693,   796, 
     2159     797,   798,   162,    18,   525,   526,   162,    22,   662,   530, 
     2160     770,   771,   772,   773,   774,   536,     3,  1042,  1042,   131, 
     2161     161,   162,   571,   572,   573,   574,   575,    83,   537,    85, 
     2162     539,    18,  1006,   123,   641,    22,   160,   546,  1006,   560, 
     2163       8,     9,    10,     4,    12,    13,    14,    15,    16,    17, 
     2164     657,    19,    20,    21,    22,    23,   577,   664,   579,   160, 
     2165     161,   162,   669,    18,    19,    20,    21,    22,    23,    18, 
     2166      19,    20,    21,    22,    23,   821,   664,    24,    41,    19, 
     2167      20,    21,    22,    23,   664,   161,   162,   608,   609,   166, 
     2168     611,   162,   163,   614,   615,   847,   848,   849,   850,   903, 
     2169     134,   135,   136,   683,    21,    22,    23,    19,    20,    83, 
     2170      84,   632,   633,    37,    38,     3,   637,     3,   639,   123, 
     2171     124,   160,   643,     3,   162,   162,   162,   819,   168,   162, 
     2172     162,   652,   738,   654,   740,   656,   162,   646,   162,   162, 
     2173     162,   662,   796,   749,   653,   886,   162,     3,   162,   162, 
     2174     162,   162,   162,   162,   675,   664,   677,   162,     3,   162, 
     2175     162,   768,   671,   162,   162,   162,   912,   162,   162,   132, 
     2176     691,   692,   160,     3,   160,   138,   139,   160,   982,   163, 
     2177     768,   702,     5,   160,     3,   160,   162,   160,   768,   160, 
     2178     153,   154,     3,   156,   157,   160,   164,   165,   161,   708, 
     2179     721,     5,     6,     7,     8,     9,    10,     3,    12,    13, 
     2180      14,    15,    16,    17,   160,    19,    20,    21,    22,    23, 
     2181       3,     5,   161,     3,     3,   163,     3,     3,   162,    22, 
     2182     751,     5,     3,     3,   163,   163,     3,     3,   163,   760, 
     2183     162,   160,   988,     3,   160,   163,     3,   162,     5,     6, 
     2184       7,     8,     9,    10,   162,    12,    13,    14,    15,    16, 
     2185      17,   162,    19,    20,    21,    22,    23,   162,   160,   163, 
     2186     161,     3,     3,    23,     3,   796,   797,   798,     3,     3, 
     2187     163,     4,   163,    22,   163,   163,   160,   893,    22,   162, 
     2188      26,    21,   813,   814,   163,   160,   902,   163,     4,    36, 
     2189     122,   955,     3,   160,   162,   160,    10,   914,    12,    13, 
     2190      14,    15,    16,    17,   160,    19,    20,    21,    22,    23, 
     2191     163,     3,   162,   162,     5,   163,   914,     5,   935,   163, 
     2192     162,   160,   163,   160,   914,   160,     4,   163,     3,   163, 
     2193      82,   122,   163,   163,     3,    22,   160,   868,   163,   870, 
     2194     167,   872,   160,   160,   163,   168,    82,   163,   163,   160, 
     2195     164,   165,    25,   160,   168,   886,   160,    22,   974,   160, 
     2196     891,    51,   254,   950,   485,   948,   897,    12,    13,    14, 
     2197      15,    16,    17,   904,    19,    20,    21,    22,    23,    12, 
     2198      13,    14,    15,    16,    17,   673,    19,    20,    21,    22, 
     2199      23,   677,   911,   924,   405,   926,   927,   164,   165,   481, 
     2200     931,   932,   505,   934,   480,    78,    79,    80,   260,   525, 
     2201     493,   289,   715,   944,    52,   868,   927,   397,   937,   959, 
     2202     870,   662,   890,  1016,   955,   985,   541,   757,   937,   960, 
     2203     961,   760,   664,   106,   435,   108,   109,   110,   124,    -1, 
     2204     113,   114,    -1,   116,   117,    -1,    -1,     0,     1,    -1, 
     2205     164,   165,    -1,    -1,   985,    -1,   987,    -1,    -1,    -1, 
     2206      -1,    -1,    -1,    -1,   983,   996,    -1,    -1,   999,    -1, 
     2207      -1,    24,    25,    -1,    -1,    28,    29,    30,    31,    32, 
     2208      -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2209    1021,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,  1030, 
     2210      -1,  1032,    -1,  1034,  1035,  1024,    -1,    -1,    61,    -1, 
     2211      -1,  1042,    65,    66,  1033,    -1,    -1,    70,  1049,   164, 
     2212     165,    -1,    -1,    76,    -1,    78,    79,    -1,    81,    -1, 
     2213      -1,   164,   165,    86,    87,    88,    89,    90,    -1,    92, 
     2214      93,    -1,    -1,    96,    97,    98,    99,   100,   101,   102, 
     2215     103,   104,   105,   106,    -1,   108,    -1,   110,   111,    -1, 
     2216      -1,   114,   115,   116,    -1,   118,    -1,   120,    -1,    -1, 
     2217     123,   124,    -1,    -1,   127,   128,   129,    -1,    -1,    -1, 
     2218      -1,    -1,    -1,    -1,   137,    -1,    -1,   140,   141,   142, 
     2219     143,   144,   145,   146,   147,   148,   149,   150,   151,   152, 
     2220      -1,    -1,   155,    -1,    -1,   158,   159,   160,   161,    -1, 
     2221      -1,    -1,     3,   166,     5,     6,     7,     8,     9,    10, 
     2222      -1,    12,    13,    14,    15,    16,    17,    -1,    19,    20, 
     2223      21,    22,    23,     3,    -1,     5,     6,     7,     8,     9, 
     2224      10,    -1,    12,    13,    14,    15,    16,    17,    -1,    19, 
     2225      20,    21,    22,    23,     3,    -1,     5,     6,     7,     8, 
     2226       9,    10,    -1,    12,    13,    14,    15,    16,    17,    -1, 
     2227      19,    20,    21,    22,    23,     3,    -1,     5,     6,     7, 
     2228       8,     9,    10,    -1,    12,    13,    14,    15,    16,    17, 
     2229      -1,    19,    20,    21,    22,    23,     3,    -1,     5,     6, 
     2230       7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
     2231      17,    -1,    19,    20,    21,    22,    23,     4,     5,     6, 
     2232       7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
     2233      17,    -1,    19,    20,    21,    22,    23,     4,     5,     6, 
     2234       7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
     2235      17,    -1,    19,    20,    21,    22,    23,    -1,    -1,    -1, 
     2236      -1,    -1,    33,    34,    -1,    -1,    -1,    -1,    39,    40, 
     2237      41,    42,    43,   164,   165,    -1,    -1,    -1,    -1,    -1, 
     2238      -1,    -1,    -1,    54,    55,    56,    57,    58,    59,    60, 
     2239      -1,    62,    63,    64,   164,   165,    67,    68,    69,    -1, 
     2240      71,    72,    73,    74,    75,    -1,    77,    -1,    -1,    -1, 
     2241      -1,    -1,    -1,    -1,    -1,   164,   165,     5,     6,     7, 
     2242       8,     9,    10,    -1,    12,    13,    14,    15,    16,    17, 
     2243      -1,    19,    20,    21,    22,    23,   164,   165,     5,     6, 
     2244       7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
     2245      17,    -1,    19,    20,    21,    22,    23,   164,   165,    -1, 
     2246      -1,   132,    -1,    -1,    -1,    -1,    -1,   138,   139,    -1, 
     2247      -1,    -1,    -1,   144,    -1,    -1,   163,   164,   165,    -1, 
     2248      -1,    -1,   153,   154,    -1,   156,   157,    -1,    -1,   160, 
     2249     161,   162,    -1,    -1,    -1,    -1,    -1,   164,   165,     4, 
     2250       5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
     2251      15,    16,    17,    -1,    19,    20,    21,    22,    23,     4, 
     2252       5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
     2253      15,    16,    17,    -1,    19,    20,    21,    22,    23,     4, 
     2254       5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
     2255      15,    16,    17,    -1,    19,    20,    21,    22,    23,    -1, 
     2256      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2257      -1,    -1,    -1,    -1,    -1,   163,   164,   165,    -1,    -1, 
     2258      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2259      -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165,     5, 
     2260       6,     7,     8,     9,    10,    -1,    12,    13,    14,    15, 
     2261      16,    17,    -1,    19,    20,    21,    22,    23,     5,     6, 
     2262       7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
     2263      17,    -1,    19,    20,    21,    22,    23,     5,     6,     7, 
     2264       8,     9,    10,    -1,    12,    13,    14,    15,    16,    17, 
     2265      -1,    19,    20,    21,    22,    23,    -1,    -1,    -1,   164, 
     2266     165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2267      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   164, 
     2268     165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2269      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   164, 
     2270     165,     5,     6,     7,     8,     9,    10,    -1,    12,    13, 
     2271      14,    15,    16,    17,    -1,    19,    20,    21,    22,    23, 
     2272       5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
     2273      15,    16,    17,    -1,    19,    20,    21,    22,    23,    -1, 
     2274      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2275      -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165, 
     2276      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2277      -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165,    -1, 
     2278      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2279      -1,    -1,    -1,    -1,    -1,   163,   164,   165,     5,     6, 
     2280       7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
     2281      17,    -1,    19,    20,    21,    22,    23,     5,     6,     7, 
     2282       8,     9,    10,    -1,    12,    13,    14,    15,    16,    17, 
     2283      -1,    19,    20,    21,    22,    23,     5,     6,     7,     8, 
     2284       9,    10,    -1,    12,    13,    14,    15,    16,    17,    -1, 
     2285      19,    20,    21,    22,    23,    -1,    -1,    -1,    -1,   163, 
    22742286     164,   165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2275       -1,   917,   176,    -1,    -1,   185,   186,   902,    -1,    -1, 
    2276       -1,    -1,    -1,    -1,    -1,   931,    -1,    -1,    -1,    -1, 
    2277       -1,    -1,    -1,   939,    -1,    -1,    -1,    -1,    -1,   945, 
    2278       -1,    -1,   948,     0,     1,    -1,    -1,    -1,    -1,    -1, 
    2279       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   964,    -1, 
    2280       -1,    -1,    -1,   969,   970,    -1,    -1,   973,   974,    -1, 
    2281       27,    -1,    29,    -1,   980,    32,    33,    34,    35,    36, 
    2282       37,    38,    -1,    -1,    41,    42,    43,   185,   186,    -1, 
    2283       -1,    48,    49,    -1,    -1,    -1,    53,    54,    -1,    -1, 
    2284       -1,    -1,    -1,    -1,    -1,    -1,    63,    -1,    -1,    -1, 
    2285       67,    68,    -1,    -1,    -1,    72,    -1,    -1,    -1,   185, 
    2286      186,    78,    -1,    80,    81,    -1,    83,    -1,    85,    86, 
    2287       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96, 
    2288       97,    98,    99,   100,   101,   102,   103,   104,   105,   106, 
    2289       -1,    -1,   109,   110,   111,    -1,   113,   114,   115,    -1, 
    2290      117,   118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1, 
    2291      127,   128,   129,   130,    -1,    -1,   133,   134,   135,    -1, 
    2292       -1,    -1,    -1,    -1,   141,    -1,    -1,   144,   145,   146, 
    2293      147,   148,   149,   150,   151,    -1,   153,   154,   155,   156, 
    2294      157,    -1,    -1,   160,    -1,    -1,    -1,    -1,    -1,    -1, 
    2295      167,   168,   169,    -1,    -1,    -1,    -1,    -1,    -1,   176, 
    2296      177,     3,    -1,     5,    -1,     7,     8,     9,    10,    11, 
    2297      187,    13,    14,    15,    16,    17,    18,    -1,    -1,    21, 
    2298       22,    23,    24,    25,    -1,    -1,    -1,    -1,    -1,    -1, 
    2299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1, 
    2300       -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1, 
    2301       -1,    -1,    -1,    -1,    56,    57,    58,    59,    60,    61, 
    2302       62,    -1,    64,    65,    66,    -1,    -1,    69,    70,    71, 
    2303       -1,    73,    74,    75,    76,    77,     3,    79,     5,    -1, 
    2304        7,     8,     9,    10,    11,    -1,    13,    14,    15,    16, 
    2305       17,    18,    -1,    -1,    21,    22,    23,    24,    25,     3, 
    2306       -1,     5,    -1,     7,     8,     9,    10,    11,    -1,    13, 
    2307       14,    15,    16,    17,    18,    -1,    -1,    21,    22,    23, 
    2308       24,    25,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2287      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164, 
     2288     165,     5,     6,     7,     8,     9,    10,    -1,    12,    13, 
     2289      14,    15,    16,    17,    -1,    19,    20,    21,    22,    23, 
     2290       5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
     2291      15,    16,    17,    -1,    19,    20,    21,    22,    23,     5, 
     2292       6,     7,     8,     9,    10,    -1,    12,    13,    14,    15, 
     2293      16,    17,    -1,    19,    20,    21,    22,    23,    -1,    -1, 
     2294      -1,    -1,    -1,    -1,    33,    34,    -1,    -1,    -1,    -1, 
     2295      39,    40,    41,    42,    43,    -1,   163,   164,   165,    -1, 
     2296      -1,    -1,    -1,    -1,    -1,    54,    55,    56,    57,    58, 
     2297      59,    60,   160,    62,    63,    64,   164,   165,    67,    68, 
     2298      69,    -1,    71,    72,    73,    74,    75,    -1,    77,    -1, 
     2299      -1,    -1,    -1,    -1,   163,   164,   165,     5,     6,     7, 
     2300       8,     9,    10,    -1,    12,    13,    14,    15,    16,    17, 
     2301      -1,    19,    20,    21,    22,    23,     5,     6,     7,     8, 
     2302       9,    10,    -1,    12,    13,    14,    15,    16,    17,    -1, 
     2303      19,    20,    21,    22,    23,    -1,    -1,    -1,    -1,   163, 
     2304     164,   165,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138, 
     2305     139,    -1,    -1,    -1,    -1,   144,    -1,    -1,   163,   164, 
     2306     165,    -1,    -1,    -1,   153,   154,    -1,   156,   157,    -1, 
     2307      -1,   160,   161,   162,    -1,    -1,    -1,   163,   164,   165, 
     2308       5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
     2309      15,    16,    17,    -1,    19,    20,    21,    22,    23,     5, 
     2310       6,     7,     8,     9,    10,    -1,    12,    13,    14,    15, 
     2311      16,    17,    -1,    19,    20,    21,    22,    23,     5,     6, 
     2312       7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
     2313      17,    -1,    19,    20,    21,    22,    23,    -1,    -1,    -1, 
    23092314      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2310      142,   143,    -1,    -1,    -1,    -1,   148,    -1,    -1,    -1, 
    2311       -1,    -1,    -1,    -1,    -1,    -1,   158,   159,    -1,    -1, 
    2312      162,   163,   164,   165,    -1,    -1,    -1,   169,    -1,    -1, 
    2313       -1,    -1,    -1,    -1,   176,    -1,    -1,   179,    -1,    -1, 
    2314       -1,    -1,    -1,   185,   186,     3,    -1,     5,    -1,     7, 
    2315        8,     9,    10,    11,    -1,    13,    14,    15,    16,    17, 
    2316       18,    -1,    -1,    21,    22,    23,    24,    25,     3,    -1, 
    2317        5,    -1,     7,     8,     9,    10,    11,    -1,    13,    14, 
    2318       15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24, 
    2319       25,     3,    -1,     5,    -1,     7,     8,     9,    10,    11, 
    2320       -1,    13,    14,    15,    16,    17,    18,    -1,    -1,    21, 
    2321       22,    23,    24,    25,    -1,    -1,    -1,    -1,   185,   186, 
    2322       -1,    -1,    -1,    -1,    -1,    -1,     4,     5,    -1,     7, 
    2323        8,     9,    10,    11,    -1,    13,    14,    15,    16,    17, 
    2324       18,   185,   186,    21,    22,    23,    24,    25,     4,     5, 
    2325       -1,     7,     8,     9,    10,    11,    -1,    13,    14,    15, 
    2326       16,    17,    18,    -1,    -1,    21,    22,    23,    24,    25, 
    2327        4,     5,    -1,     7,     8,     9,    10,    11,    -1,    13, 
    2328       14,    15,    16,    17,    18,    -1,    -1,    21,    22,    23, 
    2329       24,    25,     4,     5,    -1,     7,     8,     9,    10,    11, 
    2330       -1,    13,    14,    15,    16,    17,    18,    -1,    -1,    21, 
    2331       22,    23,    24,    25,    -1,    -1,    -1,    -1,    -1,    -1, 
    2332       -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,   186,    -1, 
    2333       -1,    -1,    -1,    -1,    -1,     4,     5,    -1,     7,     8, 
    2334        9,    10,    11,    -1,    13,    14,    15,    16,    17,    18, 
    2335      185,   186,    21,    22,    23,    24,    25,    -1,    -1,     5, 
    2336       -1,     7,     8,     9,    10,    11,    -1,    13,    14,    15, 
    2337       16,    17,    18,   185,   186,    21,    22,    23,    24,    25, 
    2338        5,    -1,     7,     8,     9,    10,    11,    -1,    13,    14, 
    2339       15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24, 
    2340       25,    -1,   180,    -1,    -1,    -1,    -1,   185,   186,    -1, 
    2341       -1,    -1,    -1,    -1,    -1,     5,    -1,     7,     8,     9, 
    2342       10,    11,    -1,    13,    14,    15,    16,    17,    18,   185, 
    2343      186,    21,    22,    23,    24,    25,    -1,     5,    -1,     7, 
    2344        8,     9,    10,    11,    -1,    13,    14,    15,    16,    17, 
    2345       18,   185,   186,    21,    22,    23,    24,    25,    -1,     5, 
    2346       -1,     7,     8,     9,    10,    11,    -1,    13,    14,    15, 
    2347       16,    17,    18,   185,   186,    21,    22,    23,    24,    25, 
    2348        5,    -1,     7,     8,     9,    10,    11,    -1,    13,    14, 
    2349       15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24, 
    2350       25,    -1,     5,    -1,     7,     8,     9,    10,    11,    -1, 
    2351       13,    14,    15,    16,    17,    18,   185,   186,    21,    22, 
    2352       23,    24,    25,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2353       -1,    -1,    -1,    -1,   180,    -1,    -1,    -1,    -1,   185, 
    2354      186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2355       -1,    -1,    -1,    -1,    -1,   180,    -1,    -1,    -1,    -1, 
    2356      185,   186,     5,    -1,     7,     8,     9,    10,    11,    -1, 
    2357       13,    14,    15,    16,    17,    18,    -1,    -1,    21,    22, 
    2358       23,    24,    25,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2359      180,    -1,    -1,    -1,    -1,   185,   186,    -1,    -1,    -1, 
     2315      -1,    -1,    -1,    -1,    -1,   163,   164,   165,    -1,    -1, 
    23602316      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2361       -1,    -1,   180,    -1,    -1,    -1,    -1,   185,   186,    -1, 
     2317      -1,    -1,    -1,    -1,   163,   164,   165,     5,     6,     7, 
     2318       8,     9,    10,    -1,    12,    13,    14,    15,    16,    17, 
     2319      -1,    19,    20,    21,    22,    23,     5,     6,     7,     8, 
     2320       9,    10,    -1,    12,    13,    14,    15,    16,    17,    -1, 
     2321      19,    20,    21,    22,    23,     5,     6,     7,     8,     9, 
     2322      10,    -1,    12,    13,    14,    15,    16,    17,    -1,    19, 
     2323      20,    21,    22,    23,    -1,    -1,    -1,    -1,   163,   164, 
     2324     165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2325      -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165, 
    23622326      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2363       -1,    -1,    -1,    -1,   180,    -1,    -1,    -1,    -1,   185, 
    2364      186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2365       -1,    -1,    -1,    -1,    -1,   180,    -1,    -1,    -1,    -1, 
    2366      185,   186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2367       -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    -1,    -1, 
    2368       -1,    -1,   185,   186,     5,    -1,     7,     8,     9,    10, 
    2369       11,    -1,    13,    14,    15,    16,    17,    18,    -1,    -1, 
    2370       21,    22,    23,    24,    25,     5,    -1,     7,     8,     9, 
    2371       10,    11,    -1,    13,    14,    15,    16,    17,    18,    -1, 
    2372       -1,    21,    22,    23,    24,    25,    -1,    -1,    -1,    -1, 
    2373       -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    -1,    -1, 
    2374       -1,    -1,   185,   186,     5,    -1,     7,     8,     9,    10, 
    2375       11,    -1,    13,    14,    15,    16,    17,    18,    -1,    -1, 
    2376       21,    22,    23,    24,    25,     5,    -1,     7,     8,     9, 
    2377       10,    11,    -1,    13,    14,    15,    16,    17,    18,    -1, 
    2378       -1,    21,    22,    23,    24,    25,     5,    -1,     7,     8, 
    2379        9,    10,    11,    -1,    13,    14,    15,    16,    17,    18, 
    2380       -1,    -1,    21,    22,    23,    24,    25,     5,    -1,     7, 
    2381        8,     9,    10,    11,    -1,    13,    14,    15,    16,    17, 
    2382       18,    -1,    -1,    21,    22,    23,    24,    25,     5,    -1, 
    2383        7,     8,     9,    10,    11,    -1,    13,    14,    15,    16, 
    2384       17,    18,    -1,    -1,    21,    22,    23,    24,    25,    -1, 
    2385       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180, 
    2386       -1,    -1,    -1,    -1,   185,   186,    -1,    -1,    -1,   169, 
    2387       -1,     5,    -1,     7,     8,     9,    10,    11,    -1,    13, 
    2388       14,    15,    16,    17,    18,   185,   186,    21,    22,    23, 
    2389       24,    25,     5,    -1,     7,     8,     9,    10,    11,    -1, 
    2390       13,    14,    15,    16,    17,    18,    -1,    -1,    21,    22, 
    2391       23,    24,    25,    -1,    -1,    -1,    -1,    -1,    -1,   180, 
    2392       -1,    -1,    -1,    -1,   185,   186,    -1,    -1,    -1,    -1, 
     2327      -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165,     5, 
     2328       6,     7,     8,     9,    10,    -1,    12,    13,    14,    15, 
     2329      16,    17,    -1,    19,    20,    21,    22,    23,     5,     6, 
     2330       7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
     2331      17,    -1,    19,    20,    21,    22,    23,    -1,    -1,    -1, 
    23932332      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2394      180,    -1,    -1,    -1,    -1,   185,   186,    -1,    -1,    -1, 
     2333      -1,    -1,    -1,    -1,    -1,   163,   164,   165,    -1,    -1, 
    23952334      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2396       -1,   180,    -1,    -1,    -1,    -1,   185,   186,    -1,    -1, 
     2335      -1,    -1,    -1,    -1,   163,   164,   165,    -1,    -1,    -1, 
    23972336      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2398       -1,    -1,   180,    -1,    -1,    -1,    -1,   185,   186,    -1, 
     2337      -1,    -1,    -1,   163,   164,   165,     5,     6,     7,     8, 
     2338       9,    10,    -1,    12,    13,    14,    15,    16,    17,    -1, 
     2339      19,    20,    21,    22,    23,     5,     6,     7,     8,     9, 
     2340      10,    -1,    12,    13,    14,    15,    16,    17,    -1,    19, 
     2341      20,    21,    22,    23,     5,     6,     7,     8,     9,    10, 
     2342      -1,    12,    13,    14,    15,    16,    17,    -1,    19,    20, 
     2343      21,    22,    23,    -1,    -1,    -1,    -1,   163,   164,   165, 
    23992344      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2400       -1,    -1,    -1,   180,    -1,    -1,    -1,    -1,   185,   186, 
    2401        5,    -1,     7,     8,     9,    10,    11,    -1,    13,    14, 
    2402       15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24, 
    2403       25,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2404       -1,    -1,    -1,    -1,    -1,    -1,   180,    -1,    -1,    -1, 
    2405       -1,   185,   186,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2406       -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    -1,    -1, 
    2407       -1,    -1,   185,   186,     5,    -1,     7,     8,     9,    10, 
    2408       11,    -1,    13,    14,    15,    16,    17,    18,    -1,    -1, 
    2409       21,    22,    23,    24,    25,     5,    -1,     7,     8,     9, 
    2410       10,    11,    -1,    13,    14,    15,    16,    17,    18,    -1, 
    2411       -1,    21,    22,    23,    24,    25,     5,    -1,     7,     8, 
    2412        9,    10,    11,    -1,    13,    14,    15,    16,    17,    18, 
    2413       -1,    -1,    21,    22,    23,    24,    25,     5,    -1,     7, 
    2414        8,     9,    10,    11,    -1,    13,    14,    15,    16,    17, 
    2415       18,    -1,    -1,    21,    22,    23,    24,    25,     5,    -1, 
    2416        7,     8,     9,    10,    11,    -1,    13,    14,    15,    16, 
    2417       17,    18,    -1,    -1,    21,    22,    23,    24,    25,    -1, 
    2418       -1,    -1,    -1,    -1,    -1,   180,    -1,    -1,    -1,    -1, 
    2419      185,   186,     5,    -1,     7,     8,     9,    10,    11,    -1, 
    2420       13,    14,    15,    16,    17,    18,    -1,    -1,    21,    22, 
    2421       23,    24,    25,     5,    -1,     7,     8,     9,    10,    11, 
    2422       -1,    13,    14,    15,    16,    17,    18,    -1,    -1,    21, 
    2423       22,    23,    24,    25,    -1,    -1,    -1,    -1,    -1,    38, 
    2424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180, 
    2425       -1,    -1,    -1,    -1,   185,   186,    -1,    -1,    -1,    -1, 
    2426       -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,    -1, 
    2427      180,    -1,    -1,    -1,    -1,   185,   186,    -1,    -1,    78, 
    2428       -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    88, 
    2429       89,   180,    -1,    -1,    -1,    -1,   185,   186,    -1,    98, 
    2430       99,   100,   101,   102,   103,   104,   105,    -1,    -1,    -1, 
    2431       -1,    -1,   180,    -1,    -1,    -1,    -1,   185,   186,   118, 
    2432       -1,    -1,    -1,    -1,    -1,   124,    -1,    -1,    -1,    -1, 
    2433       -1,    -1,    -1,   180,   133,    -1,   135,    -1,   185,   186, 
    2434        5,    -1,     7,     8,     9,    10,    11,    -1,    13,    14, 
    2435       15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24, 
    2436       25,    -1,    -1,    -1,    -1,    -1,    -1,   180,    -1,    -1, 
    2437      169,    -1,   185,   186,    -1,    -1,    -1,   176,    -1,    -1, 
    2438       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    -1, 
    2439       -1,    -1,    -1,   185,   186,     5,    -1,     7,     8,     9, 
    2440       10,    11,     4,    13,    14,    15,    16,    17,    18,    -1, 
    2441       12,    21,    22,    23,    24,    25,    -1,    -1,    -1,    21, 
    2442       22,    23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2443       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1, 
    2444       -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1, 
    2445       -1,    -1,    -1,    -1,    56,    57,    58,    59,    60,    61, 
    2446       62,    -1,    64,    65,    66,    -1,    -1,    69,    70,    71, 
    2447       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    -1, 
    2448       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    -1, 
    2449       -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1, 
    2450       -1,    -1,    -1,    -1,    56,    57,    58,    59,    60,    61, 
    2451       62,    -1,    64,    65,    66,   180,    -1,    69,    70,    71, 
    2452      185,   186,    74,    75,    76,    77,    -1,    79,    -1,   131, 
    2453       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    12,    -1, 
    2454      142,   143,    -1,    -1,    -1,    -1,   148,    21,    22,    -1, 
    2455       -1,    -1,    -1,    -1,    -1,    -1,   158,   159,    -1,    -1, 
    2456      162,   163,   164,   165,    -1,    39,    40,   169,    -1,    -1, 
    2457       44,    45,    46,    47,   176,   185,   186,   179,    -1,    -1, 
    2458       -1,    -1,    56,    57,    58,    59,    60,    61,    62,    -1, 
    2459       64,    65,    66,    -1,    -1,    69,    70,    71,    -1,    73, 
    2460       74,    75,    76,    77,    -1,    79,    -1,    -1,    -1,    -1, 
    2461       -1,    -1,    -1,    -1,    -1,    -1,    -1,   169,    -1,    -1, 
     2345      -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165,     5, 
     2346       6,     7,     8,     9,    10,    -1,    12,    13,    14,    15, 
     2347      16,    17,    -1,    19,    20,    21,    22,    23,     5,     6, 
     2348       7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
     2349      17,    -1,    19,    20,    21,    22,    23,     5,     6,     7, 
     2350       8,     9,    10,    -1,    12,    13,    14,    15,    16,    17, 
     2351      -1,    19,    20,    21,    22,    23,    -1,    -1,    -1,    -1, 
     2352      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2353      -1,    -1,    -1,    -1,   163,   164,   165,    -1,    -1,    -1, 
     2354      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2355      -1,    -1,    -1,   163,   164,   165,    -1,    -1,    -1,    -1, 
     2356      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2357      -1,    -1,   163,   164,   165,     5,     6,     7,     8,     9, 
     2358      10,    -1,    12,    13,    14,    15,    16,    17,    -1,    19, 
     2359      20,    21,    22,    23,    -1,    -1,    -1,    -1,    -1,    -1, 
     2360      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2361      -1,    -1,    -1,    -1,    -1,     4,    -1,   163,   164,   165, 
     2362      -1,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2363      19,    20,    21,    -1,    -1,    -1,   163,   164,   165,    -1, 
     2364      -1,    -1,    -1,    -1,    33,    34,    -1,    -1,    -1,    -1, 
     2365      39,    40,    41,    42,    43,   163,   164,   165,    -1,    -1, 
     2366      -1,    -1,    -1,    -1,    -1,    54,    55,    56,    57,    58, 
     2367      59,    60,    -1,    62,    63,    64,    -1,    -1,    67,    68, 
     2368      69,    -1,    71,    72,    73,    74,    75,    34,    77,    -1, 
     2369      -1,    -1,    39,    40,    -1,    42,    43,    -1,    -1,    -1, 
     2370      -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    55,    56, 
     2371      57,    58,    59,    60,    -1,    62,    63,    64,    -1,    -1, 
     2372      67,    68,    69,    -1,     4,    72,    73,    74,    75,    -1, 
     2373      77,    11,    -1,    -1,   164,   165,   125,    -1,    -1,    19, 
     2374      20,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138, 
     2375     139,    -1,    -1,    33,    34,   144,    -1,    -1,    -1,    39, 
     2376      40,    41,    42,    43,   153,   154,    -1,   156,   157,    -1, 
     2377      -1,   160,   161,   162,    54,    55,    56,    57,    58,    59, 
     2378      60,    -1,    62,    63,    64,    -1,    -1,    67,    68,    69, 
     2379      -1,    71,    72,    73,    74,    75,    -1,    77,    -1,    -1, 
     2380      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2381      -1,    -1,    -1,   160,    -1,    -1,    -1,    -1,    -1,    -1, 
     2382      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2383      -1,    -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,    -1, 
     2384      11,    -1,    -1,    -1,    -1,   125,    -1,    -1,    19,    20, 
     2385      -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138,   139, 
     2386      -1,    -1,    33,    34,   144,    -1,    -1,    -1,    39,    40, 
     2387      41,    42,    43,   153,   154,    -1,   156,   157,    -1,    -1, 
     2388     160,   161,   162,    54,    55,    56,    57,    58,    59,    60, 
     2389      -1,    62,    63,    64,    -1,    -1,    67,    68,    69,    -1, 
     2390      71,    72,    73,    74,    75,    -1,    77,    -1,    -1,    -1, 
    24622391      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    24632392      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    24642393      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2465       -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,    -1, 
    2466       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   142,   143, 
    2467       -1,    -1,    -1,    -1,   148,     4,    -1,    -1,    -1,    -1, 
    2468       -1,    -1,    -1,    12,   158,   159,    -1,    -1,   162,   163, 
    2469      164,   165,    21,    22,    -1,   169,    -1,    -1,    -1,    -1, 
    2470       -1,    -1,   176,    -1,    -1,   179,    -1,    -1,    -1,    -1, 
    2471       39,    40,    -1,   187,    -1,    44,    45,    46,    47,    -1, 
    2472       -1,    -1,    -1,    -1,    -1,    -1,    -1,    56,    57,    58, 
    2473       59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1, 
    2474       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1, 
    2475       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2394      -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,    -1,    11, 
     2395      -1,    -1,    -1,    -1,   125,    -1,    -1,    19,    20,    -1, 
     2396      -1,   132,    -1,    -1,    -1,    -1,    -1,   138,   139,    -1, 
     2397      -1,    33,    34,   144,    -1,    -1,    -1,    39,    40,    41, 
     2398      42,    43,   153,   154,    -1,   156,   157,    -1,    -1,   160, 
     2399     161,   162,    54,    55,    56,    57,    58,    59,    60,    -1, 
     2400      62,    63,    64,    -1,    -1,    67,    68,    69,    -1,    71, 
     2401      72,    73,    74,    75,    -1,    77,    -1,    -1,    -1,    -1, 
     2402      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2403      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2404      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2405      -1,    -1,     5,    -1,    -1,    -1,    -1,    -1,    11,    -1, 
     2406      -1,    -1,    -1,   125,    -1,    -1,    19,    20,    21,    -1, 
     2407     132,    -1,    -1,    -1,    -1,    -1,   138,   139,    -1,    -1, 
     2408      33,    34,   144,    -1,    -1,    -1,    39,    40,    41,    42, 
     2409      43,   153,   154,    -1,   156,   157,    -1,    -1,   160,   161, 
     2410     162,    54,    55,    56,    57,    58,    59,    60,    -1,    62, 
     2411      63,    64,    -1,    -1,    67,    68,    69,    -1,    71,    72, 
     2412      73,    74,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1, 
     2413      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2414      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2415      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2416      -1,     5,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1, 
     2417      -1,    -1,   125,    -1,    -1,    19,    20,    -1,    22,   132, 
     2418      -1,    -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    33, 
     2419      34,   144,    -1,    -1,    -1,    39,    40,    41,    42,    43, 
     2420     153,   154,    -1,   156,   157,    -1,    -1,   160,   161,   162, 
     2421      54,    55,    56,    57,    58,    59,    60,    -1,    62,    63, 
     2422      64,    -1,    -1,    67,    68,    69,    -1,    71,    72,    73, 
     2423      74,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1, 
     2424      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2425      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2426      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2427       5,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1, 
     2428      -1,   125,    -1,    -1,    19,    20,    21,    -1,   132,    -1, 
     2429      -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    33,    34, 
     2430     144,    -1,    -1,    -1,    39,    40,    41,    42,    43,   153, 
     2431     154,    -1,   156,   157,    -1,    -1,   160,   161,   162,    54, 
     2432      55,    56,    57,    58,    59,    60,    -1,    62,    63,    64, 
     2433      -1,    -1,    67,    68,    69,    -1,    71,    72,    73,    74, 
     2434      75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2435      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2436      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2437      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5, 
     2438      -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1, 
     2439     125,    -1,    -1,    19,    20,    -1,    -1,   132,    -1,    -1, 
     2440      -1,    -1,    -1,   138,   139,    -1,    -1,    33,    34,   144, 
     2441      -1,    -1,    -1,    39,    40,    41,    42,    43,   153,   154, 
     2442      -1,   156,   157,    -1,    -1,   160,   161,   162,    54,    55, 
     2443      56,    57,    58,    59,    60,    -1,    62,    63,    64,    -1, 
     2444      -1,    67,    68,    69,    -1,    71,    72,    73,    74,    75, 
     2445      -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2446      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2447      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2448      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,    -1, 
     2449      -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   125, 
     2450      -1,    -1,    19,    20,    -1,    -1,   132,    -1,    -1,    -1, 
     2451      -1,    -1,   138,   139,    -1,    -1,    33,    34,   144,    -1, 
     2452      -1,    -1,    39,    40,    41,    42,    43,   153,   154,    -1, 
     2453     156,   157,    -1,    -1,   160,   161,   162,    54,    55,    56, 
     2454      57,    58,    59,    60,    -1,    62,    63,    64,    -1,    -1, 
     2455      67,    68,    69,    -1,    71,    72,    73,    74,    75,    -1, 
     2456      77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2457      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2458      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2459      -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,    -1,    -1, 
     2460      -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   125,    -1, 
     2461      -1,    19,    20,    -1,    -1,   132,    -1,    -1,    -1,    -1, 
     2462      -1,   138,   139,    -1,    -1,    33,    34,   144,    -1,    -1, 
     2463      -1,    39,    40,    41,    42,    43,   153,   154,    -1,   156, 
     2464     157,    -1,    -1,   160,   161,   162,    54,    55,    56,    57, 
     2465      58,    59,    60,    -1,    62,    63,    64,    -1,    -1,    67, 
     2466      68,    69,    -1,    71,    72,    73,    74,    75,    -1,    77, 
    24762467      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    24772468      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    24782469      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    24792470      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2480       -1,    -1,   131,     4,    -1,    -1,    -1,    -1,    -1,    -1, 
    2481       -1,    12,    -1,   142,   143,    -1,    -1,    -1,    -1,   148, 
    2482       21,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158, 
    2483      159,    -1,    -1,   162,   163,   164,   165,    -1,    39,    40, 
    2484      169,    -1,    -1,    44,    45,    46,    47,   176,    -1,    -1, 
    2485      179,    -1,    -1,    -1,    -1,    56,    57,    58,    59,    60, 
    2486       61,    62,    -1,    64,    65,    66,    -1,    -1,    69,    70, 
    2487       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1, 
     2471      -1,    -1,    11,    -1,    -1,    -1,    -1,   125,    -1,    -1, 
     2472      19,    20,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1, 
     2473     138,   139,    -1,    -1,    33,    34,   144,    -1,    -1,    -1, 
     2474      39,    40,    41,    42,    43,   153,   154,    -1,   156,   157, 
     2475      -1,    -1,   160,   161,   162,    54,    55,    56,    57,    58, 
     2476      59,    60,    -1,    62,    63,    64,    -1,    -1,    67,    68, 
     2477      69,    -1,    71,    72,    73,    74,    75,    -1,    77,    -1, 
    24882478      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    24892479      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    24902480      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    24912481      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2482      -1,    -1,    -1,    -1,    -1,    -1,   125,    -1,    -1,    -1, 
     2483      -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138, 
     2484     139,    -1,    -1,    -1,    -1,   144,    -1,    -1,    -1,    -1, 
     2485      -1,    -1,    -1,    -1,   153,   154,    11,   156,   157,    -1, 
     2486      -1,   160,   161,   162,    19,    20,    21,   166,    23,    -1, 
     2487      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,    34, 
     2488      -1,    -1,    -1,    -1,    39,    40,    41,    42,    43,    -1, 
     2489      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54, 
     2490      55,    56,    57,    58,    59,    60,    -1,    62,    63,    64, 
     2491      -1,    -1,    67,    68,    69,    -1,    71,    72,    73,    74, 
     2492      75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    24922493      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2493      131,    -1,     5,    -1,    -1,    -1,    -1,    -1,    -1,    12, 
    2494       -1,   142,   143,    -1,    -1,    -1,    -1,   148,    21,    22, 
    2495       23,    -1,    -1,    -1,    -1,    -1,    -1,   158,   159,    -1, 
    2496       -1,   162,   163,   164,   165,    -1,    39,    40,   169,    -1, 
    2497       -1,    44,    45,    46,    47,   176,    -1,    -1,   179,    -1, 
    2498       -1,    -1,    -1,    56,    57,    58,    59,    60,    61,    62, 
    2499       -1,    64,    65,    66,    -1,    -1,    69,    70,    71,    -1, 
    2500       73,    74,    75,    76,    77,    -1,    79,    -1,    -1,    -1, 
     2494      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2495      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2496      -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1, 
     2497     125,    -1,    -1,    19,    20,    21,    -1,   132,    -1,    -1, 
     2498      -1,    -1,    -1,   138,   139,    -1,    -1,    33,    34,   144, 
     2499      -1,    -1,    -1,    39,    40,    41,    42,    43,   153,   154, 
     2500      -1,   156,   157,    -1,    -1,   160,   161,   162,    54,    55, 
     2501      56,    57,    58,    59,    60,    -1,    62,    63,    64,    -1, 
     2502      -1,    67,    68,    69,    -1,    71,    72,    73,    74,    75, 
     2503      -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2504      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2505      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2506      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2507      -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   125, 
     2508      -1,    -1,    19,    20,    21,    -1,   132,    -1,    -1,    -1, 
     2509      -1,    -1,   138,   139,    -1,    -1,    33,    34,   144,    -1, 
     2510      -1,    -1,    39,    40,    41,    42,    43,   153,   154,    -1, 
     2511     156,   157,    -1,    -1,   160,   161,   162,    54,    55,    56, 
     2512      57,    58,    59,    60,    -1,    62,    63,    64,    -1,    -1, 
     2513      67,    68,    69,    -1,    71,    72,    73,    74,    75,    -1, 
     2514      77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2515      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2516      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2517      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2518      -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   125,    -1, 
     2519      -1,    19,    20,    21,    -1,   132,    -1,    -1,    -1,    -1, 
     2520      -1,   138,   139,    -1,    -1,    33,    34,   144,    -1,    -1, 
     2521      -1,    39,    40,    41,    42,    43,   153,   154,    -1,   156, 
     2522     157,    -1,    -1,   160,   161,   162,    54,    55,    56,    57, 
     2523      58,    59,    60,    -1,    62,    63,    64,    -1,    -1,    67, 
     2524      68,    69,    -1,    71,    72,    73,    74,    75,    -1,    77, 
    25012525      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25022526      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25032527      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25042528      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2505       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1, 
    2506        5,    -1,    -1,    -1,    -1,    -1,    -1,    12,    -1,   142, 
    2507      143,    -1,    -1,    -1,    -1,   148,    21,    22,    -1,    24, 
    2508       -1,    -1,    -1,    -1,    -1,   158,   159,    -1,    -1,   162, 
    2509      163,   164,   165,    -1,    39,    40,   169,    -1,    -1,    44, 
    2510       45,    46,    47,   176,    -1,    -1,   179,    -1,    -1,    -1, 
    2511       -1,    56,    57,    58,    59,    60,    61,    62,    -1,    64, 
    2512       65,    66,    -1,    -1,    69,    70,    71,    -1,    73,    74, 
    2513       75,    76,    77,    -1,    79,    -1,    -1,    -1,    -1,    -1, 
     2529      -1,    -1,    11,    -1,    -1,    -1,    -1,   125,    -1,    -1, 
     2530      19,    20,    21,    -1,   132,    -1,    -1,    -1,    -1,    -1, 
     2531     138,   139,    -1,    -1,    33,    34,   144,    -1,    -1,    -1, 
     2532      39,    40,    41,    42,    43,   153,   154,    -1,   156,   157, 
     2533      -1,    -1,   160,   161,   162,    54,    55,    56,    57,    58, 
     2534      59,    60,    -1,    62,    63,    64,    -1,    -1,    67,    68, 
     2535      69,    -1,    71,    72,    73,    74,    75,    -1,    77,    -1, 
    25142536      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25152537      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25162538      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25172539      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2518       -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,     5,    -1, 
    2519       -1,    -1,    -1,    -1,    -1,    12,    -1,   142,   143,    -1, 
    2520       -1,    -1,    -1,   148,    21,    22,    23,    -1,    -1,    -1, 
    2521       -1,    -1,    -1,   158,   159,    -1,    -1,   162,   163,   164, 
    2522      165,    -1,    39,    40,   169,    -1,    -1,    44,    45,    46, 
    2523       47,   176,    -1,    -1,   179,    -1,    -1,    -1,    -1,    56, 
    2524       57,    58,    59,    60,    61,    62,    -1,    64,    65,    66, 
    2525       -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76, 
    2526       77,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2540      -1,    -1,    -1,    -1,    -1,    -1,   125,    -1,    -1,    -1, 
     2541      -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138, 
     2542     139,    -1,    11,    -1,    -1,   144,    -1,    -1,    -1,    -1, 
     2543      19,    20,    -1,    -1,   153,   154,    -1,   156,   157,    -1, 
     2544      -1,   160,   161,   162,    33,    34,    35,    -1,    -1,    -1, 
     2545      39,    40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1, 
     2546      -1,    -1,    -1,    -1,    -1,    54,    55,    56,    57,    58, 
     2547      59,    60,    -1,    62,    63,    64,    -1,    -1,    67,    68, 
     2548      69,    -1,    71,    72,    73,    74,    75,    -1,    77,    -1, 
    25272549      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25282550      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25292551      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25302552      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2531       -1,    -1,    -1,    -1,   131,    -1,     5,    -1,    -1,    -1, 
    2532       -1,    -1,    -1,    12,    -1,   142,   143,    -1,    -1,    -1, 
    2533       -1,   148,    21,    22,    -1,    -1,    -1,    -1,    -1,    -1, 
    2534       -1,   158,   159,    -1,    -1,   162,   163,   164,   165,    -1, 
    2535       39,    40,   169,    -1,    -1,    44,    45,    46,    47,   176, 
    2536       -1,    -1,   179,    -1,    -1,    -1,    -1,    56,    57,    58, 
    2537       59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1, 
    2538       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1, 
    2539       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2553      -1,    11,    -1,    -1,    -1,    -1,   125,    -1,    -1,    19, 
     2554      20,    21,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138, 
     2555     139,    -1,    -1,    33,    34,   144,    -1,    -1,    -1,    39, 
     2556      40,    41,    42,    43,   153,   154,    -1,   156,   157,    -1, 
     2557      -1,   160,   161,   162,    54,    55,    56,    57,    58,    59, 
     2558      60,    -1,    62,    63,    64,    -1,    -1,    67,    68,    69, 
     2559      -1,    71,    72,    73,    74,    75,    -1,    77,    -1,    -1, 
    25402560      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25412561      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25422562      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25432563      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2544       -1,    -1,   131,    -1,     5,    -1,    -1,    -1,    -1,    -1, 
    2545       -1,    12,    -1,   142,   143,    -1,    -1,    -1,    -1,   148, 
    2546       21,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158, 
    2547      159,    -1,    -1,   162,   163,   164,   165,    -1,    39,    40, 
    2548      169,    -1,    -1,    44,    45,    46,    47,   176,    -1,    -1, 
    2549      179,    -1,    -1,    -1,    -1,    56,    57,    58,    59,    60, 
    2550       61,    62,    -1,    64,    65,    66,    -1,    -1,    69,    70, 
    2551       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1, 
     2564      11,    -1,    -1,    -1,    -1,   125,    -1,    -1,    19,    20, 
     2565      21,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138,   139, 
     2566      -1,    -1,    33,    34,   144,    -1,    -1,    -1,    39,    40, 
     2567      41,    42,    43,   153,   154,    -1,   156,   157,    -1,    -1, 
     2568     160,   161,   162,    54,    55,    56,    57,    58,    59,    60, 
     2569      -1,    62,    63,    64,    -1,    -1,    67,    68,    69,    -1, 
     2570      71,    72,    73,    74,    75,    -1,    77,    -1,    -1,    -1, 
     2571      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2572      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2573      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2574      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    11, 
     2575      -1,    -1,    -1,    -1,   125,    -1,    -1,    19,    20,    -1, 
     2576      -1,   132,    -1,    -1,    -1,    -1,    -1,   138,   139,    -1, 
     2577      -1,    33,    34,   144,    -1,    -1,    -1,    39,    40,    41, 
     2578      42,    43,   153,   154,    -1,   156,   157,    -1,    -1,   160, 
     2579     161,   162,    54,    55,    56,    57,    58,    59,    60,    -1, 
     2580      62,    63,    64,    -1,    -1,    67,    68,    69,    -1,    71, 
     2581      72,    73,    74,    75,    -1,    77,    -1,    -1,    -1,    -1, 
     2582      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2583      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2584      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2585      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    11,    -1, 
     2586      -1,    -1,    -1,   125,    -1,    -1,    19,    20,    -1,    -1, 
     2587     132,    -1,    -1,    -1,    -1,    -1,   138,   139,    -1,    -1, 
     2588      33,    34,   144,    -1,    -1,    -1,    39,    40,    41,    42, 
     2589      43,   153,   154,    -1,   156,   157,    -1,    -1,   160,   161, 
     2590     162,    54,    55,    56,    57,    58,    59,    60,    -1,    62, 
     2591      63,    64,    -1,    -1,    67,    68,    69,    -1,    71,    72, 
     2592      73,    74,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1, 
     2593      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2594      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2595      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2596      -1,    -1,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1, 
     2597      -1,    -1,   125,    -1,    -1,    19,    20,    -1,    -1,   132, 
     2598      -1,    -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    33, 
     2599      34,   144,    -1,    -1,    -1,    39,    40,    41,    42,    43, 
     2600     153,   154,    -1,   156,   157,    -1,    -1,   160,   161,   162, 
     2601      54,    55,    56,    57,    58,    59,    60,    -1,    62,    63, 
     2602      64,    -1,    -1,    67,    68,    69,    -1,    71,    72,    73, 
     2603      74,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1, 
     2604      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2605      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2606      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2607      -1,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1, 
     2608      -1,   125,    -1,    -1,    19,    20,    -1,    -1,   132,    -1, 
     2609      -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    33,    34, 
     2610     144,    -1,    -1,    -1,    39,    40,    41,    42,    43,   153, 
     2611     154,    -1,   156,   157,    -1,    -1,   160,   161,   162,    54, 
     2612      55,    56,    57,    58,    59,    60,    -1,    62,    63,    64, 
     2613      -1,    -1,    67,    68,    69,    -1,    71,    72,    73,    74, 
     2614      75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2615      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2616      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2617      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2618      -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1, 
     2619     125,    -1,    -1,    19,    20,    -1,    -1,   132,    -1,    -1, 
     2620      -1,    -1,    -1,   138,   139,    -1,    -1,    33,    34,   144, 
     2621      -1,    -1,    -1,    39,    40,    41,    42,    43,   153,   154, 
     2622      -1,   156,   157,    -1,    -1,   160,   161,   162,    54,    55, 
     2623      56,    57,    58,    59,    60,    -1,    62,    63,    64,    -1, 
     2624      -1,    67,    68,    69,    -1,    71,    72,    73,    74,    75, 
     2625      -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2626      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2627      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2628      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2629      -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   125, 
     2630      -1,    -1,    19,    20,    -1,    -1,   132,    -1,    -1,    -1, 
     2631      -1,    -1,   138,   139,    -1,    -1,    33,    34,   144,    -1, 
     2632      -1,    -1,    39,    40,    41,    42,    43,   153,   154,    -1, 
     2633     156,   157,    -1,    -1,   160,   161,   162,    54,    55,    56, 
     2634      57,    58,    59,    60,    -1,    62,    63,    64,    -1,    -1, 
     2635      67,    68,    69,    -1,    71,    72,    73,    74,    75,    -1, 
     2636      77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2637      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2638      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2639      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2640      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,    -1, 
     2641      -1,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,    -1, 
     2642      -1,   138,   139,    -1,    -1,    -1,    -1,   144,    -1,    -1, 
     2643      -1,    -1,    -1,    -1,    -1,    -1,   153,   154,    -1,   156, 
     2644     157,    -1,    -1,   160,   161,   162,    19,    20,    21,    -1, 
     2645      23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2646      33,    34,    -1,    -1,    -1,    -1,    39,    40,    41,    42, 
     2647      43,    -1,    -1,    46,    47,    48,    49,    50,    -1,    52, 
     2648      53,    54,    55,    56,    57,    58,    59,    60,    -1,    62, 
     2649      63,    64,    -1,    -1,    67,    68,    69,    -1,    71,    72, 
     2650      73,    74,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1, 
    25522651      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25532652      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25542653      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    25552654      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2655      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   132, 
     2656      -1,    -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    -1, 
     2657      -1,   144,    -1,    -1,    -1,    -1,    19,    20,    21,    -1, 
     2658     153,   154,    -1,   156,   157,    -1,    -1,   160,   161,   162, 
     2659      33,    34,    -1,    -1,    -1,    -1,    39,    40,    41,    42, 
     2660      43,    -1,    -1,    46,    47,    48,    49,    50,    -1,    52, 
     2661      53,    54,    55,    56,    57,    58,    59,    60,    -1,    62, 
     2662      63,    64,    19,    20,    67,    68,    69,    -1,    71,    72, 
     2663      73,    74,    75,    -1,    77,    -1,    33,    34,    -1,    -1, 
     2664      -1,    -1,    39,    40,    41,    42,    43,    -1,    -1,    46, 
     2665      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56, 
     2666      57,    58,    59,    60,    -1,    62,    63,    64,    -1,    -1, 
     2667      67,    68,    69,    -1,    71,    72,    73,    74,    75,    -1, 
     2668      77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   132, 
     2669      -1,    -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    -1, 
     2670      -1,   144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2671     153,   154,    -1,   156,   157,    -1,    -1,   160,   161,   162, 
     2672      -1,    -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,    28, 
     2673      -1,    30,    -1,    32,    -1,   132,    35,    -1,    -1,    -1, 
     2674      -1,   138,   139,    -1,    -1,    -1,    45,   144,    -1,    -1, 
     2675      -1,    -1,    -1,    -1,    -1,    -1,   153,   154,    -1,   156, 
     2676     157,    -1,    61,   160,   161,   162,    65,    66,    -1,    -1, 
     2677      -1,    70,    -1,    -1,    -1,    -1,    -1,    76,    -1,    78, 
     2678      79,    -1,    81,    -1,    -1,    -1,    -1,    86,    87,    88, 
     2679      89,    90,    -1,    92,    93,    -1,    -1,    96,    97,    98, 
     2680      99,   100,   101,   102,   103,   104,   105,   106,    -1,   108, 
     2681      -1,   110,   111,    -1,    -1,   114,   115,   116,    -1,   118, 
     2682      -1,   120,    -1,    -1,   123,   124,    -1,    -1,   127,   128, 
     2683     129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   137,    -1, 
     2684      -1,    -1,   141,   142,   143,   144,   145,   146,   147,   148, 
     2685     149,   150,   151,   152,    -1,    -1,   155,    -1,    -1,   158, 
     2686     159,   160,   161,    25,    -1,    -1,    28,   166,    30,    -1, 
     2687      32,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1, 
     2688      -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1, 
     2689      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61, 
     2690      -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    70,    -1, 
     2691      -1,    -1,    -1,    -1,    76,    -1,    78,    79,    -1,    81, 
     2692      -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,    -1, 
     2693      92,    93,    -1,    -1,    96,    97,    98,    99,   100,   101, 
     2694     102,   103,   104,   105,   106,    -1,   108,    -1,   110,   111, 
     2695      -1,    -1,   114,   115,   116,    -1,   118,    -1,   120,    -1, 
     2696      -1,   123,   124,    -1,    -1,   127,   128,   129,    -1,    -1, 
     2697      -1,    -1,    -1,    -1,    -1,   137,    -1,    -1,    -1,   141, 
     2698     142,   143,   144,   145,   146,   147,   148,   149,   150,   151, 
     2699     152,    32,    -1,   155,    35,    -1,   158,   159,   160,   161, 
     2700      -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1, 
    25562701      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2557      131,    -1,     5,    -1,    -1,    -1,    -1,    -1,    -1,    12, 
    2558       -1,   142,   143,    -1,    -1,    -1,    -1,   148,    21,    22, 
    2559       -1,    -1,    -1,    -1,    -1,    -1,    -1,   158,   159,    -1, 
    2560       -1,   162,   163,   164,   165,    -1,    39,    40,   169,    -1, 
    2561       -1,    44,    45,    46,    47,   176,    -1,    -1,   179,    -1, 
    2562       -1,    -1,    -1,    56,    57,    58,    59,    60,    61,    62, 
    2563       -1,    64,    65,    66,    -1,    -1,    69,    70,    71,    -1, 
    2564       73,    74,    75,    76,    77,    -1,    79,    -1,    -1,    -1, 
     2702      61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2703      -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1, 
     2704      81,    -1,    83,    -1,    -1,    86,    87,    88,    89,    90, 
     2705      -1,    -1,    93,    -1,    -1,    96,    97,    98,    99,   100, 
     2706     101,   102,   103,   104,   105,    -1,    -1,    32,    -1,    -1, 
     2707      35,    -1,    -1,    -1,   115,    -1,    -1,    -1,    -1,   120, 
     2708      45,    -1,    -1,    -1,    -1,    -1,   127,    -1,   129,    -1, 
     2709      -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    -1, 
     2710      -1,    -1,    -1,    -1,    -1,    -1,    -1,   148,   149,   150, 
     2711     151,    76,    -1,    -1,    -1,    -1,    81,    -1,    -1,   160, 
     2712     161,    86,    87,    88,    89,    90,    -1,    -1,    93,    -1, 
     2713      -1,    96,    97,    98,    99,   100,   101,   102,   103,   104, 
     2714     105,    -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,    -1, 
     2715     115,    -1,    -1,    -1,    -1,   120,    -1,    -1,    -1,    -1, 
     2716      -1,    -1,   127,    -1,   129,    -1,    -1,    -1,    -1,    -1, 
     2717      -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2718      -1,    -1,    -1,   148,   149,   150,   151,    76,    -1,    -1, 
     2719      -1,    -1,    81,    82,    -1,   160,   161,    86,    87,    88, 
     2720      -1,    90,    -1,    -1,    93,    -1,    -1,    96,    97,    98, 
     2721      99,   100,   101,   102,   103,   104,   105,    -1,    -1,    -1, 
     2722      -1,    -1,    35,    -1,    -1,    -1,   115,    -1,    -1,    -1, 
     2723      -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,   127,    -1, 
     2724     129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1, 
     2725      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   148, 
     2726     149,   150,   151,    76,    -1,    -1,    -1,    -1,    81,    -1, 
     2727      -1,   160,   161,    86,    87,    88,    -1,    90,    -1,    -1, 
     2728      93,    -1,    -1,    96,    97,    98,    99,   100,   101,   102, 
     2729     103,   104,   105,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2730      -1,    -1,   115,    -1,    -1,    -1,    -1,   120,    -1,    -1, 
     2731      -1,    -1,    -1,    -1,   127,    -1,   129,    -1,    -1,    -1, 
    25652732      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2567       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2568       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2569       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1, 
    2570       -1,    -1,    -1,    -1,    -1,    -1,    -1,    12,    -1,   142, 
    2571      143,    -1,    -1,    -1,    -1,   148,    21,    22,    23,    -1, 
    2572       25,    -1,    -1,    -1,    -1,   158,   159,    -1,    -1,   162, 
    2573      163,   164,   165,    -1,    39,    40,   169,    -1,    -1,    44, 
    2574       45,    46,    47,   176,    -1,    -1,   179,    -1,    -1,    -1, 
    2575       -1,    56,    57,    58,    59,    60,    61,    62,    -1,    64, 
    2576       65,    66,    -1,    -1,    69,    70,    71,    -1,    73,    74, 
    2577       75,    76,    77,    -1,    79,    -1,    -1,    -1,    -1,    -1, 
    2578       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2579       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2581       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2582       -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,    -1,    -1, 
    2583       -1,    -1,    -1,    -1,    -1,    12,    -1,   142,   143,    -1, 
    2584       -1,    -1,    -1,   148,    21,    22,    23,    -1,    -1,    -1, 
    2585       -1,    -1,    -1,   158,   159,    -1,    -1,   162,   163,   164, 
    2586      165,    -1,    39,    40,   169,    -1,    -1,    44,    45,    46, 
    2587       47,   176,    -1,    -1,   179,    -1,    -1,    -1,    -1,    56, 
    2588       57,    58,    59,    60,    61,    62,    -1,    64,    65,    66, 
    2589       -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76, 
    2590       77,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2591       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2592       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2593       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2594       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2595       -1,    -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,    -1, 
    2596       -1,    -1,    -1,    12,    -1,   142,   143,    -1,    -1,    -1, 
    2597       -1,   148,    21,    22,    23,    -1,    -1,    -1,    -1,    -1, 
    2598       -1,   158,   159,    -1,    -1,   162,   163,   164,   165,    -1, 
    2599       39,    40,   169,    -1,    -1,    44,    45,    46,    47,   176, 
    2600       -1,    -1,   179,    -1,    -1,    -1,    -1,    56,    57,    58, 
    2601       59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1, 
    2602       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1, 
    2603       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2604       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2605       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2607       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2608       -1,    -1,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2609       -1,    12,    -1,   142,   143,    -1,    -1,    -1,    -1,   148, 
    2610       21,    22,    23,    -1,    -1,    -1,    -1,    -1,    -1,   158, 
    2611      159,    -1,    -1,   162,   163,   164,   165,    -1,    39,    40, 
    2612      169,    -1,    -1,    44,    45,    46,    47,   176,    -1,    -1, 
    2613      179,    -1,    -1,    -1,    -1,    56,    57,    58,    59,    60, 
    2614       61,    62,    -1,    64,    65,    66,    -1,    -1,    69,    70, 
    2615       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1, 
    2616       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2617       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2620       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2621      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    12, 
    2622       -1,   142,   143,    -1,    -1,    -1,    -1,   148,    21,    22, 
    2623       23,    -1,    -1,    -1,    -1,    -1,    -1,   158,   159,    -1, 
    2624       -1,   162,   163,   164,   165,    -1,    39,    40,   169,    -1, 
    2625       -1,    44,    45,    46,    47,   176,    -1,    -1,   179,    -1, 
    2626       -1,    -1,    -1,    56,    57,    58,    59,    60,    61,    62, 
    2627       -1,    64,    65,    66,    -1,    -1,    69,    70,    71,    -1, 
    2628       73,    74,    75,    76,    77,    -1,    79,    -1,    -1,    -1, 
    2629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2630       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2632       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2633       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1, 
    2634       -1,    -1,    -1,    -1,    -1,    -1,    -1,    12,    -1,   142, 
    2635      143,    -1,    -1,    -1,    -1,   148,    21,    22,    23,    -1, 
    2636       -1,    -1,    -1,    -1,    -1,   158,   159,    -1,    -1,   162, 
    2637      163,   164,   165,    -1,    39,    40,   169,    -1,    -1,    44, 
    2638       45,    46,    47,   176,    -1,    -1,   179,    -1,    -1,    -1, 
    2639       -1,    56,    57,    58,    59,    60,    61,    62,    -1,    64, 
    2640       65,    66,    -1,    -1,    69,    70,    71,    -1,    73,    74, 
    2641       75,    76,    77,    -1,    79,    -1,    -1,    -1,    -1,    -1, 
    2642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2645       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2646       -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,    -1,    -1, 
    2647       -1,    -1,    -1,    -1,    -1,    12,    -1,   142,   143,    -1, 
    2648       -1,    -1,    -1,   148,    21,    22,    23,    -1,    -1,    -1, 
    2649       -1,    -1,    -1,   158,   159,    -1,    -1,   162,   163,   164, 
    2650      165,    -1,    39,    40,   169,    -1,    -1,    44,    45,    46, 
    2651       47,   176,    -1,    -1,   179,    -1,    -1,    -1,    -1,    56, 
    2652       57,    58,    59,    60,    61,    62,    -1,    64,    65,    66, 
    2653       -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76, 
    2654       77,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2655       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2656       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2657       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2658       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2659       -1,    -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,    -1, 
    2660       -1,    -1,    -1,    12,    -1,   142,   143,    -1,    -1,    -1, 
    2661       -1,   148,    21,    22,    -1,    -1,    -1,    -1,    -1,    -1, 
    2662       -1,   158,   159,    -1,    -1,   162,   163,   164,   165,    -1, 
    2663       39,    40,   169,    -1,    -1,    44,    45,    46,    47,   176, 
    2664       -1,    -1,   179,    -1,    -1,    -1,    -1,    56,    57,    58, 
    2665       59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1, 
    2666       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1, 
    2667       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2669       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2670       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2671       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2672       -1,    -1,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2673       -1,    12,    -1,   142,   143,    -1,    -1,    -1,    -1,   148, 
    2674       21,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158, 
    2675      159,    -1,    -1,   162,   163,   164,   165,    -1,    39,    40, 
    2676      169,    -1,    -1,    44,    45,    46,    47,   176,    -1,    -1, 
    2677      179,    -1,    -1,    -1,    -1,    56,    57,    58,    59,    60, 
    2678       61,    62,    -1,    64,    65,    66,    -1,    -1,    69,    70, 
    2679       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1, 
    2680       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2681       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2682       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2683       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2684       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2685      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    12, 
    2686       -1,   142,   143,    -1,    -1,    -1,    -1,   148,    21,    22, 
    2687       -1,    -1,    -1,    -1,    -1,    -1,    -1,   158,   159,    -1, 
    2688       -1,   162,   163,   164,   165,    -1,    39,    40,   169,    -1, 
    2689       -1,    44,    45,    46,    47,   176,    -1,    -1,   179,    -1, 
    2690       -1,    -1,    -1,    56,    57,    58,    59,    60,    61,    62, 
    2691       -1,    64,    65,    66,    -1,    -1,    69,    70,    71,    -1, 
    2692       73,    74,    75,    76,    77,    -1,    79,    -1,    -1,    -1, 
    2693       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2694       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2695       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2696       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2697       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1, 
    2698       -1,    -1,    -1,    -1,    -1,    -1,    -1,    12,    -1,   142, 
    2699      143,    -1,    -1,    -1,    -1,   148,    21,    22,    -1,    -1, 
    2700       -1,    -1,    -1,    -1,    -1,   158,   159,    -1,    -1,   162, 
    2701      163,   164,   165,    -1,    39,    40,   169,    -1,    -1,    44, 
    2702       45,    46,    47,   176,    -1,    -1,   179,    -1,    -1,    -1, 
    2703       -1,    56,    57,    58,    59,    60,    61,    62,    -1,    64, 
    2704       65,    66,    -1,    -1,    69,    70,    71,    -1,    73,    74, 
    2705       75,    76,    77,    -1,    79,    -1,    -1,    -1,    -1,    -1, 
    2706       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2708       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2709       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2710       -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,    -1,    -1, 
    2711       -1,    -1,    -1,    -1,    -1,    12,    -1,   142,   143,    -1, 
    2712       -1,    -1,    -1,   148,    21,    22,    -1,    -1,    -1,    -1, 
    2713       -1,    -1,    -1,   158,   159,    -1,    -1,   162,   163,   164, 
    2714      165,    -1,    39,    40,   169,    -1,    -1,    44,    45,    46, 
    2715       47,   176,    -1,    -1,   179,    -1,    -1,    -1,    -1,    56, 
    2716       57,    58,    59,    60,    61,    62,    -1,    64,    65,    66, 
    2717       -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76, 
    2718       77,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2719       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2720       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2721       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2723       -1,    -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,    -1, 
    2724       -1,    -1,    -1,    12,    -1,   142,   143,    -1,    -1,    -1, 
    2725       -1,   148,    21,    22,    -1,    -1,    -1,    -1,    -1,    -1, 
    2726       -1,   158,   159,    -1,    -1,   162,   163,   164,   165,    -1, 
    2727       39,    40,   169,    -1,    -1,    44,    45,    46,    47,   176, 
    2728       -1,    -1,   179,    -1,    -1,    -1,    -1,    56,    57,    58, 
    2729       59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1, 
    2730       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1, 
    2731       79,    21,    22,    23,    -1,    25,    -1,    -1,    -1,    -1, 
    2732       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39, 
    2733       40,    -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1, 
    2734       50,    51,    52,    -1,    -1,    55,    56,    57,    58,    59, 
    2735       60,    61,    62,    -1,    64,    65,    66,    -1,    -1,    69, 
    2736       70,    71,   131,    73,    74,    75,    76,    77,    -1,    79, 
    2737       -1,    -1,    -1,   142,   143,    -1,    -1,    -1,    -1,   148, 
    2738       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158, 
    2739      159,    -1,    -1,   162,   163,   164,   165,    -1,    -1,    -1, 
    2740      169,    -1,    -1,    -1,    -1,    -1,    -1,   176,    -1,    -1, 
    2741      179,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2742       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2743       -1,    -1,   142,   143,    -1,    -1,    -1,    -1,   148,    -1, 
    2744       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158,   159, 
    2745       -1,    -1,   162,   163,   164,   165,    21,    22,    23,   169, 
    2746       -1,    -1,    -1,    -1,    -1,    -1,   176,    -1,    -1,   179, 
    2747       -1,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    44, 
    2748       45,    46,    47,    -1,    -1,    50,    51,    52,    -1,    -1, 
    2749       55,    56,    57,    58,    59,    60,    61,    62,    -1,    64, 
    2750       65,    66,    21,    22,    69,    70,    71,    -1,    73,    74, 
    2751       75,    76,    77,    -1,    79,    -1,    -1,    -1,    -1,    -1, 
    2752       39,    40,    -1,    -1,    -1,    44,    45,    46,    47,    -1, 
    2753       -1,    50,    51,    52,    -1,    -1,    55,    56,    57,    58, 
    2754       59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1, 
    2755       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1, 
    2756       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2757       -1,    -1,    -1,    -1,    -1,    -1,    -1,   142,   143,    -1, 
    2758       -1,    -1,    -1,   148,    -1,    -1,    -1,    -1,    -1,    -1, 
    2759       -1,    -1,    -1,   158,   159,    -1,    -1,   162,   163,   164, 
    2760      165,    -1,    -1,    -1,   169,    -1,    -1,    -1,    -1,    -1, 
    2761       -1,   176,    -1,    29,   179,    -1,    32,    33,    34,    35, 
    2762       -1,    -1,    38,   142,   143,    41,    42,    43,    -1,   148, 
    2763       -1,    -1,    48,    49,    -1,    -1,    -1,    -1,    -1,   158, 
    2764      159,    -1,    -1,   162,   163,   164,   165,    63,    -1,    -1, 
    2765      169,    67,    68,    -1,    -1,    -1,    72,   176,    -1,    -1, 
    2766      179,    -1,    78,    -1,    80,    81,    -1,    83,    -1,    85, 
    2767       86,    87,    88,    89,    -1,    91,    92,    93,    94,    95, 
    2768       96,    97,    98,    99,   100,   101,   102,   103,   104,   105, 
    2769      106,    -1,    -1,   109,   110,   111,    -1,   113,   114,   115, 
    2770       -1,   117,   118,   119,    -1,    -1,   122,    -1,   124,    -1, 
    2771       -1,   127,   128,   129,   130,    -1,    -1,   133,   134,   135, 
    2772       -1,    -1,    -1,    -1,    -1,   141,    -1,    -1,    -1,   145, 
    2773      146,   147,   148,   149,   150,   151,    -1,   153,   154,   155, 
    2774      156,   157,    -1,    -1,   160,    -1,    -1,    -1,    -1,    39, 
    2775       40,   167,   168,   169,    44,    45,    46,    47,    -1,    -1, 
    2776      176,    -1,    -1,    -1,    -1,    -1,    56,    57,    58,    59, 
    2777       60,    61,    62,    -1,    64,    65,    66,    -1,    -1,    69, 
    2778       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79, 
    2779       39,    40,    -1,    -1,    -1,    44,    45,    46,    47,    -1, 
    2780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    56,    57,    58, 
    2781       59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1, 
    2782       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1, 
    2783       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2785       -1,    -1,   142,   143,    -1,    -1,    -1,    -1,   148,    -1, 
    2786       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158,   159, 
    2787       -1,    -1,   162,   163,   164,   165,    -1,    -1,    -1,   169, 
    2788       -1,    -1,    -1,    -1,    -1,    -1,   176,    -1,    -1,   179, 
    2789       -1,    -1,    -1,   142,   143,    -1,    -1,    -1,    -1,   148, 
    2790       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158, 
    2791      159,    -1,    -1,   162,   163,   164,   165,    -1,    -1,    -1, 
    2792      169,    -1,    -1,    -1,    -1,    -1,    -1,   176,    -1,    -1, 
    2793      179 
     2733      -1,    -1,    -1,    -1,    -1,   148,   149,   150,   151,    -1, 
     2734      -1,    -1,    -1,    -1,    -1,    -1,    -1,   160,   161 
    27942735}; 
    27952736 
     
    27982739static const yytype_uint16 yystos[] = 
    27992740{ 
    2800        0,   191,     0,     1,    36,    37,    53,    54,   144,   177, 
    2801      187,   192,   197,   199,   205,   201,   198,   177,   200,    29, 
    2802       32,    34,    38,    41,    42,    43,    48,    49,    63,    67, 
    2803       68,    72,    78,    80,    81,    83,    85,    86,    87,    88, 
    2804       89,    91,    92,    93,    94,    95,    96,    97,    98,    99, 
    2805      100,   101,   102,   103,   104,   105,   106,   109,   110,   111, 
    2806      113,   114,   115,   117,   118,   119,   122,   124,   127,   128, 
    2807      129,   130,   133,   134,   135,   141,   145,   146,   147,   148, 
    2808      149,   150,   151,   153,   154,   155,   156,   157,   160,   167, 
    2809      168,   169,   176,   193,   194,   195,   202,   203,   206,   212, 
    2810      224,   225,   228,   229,   234,   235,   237,   238,   239,   240, 
    2811      241,   243,   244,   251,   253,   257,   258,   261,   262,   263, 
    2812      298,   308,   309,   315,   316,   317,   318,   319,   321,   326, 
    2813      327,   328,   330,   331,   333,   336,   337,   340,   341,   349, 
    2814      351,   352,   365,   372,   201,   205,   169,   204,   179,    12, 
    2815       21,    22,    39,    40,    44,    45,    46,    47,    56,    57, 
    2816       58,    59,    60,    61,    62,    64,    65,    66,    69,    70, 
    2817       71,    73,    74,    75,    76,    77,    79,   131,   142,   143, 
    2818      148,   158,   159,   162,   163,   164,   165,   176,   179,   280, 
    2819      281,   283,   284,   288,   290,   291,   292,   293,   298,   299, 
    2820      300,   307,   320,   179,   187,   280,   304,   179,   217,   218, 
    2821      179,   280,   303,     4,   187,   221,   187,   221,   304,   179, 
    2822      169,   187,   324,   176,   179,   364,   280,   169,   325,   169, 
    2823      324,   179,   169,   176,   179,   346,   179,   179,   221,   221, 
    2824       20,    24,   247,   298,   179,   216,   123,   137,   127,   324, 
    2825      324,   169,   252,    80,    81,   213,   275,   324,    27,   196, 
    2826      198,    33,    35,   196,   158,   207,   196,   169,   179,   249, 
    2827      250,   169,   226,   231,     3,   248,   169,   230,   247,     3, 
    2828      236,   248,     3,   248,     3,   248,   169,   245,   246,   247, 
    2829        3,     4,    35,   222,   223,   255,   271,   169,   176,   268, 
    2830       23,   179,   259,    23,   179,   266,    23,     4,   329,   169, 
    2831      310,   200,   324,   324,   324,   176,   323,   280,     5,   126, 
    2832      189,   332,     3,   179,   334,   169,   304,   179,   345,    21, 
    2833       22,    23,    50,    51,    52,    55,   169,   179,   281,   288, 
    2834      299,   343,   345,   350,   353,   354,   355,   345,    84,    98, 
    2835      105,   298,   328,   280,   280,   280,   282,   179,   179,   179, 
    2836      282,   280,   282,   179,   179,   179,   179,   179,   179,   179, 
    2837      179,   179,   179,   179,   179,   280,   179,   179,   179,   179, 
    2838      179,   179,   280,   281,   283,   307,   360,   361,   362,   179, 
    2839      280,   283,     5,     7,     8,     9,    10,    11,    13,    14, 
    2840       15,    16,    17,    18,    21,    22,    23,    24,    25,   185, 
    2841      186,   285,   280,   189,   179,   302,   179,   179,   169,   158, 
    2842      301,   302,     3,     4,   180,   280,   219,   298,     3,   280, 
    2843        4,   169,   242,   242,   280,   280,   180,   288,   292,   298, 
    2844      330,   366,   367,   368,   176,   283,   298,   298,   367,   369, 
    2845      298,   371,   242,    40,    44,    45,    46,    47,    56,    57, 
    2846       58,    59,    60,    61,    62,    64,    65,    66,    69,    70, 
    2847       71,    74,    75,    76,    77,    79,   169,   214,   215,   169, 
    2848      298,   220,   280,     3,     3,   221,   194,   200,   204,   204, 
    2849      196,     5,   249,     3,    24,   179,   187,   248,     3,    24, 
    2850      230,   247,   179,   276,   230,   298,   247,   169,   169,   247, 
    2851      276,     3,   245,    29,    82,   109,   111,   112,   113,   116, 
    2852      117,   119,   120,   272,   273,   275,     4,   204,     3,   256, 
    2853      254,     5,    23,   269,   280,   180,   176,   179,   169,   260, 
    2854      269,   179,   267,   280,   268,   176,   276,     3,   205,   248, 
    2855      298,   322,   373,   280,   280,   298,   176,    23,   280,   335, 
    2856      338,   339,    23,    25,   179,   298,   347,   348,   353,   354, 
    2857      280,   280,   280,   280,     5,   353,   179,   281,   288,   299, 
    2858      342,   356,   357,   358,     3,   344,    20,    23,    24,    25, 
    2859      355,   353,   360,   179,   179,   180,     3,   180,   282,   282, 
    2860      280,   180,   180,   180,   280,   280,   280,   280,   280,   280, 
    2861      280,   280,   280,   280,   280,   280,   180,   282,   282,   282, 
    2862      282,   282,   280,   283,   361,   362,     3,   132,     3,     3, 
    2863      282,   180,     3,     5,   280,   287,   280,   280,   280,   280, 
    2864      280,   280,   280,   280,   280,   280,   280,   280,   280,   280, 
    2865        5,    24,   280,   286,   280,     5,   280,     5,   280,   288, 
    2866      303,   289,   294,   294,   280,   280,   180,     3,   180,   276, 
    2867      218,   180,     3,   180,     3,   179,     3,   370,   180,   180, 
    2868      180,     3,   370,     3,   180,     3,    24,     3,   180,   179, 
    2869      169,   324,   179,   208,   208,   280,   180,   250,   227,   232, 
    2870      233,   284,   280,   169,   169,   231,   227,   248,     4,    23, 
    2871      277,   278,   279,   280,   248,   276,   276,   248,   246,   276, 
    2872      179,     3,     4,   208,   254,   169,   269,   260,     5,   269, 
    2873      180,     3,   270,    23,   180,   276,    31,   169,   311,   312, 
    2874        5,   329,   364,   180,     3,   353,    23,    25,   179,   280, 
    2875        3,   180,   180,   280,   180,   356,   285,   359,   359,     3, 
    2876      359,   356,   353,   353,   353,   353,   353,   366,   369,   304, 
    2877      280,   180,   180,   180,   180,   180,   180,   180,   180,   180, 
    2878      180,   180,   180,   180,   180,   180,   180,   180,   180,   180, 
    2879      180,   180,     3,     3,     3,   280,   362,   280,   362,   280, 
    2880      362,   180,   283,   280,   280,   280,   280,   280,     4,     4, 
    2881      280,   295,   296,   297,   180,   180,   298,   169,    84,   280, 
    2882      295,   125,   367,   180,   367,   180,   298,   214,   280,   220, 
    2883       23,   169,   180,   210,   211,    30,    24,     3,    21,    22, 
    2884       23,   188,   299,   180,    24,    24,   230,   280,     3,   180, 
    2885        4,   298,    23,   264,   264,   245,   138,   139,   140,   274, 
    2886      273,     4,   169,   276,   180,   269,   270,   169,   180,     4, 
    2887      126,     3,   280,   276,   339,   180,   280,   297,   189,   276, 
    2888      348,   353,     3,   180,   285,   358,   370,   370,   169,   363, 
    2889      363,   363,   180,   303,     4,   280,     4,     3,   302,   276, 
    2890      180,   180,     5,   180,     3,   180,   179,   209,   227,   232, 
    2891      232,   232,   232,   227,   278,   279,   280,   179,   265,   280, 
    2892      180,   276,   264,   270,   269,   169,   187,   313,   314,   169, 
    2893      312,     3,   276,   180,   330,   363,   359,   180,   180,     5, 
    2894      180,   180,   180,   180,   280,     4,   280,   296,     3,   298, 
    2895      211,   180,   210,    24,    23,   264,   305,   306,   126,     3, 
    2896      280,   180,   280,   280,     4,   280,   180,   180,   305,     5, 
    2897      126,   169,   314,     3,     3,   280,   280,   280,   280,   280, 
    2898        3,   280 
     2741       0,   170,     0,     1,    24,    25,    28,    30,    32,    35, 
     2742      45,    61,    65,    66,    70,    76,    78,    79,    81,    86, 
     2743      87,    88,    89,    90,    92,    93,    96,    97,    98,    99, 
     2744     100,   101,   102,   103,   104,   105,   106,   108,   110,   111, 
     2745     114,   115,   116,   118,   120,   123,   124,   127,   128,   129, 
     2746     137,   140,   141,   142,   143,   144,   145,   146,   147,   148, 
     2747     149,   150,   151,   152,   155,   158,   159,   160,   161,   166, 
     2748     171,   172,   173,   174,   176,   178,   186,   198,   199,   203, 
     2749     204,   209,   210,   211,   212,   213,   215,   216,   223,   225, 
     2750     228,   231,   232,   267,   276,   277,   282,   283,   284,   286, 
     2751     287,   291,   300,   301,   302,   303,   304,   310,   315,   319, 
     2752     320,   323,   331,   332,   333,   334,   335,   338,   339,   341, 
     2753     344,   345,   348,   357,   359,   369,   153,   181,   160,   180, 
     2754     162,   162,    11,    19,    20,    33,    34,    39,    40,    41, 
     2755      42,    43,    54,    55,    56,    57,    58,    59,    60,    62, 
     2756      63,    64,    67,    68,    69,    71,    72,    73,    74,    75, 
     2757      77,   125,   132,   138,   139,   144,   153,   154,   156,   157, 
     2758     160,   161,   162,   166,   249,   250,   252,   253,   257,   259, 
     2759     260,   261,   262,   267,   268,   269,   273,   275,   162,   191, 
     2760     192,   162,   249,   272,   131,   166,   195,   166,   195,   273, 
     2761     161,   162,   162,     3,   161,   179,   220,   305,   160,   160, 
     2762     166,   336,   162,   162,   352,   160,   161,   162,   353,   162, 
     2763     162,   195,   195,    18,    22,   219,   267,   162,   190,   119, 
     2764     130,   123,   160,   224,   173,    78,    79,   187,   244,   133, 
     2765     160,   161,   237,   336,   160,   162,   200,   201,   206,     4, 
     2766     175,    24,   140,   166,    24,    29,    31,   175,   175,   160, 
     2767     162,   221,   222,   166,     3,   220,   160,   205,   219,     3, 
     2768     220,   220,     3,   220,   160,   217,   218,   219,     3,    31, 
     2769     131,   196,   197,   226,   240,    21,   162,   229,    21,   162, 
     2770     235,   337,   160,   172,   172,   172,   172,   336,   336,   336, 
     2771       5,   122,   168,   340,     3,   162,   342,   101,   160,   273, 
     2772     352,    19,    20,    21,    46,    47,    48,    49,    50,    52, 
     2773      53,   160,   162,   250,   257,   268,   350,   352,   358,   360, 
     2774     361,   362,   175,   249,   294,   249,   249,   249,   251,   162, 
     2775     162,   162,   251,   249,   251,   162,   162,   162,   162,   162, 
     2776     162,   162,   162,   162,   162,   162,   162,   249,   162,   251, 
     2777     162,   162,   162,   162,   249,   250,   252,   275,   366,   367, 
     2778     162,   249,   252,     5,     6,     7,     8,     9,    10,    12, 
     2779      13,    14,    15,    16,    17,    19,    20,    21,    22,    23, 
     2780     164,   165,   254,   249,   168,   162,   271,   162,   162,   160, 
     2781     153,   270,   271,   193,   267,     3,   249,   133,   160,   214, 
     2782     214,   249,   249,   161,   305,    94,    95,   267,   306,   257, 
     2783     370,   371,    21,    23,   162,   267,   354,   355,   360,   361, 
     2784     366,   161,   252,   267,   371,   372,   267,   374,   214,    34, 
     2785      39,    40,    42,    43,    54,    55,    56,    57,    58,    59, 
     2786      60,    62,    63,    64,    67,    68,    69,    72,    73,    74, 
     2787      75,    77,   160,   188,   189,   160,   267,   194,   249,     3, 
     2788       3,   195,     5,    21,   238,   249,   163,    22,   162,   257, 
     2789     220,     3,    22,    45,    88,    89,   175,   166,   174,   180, 
     2790     180,     5,   221,     3,   205,   219,   162,   245,   205,   267, 
     2791     219,   160,   160,   219,   245,     3,   217,    25,    80,   106, 
     2792     108,   109,   110,   113,   114,   116,   117,   241,   242,   244, 
     2793     180,     3,   227,   160,   161,   162,   160,   230,   238,   161, 
     2794     162,   236,   249,   237,   245,     3,   288,   299,   307,   299, 
     2795      44,   321,   322,   324,   249,   249,   356,   161,    21,   249, 
     2796     343,   346,   347,   249,   249,   249,   249,   249,   249,   249, 
     2797       5,   360,   162,   250,   257,   268,   349,   363,   364,     3, 
     2798     351,    18,    21,    22,    23,   362,   360,   163,   163,     3, 
     2799     163,   251,   251,   249,   163,   163,   163,   249,   249,   249, 
     2800     249,   249,   249,   249,   249,   249,   249,   249,   249,   163, 
     2801     251,   163,   251,   251,   251,   252,   366,   367,     3,     3, 
     2802     126,     3,   251,   163,     3,     5,   249,   256,   249,   249, 
     2803     249,   249,   249,   249,   249,   249,   249,   249,   249,   249, 
     2804     249,   249,     5,    22,   249,   255,   249,     5,   249,     5, 
     2805     249,   356,   272,   258,   263,   263,     3,   163,   245,   192, 
     2806     163,     3,     3,   163,   162,   298,     5,     3,   373,   360, 
     2807      21,    23,   162,   249,     3,   163,   163,   163,   163,     3, 
     2808     373,     3,   163,     3,    22,     3,   163,   162,   160,   336, 
     2809     238,   202,   207,   208,   253,   249,     3,   201,   160,   206, 
     2810     202,   162,   162,   179,   305,   162,   182,   182,   249,   163, 
     2811     222,   220,     4,    21,   246,   247,   248,   249,   220,   245, 
     2812     245,   220,   218,   245,   162,     3,   131,   182,   160,   245, 
     2813     230,     5,   238,   163,     3,   239,    21,   163,   245,    27, 
     2814     160,   278,   279,   249,   285,   286,   287,   289,   292,   293, 
     2815     282,    91,   115,   308,   309,   330,    83,   311,   312,   316, 
     2816     112,   162,   326,   107,   322,   325,   172,   267,   161,   163, 
     2817       3,   249,   163,   363,   254,   365,   365,   365,     3,   363, 
     2818     360,   360,   360,   360,   360,   293,   249,   163,   163,   163, 
     2819     163,   163,   163,   163,   163,   163,   163,   163,   163,   163, 
     2820     163,   163,   163,   163,   163,   163,     3,     3,     3,   249, 
     2821     367,   249,   367,   249,   367,   163,   252,   249,   249,   249, 
     2822     249,   249,   257,     4,     4,   249,   264,   265,   266,   163, 
     2823     163,   267,   133,   160,   249,    35,    82,    88,   284,   249, 
     2824     249,   121,   371,   163,   249,   266,   168,   245,   355,   371, 
     2825     163,   267,   188,   249,   194,    22,     3,    19,    20,    21, 
     2826     167,   268,   163,   160,   368,    22,   249,   249,   305,    21, 
     2827     160,   163,   184,   185,    26,   177,   205,   249,     3,   163, 
     2828       4,   267,    21,   233,   233,   217,   134,   135,   136,   243, 
     2829     242,   245,   233,   163,   238,   239,   160,   163,     4,   122, 
     2830       3,    36,   290,   295,   172,   172,   160,   162,    84,   312, 
     2831     313,   314,   317,   172,     4,   249,   327,   328,   329,   160, 
     2832     160,   299,   337,   347,     3,   163,   254,   364,   160,   368, 
     2833     368,   368,   163,   272,     4,   249,     4,     3,   271,   245, 
     2834     163,   162,   162,   163,     3,     5,   163,   356,   163,   202, 
     2835     207,   207,   207,   207,     5,   163,   163,   163,     3,   163, 
     2836     162,   183,   247,   248,   249,   162,   234,   249,   163,   233, 
     2837       5,   122,   274,   239,   238,   160,   166,   280,   281,   160, 
     2838     279,   294,    37,    38,   296,   297,   172,   249,   160,    85, 
     2839     312,   318,   172,   299,   329,     3,   163,     4,   245,   368, 
     2840     365,   163,   163,   163,   163,   249,     4,   249,   265,     3, 
     2841     294,   249,   249,   257,   338,   249,    22,    82,   185,   163, 
     2842     184,    21,   274,   249,   249,   122,     3,   163,   160,   160, 
     2843     172,   288,   163,   160,   299,   328,   329,   245,   163,   249, 
     2844       4,   249,   163,   163,     3,     3,   202,   163,   163,   160, 
     2845     281,   160,   288,    82,   249,   249,   249,    22,   160,     3, 
     2846     249 
    28992847}; 
    29002848 
     
    29112859/* Like YYERROR except do call yyerror.  This remains here temporarily 
    29122860   to ease the transition to the new meaning of YYERROR, for GCC. 
    2913    Once GCC version 2 has supplanted version 1, this can go.  */ 
     2861   Once GCC version 2 has supplanted version 1, this can go.  However, 
     2862   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated 
     2863   in Bison 2.4.2's NEWS entry, where a plan to phase it out is 
     2864   discussed.  */ 
    29142865 
    29152866#define YYFAIL    goto yyerrlab 
     2867#if defined YYFAIL 
     2868  /* This is here to suppress warnings from the GCC cpp's 
     2869     -Wunused-macros.  Normally we don't worry about that warning, but 
     2870     some users do, and we want to make it easy for users to remove 
     2871     YYFAIL uses, which will produce warnings from Bison 2.5.  */ 
     2872#endif 
    29162873 
    29172874#define YYRECOVERING()  (!!yyerrstatus) 
    29182875 
    2919 #define YYBACKUP(Token, Value)               \ 
    2920 do                      \ 
    2921   if (yychar == YYEMPTY && yylen == 1)          \ 
    2922     {                      \ 
    2923       yychar = (Token);                \ 
    2924       yylval = (Value);                \ 
    2925       yytoken = YYTRANSLATE (yychar);           \ 
    2926       YYPOPSTACK (1);                  \ 
    2927       goto yybackup;                \ 
    2928     }                      \ 
    2929   else                        \ 
    2930     {                      \ 
     2876#define YYBACKUP(Token, Value)                                  \ 
     2877do                                                              \ 
     2878  if (yychar == YYEMPTY)                                        \ 
     2879    {                                                           \ 
     2880      yychar = (Token);                                         \ 
     2881      yylval = (Value);                                         \ 
     2882      YYPOPSTACK (yylen);                                       \ 
     2883      yystate = *yyssp;                                         \ 
     2884      goto yybackup;                                            \ 
     2885    }                                                           \ 
     2886  else                                                          \ 
     2887    {                                                           \ 
    29312888      yyerror (YY_("syntax error: cannot back up")); \ 
    29322889      YYERROR;                   \ 
     
    29342891while (YYID (0)) 
    29352892 
    2936  
     2893/* Error token number */ 
    29372894#define YYTERROR  1 
    29382895#define YYERRCODE 256 
    29392896 
    29402897 
    2941 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 
    2942    If N is 0, then set CURRENT to the empty location which ends 
    2943    the previous symbol: RHS[0] (always defined).  */ 
    2944  
    2945 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 
    2946 #ifndef YYLLOC_DEFAULT 
    2947 # define YYLLOC_DEFAULT(Current, Rhs, N)           \ 
    2948     do                           \ 
    2949       if (YYID (N))                                                    \ 
    2950    {                       \ 
    2951      (Current).first_line   = YYRHSLOC (Rhs, 1).first_line; \ 
    2952      (Current).first_column = YYRHSLOC (Rhs, 1).first_column;  \ 
    2953      (Current).last_line    = YYRHSLOC (Rhs, N).last_line;     \ 
    2954      (Current).last_column  = YYRHSLOC (Rhs, N).last_column;   \ 
    2955    }                       \ 
    2956       else                       \ 
    2957    {                       \ 
    2958      (Current).first_line   = (Current).last_line   =    \ 
    2959        YYRHSLOC (Rhs, 0).last_line;          \ 
    2960      (Current).first_column = (Current).last_column =    \ 
    2961        YYRHSLOC (Rhs, 0).last_column;           \ 
    2962    }                       \ 
    2963     while (YYID (0)) 
     2898/* This macro is provided for backward compatibility. */ 
     2899#ifndef YY_LOCATION_PRINT 
     2900# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 
    29642901#endif 
    29652902 
    29662903 
    2967 /* YY_LOCATION_PRINT -- Print the location on the stream. 
    2968    This macro was not mandated originally: define only if we know 
    2969    we won't break user code: when these are the locations we know.  */ 
    2970  
    2971 #ifndef YY_LOCATION_PRINT 
    2972 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL 
    2973 #  define YY_LOCATION_PRINT(File, Loc)       \ 
    2974      fprintf (File, "%d.%d-%d.%d",        \ 
    2975          (Loc).first_line, (Loc).first_column,  \ 
    2976          (Loc).last_line,  (Loc).last_column) 
    2977 # else 
    2978 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0) 
    2979 # endif 
    2980 #endif 
    2981  
    2982  
    29832904/* YYLEX -- calling `yylex' with the right arguments.  */ 
    2984  
    29852905#ifdef YYLEX_PARAM 
    29862906# define YYLEX yylex (YYLEX_PARAM) 
     
    30322952#endif 
    30332953{ 
     2954  FILE *yyo = yyoutput; 
     2955  YYUSE (yyo); 
    30342956  if (!yyvaluep) 
    30352957    return; 
     
    30432965    { 
    30442966      default: 
    3045    break; 
     2967        break; 
    30462968    } 
    30472969} 
     
    30813003     || defined __cplusplus || defined _MSC_VER) 
    30823004static void 
    3083 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) 
     3005yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 
    30843006#else 
    30853007static void 
    3086 yy_stack_print (bottom, top) 
    3087     yytype_int16 *bottom; 
    3088     yytype_int16 *top; 
     3008yy_stack_print (yybottom, yytop) 
     3009    yytype_int16 *yybottom; 
     3010    yytype_int16 *yytop; 
    30893011#endif 
    30903012{ 
    30913013  YYFPRINTF (stderr, "Stack now"); 
    3092   for (; bottom <= top; ++bottom) 
    3093     YYFPRINTF (stderr, " %d", *bottom); 
     3014  for (; yybottom <= yytop; yybottom++) 
     3015    { 
     3016      int yybot = *yybottom; 
     3017      YYFPRINTF (stderr, " %d", yybot); 
     3018    } 
    30943019  YYFPRINTF (stderr, "\n"); 
    30953020} 
     
    31253050  for (yyi = 0; yyi < yynrhs; yyi++) 
    31263051    { 
    3127       fprintf (stderr, "   $%d = ", yyi + 1); 
     3052      YYFPRINTF (stderr, "   $%d = ", yyi + 1); 
    31283053      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 
    31293054             &(yyvsp[(yyi + 1) - (yynrhs)]) 
    31303055                         ); 
    3131       fprintf (stderr, "\n"); 
     3056      YYFPRINTF (stderr, "\n"); 
    31323057    } 
    31333058} 
     
    31653090# define YYMAXDEPTH 10000 
    31663091#endif 
    3167  
    3168  
    31693092 
    31703093 
     
    32703193# endif 
    32713194 
    3272 /* Copy into YYRESULT an error message about the unexpected token 
    3273    YYCHAR while in state YYSTATE.  Return the number of bytes copied, 
    3274    including the terminating null byte.  If YYRESULT is null, do not 
    3275    copy anything; just return the number of bytes that would be 
    3276    copied.  As a special case, return 0 if an ordinary "syntax error" 
    3277    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during 
    3278    size calculation.  */ 
    3279 static YYSIZE_T 
    3280 yysyntax_error (char *yyresult, int yystate, int yychar) 
     3195/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message 
     3196   about the unexpected token YYTOKEN for the state stack whose top is 
     3197   YYSSP. 
     3198 
     3199   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is 
     3200   not large enough to hold the message.  In that case, also set 
     3201   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the 
     3202   required number of bytes is too large to store.  */ 
     3203static int 
     3204yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, 
     3205                yytype_int16 *yyssp, int yytoken) 
    32813206{ 
    3282   int yyn = yypact[yystate]; 
    3283  
    3284   if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) 
    3285     return 0; 
    3286   else 
     3207  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); 
     3208  YYSIZE_T yysize = yysize0; 
     3209  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 
     3210  /* Internationalized format string. */ 
     3211  const char *yyformat = YY_NULL; 
     3212  /* Arguments of yyformat. */ 
     3213  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 
     3214  /* Number of reported tokens (one for the "unexpected", one per 
     3215     "expected"). */ 
     3216  int yycount = 0; 
     3217 
     3218  /* There are many possibilities here to consider: 
     3219     - Assume YYFAIL is not used.  It's too flawed to consider.  See 
     3220       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> 
     3221       for details.  YYERROR is fine as it does not invoke this 
     3222       function. 
     3223     - If this state is a consistent state with a default action, then 
     3224       the only way this function was invoked is if the default action 
     3225       is an error action.  In that case, don't check for expected 
     3226       tokens because there are none. 
     3227     - The only way there can be no lookahead present (in yychar) is if 
     3228       this state is a consistent state with a default action.  Thus, 
     3229       detecting the absence of a lookahead is sufficient to determine 
     3230       that there is no unexpected or expected token to report.  In that 
     3231       case, just report a simple "syntax error". 
     3232     - Don't assume there isn't a lookahead just because this state is a 
     3233       consistent state with a default action.  There might have been a 
     3234       previous inconsistent state, consistent state with a non-default 
     3235       action, or user semantic action that manipulated yychar. 
     3236     - Of course, the expected token list depends on states to have 
     3237       correct lookahead information, and it depends on the parser not 
     3238       to perform extra reductions after fetching a lookahead from the 
     3239       scanner and before detecting a syntax error.  Thus, state merging 
     3240       (from LALR or IELR) and default reductions corrupt the expected 
     3241       token list.  However, the list is correct for canonical LR with 
     3242       one exception: it will still contain any token that will not be 
     3243       accepted due to an error action in a later state. 
     3244  */ 
     3245  if (yytoken != YYEMPTY) 
    32873246    { 
    3288       int yytype = YYTRANSLATE (yychar); 
    3289       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); 
    3290       YYSIZE_T yysize = yysize0; 
    3291       YYSIZE_T yysize1; 
    3292       int yysize_overflow = 0; 
    3293       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 
    3294       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 
    3295       int yyx; 
    3296  
    3297 # if 0 
    3298       /* This is so xgettext sees the translatable formats that are 
    3299     constructed on the fly.  */ 
    3300       YY_("syntax error, unexpected %s"); 
    3301       YY_("syntax error, unexpected %s, expecting %s"); 
    3302       YY_("syntax error, unexpected %s, expecting %s or %s"); 
    3303       YY_("syntax error, unexpected %s, expecting %s or %s or %s"); 
    3304       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); 
    3305 # endif 
    3306       char *yyfmt; 
    3307       char const *yyf; 
    3308       static char const yyunexpected[] = "syntax error, unexpected %s"; 
    3309       static char const yyexpecting[] = ", expecting %s"; 
    3310       static char const yyor[] = " or %s"; 
    3311       char yyformat[sizeof yyunexpected 
    3312           + sizeof yyexpecting - 1 
    3313           + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) 
    3314              * (sizeof yyor - 1))]; 
    3315       char const *yyprefix = yyexpecting; 
    3316  
    3317       /* Start YYX at -YYN if negative to avoid negative indexes in 
    3318     YYCHECK.  */ 
    3319       int yyxbegin = yyn < 0 ? -yyn : 0; 
    3320  
    3321       /* Stay within bounds of both yycheck and yytname.  */ 
    3322       int yychecklim = YYLAST - yyn + 1; 
    3323       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 
    3324       int yycount = 1; 
    3325  
    3326       yyarg[0] = yytname[yytype]; 
    3327       yyfmt = yystpcpy (yyformat, yyunexpected); 
    3328  
    3329       for (yyx = yyxbegin; yyx < yyxend; ++yyx) 
    3330    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) 
    3331      { 
    3332        if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 
    3333          { 
    3334       yycount = 1; 
    3335       yysize = yysize0; 
    3336       yyformat[sizeof yyunexpected - 1] = '\0'; 
    3337       break; 
    3338          } 
    3339        yyarg[yycount++] = yytname[yyx]; 
    3340        yysize1 = yysize + yytnamerr (0, yytname[yyx]); 
    3341        yysize_overflow |= (yysize1 < yysize); 
    3342        yysize = yysize1; 
    3343        yyfmt = yystpcpy (yyfmt, yyprefix); 
    3344        yyprefix = yyor; 
    3345      } 
    3346  
    3347       yyf = YY_(yyformat); 
    3348       yysize1 = yysize + yystrlen (yyf); 
    3349       yysize_overflow |= (yysize1 < yysize); 
    3350       yysize = yysize1; 
    3351  
    3352       if (yysize_overflow) 
    3353    return YYSIZE_MAXIMUM; 
    3354  
    3355       if (yyresult) 
    3356    { 
    3357      /* Avoid sprintf, as that infringes on the user's name space. 
    3358         Don't have undefined behavior even if the translation 
    3359         produced a string with the wrong number of "%s"s.  */ 
    3360      char *yyp = yyresult; 
    3361      int yyi = 0; 
    3362      while ((*yyp = *yyf) != '\0') 
    3363        { 
    3364          if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) 
    3365       { 
    3366         yyp += yytnamerr (yyp, yyarg[yyi++]); 
    3367         yyf += 2; 
    3368       } 
    3369          else 
    3370       { 
    3371         yyp++; 
    3372         yyf++; 
    3373       } 
    3374        } 
    3375    } 
    3376       return yysize; 
     3247      int yyn = yypact[*yyssp]; 
     3248      yyarg[yycount++] = yytname[yytoken]; 
     3249      if (!yypact_value_is_default (yyn)) 
     3250        { 
     3251          /* Start YYX at -YYN if negative to avoid negative indexes in 
     3252             YYCHECK.  In other words, skip the first -YYN actions for 
     3253             this state because they are default actions.  */ 
     3254          int yyxbegin = yyn < 0 ? -yyn : 0; 
     3255          /* Stay within bounds of both yycheck and yytname.  */ 
     3256          int yychecklim = YYLAST - yyn + 1; 
     3257          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 
     3258          int yyx; 
     3259 
     3260          for (yyx = yyxbegin; yyx < yyxend; ++yyx) 
     3261            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR 
     3262                && !yytable_value_is_error (yytable[yyx + yyn])) 
     3263              { 
     3264                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 
     3265                  { 
     3266                    yycount = 1; 
     3267                    yysize = yysize0; 
     3268                    break; 
     3269                  } 
     3270                yyarg[yycount++] = yytname[yyx]; 
     3271                { 
     3272                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); 
     3273                  if (! (yysize <= yysize1 
     3274                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 
     3275                    return 2; 
     3276                  yysize = yysize1; 
     3277                } 
     3278              } 
     3279        } 
    33773280    } 
     3281 
     3282  switch (yycount) 
     3283    { 
     3284# define YYCASE_(N, S)                      \ 
     3285      case N:                               \ 
     3286        yyformat = S;                       \ 
     3287      break 
     3288      YYCASE_(0, YY_("syntax error")); 
     3289      YYCASE_(1, YY_("syntax error, unexpected %s")); 
     3290      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); 
     3291      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); 
     3292      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); 
     3293      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); 
     3294# undef YYCASE_ 
     3295    } 
     3296 
     3297  { 
     3298    YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 
     3299    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 
     3300      return 2; 
     3301    yysize = yysize1; 
     3302  } 
     3303 
     3304  if (*yymsg_alloc < yysize) 
     3305    { 
     3306      *yymsg_alloc = 2 * yysize; 
     3307      if (! (yysize <= *yymsg_alloc 
     3308             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) 
     3309        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; 
     3310      return 1; 
     3311    } 
     3312 
     3313  /* Avoid sprintf, as that infringes on the user's name space. 
     3314     Don't have undefined behavior even if the translation 
     3315     produced a string with the wrong number of "%s"s.  */ 
     3316  { 
     3317    char *yyp = *yymsg; 
     3318    int yyi = 0; 
     3319    while ((*yyp = *yyformat) != '\0') 
     3320      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) 
     3321        { 
     3322          yyp += yytnamerr (yyp, yyarg[yyi++]); 
     3323          yyformat += 2; 
     3324        } 
     3325      else 
     3326        { 
     3327          yyp++; 
     3328          yyformat++; 
     3329        } 
     3330  } 
     3331  return 0; 
    33783332} 
    33793333#endif /* YYERROR_VERBOSE */ 
    3380  
    3381  
    33823334 
    33833335/*-----------------------------------------------. 
     
    34083360 
    34093361      default: 
    3410    break; 
     3362        break; 
    34113363    } 
    34123364} 
     
    34143366 
    34153367 
    3416 /* Prevent warnings from -Wmissing-prototypes.  */ 
    3417  
    3418 #ifdef YYPARSE_PARAM 
    3419 #if defined __STDC__ || defined __cplusplus 
    3420 int yyparse (void *YYPARSE_PARAM); 
    3421 #else 
    3422 int yyparse (); 
     3368 
     3369/* The lookahead symbol.  */ 
     3370int yychar; 
     3371 
     3372 
     3373#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
     3374# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
     3375# define YY_IGNORE_MAYBE_UNINITIALIZED_END 
    34233376#endif 
    3424 #else /* ! YYPARSE_PARAM */ 
    3425 #if defined __STDC__ || defined __cplusplus 
    3426 int yyparse (void); 
    3427 #else 
    3428 int yyparse (); 
     3377#ifndef YY_INITIAL_VALUE 
     3378# define YY_INITIAL_VALUE(Value) /* Nothing. */ 
    34293379#endif 
    3430 #endif /* ! YYPARSE_PARAM */ 
    3431  
    3432  
    3433  
    3434 /* The look-ahead symbol.  */ 
    3435 int yychar; 
    3436  
    3437 /* The semantic value of the look-ahead symbol.  */ 
    3438 YYSTYPE yylval; 
     3380 
     3381/* The semantic value of the lookahead symbol.  */ 
     3382YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); 
    34393383 
    34403384/* Number of syntax errors so far.  */ 
    34413385int yynerrs; 
    3442  
    34433386 
    34443387 
     
    34693412#endif 
    34703413{ 
    3471    
    3472   int yystate; 
     3414    int yystate; 
     3415    /* Number of tokens to shift before error messages enabled.  */ 
     3416    int yyerrstatus; 
     3417 
     3418    /* The stacks and their tools: 
     3419       `yyss': related to states. 
     3420       `yyvs': related to semantic values. 
     3421 
     3422       Refer to the stacks through separate pointers, to allow yyoverflow 
     3423       to reallocate them elsewhere.  */ 
     3424 
     3425    /* The state stack.  */ 
     3426    yytype_int16 yyssa[YYINITDEPTH]; 
     3427    yytype_int16 *yyss; 
     3428    yytype_int16 *yyssp; 
     3429 
     3430    /* The semantic value stack.  */ 
     3431    YYSTYPE yyvsa[YYINITDEPTH]; 
     3432    YYSTYPE *yyvs; 
     3433    YYSTYPE *yyvsp; 
     3434 
     3435    YYSIZE_T yystacksize; 
     3436 
    34733437  int yyn; 
    34743438  int yyresult; 
    3475   /* Number of tokens to shift before error messages enabled.  */ 
    3476   int yyerrstatus; 
    3477   /* Look-ahead token as an internal (translated) token number.  */ 
     3439  /* Lookahead token as an internal (translated) token number.  */ 
    34783440  int yytoken = 0; 
     3441  /* The variables used to return semantic value and location from the 
     3442     action routines.  */ 
     3443  YYSTYPE yyval; 
     3444 
    34793445#if YYERROR_VERBOSE 
    34803446  /* Buffer for error messages, and its allocated size.  */ 
     
    34843450#endif 
    34853451 
    3486   /* Three stacks and their tools: 
    3487      `yyss': related to states, 
    3488      `yyvs': related to semantic values, 
    3489      `yyls': related to locations. 
    3490  
    3491      Refer to the stacks thru separate pointers, to allow yyoverflow 
    3492      to reallocate them elsewhere.  */ 
    3493  
    3494   /* The state stack.  */ 
    3495   yytype_int16 yyssa[YYINITDEPTH]; 
    3496   yytype_int16 *yyss = yyssa; 
    3497   yytype_int16 *yyssp; 
    3498  
    3499   /* The semantic value stack.  */ 
    3500   YYSTYPE yyvsa[YYINITDEPTH]; 
    3501   YYSTYPE *yyvs = yyvsa; 
    3502   YYSTYPE *yyvsp; 
    3503  
    3504  
    3505  
    35063452#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N)) 
    3507  
    3508   YYSIZE_T yystacksize = YYINITDEPTH; 
    3509  
    3510   /* The variables used to return semantic value and location from the 
    3511      action routines.  */ 
    3512   YYSTYPE yyval; 
    3513  
    35143453 
    35153454  /* The number of symbols on the RHS of the reduced rule. 
     
    35173456  int yylen = 0; 
    35183457 
     3458  yyssp = yyss = yyssa; 
     3459  yyvsp = yyvs = yyvsa; 
     3460  yystacksize = YYINITDEPTH; 
     3461 
    35193462  YYDPRINTF ((stderr, "Starting parse\n")); 
    35203463 
     
    35223465  yyerrstatus = 0; 
    35233466  yynerrs = 0; 
    3524   yychar = YYEMPTY;     /* Cause a token to be read.  */ 
    3525  
    3526   /* Initialize stack pointers. 
    3527      Waste one element of value and location stack 
    3528      so that they stay on the same level as the state stack. 
    3529      The wasted elements are never initialized.  */ 
    3530  
    3531   yyssp = yyss; 
    3532   yyvsp = yyvs; 
    3533  
     3467  yychar = YYEMPTY; /* Cause a token to be read.  */ 
    35343468  goto yysetstate; 
    35353469 
     
    35583492   yytype_int16 *yyss1 = yyss; 
    35593493 
    3560  
    35613494   /* Each stack pointer address is followed by the size of the 
    35623495      data in use in that stack, in bytes.  This used to be a 
     
    35663499          &yyss1, yysize * sizeof (*yyssp), 
    35673500          &yyvs1, yysize * sizeof (*yyvsp), 
    3568  
    35693501          &yystacksize); 
    35703502 
     
    35893521   if (! yyptr) 
    35903522     goto yyexhaustedlab; 
    3591    YYSTACK_RELOCATE (yyss); 
    3592    YYSTACK_RELOCATE (yyvs); 
    3593  
     3523   YYSTACK_RELOCATE (yyss_alloc, yyss); 
     3524   YYSTACK_RELOCATE (yyvs_alloc, yyvs); 
    35943525#  undef YYSTACK_RELOCATE 
    35953526   if (yyss1 != yyssa) 
     
    36023533      yyvsp = yyvs + yysize - 1; 
    36033534 
    3604  
    36053535      YYDPRINTF ((stderr, "Stack size increased to %lu\n", 
    36063536        (unsigned long int) yystacksize)); 
     
    36113541 
    36123542  YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 
     3543 
     3544  if (yystate == YYFINAL) 
     3545    YYACCEPT; 
    36133546 
    36143547  goto yybackup; 
     
    36203553 
    36213554  /* Do appropriate processing given the current state.  Read a 
    3622      look-ahead token if we need one and don't already have one.  */ 
    3623  
    3624   /* First try to decide what to do without reference to look-ahead token.  */ 
     3555     lookahead token if we need one and don't already have one.  */ 
     3556 
     3557  /* First try to decide what to do without reference to lookahead token.  */ 
    36253558  yyn = yypact[yystate]; 
    3626   if (yyn == YYPACT_NINF) 
     3559  if (yypact_value_is_default (yyn)) 
    36273560    goto yydefault; 
    36283561 
    3629   /* Not known => get a look-ahead token if don't already have one.  */ 
    3630  
    3631   /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */ 
     3562  /* Not known => get a lookahead token if don't already have one.  */ 
     3563 
     3564  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */ 
    36323565  if (yychar == YYEMPTY) 
    36333566    { 
     
    36553588  if (yyn <= 0) 
    36563589    { 
    3657       if (yyn == 0 || yyn == YYTABLE_NINF) 
    3658    goto yyerrlab; 
     3590      if (yytable_value_is_error (yyn)) 
     3591        goto yyerrlab; 
    36593592      yyn = -yyn; 
    36603593      goto yyreduce; 
    36613594    } 
    3662  
    3663   if (yyn == YYFINAL) 
    3664     YYACCEPT; 
    36653595 
    36663596  /* Count tokens shifted since error; after three, turn off error 
     
    36693599    yyerrstatus--; 
    36703600 
    3671   /* Shift the look-ahead token.  */ 
     3601  /* Shift the lookahead token.  */ 
    36723602  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 
    36733603 
    3674   /* Discard the shifted token unless it is eof.  */ 
    3675   if (yychar != YYEOF) 
    3676     yychar = YYEMPTY; 
     3604  /* Discard the shifted token.  */ 
     3605  yychar = YYEMPTY; 
    36773606 
    36783607  yystate = yyn; 
     3608  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
    36793609  *++yyvsp = yylval; 
     3610  YY_IGNORE_MAYBE_UNINITIALIZED_END 
    36803611 
    36813612  goto yynewstate; 
     
    37133644  switch (yyn) 
    37143645    { 
    3715         case 8: 
    3716 #line 344 "fortran.y" 
    3717     {yyerrok;yyclearin;;} 
    3718     break; 
    3719  
    3720   case 13: 
    3721 #line 352 "fortran.y" 
     3646        case 7: 
     3647/* Line 1807 of yacc.c  */ 
     3648#line 319 "fortran.y" 
     3649    {yyerrok;yyclearin;} 
     3650    break; 
     3651 
     3652  case 18: 
     3653/* Line 1807 of yacc.c  */ 
     3654#line 337 "fortran.y" 
    37223655    { 
    3723                      if (inmoduledeclare == 0 ) 
    3724                      { 
    3725                         pos_end = setposcur(); 
    3726                         RemoveWordSET_0(fortranout,pos_curinclude, 
    3727                                               pos_end-pos_curinclude); 
    3728                      } 
    3729                   ;} 
    3730     break; 
    3731  
    3732   case 18: 
    3733 #line 368 "fortran.y" 
     3656            if (inmoduledeclare == 0 ) 
     3657            { 
     3658                pos_end = setposcur(); 
     3659                RemoveWordSET_0(fortran_out,pos_curinclude,pos_end-pos_curinclude); 
     3660            } 
     3661        } 
     3662    break; 
     3663 
     3664  case 20: 
     3665/* Line 1807 of yacc.c  */ 
     3666#line 347 "fortran.y" 
     3667    { pos_cur = setposcur(); } 
     3668    break; 
     3669 
     3670  case 21: 
     3671/* Line 1807 of yacc.c  */ 
     3672#line 350 "fortran.y" 
     3673    { isrecursive = 0; } 
     3674    break; 
     3675 
     3676  case 22: 
     3677/* Line 1807 of yacc.c  */ 
     3678#line 351 "fortran.y" 
     3679    { isrecursive = 1; } 
     3680    break; 
     3681 
     3682  case 23: 
     3683/* Line 1807 of yacc.c  */ 
     3684#line 354 "fortran.y" 
     3685    { is_result_present = 0; } 
     3686    break; 
     3687 
     3688  case 24: 
     3689/* Line 1807 of yacc.c  */ 
     3690#line 355 "fortran.y" 
     3691    { is_result_present = 1; } 
     3692    break; 
     3693 
     3694  case 25: 
     3695/* Line 1807 of yacc.c  */ 
     3696#line 359 "fortran.y" 
    37343697    { 
    3735             /* we should ignore the declaration until the keyword             */ 
    3736             /*    TOK_ENDDONOTTREAT                                           */ 
    3737             couldaddvariable = 0 ; 
    3738             RemoveWordCUR_0(fortranout,-20,20); 
    3739          ;} 
    3740     break; 
    3741  
    3742   case 19: 
    3743 #line 375 "fortran.y" 
     3698            insubroutinedeclare = 1; 
     3699            if ( firstpass ) 
     3700                Add_SubroutineArgument_Var_1((yyvsp[(4) - (4)].l)); 
     3701            else 
     3702                WriteBeginof_SubLoop(); 
     3703        } 
     3704    break; 
     3705 
     3706  case 26: 
     3707/* Line 1807 of yacc.c  */ 
     3708#line 367 "fortran.y" 
    37443709    { 
    3745              couldaddvariable = 1 ; 
    3746              RemoveWordCUR_0(fortranout,-24,24); 
    3747           ;} 
    3748     break; 
    3749  
    3750   case 22: 
    3751 #line 382 "fortran.y" 
    3752     {pos_cur = setposcur();;} 
     3710            insubroutinedeclare = 1; 
     3711            inprogramdeclare = 1; 
     3712            /* in the second step we should write the head of       */ 
     3713            /*    the subroutine sub_loop_<subroutinename>          */ 
     3714            if ( ! firstpass ) 
     3715                WriteBeginof_SubLoop(); 
     3716        } 
    37533717    break; 
    37543718 
    37553719  case 27: 
    3756 #line 394 "fortran.y" 
    3757     {if (incom !=1) {strcpy(curbuf,"");incom=0;};} 
     3720/* Line 1807 of yacc.c  */ 
     3721#line 376 "fortran.y" 
     3722    { 
     3723            insubroutinedeclare = 1; 
     3724            strcpy(DeclType, ""); 
     3725            /* we should to list of the subroutine argument the  */ 
     3726            /*    name of the function which has to be defined   */ 
     3727            if ( firstpass ) 
     3728            { 
     3729                Add_SubroutineArgument_Var_1((yyvsp[(4) - (5)].l)); 
     3730                if ( ! is_result_present ) 
     3731                    Add_FunctionType_Var_1((yyvsp[(3) - (5)].na)); 
     3732            } 
     3733            else 
     3734            /* in the second step we should write the head of    */ 
     3735            /*    the subroutine sub_loop_<subroutinename>       */ 
     3736                WriteBeginof_SubLoop(); 
     3737        } 
    37583738    break; 
    37593739 
    37603740  case 28: 
    3761 #line 397 "fortran.y" 
    3762     {isrecursive = 0;;} 
    3763     break; 
    3764  
    3765   case 29: 
    3766 #line 399 "fortran.y" 
    3767     {isrecursive = 1;;} 
     3741/* Line 1807 of yacc.c  */ 
     3742#line 393 "fortran.y" 
     3743    { 
     3744            GlobalDeclaration = 0; 
     3745            strcpy(curmodulename,(yyvsp[(2) - (2)].na)); 
     3746            strcpy(subroutinename,""); 
     3747            Add_NameOfModule_1((yyvsp[(2) - (2)].na)); 
     3748            if ( inmoduledeclare == 0 ) 
     3749            { 
     3750                /* To know if there are in the module declaration    */ 
     3751                inmoduledeclare = 1; 
     3752                /* to know if a module has been met                  */ 
     3753                inmodulemeet = 1; 
     3754                /* to know if we are after the keyword contains      */ 
     3755                aftercontainsdeclare = 0 ; 
     3756            } 
     3757        } 
    37683758    break; 
    37693759 
    37703760  case 31: 
    3771 #line 403 "fortran.y" 
     3761/* Line 1807 of yacc.c  */ 
     3762#line 415 "fortran.y" 
     3763    { strcpy((yyval.na), (yyvsp[(1) - (1)].na)); strcpy(subroutinename, (yyvsp[(1) - (1)].na)); } 
     3764    break; 
     3765 
     3766  case 32: 
     3767/* Line 1807 of yacc.c  */ 
     3768#line 417 "fortran.y" 
     3769    { Add_Include_1((yyvsp[(1) - (1)].na)); } 
     3770    break; 
     3771 
     3772  case 33: 
     3773/* Line 1807 of yacc.c  */ 
     3774#line 419 "fortran.y" 
     3775    { if ( firstpass ) (yyval.l)=NULL; } 
     3776    break; 
     3777 
     3778  case 34: 
     3779/* Line 1807 of yacc.c  */ 
     3780#line 420 "fortran.y" 
     3781    { if ( firstpass ) (yyval.l)=NULL; } 
     3782    break; 
     3783 
     3784  case 35: 
     3785/* Line 1807 of yacc.c  */ 
     3786#line 421 "fortran.y" 
     3787    { if ( firstpass ) (yyval.l)=(yyvsp[(2) - (3)].l); } 
     3788    break; 
     3789 
     3790  case 38: 
     3791/* Line 1807 of yacc.c  */ 
     3792#line 425 "fortran.y" 
     3793    { if ( firstpass ) Add_SubroutineArgument_Var_1((yyvsp[(2) - (3)].l)); } 
     3794    break; 
     3795 
     3796  case 39: 
     3797/* Line 1807 of yacc.c  */ 
     3798#line 428 "fortran.y" 
    37723799    { 
    3773                       if ( couldaddvariable == 1) 
    3774                       { 
    3775                       /* open param file                                      */ 
    3776                       if ( firstpass == 0 ) 
    3777                       { 
    3778                          sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(3) - (4)].nac)); 
    3779                          paramout=fopen(ligne,"w"); 
    3780                          if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    3781                          else fprintf(paramout,"C\n"); 
    3782  
    3783                       } 
    3784                       Add_SubroutineArgument_Var_1((yyvsp[(4) - (4)].l)); 
    3785                       if ( inmodulemeet == 1 ) 
    3786                       { 
    3787                          insubroutinedeclare = 1; 
    3788                          /* in the second step we should write the head of    */ 
    3789                          /*    the subroutine sub_loop_<subroutinename>       */ 
    3790                          writeheadnewsub_0(1); 
    3791                       } 
    3792                       else 
    3793                       { 
    3794                             insubroutinedeclare = 1; 
    3795                             writeheadnewsub_0(1); 
    3796                       } 
    3797                       } 
    3798                    ;} 
    3799     break; 
    3800  
    3801   case 32: 
    3802 #line 431 "fortran.y" 
     3800            if ( firstpass == 1 ) 
     3801            { 
     3802                strcpy(nameinttypenameback,nameinttypename); 
     3803                strcpy(nameinttypename,""); 
     3804                curvar = createvar((yyvsp[(1) - (1)].na),NULL); 
     3805                strcpy(nameinttypename,nameinttypenameback); 
     3806                curlistvar = insertvar(NULL,curvar); 
     3807                (yyval.l) = settype("",curlistvar); 
     3808            } 
     3809        } 
     3810    break; 
     3811 
     3812  case 40: 
     3813/* Line 1807 of yacc.c  */ 
     3814#line 440 "fortran.y" 
    38033815    { 
    3804                       /* open param file                                      */ 
    3805                       if ( firstpass == 0 ) 
    3806                       { 
    3807                          sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(2) - (2)].nac)); 
    3808                          paramout=fopen(ligne,"w"); 
    3809                          if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    3810                          else fprintf(paramout,"C\n"); 
    3811  
    3812                       } 
    3813                       strcpy(subroutinename,(yyvsp[(2) - (2)].nac)); 
    3814                       /* Common case                                          */ 
    3815                       insubroutinedeclare = 1; 
    3816                       /* in the second step we should write the head of       */ 
    3817                       /*    the subroutine sub_loop_<subroutinename>          */ 
    3818                       writeheadnewsub_0(1); 
    3819                    ;} 
    3820     break; 
    3821  
    3822   case 33: 
    3823 #line 449 "fortran.y" 
     3816            if ( firstpass == 1 ) 
     3817            { 
     3818                strcpy(nameinttypenameback,nameinttypename); 
     3819                strcpy(nameinttypename,""); 
     3820                curvar = createvar((yyvsp[(3) - (3)].na),NULL); 
     3821                strcpy(nameinttypename,nameinttypenameback); 
     3822                (yyval.l) = insertvar((yyvsp[(1) - (3)].l),curvar); 
     3823            } 
     3824        } 
     3825    break; 
     3826 
     3827  case 41: 
     3828/* Line 1807 of yacc.c  */ 
     3829#line 451 "fortran.y" 
     3830    { strcpy((yyval.na),(yyvsp[(1) - (1)].na));  } 
     3831    break; 
     3832 
     3833  case 42: 
     3834/* Line 1807 of yacc.c  */ 
     3835#line 452 "fortran.y" 
     3836    { strcpy((yyval.na),"*"); } 
     3837    break; 
     3838 
     3839  case 44: 
     3840/* Line 1807 of yacc.c  */ 
     3841#line 455 "fortran.y" 
     3842    { inside_type_declare = 1; } 
     3843    break; 
     3844 
     3845  case 45: 
     3846/* Line 1807 of yacc.c  */ 
     3847#line 456 "fortran.y" 
     3848    { inside_type_declare = 0; } 
     3849    break; 
     3850 
     3851  case 47: 
     3852/* Line 1807 of yacc.c  */ 
     3853#line 459 "fortran.y" 
    38243854    { 
    3825                       /* open param file                                      */ 
    3826                       if ( firstpass == 0 ) 
    3827                       { 
    3828                          sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(3) - (6)].nac)); 
    3829                          paramout=fopen(ligne,"w"); 
    3830                          if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    3831                          else fprintf(paramout,"C\n"); 
    3832                       } 
    3833                       strcpy(subroutinename,(yyvsp[(3) - (6)].nac)); 
    3834                       if ( inmodulemeet == 1 ) 
    3835                       { 
    3836                          insubroutinedeclare = 1; 
    3837                          /* we should to list of the subroutine argument the  */ 
    3838                          /*    name of the function which has to be defined   */ 
    3839                          Add_SubroutineArgument_Var_1((yyvsp[(4) - (6)].l)); 
    3840                          strcpy(DeclType,""); 
    3841                          /* in the second step we should write the head of    */ 
    3842                          /*    the subroutine sub_loop_<subroutinename>       */ 
    3843                          writeheadnewsub_0(2); 
    3844                       } 
    3845                       else 
    3846                       { 
    3847                             insubroutinedeclare = 1; 
    3848                             /* we should to list of the subroutine argument   */ 
    3849                             /* name of the function which has to be defined   */ 
    3850                             Add_SubroutineArgument_Var_1((yyvsp[(4) - (6)].l)); 
    3851                             strcpy(DeclType,""); 
    3852                             Add_FunctionType_Var_1((yyvsp[(3) - (6)].nac)); 
    3853                             writeheadnewsub_0(2); 
    3854                       } 
    3855                    ;} 
    3856     break; 
    3857  
    3858   case 34: 
    3859 #line 482 "fortran.y" 
     3855            if ( ! inside_type_declare ) 
     3856            { 
     3857                if ( firstpass ) 
     3858                { 
     3859                    if ( insubroutinedeclare )  Add_Parameter_Var_1((yyvsp[(3) - (4)].l)); 
     3860                    else                        Add_GlobalParameter_Var_1((yyvsp[(3) - (4)].l)); 
     3861                } 
     3862                else 
     3863                { 
     3864                    pos_end = setposcur(); 
     3865                    RemoveWordSET_0(fortran_out, pos_cur_decl, pos_end-pos_cur_decl); 
     3866                } 
     3867            } 
     3868            VariableIsParameter =  0 ; 
     3869        } 
     3870    break; 
     3871 
     3872  case 48: 
     3873/* Line 1807 of yacc.c  */ 
     3874#line 476 "fortran.y" 
    38603875    { 
    3861                       /* open param file                                      */ 
    3862                       if ( firstpass == 0 ) 
    3863                       { 
    3864                          sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(3) - (4)].nac)); 
    3865                          paramout=fopen(ligne,"w"); 
    3866                          if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    3867                          else fprintf(paramout,"C\n"); 
    3868                       } 
    3869                       strcpy(subroutinename,(yyvsp[(3) - (4)].nac)); 
    3870                       if ( inmodulemeet == 1 ) 
    3871                       { 
    3872                          insubroutinedeclare = 1; 
    3873                          /* we should to list of the subroutine argument the  */ 
    3874                          /*    name of the function which has to be defined   */ 
    3875                          Add_SubroutineArgument_Var_1((yyvsp[(4) - (4)].l)); 
    3876                          strcpy(DeclType,""); 
    3877                          Add_FunctionType_Var_1((yyvsp[(3) - (4)].nac)); 
    3878                          /* in the second step we should write the head of    */ 
    3879                          /*    the subroutine sub_loop_<subroutinename>       */ 
    3880                          writeheadnewsub_0(2); 
    3881                       } 
    3882                       else 
    3883                       { 
    3884                             insubroutinedeclare = 1; 
    3885                             /* we should to list of the subroutine argument   */ 
    3886                             /* name of the function which has to be defined   */ 
    3887                             Add_SubroutineArgument_Var_1((yyvsp[(4) - (4)].l)); 
    3888                             strcpy(DeclType,""); 
    3889                             Add_FunctionType_Var_1((yyvsp[(3) - (4)].nac)); 
    3890                             writeheadnewsub_0(2); 
    3891                       } 
    3892                    ;} 
    3893     break; 
    3894  
    3895   case 35: 
    3896 #line 516 "fortran.y" 
     3876            if ( ! inside_type_declare ) 
     3877            { 
     3878                if ( firstpass ) 
     3879                { 
     3880                    if ( insubroutinedeclare )  Add_Parameter_Var_1((yyvsp[(2) - (2)].l)); 
     3881                    else                        Add_GlobalParameter_Var_1((yyvsp[(2) - (2)].l)); 
     3882                } 
     3883                else 
     3884                { 
     3885                    pos_end = setposcur(); 
     3886                    RemoveWordSET_0(fortran_out,pos_cur_decl,pos_end-pos_cur_decl); 
     3887                } 
     3888            } 
     3889            VariableIsParameter =  0 ; 
     3890        } 
     3891    break; 
     3892 
     3893  case 50: 
     3894/* Line 1807 of yacc.c  */ 
     3895#line 494 "fortran.y" 
    38973896    { 
    3898                       GlobalDeclaration = 0; 
    3899                       strcpy(curmodulename,(yyvsp[(2) - (2)].nac)); 
    3900                       strcpy(subroutinename,""); 
    3901                       Add_NameOfModule_1((yyvsp[(2) - (2)].nac)); 
    3902                       if ( inmoduledeclare == 0 ) 
    3903                       { 
    3904                          /* To know if there are in the module declaration    */ 
    3905                          inmoduledeclare = 1; 
    3906                          /* to know if a module has been met                  */ 
    3907                          inmodulemeet = 1; 
    3908                          /* to know if we are after the keyword contains      */ 
    3909                          aftercontainsdeclare = 0 ; 
    3910                       } 
    3911                    ;} 
    3912     break; 
    3913  
    3914   case 36: 
    3915 #line 533 "fortran.y" 
     3897            pos_end = setposcur(); 
     3898            RemoveWordSET_0(fortran_out,pos_cursave,pos_end-pos_cursave); 
     3899        } 
     3900    break; 
     3901 
     3902  case 52: 
     3903/* Line 1807 of yacc.c  */ 
     3904#line 500 "fortran.y" 
    39163905    { 
    3917                       if ( couldaddvariable == 1 ) 
    3918                       { 
    3919                          strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));strcpy(subroutinename,(yyvsp[(1) - (1)].nac)); 
    3920                       } 
    3921                    ;} 
    3922     break; 
    3923  
    3924   case 38: 
    3925 #line 542 "fortran.y" 
     3906            /* if the variable is a parameter we can suppose that is   */ 
     3907            /*    value is the same on each grid. It is not useless to */ 
     3908            /*    create a copy of it on each grid                     */ 
     3909            if ( ! inside_type_declare ) 
     3910            { 
     3911                if ( firstpass ) 
     3912                { 
     3913                    Add_Globliste_1((yyvsp[(1) - (1)].l)); 
     3914                    /* if variableparamlists has been declared in a subroutine   */ 
     3915                    if ( insubroutinedeclare )     Add_Dimension_Var_1((yyvsp[(1) - (1)].l)); 
     3916                } 
     3917                else 
     3918                { 
     3919                    pos_end = setposcur(); 
     3920                    RemoveWordSET_0(fortran_out,pos_curdimension,pos_end-pos_curdimension); 
     3921                } 
     3922            } 
     3923            PublicDeclare = 0; 
     3924            PrivateDeclare = 0; 
     3925            ExternalDeclare = 0; 
     3926            strcpy(NamePrecision,""); 
     3927            c_star = 0; 
     3928            InitialValueGiven = 0 ; 
     3929            strcpy(IntentSpec,""); 
     3930            VariableIsParameter =  0 ; 
     3931            Allocatabledeclare = 0 ; 
     3932            Targetdeclare = 0 ; 
     3933            SaveDeclare = 0; 
     3934            pointerdeclare = 0; 
     3935            optionaldeclare = 0 ; 
     3936            dimsgiven=0; 
     3937            c_selectorgiven=0; 
     3938            strcpy(nameinttypename,""); 
     3939            strcpy(c_selectorname,""); 
     3940        } 
     3941    break; 
     3942 
     3943  case 53: 
     3944/* Line 1807 of yacc.c  */ 
     3945#line 537 "fortran.y" 
    39263946    { 
    3927                       pos_curinclude = setposcur()-9; 
    3928                    ;} 
    3929     break; 
    3930  
    3931   case 39: 
    3932 #line 546 "fortran.y" 
     3947            if (firstpass == 0) 
     3948            { 
     3949                if ((yyvsp[(1) - (1)].lnn)) 
     3950                { 
     3951                    removeglobfromlist(&((yyvsp[(1) - (1)].lnn))); 
     3952                    pos_end = setposcur(); 
     3953                    RemoveWordSET_0(fortran_out,pos_cur,pos_end-pos_cur); 
     3954                    writelistpublic((yyvsp[(1) - (1)].lnn)); 
     3955                } 
     3956            } 
     3957        } 
     3958    break; 
     3959 
     3960  case 62: 
     3961/* Line 1807 of yacc.c  */ 
     3962#line 558 "fortran.y" 
    39333963    { 
    3934                       if ( couldaddvariable == 1 ) Add_Include_1((yyvsp[(1) - (1)].nac)); 
    3935                    ;} 
    3936     break; 
    3937  
    3938   case 40: 
    3939 #line 550 "fortran.y" 
     3964            /* we should remove the data declaration                */ 
     3965            pos_end = setposcur(); 
     3966            RemoveWordSET_0(fortran_out,pos_curdata,pos_end-pos_curdata); 
     3967 
     3968            if ( aftercontainsdeclare == 1  && firstpass == 0 ) 
     3969            { 
     3970                ReWriteDataStatement_0(fortran_out); 
     3971                pos_end = setposcur(); 
     3972            } 
     3973        } 
     3974    break; 
     3975 
     3976  case 64: 
     3977/* Line 1807 of yacc.c  */ 
     3978#line 572 "fortran.y" 
    39403979    { 
    3941                       if ( firstpass == 1 && couldaddvariable == 1) (yyval.l)=NULL; 
    3942                    ;} 
    3943     break; 
    3944  
    3945   case 41: 
    3946 #line 553 "fortran.y" 
     3980            PublicDeclare = 0 ; 
     3981            PrivateDeclare = 0 ; 
     3982        } 
     3983    break; 
     3984 
     3985  case 102: 
     3986/* Line 1807 of yacc.c  */ 
     3987#line 630 "fortran.y" 
    39473988    { 
    3948                       if ( firstpass == 1 && couldaddvariable == 1 ) (yyval.l)=NULL; 
    3949                    ;} 
    3950     break; 
    3951  
    3952   case 42: 
    3953 #line 557 "fortran.y" 
     3989            /* if the variable is a parameter we can suppose that is*/ 
     3990            /*    value is the same on each grid. It is not useless */ 
     3991            /*    to create a copy of it on each grid               */ 
     3992            if ( ! inside_type_declare ) 
     3993            { 
     3994                pos_end = setposcur(); 
     3995                RemoveWordSET_0(fortran_out,pos_cur_decl,pos_end-pos_cur_decl); 
     3996                ReWriteDeclarationAndAddTosubroutine_01((yyvsp[(1) - (2)].l)); 
     3997                pos_cur_decl = setposcur(); 
     3998                if ( firstpass == 0 && GlobalDeclaration == 0 
     3999                                    && insubroutinedeclare == 0 ) 
     4000                { 
     4001                    fprintf(fortran_out,"\n#include \"Module_Declar_%s.h\"\n", curmodulename); 
     4002                    sprintf(ligne, "Module_Declar_%s.h", curmodulename); 
     4003                    module_declar = open_for_write(ligne); 
     4004                    GlobalDeclaration = 1 ; 
     4005                    pos_cur_decl = setposcur(); 
     4006                } 
     4007                (yyval.l) = (yyvsp[(1) - (2)].l); 
     4008 
     4009                if ( firstpass ) 
     4010                { 
     4011                    Add_Globliste_1((yyvsp[(1) - (2)].l)); 
     4012                    if ( insubroutinedeclare ) 
     4013                    { 
     4014                        if ( pointerdeclare ) Add_Pointer_Var_From_List_1((yyvsp[(1) - (2)].l)); 
     4015                        Add_Parameter_Var_1((yyvsp[(1) - (2)].l)); 
     4016                    } 
     4017                    else 
     4018                        Add_GlobalParameter_Var_1((yyvsp[(1) - (2)].l)); 
     4019 
     4020                    /* If there's a SAVE declaration in module's subroutines we should    */ 
     4021                    /*    remove it from the subroutines declaration and add it in the    */ 
     4022                    /*    global declarations                                             */ 
     4023                    if ( aftercontainsdeclare && SaveDeclare ) 
     4024                    { 
     4025                        if ( inmodulemeet ) Add_SubroutineDeclarationSave_Var_1((yyvsp[(1) - (2)].l)); 
     4026                        else                Add_Save_Var_dcl_1((yyvsp[(1) - (2)].l)); 
     4027                    } 
     4028                } 
     4029            } 
     4030            else 
     4031            { 
     4032                (yyval.l) = (listvar *) NULL; 
     4033            } 
     4034            PublicDeclare = 0; 
     4035            PrivateDeclare = 0; 
     4036            ExternalDeclare = 0; 
     4037            strcpy(NamePrecision,""); 
     4038            c_star = 0; 
     4039            InitialValueGiven = 0 ; 
     4040            strcpy(IntentSpec,""); 
     4041            VariableIsParameter =  0 ; 
     4042            Allocatabledeclare = 0 ; 
     4043            Targetdeclare = 0 ; 
     4044            SaveDeclare = 0; 
     4045            pointerdeclare = 0; 
     4046            optionaldeclare = 0 ; 
     4047            dimsgiven=0; 
     4048            c_selectorgiven=0; 
     4049            strcpy(nameinttypename,""); 
     4050            strcpy(c_selectorname,""); 
     4051            GlobalDeclarationType = 0; 
     4052        } 
     4053    break; 
     4054 
     4055  case 103: 
     4056/* Line 1807 of yacc.c  */ 
     4057#line 696 "fortran.y" 
    39544058    { 
    3955                        if ( firstpass == 1 && couldaddvariable == 1 ) (yyval.l)=(yyvsp[(2) - (3)].l); 
    3956                    ;} 
    3957     break; 
    3958  
    3959   case 45: 
    3960 #line 564 "fortran.y" 
     4059            insubroutinedeclare = 1; 
     4060 
     4061            if ( firstpass ) 
     4062            { 
     4063                Add_SubroutineArgument_Var_1((yyvsp[(3) - (3)].l)); 
     4064                Add_FunctionType_Var_1((yyvsp[(2) - (3)].na)); 
     4065            } 
     4066            else 
     4067                WriteBeginof_SubLoop(); 
     4068 
     4069            strcpy(nameinttypename,""); 
     4070        } 
     4071    break; 
     4072 
     4073  case 104: 
     4074/* Line 1807 of yacc.c  */ 
     4075#line 710 "fortran.y" 
     4076    { functiondeclarationisdone = 1; } 
     4077    break; 
     4078 
     4079  case 105: 
     4080/* Line 1807 of yacc.c  */ 
     4081#line 712 "fortran.y" 
     4082    { VariableIsParameter = 1; pos_curparameter = setposcur()-9; } 
     4083    break; 
     4084 
     4085  case 109: 
     4086/* Line 1807 of yacc.c  */ 
     4087#line 724 "fortran.y" 
    39614088    { 
    3962                       if ( couldaddvariable == 1 ) 
    3963                       { 
    3964                          Add_SubroutineArgument_Var_1((yyvsp[(2) - (3)].l)); 
    3965                       } 
    3966                    ;} 
    3967     break; 
    3968  
    3969   case 46: 
    3970 #line 571 "fortran.y" 
     4089            createstringfromlistname(ligne,(yyvsp[(3) - (4)].lnn)); 
     4090            if (firstpass == 1) Add_Data_Var_1(&List_Data_Var,(yyvsp[(1) - (4)].na),ligne); 
     4091            else                Add_Data_Var_1(&List_Data_Var_Cur,(yyvsp[(1) - (4)].na),ligne); 
     4092        } 
     4093    break; 
     4094 
     4095  case 110: 
     4096/* Line 1807 of yacc.c  */ 
     4097#line 730 "fortran.y" 
    39714098    { 
    3972                       if ( firstpass == 1  && couldaddvariable == 1) 
    3973                       { 
    3974                          strcpy(nameinttypenameback,nameinttypename); 
    3975                          strcpy(nameinttypename,""); 
    3976                          curvar=createvar((yyvsp[(1) - (1)].na),NULL); 
    3977                         strcpy(nameinttypename,nameinttypenameback); 
    3978                          curlistvar=insertvar(NULL,curvar); 
    3979                          (yyval.l)=settype("",curlistvar); 
    3980                       } 
    3981                    ;} 
    3982     break; 
    3983  
    3984   case 47: 
    3985 #line 583 "fortran.y" 
     4099            if (firstpass == 1)  Add_Data_Var_Names_01(&List_Data_Var,(yyvsp[(1) - (4)].lnn),(yyvsp[(3) - (4)].lnn)); 
     4100            else                 Add_Data_Var_Names_01(&List_Data_Var_Cur,(yyvsp[(1) - (4)].lnn),(yyvsp[(3) - (4)].lnn)); 
     4101        } 
     4102    break; 
     4103 
     4104  case 111: 
     4105/* Line 1807 of yacc.c  */ 
     4106#line 735 "fortran.y" 
    39864107    { 
    3987                       if ( firstpass == 1  && couldaddvariable == 1) 
    3988                       { 
    3989                          strcpy(nameinttypenameback,nameinttypename); 
    3990                          strcpy(nameinttypename,"");                       
    3991                          curvar=createvar((yyvsp[(3) - (3)].na),NULL); 
    3992                          strcpy(nameinttypename,nameinttypenameback);                          
    3993                          (yyval.l)=insertvar((yyvsp[(1) - (3)].l),curvar); 
    3994                       } 
    3995                    ;} 
    3996     break; 
    3997  
    3998   case 48: 
    3999 #line 594 "fortran.y" 
    4000     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].nac));;} 
    4001     break; 
    4002  
    4003   case 49: 
    4004 #line 595 "fortran.y" 
    4005     {if ( couldaddvariable == 1 ) strcpy((yyval.na),"*");;} 
    4006     break; 
    4007  
    4008   case 50: 
    4009 #line 598 "fortran.y" 
     4108            createstringfromlistname(ligne,(yyvsp[(7) - (8)].lnn)); 
     4109            printf("###################################################################################################################\n"); 
     4110            printf("## CONV Error : data_implied_do statements (R537) are not yet supported. Please complain to the proper authorities.\n"); 
     4111            printf("l.%4d -- data_stmt_set : ( lhs , dospec ) /data_stmt_value_list/ -- lhs=|%s| dospec=|%s| data_stmt_value_list=|%s|\n", 
     4112                line_num_input,(yyvsp[(2) - (8)].na),(yyvsp[(4) - (8)].na),ligne); 
     4113            printf("## But, are you SURE you NEED a DATA construct ?\n"); 
     4114            printf("###################################################################################################################\n"); 
     4115            exit(1); 
     4116        } 
     4117    break; 
     4118 
     4119  case 112: 
     4120/* Line 1807 of yacc.c  */ 
     4121#line 748 "fortran.y" 
     4122    { (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].na),0); } 
     4123    break; 
     4124 
     4125  case 113: 
     4126/* Line 1807 of yacc.c  */ 
     4127#line 749 "fortran.y" 
     4128    { (yyval.lnn) = Insertname((yyvsp[(3) - (3)].lnn),(yyvsp[(1) - (3)].na),1);   } 
     4129    break; 
     4130 
     4131  case 118: 
     4132/* Line 1807 of yacc.c  */ 
     4133#line 758 "fortran.y" 
     4134    { pos_cursave = setposcur()-4; } 
     4135    break; 
     4136 
     4137  case 120: 
     4138/* Line 1807 of yacc.c  */ 
     4139#line 761 "fortran.y" 
     4140    { if ( ! inside_type_declare ) Add_Save_Var_1((yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].d)); } 
     4141    break; 
     4142 
     4143  case 121: 
     4144/* Line 1807 of yacc.c  */ 
     4145#line 764 "fortran.y" 
     4146    { (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].na),0); } 
     4147    break; 
     4148 
     4149  case 122: 
     4150/* Line 1807 of yacc.c  */ 
     4151#line 765 "fortran.y" 
     4152    { printf("l.%4d -- INSTRUCTION NON TRAITEE : INITIALISATION DE DATA AVEC EXPRESSION\n",line_num_input); exit(0); } 
     4153    break; 
     4154 
     4155  case 123: 
     4156/* Line 1807 of yacc.c  */ 
     4157#line 766 "fortran.y" 
     4158    { (yyval.lnn) = concat_listname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].lnn)); } 
     4159    break; 
     4160 
     4161  case 124: 
     4162/* Line 1807 of yacc.c  */ 
     4163#line 769 "fortran.y" 
     4164    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));  } 
     4165    break; 
     4166 
     4167  case 125: 
     4168/* Line 1807 of yacc.c  */ 
     4169#line 770 "fortran.y" 
     4170    { sprintf((yyval.na),"%s+%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     4171    break; 
     4172 
     4173  case 126: 
     4174/* Line 1807 of yacc.c  */ 
     4175#line 771 "fortran.y" 
     4176    { sprintf((yyval.na),"%s-%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     4177    break; 
     4178 
     4179  case 127: 
     4180/* Line 1807 of yacc.c  */ 
     4181#line 772 "fortran.y" 
     4182    { sprintf((yyval.na),"%s*%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     4183    break; 
     4184 
     4185  case 128: 
     4186/* Line 1807 of yacc.c  */ 
     4187#line 773 "fortran.y" 
     4188    { sprintf((yyval.na),"%s/%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     4189    break; 
     4190 
     4191  case 129: 
     4192/* Line 1807 of yacc.c  */ 
     4193#line 775 "fortran.y" 
     4194    { strcpy((yyval.na),""); } 
     4195    break; 
     4196 
     4197  case 130: 
     4198/* Line 1807 of yacc.c  */ 
     4199#line 776 "fortran.y" 
     4200    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     4201    break; 
     4202 
     4203  case 135: 
     4204/* Line 1807 of yacc.c  */ 
     4205#line 786 "fortran.y" 
    40104206    { 
    4011                       if ( VarTypepar == 1 ) 
    4012                       { 
    4013                          couldaddvariable = 1 ; 
    4014                          VarTypepar = 0; 
    4015                       } 
    4016                    ;} 
    4017     break; 
    4018  
    4019   case 51: 
    4020 #line 606 "fortran.y" 
     4207            positioninblock = 0; 
     4208            pos_curdimension = setposcur()-9; 
     4209        } 
     4210    break; 
     4211 
     4212  case 136: 
     4213/* Line 1807 of yacc.c  */ 
     4214#line 793 "fortran.y" 
    40214215    { 
    4022                       if ( couldaddvariable == 1 ) 
    4023                       { 
    4024                          VarType = 1; 
    4025                          couldaddvariable = 0 ; 
    4026                       } 
    4027                    ;} 
    4028     break; 
    4029  
    4030   case 52: 
    4031 #line 614 "fortran.y" 
     4216            printf("l.%4d -- dimension : before_dimension opt_comma TOK_NAME = |%s| -- MHCHECK\n",line_num_input,(yyvsp[(3) - (5)].na)); 
     4217            if ( inside_type_declare ) break; 
     4218            curvar = createvar((yyvsp[(3) - (5)].na),(yyvsp[(4) - (5)].d)); 
     4219            CreateAndFillin_Curvar("", curvar); 
     4220            curlistvar=insertvar(NULL, curvar); 
     4221            (yyval.l) = settype("",curlistvar); 
     4222            strcpy(vallengspec,""); 
     4223        } 
     4224    break; 
     4225 
     4226  case 137: 
     4227/* Line 1807 of yacc.c  */ 
     4228#line 803 "fortran.y" 
    40324229    { 
    4033                       if ( VarType == 1 ) couldaddvariable = 1 ; 
    4034                       VarType = 0; 
    4035                       VarTypepar = 0; 
    4036                    ;} 
    4037     break; 
    4038  
    4039   case 54: 
    4040 #line 621 "fortran.y" 
     4230            printf("l.%4d -- dimension : dimension ',' TOK_NAME dims lengspec = |%s| -- MHCHECK\n",line_num_input,(yyvsp[(3) - (5)].na)); 
     4231            if ( inside_type_declare ) break; 
     4232            curvar = createvar((yyvsp[(3) - (5)].na),(yyvsp[(4) - (5)].d)); 
     4233            CreateAndFillin_Curvar("", curvar); 
     4234            curlistvar = insertvar((yyvsp[(1) - (5)].l), curvar); 
     4235            (yyval.l) = curlistvar; 
     4236            strcpy(vallengspec,""); 
     4237        } 
     4238    break; 
     4239 
     4240  case 140: 
     4241/* Line 1807 of yacc.c  */ 
     4242#line 818 "fortran.y" 
     4243    { (yyval.lnn) = (listname *) NULL; } 
     4244    break; 
     4245 
     4246  case 141: 
     4247/* Line 1807 of yacc.c  */ 
     4248#line 819 "fortran.y" 
     4249    { (yyval.lnn) = (yyvsp[(3) - (3)].lnn); } 
     4250    break; 
     4251 
     4252  case 142: 
     4253/* Line 1807 of yacc.c  */ 
     4254#line 822 "fortran.y" 
     4255    { (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].na),0); } 
     4256    break; 
     4257 
     4258  case 143: 
     4259/* Line 1807 of yacc.c  */ 
     4260#line 823 "fortran.y" 
     4261    { (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].na),0); } 
     4262    break; 
     4263 
     4264  case 144: 
     4265/* Line 1807 of yacc.c  */ 
     4266#line 824 "fortran.y" 
     4267    { (yyval.lnn) = Insertname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].na),0);   } 
     4268    break; 
     4269 
     4270  case 145: 
     4271/* Line 1807 of yacc.c  */ 
     4272#line 825 "fortran.y" 
     4273    { (yyval.lnn) = Insertname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].na),0);   } 
     4274    break; 
     4275 
     4276  case 146: 
     4277/* Line 1807 of yacc.c  */ 
     4278#line 829 "fortran.y" 
    40414279    { 
    4042                       if ( couldaddvariable == 1 ) 
    4043                       { 
    4044                          if ( insubroutinedeclare == 0 ) 
    4045                          { 
    4046                                                   Add_GlobalParameter_Var_1((yyvsp[(3) - (4)].l)); 
    4047                                                   } 
    4048                          else Add_Parameter_Var_1((yyvsp[(3) - (4)].l)); 
    4049                          pos_end = setposcur(); 
    4050                         RemoveWordSET_0(fortranout,pos_cur_decl, 
    4051                                                     pos_end-pos_cur_decl); 
    4052                       } 
    4053                       VariableIsParameter =  0 ; 
    4054                    ;} 
    4055     break; 
    4056  
    4057   case 55: 
    4058 #line 636 "fortran.y" 
     4280            if ( inside_type_declare ) break; 
     4281            pos_end = setposcur(); 
     4282            RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 
     4283        } 
     4284    break; 
     4285 
     4286  case 147: 
     4287/* Line 1807 of yacc.c  */ 
     4288#line 835 "fortran.y" 
    40594289    { 
    4060                      if ( couldaddvariable == 1 ) 
    4061                      { 
    4062                         if ( insubroutinedeclare == 0 ) 
    4063                                                   Add_GlobalParameter_Var_1((yyvsp[(2) - (2)].l)); 
    4064                          else Add_Parameter_Var_1((yyvsp[(2) - (2)].l)); 
    4065                          pos_end = setposcur(); 
    4066                          RemoveWordSET_0(fortranout,pos_cur_decl, 
    4067                                                     pos_end-pos_cur_decl); 
    4068                       } 
    4069                       VariableIsParameter =  0 ; 
    4070                    ;} 
    4071     break; 
    4072  
    4073   case 57: 
    4074 #line 650 "fortran.y" 
     4290            if ( inside_type_declare ) break; 
     4291            sprintf(charusemodule,"%s",(yyvsp[(2) - (3)].na)); 
     4292            Add_NameOfCommon_1((yyvsp[(2) - (3)].na),subroutinename); 
     4293            pos_end = setposcur(); 
     4294            RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 
     4295        } 
     4296    break; 
     4297 
     4298  case 148: 
     4299/* Line 1807 of yacc.c  */ 
     4300#line 843 "fortran.y" 
    40754301    { 
    4076                      pos_end = setposcur(); 
    4077                      RemoveWordSET_0(fortranout,pos_cursave, 
    4078                                                 pos_end-pos_cursave); 
    4079                   ;} 
    4080     break; 
    4081  
    4082   case 59: 
    4083 #line 657 "fortran.y" 
     4302            if ( inside_type_declare ) break; 
     4303            sprintf(charusemodule,"%s",(yyvsp[(3) - (5)].na)); 
     4304            Add_NameOfCommon_1((yyvsp[(3) - (5)].na),subroutinename); 
     4305            pos_end = setposcur(); 
     4306            RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 
     4307        } 
     4308    break; 
     4309 
     4310  case 149: 
     4311/* Line 1807 of yacc.c  */ 
     4312#line 852 "fortran.y" 
     4313    { positioninblock = 0; pos_curcommon = setposcur()-6;   } 
     4314    break; 
     4315 
     4316  case 150: 
     4317/* Line 1807 of yacc.c  */ 
     4318#line 853 "fortran.y" 
     4319    { positioninblock = 0; pos_curcommon = setposcur()-6-7; } 
     4320    break; 
     4321 
     4322  case 151: 
     4323/* Line 1807 of yacc.c  */ 
     4324#line 856 "fortran.y" 
     4325    { if ( ! inside_type_declare ) Add_Common_var_1(); } 
     4326    break; 
     4327 
     4328  case 152: 
     4329/* Line 1807 of yacc.c  */ 
     4330#line 857 "fortran.y" 
     4331    { if ( ! inside_type_declare ) Add_Common_var_1(); } 
     4332    break; 
     4333 
     4334  case 153: 
     4335/* Line 1807 of yacc.c  */ 
     4336#line 861 "fortran.y" 
    40844337    { 
    4085                    /* if the variable is a parameter we can suppose that is   */ 
    4086                    /*    value is the same on each grid. It is not useless to */ 
    4087                    /*    create a copy of it on each grid                     */ 
    4088                       if ( couldaddvariable == 1 ) 
    4089                       { 
    4090                          Add_Globliste_1((yyvsp[(1) - (1)].l)); 
    4091                          /* if variableparamlists has been declared in a      */ 
    4092                          /*    subroutine                                     */ 
    4093                          if ( insubroutinedeclare == 1 ) 
    4094                          { 
    4095                             Add_Dimension_Var_1((yyvsp[(1) - (1)].l)); 
    4096                          } 
    4097                          pos_end = setposcur(); 
    4098                          RemoveWordSET_0(fortranout,pos_curdimension, 
    4099                                                 pos_end-pos_curdimension); 
    4100                       } 
    4101                       /*                                                      */ 
    4102                       PublicDeclare = 0; 
    4103                       PrivateDeclare = 0; 
    4104                       ExternalDeclare = 0; 
    4105                       strcpy(NamePrecision,""); 
    4106                       c_star = 0; 
    4107                       strcpy(InitialValueGiven," "); 
    4108                       strcpy(IntentSpec,""); 
    4109                       VariableIsParameter =  0 ; 
    4110                       Allocatabledeclare = 0 ; 
    4111                       Targetdeclare = 0 ; 
    4112                       SaveDeclare = 0; 
    4113                       pointerdeclare = 0; 
    4114                       optionaldeclare = 0 ; 
    4115                       dimsgiven=0; 
    4116                       c_selectorgiven=0; 
    4117                       strcpy(nameinttypename,""); 
    4118                       strcpy(c_selectorname,""); 
    4119                    ;} 
    4120     break; 
    4121  
    4122   case 60: 
    4123 #line 694 "fortran.y" 
     4338            positioninblock = positioninblock + 1 ; 
     4339            strcpy(commonvar,(yyvsp[(1) - (2)].na)); 
     4340            commondim = (yyvsp[(2) - (2)].d); 
     4341        } 
     4342    break; 
     4343 
     4344  case 154: 
     4345/* Line 1807 of yacc.c  */ 
     4346#line 869 "fortran.y" 
    41244347    { 
    4125       if (firstpass == 0) 
    4126       { 
    4127       if ((yyvsp[(1) - (1)].lnn)) 
    4128       { 
    4129       removeglobfromlist(&((yyvsp[(1) - (1)].lnn))); 
    4130       pos_end = setposcur(); 
    4131            RemoveWordSET_0(fortranout,pos_cur,pos_end-pos_cur); 
    4132       writelistpublic((yyvsp[(1) - (1)].lnn)); 
    4133       } 
    4134       } 
    4135       ;} 
    4136     break; 
    4137  
    4138   case 70: 
    4139 #line 716 "fortran.y" 
     4348            strcpy((yyval.na),""); 
     4349            positioninblock=0; 
     4350            strcpy(commonblockname,""); 
     4351        } 
     4352    break; 
     4353 
     4354  case 155: 
     4355/* Line 1807 of yacc.c  */ 
     4356#line 875 "fortran.y" 
    41404357    { 
    4141                       /* we should remove the data declaration                */ 
    4142                       if ( couldaddvariable == 1 && aftercontainsdeclare != 2 ) 
    4143                       { 
    4144                         pos_end = setposcur(); 
    4145                         RemoveWordSET_0(fortranout,pos_curdata, 
    4146                                               pos_end-pos_curdata); 
    4147                       } 
    4148                       if ( couldaddvariable == 1 && aftercontainsdeclare == 1 ) 
    4149                       { 
    4150                       if (firstpass == 0) 
    4151                       { 
    4152                         ReWriteDataStatement_0(fortranout); 
    4153                         pos_end = setposcur(); 
    4154                   } 
    4155                       } 
    4156                   ;} 
    4157     break; 
    4158  
    4159   case 72: 
    4160 #line 736 "fortran.y" 
     4358            strcpy((yyval.na),(yyvsp[(2) - (3)].na)); 
     4359            positioninblock=0; 
     4360            strcpy(commonblockname,(yyvsp[(2) - (3)].na)); 
     4361        } 
     4362    break; 
     4363 
     4364  case 158: 
     4365/* Line 1807 of yacc.c  */ 
     4366#line 885 "fortran.y" 
     4367    { (yyval.l)=insertvar(NULL,(yyvsp[(1) - (1)].v)); } 
     4368    break; 
     4369 
     4370  case 159: 
     4371/* Line 1807 of yacc.c  */ 
     4372#line 886 "fortran.y" 
     4373    { (yyval.l)=insertvar((yyvsp[(1) - (3)].l),(yyvsp[(3) - (3)].v));   } 
     4374    break; 
     4375 
     4376  case 160: 
     4377/* Line 1807 of yacc.c  */ 
     4378#line 890 "fortran.y" 
    41614379    { 
    4162          PublicDeclare = 0 ; 
    4163          PrivateDeclare = 0 ; 
    4164       ;} 
    4165     break; 
    4166  
    4167   case 110: 
    4168 #line 787 "fortran.y" 
     4380            if ( inside_type_declare ) break; 
     4381            curvar=(variable *) calloc(1,sizeof(variable)); 
     4382            Init_Variable(curvar); 
     4383            curvar->v_VariableIsParameter = 1; 
     4384            strcpy(curvar->v_nomvar,(yyvsp[(1) - (3)].na)); 
     4385            strcpy(curvar->v_subroutinename,subroutinename); 
     4386            strcpy(curvar->v_modulename,curmodulename); 
     4387            strcpy(curvar->v_initialvalue,(yyvsp[(3) - (3)].na)); 
     4388            strcpy(curvar->v_commoninfile,cur_filename); 
     4389            Save_Length((yyvsp[(3) - (3)].na),14); 
     4390            (yyval.v) = curvar; 
     4391        } 
     4392    break; 
     4393 
     4394  case 164: 
     4395/* Line 1807 of yacc.c  */ 
     4396#line 913 "fortran.y" 
    41694397    { 
    4170                       /* if the variable is a parameter we can suppose that is*/ 
    4171                       /*    value is the same on each grid. It is not useless */ 
    4172                       /*    to create a copy of it on each grid               */ 
    4173                       if ( couldaddvariable == 1 ) 
    4174                       { 
    4175                       pos_end = setposcur(); 
    4176                       /*if (insubroutinedeclare == 0) 
    4177                         {   */ 
    4178                          RemoveWordSET_0(fortranout,pos_cur_decl, 
    4179                                                  pos_end-pos_cur_decl); 
    4180                                           
    4181                        /* } 
    4182                       else 
    4183                        {*/ 
    4184                         ReWriteDeclarationAndAddTosubroutine_01((yyvsp[(1) - (2)].l)); 
    4185                         pos_cur_decl = setposcur(); 
    4186                          
    4187                        /*}*/ 
    4188                       if ( firstpass == 0 && 
    4189                            GlobalDeclaration == 0 && 
    4190                            insubroutinedeclare == 0 ) 
    4191                       { 
    4192  
    4193                          sprintf(ligne,"\n#include \"Module_Declar_%s.h\"\n" 
    4194                                                                 ,curmodulename); 
    4195                          tofich(fortranout,ligne,1); 
    4196                          sprintf (ligne, "Module_Declar_%s.h",curmodulename); 
    4197                          module_declar = associate(ligne); 
    4198                          sprintf (ligne, " "); 
    4199                          tofich (module_declar, ligne,1); 
    4200                          GlobalDeclaration = 1 ; 
    4201                          pos_cur_decl = setposcur(); 
    4202  
    4203                       } 
    4204                          (yyval.l) = (yyvsp[(1) - (2)].l); 
    4205                          Add_Globliste_1((yyvsp[(1) - (2)].l)); 
    4206                                                    
    4207                          if ( insubroutinedeclare == 0 ) 
    4208                                                   Add_GlobalParameter_Var_1((yyvsp[(1) - (2)].l)); 
    4209                          else 
    4210                          { 
    4211                             if ( pointerdeclare == 1 ) 
    4212                                                 Add_Pointer_Var_From_List_1((yyvsp[(1) - (2)].l)); 
    4213                             Add_Parameter_Var_1((yyvsp[(1) - (2)].l)); 
    4214                          } 
    4215  
    4216                          /* if variables has been declared in a subroutine    */ 
    4217                          if ( insubroutinedeclare == 1 ) 
    4218                          {  
    4219                        /*    Add_SubroutineDeclaration_Var_1($1);*/ 
    4220                          } 
    4221                          /* If there are a SAVE declarations in module's      */ 
    4222                          /*    subroutines we should remove it from the       */ 
    4223                          /*    subroutines declaration and add it in the      */ 
    4224                          /*    global declarations                            */ 
    4225                          if ( aftercontainsdeclare == 1 && 
    4226                               SaveDeclare == 1 && firstpass == 1 ) 
    4227                          { 
    4228                               if ( inmodulemeet == 0 ) Add_Save_Var_dcl_1((yyvsp[(1) - (2)].l)); 
    4229                               else  Add_SubroutineDeclarationSave_Var_1((yyvsp[(1) - (2)].l)); 
    4230                          } 
    4231                       } 
    4232                       /*                                                      */ 
    4233                       PublicDeclare = 0; 
    4234                       PrivateDeclare = 0; 
    4235                       ExternalDeclare = 0; 
    4236                       strcpy(NamePrecision,""); 
    4237                       c_star = 0; 
    4238                       strcpy(InitialValueGiven," "); 
    4239                       strcpy(IntentSpec,""); 
    4240                       VariableIsParameter =  0 ; 
    4241                       Allocatabledeclare = 0 ; 
    4242                       Targetdeclare = 0 ; 
    4243                       SaveDeclare = 0; 
    4244                       pointerdeclare = 0; 
    4245                       optionaldeclare = 0 ; 
    4246                       dimsgiven=0; 
    4247                       c_selectorgiven=0; 
    4248                       strcpy(nameinttypename,""); 
    4249                       strcpy(c_selectorname,""); 
    4250                       GlobalDeclarationType = 0;  
    4251                    ;} 
    4252     break; 
    4253  
    4254   case 111: 
    4255 #line 871 "fortran.y" 
    4256     { 
    4257                       /* open param file                                      */ 
    4258                       if ( firstpass == 0 ) 
    4259                       { 
    4260                          sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(2) - (3)].nac)); 
    4261                          paramout=fopen(ligne,"w"); 
    4262                          if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    4263                          else fprintf(paramout,"C\n"); 
    4264                       } 
    4265                       strcpy(subroutinename,(yyvsp[(2) - (3)].nac)); 
    4266                       if ( inmodulemeet == 1 ) 
    4267                       { 
    4268                          insubroutinedeclare = 1; 
    4269                          /* we should to list of the subroutine argument the  */ 
    4270                          /*    name of the function which has to be defined   */ 
    4271                          Add_SubroutineArgument_Var_1((yyvsp[(3) - (3)].l)); 
    4272                          Add_FunctionType_Var_1((yyvsp[(2) - (3)].nac)); 
    4273                          /* in the second step we should write the head of    */ 
    4274                          /*    the subroutine sub_loop_<subroutinename>       */ 
    4275                          writeheadnewsub_0(2); 
    4276                       } 
    4277                       else 
    4278                       { 
    4279                          insubroutinedeclare = 1; 
    4280                          /* we should to list of the subroutine argument the  */ 
    4281                          /*    name of the function which has to be defined   */ 
    4282                          Add_SubroutineArgument_Var_1((yyvsp[(3) - (3)].l)); 
    4283                          Add_FunctionType_Var_1((yyvsp[(2) - (3)].nac)); 
    4284                          /* in the second step we should write the head of    */ 
    4285                          /*    the subroutine sub_loop_<subroutinename>       */ 
    4286                          writeheadnewsub_0(2); 
    4287                       } 
    4288                       strcpy(nameinttypename,""); 
    4289  
    4290                    ;} 
    4291     break; 
    4292  
    4293   case 112: 
    4294 #line 908 "fortran.y" 
    4295     { 
    4296                        functiondeclarationisdone = 1; 
    4297                    ;} 
    4298     break; 
    4299  
    4300   case 113: 
    4301 #line 914 "fortran.y" 
    4302     { 
    4303                       VariableIsParameter = 1; 
    4304                       pos_curparameter = setposcur()-9; 
    4305                    ;} 
    4306     break; 
    4307  
    4308   case 114: 
    4309 #line 919 "fortran.y" 
    4310     { 
    4311                       pos_curdata = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
    4312                       Init_List_Data_Var(); 
    4313                    ;} 
    4314     break; 
    4315  
    4316   case 115: 
     4398            if ( insubroutinedeclare == 1 ) 
     4399            { 
     4400                Add_ImplicitNoneSubroutine_1(); 
     4401                pos_end = setposcur(); 
     4402                RemoveWordSET_0(fortran_out,pos_end-13,13); 
     4403            } 
     4404        } 
     4405    break; 
     4406 
     4407  case 166: 
     4408/* Line 1807 of yacc.c  */ 
    43174409#line 924 "fortran.y" 
    43184410    { 
    4319                       if ( couldaddvariable == 1 ) 
    4320                       { 
    4321 /*                      if ( aftercontainsdeclare == 1 ) strcpy(ligne,""); 
    4322                       else */ 
    4323 /*                      sprintf(ligne,"%s",$3);*/ 
    4324                       createstringfromlistname(ligne,(yyvsp[(3) - (4)].lnn)); 
    4325                       if (firstpass == 1) 
    4326                       Add_Data_Var_1(&List_Data_Var,(yyvsp[(1) - (4)].nac),ligne); 
    4327                       else 
    4328                       Add_Data_Var_1(&List_Data_Var_Cur,(yyvsp[(1) - (4)].nac),ligne); 
    4329                       } 
    4330                    ;} 
    4331     break; 
    4332  
    4333   case 116: 
    4334 #line 938 "fortran.y" 
     4411            if ( ! inside_type_declare ) 
     4412            { 
     4413                if (dimsgiven == 1) curvar = createvar((yyvsp[(2) - (5)].na),curdim); 
     4414                else                curvar = createvar((yyvsp[(2) - (5)].na),(yyvsp[(3) - (5)].d)); 
     4415                CreateAndFillin_Curvar(DeclType, curvar); 
     4416                curlistvar = insertvar(NULL, curvar); 
     4417                if (!strcasecmp(DeclType,"character")) 
     4418                { 
     4419                    if (c_selectorgiven == 1) 
     4420                    { 
     4421                        strcpy(c_selectordim.first,"1"); 
     4422                        strcpy(c_selectordim.last,c_selectorname); 
     4423                        Save_Length(c_selectorname,1); 
     4424                        change_dim_char(insertdim(NULL,c_selectordim),curlistvar); 
     4425                    } 
     4426                } 
     4427                (yyval.l)=settype(DeclType,curlistvar); 
     4428            } 
     4429            strcpy(vallengspec,""); 
     4430        } 
     4431    break; 
     4432 
     4433  case 167: 
     4434/* Line 1807 of yacc.c  */ 
     4435#line 946 "fortran.y" 
    43354436    { 
    4336                       if ( couldaddvariable == 1 ) 
    4337                       { 
    4338                       /*if ( aftercontainsdeclare == 1 ) strcpy(ligne,""); 
    4339                       else */ 
    4340                       /*sprintf(ligne,"%s",$5);   */ 
    4341                       createstringfromlistname(ligne,(yyvsp[(5) - (6)].lnn));                       
    4342                       if (firstpass == 1)                       
    4343                       Add_Data_Var_1(&List_Data_Var,(yyvsp[(3) - (6)].nac),ligne); 
    4344                       else 
    4345                       Add_Data_Var_1(&List_Data_Var_Cur,(yyvsp[(3) - (6)].nac),ligne);                       
    4346                       } 
    4347                    ;} 
    4348     break; 
    4349  
    4350   case 117: 
    4351 #line 952 "fortran.y" 
     4437            if ( ! inside_type_declare ) 
     4438            { 
     4439                if (dimsgiven == 1) curvar = createvar((yyvsp[(3) - (6)].na), curdim); 
     4440                else                curvar = createvar((yyvsp[(3) - (6)].na), (yyvsp[(4) - (6)].d)); 
     4441                CreateAndFillin_Curvar((yyvsp[(1) - (6)].l)->var->v_typevar,curvar); 
     4442                strcpy(curvar->v_typevar, (yyvsp[(1) - (6)].l)->var->v_typevar); 
     4443                curvar->v_catvar = get_cat_var(curvar); 
     4444                curlistvar = insertvar((yyvsp[(1) - (6)].l), curvar); 
     4445                if (!strcasecmp(DeclType,"character")) 
     4446                { 
     4447                    if (c_selectorgiven == 1) 
     4448                    { 
     4449                        strcpy(c_selectordim.first,"1"); 
     4450                        strcpy(c_selectordim.last,c_selectorname); 
     4451                        Save_Length(c_selectorname,1); 
     4452                        change_dim_char(insertdim(NULL,c_selectordim),curlistvar); 
     4453                    } 
     4454                } 
     4455                (yyval.l)=curlistvar; 
     4456            } 
     4457            strcpy(vallengspec,""); 
     4458        } 
     4459    break; 
     4460 
     4461  case 168: 
     4462/* Line 1807 of yacc.c  */ 
     4463#line 970 "fortran.y" 
     4464    { dimsgiven = 0; } 
     4465    break; 
     4466 
     4467  case 169: 
     4468/* Line 1807 of yacc.c  */ 
     4469#line 972 "fortran.y" 
     4470    { strcpy(DeclType,(yyvsp[(1) - (2)].na));  } 
     4471    break; 
     4472 
     4473  case 170: 
     4474/* Line 1807 of yacc.c  */ 
     4475#line 973 "fortran.y" 
     4476    { strcpy(DeclType,"character");  } 
     4477    break; 
     4478 
     4479  case 171: 
     4480/* Line 1807 of yacc.c  */ 
     4481#line 974 "fortran.y" 
     4482    { strcpy(DeclType,(yyvsp[(1) - (3)].na)); strcpy(nameinttypename,(yyvsp[(3) - (3)].na));  } 
     4483    break; 
     4484 
     4485  case 172: 
     4486/* Line 1807 of yacc.c  */ 
     4487#line 975 "fortran.y" 
     4488    { strcpy(DeclType,"type"); GlobalDeclarationType = 1;  } 
     4489    break; 
     4490 
     4491  case 174: 
     4492/* Line 1807 of yacc.c  */ 
     4493#line 978 "fortran.y" 
     4494    { c_selectorgiven = 1; strcpy(c_selectorname,(yyvsp[(2) - (2)].na)); } 
     4495    break; 
     4496 
     4497  case 175: 
     4498/* Line 1807 of yacc.c  */ 
     4499#line 979 "fortran.y" 
     4500    { c_star = 1;} 
     4501    break; 
     4502 
     4503  case 180: 
     4504/* Line 1807 of yacc.c  */ 
     4505#line 987 "fortran.y" 
     4506    { pos_cur_decl = setposcur()-9; } 
     4507    break; 
     4508 
     4509  case 181: 
     4510/* Line 1807 of yacc.c  */ 
     4511#line 990 "fortran.y" 
     4512    { strcpy((yyval.na),"integer"); pos_cur_decl = setposcur()-7; } 
     4513    break; 
     4514 
     4515  case 182: 
     4516/* Line 1807 of yacc.c  */ 
     4517#line 991 "fortran.y" 
     4518    { strcpy((yyval.na),"logical"); pos_cur_decl = setposcur()-7; } 
     4519    break; 
     4520 
     4521  case 183: 
     4522/* Line 1807 of yacc.c  */ 
     4523#line 992 "fortran.y" 
     4524    { strcpy((yyval.na),"real");    pos_cur_decl = setposcur()-4; } 
     4525    break; 
     4526 
     4527  case 184: 
     4528/* Line 1807 of yacc.c  */ 
     4529#line 993 "fortran.y" 
     4530    { strcpy((yyval.na),"complex"); pos_cur_decl = setposcur()-7; } 
     4531    break; 
     4532 
     4533  case 185: 
     4534/* Line 1807 of yacc.c  */ 
     4535#line 994 "fortran.y" 
     4536    { strcpy((yyval.na),"double complex"); pos_cur_decl = setposcur()-14; } 
     4537    break; 
     4538 
     4539  case 186: 
     4540/* Line 1807 of yacc.c  */ 
     4541#line 995 "fortran.y" 
     4542    { pos_cur_decl = setposcur()-16; strcpy((yyval.na),"real"); strcpy(nameinttypename,"8"); } 
     4543    break; 
     4544 
     4545  case 188: 
     4546/* Line 1807 of yacc.c  */ 
     4547#line 998 "fortran.y" 
     4548    {strcpy(vallengspec,(yyvsp[(2) - (2)].na));} 
     4549    break; 
     4550 
     4551  case 189: 
     4552/* Line 1807 of yacc.c  */ 
     4553#line 1001 "fortran.y" 
     4554    { sprintf((yyval.na),"*%s",(yyvsp[(1) - (1)].na)); } 
     4555    break; 
     4556 
     4557  case 190: 
     4558/* Line 1807 of yacc.c  */ 
     4559#line 1002 "fortran.y" 
     4560    { strcpy((yyval.na),"*(*)"); } 
     4561    break; 
     4562 
     4563  case 197: 
     4564/* Line 1807 of yacc.c  */ 
     4565#line 1014 "fortran.y" 
    43524566    { 
    4353                        /*******************************************************/ 
    4354                        /*******************************************************/ 
    4355                        /*******************************************************/ 
    4356                        /*******************************************************/ 
    4357                        /*******************************************************/ 
    4358                        /*******************************************************/ 
    4359                        /*******************************************************/ 
    4360                        if (firstpass == 1) 
    4361                        Add_Data_Var_Names_01(&List_Data_Var,(yyvsp[(1) - (4)].lnn),(yyvsp[(3) - (4)].lnn)); 
    4362                        else 
    4363                        Add_Data_Var_Names_01(&List_Data_Var_Cur,(yyvsp[(1) - (4)].lnn),(yyvsp[(3) - (4)].lnn)); 
    4364                    ;} 
    4365     break; 
    4366  
    4367   case 118: 
    4368 #line 967 "fortran.y" 
     4567            if ( strstr((yyvsp[(3) - (3)].na),"0.d0") ) 
     4568            { 
     4569                strcpy(nameinttypename,"8"); 
     4570                strcpy(NamePrecision,""); 
     4571            } 
     4572            else 
     4573                sprintf(NamePrecision,"%s = %s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); 
     4574        } 
     4575    break; 
     4576 
     4577  case 198: 
     4578/* Line 1807 of yacc.c  */ 
     4579#line 1023 "fortran.y" 
     4580    { strcpy(NamePrecision,(yyvsp[(1) - (1)].na)); } 
     4581    break; 
     4582 
     4583  case 199: 
     4584/* Line 1807 of yacc.c  */ 
     4585#line 1024 "fortran.y" 
     4586    { strcpy(NamePrecision,(yyvsp[(1) - (1)].na)); } 
     4587    break; 
     4588 
     4589  case 200: 
     4590/* Line 1807 of yacc.c  */ 
     4591#line 1025 "fortran.y" 
     4592    { strcpy(NamePrecision,(yyvsp[(1) - (1)].na)); } 
     4593    break; 
     4594 
     4595  case 201: 
     4596/* Line 1807 of yacc.c  */ 
     4597#line 1028 "fortran.y" 
     4598    { strcpy(CharacterSize,(yyvsp[(1) - (1)].na));  strcpy((yyval.na),(yyvsp[(1) - (1)].na));  } 
     4599    break; 
     4600 
     4601  case 202: 
     4602/* Line 1807 of yacc.c  */ 
     4603#line 1029 "fortran.y" 
     4604    { strcpy(CharacterSize,"*"); strcpy((yyval.na),"*"); } 
     4605    break; 
     4606 
     4607  case 210: 
     4608/* Line 1807 of yacc.c  */ 
     4609#line 1042 "fortran.y" 
     4610    { VariableIsParameter = 1; } 
     4611    break; 
     4612 
     4613  case 212: 
     4614/* Line 1807 of yacc.c  */ 
     4615#line 1044 "fortran.y" 
     4616    { Allocatabledeclare = 1; } 
     4617    break; 
     4618 
     4619  case 213: 
     4620/* Line 1807 of yacc.c  */ 
     4621#line 1045 "fortran.y" 
     4622    { dimsgiven = 1; curdim = (yyvsp[(2) - (2)].d); } 
     4623    break; 
     4624 
     4625  case 214: 
     4626/* Line 1807 of yacc.c  */ 
     4627#line 1046 "fortran.y" 
     4628    { ExternalDeclare = 1; } 
     4629    break; 
     4630 
     4631  case 215: 
     4632/* Line 1807 of yacc.c  */ 
     4633#line 1048 "fortran.y" 
     4634    { strcpy(IntentSpec,(yyvsp[(3) - (4)].na)); } 
     4635    break; 
     4636 
     4637  case 217: 
     4638/* Line 1807 of yacc.c  */ 
     4639#line 1050 "fortran.y" 
     4640    { optionaldeclare = 1 ; } 
     4641    break; 
     4642 
     4643  case 218: 
     4644/* Line 1807 of yacc.c  */ 
     4645#line 1051 "fortran.y" 
     4646    { pointerdeclare = 1 ; } 
     4647    break; 
     4648 
     4649  case 219: 
     4650/* Line 1807 of yacc.c  */ 
     4651#line 1052 "fortran.y" 
     4652    { SaveDeclare = 1 ; } 
     4653    break; 
     4654 
     4655  case 220: 
     4656/* Line 1807 of yacc.c  */ 
     4657#line 1053 "fortran.y" 
     4658    { Targetdeclare = 1; } 
     4659    break; 
     4660 
     4661  case 221: 
     4662/* Line 1807 of yacc.c  */ 
     4663#line 1056 "fortran.y" 
     4664    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     4665    break; 
     4666 
     4667  case 222: 
     4668/* Line 1807 of yacc.c  */ 
     4669#line 1057 "fortran.y" 
     4670    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     4671    break; 
     4672 
     4673  case 223: 
     4674/* Line 1807 of yacc.c  */ 
     4675#line 1058 "fortran.y" 
     4676    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     4677    break; 
     4678 
     4679  case 224: 
     4680/* Line 1807 of yacc.c  */ 
     4681#line 1061 "fortran.y" 
     4682    { PublicDeclare = 1;  } 
     4683    break; 
     4684 
     4685  case 225: 
     4686/* Line 1807 of yacc.c  */ 
     4687#line 1062 "fortran.y" 
     4688    { PrivateDeclare = 1; } 
     4689    break; 
     4690 
     4691  case 226: 
     4692/* Line 1807 of yacc.c  */ 
     4693#line 1064 "fortran.y" 
     4694    { (yyval.d) = (listdim*) NULL; } 
     4695    break; 
     4696 
     4697  case 227: 
     4698/* Line 1807 of yacc.c  */ 
     4699#line 1066 "fortran.y" 
    43694700    { 
    4370                       if ( couldaddvariable == 1 ) 
    4371                       { 
    4372                          (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].na),0); 
    4373                       } 
    4374                    ;} 
    4375     break; 
    4376  
    4377   case 119: 
    4378 #line 974 "fortran.y" 
     4701            (yyval.d) = (listdim*) NULL; 
     4702            if ( inside_type_declare ) break; 
     4703            if ( created_dimensionlist == 1 || agrif_parentcall == 1 )  (yyval.d)=(yyvsp[(2) - (3)].d); 
     4704        } 
     4705    break; 
     4706 
     4707  case 228: 
     4708/* Line 1807 of yacc.c  */ 
     4709#line 1074 "fortran.y" 
    43794710    { 
    4380                       if ( couldaddvariable == 1 ) 
    4381                       { 
    4382                          (yyval.lnn) = Insertname((yyvsp[(3) - (3)].lnn),(yyvsp[(1) - (3)].na),1); 
    4383                       } 
    4384                    ;} 
    4385     break; 
    4386  
    4387   case 124: 
    4388 #line 988 "fortran.y" 
     4711            (yyval.d) = (listdim*) NULL; 
     4712            if ( inside_type_declare ) break; 
     4713            if ( created_dimensionlist == 1 || agrif_parentcall == 1 )  (yyval.d)=insertdim(NULL,(yyvsp[(1) - (1)].dim1)); 
     4714        } 
     4715    break; 
     4716 
     4717  case 229: 
     4718/* Line 1807 of yacc.c  */ 
     4719#line 1080 "fortran.y" 
    43894720    { 
    4390                      pos_cursave = setposcur()-4; 
    4391                   ;} 
    4392     break; 
    4393  
    4394   case 126: 
    4395 #line 994 "fortran.y" 
     4721            (yyval.d) = (listdim*) NULL; 
     4722            if ( inside_type_declare ) break; 
     4723            if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[(1) - (3)].d),(yyvsp[(3) - (3)].dim1)); 
     4724        } 
     4725    break; 
     4726 
     4727  case 230: 
     4728/* Line 1807 of yacc.c  */ 
     4729#line 1086 "fortran.y" 
     4730    { strcpy((yyval.dim1).first,"1"); strcpy((yyval.dim1).last,(yyvsp[(1) - (1)].na)); Save_Length((yyvsp[(1) - (1)].na),1); } 
     4731    break; 
     4732 
     4733  case 231: 
     4734/* Line 1807 of yacc.c  */ 
     4735#line 1087 "fortran.y" 
     4736    { strcpy((yyval.dim1).first,"");  strcpy((yyval.dim1).last,"");                    } 
     4737    break; 
     4738 
     4739  case 232: 
     4740/* Line 1807 of yacc.c  */ 
     4741#line 1088 "fortran.y" 
     4742    { strcpy((yyval.dim1).first,(yyvsp[(1) - (2)].na));  Save_Length((yyvsp[(1) - (2)].na),2); strcpy((yyval.dim1).last,""); } 
     4743    break; 
     4744 
     4745  case 233: 
     4746/* Line 1807 of yacc.c  */ 
     4747#line 1089 "fortran.y" 
     4748    { strcpy((yyval.dim1).first,"");  strcpy((yyval.dim1).last,(yyvsp[(2) - (2)].na)); Save_Length((yyvsp[(2) - (2)].na),1); } 
     4749    break; 
     4750 
     4751  case 234: 
     4752/* Line 1807 of yacc.c  */ 
     4753#line 1090 "fortran.y" 
     4754    { strcpy((yyval.dim1).first,(yyvsp[(1) - (3)].na));  Save_Length((yyvsp[(1) - (3)].na),2); strcpy((yyval.dim1).last,(yyvsp[(3) - (3)].na)); Save_Length((yyvsp[(3) - (3)].na),1); } 
     4755    break; 
     4756 
     4757  case 235: 
     4758/* Line 1807 of yacc.c  */ 
     4759#line 1093 "fortran.y" 
     4760    { strcpy((yyval.na),"*"); } 
     4761    break; 
     4762 
     4763  case 236: 
     4764/* Line 1807 of yacc.c  */ 
     4765#line 1094 "fortran.y" 
     4766    { strcpy((yyval.na),(yyvsp[(1) - (1)].na));  } 
     4767    break; 
     4768 
     4769  case 237: 
     4770/* Line 1807 of yacc.c  */ 
     4771#line 1096 "fortran.y" 
     4772    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     4773    break; 
     4774 
     4775  case 238: 
     4776/* Line 1807 of yacc.c  */ 
     4777#line 1097 "fortran.y" 
     4778    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     4779    break; 
     4780 
     4781  case 239: 
     4782/* Line 1807 of yacc.c  */ 
     4783#line 1098 "fortran.y" 
     4784    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     4785    break; 
     4786 
     4787  case 240: 
     4788/* Line 1807 of yacc.c  */ 
     4789#line 1099 "fortran.y" 
     4790    { sprintf((yyval.na),"(%s)",(yyvsp[(2) - (3)].na)); } 
     4791    break; 
     4792 
     4793  case 241: 
     4794/* Line 1807 of yacc.c  */ 
     4795#line 1103 "fortran.y" 
     4796    { sprintf((yyval.na),"SUM(%s)",(yyvsp[(2) - (3)].na));} 
     4797    break; 
     4798 
     4799  case 242: 
     4800/* Line 1807 of yacc.c  */ 
     4801#line 1104 "fortran.y" 
     4802    { sprintf((yyval.na),"MAX(%s)",(yyvsp[(2) - (3)].na));} 
     4803    break; 
     4804 
     4805  case 243: 
     4806/* Line 1807 of yacc.c  */ 
     4807#line 1105 "fortran.y" 
     4808    { sprintf((yyval.na),"TANH(%s)",(yyvsp[(3) - (4)].na));} 
     4809    break; 
     4810 
     4811  case 244: 
     4812/* Line 1807 of yacc.c  */ 
     4813#line 1106 "fortran.y" 
     4814    { sprintf((yyval.na),"MAXVAL(%s)",(yyvsp[(3) - (4)].na));} 
     4815    break; 
     4816 
     4817  case 245: 
     4818/* Line 1807 of yacc.c  */ 
     4819#line 1107 "fortran.y" 
     4820    { sprintf((yyval.na),"MIN(%s)",(yyvsp[(2) - (3)].na));} 
     4821    break; 
     4822 
     4823  case 246: 
     4824/* Line 1807 of yacc.c  */ 
     4825#line 1108 "fortran.y" 
     4826    { sprintf((yyval.na),"MINVAL(%s)",(yyvsp[(3) - (4)].na));} 
     4827    break; 
     4828 
     4829  case 247: 
     4830/* Line 1807 of yacc.c  */ 
     4831#line 1109 "fortran.y" 
     4832    { sprintf((yyval.na),"TRIM(%s)",(yyvsp[(3) - (4)].na));} 
     4833    break; 
     4834 
     4835  case 248: 
     4836/* Line 1807 of yacc.c  */ 
     4837#line 1110 "fortran.y" 
     4838    { sprintf((yyval.na),"SQRT(%s)",(yyvsp[(2) - (3)].na));} 
     4839    break; 
     4840 
     4841  case 249: 
     4842/* Line 1807 of yacc.c  */ 
     4843#line 1111 "fortran.y" 
     4844    { sprintf((yyval.na),"REAL(%s)",(yyvsp[(3) - (4)].na));} 
     4845    break; 
     4846 
     4847  case 250: 
     4848/* Line 1807 of yacc.c  */ 
     4849#line 1112 "fortran.y" 
     4850    { sprintf((yyval.na),"NINT(%s)",(yyvsp[(3) - (4)].na));} 
     4851    break; 
     4852 
     4853  case 251: 
     4854/* Line 1807 of yacc.c  */ 
     4855#line 1113 "fortran.y" 
     4856    { sprintf((yyval.na),"FLOAT(%s)",(yyvsp[(3) - (4)].na));} 
     4857    break; 
     4858 
     4859  case 252: 
     4860/* Line 1807 of yacc.c  */ 
     4861#line 1114 "fortran.y" 
     4862    { sprintf((yyval.na),"EXP(%s)",(yyvsp[(3) - (4)].na));} 
     4863    break; 
     4864 
     4865  case 253: 
     4866/* Line 1807 of yacc.c  */ 
     4867#line 1115 "fortran.y" 
     4868    { sprintf((yyval.na),"COS(%s)",(yyvsp[(3) - (4)].na));} 
     4869    break; 
     4870 
     4871  case 254: 
     4872/* Line 1807 of yacc.c  */ 
     4873#line 1116 "fortran.y" 
     4874    { sprintf((yyval.na),"COSH(%s)",(yyvsp[(3) - (4)].na));} 
     4875    break; 
     4876 
     4877  case 255: 
     4878/* Line 1807 of yacc.c  */ 
     4879#line 1117 "fortran.y" 
     4880    { sprintf((yyval.na),"ACOS(%s)",(yyvsp[(3) - (4)].na));} 
     4881    break; 
     4882 
     4883  case 256: 
     4884/* Line 1807 of yacc.c  */ 
     4885#line 1118 "fortran.y" 
     4886    { sprintf((yyval.na),"SIN(%s)",(yyvsp[(3) - (4)].na));} 
     4887    break; 
     4888 
     4889  case 257: 
     4890/* Line 1807 of yacc.c  */ 
     4891#line 1119 "fortran.y" 
     4892    { sprintf((yyval.na),"SINH(%s)",(yyvsp[(3) - (4)].na));} 
     4893    break; 
     4894 
     4895  case 258: 
     4896/* Line 1807 of yacc.c  */ 
     4897#line 1120 "fortran.y" 
     4898    { sprintf((yyval.na),"ASIN(%s)",(yyvsp[(3) - (4)].na));} 
     4899    break; 
     4900 
     4901  case 259: 
     4902/* Line 1807 of yacc.c  */ 
     4903#line 1121 "fortran.y" 
     4904    { sprintf((yyval.na),"LOG(%s)",(yyvsp[(3) - (4)].na));} 
     4905    break; 
     4906 
     4907  case 260: 
     4908/* Line 1807 of yacc.c  */ 
     4909#line 1122 "fortran.y" 
     4910    { sprintf((yyval.na),"TAN(%s)",(yyvsp[(3) - (4)].na));} 
     4911    break; 
     4912 
     4913  case 261: 
     4914/* Line 1807 of yacc.c  */ 
     4915#line 1123 "fortran.y" 
     4916    { sprintf((yyval.na),"ATAN(%s)",(yyvsp[(3) - (4)].na));} 
     4917    break; 
     4918 
     4919  case 262: 
     4920/* Line 1807 of yacc.c  */ 
     4921#line 1124 "fortran.y" 
     4922    { sprintf((yyval.na),"ABS(%s)",(yyvsp[(2) - (3)].na));} 
     4923    break; 
     4924 
     4925  case 263: 
     4926/* Line 1807 of yacc.c  */ 
     4927#line 1125 "fortran.y" 
     4928    { sprintf((yyval.na),"MOD(%s)",(yyvsp[(3) - (4)].na));} 
     4929    break; 
     4930 
     4931  case 264: 
     4932/* Line 1807 of yacc.c  */ 
     4933#line 1126 "fortran.y" 
     4934    { sprintf((yyval.na),"SIGN(%s)",(yyvsp[(2) - (3)].na));} 
     4935    break; 
     4936 
     4937  case 265: 
     4938/* Line 1807 of yacc.c  */ 
     4939#line 1127 "fortran.y" 
     4940    { sprintf((yyval.na),"MINLOC(%s)",(yyvsp[(3) - (4)].na));} 
     4941    break; 
     4942 
     4943  case 266: 
     4944/* Line 1807 of yacc.c  */ 
     4945#line 1128 "fortran.y" 
     4946    { sprintf((yyval.na),"MAXLOC(%s)",(yyvsp[(3) - (4)].na));} 
     4947    break; 
     4948 
     4949  case 267: 
     4950/* Line 1807 of yacc.c  */ 
     4951#line 1130 "fortran.y" 
     4952    {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
     4953    break; 
     4954 
     4955  case 268: 
     4956/* Line 1807 of yacc.c  */ 
     4957#line 1131 "fortran.y" 
     4958    { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     4959    break; 
     4960 
     4961  case 269: 
     4962/* Line 1807 of yacc.c  */ 
     4963#line 1133 "fortran.y" 
     4964    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     4965    break; 
     4966 
     4967  case 270: 
     4968/* Line 1807 of yacc.c  */ 
     4969#line 1134 "fortran.y" 
     4970    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     4971    break; 
     4972 
     4973  case 271: 
     4974/* Line 1807 of yacc.c  */ 
     4975#line 1135 "fortran.y" 
     4976    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     4977    break; 
     4978 
     4979  case 272: 
     4980/* Line 1807 of yacc.c  */ 
     4981#line 1136 "fortran.y" 
     4982    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     4983    break; 
     4984 
     4985  case 273: 
     4986/* Line 1807 of yacc.c  */ 
     4987#line 1137 "fortran.y" 
     4988    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     4989    break; 
     4990 
     4991  case 274: 
     4992/* Line 1807 of yacc.c  */ 
     4993#line 1138 "fortran.y" 
     4994    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     4995    break; 
     4996 
     4997  case 275: 
     4998/* Line 1807 of yacc.c  */ 
     4999#line 1140 "fortran.y" 
     5000    { strcpy((yyval.na),"+"); } 
     5001    break; 
     5002 
     5003  case 276: 
     5004/* Line 1807 of yacc.c  */ 
     5005#line 1141 "fortran.y" 
     5006    { strcpy((yyval.na),"-"); } 
     5007    break; 
     5008 
     5009  case 277: 
     5010/* Line 1807 of yacc.c  */ 
     5011#line 1145 "fortran.y" 
     5012    { sprintf((yyval.na),"+%s",(yyvsp[(2) - (2)].na)); } 
     5013    break; 
     5014 
     5015  case 278: 
     5016/* Line 1807 of yacc.c  */ 
     5017#line 1146 "fortran.y" 
     5018    { sprintf((yyval.na),"-%s",(yyvsp[(2) - (2)].na)); } 
     5019    break; 
     5020 
     5021  case 279: 
     5022/* Line 1807 of yacc.c  */ 
     5023#line 1147 "fortran.y" 
     5024    { sprintf((yyval.na),"*%s",(yyvsp[(2) - (2)].na)); } 
     5025    break; 
     5026 
     5027  case 280: 
     5028/* Line 1807 of yacc.c  */ 
     5029#line 1148 "fortran.y" 
     5030    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5031    break; 
     5032 
     5033  case 281: 
     5034/* Line 1807 of yacc.c  */ 
     5035#line 1149 "fortran.y" 
     5036    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5037    break; 
     5038 
     5039  case 282: 
     5040/* Line 1807 of yacc.c  */ 
     5041#line 1150 "fortran.y" 
     5042    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5043    break; 
     5044 
     5045  case 283: 
     5046/* Line 1807 of yacc.c  */ 
     5047#line 1151 "fortran.y" 
     5048    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5049    break; 
     5050 
     5051  case 284: 
     5052/* Line 1807 of yacc.c  */ 
     5053#line 1152 "fortran.y" 
     5054    { sprintf((yyval.na)," > %s",(yyvsp[(2) - (2)].na)); } 
     5055    break; 
     5056 
     5057  case 285: 
     5058/* Line 1807 of yacc.c  */ 
     5059#line 1153 "fortran.y" 
     5060    { sprintf((yyval.na)," < %s",(yyvsp[(2) - (2)].na)); } 
     5061    break; 
     5062 
     5063  case 286: 
     5064/* Line 1807 of yacc.c  */ 
     5065#line 1154 "fortran.y" 
     5066    { sprintf((yyval.na)," >= %s",(yyvsp[(3) - (3)].na)); } 
     5067    break; 
     5068 
     5069  case 287: 
     5070/* Line 1807 of yacc.c  */ 
     5071#line 1155 "fortran.y" 
     5072    { sprintf((yyval.na)," <= %s",(yyvsp[(3) - (3)].na)); } 
     5073    break; 
     5074 
     5075  case 288: 
     5076/* Line 1807 of yacc.c  */ 
     5077#line 1156 "fortran.y" 
     5078    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5079    break; 
     5080 
     5081  case 289: 
     5082/* Line 1807 of yacc.c  */ 
     5083#line 1157 "fortran.y" 
     5084    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5085    break; 
     5086 
     5087  case 290: 
     5088/* Line 1807 of yacc.c  */ 
     5089#line 1158 "fortran.y" 
     5090    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5091    break; 
     5092 
     5093  case 291: 
     5094/* Line 1807 of yacc.c  */ 
     5095#line 1159 "fortran.y" 
     5096    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5097    break; 
     5098 
     5099  case 292: 
     5100/* Line 1807 of yacc.c  */ 
     5101#line 1160 "fortran.y" 
     5102    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5103    break; 
     5104 
     5105  case 293: 
     5106/* Line 1807 of yacc.c  */ 
     5107#line 1161 "fortran.y" 
     5108    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5109    break; 
     5110 
     5111  case 294: 
     5112/* Line 1807 of yacc.c  */ 
     5113#line 1162 "fortran.y" 
     5114    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5115    break; 
     5116 
     5117  case 295: 
     5118/* Line 1807 of yacc.c  */ 
     5119#line 1163 "fortran.y" 
     5120    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5121    break; 
     5122 
     5123  case 296: 
     5124/* Line 1807 of yacc.c  */ 
     5125#line 1164 "fortran.y" 
     5126    { sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na)); } 
     5127    break; 
     5128 
     5129  case 297: 
     5130/* Line 1807 of yacc.c  */ 
     5131#line 1165 "fortran.y" 
     5132    { sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na)); } 
     5133    break; 
     5134 
     5135  case 298: 
     5136/* Line 1807 of yacc.c  */ 
     5137#line 1167 "fortran.y" 
     5138    { strcpy((yyval.na),""); } 
     5139    break; 
     5140 
     5141  case 299: 
     5142/* Line 1807 of yacc.c  */ 
     5143#line 1168 "fortran.y" 
     5144    { sprintf((yyval.na),"/%s",(yyvsp[(1) - (1)].na)); } 
     5145    break; 
     5146 
     5147  case 300: 
     5148/* Line 1807 of yacc.c  */ 
     5149#line 1169 "fortran.y" 
     5150    { sprintf((yyval.na),"/= %s",(yyvsp[(2) - (2)].na));} 
     5151    break; 
     5152 
     5153  case 301: 
     5154/* Line 1807 of yacc.c  */ 
     5155#line 1170 "fortran.y" 
     5156    { sprintf((yyval.na),"//%s",(yyvsp[(2) - (2)].na)); } 
     5157    break; 
     5158 
     5159  case 302: 
     5160/* Line 1807 of yacc.c  */ 
     5161#line 1173 "fortran.y" 
     5162    { sprintf((yyval.na),"==%s",(yyvsp[(2) - (2)].na)); } 
     5163    break; 
     5164 
     5165  case 303: 
     5166/* Line 1807 of yacc.c  */ 
     5167#line 1174 "fortran.y" 
     5168    { sprintf((yyval.na),"= %s",(yyvsp[(1) - (1)].na)); } 
     5169    break; 
     5170 
     5171  case 304: 
     5172/* Line 1807 of yacc.c  */ 
     5173#line 1177 "fortran.y" 
     5174    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     5175    break; 
     5176 
     5177  case 305: 
     5178/* Line 1807 of yacc.c  */ 
     5179#line 1178 "fortran.y" 
     5180    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     5181    break; 
     5182 
     5183  case 306: 
     5184/* Line 1807 of yacc.c  */ 
     5185#line 1179 "fortran.y" 
     5186    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     5187    break; 
     5188 
     5189  case 307: 
     5190/* Line 1807 of yacc.c  */ 
     5191#line 1183 "fortran.y" 
    43965192    { 
    4397                      if ( couldaddvariable == 1 ) Add_Save_Var_1((yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].d)); 
    4398                   ;} 
    4399     break; 
    4400  
    4401   case 127: 
    4402 #line 999 "fortran.y" 
     5193            agrif_parentcall = 0; 
     5194            if ( !strcasecmp(identcopy, "Agrif_Parent") )   agrif_parentcall = 1; 
     5195            if ( Agrif_in_Tok_NAME(identcopy) ) 
     5196            { 
     5197                inagrifcallargument = 1; 
     5198                Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); 
     5199            } 
     5200        } 
     5201    break; 
     5202 
     5203  case 308: 
     5204/* Line 1807 of yacc.c  */ 
     5205#line 1194 "fortran.y" 
     5206    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); if ( incalldeclare == 0 ) inagrifcallargument = 0;   } 
     5207    break; 
     5208 
     5209  case 309: 
     5210/* Line 1807 of yacc.c  */ 
     5211#line 1195 "fortran.y" 
     5212    { sprintf((yyval.na)," %s %s ",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5213    break; 
     5214 
     5215  case 310: 
     5216/* Line 1807 of yacc.c  */ 
     5217#line 1196 "fortran.y" 
     5218    { sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (4)].na),(yyvsp[(3) - (4)].na)); } 
     5219    break; 
     5220 
     5221  case 311: 
     5222/* Line 1807 of yacc.c  */ 
     5223#line 1197 "fortran.y" 
     5224    { sprintf((yyval.na)," %s ( %s ) %s ",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na)); } 
     5225    break; 
     5226 
     5227  case 312: 
     5228/* Line 1807 of yacc.c  */ 
     5229#line 1201 "fortran.y" 
    44035230    { 
    4404       (yyval.lnn)=Insertname(NULL,(yyvsp[(1) - (1)].nac),0); 
    4405       ;} 
    4406     break; 
    4407  
    4408   case 128: 
    4409 #line 1003 "fortran.y" 
     5231            if ( inside_type_declare ) break; 
     5232            sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (4)].na),(yyvsp[(3) - (4)].na)); 
     5233            ModifyTheAgrifFunction_0((yyvsp[(3) - (4)].na)); 
     5234            agrif_parentcall = 0; 
     5235        } 
     5236    break; 
     5237 
     5238  case 313: 
     5239/* Line 1807 of yacc.c  */ 
     5240#line 1210 "fortran.y" 
    44105241    { 
    4411       printf("INSTRUCTION NON TRAITEE : INITIALISATION DE DATA AVEC EXPRESSION\n"); 
    4412       exit(0); 
    4413       ;} 
    4414     break; 
    4415  
    4416   case 129: 
    4417 #line 1008 "fortran.y" 
    4418     { 
    4419       (yyval.lnn) = concat_listname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].lnn)); 
    4420       ;} 
    4421     break; 
    4422  
    4423   case 130: 
    4424 #line 1013 "fortran.y" 
    4425     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].nac));;} 
    4426     break; 
    4427  
    4428   case 131: 
    4429 #line 1015 "fortran.y" 
    4430     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s+%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    4431     break; 
    4432  
    4433   case 132: 
    4434 #line 1017 "fortran.y" 
    4435     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s-%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    4436     break; 
    4437  
    4438   case 133: 
    4439 #line 1019 "fortran.y" 
    4440     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s*%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    4441     break; 
    4442  
    4443   case 134: 
    4444 #line 1021 "fortran.y" 
    4445     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s/%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    4446     break; 
    4447  
    4448   case 135: 
    4449 #line 1024 "fortran.y" 
    4450     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),"");;} 
    4451     break; 
    4452  
    4453   case 136: 
    4454 #line 1026 "fortran.y" 
    4455     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    4456     break; 
    4457  
    4458   case 143: 
    4459 #line 1038 "fortran.y" 
    4460     { 
    4461    ininterfacedeclare = 1 ; 
    4462    printf("INTEFACE entree\n"); 
    4463    ;} 
    4464     break; 
    4465  
    4466   case 144: 
    4467 #line 1043 "fortran.y" 
    4468     { 
    4469       ininterfacedeclare = 0; 
    4470       ;} 
    4471     break; 
    4472  
    4473   case 145: 
    4474 #line 1048 "fortran.y" 
    4475     { 
    4476                       positioninblock=0; 
    4477                       pos_curdimension = setposcur()-9; 
    4478                    ;} 
    4479     break; 
    4480  
    4481   case 146: 
    4482 #line 1054 "fortran.y" 
    4483     { 
    4484          if ( couldaddvariable == 1 ) 
    4485          { 
    4486             /*                                                                */ 
    4487             curvar=createvar((yyvsp[(3) - (5)].nac),(yyvsp[(4) - (5)].d)); 
    4488             /*                                                                */ 
    4489             CreateAndFillin_Curvar("",curvar); 
    4490             /*                                                                */ 
    4491             curlistvar=insertvar(NULL,curvar); 
    4492             /*                                                                */ 
    4493             (yyval.l)=settype("",curlistvar); 
    4494             /*                                                                */ 
    4495             strcpy(vallengspec,""); 
    4496          } 
    4497       ;} 
    4498     break; 
    4499  
    4500   case 147: 
    4501 #line 1070 "fortran.y" 
    4502     { 
    4503          if ( couldaddvariable == 1 ) 
    4504          { 
    4505             /*                                                                */ 
    4506             curvar=createvar((yyvsp[(3) - (5)].nac),(yyvsp[(4) - (5)].d)); 
    4507             /*                                                                */ 
    4508             CreateAndFillin_Curvar("",curvar); 
    4509             /*                                                                */ 
    4510             curlistvar=insertvar((yyvsp[(1) - (5)].l),curvar); 
    4511             /*                                                                */ 
    4512             (yyval.l)=curlistvar; 
    4513             /*                                                                */ 
    4514             strcpy(vallengspec,""); 
    4515          } 
    4516       ;} 
    4517     break; 
    4518  
    4519   case 150: 
    4520 #line 1090 "fortran.y" 
    4521     { 
    4522         (yyval.lnn)=(listname *)NULL; 
    4523         ;} 
    4524     break; 
    4525  
    4526   case 151: 
    4527 #line 1094 "fortran.y" 
    4528     { 
    4529           (yyval.lnn)=(yyvsp[(3) - (3)].lnn); 
    4530          ;} 
    4531     break; 
    4532  
    4533   case 152: 
    4534 #line 1099 "fortran.y" 
    4535     { 
    4536            (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].nac),0); 
    4537            ;} 
    4538     break; 
    4539  
    4540   case 153: 
    4541 #line 1103 "fortran.y" 
    4542     { 
    4543           (yyval.lnn) = Insertname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].nac),0); 
    4544           ;} 
    4545     break; 
    4546  
    4547   case 154: 
    4548 #line 1108 "fortran.y" 
    4549     { 
    4550                          pos_end = setposcur(); 
    4551                          RemoveWordSET_0(fortranout,pos_curcommon, 
    4552                                                   pos_end-pos_curcommon); 
    4553                    ;} 
    4554     break; 
    4555  
    4556   case 155: 
    4557 #line 1114 "fortran.y" 
    4558     { 
    4559                          if ( couldaddvariable == 1 ) 
    4560                          { 
    4561                             sprintf(charusemodule,"%s",(yyvsp[(2) - (3)].nac)); 
    4562                             Add_NameOfCommon_1((yyvsp[(2) - (3)].nac),subroutinename); 
    4563                             pos_end = setposcur(); 
    4564                             RemoveWordSET_0(fortranout,pos_curcommon, 
    4565                                                        pos_end-pos_curcommon); 
    4566                          } 
    4567                    ;} 
    4568     break; 
    4569  
    4570   case 156: 
    4571 #line 1125 "fortran.y" 
    4572     { 
    4573                          if ( couldaddvariable == 1 ) 
    4574                          { 
    4575                             sprintf(charusemodule,"%s",(yyvsp[(3) - (5)].nac)); 
    4576                             Add_NameOfCommon_1((yyvsp[(3) - (5)].nac),subroutinename); 
    4577                             pos_end = setposcur(); 
    4578                             RemoveWordSET_0(fortranout,pos_curcommon, 
    4579                                                        pos_end-pos_curcommon); 
    4580                          } 
    4581                    ;} 
    4582     break; 
    4583  
    4584   case 157: 
    4585 #line 1137 "fortran.y" 
    4586     { 
    4587                       positioninblock=0; 
    4588                       pos_curcommon = setposcur()-6; 
    4589                    ;} 
    4590     break; 
    4591  
    4592   case 158: 
    4593 #line 1142 "fortran.y" 
    4594     { 
    4595                       positioninblock=0; 
    4596                       pos_curcommon = setposcur()-6-7; 
    4597                    ;} 
    4598     break; 
    4599  
    4600   case 159: 
    4601 #line 1148 "fortran.y" 
    4602     { 
    4603                       if ( couldaddvariable == 1 ) Add_Common_var_1(); 
    4604                    ;} 
    4605     break; 
    4606  
    4607   case 160: 
    4608 #line 1153 "fortran.y" 
    4609     { 
    4610                       if ( couldaddvariable == 1 ) Add_Common_var_1(); 
    4611                    ;} 
    4612     break; 
    4613  
    4614   case 161: 
    4615 #line 1157 "fortran.y" 
    4616     { 
    4617                       if ( couldaddvariable == 1 ) 
    4618                       { 
    4619                          positioninblock = positioninblock + 1 ; 
    4620                          strcpy(commonvar,(yyvsp[(1) - (2)].nac)); 
    4621                          commondim = (yyvsp[(2) - (2)].d); 
    4622                       } 
    4623                    ;} 
    4624     break; 
    4625  
    4626   case 162: 
    4627 #line 1167 "fortran.y" 
    4628     { 
    4629                       if ( couldaddvariable == 1 ) 
    4630                       { 
    4631                          strcpy((yyval.nac),""); 
    4632                          positioninblock=0; 
    4633                          strcpy(commonblockname,""); 
    4634                       } 
    4635                    ;} 
    4636     break; 
    4637  
    4638   case 163: 
    4639 #line 1176 "fortran.y" 
    4640     { 
    4641                       if ( couldaddvariable == 1 ) 
    4642                       { 
    4643                          strcpy((yyval.nac),(yyvsp[(2) - (3)].nac)); 
    4644                          positioninblock=0; 
    4645                          strcpy(commonblockname,(yyvsp[(2) - (3)].nac)); 
    4646                       } 
    4647                    ;} 
    4648     break; 
    4649  
    4650   case 166: 
    4651 #line 1189 "fortran.y" 
    4652     { 
    4653                       if ( couldaddvariable == 1 ) (yyval.l)=insertvar(NULL,(yyvsp[(1) - (1)].v)); 
    4654                    ;} 
    4655     break; 
    4656  
    4657   case 167: 
    4658 #line 1193 "fortran.y" 
    4659     { 
    4660                       if ( couldaddvariable == 1 ) (yyval.l)=insertvar((yyvsp[(1) - (3)].l),(yyvsp[(3) - (3)].v)); 
    4661                    ;} 
    4662     break; 
    4663  
    4664   case 168: 
    4665 #line 1198 "fortran.y" 
    4666     { 
    4667                      if ( couldaddvariable == 1 ) 
    4668                      { 
    4669                          curvar=(variable *) malloc(sizeof(variable)); 
    4670                          /*                                                   */ 
    4671                          Init_Variable(curvar); 
    4672                          /*                                                   */ 
    4673                          curvar->v_VariableIsParameter=1; 
    4674                          strcpy(curvar->v_nomvar,(yyvsp[(1) - (3)].nac)); 
    4675                          Save_Length((yyvsp[(1) - (3)].nac),4); 
    4676                          strcpy(curvar->v_subroutinename,subroutinename); 
    4677                          Save_Length(subroutinename,11); 
    4678                          strcpy(curvar->v_modulename,curmodulename); 
    4679                          Save_Length(curmodulename,6); 
    4680                          strcpy(curvar->v_initialvalue,(yyvsp[(3) - (3)].na)); 
    4681                          Save_Length((yyvsp[(3) - (3)].na),14); 
    4682                          strcpy(curvar->v_commoninfile,mainfile); 
    4683                          Save_Length(mainfile,10); 
    4684                          (yyval.v)=curvar; 
    4685                       } 
    4686                    ;} 
    4687     break; 
    4688  
    4689   case 172: 
    4690 #line 1226 "fortran.y" 
    4691     { 
    4692                        if ( insubroutinedeclare == 1 ) 
    4693                        { 
    4694                           Add_ImplicitNoneSubroutine_1(); 
    4695                           pos_end = setposcur(); 
    4696                           RemoveWordSET_0(fortranout,pos_end-13, 
    4697                                                              13); 
    4698                        } 
    4699                     ;} 
    4700     break; 
    4701  
    4702   case 175: 
     5242            sprintf((yyval.na)," %s %% %s ",(yyvsp[(1) - (4)].na),(yyvsp[(4) - (4)].na)); 
     5243            if ( incalldeclare == 0 ) inagrifcallargument = 0; 
     5244        } 
     5245    break; 
     5246 
     5247  case 314: 
     5248/* Line 1807 of yacc.c  */ 
     5249#line 1216 "fortran.y" 
     5250    { sprintf((yyval.na),"(/%s/)",(yyvsp[(2) - (3)].na)); } 
     5251    break; 
     5252 
     5253  case 315: 
     5254/* Line 1807 of yacc.c  */ 
     5255#line 1219 "fortran.y" 
     5256    { strcpy((yyval.na)," "); } 
     5257    break; 
     5258 
     5259  case 316: 
     5260/* Line 1807 of yacc.c  */ 
     5261#line 1220 "fortran.y" 
     5262    { strcpy((yyval.na),(yyvsp[(2) - (2)].na)); } 
     5263    break; 
     5264 
     5265  case 317: 
     5266/* Line 1807 of yacc.c  */ 
     5267#line 1223 "fortran.y" 
     5268    {  strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     5269    break; 
     5270 
     5271  case 318: 
     5272/* Line 1807 of yacc.c  */ 
     5273#line 1224 "fortran.y" 
     5274    {  sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     5275    break; 
     5276 
     5277  case 319: 
     5278/* Line 1807 of yacc.c  */ 
     5279#line 1227 "fortran.y" 
     5280    {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
     5281    break; 
     5282 
     5283  case 320: 
     5284/* Line 1807 of yacc.c  */ 
     5285#line 1228 "fortran.y" 
     5286    {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
     5287    break; 
     5288 
     5289  case 321: 
     5290/* Line 1807 of yacc.c  */ 
     5291#line 1231 "fortran.y" 
     5292    {  sprintf((yyval.na),"%s :%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));} 
     5293    break; 
     5294 
     5295  case 322: 
     5296/* Line 1807 of yacc.c  */ 
     5297#line 1232 "fortran.y" 
     5298    {  sprintf((yyval.na),"%s :%s :%s",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));} 
     5299    break; 
     5300 
     5301  case 323: 
     5302/* Line 1807 of yacc.c  */ 
     5303#line 1233 "fortran.y" 
     5304    {  sprintf((yyval.na),":%s :%s",(yyvsp[(2) - (4)].na),(yyvsp[(4) - (4)].na));} 
     5305    break; 
     5306 
     5307  case 324: 
     5308/* Line 1807 of yacc.c  */ 
     5309#line 1234 "fortran.y" 
     5310    {  sprintf((yyval.na),": : %s",(yyvsp[(3) - (3)].na));} 
     5311    break; 
     5312 
     5313  case 325: 
     5314/* Line 1807 of yacc.c  */ 
     5315#line 1235 "fortran.y" 
     5316    {  sprintf((yyval.na),":%s",(yyvsp[(2) - (2)].na));} 
     5317    break; 
     5318 
     5319  case 326: 
     5320/* Line 1807 of yacc.c  */ 
     5321#line 1236 "fortran.y" 
     5322    {  sprintf((yyval.na),"%s :",(yyvsp[(1) - (2)].na));} 
     5323    break; 
     5324 
     5325  case 327: 
     5326/* Line 1807 of yacc.c  */ 
     5327#line 1237 "fortran.y" 
     5328    {  sprintf((yyval.na),":");} 
     5329    break; 
     5330 
     5331  case 328: 
     5332/* Line 1807 of yacc.c  */ 
    47035333#line 1240 "fortran.y" 
    47045334    { 
    4705                       if ( couldaddvariable == 1 ) 
    4706                       { 
    4707                          /*                                                   */ 
    4708                          if (dimsgiven == 1) 
    4709                          { 
    4710                             curvar=createvar((yyvsp[(3) - (6)].nac),curdim); 
    4711                             GlobalDeclarationType == 0; 
    4712                          } 
    4713                          else 
    4714                          { 
    4715                             curvar=createvar((yyvsp[(3) - (6)].nac),(yyvsp[(4) - (6)].d)); 
    4716                          } 
    4717                          /*                                                   */ 
    4718                          CreateAndFillin_Curvar(DeclType,curvar); 
    4719                          /*                                                   */ 
    4720                          curlistvar=insertvar(NULL,curvar); 
    4721                          if (!strcasecmp(DeclType,"character")) 
    4722                          { 
    4723                             if (c_selectorgiven == 1) 
     5335            if ( afterpercent == 0 ) 
     5336            { 
     5337                if ( Agrif_in_Tok_NAME((yyvsp[(1) - (1)].na)) ) Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); 
     5338                if ( !strcasecmp((yyvsp[(1) - (1)].na),"Agrif_Parent") )   agrif_parentcall = 1; 
     5339                if ( VariableIsFunction((yyvsp[(1) - (1)].na)) ) 
     5340                { 
     5341                    if ( inagrifcallargument == 1 ) 
     5342                    { 
     5343                        if ( !strcasecmp((yyvsp[(1) - (1)].na),identcopy) ) 
     5344                        { 
     5345                            strcpy(sameagrifname,identcopy); 
     5346                            sameagrifargument = 1; 
     5347                        } 
     5348                    } 
     5349                    strcpy(identcopy,(yyvsp[(1) - (1)].na)); 
     5350                    pointedvar = 0; 
     5351 
     5352                    if (variscoupled_0((yyvsp[(1) - (1)].na))) strcpy(truename, getcoupledname_0((yyvsp[(1) - (1)].na))); 
     5353                    else                    strcpy(truename, (yyvsp[(1) - (1)].na)); 
     5354 
     5355                    if ( VarIsNonGridDepend(truename) == 0 && (! Variableshouldberemoved(truename)) ) 
     5356                    { 
     5357                        if ( inagrifcallargument == 1 || varispointer_0(truename) == 1 ) 
     5358                        { 
     5359                            if ( (IsinListe(List_UsedInSubroutine_Var,(yyvsp[(1) - (1)].na)) == 1) || (inagrifcallargument == 1) ) 
    47245360                            { 
    4725                                strcpy(c_selectordim.first,"1"); 
    4726                                strcpy(c_selectordim.last,c_selectorname); 
    4727                                Save_Length(c_selectorname,1); 
    4728                                change_dim_char 
    4729                                      (insertdim(NULL,c_selectordim),curlistvar); 
     5361                                if (varistyped_0(truename) == 0)    ModifyTheVariableName_0(truename,strlen((yyvsp[(1) - (1)].na))); 
    47305362                            } 
    4731                          } 
    4732                          (yyval.l)=settype(DeclType,curlistvar); 
    4733                       } 
    4734                       strcpy(vallengspec,""); 
    4735                    ;} 
    4736     break; 
    4737  
    4738   case 176: 
    4739 #line 1273 "fortran.y" 
    4740     { 
    4741                       if ( couldaddvariable == 1 ) 
    4742                       { 
    4743                          if (dimsgiven == 1) 
    4744                          { 
    4745                             curvar=createvar((yyvsp[(4) - (7)].nac),curdim); 
    4746                          } 
    4747                          else 
    4748                          { 
    4749                             curvar=createvar((yyvsp[(4) - (7)].nac),(yyvsp[(5) - (7)].d)); 
    4750                          } 
    4751                          /*                                                   */ 
    4752                          CreateAndFillin_Curvar((yyvsp[(1) - (7)].l)->var->v_typevar,curvar); 
    4753                          /*                                                   */ 
    4754                          strcpy(curvar->v_typevar,((yyvsp[(1) - (7)].l)->var->v_typevar)); 
    4755                          Save_Length((yyvsp[(1) - (7)].l)->var->v_typevar,3); 
    4756                          /*                                                   */ 
    4757                          curlistvar=insertvar((yyvsp[(1) - (7)].l),curvar); 
    4758                          if (!strcasecmp(DeclType,"character")) 
    4759                          { 
    4760                             if (c_selectorgiven == 1) 
    4761                             { 
    4762                                strcpy(c_selectordim.first,"1"); 
    4763                                strcpy(c_selectordim.last,c_selectorname); 
    4764                                Save_Length(c_selectorname,1); 
    4765                                change_dim_char 
    4766                                      (insertdim(NULL,c_selectordim),curlistvar); 
    4767                             } 
    4768                          } 
    4769                          (yyval.l)=curlistvar; 
    4770                       } 
    4771                       strcpy(vallengspec,""); 
    4772                    ;} 
    4773     break; 
    4774  
    4775   case 177: 
     5363                        } 
     5364                        if ( inagrifcallargument != 1 || sameagrifargument ==1 ) 
     5365                        { 
     5366                            Add_UsedInSubroutine_Var_1(truename); 
     5367                        } 
     5368                    } 
     5369                    NotifyAgrifFunction_0(truename); 
     5370                } 
     5371            } 
     5372            else 
     5373            { 
     5374                afterpercent = 0; 
     5375            } 
     5376        } 
     5377    break; 
     5378 
     5379  case 329: 
     5380/* Line 1807 of yacc.c  */ 
     5381#line 1285 "fortran.y" 
     5382    { strcpy((yyval.na),".TRUE.");} 
     5383    break; 
     5384 
     5385  case 330: 
     5386/* Line 1807 of yacc.c  */ 
     5387#line 1286 "fortran.y" 
     5388    { strcpy((yyval.na),".FALSE.");} 
     5389    break; 
     5390 
     5391  case 331: 
     5392/* Line 1807 of yacc.c  */ 
     5393#line 1287 "fortran.y" 
     5394    { strcpy((yyval.na),"NULL()"); } 
     5395    break; 
     5396 
     5397  case 332: 
     5398/* Line 1807 of yacc.c  */ 
     5399#line 1288 "fortran.y" 
     5400    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     5401    break; 
     5402 
     5403  case 333: 
     5404/* Line 1807 of yacc.c  */ 
     5405#line 1289 "fortran.y" 
     5406    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     5407    break; 
     5408 
     5409  case 334: 
     5410/* Line 1807 of yacc.c  */ 
     5411#line 1290 "fortran.y" 
     5412    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     5413    break; 
     5414 
     5415  case 335: 
     5416/* Line 1807 of yacc.c  */ 
     5417#line 1292 "fortran.y" 
     5418    { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 
     5419    break; 
     5420 
     5421  case 337: 
     5422/* Line 1807 of yacc.c  */ 
     5423#line 1296 "fortran.y" 
     5424    { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
     5425    break; 
     5426 
     5427  case 339: 
     5428/* Line 1807 of yacc.c  */ 
     5429#line 1298 "fortran.y" 
     5430    { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
     5431    break; 
     5432 
     5433  case 340: 
     5434/* Line 1807 of yacc.c  */ 
     5435#line 1299 "fortran.y" 
     5436    { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
     5437    break; 
     5438 
     5439  case 341: 
     5440/* Line 1807 of yacc.c  */ 
     5441#line 1301 "fortran.y" 
     5442    { strcpy((yyval.na)," ");} 
     5443    break; 
     5444 
     5445  case 342: 
     5446/* Line 1807 of yacc.c  */ 
     5447#line 1302 "fortran.y" 
     5448    { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
     5449    break; 
     5450 
     5451  case 343: 
     5452/* Line 1807 of yacc.c  */ 
     5453#line 1305 "fortran.y" 
     5454    { sprintf((yyval.na),"(%s :%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));} 
     5455    break; 
     5456 
     5457  case 344: 
     5458/* Line 1807 of yacc.c  */ 
    47765459#line 1307 "fortran.y" 
    4777     {dimsgiven=0;;} 
    4778     break; 
    4779  
    4780   case 178: 
    4781 #line 1310 "fortran.y" 
    4782     {strcpy(DeclType,(yyvsp[(1) - (2)].nac));;} 
    4783     break; 
    4784  
    4785   case 179: 
     5460    { strcpy((yyval.na)," ");} 
     5461    break; 
     5462 
     5463  case 345: 
     5464/* Line 1807 of yacc.c  */ 
     5465#line 1308 "fortran.y" 
     5466    { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
     5467    break; 
     5468 
     5469  case 346: 
     5470/* Line 1807 of yacc.c  */ 
     5471#line 1311 "fortran.y" 
     5472    { strcpy((yyval.na)," ");} 
     5473    break; 
     5474 
     5475  case 347: 
     5476/* Line 1807 of yacc.c  */ 
    47865477#line 1312 "fortran.y" 
    4787     { 
    4788                       strcpy(DeclType,"CHARACTER"); 
    4789                    ;} 
    4790     break; 
    4791  
    4792   case 180: 
     5478    { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
     5479    break; 
     5480 
     5481  case 348: 
     5482/* Line 1807 of yacc.c  */ 
     5483#line 1314 "fortran.y" 
     5484    { InitialValueGiven = 0; } 
     5485    break; 
     5486 
     5487  case 349: 
     5488/* Line 1807 of yacc.c  */ 
    47935489#line 1316 "fortran.y" 
    47945490    { 
    4795                       strcpy(DeclType,(yyvsp[(1) - (3)].nac)); 
    4796                       strcpy(nameinttypename,(yyvsp[(3) - (3)].nac)); 
    4797                    ;} 
    4798     break; 
    4799  
    4800   case 181: 
    4801 #line 1321 "fortran.y" 
     5491            if ( inside_type_declare ) break; 
     5492            strcpy(InitValue,(yyvsp[(2) - (2)].na)); 
     5493            InitialValueGiven = 1; 
     5494        } 
     5495    break; 
     5496 
     5497  case 350: 
     5498/* Line 1807 of yacc.c  */ 
     5499#line 1322 "fortran.y" 
    48025500    { 
    4803                       strcpy(DeclType,"TYPE"); 
    4804                       GlobalDeclarationType = 1 
    4805                    ;} 
    4806     break; 
    4807  
    4808   case 182: 
    4809 #line 1327 "fortran.y" 
     5501            if ( inside_type_declare ) break; 
     5502            strcpy(InitValue,(yyvsp[(2) - (2)].na)); 
     5503            InitialValueGiven = 2; 
     5504        } 
     5505    break; 
     5506 
     5507  case 351: 
     5508/* Line 1807 of yacc.c  */ 
     5509#line 1329 "fortran.y" 
     5510    {sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na)); } 
     5511    break; 
     5512 
     5513  case 352: 
     5514/* Line 1807 of yacc.c  */ 
     5515#line 1333 "fortran.y" 
    48105516    { 
    4811                  /*     if ( couldaddvariable == 1 ) VarTypepar = 1 ; 
    4812                       couldaddvariable = 0 ; 
    4813                       pos_cur_decl = setposcur()-5;*/ 
    4814                    pos_cur_decl = setposcur()-5; 
    4815                    ;} 
    4816     break; 
    4817  
    4818   case 184: 
    4819 #line 1336 "fortran.y" 
    4820     {c_selectorgiven=1;strcpy(c_selectorname,(yyvsp[(2) - (2)].nac));;} 
    4821     break; 
    4822  
    4823   case 185: 
    4824 #line 1337 "fortran.y" 
    4825     {c_star = 1;;} 
    4826     break; 
    4827  
    4828   case 190: 
    4829 #line 1345 "fortran.y" 
     5517            /* if variables has been declared in a subroutine       */ 
     5518            sprintf(charusemodule, "%s", (yyvsp[(2) - (2)].na)); 
     5519            if ( firstpass ) 
     5520            { 
     5521                Add_NameOfModuleUsed_1((yyvsp[(2) - (2)].na)); 
     5522            } 
     5523            else 
     5524            { 
     5525                if ( insubroutinedeclare ) 
     5526                    copyuse_0((yyvsp[(2) - (2)].na)); 
     5527 
     5528                if ( inmoduledeclare == 0 ) 
     5529                { 
     5530                    pos_end = setposcur(); 
     5531                    RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 
     5532                } 
     5533            } 
     5534        } 
     5535    break; 
     5536 
     5537  case 353: 
     5538/* Line 1807 of yacc.c  */ 
     5539#line 1353 "fortran.y" 
    48305540    { 
    4831                       pos_cur_decl = setposcur()-9; 
    4832                    ;} 
    4833     break; 
    4834  
    4835   case 191: 
    4836 #line 1349 "fortran.y" 
    4837     {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    4838     break; 
    4839  
    4840   case 192: 
    4841 #line 1352 "fortran.y" 
     5541            if ( firstpass ) 
     5542            { 
     5543                if ( insubroutinedeclare ) 
     5544                { 
     5545                    Add_CouplePointed_Var_1((yyvsp[(2) - (4)].na),(yyvsp[(4) - (4)].lc)); 
     5546                    coupletmp = (yyvsp[(4) - (4)].lc); 
     5547                    strcpy(ligne,""); 
     5548                    while ( coupletmp ) 
     5549                    { 
     5550                        strcat(ligne, coupletmp->c_namevar); 
     5551                        strcat(ligne, " => "); 
     5552                        strcat(ligne, coupletmp->c_namepointedvar); 
     5553                        coupletmp = coupletmp->suiv; 
     5554                        if ( coupletmp ) strcat(ligne,","); 
     5555                    } 
     5556                    sprintf(charusemodule,"%s",(yyvsp[(2) - (4)].na)); 
     5557                } 
     5558                Add_NameOfModuleUsed_1((yyvsp[(2) - (4)].na)); 
     5559            } 
     5560            if ( inmoduledeclare == 0 ) 
     5561            { 
     5562                pos_end = setposcur(); 
     5563                RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 
     5564            } 
     5565        } 
     5566    break; 
     5567 
     5568  case 354: 
     5569/* Line 1807 of yacc.c  */ 
     5570#line 1380 "fortran.y" 
    48425571    { 
    4843                       strcpy((yyval.nac),"INTEGER"); 
    4844                       pos_cur_decl = setposcur()-7; 
    4845                    ;} 
    4846     break; 
    4847  
    4848   case 193: 
    4849 #line 1356 "fortran.y" 
     5572            /* if variables has been declared in a subroutine       */ 
     5573            sprintf(charusemodule,"%s",(yyvsp[(2) - (6)].na)); 
     5574            if ( firstpass ) 
     5575            { 
     5576                Add_NameOfModuleUsed_1((yyvsp[(2) - (6)].na)); 
     5577            } 
     5578            else 
     5579            { 
     5580                if ( insubroutinedeclare ) 
     5581                    copyuseonly_0((yyvsp[(2) - (6)].na)); 
     5582 
     5583                if ( inmoduledeclare == 0 ) 
     5584                { 
     5585                    pos_end = setposcur(); 
     5586                    RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 
     5587                } 
     5588            } 
     5589        } 
     5590    break; 
     5591 
     5592  case 355: 
     5593/* Line 1807 of yacc.c  */ 
     5594#line 1400 "fortran.y" 
    48505595    { 
    4851                       strcpy((yyval.nac),"REAL"); 
    4852                       pos_cur_decl = setposcur()-4; 
    4853                    ;} 
    4854     break; 
    4855  
    4856   case 194: 
    4857 #line 1361 "fortran.y" 
    4858     {strcpy((yyval.nac),"COMPLEX"); 
    4859                    pos_cur_decl = setposcur()-7;;} 
    4860     break; 
    4861  
    4862   case 195: 
    4863 #line 1364 "fortran.y" 
     5596            /* if variables has been declared in a subroutine      */ 
     5597            if ( firstpass ) 
     5598            { 
     5599                if ( insubroutinedeclare ) 
     5600                { 
     5601                    Add_CouplePointed_Var_1((yyvsp[(2) - (6)].na),(yyvsp[(6) - (6)].lc)); 
     5602                    coupletmp = (yyvsp[(6) - (6)].lc); 
     5603                    strcpy(ligne,""); 
     5604                    while ( coupletmp ) 
     5605                    { 
     5606                        strcat(ligne,coupletmp->c_namevar); 
     5607                        if ( strcasecmp(coupletmp->c_namepointedvar,"") )   strcat(ligne," => "); 
     5608                        strcat(ligne,coupletmp->c_namepointedvar); 
     5609                        coupletmp = coupletmp->suiv; 
     5610                        if ( coupletmp ) strcat(ligne,","); 
     5611                    } 
     5612                    sprintf(charusemodule,"%s",(yyvsp[(2) - (6)].na)); 
     5613                } 
     5614                Add_NameOfModuleUsed_1((yyvsp[(2) - (6)].na)); 
     5615            } 
     5616            else /* if ( firstpass == 0 ) */ 
     5617            { 
     5618                if ( inmoduledeclare == 0 ) 
     5619                { 
     5620                    pos_end = setposcur(); 
     5621                    RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 
     5622                    if (oldfortran_out)  variableisglobalinmodule((yyvsp[(6) - (6)].lc),(yyvsp[(2) - (6)].na),oldfortran_out,pos_curuseold); 
     5623                } 
     5624                else 
     5625                { 
     5626                    /* if we are in the module declare and if the    */ 
     5627                    /* onlylist is a list of global variable         */ 
     5628                    variableisglobalinmodule((yyvsp[(6) - (6)].lc), (yyvsp[(2) - (6)].na), fortran_out,pos_curuse); 
     5629                } 
     5630            } 
     5631        } 
     5632    break; 
     5633 
     5634  case 356: 
     5635/* Line 1807 of yacc.c  */ 
     5636#line 1440 "fortran.y" 
    48645637    { 
    4865                       pos_cur_decl = setposcur()-16; 
    4866                       strcpy((yyval.nac),"REAL"); 
    4867                       strcpy(nameinttypename,"8"); 
    4868                    ;} 
    4869     break; 
    4870  
    4871   case 196: 
    4872 #line 1370 "fortran.y" 
    4873     {strcpy((yyval.nac),"DOUBLE COMPLEX");;} 
    4874     break; 
    4875  
    4876   case 197: 
    4877 #line 1372 "fortran.y" 
     5638            pos_curuse = setposcur()-strlen((yyvsp[(1) - (1)].na)); 
     5639            if (firstpass == 0 && oldfortran_out) pos_curuseold = setposcurname(oldfortran_out); 
     5640        } 
     5641    break; 
     5642 
     5643  case 357: 
     5644/* Line 1807 of yacc.c  */ 
     5645#line 1447 "fortran.y" 
    48785646    { 
    4879                       strcpy((yyval.nac),"LOGICAL"); 
    4880                       pos_cur_decl = setposcur()-7; 
    4881                    ;} 
    4882     break; 
    4883  
    4884   case 199: 
    4885 #line 1378 "fortran.y" 
    4886     {strcpy(vallengspec,(yyvsp[(2) - (2)].na));;} 
    4887     break; 
    4888  
    4889   case 200: 
    4890 #line 1380 "fortran.y" 
    4891     {sprintf((yyval.na),"*%s",(yyvsp[(1) - (1)].na));;} 
    4892     break; 
    4893  
    4894   case 201: 
    4895 #line 1381 "fortran.y" 
    4896     {strcpy((yyval.na),"*(*)");;} 
    4897     break; 
    4898  
    4899   case 208: 
    4900 #line 1392 "fortran.y" 
     5647            (yyval.lc) = (yyvsp[(1) - (1)].lc); 
     5648        } 
     5649    break; 
     5650 
     5651  case 358: 
     5652/* Line 1807 of yacc.c  */ 
     5653#line 1451 "fortran.y" 
    49015654    { 
    4902                       if ( strstr((yyvsp[(3) - (3)].na),"0.d0") ) 
    4903                       { 
    4904                          strcpy(nameinttypename,"8"); 
    4905                          sprintf(NamePrecision,""); 
    4906                       } 
    4907                       else sprintf(NamePrecision,"%s = %s",(yyvsp[(1) - (3)].nac),(yyvsp[(3) - (3)].na)); 
    4908                    ;} 
    4909     break; 
    4910  
    4911   case 209: 
    4912 #line 1401 "fortran.y" 
     5655            /* insert the variable in the list $1                 */ 
     5656            (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 
     5657            (yyval.lc) = (yyvsp[(3) - (3)].lc); 
     5658        } 
     5659    break; 
     5660 
     5661  case 359: 
     5662/* Line 1807 of yacc.c  */ 
     5663#line 1458 "fortran.y" 
    49135664    { 
    4914                       strcpy(NamePrecision,(yyvsp[(1) - (1)].nac)); 
    4915                    ;} 
    4916     break; 
    4917  
    4918   case 210: 
    4919 #line 1405 "fortran.y" 
     5665            coupletmp = (listcouple *) calloc(1,sizeof(listcouple)); 
     5666            strcpy(coupletmp->c_namevar,(yyvsp[(1) - (3)].na)); 
     5667            strcpy(coupletmp->c_namepointedvar,(yyvsp[(3) - (3)].na)); 
     5668            coupletmp->suiv = NULL; 
     5669            (yyval.lc) = coupletmp; 
     5670        } 
     5671    break; 
     5672 
     5673  case 360: 
     5674/* Line 1807 of yacc.c  */ 
     5675#line 1467 "fortran.y" 
     5676    {  (yyval.lc) = (yyvsp[(1) - (1)].lc); } 
     5677    break; 
     5678 
     5679  case 361: 
     5680/* Line 1807 of yacc.c  */ 
     5681#line 1469 "fortran.y" 
    49205682    { 
    4921                       strcpy(NamePrecision,(yyvsp[(1) - (1)].nac)); 
    4922                    ;} 
    4923     break; 
    4924  
    4925   case 211: 
    4926 #line 1409 "fortran.y" 
    4927     {strcpy(CharacterSize,(yyvsp[(1) - (1)].na)); 
    4928                     strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    4929     break; 
    4930  
    4931   case 212: 
    4932 #line 1411 "fortran.y" 
    4933     {strcpy(CharacterSize,"*"); 
    4934                     strcpy((yyval.na),"*");;} 
    4935     break; 
    4936  
    4937   case 220: 
    4938 #line 1425 "fortran.y" 
     5683            /* insert the variable in the list $1                 */ 
     5684            (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 
     5685            (yyval.lc) = (yyvsp[(3) - (3)].lc); 
     5686        } 
     5687    break; 
     5688 
     5689  case 362: 
     5690/* Line 1807 of yacc.c  */ 
     5691#line 1477 "fortran.y" 
    49395692    { 
    4940                       VariableIsParameter = 1; 
    4941                    ;} 
    4942     break; 
    4943  
    4944   case 222: 
    4945 #line 1430 "fortran.y" 
    4946     {Allocatabledeclare = 1;;} 
    4947     break; 
    4948  
    4949   case 223: 
    4950 #line 1432 "fortran.y" 
     5693            coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 
     5694            strcpy(coupletmp->c_namevar,(yyvsp[(1) - (3)].na)); 
     5695            strcpy(coupletmp->c_namepointedvar,(yyvsp[(3) - (3)].na)); 
     5696            coupletmp->suiv = NULL; 
     5697            (yyval.lc) = coupletmp; 
     5698            pointedvar = 1; 
     5699            Add_UsedInSubroutine_Var_1((yyvsp[(1) - (3)].na)); 
     5700        } 
     5701    break; 
     5702 
     5703  case 363: 
     5704/* Line 1807 of yacc.c  */ 
     5705#line 1487 "fortran.y" 
    49515706    { 
    4952                       dimsgiven=1; 
    4953                       curdim=(yyvsp[(2) - (2)].d); 
    4954                    ;} 
    4955     break; 
    4956  
    4957   case 224: 
    4958 #line 1437 "fortran.y" 
    4959     {ExternalDeclare = 1;;} 
    4960     break; 
    4961  
    4962   case 225: 
    4963 #line 1439 "fortran.y" 
    4964     {strcpy(IntentSpec,(yyvsp[(3) - (4)].nac));;} 
    4965     break; 
    4966  
    4967   case 227: 
    4968 #line 1441 "fortran.y" 
    4969     {optionaldeclare = 1 ;;} 
    4970     break; 
    4971  
    4972   case 228: 
    4973 #line 1442 "fortran.y" 
    4974     {pointerdeclare = 1 ;;} 
    4975     break; 
    4976  
    4977   case 229: 
    4978 #line 1443 "fortran.y" 
     5707            coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 
     5708            strcpy(coupletmp->c_namevar,(yyvsp[(1) - (1)].na)); 
     5709            strcpy(coupletmp->c_namepointedvar,""); 
     5710            coupletmp->suiv = NULL; 
     5711            (yyval.lc) = coupletmp; 
     5712        } 
     5713    break; 
     5714 
     5715  case 380: 
     5716/* Line 1807 of yacc.c  */ 
     5717#line 1522 "fortran.y" 
     5718    { inallocate = 0; } 
     5719    break; 
     5720 
     5721  case 381: 
     5722/* Line 1807 of yacc.c  */ 
     5723#line 1523 "fortran.y" 
     5724    { inallocate = 0; } 
     5725    break; 
     5726 
     5727  case 388: 
     5728/* Line 1807 of yacc.c  */ 
     5729#line 1531 "fortran.y" 
    49795730    { 
    4980 /*                       if ( inmodulemeet == 1 ) 
    4981                        {*/ 
    4982                           SaveDeclare = 1 ; 
    4983                      /*  }*/ 
    4984                     ;} 
    4985     break; 
    4986  
    4987   case 230: 
    4988 #line 1450 "fortran.y" 
    4989     {Targetdeclare = 1;;} 
    4990     break; 
    4991  
    4992   case 231: 
    4993 #line 1452 "fortran.y" 
    4994     {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    4995     break; 
    4996  
    4997   case 232: 
    4998 #line 1453 "fortran.y" 
    4999     {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    5000     break; 
    5001  
    5002   case 233: 
    5003 #line 1454 "fortran.y" 
    5004     {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); ;} 
    5005     break; 
    5006  
    5007   case 234: 
    5008 #line 1457 "fortran.y" 
    5009     {PublicDeclare = 1;;} 
    5010     break; 
    5011  
    5012   case 235: 
    5013 #line 1459 "fortran.y" 
    5014     {PrivateDeclare = 1;;} 
    5015     break; 
    5016  
    5017   case 236: 
    5018 #line 1461 "fortran.y" 
    5019     {if ( created_dimensionlist == 1 ) 
    5020                        { 
    5021                            (yyval.d)=(listdim *)NULL; 
    5022                        } 
    5023                    ;} 
    5024     break; 
    5025  
    5026   case 237: 
    5027 #line 1467 "fortran.y" 
    5028     {if ( created_dimensionlist == 1 || 
    5029                          agrif_parentcall      == 1 ) (yyval.d)=(yyvsp[(2) - (3)].d);;} 
    5030     break; 
    5031  
    5032   case 238: 
    5033 #line 1470 "fortran.y" 
    5034     {if ( created_dimensionlist == 1 || 
    5035                          agrif_parentcall      == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[(1) - (1)].dim1));;} 
    5036     break; 
    5037  
    5038   case 239: 
    5039 #line 1473 "fortran.y" 
    5040     {if ( couldaddvariable == 1 ) 
    5041                          if ( created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[(1) - (3)].d),(yyvsp[(3) - (3)].dim1));;} 
    5042     break; 
    5043  
    5044   case 240: 
    5045 #line 1476 "fortran.y" 
     5731            GlobalDeclaration = 0 ; 
     5732            if ( firstpass == 0 && strcasecmp(subroutinename,"") ) 
     5733            { 
     5734                if ( module_declar && insubroutinedeclare == 0 )    fclose(module_declar); 
     5735            } 
     5736            if ( strcasecmp(subroutinename,"") ) 
     5737            { 
     5738                if ( inmodulemeet == 1 ) 
     5739                { 
     5740                    /* we are in a module                                */ 
     5741                    if ( insubroutinedeclare == 1 ) 
     5742                    { 
     5743                        /* it is like an end subroutine <name>            */ 
     5744                        insubroutinedeclare = 0 ; 
     5745                        pos_cur = setposcur(); 
     5746                        closeandcallsubloopandincludeit_0(1); 
     5747                        functiondeclarationisdone = 0; 
     5748                    } 
     5749                    else 
     5750                    { 
     5751                        /* it is like an end module <name>                */ 
     5752                        inmoduledeclare = 0 ; 
     5753                        inmodulemeet = 0 ; 
     5754                    } 
     5755                } 
     5756                else 
     5757                { 
     5758                    insubroutinedeclare = 0; 
     5759                    pos_cur = setposcur(); 
     5760                    closeandcallsubloopandincludeit_0(2); 
     5761                    functiondeclarationisdone = 0; 
     5762                } 
     5763            } 
     5764            strcpy(subroutinename,""); 
     5765        } 
     5766    break; 
     5767 
     5768  case 389: 
     5769/* Line 1807 of yacc.c  */ 
     5770#line 1568 "fortran.y" 
    50465771    { 
    5047                       strcpy((yyval.dim1).first,"1"); 
    5048                       strcpy((yyval.dim1).last,(yyvsp[(1) - (1)].na)); 
    5049                       Save_Length((yyvsp[(1) - (1)].na),1); 
    5050                    ;} 
    5051     break; 
    5052  
    5053   case 241: 
    5054 #line 1481 "fortran.y" 
     5772            insubroutinedeclare = 0; 
     5773            inprogramdeclare = 0; 
     5774            pos_cur = setposcur(); 
     5775            closeandcallsubloopandincludeit_0(3); 
     5776            functiondeclarationisdone = 0; 
     5777            strcpy(subroutinename,""); 
     5778        } 
     5779    break; 
     5780 
     5781  case 390: 
     5782/* Line 1807 of yacc.c  */ 
     5783#line 1577 "fortran.y" 
    50555784    { 
    5056                       strcpy((yyval.dim1).first,""); 
    5057                       strcpy((yyval.dim1).last,""); 
    5058                    ;} 
    5059     break; 
    5060  
    5061   case 242: 
    5062 #line 1485 "fortran.y" 
     5785            if ( strcasecmp(subroutinename,"") ) 
     5786            { 
     5787                insubroutinedeclare = 0; 
     5788                pos_cur = setposcur(); 
     5789                closeandcallsubloopandincludeit_0(1); 
     5790                functiondeclarationisdone = 0; 
     5791                strcpy(subroutinename,""); 
     5792            } 
     5793        } 
     5794    break; 
     5795 
     5796  case 391: 
     5797/* Line 1807 of yacc.c  */ 
     5798#line 1588 "fortran.y" 
    50635799    { 
    5064                       strcpy((yyval.dim1).first,(yyvsp[(1) - (2)].na)); 
    5065                       Save_Length((yyvsp[(1) - (2)].na),2); 
    5066                       strcpy((yyval.dim1).last,""); 
    5067                    ;} 
    5068     break; 
    5069  
    5070   case 243: 
    5071 #line 1490 "fortran.y" 
     5800            insubroutinedeclare = 0; 
     5801            pos_cur = setposcur(); 
     5802            closeandcallsubloopandincludeit_0(0); 
     5803            functiondeclarationisdone = 0; 
     5804            strcpy(subroutinename,""); 
     5805        } 
     5806    break; 
     5807 
     5808  case 392: 
     5809/* Line 1807 of yacc.c  */ 
     5810#line 1596 "fortran.y" 
    50725811    { 
    5073                       strcpy((yyval.dim1).first,""); 
    5074                       strcpy((yyval.dim1).last,(yyvsp[(2) - (2)].na)); 
    5075                       Save_Length((yyvsp[(2) - (2)].na),1); 
    5076                    ;} 
    5077     break; 
    5078  
    5079   case 244: 
    5080 #line 1496 "fortran.y" 
     5812            /* if we never meet the contains keyword               */ 
     5813            if ( firstpass == 0 ) 
     5814            { 
     5815                RemoveWordCUR_0(fortran_out, strlen((yyvsp[(2) - (2)].na))+11);    // Remove word "end module" 
     5816                if ( inmoduledeclare && ! aftercontainsdeclare ) 
     5817                { 
     5818                    Write_Closing_Module(1); 
     5819                } 
     5820                fprintf(fortran_out,"\n      end module %s\n", curmodulename); 
     5821                if ( module_declar && insubroutinedeclare == 0 ) 
     5822                { 
     5823                    fclose(module_declar); 
     5824                } 
     5825            } 
     5826            inmoduledeclare = 0 ; 
     5827            inmodulemeet = 0 ; 
     5828            aftercontainsdeclare = 1; 
     5829            strcpy(curmodulename, ""); 
     5830            GlobalDeclaration = 0 ; 
     5831        } 
     5832    break; 
     5833 
     5834  case 395: 
     5835/* Line 1807 of yacc.c  */ 
     5836#line 1620 "fortran.y" 
    50815837    { 
    5082                       strcpy((yyval.dim1).first,(yyvsp[(1) - (3)].na)); 
    5083                       Save_Length((yyvsp[(1) - (3)].na),2); 
    5084                       strcpy((yyval.dim1).last,(yyvsp[(3) - (3)].na)); 
    5085                       Save_Length((yyvsp[(3) - (3)].na),1); 
    5086                    ;} 
    5087     break; 
    5088  
    5089   case 245: 
    5090 #line 1503 "fortran.y" 
    5091     {strcpy((yyval.na),"*");;} 
    5092     break; 
    5093  
    5094   case 246: 
    5095 #line 1504 "fortran.y" 
    5096     {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5097     break; 
    5098  
    5099   case 247: 
    5100 #line 1506 "fortran.y" 
    5101     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5102     break; 
    5103  
    5104   case 248: 
    5105 #line 1508 "fortran.y" 
    5106     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s)",(yyvsp[(2) - (3)].na));;} 
    5107     break; 
    5108  
    5109   case 249: 
    5110 #line 1510 "fortran.y" 
    5111     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5112     break; 
    5113  
    5114   case 250: 
    5115 #line 1512 "fortran.y" 
    5116     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5117     break; 
    5118  
    5119   case 251: 
    5120 #line 1516 "fortran.y" 
    5121     {sprintf((yyval.na),"SUM(%s)",(yyvsp[(2) - (3)].na));;} 
    5122     break; 
    5123  
    5124   case 252: 
    5125 #line 1518 "fortran.y" 
    5126     {sprintf((yyval.na),"MAX(%s)",(yyvsp[(2) - (3)].na));;} 
    5127     break; 
    5128  
    5129   case 253: 
    5130 #line 1520 "fortran.y" 
    5131     {sprintf((yyval.na),"TANH(%s)",(yyvsp[(3) - (4)].na));;} 
    5132     break; 
    5133  
    5134   case 254: 
    5135 #line 1522 "fortran.y" 
    5136     {sprintf((yyval.na),"MAXVAL(%s)",(yyvsp[(3) - (4)].na));;} 
    5137     break; 
    5138  
    5139   case 255: 
    5140 #line 1524 "fortran.y" 
    5141     {sprintf((yyval.na),"MIN(%s)",(yyvsp[(2) - (3)].na));;} 
    5142     break; 
    5143  
    5144   case 256: 
    5145 #line 1526 "fortran.y" 
    5146     {sprintf((yyval.na),"MINVAL(%s)",(yyvsp[(3) - (4)].na));;} 
    5147     break; 
    5148  
    5149   case 257: 
    5150 #line 1528 "fortran.y" 
    5151     {sprintf((yyval.na),"TRIM(%s)",(yyvsp[(3) - (4)].na));;} 
    5152     break; 
    5153  
    5154   case 258: 
    5155 #line 1530 "fortran.y" 
    5156     {sprintf((yyval.na),"SQRT(%s)",(yyvsp[(2) - (3)].na));;} 
    5157     break; 
    5158  
    5159   case 259: 
    5160 #line 1532 "fortran.y" 
    5161     {sprintf((yyval.na),"REAL(%s)",(yyvsp[(3) - (4)].na));;} 
    5162     break; 
    5163  
    5164   case 260: 
    5165 #line 1534 "fortran.y" 
    5166     {sprintf((yyval.na),"NINT(%s)",(yyvsp[(3) - (4)].na));;} 
    5167     break; 
    5168  
    5169   case 261: 
    5170 #line 1536 "fortran.y" 
    5171     {sprintf((yyval.na),"FLOAT(%s)",(yyvsp[(3) - (4)].na));;} 
    5172     break; 
    5173  
    5174   case 262: 
    5175 #line 1538 "fortran.y" 
    5176     {sprintf((yyval.na),"EXP(%s)",(yyvsp[(3) - (4)].na));;} 
    5177     break; 
    5178  
    5179   case 263: 
    5180 #line 1540 "fortran.y" 
    5181     {sprintf((yyval.na),"COS(%s)",(yyvsp[(3) - (4)].na));;} 
    5182     break; 
    5183  
    5184   case 264: 
    5185 #line 1542 "fortran.y" 
    5186     {sprintf((yyval.na),"COSH(%s)",(yyvsp[(3) - (4)].na));;} 
    5187     break; 
    5188  
    5189   case 265: 
    5190 #line 1544 "fortran.y" 
    5191     {sprintf((yyval.na),"ACOS(%s)",(yyvsp[(3) - (4)].na));;} 
    5192     break; 
    5193  
    5194   case 266: 
    5195 #line 1546 "fortran.y" 
    5196     {sprintf((yyval.na),"SIN(%s)",(yyvsp[(3) - (4)].na));;} 
    5197     break; 
    5198  
    5199   case 267: 
    5200 #line 1548 "fortran.y" 
    5201     {sprintf((yyval.na),"SINH(%s)",(yyvsp[(3) - (4)].na));;} 
    5202     break; 
    5203  
    5204   case 268: 
    5205 #line 1550 "fortran.y" 
    5206     {sprintf((yyval.na),"ASIN(%s)",(yyvsp[(3) - (4)].na));;} 
    5207     break; 
    5208  
    5209   case 269: 
    5210 #line 1552 "fortran.y" 
    5211     {sprintf((yyval.na),"LOG(%s)",(yyvsp[(3) - (4)].na));;} 
    5212     break; 
    5213  
    5214   case 270: 
    5215 #line 1554 "fortran.y" 
    5216     {sprintf((yyval.na),"TAN(%s)",(yyvsp[(3) - (4)].na));;} 
    5217     break; 
    5218  
    5219   case 271: 
    5220 #line 1556 "fortran.y" 
    5221     {sprintf((yyval.na),"ATAN(%s)",(yyvsp[(3) - (4)].na));;} 
    5222     break; 
    5223  
    5224   case 272: 
    5225 #line 1558 "fortran.y" 
    5226     {sprintf((yyval.na),"ABS(%s)",(yyvsp[(2) - (3)].na));;} 
    5227     break; 
    5228  
    5229   case 273: 
    5230 #line 1560 "fortran.y" 
    5231     {sprintf((yyval.na),"MOD(%s)",(yyvsp[(3) - (4)].na));;} 
    5232     break; 
    5233  
    5234   case 274: 
    5235 #line 1562 "fortran.y" 
    5236     {sprintf((yyval.na),"SIGN(%s)",(yyvsp[(3) - (4)].na));;} 
    5237     break; 
    5238  
    5239   case 275: 
    5240 #line 1564 "fortran.y" 
    5241     {sprintf((yyval.na),"MINLOC(%s)",(yyvsp[(3) - (4)].na));;} 
    5242     break; 
    5243  
    5244   case 276: 
    5245 #line 1566 "fortran.y" 
    5246     {sprintf((yyval.na),"MAXLOC(%s)",(yyvsp[(3) - (4)].na));;} 
    5247     break; 
    5248  
    5249   case 277: 
    5250 #line 1568 "fortran.y" 
    5251     {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5252     break; 
    5253  
    5254   case 278: 
    5255 #line 1570 "fortran.y" 
    5256     {if ( couldaddvariable == 1 ) 
    5257                    { strcpy((yyval.na),(yyvsp[(1) - (3)].na));strcat((yyval.na),",");strcat((yyval.na),(yyvsp[(3) - (3)].na));};} 
    5258     break; 
    5259  
    5260   case 279: 
    5261 #line 1573 "fortran.y" 
    5262     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5263     break; 
    5264  
    5265   case 280: 
    5266 #line 1575 "fortran.y" 
    5267     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].nac));;} 
    5268     break; 
    5269  
    5270   case 281: 
    5271 #line 1577 "fortran.y" 
    5272     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5273     break; 
    5274  
    5275   case 282: 
    5276 #line 1579 "fortran.y" 
    5277     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));;} 
    5278     break; 
    5279  
    5280   case 283: 
    5281 #line 1581 "fortran.y" 
    5282     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5283     break; 
    5284  
    5285   case 284: 
    5286 #line 1583 "fortran.y" 
    5287     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5288     break; 
    5289  
    5290   case 285: 
    5291 #line 1585 "fortran.y" 
    5292     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),"+");;} 
    5293     break; 
    5294  
    5295   case 286: 
    5296 #line 1586 "fortran.y" 
    5297     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),"-");;} 
    5298     break; 
    5299  
    5300   case 287: 
    5301 #line 1589 "fortran.y" 
    5302     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"+%s",(yyvsp[(2) - (2)].na));;} 
    5303     break; 
    5304  
    5305   case 288: 
    5306 #line 1591 "fortran.y" 
    5307     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"-%s",(yyvsp[(2) - (2)].na));;} 
    5308     break; 
    5309  
    5310   case 289: 
    5311 #line 1593 "fortran.y" 
    5312     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"*%s",(yyvsp[(2) - (2)].na));;} 
    5313     break; 
    5314  
    5315   case 290: 
    5316 #line 1595 "fortran.y" 
    5317     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5318     break; 
    5319  
    5320   case 291: 
    5321 #line 1597 "fortran.y" 
    5322     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5323     break; 
    5324  
    5325   case 292: 
    5326 #line 1599 "fortran.y" 
    5327     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5328     break; 
    5329  
    5330   case 293: 
    5331 #line 1601 "fortran.y" 
    5332     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5333     break; 
    5334  
    5335   case 294: 
    5336 #line 1603 "fortran.y" 
    5337     {if ( couldaddvariable == 1 ) sprintf((yyval.na)," > %s",(yyvsp[(2) - (2)].na));;} 
    5338     break; 
    5339  
    5340   case 295: 
    5341 #line 1605 "fortran.y" 
    5342     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5343     break; 
    5344  
    5345   case 296: 
    5346 #line 1607 "fortran.y" 
    5347     {if ( couldaddvariable == 1 ) sprintf((yyval.na)," < %s",(yyvsp[(2) - (2)].na));;} 
    5348     break; 
    5349  
    5350   case 297: 
    5351 #line 1609 "fortran.y" 
    5352     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5353     break; 
    5354  
    5355   case 298: 
    5356 #line 1611 "fortran.y" 
    5357     {if ( couldaddvariable == 1 ) sprintf((yyval.na)," >= %s",(yyvsp[(3) - (3)].na));;} 
    5358     break; 
    5359  
    5360   case 299: 
    5361 #line 1613 "fortran.y" 
    5362     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5363     break; 
    5364  
    5365   case 300: 
    5366 #line 1615 "fortran.y" 
    5367     {if ( couldaddvariable == 1 ) sprintf((yyval.na)," <= %s",(yyvsp[(3) - (3)].na));;} 
    5368     break; 
    5369  
    5370   case 301: 
    5371 #line 1617 "fortran.y" 
    5372     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5373     break; 
    5374  
    5375   case 302: 
    5376 #line 1619 "fortran.y" 
    5377     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5378     break; 
    5379  
    5380   case 303: 
    5381 #line 1621 "fortran.y" 
    5382     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5383     break; 
    5384  
    5385   case 304: 
    5386 #line 1623 "fortran.y" 
    5387     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5388     break; 
    5389  
    5390   case 305: 
    5391 #line 1625 "fortran.y" 
    5392     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
    5393     break; 
    5394  
    5395   case 306: 
    5396 #line 1627 "fortran.y" 
    5397     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na));;} 
    5398     break; 
    5399  
    5400   case 307: 
    5401 #line 1629 "fortran.y" 
    5402     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na));;} 
    5403     break; 
    5404  
    5405   case 308: 
    5406 #line 1631 "fortran.y" 
    5407     {strcpy((yyval.na),"");;} 
    5408     break; 
    5409  
    5410   case 309: 
    5411 #line 1633 "fortran.y" 
    5412     {sprintf((yyval.na),"/%s",(yyvsp[(1) - (1)].na));;} 
    5413     break; 
    5414  
    5415   case 310: 
    5416 #line 1635 "fortran.y" 
    5417     {sprintf((yyval.na),"/= %s",(yyvsp[(2) - (2)].na));;} 
    5418     break; 
    5419  
    5420   case 311: 
    5421 #line 1637 "fortran.y" 
    5422     {sprintf((yyval.na),"//%s",(yyvsp[(2) - (2)].na));;} 
    5423     break; 
    5424  
    5425   case 312: 
    5426 #line 1640 "fortran.y" 
    5427     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"==%s",(yyvsp[(2) - (2)].na));;} 
    5428     break; 
    5429  
    5430   case 313: 
    5431 #line 1642 "fortran.y" 
    5432     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"= %s",(yyvsp[(1) - (1)].na));;} 
    5433     break; 
    5434  
    5435   case 314: 
    5436 #line 1645 "fortran.y" 
    5437     {if ( couldaddvariable == 1 ) 
    5438                   { 
    5439                   printf("ident = %s\n",(yyvsp[(1) - (1)].nac)); 
    5440                   strcpy((yyval.na),(yyvsp[(1) - (1)].nac));} 
    5441                   ;} 
    5442     break; 
    5443  
    5444   case 315: 
    5445 #line 1651 "fortran.y" 
    5446     {if ( couldaddvariable == 1 ) { 
    5447                    printf("struct = %s\n",(yyvsp[(1) - (1)].na)); 
    5448                    strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
    5449                    ;} 
    5450     break; 
    5451  
    5452   case 316: 
    5453 #line 1656 "fortran.y" 
    5454     {if ( couldaddvariable == 1 ) { 
    5455                    printf("arrayref = %s\n",(yyvsp[(1) - (1)].na)); 
    5456                    strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 
    5457                    };} 
    5458     break; 
    5459  
    5460   case 317: 
    5461 #line 1661 "fortran.y" 
     5838            if ( inside_type_declare ) break; 
     5839            if ( inmoduledeclare ) 
     5840            { 
     5841                if ( firstpass == 0 ) 
     5842                { 
     5843                    RemoveWordCUR_0(fortran_out,9);   // Remove word 'contains' 
     5844                    Write_Closing_Module(0); 
     5845                } 
     5846                inmoduledeclare = 0 ; 
     5847                aftercontainsdeclare = 1; 
     5848            } 
     5849            else if ( insubroutinedeclare ) 
     5850            { 
     5851                incontainssubroutine = 1; 
     5852                insubroutinedeclare  = 0; 
     5853                incontainssubroutine = 0; 
     5854                functiondeclarationisdone = 0; 
     5855 
     5856                if ( firstpass ) 
     5857                    List_ContainsSubroutine = Addtolistnom(subroutinename, List_ContainsSubroutine, 0); 
     5858                else 
     5859                    closeandcallsubloop_contains_0(); 
     5860 
     5861                strcpy(subroutinename, ""); 
     5862            } 
     5863            else printf("l.%4d -- TOK_CONTAINS -- MHCHECK\n",line_num_input); 
     5864        } 
     5865    break; 
     5866 
     5867  case 483: 
     5868/* Line 1807 of yacc.c  */ 
     5869#line 1898 "fortran.y" 
    54625870    { 
    5463                       agrif_parentcall =0; 
    5464                       if (!strcasecmp(identcopy,"Agrif_Parent") ) 
    5465                                                             agrif_parentcall =1; 
    5466                       if ( Agrif_in_Tok_NAME(identcopy) == 1 ) 
    5467                       { 
    5468                          inagrifcallargument = 1; 
    5469                          Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    5470                                                         curmodulename); 
    5471                       } 
    5472                    ;} 
    5473     break; 
    5474  
    5475   case 318: 
    5476 #line 1674 "fortran.y" 
     5871            strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 
     5872            pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].na)); 
     5873            functiondeclarationisdone = 0; 
     5874        } 
     5875    break; 
     5876 
     5877  case 484: 
     5878/* Line 1807 of yacc.c  */ 
     5879#line 1906 "fortran.y" 
    54775880    { 
    5478                      strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 
    5479                      if ( incalldeclare == 0 ) inagrifcallargument = 0; 
    5480                    ;} 
    5481     break; 
    5482  
    5483   case 319: 
    5484 #line 1679 "fortran.y" 
    5485     {if ( couldaddvariable == 1 ) sprintf((yyval.na)," %s %s ",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));;} 
    5486     break; 
    5487  
    5488   case 320: 
    5489 #line 1681 "fortran.y" 
    5490     {if ( couldaddvariable == 1 ) 
    5491                                                 sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (4)].na),(yyvsp[(3) - (4)].na));;} 
    5492     break; 
    5493  
    5494   case 321: 
    5495 #line 1684 "fortran.y" 
    5496     {if ( couldaddvariable == 1 ) 
    5497                                          sprintf((yyval.na)," %s ( %s ) %s ",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));;} 
    5498     break; 
    5499  
    5500   case 322: 
    5501 #line 1688 "fortran.y" 
     5881            strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 
     5882            pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].na)); 
     5883        } 
     5884    break; 
     5885 
     5886  case 485: 
     5887/* Line 1807 of yacc.c  */ 
     5888#line 1913 "fortran.y" 
    55025889    { 
    5503                       if ( couldaddvariable == 1 ) 
    5504                       { 
    5505                          sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (4)].nac),(yyvsp[(3) - (4)].na)); 
    5506                          ModifyTheAgrifFunction_0((yyvsp[(3) - (4)].na)); 
    5507                          agrif_parentcall =0; 
    5508                       } 
    5509                    ;} 
    5510     break; 
    5511  
    5512   case 323: 
    5513 #line 1698 "fortran.y" 
     5890            strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 
     5891            pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].na)); 
     5892        } 
     5893    break; 
     5894 
     5895  case 486: 
     5896/* Line 1807 of yacc.c  */ 
     5897#line 1920 "fortran.y" 
    55145898    { 
    5515                       sprintf((yyval.na)," %s %% %s ",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); 
    5516                       if ( incalldeclare == 0 ) inagrifcallargument = 0; 
    5517                    ;} 
    5518     break; 
    5519  
    5520   case 324: 
    5521 #line 1704 "fortran.y" 
    5522     {sprintf((yyval.na),"(/%s/)",(yyvsp[(2) - (3)].na));;} 
    5523     break; 
    5524  
    5525   case 325: 
    5526 #line 1706 "fortran.y" 
    5527     {strcpy((yyval.na)," ");;} 
    5528     break; 
    5529  
    5530   case 326: 
    5531 #line 1708 "fortran.y" 
    5532     {strcpy((yyval.na),(yyvsp[(2) - (2)].na));;} 
    5533     break; 
    5534  
    5535   case 327: 
    5536 #line 1710 "fortran.y" 
    5537     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5538     break; 
    5539  
    5540   case 328: 
    5541 #line 1712 "fortran.y" 
    5542     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    5543     break; 
    5544  
    5545   case 329: 
    5546 #line 1714 "fortran.y" 
    5547     {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5548     break; 
    5549  
    5550   case 330: 
    5551 #line 1715 "fortran.y" 
    5552     {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5553     break; 
    5554  
    5555   case 331: 
    5556 #line 1718 "fortran.y" 
    5557     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s :%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    5558     break; 
    5559  
    5560   case 332: 
    5561 #line 1720 "fortran.y" 
    5562     {if ( couldaddvariable == 1 ) 
    5563                                                sprintf((yyval.na),"%s :%s :%s",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));;} 
    5564     break; 
    5565  
    5566   case 333: 
    5567 #line 1723 "fortran.y" 
    5568     {if ( couldaddvariable == 1 ) sprintf((yyval.na),":%s :%s",(yyvsp[(2) - (4)].na),(yyvsp[(4) - (4)].na));;} 
    5569     break; 
    5570  
    5571   case 334: 
    5572 #line 1724 "fortran.y" 
    5573     {if ( couldaddvariable == 1 ) sprintf((yyval.na),": : %s",(yyvsp[(3) - (3)].na));;} 
    5574     break; 
    5575  
    5576   case 335: 
    5577 #line 1725 "fortran.y" 
    5578     {if ( couldaddvariable == 1 ) sprintf((yyval.na),":%s",(yyvsp[(2) - (2)].na));;} 
    5579     break; 
    5580  
    5581   case 336: 
    5582 #line 1726 "fortran.y" 
    5583     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s :",(yyvsp[(1) - (2)].na));;} 
    5584     break; 
    5585  
    5586   case 337: 
    5587 #line 1727 "fortran.y" 
    5588     {if ( couldaddvariable == 1 ) sprintf((yyval.na),":");;} 
    5589     break; 
    5590  
    5591   case 338: 
    5592 #line 1729 "fortran.y" 
     5899            strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 
     5900            pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].na)); 
     5901        } 
     5902    break; 
     5903 
     5904  case 487: 
     5905/* Line 1807 of yacc.c  */ 
     5906#line 1926 "fortran.y" 
     5907    {strcpy((yyval.na),"");} 
     5908    break; 
     5909 
     5910  case 488: 
     5911/* Line 1807 of yacc.c  */ 
     5912#line 1927 "fortran.y" 
     5913    {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
     5914    break; 
     5915 
     5916  case 489: 
     5917/* Line 1807 of yacc.c  */ 
     5918#line 1930 "fortran.y" 
     5919    { created_dimensionlist = 0; } 
     5920    break; 
     5921 
     5922  case 490: 
     5923/* Line 1807 of yacc.c  */ 
     5924#line 1934 "fortran.y" 
    55935925    { 
    5594                        if ( couldaddvariable == 1 && afterpercent == 0) 
    5595                        { 
    5596                        if ( Vartonumber((yyvsp[(1) - (1)].nac)) == 1 ) 
    5597                        { 
    5598                           Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    5599                                                         curmodulename); 
    5600                        } 
    5601                        if (!strcasecmp((yyvsp[(1) - (1)].nac),"Agrif_Parent") ) 
    5602                                                             agrif_parentcall =1; 
    5603                        if ( VariableIsNotFunction((yyvsp[(1) - (1)].nac)) == 0 ) 
    5604                        { 
    5605                        printf("var = %s\n",(yyvsp[(1) - (1)].nac)); 
    5606                           if ( inagrifcallargument == 1 ) 
    5607                           { 
    5608                              if ( !strcasecmp((yyvsp[(1) - (1)].nac),identcopy) ) 
    5609                              { 
    5610                                 strcpy(sameagrifname,identcopy); 
    5611                                 sameagrifargument = 1; 
    5612                              } 
    5613                           } 
    5614                           strcpy(identcopy,(yyvsp[(1) - (1)].nac)); 
    5615                           pointedvar=0; 
    5616                           strcpy(truename,(yyvsp[(1) - (1)].nac)); 
    5617                           if (variscoupled_0((yyvsp[(1) - (1)].nac))) strcpy(truename,getcoupledname_0((yyvsp[(1) - (1)].nac))); 
    5618  
    5619                           if ( VarIsNonGridDepend(truename) == 0 && 
    5620                                Variableshouldberemove(truename) == 0 ) 
    5621                           {                       
    5622                              if ( inagrifcallargument == 1 || 
    5623                                   varispointer_0(truename) == 1 ) 
    5624                              { 
    5625                              printf("var2 = %s\n",(yyvsp[(1) - (1)].nac)); 
    5626                             if ((IsinListe(List_UsedInSubroutine_Var,(yyvsp[(1) - (1)].nac)) == 1) || (inagrifcallargument == 1)) 
    5627                              { 
    5628                               if (varistyped_0(truename) == 0) 
    5629                                  { 
    5630                                  ModifyTheVariableName_0(truename,strlen((yyvsp[(1) - (1)].nac))); 
    5631                                  } 
    5632                                  } 
    5633                              } 
    5634                              printf("ici3\n"); 
    5635                              if ( inagrifcallargument != 1 || 
    5636                                   sameagrifargument ==1 ) 
    5637                                   { 
    5638                                   printf("ici5 %s\n",truename); 
    5639                                   Add_UsedInSubroutine_Var_1(truename); 
    5640                           } 
    5641                           } 
    5642                           NotifyAgrifFunction_0(truename); 
    5643                        } 
    5644                        } 
    5645                        else 
    5646                        { 
    5647                        afterpercent = 0; 
    5648                     } 
    5649                     ;} 
    5650     break; 
    5651  
    5652   case 339: 
    5653 #line 1788 "fortran.y" 
    5654     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),".TRUE.");;} 
    5655     break; 
    5656  
    5657   case 340: 
    5658 #line 1789 "fortran.y" 
    5659     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),".FALSE.");;} 
    5660     break; 
    5661  
    5662   case 341: 
    5663 #line 1790 "fortran.y" 
    5664     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    5665     break; 
    5666  
    5667   case 342: 
    5668 #line 1791 "fortran.y" 
    5669     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    5670     break; 
    5671  
    5672   case 343: 
    5673 #line 1792 "fortran.y" 
    5674     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    5675     break; 
    5676  
    5677   case 344: 
    5678 #line 1793 "fortran.y" 
    5679     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    5680     break; 
    5681  
    5682   case 345: 
    5683 #line 1795 "fortran.y" 
    5684     {if ( couldaddvariable == 1 ) sprintf((yyval.nac),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].nac));;} 
    5685     break; 
    5686  
    5687   case 347: 
    5688 #line 1799 "fortran.y" 
    5689     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    5690     break; 
    5691  
    5692   case 349: 
    5693 #line 1802 "fortran.y" 
    5694     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    5695     break; 
    5696  
    5697   case 350: 
    5698 #line 1804 "fortran.y" 
    5699     {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    5700     break; 
    5701  
    5702   case 351: 
    5703 #line 1806 "fortran.y" 
    5704     {if ( couldaddvariable == 1 ) strcpy((yyval.na)," ");;} 
    5705     break; 
    5706  
    5707   case 352: 
    5708 #line 1807 "fortran.y" 
    5709     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5710     break; 
    5711  
    5712   case 353: 
    5713 #line 1810 "fortran.y" 
    5714     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s :%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 
    5715     break; 
    5716  
    5717   case 354: 
    5718 #line 1812 "fortran.y" 
    5719     {if ( couldaddvariable == 1 ) strcpy((yyval.na)," ");;} 
    5720     break; 
    5721  
    5722   case 355: 
    5723 #line 1813 "fortran.y" 
    5724     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5725     break; 
    5726  
    5727   case 356: 
    5728 #line 1815 "fortran.y" 
    5729     {if ( couldaddvariable == 1 ) strcpy((yyval.na)," ");;} 
    5730     break; 
    5731  
    5732   case 357: 
    5733 #line 1816 "fortran.y" 
    5734     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    5735     break; 
    5736  
    5737   case 358: 
    5738 #line 1818 "fortran.y" 
    5739     {   strcpy(InitialValueGiven," ");;} 
    5740     break; 
    5741  
    5742   case 359: 
    5743 #line 1820 "fortran.y" 
     5926            created_dimensionlist = 1; 
     5927            if ( ((yyvsp[(3) - (4)].d) == NULL) || ((yyvsp[(4) - (4)].d) == NULL) ) break; 
     5928            if  ( agrif_parentcall == 1 ) 
     5929            { 
     5930                ModifyTheAgrifFunction_0((yyvsp[(3) - (4)].d)->dim.last); 
     5931                agrif_parentcall = 0; 
     5932                fprintf(fortran_out," = "); 
     5933            } 
     5934        } 
     5935    break; 
     5936 
     5937  case 491: 
     5938/* Line 1807 of yacc.c  */ 
     5939#line 1945 "fortran.y" 
    57445940    { 
    5745                        if ( couldaddvariable == 1 ) 
    5746                        { 
    5747                           strcpy(InitValue,(yyvsp[(3) - (3)].na)); 
    5748                           strcpy(InitialValueGiven,"="); 
    5749                        } 
    5750                     ;} 
    5751     break; 
    5752  
    5753   case 360: 
    5754 #line 1828 "fortran.y" 
     5941            created_dimensionlist = 1; 
     5942        } 
     5943    break; 
     5944 
     5945  case 496: 
     5946/* Line 1807 of yacc.c  */ 
     5947#line 1958 "fortran.y" 
    57555948    { 
    5756                        if ( couldaddvariable == 1 ) 
    5757                        { 
    5758                           strcpy(InitValue,(yyvsp[(3) - (3)].na)); 
    5759                           strcpy(InitialValueGiven,"=>"); 
    5760                        } 
    5761                     ;} 
    5762     break; 
    5763  
    5764   case 361: 
    5765 #line 1836 "fortran.y" 
    5766     {pos_curinit = setposcur();;} 
    5767     break; 
    5768  
    5769   case 362: 
    5770 #line 1839 "fortran.y" 
    5771     {sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 
    5772     break; 
    5773  
    5774   case 363: 
    5775 #line 1842 "fortran.y" 
     5949            inagrifcallargument = 0 ; 
     5950            incalldeclare=0; 
     5951            if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 
     5952            { 
     5953                pos_end = setposcur(); 
     5954                RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 
     5955                strcpy(subofagrifinitgrids,subroutinename); 
     5956            } 
     5957            Instanciation_0(sameagrifname); 
     5958        } 
     5959    break; 
     5960 
     5961  case 502: 
     5962/* Line 1807 of yacc.c  */ 
     5963#line 1979 "fortran.y" 
    57765964    { 
    5777                       if ( couldaddvariable == 1 ) 
    5778                       { 
    5779                       /* if variables has been declared in a subroutine       */ 
    5780                       if (insubroutinedeclare == 1) 
    5781                       { 
    5782                          copyuse_0((yyvsp[(2) - (2)].nac)); 
    5783                       } 
    5784                       sprintf(charusemodule,"%s",(yyvsp[(2) - (2)].nac)); 
    5785                       Add_NameOfModuleUsed_1((yyvsp[(2) - (2)].nac)); 
    5786  
    5787                       if ( inmoduledeclare == 0 ) 
    5788                       { 
    5789                          pos_end = setposcur(); 
    5790                          RemoveWordSET_0(fortranout,pos_curuse, 
    5791                                                pos_end-pos_curuse); 
    5792                       } 
    5793                       } 
    5794                     ;} 
    5795     break; 
    5796  
    5797   case 364: 
    5798 #line 1862 "fortran.y" 
     5965            if (!strcasecmp((yyvsp[(2) - (2)].na),"MPI_Init") )    callmpiinit = 1; 
     5966            else                                callmpiinit = 0; 
     5967 
     5968            if (!strcasecmp((yyvsp[(2) - (2)].na),"Agrif_Init_Grids") ) 
     5969            { 
     5970                callagrifinitgrids = 1; 
     5971                strcpy(meetagrifinitgrids,subroutinename); 
     5972            } 
     5973            else 
     5974            { 
     5975                callagrifinitgrids = 0; 
     5976            } 
     5977            if ( Vartonumber((yyvsp[(2) - (2)].na)) == 1 ) 
     5978            { 
     5979                incalldeclare = 1; 
     5980                inagrifcallargument = 1 ; 
     5981                Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); 
     5982            } 
     5983        } 
     5984    break; 
     5985 
     5986  case 503: 
     5987/* Line 1807 of yacc.c  */ 
     5988#line 2000 "fortran.y" 
     5989    { pos_curcall=setposcur()-4; } 
     5990    break; 
     5991 
     5992  case 506: 
     5993/* Line 1807 of yacc.c  */ 
     5994#line 2008 "fortran.y" 
    57995995    { 
    5800                        if ( couldaddvariable == 1 ) 
    5801                        { 
    5802                       if (insubroutinedeclare == 1) 
    5803                       { 
    5804                          Add_CouplePointed_Var_1((yyvsp[(2) - (4)].nac),(yyvsp[(4) - (4)].lc)); 
    5805                       } 
    5806                       if ( firstpass == 1 ) 
    5807                       { 
    5808                          if ( insubroutinedeclare == 1 ) 
    5809                          { 
    5810                             coupletmp = (yyvsp[(4) - (4)].lc); 
    5811                             strcpy(ligne,""); 
    5812                             while ( coupletmp ) 
    5813                             { 
    5814                                strcat(ligne,coupletmp->c_namevar); 
    5815                                strcat(ligne," => "); 
    5816                                strcat(ligne,coupletmp->c_namepointedvar); 
    5817                                coupletmp = coupletmp->suiv; 
    5818                                if ( coupletmp ) strcat(ligne,","); 
    5819                             } 
    5820                             sprintf(charusemodule,"%s",(yyvsp[(2) - (4)].nac)); 
    5821                          } 
    5822                          Add_NameOfModuleUsed_1((yyvsp[(2) - (4)].nac)); 
    5823                       } 
    5824                       if ( inmoduledeclare == 0 ) 
    5825                       { 
    5826                          pos_end = setposcur(); 
    5827                          RemoveWordSET_0(fortranout,pos_curuse, 
    5828                                                pos_end-pos_curuse); 
    5829                       } 
    5830                       } 
    5831                     ;} 
    5832     break; 
    5833  
    5834   case 365: 
    5835 #line 1896 "fortran.y" 
    5836     { 
    5837                        if ( couldaddvariable == 1 ) 
    5838                        { 
    5839                       /* if variables has been declared in a subroutine       */ 
    5840                       if (insubroutinedeclare == 1) 
    5841                       { 
    5842                          copyuseonly_0((yyvsp[(2) - (6)].nac)); 
    5843                       } 
    5844                       sprintf(charusemodule,"%s",(yyvsp[(2) - (6)].nac)); 
    5845                       Add_NameOfModuleUsed_1((yyvsp[(2) - (6)].nac)); 
    5846  
    5847                        if ( inmoduledeclare == 0 ) 
    5848                        { 
    5849                           pos_end = setposcur(); 
    5850                           RemoveWordSET_0(fortranout,pos_curuse, 
    5851                                                 pos_end-pos_curuse); 
    5852                        } 
    5853                        } 
    5854                     ;} 
    5855     break; 
    5856  
    5857   case 366: 
    5858 #line 1916 "fortran.y" 
    5859     { 
    5860                        if ( couldaddvariable == 1 ) 
    5861                        { 
    5862                        /* if variables has been declared in a subroutine      */ 
    5863                        if (insubroutinedeclare == 1) 
    5864                        { 
    5865                           Add_CouplePointed_Var_1((yyvsp[(2) - (6)].nac),(yyvsp[(6) - (6)].lc)); 
    5866                        } 
    5867                        if ( firstpass == 1 ) 
    5868                        { 
    5869                          if ( insubroutinedeclare == 1 ) 
    5870                          { 
    5871                              coupletmp = (yyvsp[(6) - (6)].lc); 
    5872                              strcpy(ligne,""); 
    5873                              while ( coupletmp ) 
    5874                              { 
    5875                                 strcat(ligne,coupletmp->c_namevar); 
    5876                                if ( strcasecmp(coupletmp->c_namepointedvar,"") ) 
    5877                                                            strcat(ligne," => "); 
    5878                                 strcat(ligne,coupletmp->c_namepointedvar); 
    5879                                 coupletmp = coupletmp->suiv; 
    5880                                 if ( coupletmp ) strcat(ligne,","); 
    5881                              } 
    5882                              sprintf(charusemodule,"%s",(yyvsp[(2) - (6)].nac)); 
    5883                           } 
    5884                           Add_NameOfModuleUsed_1((yyvsp[(2) - (6)].nac)); 
    5885                        } 
    5886                        if ( firstpass == 0 ) 
    5887                        { 
    5888                           if ( inmoduledeclare == 0 ) 
    5889                           { 
    5890  
    5891                             pos_end = setposcur(); 
    5892                              RemoveWordSET_0(fortranout,pos_curuse, 
    5893                                                    pos_end-pos_curuse); 
    5894                        if (oldfortranout)  
    5895                          variableisglobalinmodule((yyvsp[(6) - (6)].lc),(yyvsp[(2) - (6)].nac),oldfortranout,pos_curuseold); 
    5896                          
    5897                           } 
    5898                           else 
    5899                           { 
    5900  
    5901                              /* if we are in the module declare and if the    */ 
    5902                              /* onlylist is a list of global variable         */ 
    5903                              variableisglobalinmodule((yyvsp[(6) - (6)].lc), (yyvsp[(2) - (6)].nac), fortranout,pos_curuse); 
    5904                           } 
    5905                        } 
    5906                        } 
    5907                     ;} 
    5908     break; 
    5909  
    5910   case 367: 
    5911 #line 1967 "fortran.y" 
    5912     { 
    5913                       pos_curuse = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
    5914                      if (firstpass == 0 && oldfortranout) { 
    5915                      pos_curuseold = setposcurname(oldfortranout); 
    5916                      } 
    5917                    ;} 
    5918     break; 
    5919  
    5920   case 368: 
    5921 #line 1975 "fortran.y" 
    5922     {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    5923     break; 
    5924  
    5925   case 369: 
    5926 #line 1978 "fortran.y" 
    5927     { 
    5928                        if ( couldaddvariable == 1 ) (yyval.lc) = (yyvsp[(1) - (1)].lc); 
    5929                     ;} 
    5930     break; 
    5931  
    5932   case 370: 
    5933 #line 1982 "fortran.y" 
    5934     { 
    5935                         if ( couldaddvariable == 1 ) 
    5936                         { 
    5937                         /* insert the variable in the list $1                 */ 
    5938                         (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 
    5939                         (yyval.lc) = (yyvsp[(3) - (3)].lc); 
    5940                         } 
    5941                     ;} 
    5942     break; 
    5943  
    5944   case 371: 
    5945 #line 1992 "fortran.y" 
    5946     { 
    5947                        coupletmp =(listcouple *)malloc(sizeof(listcouple)); 
    5948                        strcpy(coupletmp->c_namevar,(yyvsp[(1) - (3)].nac)); 
    5949                        Save_Length((yyvsp[(1) - (3)].nac),21); 
    5950                        strcpy(coupletmp->c_namepointedvar,(yyvsp[(3) - (3)].nac)); 
    5951                        Save_Length((yyvsp[(3) - (3)].nac),22); 
    5952                        coupletmp->suiv = NULL; 
    5953                        (yyval.lc) = coupletmp; 
    5954                      ;} 
    5955     break; 
    5956  
    5957   case 372: 
    5958 #line 2003 "fortran.y" 
    5959     { 
    5960                        if ( couldaddvariable == 1 ) (yyval.lc) = (yyvsp[(1) - (1)].lc); 
    5961                     ;} 
    5962     break; 
    5963  
    5964   case 373: 
    5965 #line 2007 "fortran.y" 
    5966     { 
    5967                         if ( couldaddvariable == 1 ) 
    5968                         { 
    5969                         /* insert the variable in the list $1                 */ 
    5970                         (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 
    5971                         (yyval.lc) = (yyvsp[(3) - (3)].lc); 
    5972                         } 
    5973                     ;} 
    5974     break; 
    5975  
    5976   case 374: 
    5977 #line 2017 "fortran.y" 
    5978     { 
    5979                        coupletmp =(listcouple *)malloc(sizeof(listcouple)); 
    5980                        strcpy(coupletmp->c_namevar,(yyvsp[(1) - (3)].nac)); 
    5981                        Save_Length((yyvsp[(1) - (3)].nac),21); 
    5982                        strcpy(coupletmp->c_namepointedvar,(yyvsp[(3) - (3)].nac)); 
    5983                        Save_Length((yyvsp[(3) - (3)].nac),22); 
    5984                        coupletmp->suiv = NULL; 
    5985                        (yyval.lc) = coupletmp; 
    5986                        pointedvar=1; 
    5987                        Add_UsedInSubroutine_Var_1((yyvsp[(1) - (3)].nac)); 
    5988                     ;} 
    5989     break; 
    5990  
    5991   case 375: 
    5992 #line 2028 "fortran.y" 
    5993     { 
    5994                        coupletmp =(listcouple *)malloc(sizeof(listcouple)); 
    5995                        strcpy(coupletmp->c_namevar,(yyvsp[(1) - (1)].nac)); 
    5996                        Save_Length((yyvsp[(1) - (1)].nac),21); 
    5997                        strcpy(coupletmp->c_namepointedvar,""); 
    5998                        coupletmp->suiv = NULL; 
    5999                        (yyval.lc) = coupletmp; 
    6000                      ;} 
    6001     break; 
    6002  
    6003   case 377: 
    6004 #line 2039 "fortran.y" 
    6005     { 
    6006                          Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    6007                                                         curmodulename); 
    6008                                                         inallocate = 0; 
    6009                      ;} 
    6010     break; 
    6011  
    6012   case 378: 
    6013 #line 2045 "fortran.y" 
    6014     { 
    6015                           Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    6016                                                          curmodulename); 
    6017                                                          inallocate = 0; 
    6018                      ;} 
    6019     break; 
    6020  
    6021   case 380: 
    6022 #line 2052 "fortran.y" 
    6023     { 
    6024                        GlobalDeclaration = 0 ; 
    6025                        if ( firstpass == 0 && 
    6026                             strcasecmp(subroutinename,"") ) 
    6027                        { 
    6028                           if ( module_declar && insubroutinedeclare == 0 ) 
    6029                           { 
    6030                               fclose(module_declar); 
    6031                           } 
    6032                        } 
    6033                        if ( couldaddvariable == 1 && 
    6034                             strcasecmp(subroutinename,"") ) 
    6035                        { 
    6036                        if ( inmodulemeet == 1 ) 
    6037                        { 
    6038                          /* we are in a module                                */ 
    6039                          if ( insubroutinedeclare == 1 ) 
    6040                          { 
    6041                             /* it is like an end subroutine <name>            */ 
    6042                             insubroutinedeclare = 0 ; 
    6043                             /*                                                */ 
    6044                             pos_cur = setposcur(); 
    6045                             closeandcallsubloopandincludeit_0(1); 
    6046                             functiondeclarationisdone = 0; 
    6047                          } 
    6048                          else 
    6049                          { 
    6050                             /* it is like an end module <name>                */ 
    6051                             inmoduledeclare = 0 ; 
    6052                             inmodulemeet = 0 ; 
    6053                          } 
    6054                        } 
    6055                        else 
    6056                        { 
    6057                           insubroutinedeclare = 0; 
    6058                           /*                                                  */ 
    6059                           pos_cur = setposcur();                         
    6060                           closeandcallsubloopandincludeit_0(2); 
    6061                             functiondeclarationisdone = 0; 
    6062                           if ( firstpass == 0 ) 
    6063                           { 
    6064                              if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    6065                              else fprintf(paramout,"C\n"); 
    6066                              fclose(paramout); 
    6067                            } 
    6068                         } 
    6069                       } 
    6070                       strcpy(subroutinename,""); 
    6071                     ;} 
    6072     break; 
    6073  
    6074   case 381: 
    6075 #line 2102 "fortran.y" 
    6076     { 
    6077                        if ( couldaddvariable == 1 ) 
    6078                        { 
    6079                        insubroutinedeclare = 0; 
    6080                        /*                                                     */ 
    6081                        pos_cur = setposcur();                       
    6082                        closeandcallsubloopandincludeit_0(3); 
    6083                             functiondeclarationisdone = 0; 
    6084                       if ( firstpass == 0 ) 
    6085                       { 
    6086                          if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    6087                          else fprintf(paramout,"C\n"); 
    6088                          fclose(paramout); 
    6089                       } 
    6090                       strcpy(subroutinename,""); 
    6091                       } 
    6092                     ;} 
    6093     break; 
    6094  
    6095   case 382: 
     5996            if ( callmpiinit == 1 ) 
     5997            { 
     5998                strcpy(mpiinitvar,(yyvsp[(1) - (1)].na)); 
     5999                if ( firstpass == 1 )  Add_UsedInSubroutine_Var_1 (mpiinitvar); 
     6000            } 
     6001        } 
     6002    break; 
     6003 
     6004  case 532: 
     6005/* Line 1807 of yacc.c  */ 
     6006#line 2056 "fortran.y" 
     6007    { afterpercent = 1; } 
     6008    break; 
     6009 
     6010  case 572: 
     6011/* Line 1807 of yacc.c  */ 
     6012#line 2115 "fortran.y" 
     6013    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     6014    break; 
     6015 
     6016  case 573: 
     6017/* Line 1807 of yacc.c  */ 
     6018#line 2116 "fortran.y" 
     6019    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     6020    break; 
     6021 
     6022  case 574: 
     6023/* Line 1807 of yacc.c  */ 
     6024#line 2117 "fortran.y" 
     6025    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     6026    break; 
     6027 
     6028  case 575: 
     6029/* Line 1807 of yacc.c  */ 
     6030#line 2118 "fortran.y" 
     6031    { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 
     6032    break; 
     6033 
     6034  case 576: 
     6035/* Line 1807 of yacc.c  */ 
     6036#line 2119 "fortran.y" 
     6037    { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     6038    break; 
     6039 
     6040  case 577: 
     6041/* Line 1807 of yacc.c  */ 
    60966042#line 2120 "fortran.y" 
    6097     { 
    6098                        if ( couldaddvariable == 1 && 
    6099                             strcasecmp(subroutinename,"") ) 
    6100                        { 
    6101                        insubroutinedeclare = 0; 
    6102                        /*                                                     */ 
    6103                        pos_cur = setposcur(); 
    6104                                               
    6105                        closeandcallsubloopandincludeit_0(1); 
    6106                             functiondeclarationisdone = 0; 
    6107                       if ( firstpass == 0 ) 
    6108                       { 
    6109                          if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    6110                          else fprintf(paramout,"C\n"); 
    6111                          fclose(paramout); 
    6112                       } 
    6113                       strcpy(subroutinename,""); 
    6114                       } 
    6115                     ;} 
    6116     break; 
    6117  
    6118   case 383: 
    6119 #line 2140 "fortran.y" 
    6120     { 
    6121                        if ( couldaddvariable == 1 ) 
    6122                        { 
    6123                        insubroutinedeclare = 0; 
    6124                        /*                                                     */ 
    6125                        pos_cur = setposcur(); 
    6126  
    6127                        closeandcallsubloopandincludeit_0(0); 
    6128                             functiondeclarationisdone = 0; 
    6129                       if ( firstpass == 0 ) 
    6130                       { 
    6131                          if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    6132                          else fprintf(paramout,"C\n"); 
    6133                          fclose(paramout); 
    6134                       } 
    6135                       strcpy(subroutinename,""); 
    6136                       } 
    6137                     ;} 
    6138     break; 
    6139  
    6140   case 384: 
    6141 #line 2159 "fortran.y" 
    6142     { 
    6143                        if ( couldaddvariable == 1 ) 
    6144                        { 
    6145                        /* if we never meet the contains keyword               */ 
    6146                       Remove_Word_end_module_0(strlen((yyvsp[(2) - (2)].nac))); 
    6147                        if ( inmoduledeclare == 1 ) 
    6148                        { 
    6149                           if ( aftercontainsdeclare == 0 ) 
    6150                           { 
    6151                              Write_GlobalParameter_Declaration_0(); 
    6152                              Write_NotGridDepend_Declaration_0(); 
    6153                              Write_GlobalType_Declaration_0(); 
    6154                              if ( module_declar_type ) 
    6155                              { 
    6156                              strcpy (ligne, "\n#include \"Module_DeclarType_"); 
    6157                              strcat (ligne, curmodulename); 
    6158                              strcat (ligne, ".h\"\n"); 
    6159                              tofich(fortranout,ligne,1);  
    6160                              } 
    6161                              Write_Alloc_Subroutine_For_End_0(); 
    6162                           } 
    6163                        } 
    6164                                             
    6165                        inmoduledeclare = 0 ; 
    6166                        inmodulemeet = 0 ; 
    6167  
    6168                       Write_Word_end_module_0(); 
    6169                       strcpy(curmodulename,""); 
    6170                       aftercontainsdeclare = 1; 
    6171                       if ( firstpass == 0 ) 
    6172                       { 
    6173                          if ( module_declar && insubroutinedeclare == 0) 
    6174                          { 
    6175                            fclose(module_declar); 
    6176                          } 
    6177                          if ( module_declar_type && insubroutinedeclare == 0) 
    6178                          { 
    6179                           fclose(module_declar_type); 
    6180                           module_declar_type = 0; 
    6181                          } 
    6182                       } 
    6183                       GlobalDeclaration = 0 ; 
    6184                       } 
    6185                   ;} 
    6186     break; 
    6187  
    6188   case 398: 
    6189 #line 2217 "fortran.y" 
    6190     { 
    6191                       if (inmoduledeclare == 1 ) 
    6192                       { 
    6193                          Remove_Word_Contains_0(); 
    6194                          Write_GlobalParameter_Declaration_0(); 
    6195                          Write_GlobalType_Declaration_0(); 
    6196                              if ( module_declar_type) 
    6197                              {                          
    6198                              strcpy (ligne, "\n#include \"Module_DeclarType_"); 
    6199                              strcat (ligne, curmodulename); 
    6200                              strcat (ligne, ".h\"\n"); 
    6201                              tofich(fortranout,ligne,1);  
    6202                              } 
    6203                          Write_NotGridDepend_Declaration_0(); 
    6204                          Write_Alloc_Subroutine_0(); 
    6205                          inmoduledeclare = 0 ; 
    6206                          aftercontainsdeclare = 1; 
    6207                       } 
    6208                       else 
    6209                       { 
    6210                       incontainssubroutine = 1; 
    6211                       strcpy(previoussubroutinename,subroutinename); 
    6212                        if ( couldaddvariable == 1 ) 
    6213                        { 
    6214                           if ( firstpass == 1 ) List_ContainsSubroutine = 
    6215                                                 Addtolistnom(subroutinename, 
    6216                                                      List_ContainsSubroutine,0); 
    6217                           insubroutinedeclare = 0; 
    6218                           /*                                                  */ 
    6219  
    6220                           closeandcallsubloop_contains_0(); 
    6221                             functiondeclarationisdone = 0; 
    6222                          if ( firstpass == 0 ) 
    6223                          { 
    6224                             if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    6225                             else fprintf(paramout,"C\n"); 
    6226                             fclose(paramout); 
    6227                          } 
    6228                          } 
    6229                          strcpy(subroutinename,""); 
    6230                       } 
    6231                    ;} 
    6232     break; 
    6233  
    6234   case 399: 
    6235 #line 2261 "fortran.y" 
    6236     { 
    6237                       if ( couldaddvariable == 1 ) 
    6238                       { 
    6239                        strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 
    6240                        pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
    6241                        functiondeclarationisdone = 0; 
    6242                        } 
    6243                     ;} 
    6244     break; 
    6245  
    6246   case 400: 
    6247 #line 2271 "fortran.y" 
    6248     { 
    6249                       if ( couldaddvariable == 1 ) 
    6250                       { 
    6251                        strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 
    6252                        pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
    6253                        } 
    6254                     ;} 
    6255     break; 
    6256  
    6257   case 401: 
    6258 #line 2280 "fortran.y" 
    6259     { 
    6260                       if ( couldaddvariable == 1 ) 
    6261                       { 
    6262                        strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 
    6263                        pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
    6264                        } 
    6265                     ;} 
    6266     break; 
    6267  
    6268   case 402: 
    6269 #line 2289 "fortran.y" 
    6270     { 
    6271                       if ( couldaddvariable == 1 ) 
    6272                       { 
    6273                        strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 
    6274                        pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
    6275                        } 
    6276                     ;} 
    6277     break; 
    6278  
    6279   case 414: 
    6280 #line 2311 "fortran.y" 
    6281     {strcpy((yyval.nac),"");;} 
    6282     break; 
    6283  
    6284   case 415: 
    6285 #line 2312 "fortran.y" 
    6286     {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    6287     break; 
    6288  
    6289   case 425: 
    6290 #line 2332 "fortran.y" 
    6291     { 
    6292                           Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    6293                                                         curmodulename); 
    6294                                                         inallocate = 0; 
    6295                      ;} 
    6296     break; 
    6297  
    6298   case 426: 
    6299 #line 2338 "fortran.y" 
    6300     { 
    6301                           Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    6302                                                         curmodulename); 
    6303                                                         inallocate = 0; 
    6304                      ;} 
    6305     break; 
    6306  
    6307   case 432: 
    6308 #line 2349 "fortran.y" 
    6309     {if ( couldaddvariable == 1 ) created_dimensionlist = 0;;} 
    6310     break; 
    6311  
    6312   case 433: 
    6313 #line 2351 "fortran.y" 
    6314     { 
    6315                   created_dimensionlist = 1; 
    6316                   if  ( agrif_parentcall == 1 ) 
    6317                   { 
    6318                       ModifyTheAgrifFunction_0((yyvsp[(3) - (4)].d)->dim.last); 
    6319                       agrif_parentcall =0; 
    6320                       fprintf(fortranout," = "); 
    6321                   } 
    6322               ;} 
    6323     break; 
    6324  
    6325   case 434: 
    6326 #line 2361 "fortran.y" 
    6327     {created_dimensionlist = 1;;} 
    6328     break; 
    6329  
    6330   case 439: 
    6331 #line 2369 "fortran.y" 
    6332     { 
    6333                       inagrifcallargument = 0 ; 
    6334                       incalldeclare=0; 
    6335                       if ( oldfortranout && 
    6336                            !strcasecmp(meetagrifinitgrids,subroutinename) && 
    6337                            firstpass == 0 && 
    6338                            callmpiinit == 1) 
    6339                       { 
    6340                       /*   pos_end = setposcur(); 
    6341                          RemoveWordSET_0(fortranout,pos_curcall, 
    6342                                                pos_end-pos_curcall); 
    6343                          fprintf(oldfortranout,"      Call MPI_Init (%s) \n" 
    6344                                                                    ,mpiinitvar);*/ 
    6345                       } 
    6346                       if ( oldfortranout           && 
    6347                            callagrifinitgrids == 1 && 
    6348                            firstpass == 0 ) 
    6349                       { 
    6350                          pos_end = setposcur(); 
    6351                          RemoveWordSET_0(fortranout,pos_curcall, 
    6352                                                pos_end-pos_curcall); 
    6353  
    6354                          strcpy(subofagrifinitgrids,subroutinename); 
    6355                       } 
    6356                       Instanciation_0(sameagrifname); 
    6357                    ;} 
    6358     break; 
    6359  
    6360   case 444: 
    6361 #line 2403 "fortran.y" 
    6362     { 
    6363                        if (!strcasecmp((yyvsp[(2) - (2)].nac),"MPI_Init") ) 
    6364                        { 
    6365                           callmpiinit = 1; 
    6366                        } 
    6367                        else 
    6368                        { 
    6369                           callmpiinit = 0; 
    6370                        } 
    6371                        if (!strcasecmp((yyvsp[(2) - (2)].nac),"Agrif_Init_Grids") ) 
    6372                        { 
    6373                           callagrifinitgrids = 1; 
    6374                           strcpy(meetagrifinitgrids,subroutinename); 
    6375                        } 
    6376                        else callagrifinitgrids = 0; 
    6377                        if ( !strcasecmp((yyvsp[(2) - (2)].nac),"Agrif_Open_File") ) 
    6378                        { 
    6379                           Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    6380                                                         curmodulename); 
    6381                        } 
    6382                        if ( Vartonumber((yyvsp[(2) - (2)].nac)) == 1 ) 
    6383                        { 
    6384                           incalldeclare=1; 
    6385                           inagrifcallargument = 1 ; 
    6386                           Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    6387                                                         curmodulename); 
    6388                        } 
    6389                     ;} 
    6390     break; 
    6391  
    6392   case 445: 
    6393 #line 2433 "fortran.y" 
    6394     {pos_curcall=setposcur()-4;;} 
    6395     break; 
    6396  
    6397   case 448: 
    6398 #line 2438 "fortran.y" 
    6399     { 
    6400                   if ( callmpiinit == 1 ) 
    6401                   { 
    6402                      strcpy(mpiinitvar,(yyvsp[(1) - (1)].na)); 
    6403                      if ( firstpass == 1 ) 
    6404                      { 
    6405                         Add_UsedInSubroutine_Var_1 (mpiinitvar); 
    6406 /*                        curvar=createvar($1,NULL); 
    6407                         curlistvar=insertvar(NULL,curvar); 
    6408                         List_Subr outineArgument_Var = AddListvarToListvar 
    6409                          (curlistvar,List_SubroutineAr gument_Var,1);*/ 
    6410                      } 
    6411                   } 
    6412                ;} 
    6413     break; 
    6414  
    6415   case 520: 
    6416 #line 2562 "fortran.y" 
    6417     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    6418     break; 
    6419  
    6420   case 521: 
    6421 #line 2563 "fortran.y" 
    6422     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    6423     break; 
    6424  
    6425   case 522: 
    6426 #line 2564 "fortran.y" 
    6427     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    6428     break; 
    6429  
    6430   case 523: 
    6431 #line 2567 "fortran.y" 
    6432     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    6433     break; 
    6434  
    6435   case 524: 
    6436 #line 2569 "fortran.y" 
    6437     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    6438     break; 
    6439  
    6440   case 525: 
    6441 #line 2571 "fortran.y" 
    6442     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    6443     break; 
    6444  
    6445   case 526: 
    6446 #line 2573 "fortran.y" 
    6447     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    6448     break; 
    6449  
    6450   case 527: 
    6451 #line 2575 "fortran.y" 
    6452     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    6453     break; 
    6454  
    6455   case 528: 
    6456 #line 2577 "fortran.y" 
    6457     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
    6458     break; 
    6459  
    6460   case 529: 
    6461 #line 2578 "fortran.y" 
    6462     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    6463     break; 
    6464  
    6465   case 530: 
    6466 #line 2579 "fortran.y" 
    6467     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    6468     break; 
    6469  
    6470   case 531: 
    6471 #line 2582 "fortran.y" 
    6472     {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
    6473     break; 
    6474  
    6475   case 532: 
    6476 #line 2584 "fortran.y" 
    6477     {if ( couldaddvariable == 1 ) sprintf((yyval.na)," (%s)",(yyvsp[(2) - (3)].na));;} 
    6478     break; 
    6479  
    6480   case 533: 
    6481 #line 2586 "fortran.y" 
    6482     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 
    6483     break; 
    6484  
    6485   case 534: 
    6486 #line 2588 "fortran.y" 
    6487     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 
    6488     break; 
    6489  
    6490   case 535: 
    6491 #line 2590 "fortran.y" 
    6492     {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 
    6493     break; 
    6494  
    6495   case 536: 
    6496 #line 2594 "fortran.y" 
    6497     {if ( couldaddvariable == 1 ) 
    6498                                               sprintf((yyval.na),"%s=%s,%s)",(yyvsp[(1) - (5)].nac),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));;} 
    6499     break; 
    6500  
    6501   case 537: 
    6502 #line 2597 "fortran.y" 
    6503     {if ( couldaddvariable == 1 ) 
    6504                                         sprintf((yyval.na),"%s=%s,%s,%s)",(yyvsp[(1) - (7)].nac),(yyvsp[(3) - (7)].na),(yyvsp[(5) - (7)].na),(yyvsp[(7) - (7)].na));;} 
    6505     break; 
    6506  
    6507   case 544: 
    6508 #line 2613 "fortran.y" 
    6509     {Add_Allocate_Var_1((yyvsp[(1) - (1)].nac),curmodulename);;} 
    6510     break; 
    6511  
    6512   case 547: 
    6513 #line 2618 "fortran.y" 
    6514     {Add_Allocate_Var_1((yyvsp[(1) - (4)].nac),curmodulename);;} 
    6515     break; 
    6516  
    6517   case 555: 
    6518 #line 2641 "fortran.y" 
    6519     {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
    6520     break; 
    6521  
    6522  
    6523 /* Line 1267 of yacc.c.  */ 
    6524 #line 6522 "fortran.tab.c" 
     6043    { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     6044    break; 
     6045 
     6046  case 578: 
     6047/* Line 1807 of yacc.c  */ 
     6048#line 2121 "fortran.y" 
     6049    { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     6050    break; 
     6051 
     6052  case 579: 
     6053/* Line 1807 of yacc.c  */ 
     6054#line 2122 "fortran.y" 
     6055    { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     6056    break; 
     6057 
     6058  case 580: 
     6059/* Line 1807 of yacc.c  */ 
     6060#line 2123 "fortran.y" 
     6061    { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     6062    break; 
     6063 
     6064  case 581: 
     6065/* Line 1807 of yacc.c  */ 
     6066#line 2124 "fortran.y" 
     6067    { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 
     6068    break; 
     6069 
     6070  case 582: 
     6071/* Line 1807 of yacc.c  */ 
     6072#line 2127 "fortran.y" 
     6073    { sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na)); } 
     6074    break; 
     6075 
     6076  case 583: 
     6077/* Line 1807 of yacc.c  */ 
     6078#line 2128 "fortran.y" 
     6079    { sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na)); } 
     6080    break; 
     6081 
     6082  case 584: 
     6083/* Line 1807 of yacc.c  */ 
     6084#line 2129 "fortran.y" 
     6085    { sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na)); } 
     6086    break; 
     6087 
     6088  case 585: 
     6089/* Line 1807 of yacc.c  */ 
     6090#line 2131 "fortran.y" 
     6091    { sprintf((yyval.na),"%s=%s,%s)",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));} 
     6092    break; 
     6093 
     6094  case 586: 
     6095/* Line 1807 of yacc.c  */ 
     6096#line 2132 "fortran.y" 
     6097    { sprintf((yyval.na),"%s=%s,%s,%s)",(yyvsp[(1) - (7)].na),(yyvsp[(3) - (7)].na),(yyvsp[(5) - (7)].na),(yyvsp[(7) - (7)].na));} 
     6098    break; 
     6099 
     6100  case 591: 
     6101/* Line 1807 of yacc.c  */ 
     6102#line 2142 "fortran.y" 
     6103    { Add_Allocate_Var_1((yyvsp[(1) - (1)].na),curmodulename); } 
     6104    break; 
     6105 
     6106 
     6107/* Line 1807 of yacc.c  */ 
     6108#line 6110 "fortran.tab.c" 
    65256109      default: break; 
    65266110    } 
     6111  /* User semantic actions sometimes alter yychar, and that requires 
     6112     that yytoken be updated with the new translation.  We take the 
     6113     approach of translating immediately before every use of yytoken. 
     6114     One alternative is translating here after every semantic action, 
     6115     but that translation would be missed if the semantic action invokes 
     6116     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 
     6117     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an 
     6118     incorrect destructor might then be invoked immediately.  In the 
     6119     case of YYERROR or YYBACKUP, subsequent parser actions might lead 
     6120     to an incorrect destructor call or verbose syntax error message 
     6121     before the lookahead is translated.  */ 
    65276122  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 
    65286123 
     
    65326127 
    65336128  *++yyvsp = yyval; 
    6534  
    65356129 
    65366130  /* Now `shift' the result of the reduction.  Determine what state 
     
    65536147`------------------------------------*/ 
    65546148yyerrlab: 
     6149  /* Make sure we have latest lookahead translation.  See comments at 
     6150     user semantic actions for why this is necessary.  */ 
     6151  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); 
     6152 
    65556153  /* If not already recovering from an error, report this error.  */ 
    65566154  if (!yyerrstatus) 
     
    65606158      yyerror (YY_("syntax error")); 
    65616159#else 
     6160# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 
     6161                                        yyssp, yytoken) 
    65626162      { 
    6563    YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); 
    6564    if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) 
    6565      { 
    6566        YYSIZE_T yyalloc = 2 * yysize; 
    6567        if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) 
    6568          yyalloc = YYSTACK_ALLOC_MAXIMUM; 
    6569        if (yymsg != yymsgbuf) 
    6570          YYSTACK_FREE (yymsg); 
    6571        yymsg = (char *) YYSTACK_ALLOC (yyalloc); 
    6572        if (yymsg) 
    6573          yymsg_alloc = yyalloc; 
    6574        else 
    6575          { 
    6576       yymsg = yymsgbuf; 
    6577       yymsg_alloc = sizeof yymsgbuf; 
    6578          } 
    6579      } 
    6580  
    6581    if (0 < yysize && yysize <= yymsg_alloc) 
    6582      { 
    6583        (void) yysyntax_error (yymsg, yystate, yychar); 
    6584        yyerror (yymsg); 
    6585      } 
    6586    else 
    6587      { 
    6588        yyerror (YY_("syntax error")); 
    6589        if (yysize != 0) 
    6590          goto yyexhaustedlab; 
    6591      } 
     6163        char const *yymsgp = YY_("syntax error"); 
     6164        int yysyntax_error_status; 
     6165        yysyntax_error_status = YYSYNTAX_ERROR; 
     6166        if (yysyntax_error_status == 0) 
     6167          yymsgp = yymsg; 
     6168        else if (yysyntax_error_status == 1) 
     6169          { 
     6170            if (yymsg != yymsgbuf) 
     6171              YYSTACK_FREE (yymsg); 
     6172            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); 
     6173            if (!yymsg) 
     6174              { 
     6175                yymsg = yymsgbuf; 
     6176                yymsg_alloc = sizeof yymsgbuf; 
     6177                yysyntax_error_status = 2; 
     6178              } 
     6179            else 
     6180              { 
     6181                yysyntax_error_status = YYSYNTAX_ERROR; 
     6182                yymsgp = yymsg; 
     6183              } 
     6184          } 
     6185        yyerror (yymsgp); 
     6186        if (yysyntax_error_status == 2) 
     6187          goto yyexhaustedlab; 
    65926188      } 
     6189# undef YYSYNTAX_ERROR 
    65936190#endif 
    65946191    } 
     
    65986195  if (yyerrstatus == 3) 
    65996196    { 
    6600       /* If just tried and failed to reuse look-ahead token after an 
     6197      /* If just tried and failed to reuse lookahead token after an 
    66016198    error, discard it.  */ 
    66026199 
     
    66156212    } 
    66166213 
    6617   /* Else will try to reuse look-ahead token after shifting the error 
     6214  /* Else will try to reuse lookahead token after shifting the error 
    66186215     token.  */ 
    66196216  goto yyerrlab1; 
     
    66496246    { 
    66506247      yyn = yypact[yystate]; 
    6651       if (yyn != YYPACT_NINF) 
     6248      if (!yypact_value_is_default (yyn)) 
    66526249   { 
    66536250     yyn += YYTERROR; 
     
    66726269    } 
    66736270 
    6674   if (yyn == YYFINAL) 
    6675     YYACCEPT; 
    6676  
     6271  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
    66776272  *++yyvsp = yylval; 
     6273  YY_IGNORE_MAYBE_UNINITIALIZED_END 
    66786274 
    66796275 
     
    66996295  goto yyreturn; 
    67006296 
    6701 #ifndef yyoverflow 
     6297#if !defined yyoverflow || YYERROR_VERBOSE 
    67026298/*-------------------------------------------------. 
    67036299| yyexhaustedlab -- memory exhaustion comes here.  | 
     
    67106306 
    67116307yyreturn: 
    6712   if (yychar != YYEOF && yychar != YYEMPTY) 
    6713      yydestruct ("Cleanup: discarding lookahead", 
    6714        yytoken, &yylval); 
     6308  if (yychar != YYEMPTY) 
     6309    { 
     6310      /* Make sure we have latest lookahead translation.  See comments at 
     6311         user semantic actions for why this is necessary.  */ 
     6312      yytoken = YYTRANSLATE (yychar); 
     6313      yydestruct ("Cleanup: discarding lookahead", 
     6314                  yytoken, &yylval); 
     6315    } 
    67156316  /* Do not reclaim the symbols of the rule which action triggered 
    67166317     this YYABORT or YYACCEPT.  */ 
     
    67366337 
    67376338 
    6738 #line 2643 "fortran.y" 
    6739  
    6740  
    6741 void processfortran(char *fichier_entree) 
     6339/* Line 2055 of yacc.c  */ 
     6340#line 2156 "fortran.y" 
     6341 
     6342 
     6343void process_fortran(const char *input_file) 
    67426344{ 
    6743    extern FILE *fortranin; 
    6744    extern FILE *fortranout; 
    6745    char nomfile[LONG_C]; 
    6746    int c; 
    6747    int confirmyes; 
    6748  
    6749 /*   fortrandebug = 1;*/ 
    6750    if ( mark == 1 ) printf("Firstpass == %d \n",firstpass); 
     6345    extern FILE *fortran_in; 
     6346    extern FILE *fortran_out; 
     6347 
     6348    char output_file[LONG_FNAME]; 
     6349    char input_fullpath[LONG_FNAME]; 
     6350 
     6351    if ( todebug == 1 ) printf("Firstpass == %d \n", firstpass); 
     6352 
     6353     yydebug=0; 
    67516354/******************************************************************************/ 
    6752 /*  1-  Open input and output files                                           */ 
     6355/*  1-  Open input file                                                       */ 
    67536356/******************************************************************************/ 
    6754    strcpy(nomfile,commondirin); 
    6755    strcat(nomfile,"/"); 
    6756    strcat(nomfile,fichier_entree); 
    6757    fortranin=fopen( nomfile,"r"); 
    6758    if (! fortranin) 
    6759    { 
    6760       printf("Error : File %s does not exist\n",nomfile); 
    6761       exit(1); 
    6762    } 
    6763  
    6764    strcpy(curfile,nomfile); 
    6765    strcpy(nomfile,commondirout); 
    6766    strcat(nomfile,"/"); 
    6767    strcat(nomfile,fichier_entree); 
    6768    strcpy(nomfileoutput,nomfile); 
    6769    Save_Length(nomfileoutput,31); 
    6770    if (firstpass == 1) 
    6771    { 
    6772       if (checkexistcommon == 1) 
    6773       { 
    6774          if (fopen(nomfile,"r")) 
    6775          { 
    6776             printf("Warning : file %s already exist\n",nomfile); 
    6777             confirmyes = 0; 
    6778             while (confirmyes==0) 
    6779             { 
    6780                printf("Override file %s ? [Y/N]\n",nomfile); 
    6781                c=getchar(); 
    6782                getchar(); 
    6783                if (c==79 || c==110) 
    6784                { 
    6785                   printf("We stop\n"); 
    6786                   exit(1); 
    6787                } 
    6788                if (c==89 || c==121) 
    6789                { 
    6790                   confirmyes=1; 
    6791                } 
    6792             } 
    6793          } 
    6794       } 
    6795    } 
     6357 
     6358    strcpy(cur_filename, input_file); 
     6359    sprintf(input_fullpath, "%s/%s", input_dir, input_file); 
     6360 
     6361    fortran_in = fopen(input_fullpath, "r"); 
     6362    if (! fortran_in) 
     6363    { 
     6364        printf("Error : File %s does not exist\n", input_fullpath); 
     6365        exit(1); 
     6366    } 
    67966367 
    67976368/******************************************************************************/ 
     
    67996370/******************************************************************************/ 
    68006371 
    6801    line_num_fortran_common=1; 
    6802    line_num_fortran=1; 
    6803    PublicDeclare = 0; 
    6804    PrivateDeclare = 0; 
    6805    ExternalDeclare = 0; 
    6806    SaveDeclare = 0; 
    6807    pointerdeclare = 0; 
    6808    optionaldeclare = 0; 
    6809    incalldeclare = 0; 
    6810    VarType = 0; 
    6811    VarTypepar = 0; 
    6812    Allocatabledeclare = 0 ; 
    6813    Targetdeclare = 0 ; 
    6814    strcpy(NamePrecision," "); 
    6815    VariableIsParameter =  0 ; 
    6816    strcpy(NamePrecision,""); 
    6817    c_star = 0 ; 
    6818    functiondeclarationisdone = 0; 
    6819    insubroutinedeclare = 0 ; 
    6820    ininterfacedeclare = 0 ;    
    6821    strcpy(subroutinename," "); 
    6822    isrecursive = 0; 
    6823    strcpy(InitialValueGiven," "); 
    6824    strcpy(EmptyChar," "); 
    6825    inmoduledeclare = 0; 
    6826    incontainssubroutine = 0; 
    6827    module_declar_type = 0; 
    6828    GlobalDeclarationType = 0; 
    6829    colnum=0; 
    6830    incom=0; 
    6831    couldaddvariable=1; 
    6832    afterpercent = 0; 
    6833    aftercontainsdeclare = 1; 
    6834    strcpy(nameinttypename,""); 
    6835    /* Name of the file without format                                         */ 
    6836    tmp = strchr(fichier_entree, '.'); 
    6837    strncpy(curfilename,fichier_entree,strlen(fichier_entree)-strlen(tmp)); 
    6838    Save_Length(curfilename,30); 
     6372    line_num_input = 1; 
     6373    PublicDeclare = 0; 
     6374    PrivateDeclare = 0; 
     6375    ExternalDeclare = 0; 
     6376    SaveDeclare = 0; 
     6377    pointerdeclare = 0; 
     6378    optionaldeclare = 0; 
     6379    incalldeclare = 0; 
     6380    inside_type_declare = 0; 
     6381    Allocatabledeclare = 0 ; 
     6382    Targetdeclare = 0 ; 
     6383    VariableIsParameter =  0 ; 
     6384    strcpy(NamePrecision,""); 
     6385    c_star = 0 ; 
     6386    functiondeclarationisdone = 0; 
     6387    insubroutinedeclare = 0 ; 
     6388    strcpy(subroutinename," "); 
     6389    isrecursive = 0; 
     6390    InitialValueGiven = 0 ; 
     6391    GlobalDeclarationType = 0; 
     6392    inmoduledeclare = 0; 
     6393    incontainssubroutine = 0; 
     6394    afterpercent = 0; 
     6395    aftercontainsdeclare = 1; 
     6396    strcpy(nameinttypename,""); 
     6397 
    68396398/******************************************************************************/ 
    68406399/*  3-  Parsing of the input file (1 time)                                    */ 
    68416400/******************************************************************************/ 
    6842    if (firstpass == 0 ) 
    6843    { 
    6844       fortranout=fopen(nomfileoutput,"w"); 
    6845  
    6846 /*      NewModule_Creation_0();*/ 
    6847    } 
    6848  
    6849    fortranparse(); 
    6850  
    6851    if (firstpass == 0 ) 
    6852    { 
    6853    NewModule_Creation_0(); 
    6854    } 
    6855     
    6856    strcpy(curfile,mainfile); 
    6857  
    6858    if (firstpass == 0 ) 
    6859    { 
    6860    fclose(fortranout); 
    6861    } 
     6401 
     6402    sprintf(output_file, "%s/%s", output_dir, input_file); 
     6403 
     6404    if (firstpass == 0) fortran_out = fopen(output_file,"w"); 
     6405 
     6406    fortran_parse(); 
     6407 
     6408    if (firstpass == 0) NewModule_Creation_0(); 
     6409    if (firstpass == 0) fclose(fortran_out); 
    68626410} 
    6863  
    68646411#line 2 "fortran.yy.c" 
    68656412 
     
    68706417/* A lexical scanner generated by flex */ 
    68716418 
    6872 #define yy_create_buffer fortran_create_buffer 
    6873 #define yy_delete_buffer fortran_delete_buffer 
    6874 #define yy_flex_debug fortran_flex_debug 
    6875 #define yy_init_buffer fortran_init_buffer 
    6876 #define yy_flush_buffer fortran_flush_buffer 
    6877 #define yy_load_buffer_state fortran_load_buffer_state 
    6878 #define yy_switch_to_buffer fortran_switch_to_buffer 
    6879 #define yyin fortranin 
    6880 #define yyleng fortranleng 
    6881 #define yylex fortranlex 
    6882 #define yylineno fortranlineno 
    6883 #define yyout fortranout 
    6884 #define yyrestart fortranrestart 
    6885 #define yytext fortrantext 
    6886 #define yywrap fortranwrap 
    6887 #define yyalloc fortranalloc 
    6888 #define yyrealloc fortranrealloc 
    6889 #define yyfree fortranfree 
     6419#define yy_create_buffer fortran__create_buffer 
     6420#define yy_delete_buffer fortran__delete_buffer 
     6421#define yy_flex_debug fortran__flex_debug 
     6422#define yy_init_buffer fortran__init_buffer 
     6423#define yy_flush_buffer fortran__flush_buffer 
     6424#define yy_load_buffer_state fortran__load_buffer_state 
     6425#define yy_switch_to_buffer fortran__switch_to_buffer 
     6426#define yyin fortran_in 
     6427#define yyleng fortran_leng 
     6428#define yylex fortran_lex 
     6429#define yylineno fortran_lineno 
     6430#define yyout fortran_out 
     6431#define yyrestart fortran_restart 
     6432#define yytext fortran_text 
     6433#define yywrap fortran_wrap 
     6434#define yyalloc fortran_alloc 
     6435#define yyrealloc fortran_realloc 
     6436#define yyfree fortran_free 
    68906437 
    68916438#define FLEX_SCANNER 
     
    69306477typedef int32_t flex_int32_t; 
    69316478typedef uint32_t flex_uint32_t; 
     6479typedef uint64_t flex_uint64_t; 
    69326480#else 
    69336481typedef signed char flex_int8_t; 
     
    70186566 
    70196567/* Special action meaning "start processing a new file". */ 
    7020 #define YY_NEW_FILE fortranrestart(fortranin  ) 
     6568#define YY_NEW_FILE fortran_restart(fortran_in  ) 
    70216569 
    70226570#define YY_END_OF_BUFFER_CHAR 0 
     
    70416589#endif 
    70426590 
    7043 extern yy_size_t fortranleng; 
    7044  
    7045 extern FILE *fortranin, *fortranout; 
     6591extern yy_size_t fortran_leng; 
     6592 
     6593extern FILE *fortran_in, *fortran_out; 
    70466594 
    70476595#define EOB_ACT_CONTINUE_SCAN 0 
     
    70556603   do \ 
    70566604      { \ 
    7057       /* Undo effects of setting up fortrantext. */ \ 
     6605      /* Undo effects of setting up fortran_text. */ \ 
    70586606        int yyless_macro_arg = (n); \ 
    70596607        YY_LESS_LINENO(yyless_macro_arg);\ 
     
    70616609      YY_RESTORE_YY_MORE_OFFSET \ 
    70626610      (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 
    7063       YY_DO_BEFORE_ACTION; /* set up fortrantext again */ \ 
     6611      YY_DO_BEFORE_ACTION; /* set up fortran_text again */ \ 
    70646612      } \ 
    70656613   while ( 0 ) 
     
    71246672    * 
    71256673    * When we actually see the EOF, we change the status to "new" 
    7126     * (via fortranrestart()), so that the user can continue scanning by 
    7127     * just pointing fortranin at a new input file. 
     6674    * (via fortran_restart()), so that the user can continue scanning by 
     6675    * just pointing fortran_in at a new input file. 
    71286676    */ 
    71296677#define YY_BUFFER_EOF_PENDING 2 
     
    71526700#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 
    71536701 
    7154 /* yy_hold_char holds the character lost when fortrantext is formed. */ 
     6702/* yy_hold_char holds the character lost when fortran_text is formed. */ 
    71556703static char yy_hold_char; 
    71566704static yy_size_t yy_n_chars;     /* number of characters read into yy_ch_buf */ 
    7157 yy_size_t fortranleng; 
     6705yy_size_t fortran_leng; 
    71586706 
    71596707/* Points to current character in buffer. */ 
     
    71626710static int yy_start = 0;   /* start state number */ 
    71636711 
    7164 /* Flag which is used to allow fortranwrap()'s to do buffer switches 
    7165  * instead of setting up a fresh fortranin.  A bit of a hack ... 
     6712/* Flag which is used to allow fortran_wrap()'s to do buffer switches 
     6713 * instead of setting up a fresh fortran_in.  A bit of a hack ... 
    71666714 */ 
    71676715static int yy_did_buffer_switch_on_eof; 
    71686716 
    7169 void fortranrestart (FILE *input_file  ); 
    7170 void fortran_switch_to_buffer (YY_BUFFER_STATE new_buffer  ); 
    7171 YY_BUFFER_STATE fortran_create_buffer (FILE *file,int size  ); 
    7172 void fortran_delete_buffer (YY_BUFFER_STATE b  ); 
    7173 void fortran_flush_buffer (YY_BUFFER_STATE b  ); 
    7174 void fortranpush_buffer_state (YY_BUFFER_STATE new_buffer  ); 
    7175 void fortranpop_buffer_state (void ); 
    7176  
    7177 static void fortranensure_buffer_stack (void ); 
    7178 static void fortran_load_buffer_state (void ); 
    7179 static void fortran_init_buffer (YY_BUFFER_STATE b,FILE *file  ); 
    7180  
    7181 #define YY_FLUSH_BUFFER fortran_flush_buffer(YY_CURRENT_BUFFER ) 
    7182  
    7183 YY_BUFFER_STATE fortran_scan_buffer (char *base,yy_size_t size  ); 
    7184 YY_BUFFER_STATE fortran_scan_string (yyconst char *yy_str  ); 
    7185 YY_BUFFER_STATE fortran_scan_bytes (yyconst char *bytes,yy_size_t len  ); 
    7186  
    7187 void *fortranalloc (yy_size_t  ); 
    7188 void *fortranrealloc (void *,yy_size_t  ); 
    7189 void fortranfree (void *  ); 
    7190  
    7191 #define yy_new_buffer fortran_create_buffer 
     6717void fortran_restart (FILE *input_file  ); 
     6718void fortran__switch_to_buffer (YY_BUFFER_STATE new_buffer  ); 
     6719YY_BUFFER_STATE fortran__create_buffer (FILE *file,int size  ); 
     6720void fortran__delete_buffer (YY_BUFFER_STATE b  ); 
     6721void fortran__flush_buffer (YY_BUFFER_STATE b  ); 
     6722void fortran_push_buffer_state (YY_BUFFER_STATE new_buffer  ); 
     6723void fortran_pop_buffer_state (void ); 
     6724 
     6725static void fortran_ensure_buffer_stack (void ); 
     6726static void fortran__load_buffer_state (void ); 
     6727static void fortran__init_buffer (YY_BUFFER_STATE b,FILE *file  ); 
     6728 
     6729#define YY_FLUSH_BUFFER fortran__flush_buffer(YY_CURRENT_BUFFER ) 
     6730 
     6731YY_BUFFER_STATE fortran__scan_buffer (char *base,yy_size_t size  ); 
     6732YY_BUFFER_STATE fortran__scan_string (yyconst char *yy_str  ); 
     6733YY_BUFFER_STATE fortran__scan_bytes (yyconst char *bytes,yy_size_t len  ); 
     6734 
     6735void *fortran_alloc (yy_size_t  ); 
     6736void *fortran_realloc (void *,yy_size_t  ); 
     6737void fortran_free (void *  ); 
     6738 
     6739#define yy_new_buffer fortran__create_buffer 
    71926740 
    71936741#define yy_set_interactive(is_interactive) \ 
    71946742   { \ 
    71956743   if ( ! YY_CURRENT_BUFFER ){ \ 
    7196         fortranensure_buffer_stack (); \ 
     6744        fortran_ensure_buffer_stack (); \ 
    71976745      YY_CURRENT_BUFFER_LVALUE =    \ 
    7198             fortran_create_buffer(fortranin,YY_BUF_SIZE ); \ 
     6746            fortran__create_buffer(fortran_in,YY_BUF_SIZE ); \ 
    71996747   } \ 
    72006748   YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 
     
    72046752   { \ 
    72056753   if ( ! YY_CURRENT_BUFFER ){\ 
    7206         fortranensure_buffer_stack (); \ 
     6754        fortran_ensure_buffer_stack (); \ 
    72076755      YY_CURRENT_BUFFER_LVALUE =    \ 
    7208             fortran_create_buffer(fortranin,YY_BUF_SIZE ); \ 
     6756            fortran__create_buffer(fortran_in,YY_BUF_SIZE ); \ 
    72096757   } \ 
    72106758   YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 
     
    72156763/* Begin user sect3 */ 
    72166764 
     6765#define fortran_wrap(n) 1 
     6766#define YY_SKIP_YYWRAP 
     6767 
    72176768typedef unsigned char YY_CHAR; 
    72186769 
    7219 FILE *fortranin = (FILE *) 0, *fortranout = (FILE *) 0; 
     6770FILE *fortran_in = (FILE *) 0, *fortran_out = (FILE *) 0; 
    72206771 
    72216772typedef int yy_state_type; 
    72226773 
    7223 extern int fortranlineno; 
    7224  
    7225 int fortranlineno = 1; 
    7226  
    7227 extern char *fortrantext; 
    7228 #define yytext_ptr fortrantext 
     6774extern int fortran_lineno; 
     6775 
     6776int fortran_lineno = 1; 
     6777 
     6778extern char *fortran_text; 
     6779#define yytext_ptr fortran_text 
    72296780 
    72306781static yy_state_type yy_get_previous_state (void ); 
     
    72346785 
    72356786/* Done after the current pattern has been matched and before the 
    7236  * corresponding action - sets up fortrantext. 
     6787 * corresponding action - sets up fortran_text. 
    72376788 */ 
    72386789#define YY_DO_BEFORE_ACTION \ 
    72396790   (yytext_ptr) = yy_bp; \ 
    7240    fortranleng = (size_t) (yy_cp - yy_bp); \ 
     6791   fortran_leng = (yy_size_t) (yy_cp - yy_bp); \ 
    72416792   (yy_hold_char) = *yy_cp; \ 
    72426793   *yy_cp = '\0'; \ 
     
    72526803   flex_int32_t yy_nxt; 
    72536804   }; 
    7254 static yyconst flex_int16_t yy_accept[1162] = 
     6805static yyconst flex_int16_t yy_accept[1132] = 
    72556806    {   0, 
    72566807        0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    7257         0,    0,  177,  176,  165,  161,  164,  175,  152,  151, 
    7258       155,  167,  152,  154,  154,  154,  157,  153,  137,  150, 
    7259       156,  159,  158,  160,  145,  145,  145,  145,  145,  145, 
    7260       145,  145,  145,  145,  145,  145,  145,  145,  145,  145, 
    7261       145,  145,  165,  161,  164,  175,  150,  145,  145,  145, 
    7262       145,  145,  145,  176,  176,  173,  176,  176,  176,  161, 
    7263       161,  154,  145,    0,    0,  165,    0,  166,    0,  164, 
    7264       175,  175,  175,    0,  141,    0,    0,  167,  167,  167, 
    7265       167,    0,    0,    0,  140,    0,    0,  132,   26,    0, 
    7266  
    7267       146,    0,    0,    0,    0,    0,    0,    0,  133,    0, 
    7268       150,   25,    0,  145,  145,  145,  145,  145,  145,  145, 
    7269       145,  145,  145,  145,  145,  145,  145,  145,  145,  145, 
    7270        43,  145,  145,  145,  145,  145,  145,  145,  145,  145, 
    7271       145,  145,  145,  145,   85,  145,  145,  145,  145,  145, 
    7272       145,  145,  145,  145,  145,  145,  145,  145,  145,  145, 
    7273       145,  145,  145,  145,  145,  145,  145,  145,  145,  145, 
    7274       145,  145,  165,  163,    0,  163,    0,    0,    0,    0, 
    7275         0,    0,  166,  162,  163,    0,  175,  174,  175,  175, 
    7276       175,  163,  150,    4,  145,  145,  145,  145,   85,  145, 
    7277  
    7278       145,    0,  173,    0,    0,    0,    0,    0,    0,    0, 
    7279       169,   26,    0,    0,    4,    0,  145,  145,  145,  145, 
    7280       145,  145,    0,    0,    0,  175,  175,    0,    0,  167, 
    7281       167,    0,    0,    0,    0,  139,    0,    0,    0,    0, 
    7282         0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    7283         0,  149,  146,    0,    0,    0,  142,    0,  145,  145, 
    7284       145,  145,  145,  145,  145,  145,  145,  145,  145,  145, 
    7285       145,  115,  145,  145,  145,    0,  145,  145,  145,  145, 
    7286       145,   16,  145,  145,  145,  114,  145,  145,  145,  145, 
    7287       145,    0,  145,    0,   96,  145,  145,  145,  145,  145, 
    7288  
    7289       121,  145,  145,  126,  145,  145,  145,  145,  145,  145, 
    7290       145,   89,  145,  145,  145,  145,  145,  145,  145,  145, 
    7291       145,  145,  145,  145,  145,  145,  118,  145,  145,  145, 
    7292       145,  145,  122,  145,  145,  145,  145,  145,  165,  163, 
    7293         0,  166,    0,    0,    0,    0,    0,    0,    0,    0, 
    7294       163,    0,  163,  175,  175,  175,  150,    4,    4,    4, 
    7295         4,  145,  145,  145,  145,  145,  145,  145,    0,    0, 
    7296         0,    0,  170,    0,    0,  169,    0,    0,    4,    4, 
    7297         4,    4,  142,    0,  145,  145,    0,  145,  145,  145, 
    7298       145,    0,    0,    0,  175,  175,    0,    0,  167,  167, 
    7299  
    7300         0,    0,    0,    0,  147,    0,  146,    0,  148,    0, 
    7301        28,    0,   30,   29,   32,   31,   34,    0,    0,   36, 
    7302         0,  146,    0,  147,    0,  146,    0,  148,    0,  142, 
    7303         0,  125,  117,  145,  145,  120,  123,  145,  145,   22, 
    7304       145,  145,  145,  145,  145,  116,  145,  145,  145,    0, 
    7305       145,  145,  145,   94,    0,  108,  145,  145,  145,  145, 
    7306       145,  145,  145,  145,  145,    0,  109,  145,  145,  145, 
    7307       145,  145,  145,  145,    0,   88,  145,  145,  145,  145, 
    7308       145,  145,  145,    0,   98,  145,  145,    0,  111,  145, 
    7309       145,  145,  145,  112,   21,  145,   60,   74,  145,  145, 
    7310  
    7311       145,  145,  145,  145,  145,  145,   79,   44,  145,  145, 
    7312       145,  145,   69,  145,  127,  119,  145,   72,   54,  145, 
    7313         0,   97,   99,  145,   92,  101,  145,  145,  165,  163, 
    7314       166,    0,    0,    0,    0,    0,    0,    0,  163,    0, 
    7315       163,  175,  175,  175,  150,    4,    4,  145,  145,  145, 
    7316       145,  145,  145,   18,    0,    0,    0,    0,    0,  170, 
    7317         0,    0,    4,    4,    0,  142,    0,  145,  145,  145, 
    7318       145,    0,    0,    0,  175,  175,    0,    0,  167,  167, 
    7319         0,    0,   38,   27,    0,   35,   37,    0,  142,    0, 
    7320       142,  145,  145,  145,  145,  145,   49,  145,  145,  145, 
    7321  
    7322       124,  145,  145,    0,  145,  145,  145,    0,  145,  145, 
    7323         0,    0,    0,    0,    0,    0,    0,    0,   42,  145, 
    7324        95,  145,  145,  145,  145,  145,  145,  145,  145,   76, 
    7325        76,   76,   76,  145,    0,  107,  113,  145,  145,   88, 
    7326       145,  145,   90,  145,  145,  145,  145,  145,  145,  145, 
    7327       145,  145,  145,  145,  145,  145,  145,   52,  145,   77, 
    7328       145,  145,  145,    0,  145,  145,  145,  145,  145,  102, 
    7329       145,  145,   55,   81,  165,  163,  166,    0,    0,    0, 
    7330         0,    0,    0,  163,    0,  163,  175,  175,  175,  150, 
    7331         4,    3,    0,  104,  145,  145,   86,  145,  145,   70, 
    7332  
    7333        71,   70,    0,    0,    0,    0,    4,    3,    0,  142, 
    7334         0,  142,  145,   49,  145,  124,    0,   23,    0,  175, 
    7335        23,    0,   23,   23,  167,   23,    0,   23,   23,   23, 
    7336        33,  145,  145,   23,   23,   23,  145,  145,   63,  145, 
    7337       145,  145,  145,    0,  145,  145,  138,    0,    0,   93, 
    7338       145,   42,    0,   95,    0,    0,    0,    0,    0,    0, 
    7339       145,  145,  145,  145,  145,  145,  145,  145,    0,  110, 
    7340       145,  145,  145,  145,  145,  145,  145,   66,  145,  145, 
    7341       129,  100,  128,  130,   39,  145,  145,  145,  145,  145, 
    7342       145,  145,   83,    0,  145,   11,   75,   19,  145,  145, 
    7343  
    7344        82,  165,  163,  166,    0,    0,    0,    0,  163,  175, 
    7345       175,   23,    4,    3,    3,  145,  145,  145,  145,    0, 
    7346         0,    0,   23,    4,    3,    3,  145,   23,   23,   23, 
    7347        24,    0,  168,   24,   24,   24,   24,   24,   24,   24, 
    7348        24,   24,   24,  145,  145,  145,   58,  145,  145,  145, 
    7349         0,    0,  145,  145,   40,   93,    0,  145,    0,    0, 
    7350         0,    0,    0,    0,    0,  145,  145,  145,  145,  145, 
    7351        73,  145,  145,  145,    0,    0,  145,  145,   17,   50, 
    7352        45,  145,   46,    0,  145,  145,    9,  145,  145,   67, 
    7353        84,    7,    0,    0,  145,    0,  145,  145,    0,    0, 
    7354  
    7355         0,    0,  175,   24,    4,  145,  145,   64,  145,    0, 
    7356         0,   24,    4,   24,   24,   24,  145,    8,  145,  145, 
    7357        87,  145,  145,   40,    0,    0,  145,  145,    0,  145, 
    7358         0,    0,    0,    0,    0,   73,    0,  145,  145,  145, 
    7359       145,  145,   56,  145,   65,    0,    0,    0,    0,  134, 
    7360        12,   20,  145,    0,  145,   80,   68,  145,    0,  145, 
    7361         0,  145,  145,    0,    0,    0,  175,    4,  145,   59, 
    7362       145,    0,    0,    4,  145,  131,   47,  145,   51,    0, 
    7363         0,  145,  145,    0,   57,    0,    0,    0,    0,    0, 
    7364        56,  145,   41,  145,  106,  145,  145,    0,    0,    0, 
    7365  
    7366         0,    0,  134,   91,    0,  145,   61,    0,   62,    0, 
    7367       145,  145,    0,   59,    0,  175,    4,    4,  145,  143, 
    7368         0,    0,    4,    4,  145,   10,    0,    0,  145,  145, 
    7369        57,    0,   41,    0,  106,    0,  145,   14,  145,  145, 
    7370         0,    0,    0,  145,    0,    0,  103,    6,    0,  143, 
    7371       175,    4,    4,  145,    0,    0,    4,    4,   48,    0, 
    7372         0,  145,  145,    0,   14,    0,   15,  145,   53,    0, 
    7373         0,    0,  145,    0,  103,    0,  175,    4,    2,  105, 
    7374         0,    0,    4,    2,    0,    0,  145,  145,   15,    0, 
    7375       145,    0,    0,    0,  145,    0,  105,  175,    4,    0, 
    7376  
    7377         0,    4,    0,    0,  136,  145,    0,   13,    0,    0, 
    7378         0,  145,    0,  175,    1,    0,    0,  144,    1,  136, 
    7379         0,  145,   13,    0,    0,    0,    0,  145,    0,  175, 
    7380         0,    0,  135,    0,    0,    0,   78,    5,  175,    0, 
    7381       135,   78,  175,    0,  175,    0,  175,    0,  175,    0, 
    7382       175,    0,  175,  171,    0,    0,    0,    0,    0,  172, 
     6808        0,    0,  177,  176,  166,  164,  175,  176,  155,  158, 
     6809      176,  176,  157,  157,  157,  160,  156,  144,  154,  157, 
     6810      159,  162,  161,  163,  151,  151,  151,  151,  151,  151, 
     6811      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     6812      151,  151,  151,  151,  166,  164,  166,  175,  154,  151, 
     6813      151,  151,  151,  151,  151,  176,  176,  172,  176,  176, 
     6814      176,  157,  151,    0,    0,  166,    0,    0,  175,  175, 
     6815      175,    0,  148,    0,    0,    0,  168,    0,    0,    0, 
     6816        0,    0,  147,    0,    0,  141,   25,    0,  153,    0, 
     6817 
     6818        0,    0,    0,    0,    0,    0,  142,    0,  154,    0, 
     6819      140,   23,  151,  151,  151,  151,  151,  151,  151,  151, 
     6820      151,  151,  151,  151,  151,  151,  151,  151,   42,  151, 
     6821      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     6822      151,  151,  100,  151,   89,  151,  151,  151,  151,  151, 
     6823      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     6824      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     6825      151,  151,  151,  151,    0,  166,  166,    0,  167,    0, 
     6826        0,    0,    0,    0,    0,  165,  166,    0,  175,  174, 
     6827      175,  175,  175,  167,  154,    0,  151,  151,  151,  151, 
     6828 
     6829       89,  151,  151,    0,  172,    0,    0,    0,    0,    0, 
     6830        0,  173,   25,    0,    0,    0,  151,  151,  151,  151, 
     6831      151,    0,    0,    0,  175,  175,    0,    0,    0,    0, 
     6832        0,    0,    0,    0,  146,    0,    0,    0,    0,    0, 
     6833        0,    0,    0,    0,    0,    0,    0,    0,  152,  152, 
     6834        0,  153,  151,  151,  151,  151,  151,  151,  151,  151, 
     6835      151,  151,  151,  151,  151,  151,  123,  151,  151,  151, 
     6836      151,  151,  151,  151,   14,  151,  151,  151,  151,  122, 
     6837      151,  151,  151,  151,  151,  151,  151,    0,  151,  151, 
     6838      151,  151,  151,  151,  129,  151,  151,  134,  151,  151, 
     6839 
     6840      151,  151,  151,  151,  151,  151,   93,  151,  151,  151, 
     6841      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     6842      151,  126,  151,  151,  151,  151,  151,  130,  151,  151, 
     6843      151,  151,  151,  151,  151,    0,  166,  166,    0,    0, 
     6844        0,    0,    0,    0,    0,    0,    0,  166,    0,  167, 
     6845      175,  175,  175,  154,    0,  151,  151,  151,  151,  151, 
     6846      151,  151,    0,    0,    0,    0,  173,    0,    0,    0, 
     6847      151,  151,  151,  151,  151,    0,    0,    0,  175,  175, 
     6848        0,    0,    0,    0,    0,    0,    0,    0,  153,    0, 
     6849       27,    0,   29,   28,   31,   30,   33,    0,    0,   35, 
     6850 
     6851        0,    0,  133,  125,  151,  151,  128,  151,  131,  151, 
     6852      151,   20,  151,  151,  151,  151,  151,  151,  124,  151, 
     6853      151,  151,  151,  151,  151,   98,    0,  115,  151,  151, 
     6854      151,  151,  151,  151,  151,  151,    0,  116,  151,    0, 
     6855      117,  151,  151,  151,  151,  151,  151,    0,  113,  151, 
     6856      151,    0,   92,  151,  151,  151,  151,  151,  151,  151, 
     6857        0,  102,  151,  151,    0,  119,  151,  151,  151,  151, 
     6858      120,    0,  114,   19,  151,   63,   77,  151,  151,  151, 
     6859      151,  151,  151,  151,  151,   82,   43,  151,  151,  151, 
     6860      151,   72,  151,  151,  127,  151,   76,   57,  151,    0, 
     6861 
     6862      101,  103,  151,   96,  105,  151,  151,  151,  151,   47, 
     6863      166,  166,    0,    0,    0,    0,    0,    0,    0,  166, 
     6864        0,  167,  175,  175,  175,  154,    0,  108,  151,  151, 
     6865      151,  151,  151,   16,    0,    0,    0,    0,    0,    0, 
     6866      151,  151,  151,  151,    0,    0,    0,  175,  175,    0, 
     6867        0,    0,    0,    0,    0,   37,   26,    0,   34,   36, 
     6868      151,  151,  151,  151,  151,  151,   52,  151,  151,  151, 
     6869      151,  132,  151,  151,  151,  151,  151,    0,  151,  151, 
     6870        0,    0,    0,    0,    0,    0,    0,    0,   41,  151, 
     6871       99,  151,  151,  151,  151,  151,  151,  151,  151,   79, 
     6872 
     6873       79,  151,    0,  111,  121,   85,  151,  151,   92,  151, 
     6874      151,   94,  151,  151,  151,  151,  151,  151,  151,  151, 
     6875      151,  151,  151,    0,    0,  151,  151,  151,   55,  151, 
     6876       80,  151,  151,  151,    0,  151,  151,  151,  151,  151, 
     6877        0,  135,  106,  151,  151,    0,  112,   58,   39,   84, 
     6878      166,  166,  108,    0,    0,    0,    0,    0,  166,    0, 
     6879      167,  175,  175,  175,  154,    0,  108,  151,   90,  151, 
     6880      151,   74,   73,   74,    0,    0,    0,    0,    0,  151, 
     6881       52,  151,  132,    0,   21,    0,  175,   21,    0,   21, 
     6882       21,    0,   21,    0,   21,   21,   21,   32,  151,  151, 
     6883 
     6884      151,   21,  151,  151,   66,  151,  151,  151,  151,  151, 
     6885      151,  151,  145,    0,    0,   97,  151,   41,    0,   99, 
     6886        0,    0,    0,    0,    0,    0,  151,  151,  151,  151, 
     6887      151,  151,  151,  151,    0,  118,  151,  151,  151,  151, 
     6888      151,  151,  151,   69,  151,  151,  137,  104,  136,  138, 
     6889       38,  151,    0,    6,  151,  151,  151,  151,  151,  151, 
     6890       87,    0,  151,    8,   78,   17,  151,  151,   86,  166, 
     6891      166,    0,    0,    0,  166,  175,  175,   21,    0,  151, 
     6892      151,  151,    0,    0,    0,   21,    0,  151,   21,   22, 
     6893        0,  169,   22,   22,   22,   22,   22,   22,   22,   22, 
     6894 
     6895      151,  151,  151,  151,   50,  151,  151,  151,  109,  151, 
     6896        0,  151,  151,   97,    0,  151,    0,    0,    0,    0, 
     6897        0,    0,    0,  151,  151,  151,  151,  151,   75,  151, 
     6898      151,  151,    0,    0,  151,  151,   15,   53,   44,  151, 
     6899       45,    0,  151,  151,    5,  151,  151,   70,   88,    3, 
     6900        0,    0,  151,    0,  151,  151,    0,    0,    0,  175, 
     6901       22,    0,  151,   67,  151,    0,    0,   22,    0,   22, 
     6902      151,    4,  151,  151,  151,  151,   91,  151,  151,    0, 
     6903        0,  151,  151,    0,  151,    0,    0,    0,    0,    0, 
     6904       75,    0,  151,  151,  151,  151,  151,   59,  151,   68, 
     6905 
     6906        0,    0,    0,    0,  143,    9,   18,  151,    0,  151, 
     6907       83,   71,  151,    0,  151,    0,  151,  151,    0,    0, 
     6908      175,    0,   62,  151,    0,    0,    0,  151,  151,  139, 
     6909       46,  151,  151,   54,    0,    0,  151,  151,    0,   61, 
     6910        0,    0,    0,    0,    0,   59,  151,   11,  151,  110, 
     6911      151,  151,    0,    0,    0,    0,    0,  143,   95,    0, 
     6912      151,   64,    0,   65,    0,  151,  151,   62,    0,  175, 
     6913        0,  149,    0,    0,    0,  151,  151,   40,    7,    0, 
     6914        0,  151,  151,   61,    0,   60,    0,   11,    0,  110, 
     6915        0,  151,   10,  151,  151,    0,    0,    0,  151,    0, 
     6916 
     6917        0,  107,    2,  149,  175,    0,    0,    0,    0,   51, 
     6918        0,    0,    0,    0,  151,  151,    0,   10,    0,   13, 
     6919      151,   56,    0,    0,    0,  151,    0,  107,  175,    0, 
     6920        0,    0,    0,    0,    0,    0,    0,  151,  151,   13, 
     6921        0,  151,    0,    0,    0,  151,    0,  175,    0,    0, 
     6922        0,    0,    0,   24,    0,    0,   49,  151,    0,   12, 
     6923        0,    0,    0,  151,    0,  175,    0,    0,    0,  150, 
     6924        0,   49,    0,  151,   12,    0,    0,    0,    0,  151, 
     6925        0,  175,    0,    0,    0,    0,   48,    0,    0,    0, 
     6926       81,    1,  175,    0,    0,    0,   48,   81,  175,    0, 
     6927 
     6928        0,    0,  175,    0,    0,    0,  175,    0,    0,    0, 
     6929      175,    0,    0,    0,  175,    0,    0,    0,  175,  170, 
     6930        0,  170,    0,    0,  170,    0,    0,    0,    0,  171, 
    73836931        0 
    73846932    } ; 
     
    73996947       68,   69,   70,   71,   72,   44,   73,   74,   75,   76, 
    74006948       77,   78,   79,   80,   81,   82,   83,   84,   85,   86, 
    7401        87,   88,   89,   89,   89,    1,    1,    1,    1,    1, 
     6949       87,   88,    1,   89,    1,    1,    1,    1,    1,    1, 
    74026950        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    74036951        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
     
    74186966static yyconst flex_int32_t yy_meta[90] = 
    74196967    {   0, 
    7420         1,    2,    3,    2,    1,    4,    1,    1,    1,    1, 
    7421         1,    1,    1,    1,    1,    1,    1,    5,    1,    6, 
    7422         6,    6,    6,    6,    6,    6,    6,    6,    6,    1, 
    7423         1,    1,    1,    1,    7,    8,    8,    9,    9,    5, 
    7424        10,   11,    8,    8,    8,   10,   10,   10,    7,    8, 
    7425         9,   10,   10,    5,   10,    8,   12,    8,    8,    8, 
    7426         1,    1,    8,    7,    8,    8,    9,    9,    5,   10, 
    7427        11,    8,    8,   10,   10,   10,    7,    8,    9,   10, 
    7428        10,    5,   10,    8,   12,    8,    8,    8,    4 
     6968        1,    1,    2,    1,    1,    3,    1,    1,    1,    1, 
     6969        1,    4,    1,    1,    1,    1,    1,    3,    1,    5, 
     6970        5,    5,    5,    5,    5,    5,    5,    5,    5,    1, 
     6971        1,    1,    1,    1,    6,    7,    7,    5,    5,    8, 
     6972        9,   10,   11,   11,   11,    9,   11,    9,   12,   11, 
     6973       13,    9,    9,    9,    9,   11,   11,   11,   11,   11, 
     6974        1,    1,   11,    6,    7,    7,    5,    5,    8,    9, 
     6975       10,   11,   11,    9,   11,    9,   12,   11,   13,    9, 
     6976        9,    9,    9,   11,   11,   11,   11,   11,    3 
    74296977    } ; 
    74306978 
    7431 static yyconst flex_int16_t yy_base[1215] = 
     6979static yyconst flex_int16_t yy_base[1171] = 
    74326980    {   0, 
    7433         0,   88,    0,    0,    0,    0, 1215,   93, 1196,   91, 
    7434         0,    0, 1179,   64,   97,  117,  132,   87,  124,   98, 
    7435        99,  142,  173,  154,  108,  135,  134,  254,  172,  179, 
    7436       175,  178,  219,  180,  323,  388,  384,  318,  386,  319, 
    7437       186,  128,  250,  256,  392,  404,  438,  428,  204,  455, 
    7438       432,  465,  544,  120,  537,  548,  627,  624,  622,  544, 
    7439       644,  658,  251, 9159, 1175, 9159,  267,   99,  162,  569, 
    7440       572,  620,  745,  164,  107,  262,  307,  335,  376,  522, 
    7441         0,  167,  157, 1162, 9159,  278,  321, 1160, 1118,  372, 
    7442       304,  532,  593,  567, 9159,  633,  832, 9159, 9159,  911, 
    7443  
    7444       798,  318,  319,  450,  799,  552,  320,  354, 9159,  978, 
    7445       834, 9159,  865,  860,  862,  866,  914,  863,  973,  980, 
    7446       974, 1013, 1024, 1045,  869, 1049, 1075, 1095, 1098, 1101, 
    7447      1182, 1177, 1161, 1181, 1214, 1212, 1237, 1239, 1235, 1270, 
    7448      1290, 1316, 1325, 1293, 1346, 1323, 1366, 1368, 1391, 1399, 
    7449      1403, 1429, 1430, 1455, 1452, 1478, 1498, 1482, 1523, 1521, 
    7450      1554, 1548, 1579, 1586, 1606, 1629, 1649, 1675, 1681, 1698, 
    7451      1707, 1729,  871, 1114, 1109,  140, 1023,  187,  372,  403, 
    7452       553,  401, 1095,  565, 1792, 1818, 1083, 9159,  643,  669, 
    7453       589, 1844, 1870, 1580, 1865, 1867, 1868, 1905, 1926, 1922, 
    7454  
    7455      1925, 1078, 9159,  837,  437,  677,  249,  660, 1072,  712, 
    7456      9159, 1062,  844,  625, 1874, 1993, 2022, 1042,  864,  473, 
    7457       904,  621,  506,  651,  721,  798,  791,  890,  912,  936, 
    7458       907,  725, 1029, 1143,  729, 9159, 1114, 1179, 2097, 2112, 
    7459      2127,  229,  937, 1033, 1012, 1006,  994,  943,  883,  974, 
    7460       891, 9159, 1476, 2142, 2157, 2172, 2182, 2202, 2178, 2180, 
    7461      2200, 2203, 2223, 2243, 2246, 2244, 2276, 2269, 2299, 2307, 
    7462      2301, 2324, 2344, 2351, 2377,  901, 1018, 2374, 2394, 2397, 
    7463      2414, 2495, 2434, 2440, 2465, 2472, 2518, 2521, 2515, 2548, 
    7464      2556, 1138, 2564,  968, 9159, 2581, 2597, 2604, 2627, 2649, 
    7465  
    7466      2650, 2690, 2693, 2686, 2726, 2738, 2746, 2747, 2763, 2783, 
    7467      2799, 2800, 2803, 2820, 2840, 2843, 2870, 2891, 2895, 2903, 
    7468      2926, 2928, 2935, 2961, 2981, 2958, 2984, 2978, 3004, 3011, 
    7469      3027, 3052, 3048, 3059, 3085, 3068, 3105, 3111,  196,  203, 
    7470       976,  383,  974,  988, 1018, 1014, 1025, 1029, 1042,  253, 
    7471      3174, 3200, 3226, 1067, 1182, 1172, 3252,    0,  418,  288, 
    7472      1096, 3228, 3229, 3231, 3251, 3267, 3287, 3290, 1188, 1566, 
    7473       973,  740, 9159,  938,  866, 9159, 1268, 1178,  931, 1170, 
    7474      1241, 1299, 3354, 3381,    0,  903, 3408, 1148, 1116, 1177, 
    7475      1322, 1145,  410, 1415, 1235,  460, 1292, 1218, 1323, 1022, 
    7476  
    7477       963, 1520, 1662, 3418, 3430, 3440, 3450, 3460, 3470,  889, 
    7478      9159,  865, 9159, 9159, 9159, 9159, 9159, 1239,  853, 9159, 
    7479       846, 2472, 3480, 3490, 3500, 3510, 3520, 3530, 3545, 3555, 
    7480      3575, 9159, 3289, 3553, 3573, 3551, 3574, 3590, 3596, 3612, 
    7481      3628, 3634, 3635, 3655, 3671, 3651, 3687, 3688, 3696,  459, 
    7482      3728, 3736, 3740, 3784, 3868, 9159, 3780, 3776, 3807, 3811, 
    7483      3850, 3912, 3872, 3920, 3921, 1351, 9159, 3828, 4005, 4060, 
    7484      4095, 3904, 4063, 4069, 1258, 4096, 4104, 4126, 4134, 4156, 
    7485      4165, 4196, 4205, 1409, 9159, 4208, 4197, 1476, 9159, 4235, 
    7486      4241, 4257, 4261, 4273, 4284, 4293, 4305, 4309, 4332, 4336, 
    7487  
    7488      4353, 4316, 4359, 4362, 4384, 4407, 4385, 4416, 4423, 4448, 
    7489      4455, 4456, 4486, 4494, 4488, 4511, 4527, 4519, 4531, 4554, 
    7490      1498, 9159, 4552, 4575, 4584, 4587, 4607, 4610,  493,  529, 
    7491       551,  476, 1287,  816,  953, 1119, 1293,  841, 4678, 4704, 
    7492      4730, 1607, 1346, 1458, 4756, 1362, 1397, 4733, 4732, 4759, 
    7493      4627, 4768, 4817,  733, 1619, 1594, 1406,  728, 1537, 9159, 
    7494      1571, 1651, 1625, 1613, 4839, 4867, 4894, 1627, 1658, 1686, 
    7495      1714, 1394,    0, 1756, 1574,    0, 1668,  724, 1709,  724, 
    7496      1763, 1775, 9159, 9159,  708, 9159, 9159, 4904, 4916, 4926, 
    7497      4936, 4771, 4931, 5013, 4934, 5068, 5069, 5071, 5075, 5072, 
    7498  
    7499      5120, 5121, 5123, 1725, 5127, 5153, 5176, 1832, 5175, 5179, 
    7500      1458, 1493, 1739, 1516, 1519, 1873, 1592, 1739, 5201, 5224, 
    7501      5202, 5241, 5240, 5257, 5278, 5280, 5301, 5284, 5352, 9159, 
    7502      5351, 5346, 5349, 5353, 1802, 9159, 5355, 5385, 5401, 9159, 
    7503      5405, 5408, 5412, 5428, 5449, 5451, 5458, 5460, 5495, 5501, 
    7504      5531, 5527, 5539, 5571, 5564, 5575, 5591, 5602, 5623, 5614, 
    7505      5634, 5635, 5660,  693, 5666, 5667, 5692, 5703, 5715, 9159, 
    7506      5723, 5719, 5740, 5746,  846, 1103, 1234, 1788, 1768, 1386, 
    7507      1788, 1615, 1847, 1854,  236,  590, 1781, 1913,  715, 5809, 
    7508      1790, 1645, 2264, 9159, 5785, 5805, 1690, 5806, 5807, 2344, 
    7509  
    7510      9159, 1951, 1858, 1924, 2256,  679, 1930, 1879, 5870, 5880, 
    7511      5907, 5917, 1811,  658, 5946,  624,    0, 9159, 6034,    0, 
    7512         0,  613,  609, 9159,  604,  586, 2245, 2364, 2389, 9159, 
    7513      9159, 6063, 6118, 6139, 6138, 6134, 6135, 6141, 6161, 6173, 
    7514      6184, 6209, 6217, 1654, 6260, 6248, 6216, 1844, 1864, 6239, 
    7515      6280, 9159, 1689, 9159, 1930, 1750, 1763, 1934, 1933, 2077, 
    7516      6300, 6292, 6317, 6337, 6338, 6344, 6369, 6376, 2212, 9159, 
    7517      6360, 6413, 6392, 6412, 6424, 6433, 6456, 6435, 6465, 6476, 
    7518      6488, 6497, 6508, 6509, 6552, 6529, 6540, 6549, 6560, 6585, 
    7519      6593, 6605, 6628, 2392, 6636, 6637, 6648, 6659, 6694, 6685, 
    7520  
    7521      6686, 6775, 2286,  518, 2092, 2103, 1938, 2148, 2420, 2303, 
    7522       472,  442, 2196,    0, 1803, 6692, 6717, 6768, 6756, 2424, 
    7523      2334,  426,  422, 2432,  378, 1883, 6858, 6945, 6974,  337, 
    7524      9159, 1922, 9159,    0,  328, 9159,  314, 2481, 2510, 9159, 
    7525      6929, 6757, 7029, 7031, 7037, 7040, 7033, 7077, 7070, 7086, 
    7526      2264, 2842, 7093, 7097, 7118, 9159, 2372, 7129, 2384, 2060, 
    7527      2411, 2418, 2078, 2421, 2139, 7138, 7149, 7170, 7179, 7195, 
    7528      7201, 7227, 7234, 7236, 2483, 3160, 7259, 7257, 7279, 7280, 
    7529      7282, 7302, 7318, 2564, 7325, 7319, 7345, 7356, 7377, 7357, 
    7530      7368, 7388, 2513, 2467, 7400, 2603, 7389, 7425, 2468, 2371, 
    7531  
    7532      2235, 2479,  361,  296,  182, 7409, 7432, 2249, 7455,  622, 
    7533      2529,  227, 1008, 7505,    0,  207, 7482, 7503, 7505, 7514, 
    7534      7535, 7536, 7544, 9159, 2413, 2526, 7567, 7571, 2546, 7593, 
    7535      2547, 2562, 2567, 2526, 2575, 9159, 2526, 7587, 7625, 7594, 
    7536      7631, 7632, 7648, 7657, 7668, 3179, 3203, 2672, 3229, 3335, 
    7537      7684, 7688, 7709, 2597, 7705, 7725, 7732, 7736,  178, 7758, 
    7538      2596, 7775, 7769, 2619, 2617, 2641, 2696, 2668, 7795, 7801, 
    7539      7807, 2677, 2720, 3150, 7827, 7818, 7834, 7867, 7850, 2625, 
    7540      2685, 7870, 7890, 2688, 7859, 2699, 2731, 2741, 2661, 2665, 
    7541      9159, 7911, 7907, 7910, 7927, 7933, 7963, 2822, 3360, 3384, 
    7542  
    7543      3411, 4103, 4220, 7959, 2702, 7970, 7966, 2741, 7986, 2738, 
    7544      8003, 8019, 2758, 9159, 2765, 2781, 2809, 2818, 8030, 8026, 
    7545      2900, 2883, 2903, 2951, 8042, 8051, 2820, 2829, 8063, 8086, 
    7546      9159, 2838, 9159, 2846, 9159, 2846, 8088, 8090, 8113, 8134, 
    7547      3067, 4430, 2880, 8136,  175, 2911, 8125, 8156, 2877, 9159, 
    7548      1190, 2938, 2908, 8157, 3034, 3081, 3049, 3028, 8173, 2959, 
    7549      2985, 8189, 8182, 3029, 9159, 3039, 8205, 8212, 8214, 3241, 
    7550      4684, 3056, 8235, 3049, 9159, 3056, 3212, 3072,    0, 8237, 
    7551      1210, 3169, 3157,  144, 3103, 3103, 8257, 8260, 9159, 3110, 
    7552      8283, 3255, 4708, 3110, 8290,  123, 9159, 3235, 3207, 3329, 
    7553  
    7554      3387, 3558, 3232, 3256, 8306, 8313, 3278, 8315, 8396, 4870, 
    7555      3259, 8391, 3280, 3664,    0, 3349, 3414, 9159,  103, 9159, 
    7556      3346, 8392, 9159, 3745, 4900, 8473, 3347, 8450,   90, 1237, 
    7557      1328, 3570, 8470, 4973, 4977, 3380, 8471, 9159, 3676, 3645, 
    7558      9159, 9159, 3693, 3608, 3764, 3684, 3616, 1433, 3705, 3782, 
    7559      3810, 3774, 3875, 9159, 3852, 3697, 3910, 3892, 3896, 9159, 
    7560      9159, 8553, 8565, 8577, 8589, 8601, 8613, 8621, 8623, 8635, 
    7561      8647, 8659, 8671, 8678, 8687, 8699, 8711, 8723, 8735, 8747, 
    7562      8754, 8762, 8774, 8786, 8798, 8810, 8822, 8834, 8846, 8858, 
    7563      8870, 8882, 8894, 8906, 8918, 8930, 8942, 8954, 8966, 8978, 
    7564  
    7565      8990, 9002, 9014, 9026, 9038, 9050, 9062, 9074, 9086, 9098, 
    7566      9110, 9122, 9134, 9146 
     6981        0,   88,    0,    0,    0,    0,  984,   93,    0,   85, 
     6982        0,    0,  891,   64,   98,  103,   80,  129,   96,   99, 
     6983      134,  137,  145,  133,  168,  135,  249,  180,  318,  136, 
     6984      156,  172,  212,  239,  246,  297,  366,  341,  414,  461, 
     6985      247,  294,  398,  334,  407,  476,  506,  517,  459,  566, 
     6986      572,  522,  571,  367,  653,  226,  656,  658,  737,  638, 
     6987      785,  655,  698,  806,  652, 4012,  878, 4012,  241,  116, 
     6988      124,  455,  893,   59,   76,  229,  253,  256,    0,  122, 
     6989      127,  872, 4012,  157,  188,  869,  866,  327,  302,  349, 
     6990      740,  416, 4012,  768,  592, 4012, 4012,  981,  730,  147, 
     6991 
     6992      184,  438,  495,  328,  184,  190, 4012, 1048,  335,  969, 
     6993     4012, 4012,    0,  269,  315,  149,  319,  486,  462,  248, 
     6994      318,  325,  269,  426,  736,  336,  767,  470,  500,  518, 
     6995      512,  403,  516,  525,  535,  801,  544,  620,  565,  570, 
     6996      589,  768,  483,  589,  810,  592,  613,  638,  650,  664, 
     6997      678,  736,  737,  740,  741,  949,  736,  788,  646,  956, 
     6998      756,  999,  739,  753,  804,  749, 1043,  972,  962,  769, 
     6999      813,  963,  972,  969,    0, 1057,    0,  839,  238, 1044, 
     7000      986,  789,  956, 1030,  965,  429, 1109, 1136,  830, 4012, 
     7001     1061, 1087, 1091, 1162, 1188,  990, 1095, 1120, 1006, 1042, 
     7002 
     7003     1170, 1050, 1046,  823, 4012, 1201, 1099, 1115, 1190,  797, 
     7004      483, 4012,  790, 1167, 1100, 1194, 1269, 1358, 1255, 1254, 
     7005     1195, 1103, 1098,  625, 1148, 1163, 1217, 1237, 1222, 1238, 
     7006     1095, 1305, 1325, 1234, 4012, 1334, 1302, 1326, 1107, 1182, 
     7007      738,  735,  731,  730, 1244, 1166,  713, 1242, 4012, 1428, 
     7008     1374, 1389, 1419, 1244, 1252, 1261, 1263, 1192, 1266, 1301, 
     7009     1333, 1333, 1352, 1352, 1387, 1392, 1388, 1389, 1390, 1404, 
     7010     1401, 1405, 1407, 1404, 1506, 1471, 1417, 1476, 1430,    0, 
     7011     1422, 1437, 1442, 1432, 1484, 1440, 1454, 1497, 1444, 1448, 
     7012     1451, 1443, 1445, 1475, 1459, 1530, 1536, 1464, 1477, 1470, 
     7013 
     7014     1531, 1490, 1491, 1482, 1509, 1511,    0, 1526, 1513, 1519, 
     7015     1524, 1527, 1524, 1555, 1516, 1519, 1522, 1546, 1557, 1564, 
     7016     1558, 1565, 1555, 1557, 1562, 1561, 1615, 1573, 1575, 1573, 
     7017     1576, 1570, 1574, 1582, 1576,  719,  351,  666, 1572,  713, 
     7018     1580, 1587, 1584, 1593, 1589, 1596, 1608, 1658, 1684, 1710, 
     7019     1652, 1645, 1661, 1741, 1626, 1629, 1635, 1634, 1637, 1703, 
     7020     1653,  709, 1654, 1744,  707,  998, 4012, 1712, 1674, 1715, 
     7021     1664, 1708, 1725, 1738, 1749, 1622, 1684, 1379, 1672, 1735, 
     7022     1743, 1771, 1723, 1772, 1787, 1804, 1815, 1807, 1821,  656, 
     7023     4012,  646, 4012, 4012, 4012, 4012, 4012, 1735,  614, 4012, 
     7024 
     7025      613, 1849, 4012,    0, 1741, 1751,    0, 1796,    0, 1799, 
     7026     1799,    0, 1820, 1819, 1811, 1816, 1808, 1821,    0, 1826, 
     7027     1822, 1814, 1822, 1825, 1819, 1871, 1955, 4012, 1825, 1821, 
     7028     1837, 1830, 1829, 1850, 1823, 1844, 1899, 4012, 1836, 1909, 
     7029     4012, 1841, 2040, 1856, 1915, 1858, 1874, 1920, 4012, 1886, 
     7030     1872, 1878,    0, 1886, 1879, 1881, 1888, 1896, 1895, 1902, 
     7031     1967, 4012, 1897, 1906, 1971, 4012, 1900, 1912, 1906, 1915, 
     7032        0, 1980, 4012,    0, 1988,    0,    0, 1929, 1939, 1926, 
     7033     1933, 1936, 1946, 1939, 1953,    0,  602, 1949, 1958, 1955, 
     7034     1963,    0, 1960, 2063,    0,  598,    0,    0, 1985, 2064, 
     7035 
     7036     4012,    0, 1960,    0,    0, 2019, 2022, 2024, 2025, 4012, 
     7037      792,  880, 2030, 2023, 2043, 2043, 2041, 2042,  581, 2092, 
     7038     2118, 2144, 2079, 2080, 2084, 2170, 2045, 1005, 2060, 1022, 
     7039     2071, 2134, 2199,  574, 2082, 2174, 2108, 2147, 2148, 2101, 
     7040     2154, 2184, 2187, 2190, 2087,    0, 1422, 2144,    0, 2200, 
     7041      138, 2202,  571, 2221, 2233, 4012, 4012,  514, 4012, 4012, 
     7042     2174, 2192, 2051, 2289, 2080, 2193,    0, 2109, 2194, 2193, 
     7043     2199,    0, 2201, 2207, 2204, 2195, 2198, 2270, 2240, 2240, 
     7044     2215, 2229, 2246, 2239, 2258, 2275, 2258, 2276,    0, 2276, 
     7045        0, 2287, 2279, 2283, 2295, 2283, 2295, 2300, 2335, 4012, 
     7046 
     7047        0, 2293, 2342, 4012,    0,    0, 2294, 2293, 4012, 2316, 
     7048     2321,    0, 2297, 2323, 2312, 2319, 2335, 2334, 2327, 2337, 
     7049     2333, 2341, 2338,  197,  451, 2343, 2337, 2347,    0, 2348, 
     7050        0, 2335, 2355, 2355,  477, 2343, 2343, 2350, 2355, 2348, 
     7051     2275, 4012, 4012, 2349, 2351, 2404, 4012,    0,    0,    0, 
     7052     1140, 1249, 1797, 2376, 2082, 2379, 2366, 2432, 2263,  424, 
     7053      569, 2417, 2420,  499, 2486, 2384, 2087, 2385, 2427, 2389, 
     7054     2398, 2437, 4012, 2448, 2444, 2439, 2452,  479, 2451, 2431, 
     7055     2410, 2565, 2416,    0, 4012, 2653,    0,    0,  475,  445, 
     7056     4012,  441,  436, 2458, 2462, 2468, 4012, 4012, 2682, 2404, 
     7057 
     7058     2428,    0, 2441, 2444,    0, 2442, 2449, 2447, 2480, 2465, 
     7059     2479, 2553,    0, 2487, 2489,    0, 2493, 4012, 2486, 4012, 
     7060     2497, 2509, 2513, 2527, 2535, 2549, 2552, 2538, 2550, 2555, 
     7061     2548, 2562, 2552, 2559, 2604, 4012, 2572, 2480, 2561, 2568, 
     7062     2573, 2575, 2564,    0, 2569, 2578,    0,    0,    0,    0, 
     7063     2660, 2572,  508, 4012, 2583, 2594, 2591, 2650, 2664, 2658, 
     7064        0, 2536, 2663,    0,    0,    0, 2715, 2654,    0, 2539, 
     7065     2479, 2668, 2663, 2678, 2644, 2682,  426,  421, 2680, 2677, 
     7066     2540, 2686, 2701, 2720,  411,  365, 2721, 2790, 2691, 4012, 
     7067     2725, 4012,    0,  343, 4012,  307, 2753, 2755, 4012,    0, 
     7068 
     7069     2747, 2692, 2702, 2706,    0, 2707, 2709, 2719,    0, 2685, 
     7070     2776, 2708, 2732, 4012, 2748, 2737, 2773, 2763, 2773, 2780, 
     7071     2773, 2788, 2777, 2776, 2785, 2780, 2796, 2786,    0, 2797, 
     7072     2798, 2794, 2647, 2867, 2796, 2791,    0,    0,    0, 2795, 
     7073        0, 2845, 2798, 2801,    0, 2815, 2825,    0,    0,    0, 
     7074     2872, 2840, 2825, 2883, 2847, 2843, 2840, 2548, 2855,  827, 
     7075      303,  239, 2841, 2765, 2855, 1020, 2888,  288, 1687, 2861, 
     7076     2861,    0, 2851, 2861, 2850, 2855,    0, 2851, 2858, 2858, 
     7077     2856, 2863, 2873, 2862, 2878, 2870, 2882, 2880, 2881, 2888, 
     7078     4012, 2904, 2901, 2906, 2913, 2885, 2895,    0, 2903,    0, 
     7079 
     7080     2951, 2978, 2955, 2982, 2994,    0,    0, 2933, 2910, 2917, 
     7081        0,    0, 2923,  248, 2932, 2941, 2930, 2939, 2936, 2956, 
     7082     2998, 2964,    0, 2967, 3005, 3006, 3007, 2966, 2959,    0, 
     7083        0, 2960, 2979,    0, 2973, 2982, 2973, 2987, 2986, 3025, 
     7084     2983, 2989, 2995, 2978, 2978, 4012, 2985,    0, 2991,    0, 
     7085     2985, 3006, 3066, 3074, 3078, 3090, 3094, 3106,    0, 3009, 
     7086     3019,    0, 3041,    0, 3018, 3050, 3056, 4012, 3062, 3076, 
     7087     3056,    0, 3087, 3103, 3099, 3072, 3111,    0,    0, 3064, 
     7088     3080, 3075, 3079, 3124, 3125, 4012, 3082, 4012, 3085, 4012, 
     7089     3080, 3093,    0, 3096, 3104, 3152, 3171, 3113, 3118,  245, 
     7090 
     7091     3119,    0,    0, 4012, 1737,  184, 3142, 3141, 1922,    0, 
     7092     3181, 3186, 3115, 3122, 3127, 3111, 3122, 4012, 3128,    0, 
     7093     3129,    0, 3208, 3211, 3152, 3158, 3150, 4012, 3194, 3154, 
     7094     2097, 3179, 3201, 3224, 3231, 3169, 3153, 3159, 3179, 4012, 
     7095     3183, 3184, 3251, 3258, 3191, 3183,  207, 3229, 3207, 3237, 
     7096      194, 3233, 3261, 4012, 3209, 3200,    0, 3220, 3211,    0, 
     7097     3309, 3283, 3218, 3228, 3221, 3285, 3236, 3273,  142, 4012, 
     7098     3286, 4012, 3243, 3250, 4012, 3339, 3342, 3367, 3248, 3286, 
     7099      108, 2482,   40, 2606, 2838, 3273,    0, 3395, 3399, 3290, 
     7100        0, 4012, 3302, 3294, 3311, 3350, 4012, 4012, 3299, 3320, 
     7101 
     7102     3357, 3358, 3375, 3318, 3359, 3380, 3404, 3376, 3300, 3412, 
     7103     3362, 3363, 3370, 3415, 3418, 3423, 3420, 3426, 3433, 4012, 
     7104     3447, 4012, 3428, 3451, 4012, 3430, 3439, 3454, 3457, 4012, 
     7105     4012, 3521, 3534, 3547, 3560, 3573, 3586, 3595, 3608, 3621, 
     7106     3634, 3647, 3656, 3669, 3678, 3686, 3699, 3712, 3725, 3738, 
     7107     3751, 3764, 3777, 3790, 3803, 3816, 3829, 3842, 3855, 3868, 
     7108     3881, 3894, 3907, 3920, 3933, 3946, 3959, 3972, 3985, 3998 
    75677109    } ; 
    75687110 
    7569 static yyconst flex_int16_t yy_def[1215] = 
     7111static yyconst flex_int16_t yy_def[1171] = 
    75707112    {   0, 
    7571      1161,    1, 1162, 1162,    1,    2, 1163, 1163,    1,    2, 
    7572         1,    2, 1161, 1161, 1161, 1161, 1161, 1164, 1165, 1161, 
    7573      1161, 1166, 1167, 1161, 1161, 1161, 1161, 1161, 1161, 1168, 
    7574      1161, 1161, 1161, 1161, 1169, 1169,   36,   36,   36,   36, 
    7575        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7576        36,   36, 1161, 1161,   53, 1170, 1161,   36,   36,   36, 
    7577        36,   36,   36, 1161, 1171, 1161, 1171, 1171, 1171, 1161, 
    7578      1161, 1172, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7579      1164, 1164, 1164, 1165, 1161, 1165, 1165, 1166, 1161, 1166, 
    7580      1166, 1167, 1173, 1167, 1161, 1167, 1167, 1161, 1161, 1161, 
    7581  
    7582      1174, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1175, 
    7583      1161, 1161, 1161,   36,   36,   36,   36,   36,   36,   36, 
    7584        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7585      1169,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7586        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7587        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7588        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7589        36,   36,   53,  173, 1176, 1161, 1161, 1161, 1161, 1161, 
    7590      1161, 1161,  173, 1161,  173, 1161, 1170, 1161, 1170, 1170, 
    7591      1170, 1161, 1161, 1177,   36,   36,   36,   36,   36,   36, 
    7592  
    7593        36, 1171, 1161, 1171, 1171, 1171, 1171, 1178, 1179, 1179, 
    7594      1161, 1179, 1179, 1179, 1180, 1179, 1161,  217,  217,  217, 
    7595       217,  217, 1161, 1161, 1161, 1164, 1164, 1165, 1165, 1166, 
    7596      1166, 1173, 1173, 1173, 1173, 1161, 1167, 1167, 1161, 1161, 
    7597      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7598      1161, 1161, 1181, 1161, 1161, 1161, 1161, 1161,   36,   36, 
    7599        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7600        36,   36,   36,   36,   36, 1182,  131,   36,   36,   36, 
    7601        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7602        36, 1161,   36, 1161, 1161,   36,   36,   36,   36,   36, 
    7603  
    7604        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7605        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7606        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7607        36,   36,   36,   36,   36,   36,   36,   36,  173,  173, 
    7608      1161,  173, 1176, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7609       185, 1161, 1161, 1170, 1170, 1170, 1161, 1177, 1177, 1177, 
    7610      1177,   36,   36,   36,   36,   36,   36,   36, 1171, 1171, 
    7611      1183, 1183, 1161, 1179, 1179, 1161, 1179, 1179, 1180, 1180, 
    7612      1180, 1180, 1179, 1179,  217,  217, 1179,  217,  217,  217, 
    7613       217, 1161, 1161, 1161, 1164, 1164, 1165, 1165, 1166, 1166, 
    7614  
    7615      1173, 1167, 1167, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7616      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7617      1161, 1181, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7618      1161, 1161,   36,   36,   36,   36,   36,   36,   36,   36, 
    7619        36,   36,   36,   36,   36,   36,   36,   36,   36, 1161, 
    7620        36,   36,   36,   36, 1161, 1161,   36,   36,   36,   36, 
    7621        36,   36,   36,   36,   36, 1161, 1161,   36, 1161,   36, 
    7622        36,   36,   36,   36, 1161,   36,   36,   36,   36,   36, 
    7623        36,   36,   36, 1161, 1161,   36,   36, 1161, 1161,   36, 
    7624        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7625  
    7626        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7627        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7628      1161, 1161,   36,   36,   36,   36,   36,   36,  173,  173, 
    7629       173, 1161, 1161, 1161, 1161, 1161, 1161, 1161,  185, 1161, 
    7630      1161, 1170, 1170, 1170, 1161, 1177, 1177,   36,   36,   36, 
    7631        36,   36,   36, 1161, 1171, 1171, 1171, 1183, 1183, 1161, 
    7632      1179, 1179, 1180, 1180, 1179, 1179, 1179,  217,  217,  217, 
    7633       217, 1161, 1184, 1161, 1164, 1185, 1165, 1186, 1187, 1188, 
    7634      1189, 1190, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7635      1161,   36,   36, 1161,   36,   36,   36,   36,   36,   36, 
    7636  
    7637        36,   36,   36, 1161,   36,   36,   36, 1161,   36,   36, 
    7638      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,   36,   36, 
    7639        36,   36,   36,   36,   36,   36,   36,   36,   36, 1161, 
    7640      1161,   36,   36,   36, 1161, 1161,   36,   36,   36, 1161, 
    7641        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7642        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7643        36,   36,   36, 1161,   36,   36,   36,   36,   36, 1161, 
    7644        36,   36,   36,   36,  173,  173,  173, 1161, 1161, 1161, 
    7645      1161, 1161, 1161,  173, 1161, 1161, 1170, 1170, 1191, 1161, 
    7646      1177, 1192, 1161, 1161,   36,   36, 1161,   36,   36, 1161, 
    7647  
    7648      1161, 1161, 1171, 1171, 1179, 1193, 1180, 1194, 1179, 1179, 
    7649      1179, 1179,  217,  217, 1161,  217, 1195, 1161, 1161, 1196, 
    7650      1197, 1198, 1199, 1161, 1200, 1201, 1202, 1203, 1203, 1161, 
    7651      1161, 1161,   36, 1161,   36,   36,   36,   36,   36,   36, 
    7652        36,   36,   36, 1161,   36,   36,   36, 1161, 1161,   36, 
    7653        36, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7654        36,   36,   36,   36,   36,   36,   36,   36, 1161, 1161, 
    7655        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7656        36,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7657        36,   36,   36, 1161,   36,   36,   36,   36,   36,   36, 
    7658  
    7659        36, 1161,  802,  802, 1161, 1161, 1161, 1161,  802, 1204, 
    7660      1205, 1204, 1206, 1207, 1207,   36,   36,   36,   36, 1208, 
    7661      1208, 1209, 1210, 1211, 1212, 1212, 1161, 1210, 1161,  829, 
    7662      1161, 1161, 1161, 1197, 1199, 1161, 1201, 1203, 1203, 1161, 
    7663      1161,   36,   36,   36,   36,   36,   36,   36,   36,   36, 
    7664      1161, 1161,   36,   36,   36, 1161, 1161,   36, 1161, 1161, 
    7665      1161, 1161, 1161, 1161, 1161,   36,   36,   36,   36,   36, 
    7666        36,   36,   36,   36, 1161, 1213,   36,   36,   36,   36, 
    7667        36,   36,   36, 1161,   36,   36,   36,   36,   36,   36, 
    7668        36,   36, 1161, 1161,   36, 1161,   36,   36, 1161, 1161, 
    7669  
    7670      1161, 1161, 1204, 1204, 1206,   36,   36, 1161,   36, 1208, 
    7671      1208, 1210, 1211, 1210,  829,  829,   36,   36,   36,   36, 
    7672        36,   36,   36, 1161, 1161, 1161,   36,   36, 1161,   36, 
    7673      1161, 1161, 1161, 1161, 1161, 1161, 1161,   36,   36,   36, 
    7674        36,   36,   36,   36,   36, 1213, 1213, 1161, 1214, 1213, 
    7675        36,   36,   36, 1161,   36,   36,   36,   36, 1161,   36, 
    7676      1161,   36,   36, 1161, 1161, 1161, 1204, 1206,   36,   36, 
    7677        36, 1208, 1208, 1211,   36,   36,   36,   36,   36, 1161, 
    7678      1161,   36,   36, 1161,   36, 1161, 1161, 1161, 1161, 1161, 
    7679      1161,   36,   36,   36,   36,   36,   36, 1161, 1214, 1214, 
    7680  
    7681      1213, 1214, 1214,   36, 1161,   36,   36, 1161,   36, 1161, 
    7682        36,   36, 1161, 1161, 1161, 1204, 1206, 1206,   36,   36, 
    7683      1208, 1208, 1211, 1211,   36,   36, 1161, 1161,   36,   36, 
    7684      1161, 1161, 1161, 1161, 1161, 1161,   36,   36,   36,   36, 
    7685      1161, 1213, 1161,   36, 1161, 1161,   36,   36, 1161, 1161, 
    7686      1204, 1206, 1206,   36, 1208, 1208, 1211, 1211,   36, 1161, 
    7687      1161,   36,   36, 1161, 1161, 1161,   36,   36,   36, 1161, 
    7688      1213, 1161,   36, 1161, 1161, 1161, 1204, 1206, 1206,   36, 
    7689      1208, 1208, 1211, 1211, 1161, 1161,   36,   36, 1161, 1161, 
    7690        36, 1161, 1213, 1161,   36, 1161, 1161, 1204, 1206, 1208, 
    7691  
    7692      1208, 1211, 1161, 1161,   36,   36, 1161,   36, 1161, 1213, 
    7693      1161,   36, 1161, 1204, 1206, 1208, 1208, 1161, 1211, 1161, 
    7694      1161,   36, 1161, 1161, 1213, 1213, 1161,   36, 1161, 1204, 
    7695      1208, 1161,   36, 1213, 1214, 1161,   36, 1161, 1204, 1208, 
    7696      1161, 1161, 1204, 1208, 1204, 1208, 1204, 1208, 1204, 1208, 
    7697      1204, 1208, 1204, 1161, 1208, 1208, 1208, 1208, 1208, 1161, 
    7698         0, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7699      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7700      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7701      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7702  
    7703      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7704      1161, 1161, 1161, 1161 
     7113     1131,    1, 1132, 1132,    1,    2, 1133, 1133,    1,    2, 
     7114        1,    2, 1131, 1131, 1131, 1131, 1134, 1135, 1131, 1131, 
     7115     1136, 1137, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7116     1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 
     7117     1138, 1138, 1138, 1138, 1138,   40, 1138, 1138, 1138, 1138, 
     7118     1138, 1138, 1138, 1138, 1131, 1131,   55, 1139, 1131,   37, 
     7119     1138, 1138, 1138, 1138, 1138, 1131, 1140, 1131, 1140, 1140, 
     7120     1140, 1141, 1131, 1131, 1131, 1131, 1131, 1131, 1134, 1134, 
     7121     1134, 1135, 1131, 1135, 1135, 1136, 1131, 1136, 1136, 1137, 
     7122     1142, 1137, 1131, 1137, 1137, 1131, 1131, 1131, 1143, 1131, 
     7123 
     7124     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1144,   29, 1131, 
     7125     1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7126     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7127     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7128     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7129     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7130     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7131     1138, 1138, 1138, 1138, 1145,   55,  176, 1146, 1131, 1131, 
     7132     1131, 1131, 1131, 1131, 1131, 1131,  176, 1131, 1139, 1131, 
     7133     1139, 1139, 1139, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 
     7134 
     7135     1138, 1138, 1138, 1140, 1131, 1140, 1140, 1140, 1140, 1147, 
     7136     1147, 1131, 1147, 1147, 1147, 1147, 1148, 1148,  218,  218, 
     7137      218, 1131, 1131, 1131, 1134, 1134, 1135, 1135, 1136, 1136, 
     7138     1142, 1142, 1142, 1142, 1131, 1137, 1137, 1131, 1131, 1131, 
     7139     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1144, 
     7140     1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7141     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7142     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7143     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1138, 1138, 
     7144     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7145 
     7146     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7147     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7148     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7149     1138, 1138, 1138, 1138, 1138, 1145,  176,  176, 1131, 1146, 
     7150     1131, 1131, 1131, 1131, 1131, 1131, 1131,  187, 1131, 1131, 
     7151     1139, 1139, 1139, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 
     7152     1138, 1138, 1140, 1140, 1147, 1147, 1131, 1147, 1147, 1147, 
     7153      218,  218,  218,  218,  218, 1131, 1131, 1131, 1134, 1134, 
     7154     1135, 1135, 1136, 1136, 1142, 1137, 1137, 1131, 1131, 1131, 
     7155     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7156 
     7157     1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7158     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7159     1138, 1138, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 
     7160     1138, 1138, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1131, 
     7161     1131, 1138, 1149, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 
     7162     1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7163     1131, 1131, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 
     7164     1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7165     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7166     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 
     7167 
     7168     1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 
     7169      176,  176, 1131, 1131, 1131, 1131, 1131, 1131, 1131,  187, 
     7170     1131, 1131, 1139, 1139, 1139, 1131, 1131, 1138, 1138, 1138, 
     7171     1138, 1138, 1138, 1131, 1140, 1140, 1140, 1147, 1147, 1147, 
     7172      218,  218,  218,  218, 1131, 1150, 1131, 1134, 1151, 1135, 
     7173     1152, 1136, 1153, 1137, 1154, 1131, 1131, 1131, 1131, 1131, 
     7174     1138, 1138, 1138, 1155, 1138, 1138, 1138, 1138, 1138, 1138, 
     7175     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1138, 1138, 
     7176     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 
     7177     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 
     7178 
     7179     1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1131, 1138, 
     7180     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7181     1138, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 
     7182     1138, 1138, 1138, 1138, 1131, 1138, 1138, 1138, 1138, 1138, 
     7183     1131, 1131, 1131, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 
     7184      176,  176, 1131, 1131, 1131, 1131, 1131, 1131,  176, 1131, 
     7185     1131, 1139, 1139, 1156, 1131, 1131, 1131, 1138, 1131, 1138, 
     7186     1138, 1131, 1131, 1131, 1140, 1140, 1147, 1157, 1147,  218, 
     7187      218, 1158,  218, 1159, 1131, 1131, 1160, 1134, 1161, 1135, 
     7188     1131, 1162, 1136, 1163, 1137, 1137, 1131, 1131, 1164, 1138, 
     7189 
     7190     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7191     1138, 1138, 1138, 1131, 1131, 1138, 1138, 1131, 1131, 1131, 
     7192     1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 
     7193     1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 
     7194     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7195     1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 
     7196     1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138,  176, 
     7197      176, 1131, 1131, 1131,  176, 1139, 1165, 1139, 1131, 1138, 
     7198     1138, 1138, 1140, 1140, 1166, 1147, 1147, 1167,  218, 1131, 
     7199     1131, 1131, 1134, 1135, 1131, 1136, 1137, 1137, 1131, 1138, 
     7200 
     7201     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7202     1131, 1138, 1138, 1131, 1131, 1138, 1131, 1131, 1131, 1131, 
     7203     1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7204     1138, 1138, 1131, 1168, 1138, 1138, 1138, 1138, 1138, 1138, 
     7205     1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7206     1131, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 1131, 1139, 
     7207     1139, 1131, 1138, 1131, 1138, 1140, 1140, 1147, 1147,  218, 
     7208     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 
     7209     1131, 1138, 1138, 1131, 1138, 1131, 1131, 1131, 1131, 1131, 
     7210     1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7211 
     7212     1168, 1168, 1131, 1169, 1168, 1138, 1138, 1138, 1131, 1138, 
     7213     1138, 1138, 1138, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 
     7214     1139, 1131, 1138, 1138, 1140, 1140, 1147, 1138, 1138, 1138, 
     7215     1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1131, 1138, 
     7216     1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 
     7217     1138, 1138, 1131, 1169, 1169, 1168, 1169, 1169, 1138, 1131, 
     7218     1138, 1138, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 1139, 
     7219     1131, 1138, 1140, 1140, 1147, 1138, 1138, 1138, 1138, 1131, 
     7220     1131, 1138, 1138, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7221     1131, 1138, 1138, 1138, 1138, 1131, 1168, 1131, 1138, 1131, 
     7222 
     7223     1131, 1138, 1138, 1131, 1139, 1131, 1140, 1140, 1147, 1138, 
     7224     1131, 1131, 1131, 1131, 1138, 1138, 1131, 1131, 1131, 1138, 
     7225     1138, 1138, 1131, 1168, 1131, 1138, 1131, 1131, 1139, 1131, 
     7226     1140, 1140, 1147, 1131, 1131, 1131, 1131, 1138, 1138, 1131, 
     7227     1131, 1138, 1131, 1168, 1131, 1138, 1131, 1139, 1131, 1140, 
     7228     1170, 1147, 1131, 1131, 1131, 1131, 1138, 1138, 1131, 1138, 
     7229     1131, 1168, 1131, 1138, 1131, 1139, 1131, 1140, 1170, 1131, 
     7230     1147, 1131, 1131, 1138, 1131, 1131, 1168, 1168, 1131, 1138, 
     7231     1131, 1139, 1131, 1140, 1147, 1131, 1138, 1168, 1169, 1131, 
     7232     1138, 1131, 1139, 1131, 1140, 1147, 1131, 1131, 1139, 1131, 
     7233 
     7234     1140, 1147, 1139, 1131, 1140, 1147, 1139, 1131, 1140, 1147, 
     7235     1139, 1131, 1140, 1147, 1139, 1131, 1140, 1147, 1139, 1131, 
     7236     1131, 1131, 1140, 1147, 1131, 1140, 1140, 1140, 1140, 1131, 
     7237        0, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7238     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7239     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7240     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131 
    77057241    } ; 
    77067242 
    7707 static yyconst flex_int16_t yy_nxt[9249] = 
     7243static yyconst flex_int16_t yy_nxt[4102] = 
    77087244    {   0, 
    7709        14,   15,   16,   17,   18,   19,   14,   20,   21,   22, 
    7710        23,   24,   25,   26,   25,   27,   25,   28,   29,   30, 
    7711        30,   30,   30,   30,   30,   30,   30,   30,   30,   25, 
     7245       14,   15,   16,   15,   17,   18,   14,   19,   20,   21, 
     7246       22,   23,   24,   25,   24,   26,   24,   27,   28,   29, 
     7247       29,   29,   29,   29,   29,   29,   29,   29,   29,   30, 
    77127248       31,   32,   33,   34,   35,   36,   37,   38,   39,   40, 
    77137249       41,   42,   43,   42,   42,   44,   45,   46,   47,   48, 
    7714        42,   49,   50,   51,   42,   42,   52,   42,   42,   42, 
    7715        25,   25,   42,   35,   36,   37,   38,   39,   40,   41, 
     7250       42,   49,   50,   51,   52,   42,   53,   42,   42,   54, 
     7251       24,   24,   42,   35,   36,   37,   38,   39,   40,   41, 
    77167252       42,   43,   42,   44,   45,   46,   47,   48,   42,   49, 
    7717        50,   51,   42,   42,   52,   42,   42,   42,   14,   53, 
    7718        54,   55,   56,   71,   67,   66,   67,   68,   76,   77, 
    7719  
    7720        78,  203, 1138,   74,   72,  211,  206,   57,   57,   57, 
    7721        57,   57,   57,   57,   57,   57,   57,   75,   79,   77, 
    7722        79,   79,   77,   79,   58,   59,   82,   73,   60,   85, 
    7723        61,   69,   74,   78,   77,   80,   74,   74,   74, 1113, 
    7724        83,   62,   63,  176,   89,   75,  211,   74,   99,  176, 
    7725        75,   75,   75,   58,   59,   82,   73,   60,  224,   61, 
    7726        69,   75,  115,   86,  203,   74,   74,   74,   83,   62, 
    7727        63,   74,   98,   74,   74,   93,   74,   87,   75,   75, 
    7728        75,   90,   94,   95,  109,   75,  224,   75,   75,   75, 
    7729      1074,  115,   86,   74, 1008,   91,  110,  529,  223,  530, 
    7730  
    7731        74,  226,   74,   74,  531,   87,  530,   75,  227,  207, 
    7732        90,   74,   96,   75,   74,   75,   75,   74,   74,   74, 
    7733       115,  346,   74,   91,  387,   75,   97,  223,   75,  211, 
    7734       226,   75,   75,   75,  142,   75,  227,  207,  115,  176, 
    7735        74,   96,  161,   74,  968,  176,   74,   74,   74,  115, 
    7736       346,  203,  112,   75,   97,  100,   75,  100,   74,   75, 
    7737        75,   75,  142,   76,   77,   78,  410,  115,  204,  203, 
    7738       204,  161,   75,  101,  101,  101,  101,  101,  101,  101, 
    7739       101,  101,  101,   85,  115,  115,  370,   74,  102,  143, 
    7740       115,  538,  103,   74,  104,  410,  144,  145,  188,  105, 
    7741  
    7742        75,  106,  107,  201,  146,  205,   89,   75,   79,   77, 
    7743        79,  108,  228,  115,  115,  370,   89,  102,  143,  115, 
    7744       538,  103,   74,  104,  144,  145,   85,  105,  546,  106, 
    7745       107,  201,  146,   85,  205,   75,   78,   77,   78,  108, 
    7746       113,  228,  114,  114,  114,  114,  114,  114,  114,  114, 
    7747       114,  114,  115,  115,  387,  231,  129,  546,  116,  117, 
    7748       130,  138,  118,  188,  139,  242,  131,  140,  119,  243, 
    7749       132,  250,  229,  141,   89,  120,  121,  225,   77,  225, 
    7750       211,  115,  115,  231,  531,  129,  530,  116,  117,  130, 
    7751       138,  118,  139,  242,  131,  140,  119,  243,  132,  250, 
    7752  
    7753       229,  141,  251,  120,  121,  113,  230,  114,  114,  114, 
    7754       114,  114,  114,  114,  114,  114,  114,  347,  124,  359, 
    7755       115,  359,  122,  967,  211,  125,  147,  118,  211,  126, 
    7756       251,  133,  127,  134,  148,  230,  135,  136,  150,  203, 
    7757       149,  123,  128,  137,  188,  347,  151,  124,  573,  115, 
    7758       348,  122,  152,  350,  125,  147,  118,  126,  153,  133, 
    7759       127,  134,  157,  148,  135,  136,  168,  150,  149,  123, 
    7760       128,  137,  115,  169,  188,  151,  158,  573,  348,  159, 
    7761       152,  350,  160,  170,  207,  154,  153,  155,  244,  162, 
    7762       387,  157,  156,  163,  675,  168,  676,  164,  576,  115, 
    7763  
    7764       604,  115,  169,  245,  158,  165,  171,  159,  166,  167, 
    7765       160,  170,  207,  154,  678,  155,  172,  244,  162,  804, 
    7766       156,  389,  163,   78,   77,   80,  164,  576,  115,  604, 
    7767       677,  245,  676,  165,   93,  171,  166,  167,  183,  184, 
    7768       185,   94,   95,  678,  172,  173,   77,  174,  175,  389, 
    7769       188,  392,  677,  176,  676,  189,  186,  186,  186,  186, 
    7770       186,  186,  186,  186,  186,  186,   79,   77,   79,   93, 
    7771        79,   77,   79,   79,   77,   79,   94,   95,  115,  392, 
    7772       177,  178,  208,   74,  179,  208,  180,  190,   89,  198, 
    7773       248,  188,  142,  176,  233,  234,  233,  181,  182,  176, 
    7774  
    7775       249,  191,  235,  236,  224,  208,   89,  115,  208,  177, 
    7776       178,  349,   74,  179,   85,  180,  190,  198,  836,  248, 
    7777       142,  210,  211,  210,  203,  181,  182,  211,  249,  191, 
    7778       192,  194,  224,  212,  208,   93,  176,  208,  387,  349, 
    7779       356,  387,   94,   95,  110,  188,  193,  193,  193,  193, 
    7780       193,  193,  193,  193,  193,  193,  197,  391,  195,  213, 
    7781       129,  372,  373,  372,  130,  125,   74,  237,  356,  126, 
    7782       131,  188,  196,  214,  132,  387,  378,  354,  115,  203, 
    7783        75,  211,  128,  143,  972,  197,  391,  195,  213,  129, 
    7784       144,  199,  168,  130,  125,   74,  237,  126,  131,  169, 
    7785  
    7786       196,  214,  132,  355,  378,  393,  354,  115,   75,  170, 
    7787       128,  369,  143,  375,  376,  375,  200,  188,  144,  199, 
    7788       794,  168,  394,   77,  394,  731,   89,  234,  169,  724, 
    7789       373,  234,  355,  393,  401,  236,  554,  170,  401,  236, 
    7790       369,  559,  560,  559,  200,  209,  210,  211,  210,  209, 
    7791       209,  209,  215,  209,  209,  209,  209,  209,  209,  209, 
    7792       209,  209,  216,  209,  217,  217,  217,  217,  217,  217, 
    7793       217,  217,  217,  217,  209,  209,  209,  209,  209,  195, 
    7794       218,  218,  218,  218,  219,  218,  125,  218,  218,  218, 
    7795       220,  218,  218,  196,  218,  218,  218,  218,  221,  218, 
    7796  
    7797       218,  218,  218,  222,  218,  209,  209,  218,  195,  218, 
    7798       218,  218,  218,  219,  218,  125,  218,  218,  220,  218, 
    7799       218,  196,  218,  218,  218,  218,  221,  218,  218,  218, 
    7800       218,  222,  218,  209,   93,  239,  240,  246,  204,  203, 
    7801       204,   94,   95,  395,  554,  396,  211,  802,  241,  803, 
    7802       680,  110,  247,  111,  111,  111,  111,  111,  111,  111, 
    7803       111,  111,  111,  587,  239,  240,  246,  375,  376,  375, 
    7804       586,  395,  339,  396,  340,  205,  241,  258,  377,  680, 
    7805       247,  387,  584,  238,  257,  257,  257,  257,  257,  257, 
    7806       257,  257,  257,  257,  115,   85,  115,  261,  388,  115, 
    7807  
    7808       115,  115,  115,  268,  205,  115,  583,  377,  115,   89, 
    7809      1161,  238,  100,  115,  100,  115,  115,   85,  259,  115, 
    7810       387,  387,  115,  115,  341,  115,  261,  388,  115,  115, 
    7811       115,  115,  268,  211,  115,  397,  419,  115,   89, 1161, 
    7812       211,  115,  421,  115,  115,  102,  259,  115,  115,  103, 
    7813       115,  104,  341,  115,  411,  390,  105,  450,  106,  107, 
    7814       417,  400,  260,  397,  419,  234,  398,  115,  108,  294, 
    7815       421,  294,  401,  236,  102,  373,  188,  115,  103,  295, 
    7816       104,  399,  115,  390,  105,  450,  106,  107,  681,  400, 
    7817       260,  420,  412,  418,  398,  115,  108,  253,  253,  253, 
    7818  
    7819       253,  253,  253,  253,  253,  253,  253,  115,  264,  399, 
    7820       211,  416,  115,  115,  115,  254,  255,  681,  262,  115, 
    7821       412,  418,  263,  415,   89,  265,  115,  115,  256,  414, 
    7822       233,  234,  233,  115,  349,  258,  115,  264,  235,  236, 
    7823       532,  115,  115,  115,  254,  255,  262,  115,  115,  266, 
    7824       413,  263,  115,  265,  115,  115,  256,  344,  115,  387, 
    7825       580,  115,  349,  115,  211,  533,  115,  534,  532,  188, 
    7826       974,  345,  115,  535,  211,  265,  115,  115,  266,  115, 
    7827       203,  115,  536,  115,  115,  188,  344,  115,  115,  580, 
    7828       267,  537,  115,  533,  115,  534,  342,  269,  115,  345, 
    7829  
    7830       115,  535,  115,  265,  804,  115,  803,  542,  115,  115, 
    7831       536,  188,  115,  115,  115,  342,   93,  115,  267,  537, 
    7832        89,  270,  271,   94,   95,  269,  115,  272,  115,  115, 
    7833       115,  273,  274,  387,  115,  115,  542,  115,  115,  292, 
    7834       115,  292,  547,  115,  233,  234,  233,  275,  115,  270, 
    7835       271,  115,  235,  236,  115,  272,  115,  682,  115,  402, 
    7836       273,  274,   89,  115,  115,  387,  115,   85,  569,  115, 
    7837       547,  380,  211,  380,  188,  275,  115,  203, 1161,  115, 
    7838       211,   93,  115,  276,  188,  276,  682,  402,   94,   95, 
    7839       203,  475,  188,  568,  387,  115,  569,  572,   70,  113, 
    7840  
    7841       115,  277,  277,  277,  277,  277,  277,  277,  277,  277, 
    7842       277,  115,  203,  281,  115,  115,  115,   66,  282,  475, 
    7843       115,  568,  280,   85,  115,  572,  544,  543,  555,  115, 
    7844       115,  570,  562,  403,  115,  804,  278,  803,  279,  188, 
    7845       115,  281,  115,  211,  115,  115,  115,  282,  115,  115, 
    7846       280,  115, 1077,  115,  544,  543,  578,  555,  115,  570, 
    7847       562,  403,  115,  284,  278,  115,  279,  115,  283,  115, 
    7848       211,  115, 1100,  115,  115,  115,  115,  115,  115,  285, 
    7849       115,  563,  115,  289,  288,  578,  286,  575,  115, 1161, 
    7850       287,  284,  115,  115,  585,  115,  283,   85,  115, 1139, 
    7851  
    7852       115,  211,  115,  115,  115,  115,  640,  115,  285,  115, 
    7853       563,  289,  288,  561,  286,  575,  115,  292,  287,  292, 
    7854       115,  290,  585,  115,  115,   89,  294,  115,  294,  115, 
    7855       203,  683,  115,  115,  640, 1161,  295,  291,  115,  387, 
    7856       679,  561,  296,  115,  577,  564,  115, 1161,  188,  290, 
    7857       115,  115,  466,  115,  466,  115,  115,  115,  115,  261, 
    7858       683,  115,  115,  301,  115,  291, 1161,  571,  679,  293, 
    7859       296,  115,  577,  564,  115,  579,  115, 1161,  115,  115, 
    7860       115, 1161,  297,  467,  115,  115,  115,  697,  261,  697, 
    7861      1140,  115,  301,  115,  298,  571,  299,  293,  688,  300, 
    7862  
    7863       115, 1161,  115,  579,  115,  115,  115,  115,  203,  115, 
    7864       484,  297,  484,  691,  115,  303,  574,   77,  574,  115, 
    7865       485,  115,  298,  302,  299,  115,  688,  300,  304,  115, 
    7866       115,  115,  717,  115,  115,  203,  115,  115,  115, 1161, 
    7867      1161,  691,  115,  303,  115,  305,  692,  115, 1161,  115, 
    7868       306,  302,  115,  704,  115, 1161,  115,  304, 1161,  115, 
    7869       188,  717,  115,  115,  115, 1161,  115,  115,  115,  115, 
    7870      1161,  115,  115,  305,  692,  308,  307,  488,  306,  488, 
    7871       115,  704,  115,  115,  115, 1161,  115,  489, 1161,  115, 
    7872       310,  115,  115,  115,  115, 1150,  689,  115,  115,  521, 
    7873  
    7874       309,  521, 1161,  308,  307,  311,  752, 1161,  115,  522, 
    7875       115,  115,  115,  239,  240,  115,  115,  115,  115,  310, 
    7876       115,  115,   93,  115,  315,  689,  241, 1161,  309,   94, 
    7877        95,  312,  115,  311,  752,  115,  115,  115,  559,  560, 
    7878       559,  115,  239,  240, 1161,  115,  115,  753, 1161,  313, 
    7879       115,  115,  314,  315,  241,  115,  318,  115, 1161,  312, 
    7880       115,  115,  115,  115,  755,  316,  115,  556,  203,  556, 
    7881       756,  317,  581,  211,  115,  753,  115,  313, 1161,  115, 
    7882       314,  359,  115,  359,  115,  318,  115,  115,  319,  115, 
    7883       320,  115,  755,  115,  316,  556,  203,  556,  756,  317, 
    7884  
    7885       581,  115,  115,  324,  115, 1161,  321,  322,  557,  188, 
    7886       323,  115,  720,  115,  360,  211,  115,  319,  115,  320, 
    7887       115,  203,  115,  705,  325,  115,  326,  211,  361,  115, 
    7888      1161,  324,  115,  327,  321,  322,  557,  557,  323,  115, 
    7889       115,  720,  115,  360,  387,  115,  815,  115,  815,  115, 
    7890       759,  705,  325,  211,  115,  326,  361,  328,  687,  115, 
    7891       115,  327,  708,  329,   93,  557,  808,  115,  115,  115, 
    7892       703,   94,   95,   85,  115,  387,  707,  330,  759,  713, 
    7893       265, 1161,  115,  115,  331,  328,  687,  115,  115,  706, 
    7894       708,  697,  329,  697,  808,  332,  714,  115,  703,  851, 
    7895  
    7896       582, 1161,  115,  387,  707,  330,  722,  713,  265,  115, 
    7897       115,   89,  115,  331,  115,  115, 1161,  115,  706,  335, 
    7898       115, 1161,  333,  332,  715,  714,  334,  851,  115,  582, 
    7899       115,  387,  115, 1161,  115,  722,  859,  115,  115, 1161, 
    7900       336,  115, 1161,  115,  115,  337,  115,  725,  335,  115, 
    7901       333,  115,  716,  715,  334, 1161,  115,  719,   77,  719, 
    7902       115,  115,  115,  115,  859,   93,  115,  744,  115,  336, 
    7903       115,  338,   94,   95,  337,  115,  725,   93,  754,  115, 
    7904       760,  716,  115,  188,  729,  730, 1161, 1161,  115,  693, 
    7905      1161,  693,  115,  342,  184,  351,  744,  115,  861,  694, 
    7906  
    7907       338,  727,  806,  635,  815,  635,  815,  754,  862,  760, 
    7908       115,  352,  352,  352,  352,  352,  352,  352,  352,  352, 
    7909       352,  353,  807,  810, 1161,  805,  861,  176,  387, 1161, 
    7910       727,  806,  813,  608,  636,  608,  862,  352,  352,  352, 
    7911       352,  352,  352,  352,  352,  352,  352,  353,  700,  827, 
    7912       700,  807,  810,  176,  805,  804,  184,  809,  701, 1161, 
    7913       203,  813,  702,  352,  352,  352,  352,  352,  352,  352, 
    7914       352,  352,  352,  353,  748,  380,  211,  380,  827,  176, 
    7915       826,  211,  826,  856,  826,  211,  826,  110,  749,  357, 
    7916       357,  357,  357,  357,  357,  357,  357,  357,  357,  115, 
    7917  
    7918       820,  115,  115,  748,  115,  857,  115,  115,  381, 1161, 
    7919       267,  757,  856,  270,  363,  188,  749,  362,  115,  272, 
    7920       115,  364,  382,  832,   77,  832,  203,  758,  115,  820, 
    7921       115,  115,  211,  115,  857,  115,  115,  381,  267,  115, 
    7922       757,  270,  363, 1161,  115,  362,  115,  272,  115,  364, 
    7923       382,  811,  702,  365,  702,  758,  115, 1161,  115,  115, 
    7924       115,  115,  297,  368,  115,  115,  702,  860,  115,  863, 
    7925      1161,  367,  824,  115,  298,  115,  299,  821,  115,  366, 
    7926       811,  365,  864,  901, 1161,  115,  115, 1161,  115,  115, 
    7927       115,  297,  368,  115,  115,  211,  860, 1161,  863,  367, 
    7928  
    7929      1161,  824,  298,  115,  299,  821,  115,  366, 1161, 1161, 
    7930       864,  901,  383,  383,  383,  383,  383,  383,  383,  383, 
    7931       383,  383,  374,  374,  211,  374,  374,  374,  374,  374, 
    7932       374,  374,  374,  374,  374,  374,  374,  374,  374,  384, 
    7933       374,  385,  385,  385,  385,  385,  385,  385,  385,  385, 
    7934       385,  374,  374,  374,  374,  374,  386,  386,  386,  386, 
    7935       386,  386,  386,  386,  386,  386,  386,  386,  386,  386, 
    7936       386,  386,  386,  386,  386,  386,  386,  386,  386,  386, 
    7937       386,  386,  374,  374,  386,  386,  386,  386,  386,  386, 
    7938       386,  386,  386,  386,  386,  386,  386,  386,  386,  386, 
    7939  
    7940       386,  386,  386,  386,  386,  386,  386,  386,  386,  386, 
    7941       374,  404, 1161,  404,  932,  865,  405,  405,  405,  405, 
    7942       405,  405,  405,  405,  405,  405,  406, 1161,  406,  935, 
    7943       899,  407,  407,  407,  407,  407,  407,  407,  407,  407, 
    7944       407,  408,  932,  408,  865,  900,  409,  409,  409,  409, 
    7945       409,  409,  409,  409,  409,  409,  423,  935,  423,  899, 
    7946      1161,  424,  424,  424,  424,  424,  424,  424,  424,  424, 
    7947       424,  425, 1161,  425,  900, 1161,  426,  426,  426,  426, 
    7948       426,  426,  426,  426,  426,  426,  427,  902,  427,  432, 
    7949       937,  428,  428,  428,  428,  428,  428,  428,  428,  428, 
    7950  
    7951       428,  257,  257,  257,  257,  257,  257,  257,  257,  257, 
    7952       257, 1161,  115,  769,  115,  769,  902,  115,  937,  115, 
    7953       429,  430,  430,  430,  430,  430,  430,  430,  430,  430, 
    7954       430,  115,  433,  115,  115,  905,  908,  115,  908,  115, 
    7955       431,  115,  115,  115,  770,  434,  115,   93,  115,  429, 
    7956       908,  435,  908,  115,  839,  840,  115,  115,  211,  115, 
    7957       433,  115,  115,  115,  905,  693,  115,  693,  115,  431, 
    7958       436,  115, 1161,  434, 1161,  694,  115,  115,  115,  435, 
    7959       115,  115,  115,  115,  115,  115,  115,  804,  439,  803, 
    7960       437,  115, 1161, 1161,  822,  176,  115,  115,  436,  115, 
    7961  
    7962       438,  805,  924,  115,  115,  188,  115,  115,  115,  115, 
    7963       115,  115,  115, 1161,  115,  115,  439, 1161,  437, 1161, 
    7964       441,  440,  115,  822,  115,  115, 1161,  115,  438,  115, 
    7965       805,  924,  115,  115, 1161,  115,  203,  115,  115,  115, 
    7966       115,  115,  903, 1161,  115,  700,  115,  700,  441,  440, 
    7967       115,  442,  115,  443,  445,  701,  444,  115,  115,  702, 
    7968       115, 1161,  115,  115,  115,  446,   93,  115, 1161,  115, 
    7969       115,  903,  911,   94,   95,  115, 1161,  115,  115,  442, 
    7970       115,  443,  445,  115,  444,  115, 1161,  115,  115,  447, 
    7971       115,   93,  115,  893,  446,  893,  448,  115,   94,   95, 
    7972  
    7973      1161,  911, 1161,  894,  115,  115, 1161,  115,  115,  451, 
    7974       929,  115,  115,  115,  115,  449,  115,  447,  965,  115, 
    7975       931,  804,  184,  809,  448,  115,  203,  115,  115,  176, 
    7976       115,  453,  115,  115,  211,  452,  115,  115,  451,  929, 
    7977       115,  466,  115,  466,  449,  115,  965,  115,  115,  931, 
    7978       115,  933,  454,  115, 1161,  115,  934,  115,  115,  936, 
    7979       453,  980,  115,  910,  452,  115, 1161,  115,  115, 1161, 
    7980      1161,  913,  467,  115,  115,  115,  465,  115,  115,  115, 
    7981       933,  454,  115,   93,  875,  934,  875,  115,  936,  980, 
    7982        94,   95,  910,  115,  876,  115,  455,  115,  455,  115, 
    7983  
    7984       913,  959,  115,  115,  115,  465,  115,  964,  115,  239, 
    7985       240,  115,   93,  966,  893,  115,  893,  468,  469,   94, 
    7986        95,  115,  241, 1161,  894,  115, 1161,  456,  115,  115, 
    7987       959,  203,  457,  115,  458,  115,  964,  459,  239,  240, 
    7988       115,  460,  966, 1161,  461,  468,  469,  462,  463,  472, 
    7989       241,  464,  115,  115,  115,  115,  470,  115,  115,  471, 
    7990       115,  457,  989,  458,  991,  884,  459,  884,  115,  460, 
    7991      1161,  115,  461, 1161,  115,  462,  463,  981,  472,  464, 
    7992       973,  115,  115,  115,  115,  470,  115,  115,  471,  115, 
    7993       115,  989,  474,  991,  473,  115,  115,  984,  115,  115, 
    7994  
    7995       986,  115,  115,  115,  896,  981,  896,  987,  973,  115, 
    7996      1161,  115,  476,  954, 1161,  115,  115,  115,  988,  115, 
    7997       115,  474,  473,  990,  115,  984,  477,  115,  986,  115, 
    7998      1010,  115,  115, 1161,  115,  987,  115,  115,  115,  961, 
    7999       476,  954,  478,  115,  115,  115,  988, 1161, 1005,  115, 
    8000       115,  990, 1161, 1013,  477, 1161, 1161,  115,  479, 1010, 
    8001       115,  115,  115, 1161, 1161,  115,  115,  115,  961, 1014, 
    8002       478, 1027,  115,  998,  948,  998, 1005, 1015,  115,  203, 
    8003       115,  480, 1013,  115,  115,  115,  479,  481,  115,  115, 
    8004       115,  484,  483,  484,  488,  115,  488, 1014,  188, 1027, 
    8005  
    8006       482,  485,  115,  115,  489, 1017, 1015, 1018,  115,  480, 
    8007      1161, 1161,  115,  115, 1035, 1021,  481,  115,  115, 1036, 
    8008       115,  483,  203, 1028,  115,  115, 1031,  115,  482,  115, 
    8009       115,  115,  115, 1016, 1017,  486, 1018, 1161,  490,  115, 
    8010       492, 1032, 1035,  115, 1021,  487,  115, 1036,  491,  115, 
    8011      1043, 1161, 1028,  115,  115, 1031,  115, 1161,  115, 1022, 
    8012       115,  115, 1016,  486,  493,  115,  490,  115,  492, 1033, 
    8013      1032,  115,  115,  487,  115, 1034,  491,  115, 1043,  115, 
    8014       115,  115, 1045,  188,  495,  115,  115, 1161, 1022,  115, 
    8015      1046,  494,  496,  493,  115, 1161, 1161,  115, 1033,  115, 
    8016  
    8017       115,  115,  115, 1050, 1034, 1161,  115,  115, 1161,  115, 
    8018       115, 1045, 1049,  495,  115,  115,  115,  115, 1046,  494, 
    8019       496,  497,  115, 1041,  948, 1041,  115,  115,  115, 1051, 
    8020       498,  115, 1050,  115,  115, 1161,  115,  500,  115,  115, 
    8021      1049,  499,  115,  852,  115,  852,  115, 1052, 1161,  497, 
    8022      1161,  115,  115,  115,  115, 1161,  115, 1051,  498,  115, 
    8023      1053, 1161,  115,  115,  115, 1061,  500,  115,  115, 1060, 
    8024       499,  115,  501,  115,  115, 1161, 1052,  115,  925,  115, 
    8025       115,  115,  115,  115,  115,  203, 1064,  502,  115, 1053, 
    8026       503,  926, 1065,  115, 1061, 1161,  115, 1060,  504, 1066, 
    8027  
    8028       501,  115,  203,  115,  115,  211,  115,  925,  115,  115, 
    8029       505,  115, 1161, 1161, 1064,  502, 1072, 1056,  503,  926, 
    8030      1065,  115, 1076,  115,  115,  115,  504, 1066, 1161,  115, 
    8031       115, 1161,  507,  115,  115, 1161,  506,  115,  115,  505, 
    8032       508, 1057,  115, 1161,  115, 1072, 1056, 1055,  115, 1075, 
    8033      1076,  115, 1161,  211,  115, 1079,  115,  509,  115,  115, 
    8034       115,  507,  115,  115,  506,  115,  115,  115,  508,  115, 
    8035      1057,  115,  115, 1078,  115, 1055,  115,  512, 1075,  115, 
    8036       510,  115,  511, 1079,  115,  509, 1161, 1161,  115,  115, 
    8037      1161,  115,  115, 1058,  115,  115,  115,  115,  115,  513, 
    8038  
    8039       115, 1161, 1078,  115, 1085,  515,  512,  115,  510,  115, 
    8040       511,  115,  115, 1161,  115,  115,  115,  115,  115,  514, 
    8041       115,  115, 1058,  115,  115,  516,  115, 1086,  513,  115, 
    8042       211,  517, 1085,  515,  115, 1161,  203,  115,  115,  115, 
    8043      1161,  115,  115,  115,  115,  115,  115,  115,  514,  115, 
    8044       115,  211,  115,  521,  516,  521, 1086,  518, 1161,  517, 
    8045       519,  115,  115,  522,  115,  115,  115,  115, 1070,  948, 
    8046      1070, 1081,  115, 1161,  115, 1084, 1089, 1161,  520,  115, 
    8047       115, 1090,  115,  203, 1083,  518,  115,  115,  519,  523, 
    8048       115,  115,  115,  115, 1094,  115, 1161, 1096,  115,  524, 
    8049  
    8050      1081,  115,  115, 1084, 1089,  115,  520,  115,  115, 1097, 
    8051      1090,  115,  115, 1083,  526,  115,  115, 1082,  523,  115, 
    8052       115,  115,  115, 1094,  115, 1096, 1099,  115,  524,  115, 
    8053      1161,  115,  525,  115, 1161, 1161,  115, 1097,  115,  115, 
    8054       115, 1103,  526, 1161,  115,  115, 1082, 1111,  115,  115, 
    8055       115, 1161,  211,  115, 1099, 1104,  527, 1107,  115,  211, 
    8056       525,  947,  948,  947,  528, 1161,  115, 1161,  115,  949, 
    8057      1103,  203,  950,  115,  115,  531, 1111,  539, 1161,  115, 
    8058       947,  948,  947, 1104,  527, 1107,  115, 1023,  949, 1024, 
    8059      1161,  950,  528,  540,  540,  540,  540,  540,  540,  540, 
    8060  
    8061       540,  540,  540,  541,  947,  948,  947, 1101, 1161,  176, 
    8062      1161, 1102,  949, 1161,  188,  950, 1023, 1161, 1024,  540, 
    8063       540,  540,  540,  540,  540,  540,  540,  540,  540,  541, 
    8064      1000, 1001, 1000, 1161, 1161,  176, 1101,  188, 1002, 1102, 
    8065      1161, 1003, 1092,  948, 1092,  540,  540,  540,  540,  540, 
    8066       540,  540,  540,  540,  540,  541, 1109,  948, 1109, 1098, 
    8067      1115,  176,  115,  115, 1161,  550,  548,  115,  115,  110, 
    8068       115,  545,  545,  545,  545,  545,  545,  545,  545,  545, 
    8069       545,  115,  549, 1114,  115,  115,  551, 1098, 1115, 1120, 
    8070       115,  115,  115,  554,  550,  548,  115,  115, 1121,  115, 
    8071  
    8072      1161,  115, 1161, 1161,  115,  552,  115, 1161, 1161,  115, 
    8073       549, 1114,  115, 1127,  115,  551, 1123, 1120,  482,  115, 
    8074       115,  115, 1161,  115,  115,  553,  115, 1121,  115,  115, 
    8075       115,  203,  115, 1161,  552,  115,  947,  948,  947, 1129, 
    8076       115, 1127,  115,  115,  949, 1123,  482,  950,  115, 1161, 
    8077       115,  203,  115,  115,  553,  115,  211,  115,  115, 1161, 
    8078      1161, 1000, 1001, 1000, 1161, 1161, 1116, 1129,  115, 1002, 
    8079       115,  115, 1003,  383,  383,  383,  383,  383,  383,  383, 
    8080       383,  383,  383,  211, 1161, 1000, 1001, 1000, 1117, 1118, 
    8081      1117, 1161,  565, 1002, 1132, 1116, 1003, 1131, 1136, 1161, 
    8082  
    8083       566,  566,  566,  566,  566,  566,  566,  566,  566,  566, 
    8084       211, 1161, 1042, 1001, 1042, 1117, 1118, 1117, 1142,  567, 
    8085       949,  565, 1132,  950, 1161, 1131, 1136,  383,  383,  383, 
    8086       383,  383,  383,  383,  383,  383,  383,  405,  405,  405, 
    8087       405,  405,  405,  405,  405,  405,  405, 1142,  567,  405, 
    8088       405,  405,  405,  405,  405,  405,  405,  405,  405,  407, 
    8089       407,  407,  407,  407,  407,  407,  407,  407,  407,  407, 
    8090       407,  407,  407,  407,  407,  407,  407,  407,  407,  409, 
    8091       409,  409,  409,  409,  409,  409,  409,  409,  409,  409, 
    8092       409,  409,  409,  409,  409,  409,  409,  409,  409,  424, 
    8093  
    8094       424,  424,  424,  424,  424,  424,  424,  424,  424,  424, 
    8095       424,  424,  424,  424,  424,  424,  424,  424,  424,  426, 
    8096       426,  426,  426,  426,  426,  426,  426,  426,  426,  426, 
    8097       426,  426,  426,  426,  426,  426,  426,  426,  426,  428, 
    8098       428,  428,  428,  428,  428,  428,  428,  428,  428,  428, 
    8099       428,  428,  428,  428,  428,  428,  428,  428,  428,  588, 
    8100       211,  588, 1161, 1161,  589,  589,  589,  589,  589,  589, 
    8101       589,  589,  589,  589,  430,  430,  430,  430,  430,  430, 
    8102       430,  430,  430,  430, 1161,  115, 1161,  115, 1161,  590, 
    8103       115,  590,  115,  429,  591,  591,  591,  591,  591,  591, 
    8104  
    8105       591,  591,  591,  591,  115,  592,  115,  115,  115,  593, 
    8106       203, 1119,  115,  115,  115, 1161,  115, 1141,  188,  115, 
    8107      1161,  115,  429, 1161,  115, 1161,  115,  115,  594,  115, 
    8108       115, 1161,  115,  592,  115,  115,  115,  115,  593, 1119, 
    8109      1161,  115,  115,  115, 1161, 1141,  115,  203,  595,  115, 
    8110      1149,  115, 1161,  115,  115,  115, 1146,  594,  115,  115, 
    8111      1161, 1161,  596, 1161,  115,  115,  188,  115,  115,  115, 
    8112      1161,  115,  597,  115,  115,  115,  595,  115,  188, 1149, 
    8113       115,  115, 1161,  598, 1146,  115,  203,  115,  115,  115, 
    8114       115,  596, 1144,  115,  115,  188,  115,  115,  115,  203, 
    8115  
    8116       599,  597,  115,  115,  115,  115, 1161,  188,  115,  115, 
    8117       115,  598, 1161,  600,  115,  115,  115, 1130,  115,  115, 
    8118      1144,  115,  115,  115,  115,  601,  115,  115,  599, 1143, 
    8119       115, 1157,  115,  602,  115,  115,  115, 1148, 1161,  115, 
    8120       115,  115,  600,  603, 1145, 1130, 1124,  948, 1124,  115, 
    8121       115,  115,  115, 1161,  601,  115,  115, 1143, 1151,  115, 
    8122      1157,  602,  115, 1161,  115, 1148,  188,  115,  115,  115, 
    8123       115,  603, 1145,  605,  115,  115,  203,  115,  606,  115, 
    8124      1161,  115, 1161, 1161,  203,  608, 1151,  608, 1161,  115, 
    8125      1161,  115,  607,  115, 1161, 1161,  115, 1161, 1161,  115, 
    8126  
    8127      1161,  605, 1147,  115,  115, 1161, 1161,  606,  115,  115, 
    8128       115, 1153, 1154, 1153,  115,  115, 1161,  115,  115,  115, 
    8129       607,  115, 1161,  115, 1161, 1155,  609, 1161,  619,  115, 
    8130       620, 1147, 1161,  115, 1161, 1152, 1161,  115, 1161,  115, 
    8131       610,  115, 1161,  115,  115,  115,  621,  115,  115, 1161, 
    8132       115, 1161,  115, 1155,  203,  609,  619,  115,  620,  622, 
    8133       115,  115,  115, 1152,  115,  115, 1161,  115,  610,  455, 
    8134       115,  455, 1161, 1161,  115,  621, 1153, 1154, 1153,  115, 
    8135      1161,  629, 1161, 1161,  115, 1161, 1161,  622,  115,  115, 
    8136      1156,  115,  115, 1159, 1160, 1159,  115, 1159, 1160, 1159, 
    8137  
    8138       456,  623, 1161,  115, 1161,  611,  115,  612, 1161,  629, 
    8139       613,  115,  203,  115,  614, 1161, 1161,  615,  115, 1156, 
    8140       616,  617, 1161, 1161,  618,  115, 1161, 1161, 1161,  623, 
    8141       626,  115, 1161, 1161,  611,  115,  612, 1161,  115,  613, 
    8142       115, 1161,  614,  115, 1161,  615,  115, 1161,  616,  617, 
    8143       624,  115,  618,  115,  115,  115, 1161,  637,  626,  115, 
    8144       115,  627, 1161, 1158, 1161,  115,  625,  115, 1161, 1161, 
    8145      1161, 1161,  115,  115,  115,  115,  628, 1161, 1161,  624, 
    8146       115, 1161, 1161,  115,  115,  637, 1161, 1161,  115,  115, 
    8147       627, 1158, 1161,  115,  625, 1161, 1161, 1161, 1161, 1161, 
    8148  
    8149      1161,  115,  115, 1161,  628,  630,  630,  630,  630,  630, 
    8150       630,  630,  630,  630,  630,  630, 1161,  630,  630,  630, 
    8151       630,  630,  631,  630,  632,  632,  632,  632,  632,  632, 
    8152       632,  632,  632,  632,  630,  630,  630,  630,  630,  633, 
    8153       633,  633,  633,  633,  633,  633,  633,  633,  633,  633, 
    8154       633,  633,  633,  633,  633,  633,  633,  633,  633,  633, 
    8155       633,  633,  633,  633,  633,  630,  630,  633,  633,  633, 
    8156       633,  633,  633,  633,  633,  633,  633,  633,  633,  633, 
    8157       633,  633,  633,  633,  633,  633,  633,  633,  633,  633, 
    8158       633,  633,  633,  630,  115, 1161,  635,  638,  635,  115, 
    8159  
    8160      1161, 1161,  115,  115, 1000, 1001, 1000, 1161,  115, 1161, 
    8161      1161,  634, 1002,  115, 1161, 1003,  115, 1161, 1161, 1161, 
    8162      1161, 1161,  639,  115, 1161, 1161,  638,  636,  115,  115, 
    8163       115,  115,  115, 1161,  115,  115, 1161,  115,  115,  634, 
    8164      1161,  115, 1161,  115,  115, 1161,  641, 1161,  115,  115, 
    8165       639, 1161, 1161, 1161, 1161, 1161, 1161,  115,  115,  115, 
    8166       115, 1161, 1161,  115,  115,  115, 1161,  115,  115, 1161, 
    8167      1161, 1161,  115,  115, 1161,  641,  115,  115, 1161,  115, 
    8168       642, 1161, 1161, 1161, 1161,  115, 1161,  643, 1161,  115, 
    8169       115, 1161, 1161, 1161,  115,  115, 1161,  115,  644,  115, 
    8170  
    8171      1161, 1161,  115, 1161,  115,  645, 1161,  115,  642,  115, 
    8172      1161, 1161,  646, 1161, 1161,  643, 1161, 1161,  115,  115, 
    8173      1161, 1000, 1001, 1000,  115, 1161, 1161,  644,  115, 1002, 
    8174       115,  650, 1003,  115,  645,  115,  115,  115,  647,  115, 
    8175       646,  648,  115, 1161,  115, 1161,  115,  115, 1161,  115, 
    8176       115, 1161, 1161, 1161, 1161, 1161,  649, 1161,  115,  115, 
    8177       650,  115, 1161, 1161,  115,  115, 1161,  647,  115,  115, 
    8178       648,  115, 1161,  115,  115,  652,  115,  115,  115, 1161, 
    8179       115, 1161, 1161,  651,  649, 1161,  115, 1161,  115,  115, 
    8180      1161,  115, 1161, 1161,  115,  115,  115, 1161,  115, 1161, 
    8181  
    8182       115, 1161,  653,  115,  652, 1161,  654,  115, 1161,  115, 
    8183       115,  651,  115, 1161,  115, 1161,  115, 1161,  115, 1161, 
    8184       115, 1161,  115,  115,  115,  115,  115,  115, 1161,  115, 
    8185       653, 1161,  115, 1161,  654,  655,  115,  115,  115,  115, 
    8186      1161,  115,  115,  115,  115, 1161,  115,  115,  115, 1161, 
    8187       115, 1161,  115, 1161,  115,  115,  115, 1161,  115, 1161, 
    8188      1161,  115,  115, 1161,  655,  115,  115, 1161,  115,  659, 
    8189       115,  115,  115,  115,  115,  115, 1161,  115, 1161,  115, 
    8190       656, 1161,  657, 1161,  115,  115,  115,  115, 1161,  115, 
    8191       115,  658,  115,  115, 1161,  115,  661,  659,  115,  115, 
    8192  
    8193       115,  115, 1161, 1161,  115, 1161,  115, 1161,  656, 1161, 
    8194       657, 1161,  660,  115, 1161,  115,  115,  115,  115,  115, 
    8195       658,  115,  115,  115,  115,  661, 1161,  115, 1161,  664, 
    8196       115, 1071,  948, 1071,  115,  662, 1161,  115,  115,  949, 
    8197       660,  115,  950,  115, 1161, 1161,  115,  115,  115,  663, 
    8198       115, 1161,  115,  115, 1161,  115, 1161,  115, 1161, 1161, 
    8199       115, 1161,  115,  662, 1161,  115,  115, 1161, 1161,  115, 
    8200       115, 1161, 1161, 1161,  665,  115,  115, 1161,  663,  115, 
    8201      1161, 1161,  115, 1161,  115, 1161,  115,  115,  115,  115, 
    8202       115,  115, 1161,  666,  115,  115, 1161,  115, 1161, 1161, 
    8203  
    8204      1161,  115,  665,  668,  115, 1161,  667, 1161,  115,  115, 
    8205      1161,  115, 1161, 1161, 1161, 1161,  115, 1161,  115,  115, 
    8206       115,  666,  115,  115,  115,  115, 1161,  115,  115,  115, 
    8207       669,  668, 1161,  115,  667, 1161,  115,  115,  670,  115, 
    8208      1161,  115, 1161, 1161, 1161,  115, 1161,  115, 1161,  115, 
    8209       115,  115, 1161,  115,  115, 1161,  115,  115,  115,  669, 
    8210      1161,  115,  115, 1161,  115,  115,  115,  115, 1161,  115, 
    8211       115, 1161,  115, 1161,  115,  115, 1161, 1161, 1161,  115, 
    8212       115, 1161,  115, 1161,  115, 1161,  115,  115,  115, 1161, 
    8213       115,  115,  115,  115,  115,  115, 1161, 1161, 1161,  115, 
    8214  
    8215       115, 1161,  671, 1161, 1161,  115, 1161,  115,  115,  115, 
    8216      1161, 1161,  115,  672,  115,  115, 1161,  115,  115, 1161, 
    8217       115,  115,  115,  115, 1161, 1161,  115, 1161,  115, 1161, 
    8218       671, 1161, 1161,  115, 1161,  115, 1161,  115,  115, 1161, 
    8219       115,  115,  672,  115,  115,  673,  115,  115,  674,  115, 
    8220       115, 1161,  115, 1161, 1161,  115,  115, 1161, 1161, 1161, 
    8221       115,  698, 1161,  115, 1161,  115,  115, 1161,  115, 1161, 
    8222       115, 1161, 1161,  115,  673,  115, 1161,  674,  115,  677, 
    8223       115,  684, 1161, 1161, 1161, 1093,  948, 1093,  115, 1161, 
    8224       698,  115, 1161,  949, 1161,  115,  950,  685,  685,  685, 
    8225  
    8226       685,  685,  685,  685,  685,  685,  685,  686,  115, 1110, 
    8227       948, 1110, 1161,  176, 1161, 1161, 1161,  949, 1161, 1161, 
    8228       950, 1161, 1161,  685,  685,  685,  685,  685,  685,  685, 
    8229       685,  685,  685,  686,  693, 1161,  693, 1161, 1161,  176, 
    8230      1161, 1161, 1161, 1161,  694, 1161, 1161, 1161, 1161,  685, 
    8231       685,  685,  685,  685,  685,  685,  685,  685,  685,  686, 
    8232       697, 1161,  697, 1161, 1161,  176,  696,  115, 1161, 1161, 
    8233       695,  115,  115,  110,  600,  690,  690,  690,  690,  690, 
    8234       690,  690,  690,  690,  690,  115,  115, 1161, 1161, 1161, 
    8235      1161, 1161, 1161,  115, 1161,  696,  115, 1161,  115,  695, 
    8236  
    8237       115,  115,  115,  600, 1161,  115, 1161,  115,  645,  732, 
    8238       115, 1161,  115,  115,  115,  646, 1161, 1161,  700,  699, 
    8239       700,  115,  115, 1161,  115, 1161, 1161,  115,  701, 1161, 
    8240      1161,  115,  702, 1161,  115, 1161,  115,  645,  732,  115, 
    8241       115,  211, 1161,  646, 1161, 1161, 1161,  699, 1161,  115, 
    8242      1161,  115,  115,  709, 1161,  709,  115, 1161,  710,  710, 
    8243       710,  710,  710,  710,  710,  710,  710,  710, 1161,  211, 
    8244       115, 1126,  948, 1126, 1161, 1161, 1161, 1161, 1161,  949, 
    8245       115, 1161,  950, 1161, 1161,  115,  566,  566,  566,  566, 
    8246       566,  566,  566,  566,  566,  566,  211, 1161,  115, 1161, 
    8247  
    8248      1161,  947,  948,  947, 1161,  565, 1161, 1161,  711,  949, 
    8249       711, 1161,  950,  712,  712,  712,  712,  712,  712,  712, 
    8250       712,  712,  712,  589,  589,  589,  589,  589,  589,  589, 
    8251       589,  589,  589, 1161,  565,  589,  589,  589,  589,  589, 
    8252       589,  589,  589,  589,  589,  591,  591,  591,  591,  591, 
    8253       591,  591,  591,  591,  591,  591,  591,  591,  591,  591, 
    8254       591,  591,  591,  591,  591,  733, 1161, 1161,  115, 1161, 
    8255       115, 1161, 1161,  115,  947,  948,  947, 1161, 1000, 1001, 
    8256      1000, 1161,  949,  737,  115,  950, 1002,  115, 1161, 1003, 
    8257      1161, 1161, 1161, 1161,  733, 1161, 1161,  115, 1161,  115, 
    8258  
    8259      1161, 1161,  115, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    8260      1161,  737,  115,  718,  718,  115,  718,  718,  718,  718, 
    8261       718,  718,  718,  718,  718,  718,  718,  718,  718,  718, 
    8262       734,  718,  735,  735,  735,  735,  735,  735,  735,  735, 
    8263       735,  735,  718,  718,  718,  718,  718,  736,  736,  736, 
    8264       736,  736,  736,  736,  736,  736,  736,  736,  736,  736, 
    8265       736,  736,  736,  736,  736,  736,  736,  736,  736,  736, 
    8266       736,  736,  736,  718,  718,  736,  736,  736,  736,  736, 
    8267       736,  736,  736,  736,  736,  736,  736,  736,  736,  736, 
    8268       736,  736,  736,  736,  736,  736,  736,  736,  736,  736, 
    8269  
    8270       736,  718,  115,  115,  738,  115,  115,  115,  115,  115, 
    8271       115,  115, 1161,  740,  115, 1161, 1161, 1161,  739,  741, 
    8272      1161,  115,  115, 1161,  115,  115, 1161, 1161,  115, 1161, 
    8273      1161,  115,  115,  738,  115,  115,  115,  115,  115,  115, 
    8274       115, 1161,  740,  115, 1161, 1161,  739,  741, 1161,  115, 
    8275       115, 1161,  115,  115,  115,  115,  115,  115, 1161,  115, 
    8276       115,  115,  115, 1161, 1161,  745,  115, 1161, 1161,  742, 
    8277      1161, 1161, 1161,  115,  115,  743,  115, 1161, 1161, 1161, 
    8278       115, 1161, 1161,  115,  115, 1161,  115,  115,  115,  115, 
    8279       115,  115,  115, 1161,  745,  115, 1161,  742,  746, 1161, 
    8280  
    8281      1161,  115,  115,  743,  115, 1161,  115, 1161,  115,  115, 
    8282       115, 1161, 1161,  115,  750,  115,  115,  747,  115, 1161, 
    8283       751,  115, 1161, 1161, 1161, 1161,  746, 1161,  115,  115, 
    8284      1161, 1161,  115, 1161,  115,  115,  115, 1161,  115,  115, 
    8285       115,  115,  115,  750,  115, 1161,  747,  115, 1161,  751, 
    8286      1161, 1161, 1161, 1161,  115,  115,  115,  115,  115, 1161, 
    8287       115, 1161, 1161,  115,  115,  115, 1161, 1161, 1161,  115, 
    8288       115,  761, 1161, 1161,  115,  115, 1161,  115,  762,  115, 
    8289       115, 1161,  115,  115, 1161, 1161, 1161,  115,  763, 1161, 
    8290      1161,  115,  115,  115,  115, 1161,  115, 1161, 1161,  761, 
    8291  
    8292      1161, 1161,  764,  115,  115,  115, 1161,  762,  115,  115, 
    8293       115, 1161,  115,  765,  115, 1161,  763,  115,  768,  115, 
    8294       115,  115,  115,  115, 1161,  115, 1161, 1161, 1161,  766, 
    8295       764,  115, 1161,  115, 1161,  115, 1161,  115,  115,  767, 
    8296       115,  115,  765,  115, 1161, 1161,  115,  768,  115, 1161, 
    8297      1161, 1161,  115,  769,  115,  769, 1161,  766, 1161,  115, 
    8298      1161,  115, 1161,  258,  115,  115, 1161, 1161,  767,  115, 
    8299       257,  257,  257,  257,  257,  257,  257,  257,  257,  257, 
    8300       115, 1161,  115,  115,  770,  115,  115,  115,  115,  115, 
    8301      1161,  115,  115, 1161,  115, 1161, 1161, 1161, 1161,  115, 
    8302  
    8303       771, 1161,  115, 1161, 1161,  115,  115, 1161,  115,  115, 
    8304      1161, 1161,  115, 1161,  115,  115,  115,  115,  115,  115, 
    8305       115,  115, 1161,  115,  115, 1161, 1161,  115,  771, 1161, 
    8306       115, 1161, 1161,  115,  115,  115,  115, 1161,  772,  115, 
    8307       115,  774,  115,  773,  115,  775,  115,  115,  115, 1161, 
    8308      1161,  115, 1161,  115,  115, 1161, 1161, 1161,  115, 1161, 
    8309      1161,  115,  115, 1161,  115,  115,  772,  115,  115,  115, 
    8310       774,  115,  773,  115,  775,  115,  115, 1161, 1161,  776, 
    8311       115,  115,  115,  115, 1161,  115,  115,  777,  115,  115, 
    8312       115,  115,  115,  115,  780, 1161,  115,  115, 1161,  115, 
    8313  
    8314      1161, 1161,  115, 1161,  778,  779, 1161,  776, 1161,  115, 
    8315      1161,  115,  115,  115,  115, 1161,  777,  115, 1161,  115, 
    8316      1161,  115, 1161,  780, 1161, 1161,  115, 1161,  115,  115, 
    8317       115,  781,  778,  779,  115,  115, 1161, 1161, 1161,  115, 
    8318       115,  115, 1161, 1161, 1161, 1161,  782, 1161,  115, 1161, 
    8319      1161, 1161, 1161, 1161,  115, 1161, 1161, 1161,  115, 1161, 
    8320       781,  115, 1161,  115,  115,  115,  115,  783, 1161,  115, 
    8321       115, 1161,  784,  115,  782, 1161,  115,  785,  115, 1161, 
    8322       115, 1161,  115, 1161,  115, 1161, 1161, 1161, 1161, 1161, 
    8323       115, 1161,  115, 1161,  115,  115,  783, 1161,  115,  115, 
    8324  
    8325       784, 1161,  115,  787, 1161,  115,  785,  115,  115,  115, 
    8326       115, 1161,  115,  786,  115, 1161, 1161,  115, 1161, 1161, 
    8327       115, 1161,  788, 1161,  115,  115, 1161,  115,  115,  789, 
    8328       115, 1161,  787, 1161,  115, 1161,  115, 1161,  115,  115, 
    8329      1161,  115,  786,  115,  115,  115, 1161, 1161,  115, 1161, 
    8330       788, 1161,  115,  115,  115,  115,  115,  115,  789,  115, 
    8331      1161,  790,  115, 1161, 1161,  115, 1161,  115,  115,  792, 
    8332       115, 1161,  115,  115,  115, 1161,  115,  115, 1161, 1161, 
    8333      1161, 1161,  115,  115, 1161, 1161,  115,  791,  115, 1161, 
    8334       790,  115, 1161, 1161,  115,  115,  793,  115,  792,  115, 
    8335  
    8336       115,  115,  115,  115,  115,  115,  115, 1161, 1161, 1161, 
    8337      1161, 1161, 1161,  115, 1161,  791,  115, 1161,  795,  115, 
    8338       796, 1161, 1161,  115, 1161,  793,  115, 1161,  115,  115, 
    8339       115,  115, 1161, 1161,  115,  115, 1161,  115, 1161,  797, 
    8340       798,  115,  115, 1161, 1161,  115,  795,  115,  796,  115, 
    8341      1161, 1161, 1161,  115,  115,  115,  115,  115,  115, 1161, 
    8342       115, 1161,  115, 1161, 1161, 1161,  115,  797,  799,  798, 
    8343      1161,  115,  801,  115,  115, 1161,  115,  800,  115,  115, 
    8344       115, 1161,  115,  115,  115,  115,  115,  115, 1161, 1161, 
    8345      1161,  115, 1161,  115, 1161, 1161,  799, 1161, 1161,  115, 
    8346  
    8347       801, 1161, 1161,  115,  115,  800, 1161, 1161,  115,  115, 
    8348      1161, 1161,  176, 1161,  115, 1161, 1161, 1161,  176,  115, 
    8349      1161,  115, 1161,  816,  115, 1161,  110,  115,  111,  111, 
    8350       111,  111,  111,  111,  111,  111,  111,  111,  115,  115, 
    8351       115,  115, 1161, 1161,  115,  115,  819,  817,  115, 1161, 
    8352      1161,  818,  816,  115, 1161, 1161, 1161, 1161,  115,  115, 
    8353       115, 1161, 1161, 1161, 1161, 1161,  115, 1161,  115,  115, 
    8354       115, 1161,  211,  115,  115,  819,  817, 1161, 1161,  818, 
    8355      1161, 1161,  211, 1161, 1161, 1161,  115,  115,  115,  710, 
    8356       710,  710,  710,  710,  710,  710,  710,  710,  710,  710, 
    8357  
    8358       710,  710,  710,  710,  710,  710,  710,  710,  710,  211, 
    8359      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,  211, 
    8360      1161, 1161, 1161, 1161, 1161, 1161,  712,  712,  712,  712, 
    8361       712,  712,  712,  712,  712,  712,  712,  712,  712,  712, 
    8362       712,  712,  712,  712,  712,  712,  823,  823,  211,  823, 
    8363       823,  823,  823,  823,  823,  823,  823,  823,  823,  823, 
    8364       823,  823,  823,  828,  823,  829,  829,  829,  829,  829, 
    8365       829,  829,  829,  829,  829,  823,  823,  823,  823,  823, 
    8366       830,  830,  830,  830,  830,  830,  830,  830,  830,  830, 
    8367       830,  830,  830,  830,  830,  830,  830,  830,  830,  830, 
    8368  
    8369       830,  830,  830,  830,  830,  830,  823,  823,  830,  830, 
    8370       830,  830,  830,  830,  830,  830,  830,  830,  830,  830, 
    8371       830,  830,  830,  830,  830,  830,  830,  830,  830,  830, 
    8372       830,  830,  830,  830,  823,  832,   77,  832, 1161, 1161, 
    8373       833,  833, 1161,  833, 1161, 1161, 1161,  833,  833, 1161, 
    8374      1161,  833, 1161, 1161,  833,  833,  833,  833,  833,  833, 
    8375       833,  833,  833,  831,  831, 1161,  831,  831,  831,  831, 
    8376       831,  831,  831,  831,  831,  831,  831,  831,  831,  831, 
    8377       841,  831,  842,  842,  842,  842,  842,  842,  842,  842, 
    8378       842,  842,  831,  831,  831,  831,  831,  843,  843,  843, 
    8379  
    8380       843,  843,  843,  843,  843,  843,  843,  843,  843,  843, 
    8381       843,  843,  843,  843,  843,  843,  843,  843,  843,  843, 
    8382       843,  843,  843,  831,  831,  843,  843,  843,  843,  843, 
    8383       843,  843,  843,  843,  843,  843,  843,  843,  843,  843, 
    8384       843,  843,  843,  843,  843,  843,  843,  843,  843,  843, 
    8385       843,  831,  115, 1161, 1161,  258, 1161,  115,  257,  257, 
    8386       257,  257,  257,  257,  257,  257,  257,  257,  115,  845, 
    8387      1161,  844,  115,  115,  115,  115, 1161,  115, 1161, 1161, 
    8388       115,  115, 1161, 1161, 1161, 1161,  115,  115,  115, 1161, 
    8389      1161,  115, 1161, 1161,  846,  115, 1161,  115,  845,  844, 
    8390  
    8391       115,  115,  115,  115,  115, 1161,  115,  115, 1161,  115, 
    8392      1161, 1161,  115, 1161,  115,  115,  115, 1161,  115,  115, 
    8393      1161, 1161,  846,  115,  115, 1161,  115, 1161, 1161,  115, 
    8394       847, 1161, 1161, 1161, 1161, 1161,  115,  115,  848, 1161, 
    8395      1161,  115,  115,  115, 1161,  849, 1161,  115,  115, 1161, 
    8396       115,  115,  115, 1161,  115,  115,  115, 1161,  847,  850, 
    8397      1161,  852,  115,  852, 1161,  115,  848, 1161, 1161,  115, 
    8398       115, 1161,  115,  115,  849, 1161, 1161,  115,  115,  115, 
    8399       115, 1161,  115, 1161,  115,  115,  855,  115,  850, 1161, 
    8400       115, 1161,  115, 1161,  115, 1161,  853,  115,  115,  115, 
    8401  
    8402      1161,  115,  115, 1161, 1161, 1161, 1161,  115, 1161,  854, 
    8403      1161,  115, 1161,  115,  115,  855,  115, 1161,  858,  115, 
    8404       115, 1161, 1161,  115, 1161,  853,  115, 1161,  115,  115, 
    8405      1161,  115, 1161,  115,  115, 1161,  866,  854, 1161,  115, 
    8406      1161,  115, 1161,  115, 1161,  115,  867,  858,  115, 1161, 
    8407      1161,  115, 1161,  115, 1161,  115,  115,  868, 1161, 1161, 
    8408       115,  115, 1161,  115, 1161,  866, 1161, 1161,  115, 1161, 
    8409       115,  115,  115,  115,  867,  869,  115,  115,  115, 1161, 
    8410       115,  115,  871,  115, 1161,  115,  868, 1161, 1161,  870, 
    8411       115,  115, 1161, 1161,  874, 1161, 1161,  115,  115,  115, 
    8412  
    8413       115,  115, 1161,  115,  869,  115,  115,  115,  115, 1161, 
    8414       115,  871,  115,  115,  875,  115,  875,  870,  115,  115, 
    8415       872,  873,  115,  874,  876,  115,  115, 1161,  115,  115, 
    8416      1161,  115,  115, 1161, 1161, 1161, 1161,  115, 1161,  115, 
    8417       877,  115, 1161, 1161,  115,  115,  115,  115,  872,  873, 
    8418       115,  115,  115, 1161,  878,  115, 1161,  115,  115, 1161, 
    8419       115, 1161,  879,  115, 1161,  115,  115,  115,  877,  115, 
    8420      1161,  880,  115,  115,  115,  115,  115,  115, 1161, 1161, 
    8421       115,  115, 1161,  878, 1161, 1161,  115,  115,  115, 1161, 
    8422       115,  879,  115,  115,  115,  115,  115, 1161,  115,  115, 
    8423  
    8424       880,  115, 1161,  115,  115,  115, 1161,  881, 1161,  115, 
    8425       115, 1161, 1161, 1161,  115,  115,  115,  882,  115,  115, 
    8426      1161,  883,  115, 1161,  115, 1161, 1161,  115,  115,  115, 
    8427      1161,  115, 1161,  115, 1161,  881,  115,  115, 1161,  115, 
    8428      1161,  115,  115,  115,  115,  882,  115,  115,  115,  883, 
    8429       115,  115, 1161,  884, 1161,  884,  115,  115, 1161, 1161, 
    8430       115,  115,  115,  115, 1161,  115, 1161, 1161,  115,  115, 
    8431      1161,  115,  115, 1161,  115, 1161,  115,  115,  115,  115, 
    8432      1161,  886,  115,  888, 1161, 1161,  115, 1161,  115,  115, 
    8433       115,  115,  115,  115,  115, 1161, 1161,  115,  887,  115, 
    8434  
    8435      1161,  885,  115,  115, 1161,  115, 1161, 1161,  115,  886, 
    8436       115, 1161,  888,  889, 1161,  115, 1161,  115, 1161,  115, 
    8437       115,  115, 1161,  115,  115, 1161,  887,  115,  115,  885, 
    8438       115,  891,  115,  115, 1161, 1161,  890, 1161,  115,  115, 
    8439      1161,  889, 1161, 1161,  115, 1161,  115, 1161,  115, 1161, 
    8440      1161,  892, 1161,  115, 1161, 1161,  115, 1161,  115, 1161, 
    8441       891,  115,  115, 1161,  890, 1161,  115,  115,  115, 1161, 
    8442       115,  115, 1161,  115,  115,  115,  115, 1161,  895,  892, 
    8443      1161,  115,  115, 1161, 1161, 1161,  115,  115, 1161,  115, 
    8444       115,  115, 1161,  115, 1161,  896,  115,  896,  115,  115, 
    8445  
    8446       115,  115, 1161, 1161,  115,  115, 1161,  895, 1161,  115, 
    8447      1161,  115,  115, 1161, 1161, 1161,  115,  115,  115,  115, 
    8448       115, 1161,  115, 1161,  115,  115,  115,  115,  115,  115, 
    8449       897,  906, 1161,  115, 1161, 1161, 1161, 1161,  898,  115, 
    8450       115, 1161, 1161, 1161, 1161,  115, 1161,  115,  115,  115, 
    8451      1161,  115, 1161,  115,  115,  115,  115,  115, 1161,  897, 
    8452       906, 1161,  115, 1161,  907, 1161,  898,  115, 1161,  908, 
    8453       115,  908, 1161,  115,  258,  115,  802,   77,  804,  175, 
    8454       115, 1161, 1161, 1161, 1161,  115, 1161, 1161, 1161, 1161, 
    8455       909,  115,  907, 1161, 1161,  115,  115, 1161,  115, 1161, 
    8456  
    8457      1161, 1161,  115, 1161, 1161, 1161, 1161,  115, 1161,  115, 
    8458       115,  177,  178, 1161, 1161,  179, 1161,  180, 1161,  909, 
    8459       115,  115, 1161, 1161,  115,  115, 1161, 1161,  341,  182, 
    8460      1161,  115, 1161, 1161, 1161, 1161,  115,  115,  115, 1161, 
    8461       177,  178, 1161, 1161,  179, 1161,  180, 1161, 1161,  115, 
    8462      1161, 1161, 1161, 1161, 1161, 1161,  341,  182,  912,  912, 
    8463       211,  912,  912,  912,  912,  912,  912,  912,  912,  912, 
    8464       912,  912,  912,  912,  912,  914,  912,  915,  915,  915, 
    8465       915,  915,  915,  915,  915,  915,  915,  912,  912,  912, 
    8466       912,  912,  916,  916,  916,  916,  916,  916,  916,  916, 
    8467  
    8468       916,  916,  916,  916,  916,  916,  916,  916,  916,  916, 
    8469       916,  916,  916,  916,  916,  916,  916,  916,  912,  912, 
    8470       916,  916,  916,  916,  916,  916,  916,  916,  916,  916, 
    8471       916,  916,  916,  916,  916,  916,  916,  916,  916,  916, 
    8472       916,  916,  916,  916,  916,  916,  912,  211,  257,  257, 
    8473       257,  257,  257,  257,  257,  257,  257,  257, 1161, 1161, 
    8474      1161, 1161, 1161, 1161,  383,  383,  383,  383,  383,  383, 
    8475       383,  383,  383,  383,  374,  374,  211,  374,  374,  374, 
    8476       374,  374,  374,  374,  374,  374,  374,  374,  374,  374, 
    8477       374,  384,  374,  385,  385,  385,  385,  385,  385,  385, 
    8478  
    8479       385,  385,  385,  374,  374,  374,  374,  374,  386,  386, 
    8480       386,  386,  386,  386,  386,  386,  386,  386,  386,  386, 
    8481       386,  386,  386,  386,  386,  386,  386,  386,  386,  386, 
    8482       386,  386,  386,  386,  374,  374,  386,  386,  386,  386, 
    8483       386,  386,  386,  386,  386,  386,  386,  386,  386,  386, 
    8484       386,  386,  386,  386,  386,  386,  386,  386,  386,  386, 
    8485       386,  386,  374,  115, 1161,  917, 1161,  115,  115,  918, 
    8486       115,  115,  115,  919,  115, 1161,  115, 1161,  920,  115, 
    8487      1161, 1161,  115, 1161,  115, 1161,  115, 1161, 1161, 1161, 
    8488       115, 1161,  115,  115,  917, 1161,  115,  115,  918,  115, 
    8489  
    8490       115,  115,  919,  115,  922,  115, 1161,  920,  115,  115, 
    8491       115,  115,  115, 1161,  115,  921,  115, 1161,  115, 1161, 
    8492       115,  115, 1161,  115, 1161,  115, 1161,  115, 1161, 1161, 
    8493       115,  115,  115,  922,  923, 1161,  115, 1161,  115,  115, 
    8494       115,  927, 1161, 1161,  921,  115,  115, 1161,  928,  115, 
    8495       115,  115,  115, 1161,  115, 1161,  115,  115,  115, 1161, 
    8496       115,  115,  923,  115, 1161,  115, 1161,  115,  115,  927, 
    8497      1161,  115,  115, 1161,  115, 1161,  928,  115,  115, 1161, 
    8498       930,  115,  115,  115, 1161, 1161,  115, 1161,  115, 1161, 
    8499      1161,  938,  115, 1161,  939, 1161, 1161,  115, 1161,  115, 
    8500  
    8501      1161,  115,  115, 1161,  115, 1161,  115, 1161,  930,  115, 
    8502       115, 1161,  115,  115, 1161,  941, 1161,  115,  115,  938, 
    8503      1161,  940,  939,  115, 1161, 1161, 1161, 1161, 1161,  115, 
    8504       115, 1161,  115,  115,  115,  115, 1161, 1161,  115, 1161, 
    8505       115, 1161,  115,  942,  941, 1161, 1161,  115,  115,  940, 
    8506      1161,  115, 1161, 1161,  115, 1161, 1161, 1161,  115, 1161, 
    8507       115,  115, 1161,  115,  115,  943,  115, 1161,  115,  115, 
    8508       115,  942,  944,  115, 1161,  115,  115, 1161, 1161, 1161, 
    8509       115,  945,  115, 1161, 1161, 1161, 1161,  115, 1161,  115, 
    8510       115,  115, 1161,  115,  943,  115,  115,  115,  115,  115, 
    8511  
    8512      1161,  944,  115, 1161,  115, 1161,  951, 1161,  115,  945, 
    8513       952, 1161,  115,  115,  115,  115,  115,  115,  115,  115, 
    8514       115,  115,  115, 1161, 1161,  115, 1161,  115, 1161, 1161, 
    8515      1161, 1161,  115,  115,  951,  115,  115, 1161,  952, 1161, 
    8516       115,  115,  115,  115,  953,  115, 1161,  115,  115, 1161, 
    8517       115, 1161,  115,  115, 1161,  115, 1161,  115,  115,  115, 
    8518       115,  115, 1161,  115,  115,  115, 1161, 1161, 1161, 1161, 
    8519       115,  115,  956,  953, 1161, 1161,  955, 1161,  115,  115, 
    8520      1161,  115,  115,  115,  115, 1161,  115,  115,  115, 1161, 
    8521       115,  115, 1161,  115, 1161,  115,  115, 1161,  115,  115, 
    8522  
    8523       956,  957,  115, 1161,  955, 1161,  115,  115,  115,  115, 
    8524       115,  115, 1161,  115, 1161,  958,  115, 1161, 1161,  115, 
    8525       115,  115,  115,  962,  115,  115,  115,  115,  115,  957, 
    8526       115,  115, 1161, 1161,  115, 1161,  115,  115,  115,  115, 
    8527       115,  115,  115,  969,  958,  115, 1161, 1161,  115,  115, 
    8528      1161,  115,  962,  115, 1161,  960,  115,  115,  115,  115, 
    8529      1161, 1161,  115,  115,  115, 1161,  115,  963,  115,  115, 
    8530       115,  115,  969, 1161, 1161, 1161, 1161,  115,  115, 1161, 
    8531      1161,  115, 1161,  960,  970,  115, 1161, 1161,  115,  115, 
    8532       115,  971, 1161,  115,  115,  115,  963, 1161, 1161, 1161, 
    8533  
    8534       115, 1161, 1161, 1161, 1161, 1161,  115,  211,  115, 1161, 
    8535      1161, 1161,  970,  115, 1161, 1161,  115,  975,  115, 1161, 
    8536       971,  115, 1161,  115,  383,  383,  383,  383,  383,  383, 
    8537       383,  383,  383,  383, 1161,  115,  115,  115, 1161,  115, 
    8538      1161, 1161,  115,  976,  115,  115,  975, 1161,  115, 1161, 
    8539       115, 1161, 1161,  115, 1161, 1161,  115, 1161,  115, 1161, 
    8540      1161, 1161, 1161,  115, 1161,  977,  115,  115,  115,  115, 
    8541       115,  115,  976,  115,  115,  115, 1161,  115,  115, 1161, 
    8542      1161, 1161,  115,  115,  115, 1161,  115, 1161,  115,  978, 
    8543      1161,  979, 1161,  977, 1161,  115, 1161,  115,  115,  115, 
    8544  
    8545      1161,  115, 1161,  115,  115,  115,  115,  115, 1161,  983, 
    8546       115, 1161,  115,  982, 1161, 1161,  115,  978, 1161,  979, 
    8547       115,  115, 1161, 1161,  115,  115,  115,  115,  994,  992, 
    8548       115,  985,  115,  115,  115,  115, 1161, 1161,  983,  115, 
    8549       115,  982, 1161, 1161, 1161, 1161,  115,  115,  115, 1161, 
    8550       115, 1161,  115, 1161, 1161,  115,  115,  994,  992,  115, 
    8551       985,  115,  115,  993,  115,  115,  115, 1161,  115, 1161, 
    8552       115,  115, 1161, 1161,  115,  115, 1161, 1161,  115, 1161, 
    8553      1161, 1161,  115, 1161,  995,  115,  996,  115,  115, 1161, 
    8554      1161,  115,  993,  115,  115,  115,  115, 1161, 1161,  115, 
    8555  
    8556       115,  115,  115, 1161,  997, 1161,  115,  115, 1161, 1161, 
    8557       115,  115,  995,  115,  996, 1161,  115, 1161,  115, 1161, 
    8558       115,  115,  115,  115, 1161,  115, 1161,  115, 1161,  115, 
    8559      1161,  115,  997, 1161, 1161, 1161,  115,  115,  115,  115, 
    8560      1161,  115, 1161,  115,  115, 1004, 1161,  115,  115,  115, 
    8561      1161,  115,  115, 1006, 1161, 1161,  115, 1161,  115,  115, 
    8562      1161, 1161,  115, 1161,  115,  115,  115, 1161,  115,  115, 
    8563       115,  115,  115,  115, 1004,  115, 1161,  115,  115, 1161, 
    8564      1161, 1006, 1161, 1161, 1161,  115,  115, 1007,  115,  115, 
    8565       115, 1161,  115,  115, 1161,  115, 1009,  115, 1161,  115, 
    8566  
    8567       115, 1161, 1161,  115,  115, 1161,  115, 1161,  115,  115, 
    8568      1161,  115, 1161,  115,  115, 1007, 1012,  115, 1161, 1161, 
    8569      1161,  115,  115, 1161, 1161, 1009,  115, 1011,  115,  115, 
    8570      1161, 1161,  115, 1161,  115,  115, 1161,  115,  115,  115, 
    8571       115,  115, 1161,  115, 1012, 1020,  115, 1161,  115, 1019, 
    8572       115, 1161,  115, 1161,  115, 1011,  115,  115,  115, 1161, 
    8573       115,  115, 1161,  115,  115, 1161,  115, 1161,  115,  115, 
    8574       115,  115, 1025,  115, 1020,  115,  115, 1019, 1161, 1161, 
    8575       115,  115,  115, 1161,  115, 1161,  115,  115,  115,  115, 
    8576       115, 1161, 1161,  115, 1161,  115, 1161,  115,  115,  115, 
    8577  
    8578      1025,  115,  115,  115,  115, 1026,  115, 1161,  115,  115, 
    8579      1161, 1161,  115,  115, 1161,  115, 1161, 1161,  115, 1029, 
    8580       115, 1161,  115,  115,  115, 1161, 1030,  115, 1161,  115, 
    8581       115,  115, 1161,  115, 1026,  115, 1161, 1161,  115, 1161, 
    8582       115,  115, 1161,  115,  115,  115,  115, 1029,  115,  115, 
    8583       115,  115, 1161,  115, 1161, 1030, 1038, 1161,  115, 1037, 
    8584       115,  115, 1161,  115,  115, 1161,  115,  115, 1161, 1161, 
    8585       115,  115,  115,  115,  115,  115, 1161, 1161,  115,  115, 
    8586       115, 1161, 1161, 1161, 1038, 1161, 1039, 1037,  115, 1161, 
    8587       115,  115,  115,  115, 1161,  115,  115,  115,  115, 1040, 
    8588  
    8589       115,  115,  115, 1161,  115,  115, 1044, 1161,  115,  115, 
    8590      1161, 1161,  115, 1161, 1039, 1161,  115, 1161, 1161,  115, 
    8591       115, 1161,  115,  115, 1161,  115,  115,  115, 1040,  115, 
    8592      1161,  115, 1161,  115,  115, 1044, 1161,  115,  115,  115, 
    8593       115, 1047,  115, 1161,  115, 1161, 1161,  115, 1161,  115, 
    8594      1161,  115, 1161,  115,  115, 1161,  115, 1048,  115, 1161, 
    8595       115, 1161, 1161, 1161,  115,  115,  115,  115, 1161,  115, 
    8596      1047,  115,  115, 1161, 1161, 1054,  115, 1161, 1161,  115, 
    8597      1059,  115,  115,  115,  115,  115, 1048,  115, 1161,  115, 
    8598       115, 1161, 1161,  115,  115,  115, 1161,  115,  115, 1161, 
    8599  
    8600       115, 1161,  115, 1054,  115,  115, 1161,  115, 1062, 1059, 
    8601       115,  115, 1161, 1161,  115, 1161,  115, 1161, 1161,  115, 
    8602       115, 1161,  115,  115,  115,  115,  115,  115, 1063,  115, 
    8603      1161,  115,  115, 1161, 1161, 1067, 1062, 1161, 1161,  115, 
    8604      1161,  115, 1161,  115,  115, 1161, 1161,  115, 1161,  115, 
    8605      1161,  115,  115,  115,  115, 1068,  115, 1063,  115,  115, 
    8606      1161, 1161, 1161, 1067,  115, 1161,  115,  115,  115,  115, 
    8607       115,  115, 1069,  115, 1073,  115,  115, 1161,  115, 1161, 
    8608      1161,  115, 1161, 1161, 1068, 1161, 1161,  115,  115,  115, 
    8609       115,  115, 1161,  115,  115,  115,  115,  115, 1161,  115, 
    8610  
    8611      1161, 1069,  115, 1073,  115, 1161,  115,  115, 1161,  115, 
    8612      1080, 1161,  115, 1161, 1161,  115,  115,  115, 1161,  115, 
    8613       115,  115, 1161,  115,  115,  115,  115, 1087,  115, 1161, 
    8614      1161, 1161, 1161, 1161, 1088,  115,  115,  115, 1080,  115, 
    8615      1161,  115,  115, 1161,  115,  115,  115, 1161,  115, 1161, 
    8616       115,  115,  115,  115,  115, 1161, 1087,  115,  115, 1091, 
    8617      1161, 1161, 1088,  115, 1161,  115, 1161,  115,  115,  115, 
    8618       115,  115, 1095,  115,  115,  115,  115,  115, 1161, 1161, 
    8619       115, 1161,  115, 1161, 1161, 1161,  115, 1091,  115, 1161, 
    8620       115,  115, 1161,  115,  115,  115,  115, 1161,  115,  115, 
    8621  
    8622       115, 1095, 1106,  115, 1161,  115, 1161, 1161, 1161, 1161, 
    8623       115, 1161, 1161,  115, 1105, 1161,  115,  115,  115, 1161, 
    8624       115, 1108,  115,  115,  115,  115, 1161, 1161,  115,  115, 
    8625      1161, 1106, 1161, 1161, 1161, 1161,  115, 1161,  115, 1161, 
    8626       115,  115, 1105,  115, 1112,  115,  115,  115, 1161,  115, 
    8627      1108,  115,  115,  115,  115, 1161, 1161, 1161,  115,  115, 
    8628      1161, 1122, 1161, 1161,  115, 1161,  115, 1161,  115,  115, 
    8629      1161,  115, 1112, 1161,  115, 1161,  115, 1161,  115, 1161, 
    8630      1161,  115, 1161,  115, 1161, 1161, 1161,  115, 1161, 1122, 
    8631      1161, 1161, 1161, 1161,  115, 1161,  115, 1124,  948, 1124, 
    8632  
    8633      1161, 1161, 1125, 1125, 1161, 1125, 1161, 1161, 1161, 1125, 
    8634      1125, 1161, 1161, 1125, 1161, 1161, 1125, 1125, 1125, 1125, 
    8635      1125, 1125, 1125, 1125, 1125,  115,  115, 1161, 1161, 1161, 
    8636       115,  115, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1133, 
    8637      1161, 1161, 1128, 1161,  115,  115, 1161, 1161, 1161, 1161, 
    8638      1161, 1161, 1161, 1161,  115,  115, 1161, 1161, 1161,  115, 
    8639       115, 1161, 1161, 1161, 1161, 1161, 1161, 1133, 1161, 1161, 
    8640      1128, 1161,  115,  115,  947,  948,  947, 1161, 1161, 1134, 
    8641      1134, 1161, 1135, 1161,  115,  950, 1134, 1134, 1137,  115, 
    8642      1134, 1161, 1161, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 
    8643  
    8644      1134, 1134, 1161,  115,  115,  115, 1161, 1161, 1161,  115, 
    8645       115, 1161, 1161,  115, 1161, 1161, 1161, 1137,  115, 1161, 
    8646      1161, 1161, 1161,  115,  115, 1161, 1161, 1161, 1161, 1161, 
    8647      1161,  115, 1161,  115,  115, 1161, 1161, 1161,  115,  115, 
    8648      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    8649      1161,  115,  115,   64,   64,   64,   64,   64,   64,   64, 
    8650        64,   64,   64,   64,   64,   65,   65,   65,   65,   65, 
    8651        65,   65,   65,   65,   65,   65,   65,   81,   81, 1161, 
    8652        81,   81,   81,   81,   81,   81,   81,   81,   81,   84, 
    8653        84, 1161,   84,   84,   84,   84,   84,   84,   84,   84, 
    8654  
    8655        84,   88,   88,   88,   88,   88,   88,   88,   88,   88, 
    8656        88,   88,   88,   92,   92,   92,   92,   92,   92,   92, 
    8657        92,   92,   92,   92,   92,  111,  111,  115,  115,  115, 
    8658       115,  115,  115,  115,  115,  187,  187,  187,  187,  187, 
    8659       187,  187,  187,  187,  187,  187,  187,  202,  202,  202, 
    8660       202,  202,  202,  202,  202,  202,  202,  202,  202,  209, 
    8661       209,  209,  209,  209,  209, 1161,  209,  209,  209, 1161, 
    8662       209,  232,  232,  232,  232,  232,  232,  232,  232,  232, 
    8663       232,  232,  232,  101, 1161, 1161,  101,  252,  252,  252, 
    8664      1161, 1161,  252, 1161,  252,  252, 1161,  252,  252,  343, 
    8665  
    8666       343,  343,  343,  343,  343,  343,  343,  343,  343,  343, 
    8667       343,  358,  358, 1161,  358,  358,  358,  358,  358,  358, 
    8668       358,  358,  358,  371,  371,  371,  371,  371,  371, 1161, 
    8669       371,  371,  371, 1161,  371,  374,  374,  374,  374,  374, 
    8670       374,  374,  374,  374,  374,  374,  374,  379,  379,  379, 
    8671       379,  379,  379,  379,  379,  379,  379,  379,  379,  422, 
    8672      1161, 1161,  422,  276, 1161, 1161, 1161,  276, 1161, 1161, 
    8673      1161, 1161, 1161,  276,  558,  558,  558,  558,  558,  558, 
    8674       558,  558,  558,  558,  558,  558,  718,  718, 1161,  718, 
    8675       718,  718,  718,  718,  718,  718,  718,  718,  721,  721, 
    8676  
    8677      1161,  721,  721,  721,  721,  721,  721,  721,  721,  721, 
    8678       723,  723, 1161,  723,  723,  723,  723,  723,  723,  723, 
    8679       723,  723,   88,   88,   88,   88,   88,   88,   88,   88, 
    8680        88,   88,   88,   88,  726,  726,  726,  726,  726,  726, 
    8681       726,  726,  726,  726,  726,  726,   92,   92,   92,   92, 
    8682        92,   92,   92,   92,   92,   92,   92,   92,  728,  728, 
    8683       728,  728,  728,  728,  728,  728,  728,  728,  728,  728, 
    8684       812,  812,  812,  812,  812,  812,  812,  812,  812,  812, 
    8685       812,  812,  814,  814, 1161,  814,  814,  814,  814,  814, 
    8686       814,  814,  814,  814,  823,  823,  823,  823,  823,  823, 
    8687  
    8688       823,  823,  823,  823,  823,  823,  825,  825,  825,  825, 
    8689       825,  825,  825,  825,  825,  825,  825,  825,  831,  831, 
    8690      1161,  831,  831,  831,  831,  831,  831,  831,  831,  831, 
    8691       834,  834, 1161,  834,  834,  834,  834,  834,  834,  834, 
    8692       834,  834,   81,   81, 1161,   81,   81,   81,   81,   81, 
    8693        81,   81,   81,   81,  835,  835, 1161,  835,  835,  835, 
    8694       835,  835,  835,  835,  835,  835,   84,   84, 1161,   84, 
    8695        84,   84,   84,   84,   84,   84,   84,   84,  837,  837, 
    8696       837,  837,  837,  837,  837,  837,  837,  837,  837,  837, 
    8697        88,   88,   88,   88,   88,   88,   88,   88,   88,   88, 
    8698  
    8699        88,   88,  838,  838,  838,  838,  838,  838,  838,  838, 
    8700       838,  838,  838,  838,   92,   92,   92,   92,   92,   92, 
    8701        92,   92,   92,   92,   92,   92,  187,  187,  187,  187, 
    8702       187,  187,  187,  187,  187,  187,  187,  187,  904,  904, 
    8703       904,  904,  904,  904,  904,  904,  904,  904,  904,  904, 
    8704       358,  358, 1161,  358,  358,  358,  358,  358,  358,  358, 
    8705       358,  358,  814,  814, 1161,  814,  814,  814,  814,  814, 
    8706       814,  814,  814,  814,  202,  202,  202,  202,  202,  202, 
    8707       202,  202,  202,  202,  202,  202,  912,  912,  912,  912, 
    8708       912,  912,  912,  912,  912,  912,  912,  912,  374,  374, 
    8709  
    8710       374,  374,  374,  374,  374,  374,  374,  374,  374,  374, 
    8711       379,  379,  379,  379,  379,  379,  379,  379,  379,  379, 
    8712       379,  379,  825,  825,  825,  825,  825,  825,  825,  825, 
    8713       825,  825,  825,  825,  946,  946,  946,  946,  946,  946, 
    8714       946,  946,  946,  946,  946,  946,  999,  999,  999,  999, 
    8715       999,  999,  999,  999,  999,  999,  999,  999,   13, 1161, 
    8716      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    8717      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    8718      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    8719      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    8720  
    8721      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    8722      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    8723      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    8724      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    8725      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161 
     7253       50,   51,   52,   42,   53,   42,   42,   54,   14,   55, 
     7254       56,   57,   58,  222,   69,   68,   69,   70,   72,   76, 
     7255 
     7256       77,   76, 1094,   74,   78,   77,   78,   59,   59,   59, 
     7257       59,   59,   59,   59,   59,   59,   59,   75,  205,   80, 
     7258     1092,   73,  222,  208,   60,   61,  205,  223,   62,   70, 
     7259       63,   71,   74,   81,   83,   74,   87,   74,   74,   91, 
     7260       82,   64,   65,  691, 1070,   75,   92,   93,   80,   75, 
     7261       73,   75,   75,   60,   61,  223,  225,   62,   70,   63, 
     7262       71,   81,   83,   96,   74,  111,   74,   74,   84,   64, 
     7263       65,  209,   74,   88,   74,   74,   94,   75,  226,   75, 
     7264       75,   97,   85,  255,   74,  225,   75,   89,   75,   75, 
     7265       95,  227,  107,   83,  239,   74, 1070,   84,   75,  209, 
     7266 
     7267      624,   74,   88,   74,   74,   94,  226,   74,  625,   75, 
     7268       85,   74,  255,   74,   75,   89,   75,   75,   95,   74, 
     7269      227,   75,  239, 1065,   74,   75,   75,   78,   77,   78, 
     7270       76,   77,   76,   75,  240,  247,   74,   75,  248,  228, 
     7271       74,  179,  206,  205,  206,  112, 1030,  179,   74,   75, 
     7272       98,   74,   98,   75,   78,   77,   78,  224,   77,  224, 
     7273     1027,   75,  240,  247,  963,   75,  248,  228,   99,   99, 
     7274       99,   99,   99,   99,   99,   99,   99,   99,   74,  207, 
     7275       74,  114,  115,  100,  261,  116,  116,  101,   74,  102, 
     7276      212,  117,   75,   75,  103,  142,  104,  105,  118,  119, 
     7277 
     7278      121,  922,   75,  263,   87,  190,  106,   74,  207,   87, 
     7279      114,  115,  100,  261,  116,  116,  101,   74,  102,  117, 
     7280       75,  253,  103,  142,  104,  105,  118,  119,  121,   87, 
     7281       75,  120,  263,  116,  106,  108,  116,  109,  109,  109, 
     7282      109,  109,  109,  109,  109,  109,  109,  121,   83,  253, 
     7283      121,   91,  511,  230,  512,  110,  110,   74,   92,   93, 
     7284      120,  229,  116,  254,  256,  116,  245,  212,  110,  260, 
     7285      262,   75,  268,  116, 1131,  121,  246,  175,  121,  127, 
     7286      116,  230,  146,  128,  110,  110,   74,  121, 1131,  129, 
     7287      229,  254,  256,  130,  121,  245,  110,  260,  262,   75, 
     7288 
     7289      122,  268,  116, 1131,  246,  116,  116,  123,  127,  116, 
     7290      146,  124,  128,  212,  125,  121, 1131,  129,   91,  121, 
     7291      121,  130,  121,  190,  126,   92,   93,  179,  190,  122, 
     7292       78,   77,   78,  179,  116,  116,  123,  143,   87,  124, 
     7293      275,  147,  125,   87,  144,  145,  116,  121,  121,  148, 
     7294       83,  121,  126,  116,  753,  149,  211,  212,  211,  131, 
     7295      121,  132,  133,  754,  134,  135,  143,  121,  213,  275, 
     7296      147,  136,  144,  145,  264,  116,  241,   82,  148,  121, 
     7297      795,  212,  116,  149,  366,  367,  366,  131,  121,  132, 
     7298      133,  242,  134,  135,  214,  121,  259,  162,  116,  136, 
     7299 
     7300      116,  190,  264,  137,  762,  241,  138,  139,  215,  140, 
     7301      150,  753,  121,  260,  121,  141,  271,  255,  151,  242, 
     7302      754,  113,  152,  214,  153,  259,  162,  116,  257,  116, 
     7303      154,  698,  137,  243,  138,  139,  215,  140,  258,  150, 
     7304      121,  260,  121,  141,  271,  116,  255,  151,  244,  113, 
     7305      152,  158,  153,  155,  272,  156,  116,  257,  154,  121, 
     7306      157,  116,  243,  273,  274,  159,  258,  276,  160,  172, 
     7307      121,  161,  179,   87,  116,  121,  244,  534,  179,  277, 
     7308      158,  155,  272,  156,  534,  116,  278,  121,  157,  282, 
     7309      116,  273,  274,  159,   91,  276,  160,  172,  121,  161, 
     7310 
     7311      163,   92,   93,  121,  164,  116,  169,  277,  165,  643, 
     7312      116,  116,  173,  170,  278,  635,  166,  282,  285,  167, 
     7313      168,  286,  174,  171,  121,  121,  378,   77,  378,  163, 
     7314      560,  559,  295,  164,  116,  169,  287,  165,  290,  116, 
     7315      116,  173,  170,  237,  166,  196,  285,  167,  168,  286, 
     7316      174,  171,  121,  121,  176,   77,  177,  178,  186,  187, 
     7317      190,  295,  179,  557,  287,  191,  290,  511,  283,  512, 
     7318      296,  237,  197,  556,  284,  188,  188,  188,  188,  188, 
     7319      188,  188,  188,  188,  188,  297,  198,  298,  310,  180, 
     7320      181,  116,   74,  182,  116,  183,  283,  192,  296,  172, 
     7321 
     7322      200,  197,  284,  142,  203,  121,  184,  185,  121,  212, 
     7323      299,  193,  534,  297,  198,  190,  298,  310,  180,  181, 
     7324      116,   74,  182,  116,  183,  300,  192,  172,  200,  510, 
     7325      400,  142,  203,  121,  184,  185,  121,  143,  299,  193, 
     7326      194,  232,  233,  232,  144,  201,  179,  396,  395,  234, 
     7327      235,  121,  394,  300,  108,  393,  195,  195,  195,  195, 
     7328      195,  195,  195,  195,  195,  195,  143,  238,  238,  288, 
     7329       91,  288,  144,  201,  110,  110,   74,   92,   93,  121, 
     7330      238,  301,  265,  266,  302,  303,  304,  110,  267,  307, 
     7331       75,  313,  212,  651,  319,  652,  238,  238,  320,  212, 
     7332 
     7333      323,  269,  236,  110,  110,   74,  270,  330,  238,  301, 
     7334      265,  266,  302,  303,  304,  110,  267,  307,   75,  199, 
     7335      313,  289,  319,  127,  116,  205,  320,  128,  323,  190, 
     7336      269,  236,  190,  129,  344,  270,  330,  130,  121,  308, 
     7337      169,  190,  309,  279,  321,  116,  291,  170,  199,  289, 
     7338      280,  322,  127,  116,  281,  331,  128,  171,  292,  121, 
     7339      293,  129,  344,  294,  202,  130,  121,  308,   87,  169, 
     7340      309,   87,  279,  321,  116,  291,  170,   83,  280,  322, 
     7341      205,  651,  281,  652,  331,  171,  292,  121,  293,  921, 
     7342     1131,  294,  202,  210,  211,  212,  211,  210,  210,  210, 
     7343 
     7344      216,  210,  210,  210,  210,  210,  210,  210,  210,  210, 
     7345      210,  210,  217,  217,  217,  217,  217,  217,  217,  217, 
     7346      217,  217,  210,  210,  210,  210,  210,  197,  217,  217, 
     7347      217,  217,  218,  217,  123,  217,  217,  217,  219,  217, 
     7348      217,  198,  217,  217,  217,  217,  220,  217,  217,  217, 
     7349      217,  221,  217,  210,  210,  217,  197,  217,  217,  217, 
     7350      217,  218,  217,  123,  217,  217,  219,  217,  217,  198, 
     7351      217,  217,  217,  217,  220,  217,  217,  217,  217,  221, 
     7352      217,  210,   98,  251,   98,  251,   68,  305,  252,  252, 
     7353      252,  252,  252,  252,  252,  252,  252,  252,  311,  366, 
     7354 
     7355      367,  366,  306,  345,  312,  332,  667,  326,  667,  328, 
     7356      333,  335, 1131,  329,  334,  100,  305,  347,  327,  101, 
     7357      343,  102,  205,  669,  355,  669,  103,  311,  104,  105, 
     7358      306,  345,  312,  314,  332,  315,  326,  328,  106,  333, 
     7359      335,  329, 1131,  334,  100,  347,  327, 1131,  101,  343, 
     7360      102,  316,  317,  355,  103,  318,  104,  105,  337,  358, 
     7361      338, 1131,  314,  190,  315, 1131,  106,  250,  250,  250, 
     7362      250,  250,  250,  250,  250,  250,  250,  324,  341,  316, 
     7363      317,  223,  925,  318,  362,  110,  110,  358,  346,  190, 
     7364      359,  325,  342,  190,  260,  351, 1131,  233,  110,  361, 
     7365 
     7366     1131,  205,  212, 1131,  385,  235,  324,  341, 1131,  223, 
     7367      339,  186,  348,  362,  110,  110,  346,  205,  359,  325, 
     7368      342,  352,  260, 1131,  351, 1131,  110,  361,  349,  349, 
     7369      349,  349,  349,  349,  349,  349,  349,  349,  339,  350, 
     7370      262,  770,  353,  771,  390,  179,  209,  356,  376,  363, 
     7371      352,  369,  377, 1131, 1131,  349,  349,  349,  349,  349, 
     7372      349,  349,  349,  349,  349,  350,  265,  357,  262,  212, 
     7373      353,  179,  267,  390,  209,  356,  376, 1131,  363,  369, 
     7374      377,  349,  349,  349,  349,  349,  349,  349,  349,  349, 
     7375      349,  350,  205,  379,  265,  357,  212,  179, 1131,  391, 
     7376 
     7377      267,  368,  206,  205,  206,  108,  291,  354,  354,  354, 
     7378      354,  354,  354,  354,  354,  354,  354,  380,  292,  399, 
     7379      293,  379,   83,  360,   87,  110,  110,  364,  370,  371, 
     7380      368,  375, 1131, 1131,  408,  291,  233,  392,  110,  207, 
     7381       87, 1131,   83,  385,  235,  380,  292,  399,  293, 1131, 
     7382      770,  360,  771, 1131,  110,  110,  364,  370,  371, 1131, 
     7383      375,  397,  381,  408, 1131,  392,  110,  383,  207,  365, 
     7384      365,  212,  365,  365,  365,  365,  365,  365,  365,  365, 
     7385      365,  365,  365,  365,  365,  365,  365,  365,  371,  371, 
     7386      381,  382,  384,  401,  398,  383,  404,  405,  365,  365, 
     7387 
     7388      365,  365,  365,  373,   91,  374,  232,  233,  232,  406, 
     7389      407,   92,   93,  409,  234,  235, 1131,  371,  371,  382, 
     7390      384,  401,  398, 1131,  404,  405,  232,  233,  232,  365, 
     7391      365,  373, 1131,  374,  234,  235,   91,  406,  407, 1131, 
     7392      388,  409,  388,   92,   93,  389,  389,  389,  389,  389, 
     7393      389,  389,  389,  389,  389,  410,  387,  365,  365,  365, 
     7394      212,  365,  365,  365,  365,  365,  365,  365,  365,  365, 
     7395      365,  365,  365,  365,  365,  365,  365,  411,  412,  386, 
     7396      547,   77,  547,  410,  387, 1131, 1131,  365,  365,  365, 
     7397      365,  365,  372,  252,  252,  252,  252,  252,  252,  252, 
     7398 
     7399      252,  252,  252,  413,  414,  411,  412,  386,  252,  252, 
     7400      252,  252,  252,  252,  252,  252,  252,  252,  365,  365, 
     7401      402,  372,  402,  686,   77,  686, 1131, 1131,  417,  419, 
     7402      403,  413,  414,  415,  420,  421,  416, 1131,  422,  423, 
     7403      424,  425,  426, 1131, 1131,  418,  365,  250,  250,  250, 
     7404      250,  250,  250,  250,  250,  250,  250,  417,  419,  439, 
     7405      444,  415,  420,  421,  416,  238,  238,  422,  423,  424, 
     7406      425,  426,  437,  418,  437,  445,  446,  440,  238,  440, 
     7407     1131, 1131,  442,  443,  447,  448,  450,  448,  439,  444, 
     7408      451, 1131,  453,  454,  238,  238,  455,  456,  288,  457, 
     7409 
     7410      288,  460, 1131,  438,  445,  446,  238,  427,  441,  427, 
     7411      442,  443,  447,  458,  450,  470,  449, 1131,  469,  451, 
     7412      453,  454, 1131,  471,  455,  456,  459,  457,  474, 1131, 
     7413      460,  461,  472,  461,  472, 1131,  475,  465,  428,  465, 
     7414      476,  462,  458,  429,  470,  430,  469,  466,  431, 1131, 
     7415      452,  471,  432,  478,  459,  433,  477,  474,  434,  435, 
     7416      479, 1131,  436,  473,  475,  480,  481,  484,  476,  485, 
     7417      488,  482,  429,  489,  430,  463,  490,  431,  452,  483, 
     7418      432,  467,  478,  433,  477,  464,  434,  435,  491,  479, 
     7419      436,  468,  486,  480,  481,  492,  484,  485,  488,  482, 
     7420 
     7421      487,  489,  493,  463,  490,  494,  495,  483,  496,  467, 
     7422      497,  498,  499,  464,  502,  503,  500,  491,  500,  468, 
     7423      504,  486,  505,  506,  492,  507,  501,  508,  487,  509, 
     7424      346,  493,  513,  494,  514,  495,  496,  515,  497,  498, 
     7425      499,  516,  517,  502,  503,  518,  519,  190,  504, 1131, 
     7426      505,  506, 1131,  507,  190,  508,  205,  509,  346,  511, 
     7427      513,  520,  514,  190, 1131,  515,  527,  528,  530,  516, 
     7428      517,  417,  531,  518,  545,  519,  212,  521,  521,  521, 
     7429      521,  521,  521,  521,  521,  521,  521,  522,  529,  212, 
     7430      524,  533,  523,  179,  535,  527,  528,  530,  371, 1131, 
     7431 
     7432      417,  531,  545,  521,  521,  521,  521,  521,  521,  521, 
     7433      521,  521,  521,  522,  212,  525,  529,  212,  524,  179, 
     7434      533,  523,  546,  535,  548,   87, 1131,  371,  539,  521, 
     7435      521,  521,  521,  521,  521,  521,  521,  521,  521,  190, 
     7436     1131,  532,  371,  525,  522,  536,  205,  536,   83,  927, 
     7437      179,  546,  548,  541,  459,  540,  539,  538,  108,  371, 
     7438      526,  526,  526,  526,  526,  526,  526,  526,  526,  526, 
     7439      532,  371,  371,  549,   87,  552,   83,  542,  110,  110, 
     7440     1131,  541,  459,  371,  540,  538,  537,  562,  371,  233, 
     7441      558,  110,  543,  561,  544,  550,  385,  235,  667, 1029, 
     7442 
     7443      667,  371,  549,  552, 1131,  542,   91,  110,  110,  551, 
     7444      553, 1131,  371,   92,   93,  537,  562,   91,  558,  110, 
     7445      543,  561,  544,  550,   92,   93,  389,  389,  389,  389, 
     7446      389,  389,  389,  389,  389,  389,  563,  564,  551,  553, 
     7447      389,  389,  389,  389,  389,  389,  389,  389,  389,  389, 
     7448      402,  565,  402,  555,  566, 1131,  554,  567, 1131,  568, 
     7449      403,  569,  570,  571,  572,  563,  564,  573,  574,  575, 
     7450      576,  577,  578,  589,  578,  590,  591, 1131,  592,  565, 
     7451      593,  596,  555,  566,  554,  597,  567,  568,  594,  569, 
     7452      570,  598,  571,  572,  599,  573,  574,  575,  576,  577, 
     7453 
     7454      437,  589,  437,  590,  595,  591,  592,  602,  593,  596, 
     7455      440,  605,  440,  579,  597,  606,  603,  594,  603,  598, 
     7456      607,  448,  599,  448,  212,  608,  609,  580,  610, 1131, 
     7457      613,  438,  595,  611,  612,  602,  614,  616,  617,  605, 
     7458      619,  441,  579,  615,  606,  618,  621,  604,  620,  607, 
     7459     1131,  622,  449,  608,  609,  580,  427,  610,  427,  613, 
     7460      623,  611,  612, 1131,  629,  614,  616,  617,  461,  619, 
     7461      461,  615,  465,  618,  465,  621,  620,  627,  462,  622, 
     7462      632,  472,  466,  472, 1033,  628,  630,  428,  623,  631, 
     7463      633,  624,  581,  629,  582,  634,  640,  583,  645,  625, 
     7464 
     7465      636,  584, 1131,  637,  585,  627,  638,  586,  587,  632, 
     7466      639,  588,  473,  628,  630, 1131, 1131,  631,  633, 1131, 
     7467      646,  581,  646,  582,  634,  640,  583,  645,  636,  584, 
     7468      626,  637,  585,  644,  638,  586,  587, 1131,  639,  588, 
     7469      600,  600,  600,  600,  600,  600,  600,  600,  600,  600, 
     7470      600,  647,  600,  600,  600,  600,  600,  600,  600,  626, 
     7471      648,  644,  649,  650,  641,  500,  641,  500,  653,  600, 
     7472      600,  600,  600,  600,  642,  501,  654,  655,  656,  657, 
     7473      658,  190,  190,  669,  205,  669,  190, 1131,  667,  648, 
     7474      667,  649,  650,  651,  668,  659,  666,  653,  701,  205, 
     7475 
     7476      600,  600,  571,  212,  654,  670,  655,  656,  657,  658, 
     7477      205,  660,  660,  660,  660,  660,  660,  660,  660,  660, 
     7478      660,  661,  664,  668,  666,  684,  701,  179,  600,  703, 
     7479      662,  571,  663,  675,  670, 1131, 1131,  660,  660,  660, 
     7480      660,  660,  660,  660,  660,  660,  660,  661, 1131,  212, 
     7481      212,  664,  679,  179,  684,  676,  705,  703,  662, 1050, 
     7482      663,  675, 1131,  660,  660,  660,  660,  660,  660,  660, 
     7483      660,  660,  660,  661,  614,  536,  205,  536, 1131,  179, 
     7484      679,  615,  687,  676,  705,  671,  678,  108,  371,  665, 
     7485      665,  665,  665,  665,  665,  665,  665,  665,  665,  677, 
     7486 
     7487      672, 1131,  672,  614,   87,   83,  680,  110,  110,  615, 
     7488      673,  687,  699,  671,  674,  678,  537,  371,  371, 1131, 
     7489      110,  371,  681,   91,  371,  682,  700,  677,  683,  704, 
     7490       92,   93,  706,  712,  680,   91,  110,  110,  689,  713, 
     7491      692,  699,  696,  697,  707,  537,  708,  371,  110,  709, 
     7492      371,  681,  710,  371,  682,  700,  711,  683,  704,  694, 
     7493     1131,  706,  712,  718,  770,  186,  775,  689,  713,  692, 
     7494     1131,  578,  707,  578,  708, 1131,  641,  709,  641,  716, 
     7495      710,  717, 1131,  719,  711,  720,  642,  721,  694,  685, 
     7496      685,  718,  685,  685,  685,  685,  685,  685,  685,  685, 
     7497 
     7498      685,  685,  685,  685,  685,  685,  685,  685,  716,  722, 
     7499      717,  719,  714,  723,  720,  721,  725,  726,  685,  685, 
     7500      685,  685,  685,  727,  728, 1131,  715,  729,  730,  724, 
     7501      731, 1131,  732,  733,  734,  739,  735,  722,  735, 1131, 
     7502      737,  714,  723,  603,  725,  603,  726,  738,  742,  685, 
     7503      685,  727,  740,  728,  715,  729,  730,  724,  741,  731, 
     7504      732,  743,  733,  734,  739,  744,  745,  736,  737,  746, 
     7505      747, 1131,  748,  749,  604,  738,  742,  685,  750,  751, 
     7506      752,  740,  755, 1131,  756,  757,  758,  741,  759,  760, 
     7507      743,  761,  766,  744,  745,  763,  764,  765,  746,  747, 
     7508 
     7509      748,  767,  749,  768,  769,  646,  750,  646,  751,  752, 
     7510      772,  755,  756,  773,  757,  758,  759,  774,  760,  190, 
     7511      761,  766,  190,  763,  764,  765,  779,  780,  669,  767, 
     7512      669,  768,  769,  672,  781,  672,  647,  782,  672,  772, 
     7513      672,  205,  773,  673,  371,  774,  205,  674,  673,  674, 
     7514      371,  674,  674,  212,  212,  779,  780,  801,  777,  776, 
     7515       91, 1131,  781,  674,   91,  371,  782,  798,  799,  788, 
     7516       91,   92,   93,  371,  802,  803, 1131,   92,   93,  371, 
     7517      770,  833,  771,  833,  190,  801,  783,  777,  776,  179, 
     7518      785,  834,  784,  787,  371,  179, 1131,  804,  788,  805, 
     7519 
     7520      806,  807,  802,  108,  803,  109,  109,  109,  109,  109, 
     7521      109,  109,  109,  109,  109,  783,  808, 1131,  809,  785, 
     7522      784,  810,  787,  110,  110,  804,  814,  805,  806,  807, 
     7523      815,  816, 1131,  817,  818, 1131,  110,  851, 1131,  851, 
     7524      770,  864,  770,  864, 1093,  808,  809,  852, 1131,  864, 
     7525      810,  864,  110,  110,  811,  814,  811,  819,  820,  815, 
     7526      816,  817,  821,  818,  110,  786,  786,  212,  786,  786, 
     7527      786,  786,  786,  786,  786,  786,  786,  786,  786,  786, 
     7528      786,  786,  786,  786,  822,  819,  820,  823,  824,  812, 
     7529      826,  821,  825,  827,  786,  786,  786,  786,  786,  828, 
     7530 
     7531      829, 1131,  813,  830,  831,  735,  832,  735,  205,  835, 
     7532      836,  837,  822,  838, 1131,  839,  823,  824,  812,  826, 
     7533      825,  840,  827,  841,  844,  786,  786,  828,  846,  829, 
     7534      813,  830,  831, 1131, 1131,  832,  736,  835, 1131,  836, 
     7535      837,  845,  838,  839,  847,  770,  186,  775,  833,  840, 
     7536      833,  841,  844,  786,  791,   77,  791,  846,  834,  792, 
     7537      792,  842,  792,  842, 1131, 1131,  792,  792, 1095,  845, 
     7538      792, 1131,  847,  792,  792,  792,  792,  792,  792,  792, 
     7539      792,  792,  790,  790,  190,  790,  790,  790,  790,  790, 
     7540      790,  790,  790,  790,  790,  790,  790,  790,  790,  790, 
     7541 
     7542      790,  848,  849,  205,  850,  853, 1131,  856,  858,  843, 
     7543      857,  790,  790,  790,  790,  790,  854,  859,  854,  862, 
     7544      865,  860,  205,  212,  863,  371,  791,   77,  791,  848, 
     7545      873,  849,  850,  879,  853,  856,  858,  843,  874,  857, 
     7546      866, 1131,  790,  790,  875,  876,  859,  877,  862,  865, 
     7547      860,  855,  863,  878,  371,   91,  882,   91,  867,  873, 
     7548      869,  879,   92,   93,   92,   93,  864,  874,  864,  866, 
     7549      790, 1131, 1131,  875,  876, 1131,  877,  811, 1131,  811, 
     7550      855,  871,  878,  883,  882,  872,  884,  867,  885,  869, 
     7551      868,  868,  212,  868,  868,  868,  868,  868,  868,  868, 
     7552 
     7553      868,  868,  868,  868,  868,  868,  868,  868,  868,  886, 
     7554      871,  883,  880,  888,  872,  884,  885,  887,  889,  868, 
     7555      868,  868,  868,  868,  890,  881,  891, 1131,  892,  893, 
     7556      894,  895,  896, 1131,  897,  898,  899,  908,  886,  900, 
     7557      212,  880,  888,  906,  907,  887,  842,  889,  842,  910, 
     7558      868,  868,  890,  881,  911,  891,  892,  893,  894,  895, 
     7559      912,  896,  897,  913,  898,  899,  908,  900,  902,  903, 
     7560      902,  906,  907,  851,  914,  851,  904,  910,  868,  905, 
     7561      915,  917,  911,  852,  854,  918,  854,  919,  912,  920, 
     7562      205,  924,  913,  923,  909,  371,  928, 1131,  929,  930, 
     7563 
     7564     1096,  931,  932,  914,  933,  934,  935,  936,  915,  937, 
     7565      917,  938, 1131,  939,  918,  919,  940,  944,  920,  916, 
     7566      924,  923,  909,  941,  371,  928,  929,  942,  930,  931, 
     7567      932,  943,  933,  934,  935,  936,  945,  937,  950,  926, 
     7568      938,  939,  946,  947,  948,  940,  944,  949,  916,  951, 
     7569      952,  941,  902,  903,  902,  942,  953,  903,  953,  943, 
     7570      904,  960, 1131,  905,  945,  961,  950,  926, 1131,  959, 
     7571      964,  946,  947,  948,  962,  965,  949,  951,  952,  902, 
     7572      903,  902,  966,  955,  956,  955,  967,  904,  968,  960, 
     7573      905,  957,  969,  961,  958,  902,  903,  902,  959,  964, 
     7574 
     7575      190,  971,  962,  904,  965,  972,  905,  205,  205,  212, 
     7576      966,  976,  977,  978,  967, 1131,  968,  979, 1131,  980, 
     7577      981,  969,  982,  983,  984,  987,  985,  988,  985,  989, 
     7578      971,  990,  991,  992,  972,  970,  986,  993,  994,  976, 
     7579      977,  978,  995,  973,  975,  974,  979,  980, 1131,  981, 
     7580      982, 1131,  983,  984,  987,  999,  988,  998,  989,  990, 
     7581      991,  992, 1131, 1131,  970,  993,  994,  996,  903,  996, 
     7582     1001,  995,  973,  975,  974,  955,  956,  955,  190,  955, 
     7583      956,  955, 1000,  957,  999,  998,  958,  957, 1002,  205, 
     7584      958,  997,  956,  997, 1003,  955,  956,  955, 1001,  904, 
     7585 
     7586     1004,  212,  905,  957, 1006,  205,  958,  955,  956,  955, 
     7587     1010, 1000, 1011, 1013, 1011,  957, 1014, 1002,  958, 1131, 
     7588     1015, 1016, 1012, 1003, 1005,  985,  985,  985,  985, 1004, 
     7589     1017, 1018, 1006, 1019, 1007,  986,  986, 1008, 1021, 1010, 
     7590     1020, 1013, 1022,  205,  205, 1014, 1131, 1009, 1015, 1025, 
     7591     1016, 1131, 1005, 1023,  903, 1023, 1026, 1028, 1017, 1018, 
     7592     1036, 1019, 1007, 1039, 1037, 1038, 1008, 1021, 1020, 1040, 
     7593     1041, 1022, 1024,  903, 1024, 1009, 1042, 1032, 1025, 1031, 
     7594      904,  205, 1011,  905, 1011, 1026, 1028, 1034, 1036, 1034, 
     7595     1045, 1039, 1012, 1037, 1038, 1046,  190, 1040, 1047, 1041, 
     7596 
     7597     1035, 1049, 1035,  212, 1042, 1056, 1032, 1055, 1031, 1043, 
     7598      903, 1043, 1044,  903, 1044, 1131, 1057, 1051, 1035, 1045, 
     7599      904, 1058, 1060,  905, 1046, 1034, 1047, 1034, 1063, 1049, 
     7600     1059,  190, 1053, 1056, 1053,  212, 1055, 1064, 1035,  205, 
     7601     1035, 1048, 1073, 1054, 1057, 1035, 1051, 1035, 1052, 1075, 
     7602     1058, 1060, 1061,  903, 1061, 1067, 1035, 1063, 1059, 1062, 
     7603      903, 1062, 1053, 1035, 1053, 1064, 1072,  904, 1074, 1048, 
     7604      905, 1073, 1079, 1054, 1068,  205, 1052, 1066, 1075, 1080, 
     7605     1081, 1071, 1131, 1067, 1078,  903, 1078,  190,  212, 1083, 
     7606     1131, 1086,  904, 1131, 1072,  905, 1074, 1087, 1131, 1090, 
     7607 
     7608     1079,  190,  205, 1068,  190, 1066, 1131, 1080, 1081, 1071, 
     7609     1076,  903, 1076,  205, 1131, 1077, 1077, 1083, 1077, 1086, 
     7610     1097, 1084, 1077, 1077, 1091, 1087, 1077, 1090, 1098, 1077, 
     7611     1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1082, 1085, 
     7612     1076,  903, 1076,  902,  903,  902, 1131, 1100, 1097, 1084, 
     7613     1103,  904,  212, 1091,  905, 1099, 1108, 1098, 1101,  205, 
     7614      212,  205, 1113, 1131,  190, 1131, 1082, 1085,  902,  903, 
     7615      902, 1104,  205, 1088, 1088, 1100, 1089,  190, 1103,  905, 
     7616     1088, 1088,  212, 1099, 1088, 1108, 1101, 1088, 1088, 1088, 
     7617     1088, 1088, 1088, 1088, 1088, 1088,  902,  903,  902, 1104, 
     7618 
     7619      955,  956,  955, 1102,  904, 1105,  190,  905,  957, 1106, 
     7620     1112,  958, 1109, 1107,  212, 1115, 1116,  212, 1110, 1119, 
     7621     1120, 1119,  205, 1117, 1121, 1122, 1121, 1124, 1125, 1124, 
     7622      205, 1102,  205, 1105, 1119, 1120, 1119, 1106, 1111, 1112, 
     7623     1109,  205, 1107, 1115, 1116, 1131, 1114, 1110, 1121, 1122, 
     7624     1121, 1117, 1124, 1125, 1124, 1129, 1130, 1129, 1129, 1130, 
     7625     1129, 1131, 1131, 1131, 1127, 1131, 1126, 1111, 1118, 1131, 
     7626     1131, 1123, 1131, 1131, 1131, 1114, 1131, 1131, 1131, 1131, 
     7627     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7628     1131, 1131, 1128, 1127, 1131, 1126, 1118, 1131, 1131, 1123, 
     7629 
     7630     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7631     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7632     1128,   66,   66,   66,   66,   66,   66,   66,   66,   66, 
     7633       66,   66,   66,   66,   67,   67,   67,   67,   67,   67, 
     7634       67,   67,   67,   67,   67,   67,   67,   79, 1131,   79, 
     7635       79,   79,   79,   79,   79,   79,   79,   79,   79,   79, 
     7636       82,   82,   82,   82,   82,   82,   82,   82,   82,   82, 
     7637       82,   82,   82,   86,   86,   86,   86,   86,   86,   86, 
     7638       86,   86,   86,   86,   86,   86,   90,   90,   90,   90, 
     7639       90,   90,   90,   90,   90,   90,   90,   90,   90,  113, 
     7640 
     7641      113,  113,  113,  113,  113,  113,  113,  113,  189,  189, 
     7642      189,  189,  189,  189,  189,  189,  189,  189,  189,  189, 
     7643      189,  204,  204,  204,  204,  204,  204,  204,  204,  204, 
     7644      204,  204,  204,  204,  210,  210,  210,  210,  210, 1131, 
     7645      210,  210,  210, 1131,  210, 1131,  210,  231,  231,  231, 
     7646      231,  231,  231,  231,  231,  231,  231,  231,  231,  231, 
     7647       99, 1131, 1131, 1131, 1131, 1131, 1131, 1131,   99,  249, 
     7648      249, 1131,  249,  249, 1131,  249, 1131, 1131,  249,  249, 
     7649     1131,  249,  336,  336,  336,  336,  340,  340,  340,  340, 
     7650      340,  340,  340,  340,  340,  340,  340,  340,  340,  365, 
     7651 
     7652      365,  365,  365,  365,  365,  365,  365,  365,  365,  365, 
     7653      365,  365,  371,  371,  371,  371,  371,  371,  371,  371, 
     7654      371,  371,  371,  371,  371,  601,  601,  601, 1131,  601, 
     7655      601,  601,  601,  601,  601,  601,  601,  601,  685, 1131, 
     7656      685,  685,  685,  685,  685,  685,  685,  685,  685,  685, 
     7657      685,  688, 1131,  688,  688,  688,  688,  688,  688,  688, 
     7658      688,  688,  688,  688,  690,  690,  690,  690,  690,  690, 
     7659      690,  690,  690,  690,  690,  690,  690,  693,  693,  693, 
     7660      693,  693,  693,  693,  693,  693,  693,  693,  693,  693, 
     7661      695,  695,  695,  695,  695,  695,  695,  695,  695,  695, 
     7662 
     7663      695,  695,  695,  702, 1131,  702,  702,  702,  702,  702, 
     7664      702,  702,  702,  702,  702,  702,  778,  778,  778,  778, 
     7665      778,  778,  778,  778,  778,  778,  778,  778,  778,  786, 
     7666      786,  786,  786,  786,  786,  786,  786,  786,  786,  786, 
     7667      786,  786,  789,  789,  789,  789,  789,  789,  789,  789, 
     7668      789,  789,  789,  789,  789,  790, 1131,  790,  790,  790, 
     7669      790,  790,  790,  790,  790,  790,  790,  790,  793, 1131, 
     7670      793,  793,  793,  793,  793,  793,  793,  793,  793,  793, 
     7671      793,  794,  794,  794,  794,  794,  794,  794,  794,  794, 
     7672      794,  794,  794,  794,  796,  796,  796,  796,  796,  796, 
     7673 
     7674      796,  796,  796,  796,  796,  796,  796,  797,  797,  797, 
     7675      797,  797,  797,  797,  797,  797,  797,  797,  797,  797, 
     7676      800, 1131,  800,  800,  800,  800,  800,  800,  800,  800, 
     7677      800,  800,  800,  861,  861,  861,  861,  861,  861,  861, 
     7678      861,  861,  861,  861,  861,  861,  868,  868,  868,  868, 
     7679      868,  868,  868,  868,  868,  868,  868,  868,  868,  870, 
     7680      870,  870,  870,  870,  870,  870,  870,  870,  870,  870, 
     7681      870,  870,  901,  901,  901,  901,  901,  901,  901,  901, 
     7682      901,  901,  901,  901,  901,  954,  954,  954,  954,  954, 
     7683      954,  954,  954,  954,  954,  954,  954,  954, 1069, 1069, 
     7684 
     7685     1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 
     7686     1069,   13, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7687     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7688     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7689     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7690     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7691     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7692     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7693     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7694     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     7695 
     7696     1131 
    87267697    } ; 
    87277698 
    8728 static yyconst flex_int16_t yy_chk[9249] = 
     7699static yyconst flex_int16_t yy_chk[4102] = 
    87297700    {   0, 
    87307701        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
     
    87377708        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    87387709        1,    1,    1,    1,    1,    1,    1,    1,    1,    2, 
    8739         2,    2,    2,   10,    8,    8,    8,    8,   15,   15, 
    8740  
    8741        15,   68, 1129,   14,   10, 1119,   68,    2,    2,    2, 
    8742         2,    2,    2,    2,    2,    2,    2,   14,   16,   16, 
    8743        16,   54,   54,   54,    2,    2,   18,   10,    2,   19, 
    8744         2,    8,   14,   17,   17,   17,   15,   20,   21, 1096, 
    8745        18,    2,    2,  176,   22,   14, 1084,   25,   26,  176, 
    8746        15,   20,   21,    2,    2,   18,   10,    2,   75,    2, 
    8747         8,   25,   42,   19,   69,   15,   20,   21,   18,    2, 
    8748         2,   17,   24,   27,   26,   23,   25,   19,   15,   20, 
    8749        21,   22,   23,   23,   29,   17,   75,   27,   26,   25, 
    8750      1045,   42,   19,   24,  959,   22,   30,  339,   74,  339, 
    8751  
    8752        17,   82,   27,   26,  340,   19,  340,   24,   83,   69, 
    8753        22,   29,   23,   17,   31,   27,   26,   32,   30,   34, 
    8754        41,  178,   24,   22,  916,   29,   23,   74,   31,  912, 
    8755        82,   32,   30,   34,   41,   24,   83,   69,   49,  685, 
    8756        29,   23,   49,   31,  905,  685,   32,   30,   34,   41, 
    8757       178,  207,   33,   29,   23,   28,   31,   28,   33,   32, 
    8758        30,   34,   41,   76,   76,   76,  242,   49,   67,   67, 
    8759        67,   49,   33,   28,   28,   28,   28,   28,   28,   28, 
    8760        28,   28,   28,   86,   43,   63,  207,   33,   28,   43, 
    8761        44,  350,   28,   28,   28,  242,   43,   43,  904,   28, 
    8762  
    8763        33,   28,   28,   63,   44,   67,   91,   28,   77,   77, 
    8764        77,   28,   86,   43,   63,  207,  837,   28,   43,   44, 
    8765       350,   28,   28,   28,   43,   43,   87,   28,  360,   28, 
    8766        28,   63,   44,  835,   67,   28,   78,   78,   78,   28, 
    8767        35,   86,   35,   35,   35,   35,   35,   35,   35,   35, 
    8768        35,   35,   38,   40,  830,   91,   38,  360,   35,   35, 
    8769        38,   40,   35,  903,   40,  102,   38,   40,   35,  103, 
    8770        38,  107,   87,   40,   90,   35,   35,   79,   79,   79, 
    8771       825,   38,   40,   91,  342,   38,  342,   35,   35,   38, 
    8772        40,   35,   40,  102,   38,   40,   35,  103,   38,  107, 
    8773  
    8774        87,   40,  108,   35,   35,   36,   90,   36,   36,   36, 
    8775        36,   36,   36,   36,   36,   36,   36,  179,   37,  359, 
    8776        39,  359,   36,  903,  823,   37,   45,   36,  822,   37, 
    8777       108,   39,   37,   39,   45,   90,   39,   39,   46,  205, 
    8778        45,   36,   37,   39,  812,  179,   46,   37,  393,   39, 
    8779       180,   36,   46,  182,   37,   45,   36,   37,   46,   39, 
    8780        37,   39,   48,   45,   39,   39,   51,   46,   45,   36, 
    8781        37,   39,   47,   51,  811,   46,   48,  393,  180,   48, 
    8782        46,  182,   48,   51,  205,   47,   46,   47,  104,   50, 
    8783       220,   48,   47,   50,  529,   51,  529,   50,  396,   52, 
    8784  
    8785       450,   47,   51,  104,   48,   50,   52,   48,   50,   50, 
    8786        48,   51,  205,   47,  532,   47,   52,  104,   50,  804, 
    8787        47,  220,   50,   80,   80,   80,   50,  396,   52,  450, 
    8788       530,  104,  530,   50,   92,   52,   50,   50,   55,   55, 
    8789        55,   92,   92,  532,   52,   53,   53,   53,   53,  220, 
    8790        56,  223,  531,   53,  531,   56,   55,   55,   55,   55, 
    8791        55,   55,   55,   55,   55,   55,  184,  184,  184,   94, 
    8792        70,   70,   70,   71,   71,   71,   94,   94,   60,  223, 
    8793        53,   53,   70,   53,   53,   71,   53,   56,  726,   60, 
    8794       106,  191,   60,  686,   93,   93,   93,   53,   53,  686, 
    8795  
    8796       106,   56,   93,   93,  181,   70,  725,   60,   71,   53, 
    8797        53,  181,   53,   53,  723,   53,   56,   60,  722,  106, 
    8798        60,   72,   72,   72,  910,   53,   53,  214,  106,   56, 
    8799        57,   58,  181,   72,   70,   96,   57,   71,  222,  181, 
    8800       191,  716,   96,   96,   57,  189,   57,   57,   57,   57, 
    8801        57,   57,   57,   57,   57,   57,   59,  222,   58,   72, 
    8802        59,  208,  208,  208,   59,   58,   57,   96,  191,   58, 
    8803        59,  190,   58,   72,   59,  714,  214,  189,   61,  206, 
    8804        57,  706,   58,   61,  910,   59,  222,   58,   72,   59, 
    8805        61,   61,   62,   59,   58,   57,   96,   58,   59,   62, 
    8806  
    8807        58,   72,   59,  190,  214,  224,  189,   61,   57,   62, 
    8808        58,  206,   61,  210,  210,  210,   62,  689,   61,   61, 
    8809       664,   62,  225,  225,  225,  585,  580,  232,   62,  578, 
    8810       558,  235,  190,  224,  232,  232,  554,   62,  235,  235, 
    8811       206,  372,  372,  372,   62,   73,   73,   73,   73,   73, 
     7710        2,    2,    2,   74,    8,    8,    8,    8,   10,   15, 
     7711 
     7712       15,   15, 1083,   14,   16,   16,   16,    2,    2,    2, 
     7713        2,    2,    2,    2,    2,    2,    2,   14,   70,   17, 
     7714     1081,   10,   74,   70,    2,    2,   71,   75,    2,    8, 
     7715        2,    8,   14,   17,   18,   19,   21,   15,   20,   22, 
     7716      551,    2,    2,  551, 1069,   14,   22,   22,   17,   19, 
     7717       10,   15,   20,    2,    2,   75,   80,    2,    8,    2, 
     7718        8,   17,   84,   23,   19,   30,   15,   20,   18,    2, 
     7719        2,   71,   24,   21,   26,   30,   22,   19,   81,   15, 
     7720       20,   25,   18,  116,   23,   80,   24,   21,   26,   30, 
     7721       22,   84,   28,   85,  100,   31, 1051,   18,   23,   71, 
     7722 
     7723      624,   24,   21,   26,   30,   22,   81,   25,  624,   31, 
     7724       18,   32,  116,   23,   24,   21,   26,   30,   22,   28, 
     7725       84,   25,  100, 1047,   31,   32,   23,   56,   56,   56, 
     7726       76,   76,   76,   28,  101,  105,   25,   31,  106,   85, 
     7727       32,  179,   69,   69,   69,   33, 1006,  179,   28,   25, 
     7728       27,   33,   27,   32,   77,   77,   77,   78,   78,   78, 
     7729     1000,   28,  101,  105,  914,   33,  106,   85,   27,   27, 
     7730       27,   27,   27,   27,   27,   27,   27,   27,   34,   69, 
     7731       33,   35,   35,   27,  120,   35,   41,   27,   27,   27, 
     7732      868,   35,   34,   33,   27,   41,   27,   27,   35,   35, 
     7733 
     7734       41,  862,   27,  123,   89,  861,   27,   34,   69,  796, 
     7735       35,   35,   27,  120,   35,   41,   27,   27,   27,   35, 
     7736       34,  114,   27,   41,   27,   27,   35,   35,   41,   88, 
     7737       27,   36,  123,   42,   27,   29,   36,   29,   29,   29, 
     7738       29,   29,   29,   29,   29,   29,   29,   42,  794,  114, 
     7739       36,   90,  337,   89,  337,   29,   29,   29,   90,   90, 
     7740       36,   88,   42,  115,  117,   36,  104,  786,   29,  121, 
     7741      122,   29,  126,   44,  109,   42,  104,   54,   36,   38, 
     7742       38,   89,   44,   38,   29,   29,   29,   44,  109,   38, 
     7743       88,  115,  117,   38,   38,  104,   29,  121,  122,   29, 
     7744 
     7745       37,  126,   44,  109,  104,   37,   54,   37,   38,   38, 
     7746       44,   37,   38,  785,   37,   44,  109,   38,   92,   37, 
     7747       54,   38,   38,  778,   37,   92,   92,  660,  777,   37, 
     7748      186,  186,  186,  660,   37,   54,   37,   43,  693,   37, 
     7749      132,   45,   37,  692,   43,   43,   45,   37,   54,   45, 
     7750      690,   43,   37,   39,  625,   45,   72,   72,   72,   39, 
     7751       45,   39,   39,  625,   39,   39,   43,   39,   72,  132, 
     7752       45,   39,   43,   43,  124,   45,  102,  689,   45,   43, 
     7753      689,  678,   39,   45,  211,  211,  211,   39,   45,   39, 
     7754       39,  102,   39,   39,   72,   39,  119,   49,   49,   39, 
     7755 
     7756       40,  664,  124,   40,  635,  102,   40,   40,   72,   40, 
     7757       46,  753,   49,  119,   40,   40,  128,  143,   46,  102, 
     7758      753,   46,   46,   72,   46,  119,   49,   49,  118,   40, 
     7759       46,  558,   40,  103,   40,   40,   72,   40,  118,   46, 
     7760       49,  119,   40,   40,  128,   47,  143,   46,  103,   46, 
     7761       46,   48,   46,   47,  129,   47,   48,  118,   46,   47, 
     7762       47,   52,  103,  130,  131,   48,  118,  133,   48,   52, 
     7763       48,   48,  661,  553,   47,   52,  103,  534,  661,  134, 
     7764       48,   47,  129,   47,  519,   48,  135,   47,   47,  137, 
     7765       52,  130,  131,   48,   95,  133,   48,   52,   48,   48, 
     7766 
     7767       50,   95,   95,   52,   50,   50,   51,  134,   50,  496, 
     7768       53,   51,   53,   51,  135,  487,   50,  137,  139,   50, 
     7769       50,  140,   53,   51,   53,   51,  224,  224,  224,   50, 
     7770      401,  399,  146,   50,   50,   51,  141,   50,  144,   53, 
     7771       51,   53,   51,   95,   50,   60,  139,   50,   50,  140, 
     7772       53,   51,   53,   51,   55,   55,   55,   55,   57,   57, 
     7773       58,  146,   55,  392,  141,   58,  144,  338,  138,  338, 
     7774      147,   95,   60,  390,  138,   57,   57,   57,   57,   57, 
     7775       57,   57,   57,   57,   57,  148,   60,  149,  159,   55, 
     7776       55,   65,   55,   55,   62,   55,  138,   58,  147,   65, 
     7777 
     7778       62,   60,  138,   62,   65,   65,   55,   55,   62,  365, 
     7779      150,   58,  362,  148,   60,  340,  149,  159,   55,   55, 
     7780       65,   55,   55,   62,   55,  151,   58,   65,   62,  336, 
     7781      247,   62,   65,   65,   55,   55,   62,   63,  150,   58, 
     7782       59,   91,   91,   91,   63,   63,   59,  244,  243,   91, 
     7783       91,   63,  242,  151,   59,  241,   59,   59,   59,   59, 
     7784       59,   59,   59,   59,   59,   59,   63,   99,   99,  142, 
     7785       94,  142,   63,   63,   59,   59,   59,   94,   94,   63, 
     7786       99,  152,  125,  125,  153,  154,  155,   59,  125,  157, 
     7787       59,  161,  213,  511,  163,  511,   99,   99,  164,  210, 
     7788 
     7789      166,  127,   94,   59,   59,   59,  127,  170,   99,  152, 
     7790      125,  125,  153,  154,  155,   59,  125,  157,   59,   61, 
     7791      161,  142,  163,   61,   61,  204,  164,   61,  166,  860, 
     7792      127,   94,  189,   61,  182,  127,  170,   61,   61,  158, 
     7793       64,  178,  158,  136,  165,   64,  145,   64,   61,  142, 
     7794      136,  165,   61,   61,  136,  171,   61,   64,  145,   64, 
     7795      145,   61,  182,  145,   64,   61,   61,  158,   87,   64, 
     7796      158,   86,  136,  165,   64,  145,   64,   82,  136,  165, 
     7797       67,  512,  136,  512,  171,   64,  145,   64,  145,  860, 
     7798       13,  145,   64,   73,   73,   73,   73,   73,   73,   73, 
     7799 
    88127800       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    88137801       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
     
    88157803       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    88167804       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    8817  
    88187805       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    88197806       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    88207807       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    8821        73,   73,   73,   73,   97,  101,  101,  105,  204,  204, 
    8822       204,   97,   97,  226,  538,  227,  213,  675,  101,  675, 
    8823       534,  111,  105,  111,  111,  111,  111,  111,  111,  111, 
    8824       111,  111,  111,  421,  101,  101,  105,  375,  375,  375, 
    8825       419,  226,  173,  227,  173,  204,  101,  114,  213,  534, 
    8826       105,  219,  412,   97,  113,  113,  113,  113,  113,  113, 
    8827       113,  113,  113,  113,  114,  228,  115,  118,  219,  114, 
    8828  
    8829       116,  115,  118,  125,  204,  116,  410,  213,  125,  231, 
    8830       173,   97,  100,  114,  100,  115,  118,  229,  116,  116, 
    8831       386,  221,  125,  114,  173,  115,  118,  219,  114,  116, 
    8832       115,  118,  125,  379,  116,  228,  249,  125,  230,  173, 
    8833       374,  114,  251,  115,  118,  100,  116,  116,  117,  100, 
    8834       125,  100,  173,  117,  243,  221,  100,  276,  100,  100, 
    8835       248,  231,  117,  228,  249,  401,  229,  117,  100,  294, 
    8836       251,  294,  401,  401,  100,  371,  343,  117,  100,  294, 
    8837       100,  230,  117,  221,  100,  276,  100,  100,  535,  231, 
    8838       117,  250,  243,  248,  229,  117,  100,  110,  110,  110, 
    8839  
    8840       110,  110,  110,  110,  110,  110,  110,  119,  121,  230, 
    8841       913,  247,  119,  121,  120,  110,  110,  535,  119,  120, 
    8842       243,  248,  120,  246,  400,  121,  119,  121,  110,  245, 
    8843       233,  233,  233,  120,  341,  277,  119,  121,  233,  233, 
    8844       344,  119,  121,  120,  110,  110,  119,  122,  120,  122, 
    8845       244,  120,  122,  121,  119,  121,  110,  177,  123,  218, 
    8846       400,  120,  341,  123,  212,  345,  122,  346,  344,  354, 
    8847       913,  177,  277,  347,  209,  123,  122,  123,  122,  124, 
    8848       202,  122,  348,  126,  124,  187,  177,  123,  126,  400, 
    8849       124,  349,  123,  345,  122,  346,  183,  126,  124,  177, 
    8850  
    8851       277,  347,  126,  123,  676,  123,  676,  354,  124,  127, 
    8852       348,  175,  126,  124,  127,  174,  237,  126,  124,  349, 
    8853        89,  127,  127,  237,  237,  126,  124,  127,  127,  128, 
    8854       126,  128,  129,  389,  128,  130,  354,  129,  127,  292, 
    8855       130,  292,  361,  127,  234,  234,  234,  130,  128,  127, 
    8856       127,  129,  234,  234,  130,  127,  127,  536,  128,  237, 
    8857       128,  129,   88,  128,  130,  388,  129,   84,  389,  130, 
    8858       361,  380,  380,  380,  356,  130,  128,   65,   13,  129, 
    8859       378,  238,  130,  131,  355,  131,  536,  237,  238,  238, 
    8860       369,  292, 1051,  388,  390,  133,  389,  392,    9,  131, 
    8861  
    8862       133,  131,  131,  131,  131,  131,  131,  131,  131,  131, 
    8863       131,  132, 1081,  133,  133,  134,  132,    7,  134,  292, 
    8864       134,  388,  132,  398,  133,  392,  356,  355,  369,  133, 
    8865       132,  390,  378,  238,  134,  677,  131,  677,  131, 1130, 
    8866       132,  133,  133,  381,  134,  132,  136,  134,  135,  134, 
    8867       132,  136, 1051,  135,  356,  355,  398,  369,  132,  390, 
    8868       378,  238,  134,  136,  131,  136,  131,  135,  135,  139, 
    8869       377,  137, 1081,  138,  139,  136,  137,  135,  138,  137, 
    8870       136,  381,  135,  139,  138,  398,  137,  395,  139,    0, 
    8871       137,  136,  138,  136,  418,  135,  135,  397,  139, 1130, 
    8872  
    8873       137,  382,  138,  139,  140,  137,  475,  138,  137,  140, 
    8874       381,  139,  138,  377,  137,  395,  139,  142,  137,  142, 
    8875       138,  140,  418,  140,  141,  399,  143,  144,  143,  141, 
    8876      1131,  537,  144,  140,  475,    0,  143,  141,  140,  391, 
    8877       533,  377,  144,  141,  397,  382,  144,    0,  543,  140, 
    8878       142,  140,  466,  141,  466,  142,  144,  146,  141,  143, 
    8879       537,  144,  146,  146,  143,  141,    0,  391,  533,  142, 
    8880       144,  141,  397,  382,  144,  399,  146,    0,  143,  142, 
    8881       145,    0,  145,  466,  142,  145,  146,  680,  143,  680, 
    8882      1131,  146,  146,  143,  145,  391,  145,  142,  543,  145, 
    8883  
    8884       147,    0,  148,  399,  146,  147,  143,  148,  557,  145, 
    8885       484,  145,  484,  546,  145,  148,  394,  394,  394,  147, 
    8886       484,  148,  145,  147,  145,  149,  543,  145,  149,  147, 
    8887       149,  148,  572,  150,  147, 1148,  148,  151,  150,    0, 
    8888         0,  546,  151,  148,  149,  150,  547,  147,    0,  148, 
    8889       151,  147,  150,  557,  149,    0,  151,  149,    0,  149, 
    8890       544,  572,  150,  152,  153,    0,  151,  150,  152,  153, 
    8891         0,  151,  149,  150,  547,  153,  152,  488,  151,  488, 
    8892       150,  557,  152,  153,  151,    0,  155,  488,    0,  154, 
    8893       155,  155,  152,  153,  154, 1148,  544,  152,  153,  521, 
    8894  
    8895       154,  521,    0,  153,  152,  155,  611,    0,  154,  521, 
    8896       152,  153,  156,  253,  253,  155,  158,  156,  154,  155, 
    8897       155,  158,  402,  154,  158,  544,  253,    0,  154,  402, 
    8898       402,  156,  157,  155,  611,  158,  154,  157,  559,  559, 
    8899       559,  156,  253,  253,    0,  158,  156,  612,    0,  157, 
    8900       158,  157,  157,  158,  253,  160,  160,  159,    0,  156, 
    8901       160,  157,  159,  158,  614,  159,  157,  370,  370,  370, 
    8902       615,  159,  402,  561,  160,  612,  159,  157,    0,  157, 
    8903       157,  194,  162,  194,  160,  160,  159,  162,  161,  160, 
    8904       161,  159,  614,  161,  159,  556,  556,  556,  615,  159, 
    8905  
    8906       402,  162,  160,  162,  159,    0,  161,  161,  370,  542, 
    8907       161,  162,  575,  163,  194,  564,  162,  161,  163,  161, 
    8908       164,  555,  161,  561,  163,  164,  164,  563,  194,  162, 
    8909         0,  162,  163,  164,  161,  161,  556,  370,  161,  164, 
    8910       165,  575,  163,  194,  568,  165,  692,  163,  692,  164, 
    8911       617,  561,  163,  562,  164,  164,  194,  165,  542,  165, 
    8912       163,  164,  564,  166,  403,  556,  682,  164,  166,  165, 
    8913       555,  403,  403,  577,  165,  569,  563,  166,  617,  568, 
    8914       166,    0,  166,  167,  167,  165,  542,  165,  167,  562, 
    8915       564,  697,  166,  697,  682,  167,  569,  166,  555,  744, 
    8916  
    8917       403,    0,  167,  570,  563,  166,  577,  568,  166,  168, 
    8918       166,  579,  167,  167,  168,  169,    0,  167,  562,  169, 
    8919       169,    0,  168,  167,  570,  569,  168,  744,  168,  403, 
    8920       167,  571,  170,    0,  169,  577,  753,  170,  168,    0, 
    8921       170,  171,    0,  168,  169,  171,  171,  579,  169,  169, 
    8922       168,  170,  571,  570,  168,    0,  168,  574,  574,  574, 
    8923       171,  170,  169,  172,  753,  581,  170,  604,  172,  170, 
    8924       171,  172,  581,  581,  171,  171,  579,  582,  613,  170, 
    8925       618,  571,  172,  687,  582,  582,    0,    0,  171,  678, 
    8926         0,  678,  172,  185,  185,  185,  604,  172,  756,  678, 
    8927  
    8928       172,  581,  679,  635,  815,  635,  815,  613,  757,  618, 
    8929       172,  185,  185,  185,  185,  185,  185,  185,  185,  185, 
    8930       185,  186,  681,  687,    0,  678,  756,  186,  713,    0, 
    8931       581,  679,  691,  608,  635,  608,  757,  186,  186,  186, 
    8932       186,  186,  186,  186,  186,  186,  186,  192,  683,  713, 
    8933       683,  681,  687,  192,  678,  684,  684,  684,  683,    0, 
    8934       703,  691,  683,  192,  192,  192,  192,  192,  192,  192, 
    8935       192,  192,  192,  193,  608,  215,  215,  215,  713,  193, 
    8936       708,  708,  708,  748,  826,  826,  826,  193,  608,  193, 
    8937       193,  193,  193,  193,  193,  193,  193,  193,  193,  195, 
    8938  
    8939       703,  196,  197,  608,  195,  749,  196,  197,  215,    0, 
    8940       195,  616,  748,  196,  196,  688,  608,  195,  195,  196, 
    8941       196,  197,  215,  832,  832,  832,  704,  616,  195,  703, 
    8942       196,  197,  707,  195,  749,  196,  197,  215,  195,  198, 
    8943       616,  196,  196,    0,  198,  195,  195,  196,  196,  197, 
    8944       215,  688,  702,  198,  702,  616,  200,    0,  198,  201, 
    8945       199,  200,  199,  201,  201,  199,  702,  755,  198,  758, 
    8946         0,  200,  707,  198,  199,  200,  199,  704,  201,  199, 
    8947       688,  198,  759,  807,    0,  200,  198,    0,  201,  199, 
    8948       200,  199,  201,  201,  199,  216,  755,    0,  758,  200, 
    8949  
    8950         0,  707,  199,  200,  199,  704,  201,  199,    0,    0, 
    8951       759,  807,  216,  216,  216,  216,  216,  216,  216,  216, 
    8952       216,  216,  217,  217,  217,  217,  217,  217,  217,  217, 
     7808       73,   73,   98,  110,   98,  110,    7,  156,  110,  110, 
     7809      110,  110,  110,  110,  110,  110,  110,  110,  160,  366, 
     7810 
     7811      366,  366,  156,  183,  160,  172,  528,  168,  528,  169, 
     7812      173,  174,    0,  169,  173,   98,  156,  185,  168,   98, 
     7813      181,   98,  866,  530,  196,  530,   98,  160,   98,   98, 
     7814      156,  183,  160,  162,  172,  162,  168,  169,   98,  173, 
     7815      174,  169,    0,  173,   98,  185,  168,    0,   98,  181, 
     7816       98,  162,  162,  196,   98,  162,   98,   98,  176,  199, 
     7817      176,    0,  162,  191,  162,    0,   98,  108,  108,  108, 
     7818      108,  108,  108,  108,  108,  108,  108,  167,  180,  162, 
     7819      162,  184,  866,  162,  203,  108,  108,  199,  184,  192, 
     7820      200,  167,  180,  193,  167,  191,  176,  231,  108,  202, 
     7821 
     7822        0,  207,  215,    0,  231,  231,  167,  180,    0,  184, 
     7823      176,  187,  187,  203,  108,  108,  184,  208,  200,  167, 
     7824      180,  192,  167,    0,  191,  176,  108,  202,  187,  187, 
     7825      187,  187,  187,  187,  187,  187,  187,  187,  176,  188, 
     7826      197,  651,  193,  651,  239,  188,  207,  197,  222,  208, 
     7827      192,  215,  223,    0,    0,  188,  188,  188,  188,  188, 
     7828      188,  188,  188,  188,  188,  194,  198,  198,  197,  214, 
     7829      193,  194,  198,  239,  207,  197,  222,    0,  208,  215, 
     7830      223,  194,  194,  194,  194,  194,  194,  194,  194,  194, 
     7831      194,  195,  209,  225,  198,  198,  216,  195,    0,  240, 
     7832 
     7833      198,  214,  206,  206,  206,  195,  201,  195,  195,  195, 
     7834      195,  195,  195,  195,  195,  195,  195,  226,  201,  246, 
     7835      201,  225,  227,  201,  229,  195,  195,  209,  216,  221, 
     7836      214,  221,    0,    0,  258,  201,  234,  240,  195,  206, 
     7837      230,    0,  228,  234,  234,  226,  201,  246,  201,    0, 
     7838      652,  201,  652,    0,  195,  195,  209,  216,  221,    0, 
     7839      221,  245,  227,  258,    0,  240,  195,  229,  206,  217, 
    89537840      217,  217,  217,  217,  217,  217,  217,  217,  217,  217, 
    8954       217,  217,  217,  217,  217,  217,  217,  217,  217,  217, 
    8955       217,  217,  217,  217,  217,  217,  217,  217,  217,  217, 
    8956       217,  217,  217,  217,  217,  217,  217,  217,  217,  217, 
    8957       217,  217,  217,  217,  217,  217,  217,  217,  217,  217, 
    8958       217,  217,  217,  217,  217,  217,  217,  217,  217,  217, 
    8959       217,  217,  217,  217,  217,  217,  217,  217,  217,  217, 
    8960  
    8961       217,  217,  217,  217,  217,  217,  217,  217,  217,  217, 
    8962       217,  239,    0,  239,  860,  760,  239,  239,  239,  239, 
    8963       239,  239,  239,  239,  239,  239,  240,    0,  240,  863, 
    8964       805,  240,  240,  240,  240,  240,  240,  240,  240,  240, 
    8965       240,  241,  860,  241,  760,  806,  241,  241,  241,  241, 
    8966       241,  241,  241,  241,  241,  241,  254,  863,  254,  805, 
    8967         0,  254,  254,  254,  254,  254,  254,  254,  254,  254, 
    8968       254,  255,    0,  255,  806,    0,  255,  255,  255,  255, 
    8969       255,  255,  255,  255,  255,  255,  256,  808,  256,  259, 
    8970       865,  256,  256,  256,  256,  256,  256,  256,  256,  256, 
    8971  
    8972       256,  257,  257,  257,  257,  257,  257,  257,  257,  257, 
    8973       257,    0,  259,  769,  260,  769,  808,  259,  865,  260, 
    8974       257,  258,  258,  258,  258,  258,  258,  258,  258,  258, 
    8975       258,  259,  260,  260,  261,  813,  901,  262,  901,  261, 
    8976       258,  259,  262,  260,  769,  261,  259,  727,  260,  257, 
    8977       908,  262,  908,  261,  727,  727,  262,  263,  705,  259, 
    8978       260,  260,  263,  261,  813,  693,  262,  693,  261,  258, 
    8979       263,  262,    0,  261,    0,  693,  263,  264,  266,  262, 
    8980       265,  261,  264,  266,  262,  265,  263,  803,  266,  803, 
    8981       264,  263,    0,    0,  705,  803,  264,  266,  263,  265, 
    8982  
    8983       265,  693,  851,  268,  263,  810,  264,  266,  268,  265, 
    8984       267,  264,  266,    0,  265,  267,  266,    0,  264,    0, 
    8985       268,  267,  268,  705,  264,  266,    0,  265,  265,  267, 
    8986       693,  851,  268,  269,    0,  271,  821,  268,  269,  267, 
    8987       271,  270,  810,    0,  267,  700,  270,  700,  268,  267, 
    8988       268,  269,  269,  270,  271,  700,  270,  267,  272,  700, 
    8989       270,    0,  269,  272,  271,  272,  728,  269,    0,  271, 
    8990       270,  810,  821,  728,  728,  270,    0,  272,  273,  269, 
    8991       269,  270,  271,  273,  270,  274,    0,  272,  270,  273, 
    8992       274,  729,  272,  794,  272,  794,  274,  273,  729,  729, 
    8993  
    8994         0,  821,    0,  794,  274,  272,    0,  273,  278,  278, 
    8995       857,  275,  273,  278,  274,  275,  275,  273,  900,  274, 
    8996       859,  809,  809,  809,  274,  273,  820,  278,  279,  809, 
    8997       275,  280,  274,  279,  824,  279,  280,  278,  278,  857, 
    8998       275,  284,  278,  284,  275,  275,  900,  279,  281,  859, 
    8999       280,  861,  281,  281,    0,  278,  862,  279,  275,  864, 
    9000       280,  925,  279,  820,  279,  280,    0,  281,  283,    0, 
    9001         0,  824,  284,  283,  284,  279,  283,  281,  280,  284, 
    9002       861,  281,  281,  838,  875,  862,  875,  283,  864,  925, 
    9003       838,  838,  820,  284,  875,  281,  282,  283,  282,  285, 
    9004  
    9005       824,  894,  283,  284,  285,  283,  286,  899,  284,  422, 
    9006       422,  286,  839,  902,  893,  283,  893,  285,  285,  839, 
    9007       839,  284,  422,    0,  893,  286,    0,  282,  285,  282, 
    9008       894,  911,  282,  285,  282,  286,  899,  282,  422,  422, 
    9009       286,  282,  902,    0,  282,  285,  285,  282,  282,  289, 
    9010       422,  282,  287,  286,  289,  288,  287,  287,  282,  288, 
    9011       288,  282,  934,  282,  937,  884,  282,  884,  289,  282, 
    9012         0,  287,  282,    0,  288,  282,  282,  926,  289,  282, 
    9013       911,  287,  290,  289,  288,  287,  287,  290,  288,  288, 
    9014       291,  934,  291,  937,  290,  291,  289,  929,  293,  287, 
    9015  
    9016       931,  290,  288,  293,  896,  926,  896,  932,  911,  291, 
    9017         0,  290,  293,  884,    0,  296,  290,  293,  933,  291, 
    9018       296,  291,  290,  935,  291,  929,  296,  293,  931,  290, 
    9019       961,  297,  293,    0,  296,  932,  297,  291,  298,  896, 
    9020       293,  884,  297,  298,  296,  293,  933,    0,  954,  296, 
    9021       297,  935,    0,  964,  296,    0,    0,  298,  298,  961, 
    9022       297,  299,  296,    0,    0,  297,  299,  298,  896,  965, 
    9023       297,  980,  298,  948,  948,  948,  954,  966,  297,  972, 
    9024       299,  299,  964,  300,  301,  298,  298,  300,  300,  301, 
    9025       299,  302,  301,  302,  303,  299,  303,  965,  967,  980, 
    9026  
    9027       300,  302,  300,  301,  303,  968,  966,  968,  299,  299, 
    9028         0,    0,  300,  301,  989,  972,  300,  300,  301,  990, 
    9029       304,  301,  973,  981,  302,  304,  984,  303,  300,  302, 
    9030       300,  301,  303,  967,  968,  302,  968,    0,  303,  304, 
    9031       304,  986,  989,  302,  972,  302,  303,  990,  303,  304, 
    9032      1005,    0,  981,  302,  304,  984,  303,    0,  302,  973, 
    9033       305,  303,  967,  302,  305,  305,  303,  304,  304,  987, 
    9034       986,  302,  306,  302,  303,  988,  303,  306, 1005,  305, 
    9035       307,  308, 1008, 1016,  307,  307,  308,    0,  973,  305, 
    9036      1010,  306,  308,  305,  305,    0,    0,  309,  987,  307, 
    9037  
    9038       308,  306,  309, 1015,  988,    0,  306,  305,    0,  307, 
    9039       308, 1008, 1013,  307,  307,  308,  309,  310, 1010,  306, 
    9040       308,  309,  310,  998,  998,  998,  309,  307,  308, 1016, 
    9041       310,  309, 1015,  311,  312,    0,  310,  313,  311,  312, 
    9042      1013,  311,  313,  852,  309,  852,  310, 1017,    0,  309, 
    9043         0,  310,  311,  312,  314,    0,  313, 1016,  310,  314, 
    9044      1018,    0,  311,  312,  310, 1028,  313,  311,  312, 1027, 
    9045       311,  313,  314,  314,  315,    0, 1017,  316,  852,  315, 
    9046       311,  312,  316,  314,  313, 1022, 1032,  315,  314, 1018, 
    9047       316,  852, 1034,  315, 1028,    0,  316, 1027,  316, 1036, 
    9048  
    9049       314,  314, 1021,  315,  317, 1023,  316,  852,  315,  317, 
    9050       317,  316,    0,    0, 1032,  315, 1043, 1022,  316,  852, 
    9051      1034,  315, 1049,  317,  316,  318,  316, 1036,    0,  319, 
    9052       318,    0,  319,  317,  319,    0,  318,  320,  317,  317, 
    9053       319, 1023,  320,    0,  318, 1043, 1022, 1021,  319, 1046, 
    9054      1049,  317,    0, 1024,  318, 1053,  320,  320,  319,  318, 
    9055       321,  319,  322,  319,  318,  321,  320,  322,  319,  323, 
    9056      1023,  320,  318, 1052,  323, 1021,  319,  323, 1046,  321, 
    9057       321,  322,  322, 1053,  320,  320,    0,    0,  323,  321, 
    9058         0,  322,  326, 1024,  321,  324,  322,  326,  323,  324, 
    9059  
    9060       324,    0, 1052,  323, 1060,  326,  323,  321,  321,  322, 
    9061       322,  326,  328,    0,  324,  325,  323,  328,  327,  325, 
    9062       325,  326, 1024,  327,  324,  327,  326, 1061,  324,  324, 
    9063      1058,  328, 1060,  326,  325,    0, 1055,  327,  329,  326, 
    9064         0,  328,  324,  329,  325,  330,  328,  327,  325,  325, 
    9065       330, 1057,  327,  332,  327,  332, 1061,  329,    0,  328, 
    9066       330,  331,  325,  332,  330,  327,  331,  329, 1041, 1041, 
    9067      1041, 1055,  329,    0,  330, 1058, 1064,    0,  331,  330, 
    9068       331, 1066,  333, 1056, 1057,  329,  332,  333,  330,  333, 
    9069       331,  332,  330,  334, 1072,  331,    0, 1074,  334,  334, 
    9070  
    9071      1055,  333,  336, 1058, 1064,  332,  331,  336,  331, 1076, 
    9072      1066,  333,  334, 1057,  336,  332,  333, 1056,  333,  335, 
    9073       332,  336,  334, 1072,  335, 1074, 1078,  334,  334,  333, 
    9074         0,  336,  335,  332,    0,    0,  336, 1076,  335,  337, 
    9075       334, 1085,  336,    0,  337,  338, 1056, 1094,  335,  336, 
    9076       338,    0,  974,  335, 1078, 1086,  337, 1090,  337, 1083, 
    9077       335,  876,  876,  876,  338,    0,  335,    0,  337,  876, 
    9078      1085, 1082,  876,  337,  338,  351, 1094,  351,    0,  338, 
    9079       946,  946,  946, 1086,  337, 1090,  337,  974,  946,  974, 
    9080         0,  946,  338,  351,  351,  351,  351,  351,  351,  351, 
    9081  
    9082       351,  351,  351,  352,  947,  947,  947, 1082,    0,  352, 
    9083         0, 1083,  947,    0, 1077,  947,  974,    0,  974,  352, 
    9084       352,  352,  352,  352,  352,  352,  352,  352,  352,  353, 
    9085       949,  949,  949,    0,    0,  353, 1082, 1098,  949, 1083, 
    9086         0,  949, 1070, 1070, 1070,  353,  353,  353,  353,  353, 
    9087       353,  353,  353,  353,  353,  357, 1092, 1092, 1092, 1077, 
    9088      1099,  357,  362,  363,    0,  364,  362,  362,  363,  357, 
    9089       364,  357,  357,  357,  357,  357,  357,  357,  357,  357, 
    9090       357,  362,  363, 1098,  364,  365,  365, 1077, 1099, 1103, 
    9091       365,  362,  363,  368,  364,  362,  362,  363, 1104,  364, 
    9092  
    9093         0,  366,    0,    0,  365,  366,  366,    0,    0,  362, 
    9094       363, 1098,  364, 1111,  365,  365, 1107, 1103,  366,  365, 
    9095       366,  367,    0,  433,  368,  367,  367, 1104,  433,  368, 
    9096       366, 1100,  365,    0,  366,  366,  950,  950,  950, 1113, 
    9097       367, 1111,  433,  368,  950, 1107,  366,  950,  366,    0, 
    9098       367, 1116,  433,  368,  367,  367,  383,  433,  368,    0, 
    9099         0,  999,  999,  999,    0,    0, 1100, 1113,  367,  999, 
    9100       433,  368,  999,  383,  383,  383,  383,  383,  383,  383, 
    9101       383,  383,  383,  384,    0, 1000, 1000, 1000, 1101, 1101, 
    9102      1101,    0,  383, 1000, 1121, 1100, 1000, 1116, 1127,    0, 
    9103  
    9104       384,  384,  384,  384,  384,  384,  384,  384,  384,  384, 
    9105       387,    0, 1001, 1001, 1001, 1117, 1117, 1117, 1136,  384, 
    9106      1001,  383, 1121, 1001,    0, 1116, 1127,  387,  387,  387, 
    9107       387,  387,  387,  387,  387,  387,  387,  404,  404,  404, 
    9108       404,  404,  404,  404,  404,  404,  404, 1136,  384,  405, 
    9109       405,  405,  405,  405,  405,  405,  405,  405,  405,  406, 
    9110       406,  406,  406,  406,  406,  406,  406,  406,  406,  407, 
    9111       407,  407,  407,  407,  407,  407,  407,  407,  407,  408, 
    9112       408,  408,  408,  408,  408,  408,  408,  408,  408,  409, 
    9113       409,  409,  409,  409,  409,  409,  409,  409,  409,  423, 
    9114  
    9115       423,  423,  423,  423,  423,  423,  423,  423,  423,  424, 
    9116       424,  424,  424,  424,  424,  424,  424,  424,  424,  425, 
    9117       425,  425,  425,  425,  425,  425,  425,  425,  425,  426, 
    9118       426,  426,  426,  426,  426,  426,  426,  426,  426,  427, 
    9119       427,  427,  427,  427,  427,  427,  427,  427,  427,  428, 
    9120       428,  428,  428,  428,  428,  428,  428,  428,  428,  429, 
    9121      1102,  429,    0,    0,  429,  429,  429,  429,  429,  429, 
    9122       429,  429,  429,  429,  430,  430,  430,  430,  430,  430, 
    9123       430,  430,  430,  430,    0,  436,    0,  434,    0,  431, 
    9124       436,  431,  434,  430,  431,  431,  431,  431,  431,  431, 
    9125  
    9126       431,  431,  431,  431,  436,  434,  434,  435,  437,  435, 
    9127      1144, 1102,  435,  437,  436,    0,  434, 1132, 1147,  436, 
    9128         0,  434,  430,    0,  438,    0,  435,  437,  438,  438, 
    9129       439,    0,  436,  434,  434,  439,  435,  437,  435, 1102, 
    9130         0,  435,  437,  438,    0, 1132,  440, 1140,  439,  439, 
    9131      1147,  440,    0,  438,  435,  437, 1144,  438,  438,  439, 
    9132         0,    0,  441,    0,  439,  440, 1114,  441,  442,  443, 
    9133         0,  438,  442,  442,  443,  440,  439,  439, 1139, 1147, 
    9134       440,  441,    0,  443, 1144,  446, 1146,  442,  443,  444, 
    9135       446,  441, 1140,  440,  444, 1143,  441,  442,  443, 1156, 
    9136  
    9137       444,  442,  442,  443,  446,  445,    0, 1149,  444,  441, 
    9138       445,  443,    0,  445,  446,  442,  443, 1114,  444,  446, 
    9139      1140,  447,  448,  444,  445,  447,  447,  448,  444, 1139, 
    9140       449, 1156,  446,  448,  445,  449,  444, 1146,    0,  445, 
    9141       447,  448,  445,  449, 1143, 1114, 1124, 1124, 1124,  449, 
    9142       447,  448,  445,    0,  447,  447,  448, 1139, 1149,  449, 
    9143      1156,  448,  451,    0,  449, 1146, 1145,  451,  447,  448, 
    9144       452,  449, 1143,  451,  453,  452, 1152,  449,  452,  453, 
    9145         0,  451,    0,    0, 1150,  454, 1149,  454,    0,  452, 
    9146         0,  451,  453,  453,    0,    0,  451,    0,    0,  452, 
    9147  
    9148         0,  451, 1145,  453,  452,    0,    0,  452,  453,  451, 
    9149       458, 1151, 1151, 1151,  457,  458,    0,  452,  454,  457, 
    9150       453,  453,    0,  454,    0, 1152,  454,    0,  457,  458, 
    9151       458, 1145,    0,  457,    0, 1150,    0,  454,    0,  458, 
    9152       454,  459,    0,  457,  458,  460,  459,  454,  457,    0, 
    9153       460,    0,  454, 1152, 1155,  454,  457,  458,  458,  460, 
    9154       459,  457,  468, 1150,  460,  454,    0,  468,  454,  455, 
    9155       459,  455,    0,    0,  460,  459, 1153, 1153, 1153,  460, 
    9156         0,  468,    0,    0,  461,    0,    0,  460,  459,  461, 
    9157      1155,  468,  460, 1158, 1158, 1158,  468, 1159, 1159, 1159, 
    9158  
    9159       455,  461,    0,  461,    0,  455,  463,  455,    0,  468, 
    9160       455,  463, 1157,  461,  455,    0,    0,  455,  461, 1155, 
    9161       455,  455,    0,    0,  455,  463,    0,    0,    0,  461, 
    9162       463,  461,    0,    0,  455,  463,  455,    0,  472,  455, 
    9163       463,    0,  455,  472,    0,  455,  462,    0,  455,  455, 
    9164       462,  462,  455,  463,  464,  465,    0,  472,  463,  464, 
    9165       465,  464,    0, 1157,    0,  462,  462,  472,    0,    0, 
    9166         0,    0,  472,  464,  465,  462,  465,    0,    0,  462, 
    9167       462,    0,    0,  464,  465,  472,    0,    0,  464,  465, 
    9168       464, 1157,    0,  462,  462,    0,    0,    0,    0,    0, 
    9169  
    9170         0,  464,  465,    0,  465,  469,  469,  469,  469,  469, 
    9171       469,  469,  469,  469,  469,  469,    0,  469,  469,  469, 
    9172       469,  469,  469,  469,  469,  469,  469,  469,  469,  469, 
    9173       469,  469,  469,  469,  469,  469,  469,  469,  469,  469, 
    9174       469,  469,  469,  469,  469,  469,  469,  469,  469,  469, 
    9175       469,  469,  469,  469,  469,  469,  469,  469,  469,  469, 
    9176       469,  469,  469,  469,  469,  469,  469,  469,  469,  469, 
    9177       469,  469,  469,  469,  469,  469,  469,  469,  469,  469, 
    9178       469,  469,  469,  469,  469,  469,  469,  469,  469,  469, 
    9179       469,  469,  469,  469,  470,    0,  471,  473,  471,  470, 
    9180  
    9181         0,    0,  473,  474, 1002, 1002, 1002,    0,  474,    0, 
    9182         0,  470, 1002,  470,    0, 1002,  473,    0,    0,    0, 
    9183         0,    0,  474,  470,    0,    0,  473,  471,  470,  471, 
    9184       476,  473,  474,    0,  471,  476,    0,  474,  477,  470, 
    9185         0,  470,    0,  477,  473,    0,  477,    0,  471,  476, 
    9186       474,    0,    0,    0,    0,    0,    0,  477,  471,  476, 
    9187       478,    0,    0,  471,  476,  478,    0,  477,  479,    0, 
    9188         0,    0,  477,  479,    0,  477,  471,  476,    0,  478, 
    9189       478,    0,    0,    0,    0,  477,    0,  479,    0,  478, 
    9190       480,    0,    0,    0,  478,  480,    0,  479,  480,  481, 
    9191  
    9192         0,    0,  479,    0,  481,  481,    0,  478,  478,  480, 
    9193         0,    0,  481,    0,    0,  479,    0,    0,  481,  480, 
    9194         0, 1003, 1003, 1003,  480,    0,    0,  480,  481, 1003, 
    9195       482,  487, 1003,  481,  481,  482,  487,  480,  482,  483, 
    9196       481,  483,  486,    0,  483,    0,  481,  486,    0,  482, 
    9197       487,    0,    0,    0,    0,    0,  486,    0,  483,  482, 
    9198       487,  486,    0,    0,  482,  487,    0,  482,  483,  490, 
    9199       483,  486,    0,  483,  490,  491,  486,  482,  487,    0, 
    9200       491,    0,    0,  490,  486,    0,  483,    0,  490,  486, 
    9201         0,  492,    0,    0,  491,  493,  492,    0,  490,    0, 
    9202  
    9203       493,    0,  492,  490,  491,    0,  493,  494,    0,  491, 
    9204       492,  490,  494,    0,  493,    0,  490,    0,  495,    0, 
    9205       492,    0,  491,  495,  493,  492,  494,  496,    0,  493, 
    9206       492,    0,  496,    0,  493,  496,  494,  495,  492,  497, 
    9207         0,  494,  493,  498,  497,    0,  496,  495,  498,    0, 
    9208       502,    0,  495,    0,  494,  502,  496,    0,  497,    0, 
    9209         0,  496,  498,    0,  496,  495,  499,    0,  497,  502, 
    9210       500,  499,  498,  497,  496,  500,    0,  498,    0,  502, 
    9211       499,    0,  500,    0,  502,  499,  497,  501,    0,  500, 
    9212       498,  501,  501,  503,    0,  499,  504,  502,  503,  500, 
    9213  
    9214       499,  504,    0,    0,  500,    0,  501,    0,  499,    0, 
    9215       500,    0,  503,  499,    0,  504,  501,  500,  505,  507, 
    9216       501,  501,  503,  505,  507,  504,    0,  503,    0,  508, 
    9217       504, 1042, 1042, 1042,  501,  505,    0,  505,  507, 1042, 
    9218       503,  506, 1042,  504,    0,    0,  506,  505,  507,  506, 
    9219       508,    0,  505,  507,    0,  508,    0,  509,    0,    0, 
    9220       506,    0,  509,  505,    0,  505,  507,    0,    0,  508, 
    9221       506,    0,    0,    0,  509,  506,  509,    0,  506,  508, 
    9222         0,    0,  510,    0,  508,    0,  509,  510,  506,  511, 
    9223       512,  509,    0,  510,  511,  512,    0,  508,    0,    0, 
    9224  
    9225         0,  510,  509,  512,  509,    0,  511,    0,  511,  512, 
    9226         0,  510,    0,    0,    0,    0,  510,    0,  511,  512, 
    9227       513,  510,  515,  511,  512,  513,    0,  515,  514,  510, 
    9228       514,  512,    0,  514,  511,    0,  511,  512,  517,  513, 
    9229         0,  515,    0,    0,    0,  516,    0,  514,    0,  513, 
    9230       516,  515,    0,  518,  513,    0,  515,  514,  518,  514, 
    9231         0,  517,  514,    0,  516,  519,  517,  513,    0,  515, 
    9232       519,    0,  518,    0,  516,  514,    0,    0,    0,  516, 
    9233       517,    0,  518,    0,  519,    0,  523,  518,  520,    0, 
    9234       517,  523,  516,  520,  519,  517,    0,    0,    0,  519, 
    9235  
    9236       518,    0,  520,    0,    0,  523,    0,  520,  517,  524, 
    9237         0,    0,  519,  524,  524,  523,    0,  520,  525,    0, 
    9238       523,  526,  520,  525,    0,    0,  526,    0,  524,    0, 
    9239       520,    0,    0,  523,    0,  520,    0,  525,  524,    0, 
    9240       526,  527,  524,  524,  528,  527,  527,  525,  528,  528, 
    9241       526,    0,  525,    0,    0,  526,  524,    0,    0,    0, 
    9242       527,  551,    0,  528,    0,  525,  551,    0,  526,    0, 
    9243       527,    0,    0,  528,  527,  527,    0,  528,  528,  539, 
    9244       551,  539,    0,    0,    0, 1071, 1071, 1071,  527,    0, 
    9245       551,  528,    0, 1071,    0,  551, 1071,  539,  539,  539, 
    9246  
    9247       539,  539,  539,  539,  539,  539,  539,  540,  551, 1093, 
    9248      1093, 1093,    0,  540,    0,    0,    0, 1093,    0,    0, 
    9249      1093,    0,    0,  540,  540,  540,  540,  540,  540,  540, 
    9250       540,  540,  540,  541,  548,    0,  548,    0,    0,  541, 
    9251         0,    0,    0,    0,  548,    0,    0,    0,    0,  541, 
    9252       541,  541,  541,  541,  541,  541,  541,  541,  541,  545, 
    9253       550,    0,  550,    0,    0,  545,  549,  548,    0,    0, 
    9254       548,  549,  548,  545,  549,  545,  545,  545,  545,  545, 
    9255       545,  545,  545,  545,  545,  549,  548,    0,    0,    0, 
    9256         0,    0,    0,  550,    0,  549,  548,    0,  550,  548, 
    9257  
    9258       549,  548,  552,  549,    0,  592,    0,  552,  552,  592, 
    9259       592,    0,  550,  549,  548,  552,    0,    0,  553,  552, 
    9260       553,  552,  550,    0,  592,    0,    0,  550,  553,    0, 
    9261         0,  552,  553,    0,  592,    0,  552,  552,  592,  592, 
    9262       550,  565,    0,  552,    0,    0,    0,  552,    0,  552, 
    9263         0,  553,  592,  565,    0,  565,  553,    0,  565,  565, 
    9264       565,  565,  565,  565,  565,  565,  565,  565,    0,  566, 
    9265       553, 1110, 1110, 1110,    0,    0,    0,    0,    0, 1110, 
    9266       553,    0, 1110,    0,    0,  553,  566,  566,  566,  566, 
    9267       566,  566,  566,  566,  566,  566,  567,    0,  553,    0, 
    9268  
    9269         0, 1125, 1125, 1125,    0,  566,    0,    0,  567, 1125, 
    9270       567,    0, 1125,  567,  567,  567,  567,  567,  567,  567, 
    9271       567,  567,  567,  588,  588,  588,  588,  588,  588,  588, 
    9272       588,  588,  588,    0,  566,  589,  589,  589,  589,  589, 
    9273       589,  589,  589,  589,  589,  590,  590,  590,  590,  590, 
    9274       590,  590,  590,  590,  590,  591,  591,  591,  591,  591, 
    9275       591,  591,  591,  591,  591,  593,    0,    0,  595,    0, 
    9276       593,    0,    0,  595, 1134, 1134, 1134,    0, 1135, 1135, 
    9277      1135,    0, 1134,  595,  593, 1134, 1135,  595,    0, 1135, 
    9278         0,    0,    0,    0,  593,    0,    0,  595,    0,  593, 
    9279  
    9280         0,    0,  595,    0,    0,    0,    0,    0,    0,    0, 
    9281         0,  595,  593,  594,  594,  595,  594,  594,  594,  594, 
    9282       594,  594,  594,  594,  594,  594,  594,  594,  594,  594, 
    9283       594,  594,  594,  594,  594,  594,  594,  594,  594,  594, 
    9284       594,  594,  594,  594,  594,  594,  594,  594,  594,  594, 
    9285       594,  594,  594,  594,  594,  594,  594,  594,  594,  594, 
    9286       594,  594,  594,  594,  594,  594,  594,  594,  594,  594, 
    9287       594,  594,  594,  594,  594,  594,  594,  594,  594,  594, 
    9288       594,  594,  594,  594,  594,  594,  594,  594,  594,  594, 
    9289       594,  594,  594,  594,  594,  594,  594,  594,  594,  594, 
    9290  
    9291       594,  594,  596,  597,  596,  598,  600,  596,  597,  599, 
    9292       598,  600,    0,  599,  599,    0,    0,    0,  598,  600, 
    9293         0,  596,  597,    0,  598,  600,    0,    0,  599,    0, 
    9294         0,  596,  597,  596,  598,  600,  596,  597,  599,  598, 
    9295       600,    0,  599,  599,    0,    0,  598,  600,    0,  596, 
    9296       597,    0,  598,  600,  601,  602,  599,  603,    0,  601, 
    9297       602,  605,  603,    0,    0,  605,  605,    0,    0,  602, 
    9298         0,    0,    0,  601,  602,  603,  603,    0,    0,    0, 
    9299       605,    0,    0,  601,  602,    0,  603,  606,  601,  602, 
    9300       605,  603,  606,    0,  605,  605,    0,  602,  606,    0, 
    9301  
    9302         0,  601,  602,  603,  603,    0,  606,    0,  605,  609, 
    9303       607,    0,    0,  610,  609,  607,  606,  607,  610,    0, 
    9304       610,  606,    0,    0,    0,    0,  606,    0,  609,  607, 
    9305         0,    0,  610,    0,  606,  619,  621,    0,  609,  607, 
    9306       619,  621,  610,  609,  607,    0,  607,  610,    0,  610, 
    9307         0,    0,    0,    0,  619,  621,  609,  607,  620,    0, 
    9308       610,    0,    0,  620,  619,  621,    0,    0,    0,  619, 
    9309       621,  620,    0,    0,  623,  622,    0,  620,  622,  623, 
    9310       622,    0,  619,  621,    0,    0,    0,  620,  623,    0, 
    9311         0,  624,  620,  623,  622,    0,  624,    0,    0,  620, 
    9312  
    9313         0,    0,  624,  623,  622,  620,    0,  622,  623,  622, 
    9314       624,    0,  625,  625,  626,    0,  623,  625,  628,  626, 
    9315       624,  623,  622,  628,    0,  624,    0,    0,    0,  626, 
    9316       624,  625,    0,  626,    0,  627,    0,  628,  624,  627, 
    9317       627,  625,  625,  626,    0,    0,  625,  628,  626,    0, 
    9318         0,    0,  628,  629,  627,  629,    0,  626,    0,  625, 
    9319         0,  626,    0,  632,  627,  628,    0,    0,  627,  627, 
    9320       631,  631,  631,  631,  631,  631,  631,  631,  631,  631, 
    9321       632,    0,  627,  633,  629,  632,  629,  634,  633,  637, 
    9322         0,  629,  634,    0,  637,    0,    0,    0,    0,  632, 
    9323  
    9324       634,    0,  633,    0,    0,  629,  634,    0,  637,  632, 
    9325         0,    0,  633,    0,  632,  629,  634,  633,  637,  638, 
    9326       629,  634,    0,  637,  638,    0,    0,  632,  634,    0, 
    9327       633,    0,    0,  629,  634,  639,  637,    0,  638,  641, 
    9328       639,  641,  642,  639,  641,  642,  643,  642,  638,    0, 
    9329         0,  643,    0,  638,  639,    0,    0,    0,  641,    0, 
    9330         0,  642,  644,    0,  639,  643,  638,  644,  641,  639, 
    9331       641,  642,  639,  641,  642,  643,  642,    0,    0,  644, 
    9332       643,  644,  639,  645,    0,  646,  641,  645,  645,  642, 
    9333       646,  644,  647,  643,  648,    0,  644,  647,    0,  648, 
    9334  
    9335         0,    0,  645,    0,  646,  647,    0,  644,    0,  644, 
    9336         0,  647,  645,  648,  646,    0,  645,  645,    0,  646, 
    9337         0,  647,    0,  648,    0,    0,  647,    0,  648,  649, 
    9338       645,  649,  646,  647,  649,  650,    0,    0,    0,  647, 
    9339       650,  648,    0,    0,    0,    0,  650,    0,  649,    0, 
    9340         0,    0,    0,    0,  650,    0,    0,    0,  649,    0, 
    9341       649,  652,    0,  649,  650,  651,  652,  651,    0,  650, 
    9342       651,    0,  652,  653,  650,    0,  649,  653,  653,    0, 
    9343       652,    0,  650,    0,  651,    0,    0,    0,    0,    0, 
    9344       652,    0,  653,    0,  651,  652,  651,    0,  655,  651, 
    9345  
    9346       652,    0,  653,  655,    0,  654,  653,  653,  652,  656, 
    9347       654,    0,  651,  654,  656,    0,    0,  655,    0,    0, 
    9348       653,    0,  656,    0,  654,  657,    0,  655,  656,  657, 
    9349       657,    0,  655,    0,  654,    0,  658,    0,  656,  654, 
    9350         0,  658,  654,  656,  657,  655,    0,    0,  660,    0, 
    9351       656,    0,  654,  660,  657,  658,  656,  659,  657,  657, 
    9352         0,  659,  659,    0,    0,  658,    0,  660,  661,  662, 
    9353       658,    0,  657,  661,  662,    0,  659,  660,    0,    0, 
    9354         0,    0,  660,  658,    0,    0,  659,  661,  662,    0, 
    9355       659,  659,    0,    0,  663,  660,  663,  661,  662,  663, 
    9356  
    9357       665,  666,  661,  662,  659,  665,  666,    0,    0,    0, 
    9358         0,    0,    0,  663,    0,  661,  662,    0,  665,  665, 
    9359       666,    0,    0,  663,    0,  663,  667,    0,  663,  665, 
    9360       666,  667,    0,    0,  665,  666,    0,  668,    0,  667, 
    9361       668,  663,  668,    0,    0,  667,  665,  665,  666,  669, 
    9362         0,    0,    0,  672,  669,  667,  668,  671,  672,    0, 
    9363       667,    0,  671,    0,    0,    0,  668,  667,  669,  668, 
    9364         0,  668,  672,  667,  673,    0,  671,  671,  669,  673, 
    9365       674,    0,  672,  669,  668,  674,  671,  672,    0,    0, 
    9366         0,  671,    0,  673,    0,    0,  669,    0,    0,  674, 
    9367  
    9368       672,    0,    0,  673,  671,  671,    0,    0,  673,  674, 
    9369         0,    0,  690,    0,  674,    0,    0,    0,  690,  695, 
    9370         0,  673,    0,  695,  695,    0,  690,  674,  690,  690, 
    9371       690,  690,  690,  690,  690,  690,  690,  690,  695,  696, 
    9372       698,  699,    0,    0,  696,  698,  699,  696,  695,    0, 
    9373         0,  698,  695,  695,    0,    0,    0,    0,  696,  698, 
    9374       699,    0,    0,    0,    0,    0,  695,    0,  696,  698, 
    9375       699,    0,  709,  696,  698,  699,  696,    0,    0,  698, 
    9376         0,    0,  710,    0,    0,    0,  696,  698,  699,  709, 
    9377       709,  709,  709,  709,  709,  709,  709,  709,  709,  710, 
    9378  
    9379       710,  710,  710,  710,  710,  710,  710,  710,  710,  711, 
    9380         0,    0,    0,    0,    0,    0,    0,    0,    0,  712, 
    9381         0,    0,    0,    0,    0,    0,  711,  711,  711,  711, 
    9382       711,  711,  711,  711,  711,  711,  712,  712,  712,  712, 
    9383       712,  712,  712,  712,  712,  712,  715,  715,  715,  715, 
    9384       715,  715,  715,  715,  715,  715,  715,  715,  715,  715, 
    9385       715,  715,  715,  715,  715,  715,  715,  715,  715,  715, 
    9386       715,  715,  715,  715,  715,  715,  715,  715,  715,  715, 
    9387       715,  715,  715,  715,  715,  715,  715,  715,  715,  715, 
    9388       715,  715,  715,  715,  715,  715,  715,  715,  715,  715, 
    9389  
    9390       715,  715,  715,  715,  715,  715,  715,  715,  715,  715, 
    9391       715,  715,  715,  715,  715,  715,  715,  715,  715,  715, 
    9392       715,  715,  715,  715,  715,  715,  715,  715,  715,  715, 
    9393       715,  715,  715,  715,  715,  719,  719,  719,    0,    0, 
    9394       719,  719,    0,  719,    0,    0,    0,  719,  719,    0, 
    9395         0,  719,    0,    0,  719,  719,  719,  719,  719,  719, 
    9396       719,  719,  719,  732,  732,    0,  732,  732,  732,  732, 
    9397       732,  732,  732,  732,  732,  732,  732,  732,  732,  732, 
    9398       732,  732,  732,  732,  732,  732,  732,  732,  732,  732, 
    9399       732,  732,  732,  732,  732,  732,  732,  732,  732,  732, 
    9400  
    9401       732,  732,  732,  732,  732,  732,  732,  732,  732,  732, 
    9402       732,  732,  732,  732,  732,  732,  732,  732,  732,  732, 
    9403       732,  732,  732,  732,  732,  732,  732,  732,  732,  732, 
    9404       732,  732,  732,  732,  732,  732,  732,  732,  732,  732, 
    9405       732,  732,  732,  732,  732,  732,  732,  732,  732,  732, 
    9406       732,  732,  733,    0,    0,  735,    0,  733,  734,  734, 
    9407       734,  734,  734,  734,  734,  734,  734,  734,  736,  737, 
    9408         0,  733,  735,  736,  737,  738,    0,  735,    0,    0, 
    9409       738,  733,    0,    0,    0,    0,  733,  736,  737,    0, 
    9410         0,  735,    0,    0,  738,  739,    0,  736,  737,  733, 
    9411  
    9412       739,  735,  736,  737,  738,    0,  735,  740,    0,  738, 
    9413         0,    0,  740,    0,  739,  736,  737,    0,  741,  735, 
    9414         0,    0,  738,  741,  739,    0,  740,    0,    0,  739, 
    9415       740,    0,    0,    0,    0,    0,  740,  741,  741,    0, 
    9416         0,  740,  739,  742,    0,  742,    0,  741,  742,    0, 
    9417       747,  743,  741,    0,  740,  747,  743,    0,  740,  743, 
    9418         0,  745,  742,  745,    0,  741,  741,    0,    0,  747, 
    9419       743,    0,  742,  750,  742,    0,    0,  742,  750,  747, 
    9420       743,    0,  746,    0,  747,  743,  746,  746,  743,    0, 
    9421       742,    0,  750,    0,  745,    0,  745,  747,  743,  745, 
    9422  
    9423         0,  746,  750,    0,    0,    0,    0,  750,    0,  745, 
    9424         0,  746,    0,  745,  751,  746,  746,    0,  751,  751, 
    9425       750,    0,    0,  745,    0,  745,  762,    0,  745,  746, 
    9426         0,  762,    0,  751,  761,    0,  761,  745,    0,  761, 
    9427         0,  745,    0,  751,    0,  762,  762,  751,  751,    0, 
    9428         0,  763,    0,  761,    0,  762,  763,  763,    0,    0, 
    9429       762,  751,    0,  761,    0,  761,    0,    0,  761,    0, 
    9430       763,  764,  765,  762,  762,  764,  764,  765,  766,    0, 
    9431       763,  761,  766,  766,    0,  763,  763,    0,    0,  765, 
    9432       764,  765,    0,    0,  771,    0,    0,  766,  763,  771, 
    9433  
    9434       764,  765,    0,  767,  764,  764,  765,  766,  767,    0, 
    9435       768,  766,  766,  771,  772,  768,  772,  765,  764,  765, 
    9436       767,  768,  767,  771,  772,  766,  773,    0,  771,  768, 
    9437         0,  773,  767,    0,    0,    0,    0,  767,    0,  768, 
    9438       773,  771,    0,    0,  768,  773,  774,  772,  767,  768, 
    9439       767,  774,  772,    0,  774,  773,    0,  768,  775,    0, 
    9440       773,    0,  775,  775,    0,  774,  772,  776,  773,  778, 
    9441         0,  776,  776,  773,  778,  774,  772,  775,    0,    0, 
    9442       774,  772,    0,  774,    0,    0,  776,  775,  778,    0, 
    9443       777,  775,  775,  774,  772,  777,  776,    0,  778,  779, 
    9444  
    9445       776,  776,    0,  778,  779,  775,    0,  777,    0,  777, 
    9446       780,    0,    0,    0,  776,  780,  778,  779,  779,  777, 
    9447         0,  780,  781,    0,  777,    0,    0,  781,  779,  780, 
    9448         0,  782,    0,  779,    0,  777,  782,  777,    0,  780, 
    9449         0,  781,  783,  784,  780,  779,  779,  783,  784,  780, 
    9450       782,  781,    0,  785,    0,  785,  781,  780,    0,    0, 
    9451       782,  783,  784,  786,    0,  782,    0,    0,  786,  781, 
    9452         0,  783,  784,    0,  787,    0,  783,  784,  782,  787, 
    9453         0,  786,  786,  788,    0,    0,  785,    0,  788,  783, 
    9454       784,  785,  786,  787,  789,    0,    0,  786,  787,  789, 
    9455  
    9456         0,  785,  788,  787,    0,  785,    0,    0,  787,  786, 
    9457       786,    0,  788,  789,    0,  785,    0,  788,    0,  790, 
    9458       785,  787,    0,  789,  790,    0,  787,  791,  789,  785, 
    9459       788,  791,  791,  785,    0,    0,  790,    0,  790,  792, 
    9460         0,  789,    0,    0,  792,    0,  791,    0,  790,    0, 
    9461         0,  792,    0,  790,    0,    0,  791,    0,  792,    0, 
    9462       791,  791,  793,    0,  790,    0,  790,  793,  792,    0, 
    9463       795,  796,    0,  792,  791,  795,  796,    0,  795,  792, 
    9464         0,  793,  797,    0,    0,    0,  792,  797,    0,  795, 
    9465       796,  793,    0,  798,    0,  799,  793,  799,  798,  795, 
    9466  
    9467       796,  797,    0,    0,  795,  796,    0,  795,    0,  793, 
    9468         0,  797,  798,    0,    0,    0,  797,  795,  796,  800, 
    9469       801,    0,  798,    0,  800,  801,  816,  798,  799,  797, 
    9470       799,  816,    0,  799,    0,    0,    0,    0,  800,  801, 
    9471       798,    0,    0,    0,    0,  816,    0,  799,  800,  801, 
    9472         0,  817,    0,  800,  801,  816,  817,  799,    0,  799, 
    9473       816,    0,  799,    0,  817,    0,  800,  801,    0,  818, 
    9474       817,  818,    0,  816,  842,  799,  802,  802,  802,  802, 
    9475       817,    0,    0,    0,    0,  817,    0,    0,    0,    0, 
    9476       819,  842,  817,    0,    0,  819,  842,    0,  817,    0, 
    9477  
    9478         0,    0,  818,    0,    0,    0,    0,  818,    0,  819, 
    9479       842,  802,  802,    0,    0,  802,    0,  802,    0,  819, 
    9480       842,  818,    0,    0,  819,  842,    0,    0,  802,  802, 
    9481         0,  818,    0,    0,    0,    0,  818,  819,  842,    0, 
    9482       802,  802,    0,    0,  802,    0,  802,    0,    0,  818, 
    9483         0,    0,    0,    0,    0,    0,  802,  802,  827,  827, 
    9484       827,  827,  827,  827,  827,  827,  827,  827,  827,  827, 
    9485       827,  827,  827,  827,  827,  827,  827,  827,  827,  827, 
    9486       827,  827,  827,  827,  827,  827,  827,  827,  827,  827, 
    9487       827,  827,  827,  827,  827,  827,  827,  827,  827,  827, 
    9488  
    9489       827,  827,  827,  827,  827,  827,  827,  827,  827,  827, 
    9490       827,  827,  827,  827,  827,  827,  827,  827,  827,  827, 
    9491       827,  827,  827,  827,  827,  827,  827,  827,  827,  827, 
    9492       827,  827,  827,  827,  827,  827,  827,  827,  827,  827, 
    9493       827,  827,  827,  827,  827,  827,  827,  828,  841,  841, 
    9494       841,  841,  841,  841,  841,  841,  841,  841,    0,    0, 
    9495         0,    0,    0,    0,  828,  828,  828,  828,  828,  828, 
    9496       828,  828,  828,  828,  829,  829,  829,  829,  829,  829, 
    9497       829,  829,  829,  829,  829,  829,  829,  829,  829,  829, 
    9498       829,  829,  829,  829,  829,  829,  829,  829,  829,  829, 
    9499  
    9500       829,  829,  829,  829,  829,  829,  829,  829,  829,  829, 
    9501       829,  829,  829,  829,  829,  829,  829,  829,  829,  829, 
    9502       829,  829,  829,  829,  829,  829,  829,  829,  829,  829, 
    9503       829,  829,  829,  829,  829,  829,  829,  829,  829,  829, 
    9504       829,  829,  829,  829,  829,  829,  829,  829,  829,  829, 
    9505       829,  829,  829,  829,  829,  829,  829,  829,  829,  829, 
    9506       829,  829,  829,  843,    0,  844,    0,  847,  843,  844, 
    9507       844,  845,  847,  845,  846,    0,  845,    0,  846,  846, 
    9508         0,    0,  843,    0,  844,    0,  847,    0,    0,    0, 
    9509       845,    0,  843,  846,  844,    0,  847,  843,  844,  844, 
    9510  
    9511       845,  847,  845,  846,  849,  845,    0,  846,  846,  849, 
    9512       843,  848,  844,    0,  847,  848,  848,    0,  845,    0, 
    9513       850,  846,    0,  849,    0,  850,    0,  853,    0,    0, 
    9514       848,  854,  853,  849,  850,    0,  854,    0,  849,  850, 
    9515       848,  853,    0,    0,  848,  848,  853,    0,  854,  850, 
    9516       854,  849,  855,    0,  850,    0,  853,  855,  848,    0, 
    9517       854,  853,  850,  858,    0,  854,    0,  850,  858,  853, 
    9518         0,  855,  866,    0,  853,    0,  854,  866,  854,    0, 
    9519       858,  855,  858,  867,    0,    0,  855,    0,  867,    0, 
    9520         0,  866,  858,    0,  867,    0,    0,  858,    0,  855, 
    9521  
    9522         0,  866,  867,    0,  868,    0,  866,    0,  858,  868, 
    9523       858,    0,  867,  869,    0,  869,    0,  867,  869,  866, 
    9524         0,  868,  867,  868,    0,    0,    0,    0,    0,  870, 
    9525       867,    0,  869,  868,  870,  871,    0,    0,  868,    0, 
    9526       871,    0,  869,  870,  869,    0,    0,  869,  870,  868, 
    9527         0,  868,    0,    0,  871,    0,    0,    0,  870,    0, 
    9528       869,  872,    0,  870,  871,  872,  872,    0,  873,  871, 
    9529       874,  870,  873,  873,    0,  874,  870,    0,    0,    0, 
    9530       872,  874,  871,    0,    0,    0,    0,  873,    0,  874, 
    9531       872,  878,    0,  877,  872,  872,  878,  873,  877,  874, 
    9532  
    9533         0,  873,  873,    0,  874,    0,  877,    0,  872,  874, 
    9534       878,    0,  877,  879,  880,  873,  881,  874,  879,  880, 
    9535       878,  881,  877,    0,    0,  878,    0,  877,    0,    0, 
    9536         0,    0,  879,  880,  877,  881,  882,    0,  878,    0, 
    9537       877,  882,  879,  880,  882,  881,    0,  879,  880,    0, 
    9538       881,    0,  883,  886,    0,  882,    0,  883,  886,  885, 
    9539       879,  880,    0,  881,  885,  882,    0,    0,    0,    0, 
    9540       882,  883,  886,  882,    0,    0,  885,    0,  885,  887, 
    9541         0,  883,  886,  882,  887,    0,  883,  886,  885,    0, 
    9542       888,  890,    0,  885,    0,  888,  890,    0,  887,  883, 
    9543  
    9544       886,  888,  891,    0,  885,    0,  885,  891,  887,  888, 
    9545       890,  889,    0,  887,    0,  889,  889,    0,    0,  888, 
    9546       890,  891,  892,  897,  888,  890,  887,  892,  897,  888, 
    9547       889,  891,    0,    0,  895,    0,  891,  888,  890,  895, 
    9548       889,  892,  897,  906,  889,  889,    0,    0,  906,  891, 
    9549         0,  892,  897,  895,    0,  895,  892,  897,  889,  898, 
    9550         0,    0,  906,  895,  898,    0,  907,  898,  895,  892, 
    9551       897,  907,  906,    0,    0,    0,    0,  906,  898,    0, 
    9552         0,  895,    0,  895,  907,  907,    0,    0,  898,  909, 
    9553       906,  909,    0,  898,  909,  907,  898,    0,    0,    0, 
    9554  
    9555       907,    0,    0,    0,    0,    0,  898,  914,  909,    0, 
    9556         0,    0,  907,  907,    0,    0,  917,  917,  909,    0, 
    9557       909,  917,    0,  909,  914,  914,  914,  914,  914,  914, 
    9558       914,  914,  914,  914,    0,  917,  909,  918,    0,  919, 
    9559         0,    0,  918,  919,  919,  917,  917,    0,  920,    0, 
    9560       917,    0,    0,  920,    0,    0,  918,    0,  919,    0, 
    9561         0,    0,    0,  917,    0,  920,  918,  920,  919,  921, 
    9562       922,  918,  919,  919,  921,  922,    0,  920,  923,    0, 
    9563         0,    0,  920,  923,  918,    0,  919,    0,  921,  922, 
    9564         0,  923,    0,  920,    0,  920,    0,  923,  921,  922, 
    9565  
    9566         0,  927,    0,  921,  922,  928,  927,  923,    0,  928, 
    9567       928,    0,  923,  927,    0,    0,  921,  922,    0,  923, 
    9568       927,  938,    0,    0,  928,  923,  938,  930,  940,  938, 
    9569       927,  930,  930,  940,  928,  927,    0,    0,  928,  928, 
    9570       938,  927,    0,    0,    0,    0,  930,  940,  927,    0, 
    9571       938,    0,  928,    0,    0,  938,  930,  940,  938,  939, 
    9572       930,  930,  940,  939,  939,  941,  942,    0,  938,    0, 
    9573       941,  942,    0,    0,  930,  940,    0,    0,  939,    0, 
    9574         0,    0,  943,    0,  941,  942,  942,  943,  939,    0, 
    9575         0,  944,  939,  939,  941,  942,  944,    0,    0,  941, 
    9576  
    9577       942,  943,  945,    0,  944,    0,  939,  945,    0,    0, 
    9578       944,  943,  941,  942,  942,    0,  943,    0,  951,    0, 
    9579       944,  945,  952,  951,    0,  944,    0,  952,    0,  943, 
    9580         0,  945,  944,    0,    0,    0,  945,  951,  944,  955, 
    9581         0,  952,    0,  953,  955,  953,    0,  951,  953,  945, 
    9582         0,  952,  951,  955,    0,    0,  952,    0,  955,  956, 
    9583         0,    0,  953,    0,  956,  951,  957,    0,  955,  952, 
    9584       958,  957,  953,  955,  953,  958,    0,  953,  956,    0, 
    9585         0,  955,    0,    0,    0,  957,  955,  958,  956,  958, 
    9586       953,    0,  960,  956,    0,  957,  960,  960,    0,  958, 
    9587  
    9588       957,    0,    0,  963,  958,    0,  956,    0,  963,  962, 
    9589         0,  960,    0,  957,  962,  958,  963,  958,    0,    0, 
    9590         0,  960,  963,    0,    0,  960,  960,  962,  962,  969, 
    9591         0,    0,  963,    0,  969,  970,    0,  963,  962,  960, 
    9592       970,  971,    0,  962,  963,  971,  971,    0,  969,  969, 
    9593       963,    0,  976,    0,  970,  962,  962,  976,  969,    0, 
    9594       971,  975,    0,  969,  970,    0,  975,    0,  977,  970, 
    9595       971,  976,  975,  977,  971,  971,  969,  969,    0,    0, 
    9596       975,  976,  970,    0,  979,    0,  976,  977,  971,  979, 
    9597       975,    0,    0,  985,    0,  975,    0,  977,  985,  976, 
    9598  
    9599       975,  978,  977,  979,  982,  978,  978,    0,  975,  982, 
    9600         0,    0,  985,  979,    0,  977,    0,    0,  979,  982, 
    9601       978,    0,  985,  982,  983,    0,  983,  985,    0,  983, 
    9602       978,  979,    0,  982,  978,  978,    0,    0,  982,    0, 
    9603       985,  993,    0,  983,  994,  992,  993,  982,  978,  994, 
    9604       992,  982,    0,  983,    0,  983,  994,    0,  983,  992, 
    9605       993,  995,    0,  994,  992,    0,  995,  996,    0,    0, 
    9606       993,  983,  996,  994,  992,  993,    0,    0,  994,  992, 
    9607       995,    0,    0,    0,  994,    0,  996,  992,  993,    0, 
    9608       995,  994,  992, 1004,    0,  995,  996,  997, 1004,  997, 
    9609  
    9610      1007,  996,  997,    0, 1006, 1007, 1006,    0,  995, 1006, 
    9611         0,    0, 1004,    0,  996,    0,  997,    0,    0, 1007, 
    9612      1009,    0, 1004, 1006,    0, 1009,  997, 1004,  997, 1007, 
    9613         0,  997,    0, 1006, 1007, 1006,    0, 1011, 1006, 1009, 
    9614      1004, 1011, 1011,    0,  997,    0,    0, 1007,    0, 1009, 
    9615         0, 1006,    0, 1012, 1009,    0, 1011, 1012, 1012,    0, 
    9616      1020,    0,    0,    0, 1019, 1020, 1011, 1009,    0, 1019, 
    9617      1011, 1011, 1012,    0,    0, 1019, 1025,    0,    0, 1020, 
    9618      1025, 1025, 1012, 1019, 1011, 1026, 1012, 1012,    0, 1020, 
    9619      1026,    0,    0, 1019, 1020, 1025,    0, 1029, 1019,    0, 
    9620  
    9621      1012,    0, 1029, 1019, 1026, 1025,    0, 1020, 1029, 1025, 
    9622      1025, 1019,    0,    0, 1026,    0, 1029,    0,    0, 1026, 
    9623      1030,    0, 1037, 1025, 1038, 1030, 1029, 1037, 1030, 1038, 
    9624         0, 1029, 1026,    0,    0, 1037, 1029,    0,    0, 1030, 
    9625         0, 1037,    0, 1038, 1029,    0,    0, 1039,    0, 1030, 
    9626         0, 1037, 1039, 1038, 1030, 1039, 1037, 1030, 1038, 1047, 
    9627         0,    0,    0, 1037, 1047,    0, 1039, 1030, 1040, 1037, 
    9628      1044, 1038, 1040, 1040, 1044, 1044, 1039,    0, 1047,    0, 
    9629         0, 1039,    0,    0, 1039,    0,    0, 1040, 1047, 1044, 
    9630      1048, 1054,    0, 1047, 1039, 1048, 1054, 1040,    0, 1044, 
    9631  
    9632         0, 1040, 1040, 1044, 1044,    0, 1047, 1059,    0, 1048, 
    9633      1054,    0, 1059,    0,    0, 1040, 1063, 1044,    0, 1048, 
    9634      1054, 1063,    0, 1062, 1048, 1054, 1059, 1062, 1062,    0, 
    9635         0,    0,    0,    0, 1063, 1063, 1059, 1048, 1054, 1067, 
    9636         0, 1059, 1062,    0, 1067, 1063, 1068,    0, 1069,    0, 
    9637      1063, 1068, 1062, 1069, 1059,    0, 1062, 1062, 1067, 1068, 
    9638         0,    0, 1063, 1063,    0, 1068,    0, 1069, 1067, 1073, 
    9639      1062, 1080, 1073, 1067, 1073, 1068, 1080, 1069,    0,    0, 
    9640      1068,    0, 1069,    0,    0,    0, 1067, 1068, 1073,    0, 
    9641      1080, 1087,    0, 1068, 1088, 1069, 1087,    0, 1073, 1088, 
    9642  
    9643      1080, 1073, 1088, 1073,    0, 1080,    0,    0,    0,    0, 
    9644      1087,    0,    0, 1088, 1087,    0, 1073, 1091, 1080,    0, 
    9645      1087, 1091, 1091, 1088, 1095, 1087,    0,    0, 1088, 1095, 
    9646         0, 1088,    0,    0,    0,    0, 1091,    0, 1087,    0, 
    9647      1105, 1088, 1087, 1095, 1095, 1105, 1091, 1106,    0, 1108, 
    9648      1091, 1091, 1106, 1095, 1108,    0,    0,    0, 1095, 1105, 
    9649         0, 1106,    0,    0, 1091,    0, 1106,    0, 1108, 1105, 
    9650         0, 1095, 1095,    0, 1105,    0, 1106,    0, 1108,    0, 
    9651         0, 1106,    0, 1108,    0,    0,    0, 1105,    0, 1106, 
    9652         0,    0,    0,    0, 1106,    0, 1108, 1109, 1109, 1109, 
    9653  
    9654         0,    0, 1109, 1109,    0, 1109,    0,    0,    0, 1109, 
    9655      1109,    0,    0, 1109,    0,    0, 1109, 1109, 1109, 1109, 
    9656      1109, 1109, 1109, 1109, 1109, 1112, 1122,    0,    0,    0, 
    9657      1112, 1122,    0,    0,    0,    0,    0,    0,    0, 1122, 
    9658         0,    0, 1112,    0, 1112, 1122,    0,    0,    0,    0, 
    9659         0,    0,    0,    0, 1112, 1122,    0,    0,    0, 1112, 
    9660      1122,    0,    0,    0,    0,    0,    0, 1122,    0,    0, 
    9661      1112,    0, 1112, 1122, 1126, 1126, 1126,    0,    0, 1126, 
    9662      1126,    0, 1126,    0, 1128, 1126, 1126, 1126, 1128, 1128, 
    9663      1126,    0,    0, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 
    9664  
    9665      1126, 1126,    0, 1128, 1133, 1137,    0,    0,    0, 1133, 
    9666      1137,    0,    0, 1128,    0,    0,    0, 1128, 1128,    0, 
    9667         0,    0,    0, 1133, 1137,    0,    0,    0,    0,    0, 
    9668         0, 1128,    0, 1133, 1137,    0,    0,    0, 1133, 1137, 
     7841      217,  217,  217,  217,  217,  217,  217,  217,  220,  219, 
     7842      227,  228,  230,  248,  245,  229,  254,  255,  217,  217, 
     7843 
     7844      217,  217,  217,  219,  237,  220,  232,  232,  232,  256, 
     7845      257,  237,  237,  259,  232,  232,    0,  220,  219,  228, 
     7846      230,  248,  245,    0,  254,  255,  233,  233,  233,  217, 
     7847      217,  219,    0,  220,  233,  233,  236,  256,  257,    0, 
     7848      238,  259,  238,  236,  236,  238,  238,  238,  238,  238, 
     7849      238,  238,  238,  238,  238,  260,  237,  217,  218,  218, 
     7850      218,  218,  218,  218,  218,  218,  218,  218,  218,  218, 
     7851      218,  218,  218,  218,  218,  218,  218,  261,  262,  236, 
     7852      378,  378,  378,  260,  237,    0,    0,  218,  218,  218, 
     7853      218,  218,  218,  251,  251,  251,  251,  251,  251,  251, 
     7854 
     7855      251,  251,  251,  263,  264,  261,  262,  236,  252,  252, 
     7856      252,  252,  252,  252,  252,  252,  252,  252,  218,  218, 
     7857      253,  218,  253,  547,  547,  547,    0,    0,  266,  267, 
     7858      253,  263,  264,  265,  268,  269,  265,    0,  270,  271, 
     7859      272,  273,  274,    0,    0,  266,  218,  250,  250,  250, 
     7860      250,  250,  250,  250,  250,  250,  250,  266,  267,  277, 
     7861      281,  265,  268,  269,  265,  250,  250,  270,  271,  272, 
     7862      273,  274,  276,  266,  276,  282,  283,  278,  250,  278, 
     7863        0,    0,  279,  279,  284,  285,  286,  285,  277,  281, 
     7864      287,    0,  289,  290,  250,  250,  291,  292,  288,  293, 
     7865 
     7866      288,  295,    0,  276,  282,  283,  250,  275,  278,  275, 
     7867      279,  279,  284,  294,  286,  299,  285,    0,  298,  287, 
     7868      289,  290,    0,  300,  291,  292,  294,  293,  302,    0, 
     7869      295,  296,  301,  296,  301,    0,  303,  297,  275,  297, 
     7870      304,  296,  294,  275,  299,  275,  298,  297,  275,    0, 
     7871      288,  300,  275,  306,  294,  275,  305,  302,  275,  275, 
     7872      308,    0,  275,  301,  303,  309,  310,  312,  304,  313, 
     7873      315,  311,  275,  316,  275,  296,  317,  275,  288,  311, 
     7874      275,  297,  306,  275,  305,  296,  275,  275,  318,  308, 
     7875      275,  297,  314,  309,  310,  319,  312,  313,  315,  311, 
     7876 
     7877      314,  316,  320,  296,  317,  321,  322,  311,  323,  297, 
     7878      324,  325,  326,  296,  328,  329,  327,  318,  327,  297, 
     7879      330,  314,  331,  332,  319,  333,  327,  334,  314,  335, 
     7880      339,  320,  341,  321,  342,  322,  323,  343,  324,  325, 
     7881      326,  344,  345,  328,  329,  346,  347,  352,  330,    0, 
     7882      331,  332,    0,  333,  351,  334,  363,  335,  339,  348, 
     7883      341,  348,  342,  353,    0,  343,  355,  356,  358,  344, 
     7884      345,  357,  359,  346,  376,  347,  369,  348,  348,  348, 
     7885      348,  348,  348,  348,  348,  348,  348,  349,  357,  869, 
     7886      352,  361,  351,  349,  363,  355,  356,  358,  371,    0, 
     7887 
     7888      357,  359,  376,  349,  349,  349,  349,  349,  349,  349, 
     7889      349,  349,  349,  350,  368,  353,  357,  370,  352,  350, 
     7890      361,  351,  377,  363,  379,  383,    0,  371,  369,  350, 
     7891      350,  350,  350,  350,  350,  350,  350,  350,  350, 1005, 
     7892        0,  360,  372,  353,  354,  364,  364,  364,  381,  869, 
     7893      354,  377,  379,  372,  360,  370,  369,  368,  354,  373, 
     7894      354,  354,  354,  354,  354,  354,  354,  354,  354,  354, 
     7895      360,  372,  374,  380,  384,  383,  382,  373,  354,  354, 
     7896        0,  372,  360,  375,  370,  368,  364,  406,  373,  385, 
     7897      398,  354,  374,  405,  375,  381,  385,  385,  653, 1005, 
     7898 
     7899      653,  374,  380,  383,    0,  373,  386,  354,  354,  382, 
     7900      384,    0,  375,  386,  386,  364,  406,  387,  398,  354, 
     7901      374,  405,  375,  381,  387,  387,  388,  388,  388,  388, 
     7902      388,  388,  388,  388,  388,  388,  408,  410,  382,  384, 
     7903      389,  389,  389,  389,  389,  389,  389,  389,  389,  389, 
     7904      402,  411,  402,  387,  413,    0,  386,  414,    0,  415, 
     7905      402,  416,  417,  418,  420,  408,  410,  421,  422,  423, 
     7906      424,  425,  426,  429,  426,  430,  431,    0,  432,  411, 
     7907      433,  435,  387,  413,  386,  436,  414,  415,  434,  416, 
     7908      417,  439,  418,  420,  442,  421,  422,  423,  424,  425, 
     7909 
     7910      437,  429,  437,  430,  434,  431,  432,  444,  433,  435, 
     7911      440,  446,  440,  426,  436,  447,  445,  434,  445,  439, 
     7912      450,  448,  442,  448, 1009,  451,  452,  426,  454,    0, 
     7913      457,  437,  434,  455,  456,  444,  458,  459,  460,  446, 
     7914      464,  440,  426,  458,  447,  463,  468,  445,  467,  450, 
     7915        0,  469,  448,  451,  452,  426,  427,  454,  427,  457, 
     7916      470,  455,  456,    0,  480,  458,  459,  460,  461,  464, 
     7917      461,  458,  465,  463,  465,  468,  467,  478,  461,  469, 
     7918      483,  472,  465,  472, 1009,  479,  481,  427,  470,  482, 
     7919      484,  475,  427,  480,  427,  485,  493,  427,  503,  475, 
     7920 
     7921      488,  427,    0,  489,  427,  478,  490,  427,  427,  483, 
     7922      491,  427,  472,  479,  481,    0,    0,  482,  484,    0, 
     7923      506,  427,  506,  427,  485,  493,  427,  503,  488,  427, 
     7924      475,  489,  427,  499,  490,  427,  427,    0,  491,  427, 
     7925      443,  443,  443,  443,  443,  443,  443,  443,  443,  443, 
     7926      443,  506,  443,  443,  443,  443,  443,  443,  443,  475, 
     7927      507,  499,  508,  509,  494,  500,  494,  500,  513,  443, 
     7928      443,  443,  443,  443,  494,  500,  514,  515,  516,  517, 
     7929      518,  523,  524,  655,  535,  655,  525,    0,  667,  507, 
     7930      667,  508,  509,  520,  529,  520,  527,  513,  563, 1031, 
     7931 
     7932      443,  443,  529,  540,  514,  531,  515,  516,  517,  518, 
     7933      537,  520,  520,  520,  520,  520,  520,  520,  520,  520, 
     7934      520,  521,  525,  529,  527,  545,  563,  521,  443,  565, 
     7935      523,  529,  524,  535,  531,    0,    0,  521,  521,  521, 
     7936      521,  521,  521,  521,  521,  521,  521,  522,    0,  538, 
     7937      539,  525,  540,  522,  545,  537,  568,  565,  523, 1031, 
     7938      524,  535,    0,  522,  522,  522,  522,  522,  522,  522, 
     7939      522,  522,  522,  526,  532,  536,  536,  536,    0,  526, 
     7940      540,  532,  548,  537,  568,  532,  539,  526,  541,  526, 
     7941      526,  526,  526,  526,  526,  526,  526,  526,  526,  538, 
     7942 
     7943      533,    0,  533,  532,  552,  550,  541,  526,  526,  532, 
     7944      533,  548,  561,  532,  533,  539,  536,  541,  542,    0, 
     7945      526,  543,  542,  554,  544,  543,  562,  538,  544,  566, 
     7946      554,  554,  569,  576,  541,  555,  526,  526,  550,  577, 
     7947      552,  561,  555,  555,  570,  536,  571,  542,  526,  573, 
     7948      543,  542,  574,  544,  543,  562,  575,  544,  566,  554, 
     7949        0,  569,  576,  581,  659,  659,  659,  550,  577,  552, 
     7950        0,  578,  570,  578,  571,    0,  641,  573,  641,  579, 
     7951      574,  580,    0,  582,  575,  583,  641,  584,  554,  564, 
     7952      564,  581,  564,  564,  564,  564,  564,  564,  564,  564, 
     7953 
     7954      564,  564,  564,  564,  564,  564,  564,  564,  579,  585, 
     7955      580,  582,  578,  586,  583,  584,  587,  588,  564,  564, 
     7956      564,  564,  564,  590,  592,    0,  578,  593,  594,  586, 
     7957      595,    0,  596,  597,  598,  608,  599,  585,  599,    0, 
     7958      602,  578,  586,  603,  587,  603,  588,  607,  613,  564, 
     7959      564,  590,  610,  592,  578,  593,  594,  586,  611,  595, 
     7960      596,  614,  597,  598,  608,  615,  616,  599,  602,  617, 
     7961      618,    0,  619,  620,  603,  607,  613,  564,  621,  622, 
     7962      623,  610,  626,    0,  627,  628,  630,  611,  632,  633, 
     7963      614,  634,  639,  615,  616,  636,  637,  638,  617,  618, 
     7964 
     7965      619,  640,  620,  644,  645,  646,  621,  646,  622,  623, 
     7966      654,  626,  627,  656,  628,  630,  632,  657,  633,  662, 
     7967      634,  639,  663,  636,  637,  638,  666,  668,  669,  640, 
     7968      669,  644,  645,  658,  670,  658,  646,  671,  672,  654, 
     7969      672,  676,  656,  658,  681,  657,  675,  658,  672,  674, 
     7970      683,  674,  672,  679,  677,  666,  668,  700,  663,  662, 
     7971      694,    0,  670,  674,  695,  680,  671,  694,  694,  680, 
     7972      696,  695,  695,  681,  701,  703,    0,  696,  696,  683, 
     7973      771,  738,  771,  738, 1082,  700,  675,  663,  662,  665, 
     7974      677,  738,  676,  679,  680,  665,    0,  704,  680,  706, 
     7975 
     7976      707,  708,  701,  665,  703,  665,  665,  665,  665,  665, 
     7977      665,  665,  665,  665,  665,  675,  709,    0,  710,  677, 
     7978      676,  711,  679,  665,  665,  704,  714,  706,  707,  708, 
     7979      715,  717,    0,  719,  721,    0,  665,  762,    0,  762, 
     7980      770,  781,  770,  781, 1082,  709,  710,  762,  770,  858, 
     7981      711,  858,  665,  665,  712,  714,  712,  722,  723,  715, 
     7982      717,  719,  724,  721,  665,  682,  682,  682,  682,  682, 
     7983      682,  682,  682,  682,  682,  682,  682,  682,  682,  682, 
     7984      682,  682,  682,  682,  725,  722,  723,  726,  727,  712, 
     7985      729,  724,  728,  730,  682,  682,  682,  682,  682,  731, 
     7986 
     7987      732,    0,  712,  733,  734,  735,  737,  735, 1084,  739, 
     7988      740,  741,  725,  742,    0,  743,  726,  727,  712,  729, 
     7989      728,  745,  730,  746,  752,  682,  682,  731,  756,  732, 
     7990      712,  733,  734,    0,    0,  737,  735,  739,    0,  740, 
     7991      741,  755,  742,  743,  757,  775,  775,  775,  833,  745, 
     7992      833,  746,  752,  682,  686,  686,  686,  756,  833,  686, 
     7993      686,  751,  686,  751,    0,    0,  686,  686, 1084,  755, 
     7994      686,    0,  757,  686,  686,  686,  686,  686,  686,  686, 
     7995      686,  686,  699,  699,  776,  699,  699,  699,  699,  699, 
     7996      699,  699,  699,  699,  699,  699,  699,  699,  699,  699, 
     7997 
     7998      699,  758,  759,  783,  760,  763,    0,  768,  773,  751, 
     7999      772,  699,  699,  699,  699,  699,  767,  774,  767,  779, 
     8000      782,  776,  784,  787,  780,  789,  791,  791,  791,  758, 
     8001      802,  759,  760,  810,  763,  768,  773,  751,  803,  772, 
     8002      783,    0,  699,  699,  804,  806,  774,  807,  779,  782, 
     8003      776,  767,  780,  808,  789,  797,  812,  798,  784,  802, 
     8004      787,  810,  797,  797,  798,  798,  864,  803,  864,  783, 
     8005      699,    0,    0,  804,  806,    0,  807,  811,    0,  811, 
     8006      767,  801,  808,  813,  812,  801,  815,  784,  816,  787, 
     8007      788,  788,  788,  788,  788,  788,  788,  788,  788,  788, 
     8008 
     8009      788,  788,  788,  788,  788,  788,  788,  788,  788,  817, 
     8010      801,  813,  811,  819,  801,  815,  816,  818,  820,  788, 
     8011      788,  788,  788,  788,  821,  811,  822,    0,  823,  824, 
     8012      825,  826,  827,    0,  828,  830,  831,  840,  817,  832, 
     8013     1085,  811,  819,  835,  836,  818,  842,  820,  842,  843, 
     8014      788,  788,  821,  811,  844,  822,  823,  824,  825,  826, 
     8015      846,  827,  828,  847,  830,  831,  840,  832,  834,  834, 
     8016      834,  835,  836,  851,  852,  851,  834,  843,  788,  834, 
     8017      853,  855,  844,  851,  854,  856,  854,  857,  846,  859, 
     8018      867,  865,  847,  863,  842,  870,  871,    0,  873,  874, 
     8019 
     8020     1085,  875,  876,  852,  878,  879,  880,  881,  853,  882, 
     8021      855,  883,    0,  884,  856,  857,  885,  889,  859,  854, 
     8022      865,  863,  842,  886,  870,  871,  873,  887,  874,  875, 
     8023      876,  888,  878,  879,  880,  881,  890,  882,  896,  867, 
     8024      883,  884,  892,  893,  894,  885,  889,  895,  854,  897, 
     8025      899,  886,  901,  901,  901,  887,  903,  903,  903,  888, 
     8026      901,  909,    0,  901,  890,  910,  896,  867,    0,  908, 
     8027      915,  892,  893,  894,  913,  916,  895,  897,  899,  902, 
     8028      902,  902,  917,  904,  904,  904,  918,  902,  919,  909, 
     8029      902,  904,  920,  910,  904,  905,  905,  905,  908,  915, 
     8030 
     8031      921,  922,  913,  905,  916,  924,  905,  925,  926,  927, 
     8032      917,  928,  929,  932,  918,    0,  919,  933,    0,  935, 
     8033      936,  920,  937,  938,  939,  941,  940,  942,  940,  943, 
     8034      922,  944,  945,  947,  924,  921,  940,  949,  951,  928, 
     8035      929,  932,  952,  925,  927,  926,  933,  935,    0,  936, 
     8036      937,    0,  938,  939,  941,  961,  942,  960,  943,  944, 
     8037      945,  947,    0,    0,  921,  949,  951,  953,  953,  953, 
     8038      965,  952,  925,  927,  926,  954,  954,  954,  970,  955, 
     8039      955,  955,  963,  954,  961,  960,  954,  955,  966,  973, 
     8040      955,  956,  956,  956,  967,  957,  957,  957,  965,  956, 
     8041 
     8042      969,  975,  956,  957,  971,  974,  957,  958,  958,  958, 
     8043      976,  963,  977,  980,  977,  958,  981,  966,  958,    0, 
     8044      982,  983,  977,  967,  970,  984,  985,  984,  985,  969, 
     8045      987,  989,  971,  991,  973,  984,  985,  974,  994,  976, 
     8046      992,  980,  995, 1008, 1007,  981,    0,  975,  982,  998, 
     8047      983,    0,  970,  996,  996,  996,  999, 1001,  987,  989, 
     8048     1013,  991,  973, 1016, 1014, 1015,  974,  994,  992, 1017, 
     8049     1019,  995,  997,  997,  997,  975, 1021, 1008,  998, 1007, 
     8050      997, 1032, 1011,  997, 1011,  999, 1001, 1012, 1013, 1012, 
     8051     1025, 1016, 1011, 1014, 1015, 1026, 1029, 1017, 1027, 1019, 
     8052 
     8053     1012, 1030, 1012, 1033, 1021, 1037, 1008, 1036, 1007, 1023, 
     8054     1023, 1023, 1024, 1024, 1024,    0, 1038, 1032, 1012, 1025, 
     8055     1024, 1039, 1042, 1024, 1026, 1034, 1027, 1034, 1045, 1030, 
     8056     1041, 1048, 1035, 1037, 1035, 1052, 1036, 1046, 1034, 1050, 
     8057     1034, 1029, 1056, 1035, 1038, 1035, 1032, 1035, 1033, 1059, 
     8058     1039, 1042, 1043, 1043, 1043, 1049, 1034, 1045, 1041, 1044, 
     8059     1044, 1044, 1053, 1035, 1053, 1046, 1055, 1044, 1058, 1029, 
     8060     1044, 1056, 1063, 1053, 1050, 1068, 1033, 1048, 1059, 1064, 
     8061     1065, 1052,    0, 1049, 1062, 1062, 1062, 1066, 1071, 1067, 
     8062        0, 1073, 1062,    0, 1055, 1062, 1058, 1074,    0, 1079, 
     8063 
     8064     1063, 1099, 1109, 1050, 1093, 1048,    0, 1064, 1065, 1052, 
     8065     1061, 1061, 1061, 1095,    0, 1061, 1061, 1067, 1061, 1073, 
     8066     1086, 1068, 1061, 1061, 1080, 1074, 1061, 1079, 1090, 1061, 
     8067     1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1066, 1071, 
     8068     1076, 1076, 1076, 1077, 1077, 1077,    0, 1094, 1086, 1068, 
     8069     1099, 1077, 1096, 1080, 1077, 1093, 1104, 1090, 1095, 1101, 
     8070     1102, 1105, 1109,    0, 1111,    0, 1066, 1071, 1078, 1078, 
     8071     1078, 1100, 1113, 1078, 1078, 1094, 1078, 1103, 1099, 1078, 
     8072     1078, 1078, 1106, 1093, 1078, 1104, 1095, 1078, 1078, 1078, 
     8073     1078, 1078, 1078, 1078, 1078, 1078, 1088, 1088, 1088, 1100, 
     8074 
     8075     1089, 1089, 1089, 1096, 1088, 1101, 1107, 1088, 1089, 1102, 
     8076     1108, 1089, 1105, 1103, 1110, 1111, 1112, 1114, 1106, 1115, 
     8077     1115, 1115, 1117, 1113, 1116, 1116, 1116, 1118, 1118, 1118, 
     8078     1123, 1096, 1126, 1101, 1119, 1119, 1119, 1102, 1107, 1108, 
     8079     1105, 1127, 1103, 1111, 1112,    0, 1110, 1106, 1121, 1121, 
     8080     1121, 1113, 1124, 1124, 1124, 1128, 1128, 1128, 1129, 1129, 
     8081     1129,    0,    0,    0, 1126,    0, 1123, 1107, 1114,    0, 
     8082        0, 1117,    0,    0,    0, 1110,    0,    0,    0,    0, 
    96698083        0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    9670         0, 1133, 1137, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 
    9671      1162, 1162, 1162, 1162, 1162, 1163, 1163, 1163, 1163, 1163, 
    9672      1163, 1163, 1163, 1163, 1163, 1163, 1163, 1164, 1164,    0, 
    9673      1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165, 
    9674      1165,    0, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 
    9675  
    9676      1165, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 
    9677      1166, 1166, 1166, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 
    9678      1167, 1167, 1167, 1167, 1167, 1168, 1168, 1169, 1169, 1169, 
    9679      1169, 1169, 1169, 1169, 1169, 1170, 1170, 1170, 1170, 1170, 
    9680      1170, 1170, 1170, 1170, 1170, 1170, 1170, 1171, 1171, 1171, 
    9681      1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1172, 
    9682      1172, 1172, 1172, 1172, 1172,    0, 1172, 1172, 1172,    0, 
    9683      1172, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 
    9684      1173, 1173, 1173, 1174,    0,    0, 1174, 1175, 1175, 1175, 
    9685         0,    0, 1175,    0, 1175, 1175,    0, 1175, 1175, 1176, 
    9686  
    9687      1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 
    9688      1176, 1177, 1177,    0, 1177, 1177, 1177, 1177, 1177, 1177, 
    9689      1177, 1177, 1177, 1178, 1178, 1178, 1178, 1178, 1178,    0, 
    9690      1178, 1178, 1178,    0, 1178, 1179, 1179, 1179, 1179, 1179, 
    9691      1179, 1179, 1179, 1179, 1179, 1179, 1179, 1180, 1180, 1180, 
    9692      1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1181, 
    9693         0,    0, 1181, 1182,    0,    0,    0, 1182,    0,    0, 
    9694         0,    0,    0, 1182, 1183, 1183, 1183, 1183, 1183, 1183, 
    9695      1183, 1183, 1183, 1183, 1183, 1183, 1184, 1184,    0, 1184, 
    9696      1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1185, 1185, 
    9697  
    9698         0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 
    9699      1186, 1186,    0, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 
    9700      1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 
    9701      1187, 1187, 1187, 1187, 1188, 1188, 1188, 1188, 1188, 1188, 
    9702      1188, 1188, 1188, 1188, 1188, 1188, 1189, 1189, 1189, 1189, 
    9703      1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1190, 1190, 
    9704      1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 
    9705      1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 
    9706      1191, 1191, 1192, 1192,    0, 1192, 1192, 1192, 1192, 1192, 
    9707      1192, 1192, 1192, 1192, 1193, 1193, 1193, 1193, 1193, 1193, 
    9708  
    9709      1193, 1193, 1193, 1193, 1193, 1193, 1194, 1194, 1194, 1194, 
    9710      1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1195, 1195, 
    9711         0, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 
    9712      1196, 1196,    0, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 
    9713      1196, 1196, 1197, 1197,    0, 1197, 1197, 1197, 1197, 1197, 
    9714      1197, 1197, 1197, 1197, 1198, 1198,    0, 1198, 1198, 1198, 
    9715      1198, 1198, 1198, 1198, 1198, 1198, 1199, 1199,    0, 1199, 
    9716      1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 
    9717      1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 
    9718      1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 
    9719  
    9720      1201, 1201, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 
    9721      1202, 1202, 1202, 1202, 1203, 1203, 1203, 1203, 1203, 1203, 
    9722      1203, 1203, 1203, 1203, 1203, 1203, 1204, 1204, 1204, 1204, 
    9723      1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1205, 1205, 
    9724      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 
    9725      1206, 1206,    0, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 
    9726      1206, 1206, 1207, 1207,    0, 1207, 1207, 1207, 1207, 1207, 
    9727      1207, 1207, 1207, 1207, 1208, 1208, 1208, 1208, 1208, 1208, 
    9728      1208, 1208, 1208, 1208, 1208, 1208, 1209, 1209, 1209, 1209, 
    9729      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1210, 1210, 
    9730  
    9731      1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 
    9732      1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 
    9733      1211, 1211, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 
    9734      1212, 1212, 1212, 1212, 1213, 1213, 1213, 1213, 1213, 1213, 
    9735      1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1214, 1214, 
    9736      1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1161, 1161, 
    9737      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    9738      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    9739      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    9740      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    9741  
    9742      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    9743      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    9744      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    9745      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    9746      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161 
     8084        0,    0, 1127, 1126,    0, 1123, 1114,    0,    0, 1117, 
     8085 
     8086        0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     8087        0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     8088     1127, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 
     8089     1132, 1132, 1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 
     8090     1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134,    0, 1134, 
     8091     1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 
     8092     1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 
     8093     1135, 1135, 1135, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 
     8094     1136, 1136, 1136, 1136, 1136, 1136, 1137, 1137, 1137, 1137, 
     8095     1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1138, 
     8096 
     8097     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1139, 1139, 
     8098     1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 
     8099     1139, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 
     8100     1140, 1140, 1140, 1140, 1141, 1141, 1141, 1141, 1141,    0, 
     8101     1141, 1141, 1141,    0, 1141,    0, 1141, 1142, 1142, 1142, 
     8102     1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 
     8103     1143,    0,    0,    0,    0,    0,    0,    0, 1143, 1144, 
     8104     1144,    0, 1144, 1144,    0, 1144,    0,    0, 1144, 1144, 
     8105        0, 1144, 1145, 1145, 1145, 1145, 1146, 1146, 1146, 1146, 
     8106     1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1147, 
     8107 
     8108     1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 
     8109     1147, 1147, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 
     8110     1148, 1148, 1148, 1148, 1148, 1149, 1149, 1149,    0, 1149, 
     8111     1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1150,    0, 
     8112     1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 
     8113     1150, 1151,    0, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 
     8114     1151, 1151, 1151, 1151, 1152, 1152, 1152, 1152, 1152, 1152, 
     8115     1152, 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 1153, 
     8116     1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 
     8117     1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 
     8118 
     8119     1154, 1154, 1154, 1155,    0, 1155, 1155, 1155, 1155, 1155, 
     8120     1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156, 1156, 1156, 
     8121     1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 
     8122     1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 
     8123     1157, 1157, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 
     8124     1158, 1158, 1158, 1158, 1158, 1159,    0, 1159, 1159, 1159, 
     8125     1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1160,    0, 
     8126     1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 
     8127     1160, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
     8128     1161, 1161, 1161, 1161, 1162, 1162, 1162, 1162, 1162, 1162, 
     8129 
     8130     1162, 1162, 1162, 1162, 1162, 1162, 1162, 1163, 1163, 1163, 
     8131     1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 
     8132     1164,    0, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 
     8133     1164, 1164, 1164, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 
     8134     1165, 1165, 1165, 1165, 1165, 1165, 1166, 1166, 1166, 1166, 
     8135     1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1167, 
     8136     1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 
     8137     1167, 1167, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 
     8138     1168, 1168, 1168, 1168, 1168, 1169, 1169, 1169, 1169, 1169, 
     8139     1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170, 1170, 
     8140 
     8141     1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 
     8142     1170, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     8143     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     8144     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     8145     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     8146     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     8147     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     8148     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     8149     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     8150     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
     8151 
     8152     1131 
    97478153    } ; 
    97488154 
     
    97508156static char *yy_last_accepting_cpos; 
    97518157 
    9752 extern int fortran_flex_debug; 
    9753 int fortran_flex_debug = 0; 
     8158extern int fortran__flex_debug; 
     8159int fortran__flex_debug = 0; 
    97548160 
    97558161/* The intent behind this definition is that it'll catch 
     
    97608166#define YY_MORE_ADJ 0 
    97618167#define YY_RESTORE_YY_MORE_OFFSET 
    9762 char *fortrantext; 
     8168char *fortran_text; 
    97638169#line 1 "fortran.lex" 
    97648170/******************************************************************************/ 
     
    98018207 
    98028208 
    9803 #line 41 "fortran.lex" 
     8209#line 44 "fortran.lex" 
    98048210#include <math.h> 
    98058211#include <stdlib.h> 
    98068212#include <string.h> 
    9807 extern FILE * fortranin; 
     8213extern FILE * fortran_in; 
    98088214#define MAX_INCLUDE_DEPTH 30 
    9809 #define tabsize 6 
    98108215YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; 
    9811 int line_num_fortran=1; 
    9812 int line_num_fortran_common=1; 
     8216int line_num_input = 1; 
    98138217int newlinef90 = 0; 
    9814 char *tmp; 
    98158218char tmpc; 
     8219#define PRINT_LINE_NUM()     // { fprintf(stderr,"== Parsing l.%4d...\n", line_num_input); } 
     8220#define INCREMENT_LINE_NUM() { line_num_input++; PRINT_LINE_NUM(); } 
     8221 
    98168222/******************************************************************************/ 
    98178223/**************PETITS PB NON PREVUS *******************************************/ 
     
    98238229/*            Normalement NEXTLINEF77 \n+[ ]{5}[^ ]                           */ 
    98248230/******************************************************************************/ 
    9825 #define YY_USER_ACTION \ 
    9826         {\ 
    9827            if (firstpass == 0) \ 
    9828            {\ 
    9829               strcat(curbuf,fortrantext); \ 
    9830               Save_Length(curbuf,38); \ 
    9831               strcpy(motparse,fortrantext);\ 
    9832               Save_Length(motparse,32); \ 
    9833               colnum = colnum + strlen(motparse);\ 
    9834               ECHO; \ 
    9835            }\ 
    9836            strcpy(motparse1,fortrantext);\ 
    9837 /*           printf("fortrantext = %s\n",fortrantext);*/\ 
    9838         /*if ( firstpass == 1 )  
    9839                       printf("fortrantext = %s %d\n",fortrantext,strlen(fortrantext));*/\ 
    9840         } 
    9841 #line 2979 "fortran.yy.c" 
     8231#define YY_USER_ACTION  if (firstpass == 0) ECHO; 
     8232 
     8233void out_of_donottreat(void); 
     8234 
     8235#line 1826 "fortran.yy.c" 
    98428236 
    98438237#define INITIAL 0 
     
    98658259   These are made visible to non-reentrant scanners for convenience. */ 
    98668260 
    9867 int fortranlex_destroy (void ); 
    9868  
    9869 int fortranget_debug (void ); 
    9870  
    9871 void fortranset_debug (int debug_flag  ); 
    9872  
    9873 YY_EXTRA_TYPE fortranget_extra (void ); 
    9874  
    9875 void fortranset_extra (YY_EXTRA_TYPE user_defined  ); 
    9876  
    9877 FILE *fortranget_in (void ); 
    9878  
    9879 void fortranset_in  (FILE * in_str  ); 
    9880  
    9881 FILE *fortranget_out (void ); 
    9882  
    9883 void fortranset_out  (FILE * out_str  ); 
    9884  
    9885 yy_size_t fortranget_leng (void ); 
    9886  
    9887 char *fortranget_text (void ); 
    9888  
    9889 int fortranget_lineno (void ); 
    9890  
    9891 void fortranset_lineno (int line_number  ); 
     8261int fortran_lex_destroy (void ); 
     8262 
     8263int fortran_get_debug (void ); 
     8264 
     8265void fortran_set_debug (int debug_flag  ); 
     8266 
     8267YY_EXTRA_TYPE fortran_get_extra (void ); 
     8268 
     8269void fortran_set_extra (YY_EXTRA_TYPE user_defined  ); 
     8270 
     8271FILE *fortran_get_in (void ); 
     8272 
     8273void fortran_set_in  (FILE * in_str  ); 
     8274 
     8275FILE *fortran_get_out (void ); 
     8276 
     8277void fortran_set_out  (FILE * out_str  ); 
     8278 
     8279yy_size_t fortran_get_leng (void ); 
     8280 
     8281char *fortran_get_text (void ); 
     8282 
     8283int fortran_get_lineno (void ); 
     8284 
     8285void fortran_set_lineno (int line_number  ); 
    98928286 
    98938287/* Macros after this point can all be overridden by user definitions in 
     
    98978291#ifndef YY_SKIP_YYWRAP 
    98988292#ifdef __cplusplus 
    9899 extern "C" int fortranwrap (void ); 
     8293extern "C" int fortran_wrap (void ); 
    99008294#else 
    9901 extern int fortranwrap (void ); 
     8295extern int fortran_wrap (void ); 
    99028296#endif 
    99038297#endif 
     
    99338327 * we now use fwrite(). 
    99348328 */ 
    9935 #define ECHO fwrite( fortrantext, fortranleng, 1, fortranout ) 
     8329#define ECHO fwrite( fortran_text, fortran_leng, 1, fortran_out ) 
    99368330#endif 
    99378331 
     
    99468340      yy_size_t n; \ 
    99478341      for ( n = 0; n < max_size && \ 
    9948               (c = getc( fortranin )) != EOF && c != '\n'; ++n ) \ 
     8342              (c = getc( fortran_in )) != EOF && c != '\n'; ++n ) \ 
    99498343         buf[n] = (char) c; \ 
    99508344      if ( c == '\n' ) \ 
    99518345         buf[n++] = (char) c; \ 
    9952       if ( c == EOF && ferror( fortranin ) ) \ 
     8346      if ( c == EOF && ferror( fortran_in ) ) \ 
    99538347         YY_FATAL_ERROR( "input in flex scanner failed" ); \ 
    99548348      result = n; \ 
     
    99578351      { \ 
    99588352      errno=0; \ 
    9959       while ( (result = fread(buf, 1, max_size, fortranin))==0 && ferror(fortranin)) \ 
     8353      while ( (result = fread(buf, 1, max_size, fortran_in))==0 && ferror(fortran_in)) \ 
    99608354         { \ 
    99618355         if( errno != EINTR) \ 
     
    99658359            } \ 
    99668360         errno=0; \ 
    9967          clearerr(fortranin); \ 
     8361         clearerr(fortran_in); \ 
    99688362         } \ 
    99698363      }\ 
     
    99988392#define YY_DECL_IS_OURS 1 
    99998393 
    10000 extern int fortranlex (void); 
    10001  
    10002 #define YY_DECL int fortranlex (void) 
     8394extern int fortran_lex (void); 
     8395 
     8396#define YY_DECL int fortran_lex (void) 
    100038397#endif /* !YY_DECL */ 
    100048398 
    10005 /* Code executed at the beginning of each rule, after fortrantext and fortranleng 
     8399/* Code executed at the beginning of each rule, after fortran_text and fortran_leng 
    100068400 * have been set up. 
    100078401 */ 
     
    100168410 
    100178411#define YY_RULE_SETUP \ 
    10018    if ( fortranleng > 0 ) \ 
     8412   if ( fortran_leng > 0 ) \ 
    100198413      YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ 
    10020             (fortrantext[fortranleng - 1] == '\n'); \ 
     8414            (fortran_text[fortran_leng - 1] == '\n'); \ 
    100218415   YY_USER_ACTION 
    100228416 
     
    100298423   register int yy_act; 
    100308424     
    10031 #line 107 "fortran.lex" 
     8425#line 97 "fortran.lex" 
    100328426 
    100338427  if (infixed) BEGIN(fortran77style) ; 
    10034   if (infree) BEGIN(fortran90style) ; 
    10035  
    10036 #line 3174 "fortran.yy.c" 
     8428  if (infree)  BEGIN(fortran90style) ; 
     8429 
     8430#line 2021 "fortran.yy.c" 
    100378431 
    100388432   if ( !(yy_init) ) 
     
    100478441         (yy_start) = 1;   /* first start state */ 
    100488442 
    10049       if ( ! fortranin ) 
    10050          fortranin = stdin; 
    10051  
    10052       if ( ! fortranout ) 
    10053          fortranout = stdout; 
     8443      if ( ! fortran_in ) 
     8444         fortran_in = stdin; 
     8445 
     8446      if ( ! fortran_out ) 
     8447         fortran_out = stdout; 
    100548448 
    100558449      if ( ! YY_CURRENT_BUFFER ) { 
    10056          fortranensure_buffer_stack (); 
     8450         fortran_ensure_buffer_stack (); 
    100578451         YY_CURRENT_BUFFER_LVALUE = 
    10058             fortran_create_buffer(fortranin,YY_BUF_SIZE ); 
     8452            fortran__create_buffer(fortran_in,YY_BUF_SIZE ); 
    100598453      } 
    100608454 
    10061       fortran_load_buffer_state( ); 
     8455      fortran__load_buffer_state( ); 
    100628456      } 
    100638457 
     
    100668460      yy_cp = (yy_c_buf_p); 
    100678461 
    10068       /* Support of fortrantext. */ 
     8462      /* Support of fortran_text. */ 
    100698463      *yy_cp = (yy_hold_char); 
    100708464 
     
    100888482            { 
    100898483            yy_current_state = (int) yy_def[yy_current_state]; 
    10090             if ( yy_current_state >= 1162 ) 
     8484            if ( yy_current_state >= 1132 ) 
    100918485               yy_c = yy_meta[(unsigned int) yy_c]; 
    100928486            } 
     
    100948488         ++yy_cp; 
    100958489         } 
    10096       while ( yy_base[yy_current_state] != 9159 ); 
     8490      while ( yy_base[yy_current_state] != 4012 ); 
    100978491 
    100988492yy_find_action: 
     
    101208514case 1: 
    101218515YY_RULE_SETUP 
     8516#line 101 "fortran.lex" 
     8517{ return TOK_REAL8; } 
     8518   YY_BREAK 
     8519case 2: 
     8520YY_RULE_SETUP 
     8521#line 102 "fortran.lex" 
     8522{ return TOK_SUBROUTINE; } 
     8523   YY_BREAK 
     8524case 3: 
     8525YY_RULE_SETUP 
     8526#line 103 "fortran.lex" 
     8527{ return TOK_PROGRAM; } 
     8528   YY_BREAK 
     8529case 4: 
     8530YY_RULE_SETUP 
     8531#line 104 "fortran.lex" 
     8532{ inallocate = 1; return TOK_ALLOCATE; } 
     8533   YY_BREAK 
     8534case 5: 
     8535YY_RULE_SETUP 
     8536#line 105 "fortran.lex" 
     8537{ return TOK_NULLIFY; } 
     8538   YY_BREAK 
     8539case 6: 
     8540YY_RULE_SETUP 
     8541#line 106 "fortran.lex" 
     8542{ return TOK_NULL_PTR; } 
     8543   YY_BREAK 
     8544case 7: 
     8545YY_RULE_SETUP 
     8546#line 107 "fortran.lex" 
     8547{ inallocate = 1; return TOK_DEALLOCATE; } 
     8548   YY_BREAK 
     8549case 8: 
     8550YY_RULE_SETUP 
     8551#line 108 "fortran.lex" 
     8552{ return TOK_RESULT; } 
     8553   YY_BREAK 
     8554case 9: 
     8555YY_RULE_SETUP 
     8556#line 109 "fortran.lex" 
     8557{ return TOK_FUNCTION; } 
     8558   YY_BREAK 
     8559case 10: 
     8560YY_RULE_SETUP 
     8561#line 110 "fortran.lex" 
     8562{ strcpy(yylval.na,fortran_text); return TOK_ENDPROGRAM;} 
     8563   YY_BREAK 
     8564case 11: 
     8565YY_RULE_SETUP 
    101228566#line 111 "fortran.lex" 
    10123 return TOK_DEBUT; 
    10124    YY_BREAK 
    10125 case 2: 
     8567{ strcpy(yylval.na,fortran_text); return TOK_ENDMODULE; } 
     8568   YY_BREAK 
     8569case 12: 
    101268570YY_RULE_SETUP 
    101278571#line 112 "fortran.lex" 
    10128 return TOK_FIN; 
    10129    YY_BREAK 
    10130 case 3: 
     8572{ strcpy(yylval.na,fortran_text); return TOK_ENDSUBROUTINE;} 
     8573   YY_BREAK 
     8574case 13: 
    101318575YY_RULE_SETUP 
    101328576#line 113 "fortran.lex" 
    10133 return TOK_OMP; 
    10134    YY_BREAK 
    10135 case 4: 
     8577{ strcpy(yylval.na,fortran_text); return TOK_ENDFUNCTION;} 
     8578   YY_BREAK 
     8579case 14: 
    101368580YY_RULE_SETUP 
    101378581#line 114 "fortran.lex" 
    10138 return TOK_DOLLAR; 
    10139    YY_BREAK 
    10140 case 5: 
     8582{ strcpy(yylval.na,fortran_text); return TOK_ENDUNIT;} 
     8583   YY_BREAK 
     8584case 15: 
     8585YY_RULE_SETUP 
     8586#line 115 "fortran.lex" 
     8587{ pos_curinclude = setposcur()-9; return TOK_INCLUDE;} 
     8588   YY_BREAK 
     8589case 16: 
    101418590YY_RULE_SETUP 
    101428591#line 116 "fortran.lex" 
    10143 {return TOK_REAL8;} 
    10144    YY_BREAK 
    10145 case 6: 
    10146 YY_RULE_SETUP 
    10147 #line 117 "fortran.lex" 
    10148 {return TOK_SUBROUTINE;} 
    10149    YY_BREAK 
    10150 case 7: 
    10151 YY_RULE_SETUP 
    10152 #line 118 "fortran.lex" 
    10153 {return TOK_PROGRAM;} 
    10154    YY_BREAK 
    10155 case 8: 
    10156 YY_RULE_SETUP 
    10157 #line 119 "fortran.lex" 
    10158 {inallocate = 1; return TOK_ALLOCATE;} 
    10159    YY_BREAK 
    10160 case 9: 
    10161 YY_RULE_SETUP 
    10162 #line 120 "fortran.lex" 
    10163 {return TOK_NULLIFY;} 
    10164    YY_BREAK 
    10165 case 10: 
    10166 YY_RULE_SETUP 
    10167 #line 121 "fortran.lex" 
    10168 {inallocate = 1; return TOK_DEALLOCATE;} 
    10169    YY_BREAK 
    10170 case 11: 
     8592{ strcpy(yylval.na,fortran_text); 
     8593                              tmpc = (char) input(); unput(tmpc); 
     8594                              if ( ( tmpc >= 'a' && tmpc <= 'z' ) || 
     8595                                   ( tmpc >= 'A' && tmpc <= 'Z' )  )  return TOK_USE; 
     8596                              else                                    return TOK_NAME; 
     8597                            } 
     8598   YY_BREAK 
     8599case 17: 
    101718600YY_RULE_SETUP 
    101728601#line 122 "fortran.lex" 
    10173 {return TOK_RESULT;} 
    10174    YY_BREAK 
    10175 case 12: 
     8602{ return TOK_REWIND; } 
     8603   YY_BREAK 
     8604case 18: 
    101768605YY_RULE_SETUP 
    101778606#line 123 "fortran.lex" 
    10178 {return TOK_FUNCTION;} 
    10179    YY_BREAK 
    10180 case 13: 
     8607{ return TOK_IMPLICIT; } 
     8608   YY_BREAK 
     8609case 19: 
    101818610YY_RULE_SETUP 
    101828611#line 124 "fortran.lex" 
    10183 {strcpy(yylval.na,fortrantext);return TOK_ENDSUBROUTINE;} 
    10184    YY_BREAK 
    10185 case 14: 
     8612{ return TOK_NONE; } 
     8613   YY_BREAK 
     8614case 20: 
    101868615YY_RULE_SETUP 
    101878616#line 125 "fortran.lex" 
    10188 {strcpy(yylval.na,fortrantext);return TOK_ENDPROGRAM;} 
    10189    YY_BREAK 
    10190 case 15: 
     8617{ return TOK_CALL; } 
     8618   YY_BREAK 
     8619case 21: 
    101918620YY_RULE_SETUP 
    101928621#line 126 "fortran.lex" 
    10193 {strcpy(yylval.na,fortrantext);return TOK_ENDFUNCTION;} 
    10194    YY_BREAK 
    10195 case 16: 
     8622{ return TOK_TRUE; } 
     8623   YY_BREAK 
     8624case 22: 
    101968625YY_RULE_SETUP 
    101978626#line 127 "fortran.lex" 
    10198 {strcpy(yylval.na,fortrantext);return TOK_ENDUNIT;} 
    10199    YY_BREAK 
    10200 case 17: 
     8627{ return TOK_FALSE; } 
     8628   YY_BREAK 
     8629case 23: 
    102018630YY_RULE_SETUP 
    102028631#line 128 "fortran.lex" 
    10203 return TOK_INCLUDE; 
    10204    YY_BREAK 
    10205 case 18: 
     8632{ return TOK_POINT_TO; } 
     8633   YY_BREAK 
     8634case 24: 
    102068635YY_RULE_SETUP 
    102078636#line 129 "fortran.lex" 
     8637{ strcpy(yylval.na,fortran_text); return TOK_ASSIGNTYPE;} 
     8638   YY_BREAK 
     8639case 25: 
     8640YY_RULE_SETUP 
     8641#line 130 "fortran.lex" 
     8642{ strcpy(yylval.na,fortran_text); return TOK_DASTER; } 
     8643   YY_BREAK 
     8644case 26: 
     8645YY_RULE_SETUP 
     8646#line 131 "fortran.lex" 
     8647{ strcpy(yylval.na,fortran_text); return TOK_EQV; } 
     8648   YY_BREAK 
     8649case 27: 
     8650YY_RULE_SETUP 
     8651#line 132 "fortran.lex" 
     8652{ strcpy(yylval.na,fortran_text); return TOK_EQ;  } 
     8653   YY_BREAK 
     8654case 28: 
     8655YY_RULE_SETUP 
     8656#line 133 "fortran.lex" 
     8657{ strcpy(yylval.na,fortran_text); return TOK_GT;  } 
     8658   YY_BREAK 
     8659case 29: 
     8660YY_RULE_SETUP 
     8661#line 134 "fortran.lex" 
     8662{ strcpy(yylval.na,fortran_text); return TOK_GE;  } 
     8663   YY_BREAK 
     8664case 30: 
     8665YY_RULE_SETUP 
     8666#line 135 "fortran.lex" 
     8667{ strcpy(yylval.na,fortran_text); return TOK_LT;  } 
     8668   YY_BREAK 
     8669case 31: 
     8670YY_RULE_SETUP 
     8671#line 136 "fortran.lex" 
     8672{ strcpy(yylval.na,fortran_text); return TOK_LE;  } 
     8673   YY_BREAK 
     8674case 32: 
     8675YY_RULE_SETUP 
     8676#line 137 "fortran.lex" 
     8677{ strcpy(yylval.na,fortran_text); return TOK_NEQV;} 
     8678   YY_BREAK 
     8679case 33: 
     8680YY_RULE_SETUP 
     8681#line 138 "fortran.lex" 
     8682{ strcpy(yylval.na,fortran_text); return TOK_NE;  } 
     8683   YY_BREAK 
     8684case 34: 
     8685YY_RULE_SETUP 
     8686#line 139 "fortran.lex" 
     8687{ strcpy(yylval.na,fortran_text); return TOK_NOT; } 
     8688   YY_BREAK 
     8689case 35: 
     8690YY_RULE_SETUP 
     8691#line 140 "fortran.lex" 
     8692{ strcpy(yylval.na,fortran_text); return TOK_OR;  } 
     8693   YY_BREAK 
     8694case 36: 
     8695YY_RULE_SETUP 
     8696#line 141 "fortran.lex" 
     8697{ strcpy(yylval.na,fortran_text); return TOK_XOR; } 
     8698   YY_BREAK 
     8699case 37: 
     8700YY_RULE_SETUP 
     8701#line 142 "fortran.lex" 
     8702{ strcpy(yylval.na,fortran_text); return TOK_AND; } 
     8703   YY_BREAK 
     8704case 38: 
     8705YY_RULE_SETUP 
     8706#line 143 "fortran.lex" 
     8707{ return TOK_MODULE; } 
     8708   YY_BREAK 
     8709case 39: 
     8710YY_RULE_SETUP 
     8711#line 144 "fortran.lex" 
     8712{ return TOK_WHILE; } 
     8713   YY_BREAK 
     8714case 40: 
     8715YY_RULE_SETUP 
     8716#line 145 "fortran.lex" 
     8717{ return TOK_CONCURRENT; } 
     8718   YY_BREAK 
     8719case 41: 
     8720YY_RULE_SETUP 
     8721#line 146 "fortran.lex" 
     8722{ return TOK_ENDDO; } 
     8723   YY_BREAK 
     8724case 42: 
     8725YY_RULE_SETUP 
     8726#line 147 "fortran.lex" 
     8727{ return TOK_PLAINDO;} 
     8728   YY_BREAK 
     8729case 43: 
     8730YY_RULE_SETUP 
     8731#line 148 "fortran.lex" 
     8732{ strcpy(yylval.na,fortran_text); return TOK_REAL; } 
     8733   YY_BREAK 
     8734case 44: 
     8735YY_RULE_SETUP 
     8736#line 149 "fortran.lex" 
     8737{ strcpy(yylval.na,fortran_text); return TOK_INTEGER; } 
     8738   YY_BREAK 
     8739case 45: 
     8740YY_RULE_SETUP 
     8741#line 150 "fortran.lex" 
     8742{ strcpy(yylval.na,fortran_text); return TOK_LOGICAL; } 
     8743   YY_BREAK 
     8744case 46: 
     8745YY_RULE_SETUP 
     8746#line 151 "fortran.lex" 
     8747{ strcpy(yylval.na,fortran_text); return TOK_CHARACTER; } 
     8748   YY_BREAK 
     8749case 47: 
     8750YY_RULE_SETUP 
     8751#line 152 "fortran.lex" 
     8752{ strcpy(yylval.na,fortran_text); return TOK_HEXA;} 
     8753   YY_BREAK 
     8754case 48: 
     8755YY_RULE_SETUP 
     8756#line 153 "fortran.lex" 
     8757{ strcpy(yylval.na,fortran_text); return TOK_DOUBLEPRECISION; } 
     8758   YY_BREAK 
     8759case 49: 
     8760YY_RULE_SETUP 
     8761#line 154 "fortran.lex" 
     8762{ strcpy(yylval.na,fortran_text); return TOK_DOUBLECOMPLEX; } 
     8763   YY_BREAK 
     8764case 50: 
     8765YY_RULE_SETUP 
     8766#line 155 "fortran.lex" 
     8767{ return TOK_COMPLEX; } 
     8768   YY_BREAK 
     8769case 51: 
     8770YY_RULE_SETUP 
     8771#line 156 "fortran.lex" 
     8772{ return TOK_ALLOCATABLE; } 
     8773   YY_BREAK 
     8774case 52: 
     8775YY_RULE_SETUP 
     8776#line 157 "fortran.lex" 
     8777{ return TOK_CLOSE; } 
     8778   YY_BREAK 
     8779case 53: 
     8780YY_RULE_SETUP 
     8781#line 158 "fortran.lex" 
     8782{ return TOK_INQUIRE; } 
     8783   YY_BREAK 
     8784case 54: 
     8785YY_RULE_SETUP 
     8786#line 159 "fortran.lex" 
     8787{ return TOK_DIMENSION; } 
     8788   YY_BREAK 
     8789case 55: 
     8790YY_RULE_SETUP 
     8791#line 160 "fortran.lex" 
     8792{ return TOK_PAUSE; } 
     8793   YY_BREAK 
     8794case 56: 
     8795YY_RULE_SETUP 
     8796#line 161 "fortran.lex" 
     8797{ return TOK_EQUIVALENCE; } 
     8798   YY_BREAK 
     8799case 57: 
     8800YY_RULE_SETUP 
     8801#line 162 "fortran.lex" 
     8802{ return TOK_STOP; } 
     8803   YY_BREAK 
     8804case 58: 
     8805YY_RULE_SETUP 
     8806#line 163 "fortran.lex" 
     8807{ return TOK_WHERE; } 
     8808   YY_BREAK 
     8809case 59: 
     8810YY_RULE_SETUP 
     8811#line 164 "fortran.lex" 
     8812{ return TOK_ENDWHERE; } 
     8813   YY_BREAK 
     8814case 60: 
     8815YY_RULE_SETUP 
     8816#line 165 "fortran.lex" 
     8817{ return TOK_ELSEWHEREPAR; } 
     8818   YY_BREAK 
     8819case 61: 
     8820YY_RULE_SETUP 
     8821#line 166 "fortran.lex" 
     8822{ return TOK_ELSEWHERE; } 
     8823   YY_BREAK 
     8824case 62: 
     8825YY_RULE_SETUP 
     8826#line 167 "fortran.lex" 
     8827{ return TOK_CONTAINS; } 
     8828   YY_BREAK 
     8829case 63: 
     8830YY_RULE_SETUP 
     8831#line 168 "fortran.lex" 
     8832{ return TOK_ONLY; } 
     8833   YY_BREAK 
     8834case 64: 
     8835YY_RULE_SETUP 
     8836#line 169 "fortran.lex" 
     8837{ return TOK_PARAMETER; } 
     8838   YY_BREAK 
     8839case 65: 
     8840YY_RULE_SETUP 
     8841#line 170 "fortran.lex" 
     8842{ return TOK_RECURSIVE; } 
     8843   YY_BREAK 
     8844case 66: 
     8845YY_RULE_SETUP 
     8846#line 171 "fortran.lex" 
     8847{ return TOK_COMMON; } 
     8848   YY_BREAK 
     8849case 67: 
     8850YY_RULE_SETUP 
     8851#line 172 "fortran.lex" 
     8852{ return TOK_GLOBAL; } 
     8853   YY_BREAK 
     8854case 68: 
     8855YY_RULE_SETUP 
     8856#line 173 "fortran.lex" 
     8857{ return TOK_EXTERNAL; } 
     8858   YY_BREAK 
     8859case 69: 
     8860YY_RULE_SETUP 
     8861#line 174 "fortran.lex" 
     8862{ return TOK_INTENT; } 
     8863   YY_BREAK 
     8864case 70: 
     8865YY_RULE_SETUP 
     8866#line 175 "fortran.lex" 
     8867{ return TOK_POINTER; } 
     8868   YY_BREAK 
     8869case 71: 
     8870YY_RULE_SETUP 
     8871#line 176 "fortran.lex" 
     8872{ return TOK_OPTIONAL; } 
     8873   YY_BREAK 
     8874case 72: 
     8875YY_RULE_SETUP 
     8876#line 177 "fortran.lex" 
     8877{ return TOK_SAVE; } 
     8878   YY_BREAK 
     8879case 73: 
     8880YY_RULE_SETUP 
     8881#line 178 "fortran.lex" 
     8882{ pos_cur_decl = setposcur()-5; return TOK_TYPEPAR; } 
     8883   YY_BREAK 
     8884case 74: 
     8885YY_RULE_SETUP 
     8886#line 179 "fortran.lex" 
     8887{ return TOK_TYPE; } 
     8888   YY_BREAK 
     8889case 75: 
     8890YY_RULE_SETUP 
     8891#line 180 "fortran.lex" 
     8892{ return TOK_ENDTYPE; } 
     8893   YY_BREAK 
     8894case 76: 
     8895YY_RULE_SETUP 
     8896#line 181 "fortran.lex" 
     8897{ if (inallocate == 1) return TOK_STAT; else { strcpy(yylval.na,fortran_text); return TOK_NAME; } } 
     8898   YY_BREAK 
     8899case 77: 
     8900YY_RULE_SETUP 
     8901#line 182 "fortran.lex" 
     8902{ return TOK_OPEN; } 
     8903   YY_BREAK 
     8904case 78: 
     8905YY_RULE_SETUP 
     8906#line 183 "fortran.lex" 
     8907{ return TOK_RETURN; } 
     8908   YY_BREAK 
     8909case 79: 
     8910/* rule 79 can match eol */ 
     8911YY_RULE_SETUP 
     8912#line 184 "fortran.lex" 
     8913{ return TOK_EXIT; } 
     8914   YY_BREAK 
     8915case 80: 
     8916YY_RULE_SETUP 
     8917#line 185 "fortran.lex" 
     8918{ return TOK_PRINT; } 
     8919   YY_BREAK 
     8920case 81: 
     8921YY_RULE_SETUP 
     8922#line 186 "fortran.lex" 
     8923{ return TOK_PROCEDURE; } 
     8924   YY_BREAK 
     8925case 82: 
     8926YY_RULE_SETUP 
     8927#line 187 "fortran.lex" 
     8928{ return TOK_READ; } 
     8929   YY_BREAK 
     8930case 83: 
     8931YY_RULE_SETUP 
     8932#line 188 "fortran.lex" 
     8933{ return TOK_NAMELIST; } 
     8934   YY_BREAK 
     8935case 84: 
     8936YY_RULE_SETUP 
     8937#line 189 "fortran.lex" 
     8938{ return TOK_WRITE; } 
     8939   YY_BREAK 
     8940case 85: 
     8941YY_RULE_SETUP 
     8942#line 190 "fortran.lex" 
     8943{ return TOK_FLUSH; } 
     8944   YY_BREAK 
     8945case 86: 
     8946YY_RULE_SETUP 
     8947#line 191 "fortran.lex" 
     8948{ return TOK_TARGET; } 
     8949   YY_BREAK 
     8950case 87: 
     8951YY_RULE_SETUP 
     8952#line 192 "fortran.lex" 
     8953{ return TOK_PUBLIC; } 
     8954   YY_BREAK 
     8955case 88: 
     8956YY_RULE_SETUP 
     8957#line 193 "fortran.lex" 
     8958{ return TOK_PRIVATE; } 
     8959   YY_BREAK 
     8960case 89: 
     8961YY_RULE_SETUP 
     8962#line 194 "fortran.lex" 
     8963{ strcpy(yylval.na,fortran_text); return TOK_IN; } 
     8964   YY_BREAK 
     8965case 90: 
     8966YY_RULE_SETUP 
     8967#line 195 "fortran.lex" 
     8968{ pos_curdata = setposcur()-strlen(fortran_text); Init_List_Data_Var(); return TOK_DATA; } 
     8969   YY_BREAK 
     8970case 91: 
     8971YY_RULE_SETUP 
     8972#line 196 "fortran.lex" 
     8973{ return TOK_CONTINUE; } 
     8974   YY_BREAK 
     8975case 92: 
     8976YY_RULE_SETUP 
     8977#line 197 "fortran.lex" 
     8978{ return TOK_PLAINGOTO; } 
     8979   YY_BREAK 
     8980case 93: 
     8981YY_RULE_SETUP 
     8982#line 198 "fortran.lex" 
     8983{ strcpy(yylval.na,fortran_text); return TOK_OUT; } 
     8984   YY_BREAK 
     8985case 94: 
     8986YY_RULE_SETUP 
     8987#line 199 "fortran.lex" 
     8988{ strcpy(yylval.na,fortran_text); return TOK_INOUT; } 
     8989   YY_BREAK 
     8990case 95: 
     8991YY_RULE_SETUP 
     8992#line 200 "fortran.lex" 
     8993{ return TOK_INTRINSIC; } 
     8994   YY_BREAK 
     8995case 96: 
     8996YY_RULE_SETUP 
     8997#line 201 "fortran.lex" 
     8998{ return TOK_THEN; } 
     8999   YY_BREAK 
     9000case 97: 
     9001YY_RULE_SETUP 
     9002#line 202 "fortran.lex" 
     9003{ return TOK_ELSEIF; } 
     9004   YY_BREAK 
     9005case 98: 
     9006YY_RULE_SETUP 
     9007#line 203 "fortran.lex" 
     9008{ return TOK_ELSE; } 
     9009   YY_BREAK 
     9010case 99: 
     9011YY_RULE_SETUP 
     9012#line 204 "fortran.lex" 
     9013{ return TOK_ENDIF; } 
     9014   YY_BREAK 
     9015case 100: 
     9016YY_RULE_SETUP 
     9017#line 205 "fortran.lex" 
     9018{ return TOK_LOGICALIF; } 
     9019   YY_BREAK 
     9020case 101: 
     9021YY_RULE_SETUP 
     9022#line 206 "fortran.lex" 
     9023{ return TOK_SUM; } 
     9024   YY_BREAK 
     9025case 102: 
     9026YY_RULE_SETUP 
     9027#line 207 "fortran.lex" 
     9028{ return TOK_MAX; } 
     9029   YY_BREAK 
     9030case 103: 
     9031YY_RULE_SETUP 
     9032#line 208 "fortran.lex" 
     9033{ return TOK_TANH; } 
     9034   YY_BREAK 
     9035case 104: 
     9036YY_RULE_SETUP 
     9037#line 209 "fortran.lex" 
     9038{ return TOK_MAXVAL; } 
     9039   YY_BREAK 
     9040case 105: 
     9041YY_RULE_SETUP 
     9042#line 210 "fortran.lex" 
     9043{ return TOK_TRIM; } 
     9044   YY_BREAK 
     9045case 106: 
     9046YY_RULE_SETUP 
     9047#line 211 "fortran.lex" 
     9048{ return TOK_SQRT; } 
     9049   YY_BREAK 
     9050case 107: 
     9051YY_RULE_SETUP 
     9052#line 212 "fortran.lex" 
     9053{ return TOK_SELECTCASE; } 
     9054   YY_BREAK 
     9055case 108: 
     9056YY_RULE_SETUP 
     9057#line 213 "fortran.lex" 
     9058{ return TOK_CASE; } 
     9059   YY_BREAK 
     9060case 109: 
     9061YY_RULE_SETUP 
     9062#line 214 "fortran.lex" 
     9063{ return TOK_DEFAULT; } 
     9064   YY_BREAK 
     9065case 110: 
     9066YY_RULE_SETUP 
     9067#line 215 "fortran.lex" 
     9068{ return TOK_ENDSELECT; } 
     9069   YY_BREAK 
     9070case 111: 
     9071YY_RULE_SETUP 
     9072#line 216 "fortran.lex" 
     9073{ return TOK_FILE; } 
     9074   YY_BREAK 
     9075case 112: 
     9076YY_RULE_SETUP 
     9077#line 217 "fortran.lex" 
     9078{ return TOK_UNIT; } 
     9079   YY_BREAK 
     9080case 113: 
     9081YY_RULE_SETUP 
     9082#line 218 "fortran.lex" 
     9083{ return TOK_FMT; } 
     9084   YY_BREAK 
     9085case 114: 
     9086YY_RULE_SETUP 
     9087#line 219 "fortran.lex" 
     9088{ return TOK_NML; } 
     9089   YY_BREAK 
     9090case 115: 
     9091YY_RULE_SETUP 
     9092#line 220 "fortran.lex" 
     9093{ return TOK_END; } 
     9094   YY_BREAK 
     9095case 116: 
     9096YY_RULE_SETUP 
     9097#line 221 "fortran.lex" 
     9098{ return TOK_EOR; } 
     9099   YY_BREAK 
     9100case 117: 
     9101YY_RULE_SETUP 
     9102#line 222 "fortran.lex" 
     9103{ return TOK_ERR; } 
     9104   YY_BREAK 
     9105case 118: 
     9106YY_RULE_SETUP 
     9107#line 223 "fortran.lex" 
     9108{ return TOK_EXIST; } 
     9109   YY_BREAK 
     9110case 119: 
     9111YY_RULE_SETUP 
     9112#line 224 "fortran.lex" 
     9113{ return TOK_MIN; } 
     9114   YY_BREAK 
     9115case 120: 
     9116YY_RULE_SETUP 
     9117#line 225 "fortran.lex" 
     9118{ return TOK_NINT; } 
     9119   YY_BREAK 
     9120case 121: 
     9121YY_RULE_SETUP 
     9122#line 226 "fortran.lex" 
     9123{ return TOK_FLOAT; } 
     9124   YY_BREAK 
     9125case 122: 
     9126YY_RULE_SETUP 
     9127#line 227 "fortran.lex" 
     9128{ return TOK_EXP; } 
     9129   YY_BREAK 
     9130case 123: 
     9131YY_RULE_SETUP 
     9132#line 228 "fortran.lex" 
     9133{ return TOK_COS; } 
     9134   YY_BREAK 
     9135case 124: 
     9136YY_RULE_SETUP 
     9137#line 229 "fortran.lex" 
     9138{ return TOK_COSH; } 
     9139   YY_BREAK 
     9140case 125: 
     9141YY_RULE_SETUP 
     9142#line 230 "fortran.lex" 
     9143{ return TOK_ACOS; } 
     9144   YY_BREAK 
     9145case 126: 
     9146YY_RULE_SETUP 
     9147#line 231 "fortran.lex" 
     9148{ return TOK_SIN; } 
     9149   YY_BREAK 
     9150case 127: 
     9151YY_RULE_SETUP 
     9152#line 232 "fortran.lex" 
     9153{ return TOK_SINH; } 
     9154   YY_BREAK 
     9155case 128: 
     9156YY_RULE_SETUP 
     9157#line 233 "fortran.lex" 
     9158{ return TOK_ASIN; } 
     9159   YY_BREAK 
     9160case 129: 
     9161YY_RULE_SETUP 
     9162#line 234 "fortran.lex" 
     9163{ return TOK_LOG; } 
     9164   YY_BREAK 
     9165case 130: 
     9166YY_RULE_SETUP 
     9167#line 235 "fortran.lex" 
     9168{ return TOK_TAN; } 
     9169   YY_BREAK 
     9170case 131: 
     9171YY_RULE_SETUP 
     9172#line 236 "fortran.lex" 
     9173{ return TOK_ATAN; } 
     9174   YY_BREAK 
     9175case 132: 
     9176YY_RULE_SETUP 
     9177#line 237 "fortran.lex" 
     9178{ return TOK_CYCLE; } 
     9179   YY_BREAK 
     9180case 133: 
     9181YY_RULE_SETUP 
     9182#line 238 "fortran.lex" 
     9183{ return TOK_ABS; } 
     9184   YY_BREAK 
     9185case 134: 
     9186YY_RULE_SETUP 
     9187#line 239 "fortran.lex" 
     9188{ return TOK_MOD; } 
     9189   YY_BREAK 
     9190case 135: 
     9191YY_RULE_SETUP 
     9192#line 240 "fortran.lex" 
     9193{ return TOK_SIGN; } 
     9194   YY_BREAK 
     9195case 136: 
     9196YY_RULE_SETUP 
     9197#line 241 "fortran.lex" 
     9198{ return TOK_MINLOC; } 
     9199   YY_BREAK 
     9200case 137: 
     9201YY_RULE_SETUP 
     9202#line 242 "fortran.lex" 
     9203{ return TOK_MAXLOC; } 
     9204   YY_BREAK 
     9205case 138: 
     9206YY_RULE_SETUP 
     9207#line 243 "fortran.lex" 
     9208{ return TOK_MINVAL; } 
     9209   YY_BREAK 
     9210case 139: 
     9211YY_RULE_SETUP 
     9212#line 244 "fortran.lex" 
     9213{ return TOK_BACKSPACE; } 
     9214   YY_BREAK 
     9215case 140: 
     9216YY_RULE_SETUP 
     9217#line 245 "fortran.lex" 
     9218{ return TOK_FOURDOTS;  } 
     9219   YY_BREAK 
     9220case 141: 
     9221YY_RULE_SETUP 
     9222#line 246 "fortran.lex" 
     9223{ return TOK_LEFTAB; } 
     9224   YY_BREAK 
     9225case 142: 
     9226YY_RULE_SETUP 
     9227#line 247 "fortran.lex" 
     9228{ return TOK_RIGHTAB; } 
     9229   YY_BREAK 
     9230case 143: 
     9231/* rule 143 can match eol */ 
     9232YY_RULE_SETUP 
     9233#line 248 "fortran.lex" 
    102089234{ 
    10209                             strcpy(yylval.na,fortrantext); 
    10210                             tmpc = input(); 
    10211                             unput(tmpc); 
    10212                             if ( ( 
    10213                                tmpc >= 'a' && tmpc <= 'z' 
    10214                                   ) || ( 
    10215                                tmpc >= 'A' && tmpc <= 'Z' 
    10216                                )  ) 
    10217                                { 
    10218                                   return TOK_USE; 
    10219                                } 
    10220                                else 
    10221                                { 
    10222                                   return TOK_NAME; 
    10223                                } 
    10224                          } 
    10225    YY_BREAK 
    10226 case 19: 
    10227 YY_RULE_SETUP 
    10228 #line 146 "fortran.lex" 
    10229 {return TOK_REWIND;} 
    10230    YY_BREAK 
    10231 case 20: 
    10232 YY_RULE_SETUP 
    10233 #line 147 "fortran.lex" 
    10234 return TOK_IMPLICIT; 
    10235    YY_BREAK 
    10236 case 21: 
    10237 YY_RULE_SETUP 
    10238 #line 148 "fortran.lex" 
    10239 return TOK_NONE; 
    10240    YY_BREAK 
    10241 case 22: 
    10242 YY_RULE_SETUP 
    10243 #line 149 "fortran.lex" 
    10244 return TOK_CALL; 
    10245    YY_BREAK 
    10246 case 23: 
    10247 YY_RULE_SETUP 
    10248 #line 150 "fortran.lex" 
    10249 return TOK_TRUE; 
    10250    YY_BREAK 
    10251 case 24: 
    10252 YY_RULE_SETUP 
    10253 #line 151 "fortran.lex" 
    10254 return TOK_FALSE; 
    10255    YY_BREAK 
    10256 case 25: 
    10257 YY_RULE_SETUP 
    10258 #line 152 "fortran.lex" 
    10259 {return TOK_POINT_TO;} 
    10260    YY_BREAK 
    10261 case 26: 
    10262 YY_RULE_SETUP 
    10263 #line 153 "fortran.lex" 
    10264 {strcpy(yylval.na,fortrantext);return TOK_DASTER;} 
    10265    YY_BREAK 
    10266 case 27: 
    10267 YY_RULE_SETUP 
    10268 #line 154 "fortran.lex" 
    10269 {strcpy(yylval.na,fortrantext);return TOK_EQV;} 
    10270    YY_BREAK 
    10271 case 28: 
    10272 YY_RULE_SETUP 
    10273 #line 155 "fortran.lex" 
    10274 {strcpy(yylval.na,fortrantext);return TOK_EQ;} 
    10275    YY_BREAK 
    10276 case 29: 
    10277 YY_RULE_SETUP 
    10278 #line 156 "fortran.lex" 
    10279 {strcpy(yylval.na,fortrantext);return TOK_GT;} 
    10280    YY_BREAK 
    10281 case 30: 
    10282 YY_RULE_SETUP 
    10283 #line 157 "fortran.lex" 
    10284 {strcpy(yylval.na,fortrantext);return TOK_GE;} 
    10285    YY_BREAK 
    10286 case 31: 
    10287 YY_RULE_SETUP 
    10288 #line 158 "fortran.lex" 
    10289 {strcpy(yylval.na,fortrantext);return TOK_LT;} 
    10290    YY_BREAK 
    10291 case 32: 
    10292 YY_RULE_SETUP 
    10293 #line 159 "fortran.lex" 
    10294 {strcpy(yylval.na,fortrantext);return TOK_LE;} 
    10295    YY_BREAK 
    10296 case 33: 
    10297 YY_RULE_SETUP 
    10298 #line 160 "fortran.lex" 
    10299 {strcpy(yylval.na,fortrantext);return TOK_NEQV;} 
    10300    YY_BREAK 
    10301 case 34: 
    10302 YY_RULE_SETUP 
    10303 #line 161 "fortran.lex" 
    10304 {strcpy(yylval.na,fortrantext);return TOK_NE;} 
    10305    YY_BREAK 
    10306 case 35: 
    10307 YY_RULE_SETUP 
    10308 #line 162 "fortran.lex" 
    10309 {strcpy(yylval.na,fortrantext);return TOK_NOT;} 
    10310    YY_BREAK 
    10311 case 36: 
    10312 YY_RULE_SETUP 
    10313 #line 163 "fortran.lex" 
    10314 {strcpy(yylval.na,fortrantext);return TOK_OR;} 
    10315    YY_BREAK 
    10316 case 37: 
    10317 YY_RULE_SETUP 
    10318 #line 164 "fortran.lex" 
    10319 {strcpy(yylval.na,fortrantext);return TOK_XOR;} 
    10320    YY_BREAK 
    10321 case 38: 
    10322 YY_RULE_SETUP 
    10323 #line 165 "fortran.lex" 
    10324 {strcpy(yylval.na,fortrantext);return TOK_AND;} 
    10325    YY_BREAK 
    10326 case 39: 
    10327 YY_RULE_SETUP 
    10328 #line 166 "fortran.lex" 
    10329 {return TOK_MODULE;} 
    10330    YY_BREAK 
    10331 case 40: 
    10332 YY_RULE_SETUP 
    10333 #line 167 "fortran.lex" 
    10334 {return TOK_DOWHILE;} 
    10335    YY_BREAK 
    10336 case 41: 
    10337 YY_RULE_SETUP 
    10338 #line 168 "fortran.lex" 
    10339 return TOK_ENDMODULE; 
    10340    YY_BREAK 
    10341 case 42: 
    10342 YY_RULE_SETUP 
    10343 #line 169 "fortran.lex" 
    10344 return TOK_ENDDO; 
    10345    YY_BREAK 
    10346 case 43: 
    10347 YY_RULE_SETUP 
    10348 #line 170 "fortran.lex" 
    10349 {return TOK_PLAINDO;} 
    10350    YY_BREAK 
    10351 case 44: 
    10352 YY_RULE_SETUP 
    10353 #line 171 "fortran.lex" 
    10354 {strcpy(yylval.na,fortrantext);return TOK_REAL;} 
    10355    YY_BREAK 
    10356 case 45: 
    10357 YY_RULE_SETUP 
    10358 #line 172 "fortran.lex" 
    10359 {strcpy(yylval.na,fortrantext);return TOK_INTEGER;} 
    10360    YY_BREAK 
    10361 case 46: 
    10362 YY_RULE_SETUP 
    10363 #line 173 "fortran.lex" 
    10364 {strcpy(yylval.na,fortrantext);return TOK_LOGICAL;} 
    10365    YY_BREAK 
    10366 case 47: 
    10367 YY_RULE_SETUP 
    10368 #line 174 "fortran.lex" 
    10369 {strcpy(yylval.na,fortrantext);return TOK_CHARACTER;} 
    10370    YY_BREAK 
    10371 case 48: 
    10372 YY_RULE_SETUP 
    10373 #line 175 "fortran.lex" 
    10374 {return TOK_ALLOCATABLE;} 
    10375    YY_BREAK 
    10376 case 49: 
    10377 YY_RULE_SETUP 
    10378 #line 176 "fortran.lex" 
    10379 return TOK_CLOSE; 
    10380    YY_BREAK 
    10381 case 50: 
    10382 YY_RULE_SETUP 
    10383 #line 177 "fortran.lex" 
    10384 return TOK_INQUIRE; 
    10385    YY_BREAK 
    10386 case 51: 
    10387 YY_RULE_SETUP 
    10388 #line 178 "fortran.lex" 
    10389 {return TOK_DIMENSION;} 
    10390    YY_BREAK 
    10391 case 52: 
    10392 YY_RULE_SETUP 
    10393 #line 179 "fortran.lex" 
    10394 return TOK_PAUSE; 
    10395    YY_BREAK 
    10396 case 53: 
    10397 YY_RULE_SETUP 
    10398 #line 180 "fortran.lex" 
    10399 return TOK_EQUIVALENCE; 
    10400    YY_BREAK 
    10401 case 54: 
    10402 YY_RULE_SETUP 
    10403 #line 181 "fortran.lex" 
    10404 return TOK_STOP; 
    10405    YY_BREAK 
    10406 case 55: 
    10407 YY_RULE_SETUP 
    10408 #line 182 "fortran.lex" 
    10409 return TOK_WHERE; 
    10410    YY_BREAK 
    10411 case 56: 
    10412 YY_RULE_SETUP 
    10413 #line 183 "fortran.lex" 
    10414 return TOK_ENDWHERE; 
    10415    YY_BREAK 
    10416 case 57: 
    10417 YY_RULE_SETUP 
    10418 #line 184 "fortran.lex" 
    10419 return TOK_ELSEWHERE; 
    10420    YY_BREAK 
    10421 case 58: 
    10422 YY_RULE_SETUP 
    10423 #line 185 "fortran.lex" 
    10424 {return TOK_COMPLEX;} 
    10425    YY_BREAK 
    10426 case 59: 
    10427 YY_RULE_SETUP 
    10428 #line 186 "fortran.lex" 
    10429 {return TOK_CONTAINS;} 
    10430    YY_BREAK 
    10431 case 60: 
    10432 YY_RULE_SETUP 
    10433 #line 187 "fortran.lex" 
    10434 {return TOK_ONLY;} 
    10435    YY_BREAK 
    10436 case 61: 
    10437 YY_RULE_SETUP 
    10438 #line 188 "fortran.lex" 
    10439 {return TOK_PARAMETER;} 
    10440    YY_BREAK 
    10441 case 62: 
    10442 YY_RULE_SETUP 
    10443 #line 189 "fortran.lex" 
    10444 {return TOK_RECURSIVE;} 
    10445    YY_BREAK 
    10446 case 63: 
    10447 YY_RULE_SETUP 
    10448 #line 190 "fortran.lex" 
    10449 {return TOK_COMMON;} 
    10450    YY_BREAK 
    10451 case 64: 
    10452 YY_RULE_SETUP 
    10453 #line 191 "fortran.lex" 
    10454 {return TOK_GLOBAL;} 
    10455    YY_BREAK 
    10456 case 65: 
    10457 YY_RULE_SETUP 
    10458 #line 192 "fortran.lex" 
    10459 {return TOK_EXTERNAL;} 
    10460    YY_BREAK 
    10461 case 66: 
    10462 YY_RULE_SETUP 
    10463 #line 193 "fortran.lex" 
    10464 {return TOK_INTENT;} 
    10465    YY_BREAK 
    10466 case 67: 
    10467 YY_RULE_SETUP 
    10468 #line 194 "fortran.lex" 
    10469 {return TOK_POINTER;} 
    10470    YY_BREAK 
    10471 case 68: 
    10472 YY_RULE_SETUP 
    10473 #line 195 "fortran.lex" 
    10474 {return TOK_OPTIONAL;} 
    10475    YY_BREAK 
    10476 case 69: 
    10477 YY_RULE_SETUP 
    10478 #line 196 "fortran.lex" 
    10479 {return TOK_SAVE;} 
    10480    YY_BREAK 
    10481 case 70: 
    10482 YY_RULE_SETUP 
    10483 #line 197 "fortran.lex" 
    10484 {return TOK_TYPE;} 
    10485    YY_BREAK 
    10486 case 71: 
    10487 YY_RULE_SETUP 
    10488 #line 198 "fortran.lex" 
    10489 {return TOK_TYPEPAR;} 
    10490    YY_BREAK 
    10491 case 72: 
    10492 YY_RULE_SETUP 
    10493 #line 199 "fortran.lex" 
    10494 {if (inallocate == 1) return TOK_STAT; else {strcpy(yylval.na,fortrantext);return TOK_NAME;}} 
    10495    YY_BREAK 
    10496 case 73: 
    10497 YY_RULE_SETUP 
    10498 #line 200 "fortran.lex" 
    10499 {return TOK_ENDTYPE;} 
    10500    YY_BREAK 
    10501 case 74: 
    10502 YY_RULE_SETUP 
    10503 #line 201 "fortran.lex" 
    10504 return TOK_OPEN; 
    10505    YY_BREAK 
    10506 case 75: 
    10507 YY_RULE_SETUP 
    10508 #line 202 "fortran.lex" 
    10509 return TOK_RETURN; 
    10510    YY_BREAK 
    10511 case 76: 
    10512 /* rule 76 can match eol */ 
    10513 YY_RULE_SETUP 
    10514 #line 203 "fortran.lex" 
    10515 return TOK_EXIT; 
    10516    YY_BREAK 
    10517 case 77: 
    10518 YY_RULE_SETUP 
    10519 #line 204 "fortran.lex" 
    10520 return TOK_PRINT; 
    10521    YY_BREAK 
    10522 case 78: 
    10523 YY_RULE_SETUP 
    10524 #line 205 "fortran.lex" 
    10525 {return TOK_PROCEDURE;} 
    10526    YY_BREAK 
    10527 case 79: 
    10528 YY_RULE_SETUP 
    10529 #line 206 "fortran.lex" 
    10530 {return TOK_READ;} 
    10531    YY_BREAK 
    10532 case 80: 
    10533 YY_RULE_SETUP 
    10534 #line 207 "fortran.lex" 
    10535 {return TOK_NAMELIST;} 
    10536    YY_BREAK 
    10537 case 81: 
    10538 YY_RULE_SETUP 
    10539 #line 208 "fortran.lex" 
    10540 {return TOK_WRITE;} 
    10541    YY_BREAK 
    10542 case 82: 
    10543 YY_RULE_SETUP 
    10544 #line 209 "fortran.lex" 
    10545 {return TOK_TARGET;} 
    10546    YY_BREAK 
    10547 case 83: 
    10548 YY_RULE_SETUP 
    10549 #line 210 "fortran.lex" 
    10550 {return TOK_PUBLIC;} 
    10551    YY_BREAK 
    10552 case 84: 
    10553 YY_RULE_SETUP 
    10554 #line 211 "fortran.lex" 
    10555 {return TOK_PRIVATE;} 
    10556    YY_BREAK 
    10557 case 85: 
    10558 YY_RULE_SETUP 
    10559 #line 212 "fortran.lex" 
    10560 {strcpy(yylval.nac,fortrantext);return TOK_IN;} 
    10561    YY_BREAK 
    10562 case 86: 
    10563 YY_RULE_SETUP 
    10564 #line 213 "fortran.lex" 
    10565 {strcpy(yylval.na,fortrantext);return TOK_DATA;} 
    10566    YY_BREAK 
    10567 case 87: 
    10568 YY_RULE_SETUP 
    10569 #line 214 "fortran.lex" 
    10570 return TOK_CONTINUE; 
    10571    YY_BREAK 
    10572 case 88: 
    10573 YY_RULE_SETUP 
    10574 #line 215 "fortran.lex" 
    10575 {return TOK_PLAINGOTO;} 
    10576    YY_BREAK 
    10577 case 89: 
    10578 YY_RULE_SETUP 
    10579 #line 216 "fortran.lex" 
    10580 {strcpy(yylval.nac,fortrantext);return TOK_OUT;} 
    10581    YY_BREAK 
    10582 case 90: 
    10583 YY_RULE_SETUP 
    10584 #line 217 "fortran.lex" 
    10585 {strcpy(yylval.nac,fortrantext);return TOK_INOUT;} 
    10586    YY_BREAK 
    10587 case 91: 
    10588 YY_RULE_SETUP 
    10589 #line 218 "fortran.lex" 
    10590 {return TOK_INTRINSIC;} 
    10591    YY_BREAK 
    10592 case 92: 
    10593 YY_RULE_SETUP 
    10594 #line 219 "fortran.lex" 
    10595 {return TOK_THEN;} 
    10596    YY_BREAK 
    10597 case 93: 
    10598 YY_RULE_SETUP 
    10599 #line 220 "fortran.lex" 
    10600 {return TOK_ELSEIF;} 
    10601    YY_BREAK 
    10602 case 94: 
    10603 YY_RULE_SETUP 
    10604 #line 221 "fortran.lex" 
    10605 {return TOK_ELSE;} 
    10606    YY_BREAK 
    10607 case 95: 
    10608 YY_RULE_SETUP 
    10609 #line 222 "fortran.lex" 
    10610 {return TOK_ENDIF;} 
    10611    YY_BREAK 
    10612 case 96: 
    10613 YY_RULE_SETUP 
    10614 #line 223 "fortran.lex" 
    10615 {return TOK_LOGICALIF;} 
    10616    YY_BREAK 
    10617 case 97: 
    10618 YY_RULE_SETUP 
    10619 #line 224 "fortran.lex" 
    10620 {return TOK_SUM;} 
    10621    YY_BREAK 
    10622 case 98: 
    10623 YY_RULE_SETUP 
    10624 #line 225 "fortran.lex" 
    10625 {return TOK_MAX;} 
    10626    YY_BREAK 
    10627 case 99: 
    10628 YY_RULE_SETUP 
    10629 #line 226 "fortran.lex" 
    10630 {return TOK_TANH;} 
    10631    YY_BREAK 
    10632 case 100: 
    10633 YY_RULE_SETUP 
    10634 #line 227 "fortran.lex" 
    10635 {return TOK_MAXVAL;} 
    10636    YY_BREAK 
    10637 case 101: 
    10638 YY_RULE_SETUP 
    10639 #line 228 "fortran.lex" 
    10640 {return TOK_TRIM;} 
    10641    YY_BREAK 
    10642 case 102: 
    10643 YY_RULE_SETUP 
    10644 #line 229 "fortran.lex" 
    10645 {return TOK_SQRT;} 
    10646    YY_BREAK 
    10647 case 103: 
    10648 YY_RULE_SETUP 
    10649 #line 230 "fortran.lex" 
    10650 {return TOK_SELECTCASE;} 
    10651    YY_BREAK 
    10652 case 104: 
    10653 YY_RULE_SETUP 
    10654 #line 231 "fortran.lex" 
    10655 {return TOK_CASE;} 
    10656    YY_BREAK 
    10657 case 105: 
    10658 YY_RULE_SETUP 
    10659 #line 232 "fortran.lex" 
    10660 {return TOK_CASEDEFAULT;} 
    10661    YY_BREAK 
    10662 case 106: 
    10663 YY_RULE_SETUP 
    10664 #line 233 "fortran.lex" 
    10665 {return TOK_ENDSELECT;} 
    10666    YY_BREAK 
    10667 case 107: 
    10668 YY_RULE_SETUP 
    10669 #line 234 "fortran.lex" 
    10670 {return TOK_FILE;} 
    10671    YY_BREAK 
    10672 case 108: 
    10673 YY_RULE_SETUP 
    10674 #line 235 "fortran.lex" 
    10675 {return TOK_END;} 
    10676    YY_BREAK 
    10677 case 109: 
    10678 YY_RULE_SETUP 
    10679 #line 236 "fortran.lex" 
    10680 {return TOK_ERR;} 
    10681    YY_BREAK 
    10682 case 110: 
    10683 YY_RULE_SETUP 
    10684 #line 237 "fortran.lex" 
    10685 {return TOK_EXIST;} 
    10686    YY_BREAK 
    10687 case 111: 
    10688 YY_RULE_SETUP 
    10689 #line 238 "fortran.lex" 
    10690 {return TOK_MIN;} 
    10691    YY_BREAK 
    10692 case 112: 
    10693 YY_RULE_SETUP 
    10694 #line 239 "fortran.lex" 
    10695 {return TOK_NINT;} 
    10696    YY_BREAK 
    10697 case 113: 
    10698 YY_RULE_SETUP 
    10699 #line 240 "fortran.lex" 
    10700 {return TOK_FLOAT;} 
    10701    YY_BREAK 
    10702 case 114: 
    10703 YY_RULE_SETUP 
    10704 #line 241 "fortran.lex" 
    10705 {return TOK_EXP;} 
    10706    YY_BREAK 
    10707 case 115: 
    10708 YY_RULE_SETUP 
    10709 #line 242 "fortran.lex" 
    10710 {return TOK_COS;} 
    10711    YY_BREAK 
    10712 case 116: 
    10713 YY_RULE_SETUP 
    10714 #line 243 "fortran.lex" 
    10715 {return TOK_COSH;} 
    10716    YY_BREAK 
    10717 case 117: 
    10718 YY_RULE_SETUP 
    10719 #line 244 "fortran.lex" 
    10720 {return TOK_ACOS;} 
    10721    YY_BREAK 
    10722 case 118: 
    10723 YY_RULE_SETUP 
    10724 #line 245 "fortran.lex" 
    10725 {return TOK_SIN;} 
    10726    YY_BREAK 
    10727 case 119: 
    10728 YY_RULE_SETUP 
    10729 #line 246 "fortran.lex" 
    10730 {return TOK_SINH;} 
    10731    YY_BREAK 
    10732 case 120: 
    10733 YY_RULE_SETUP 
    10734 #line 247 "fortran.lex" 
    10735 {return TOK_ASIN;} 
    10736    YY_BREAK 
    10737 case 121: 
    10738 YY_RULE_SETUP 
    10739 #line 248 "fortran.lex" 
    10740 {return TOK_LOG;} 
    10741    YY_BREAK 
    10742 case 122: 
    10743 YY_RULE_SETUP 
    10744 #line 249 "fortran.lex" 
    10745 {return TOK_TAN;} 
    10746    YY_BREAK 
    10747 case 123: 
     9235                              return TOK_FORMAT; } 
     9236   YY_BREAK 
     9237case 144: 
    107489238YY_RULE_SETUP 
    107499239#line 250 "fortran.lex" 
    10750 {return TOK_ATAN;} 
    10751    YY_BREAK 
    10752 case 124: 
     9240{ strcpy(yylval.na,fortran_text); return TOK_SLASH; } 
     9241   YY_BREAK 
     9242case 145: 
    107539243YY_RULE_SETUP 
    107549244#line 251 "fortran.lex" 
    10755 {return TOK_CYCLE;} 
    10756    YY_BREAK 
    10757 case 125: 
     9245{ strcpy(yylval.na,fortran_text); return TOK_DSLASH; } 
     9246   YY_BREAK 
     9247case 146: 
     9248/* rule 146 can match eol */ 
    107589249YY_RULE_SETUP 
    107599250#line 252 "fortran.lex" 
    10760 {return TOK_ABS;} 
    10761    YY_BREAK 
    10762 case 126: 
    10763 YY_RULE_SETUP 
    10764 #line 253 "fortran.lex" 
    10765 {return TOK_MOD;} 
    10766    YY_BREAK 
    10767 case 127: 
     9251{ 
     9252                              strcpy(yylval.na,fortran_text); return TOK_CHAR_CUT; } 
     9253   YY_BREAK 
     9254case 147: 
     9255/* rule 147 can match eol */ 
    107689256YY_RULE_SETUP 
    107699257#line 254 "fortran.lex" 
    10770 {return TOK_SIGN;} 
    10771    YY_BREAK 
    10772 case 128: 
     9258{ strcpy(yylval.na,fortran_text);return TOK_CHAR_CONSTANT; } 
     9259   YY_BREAK 
     9260case 148: 
     9261/* rule 148 can match eol */ 
    107739262YY_RULE_SETUP 
    107749263#line 255 "fortran.lex" 
    10775 {return TOK_MINLOC;} 
    10776    YY_BREAK 
    10777 case 129: 
     9264{ strcpy(yylval.na,fortran_text);return TOK_CHAR_MESSAGE; } 
     9265   YY_BREAK 
     9266case 149: 
    107789267YY_RULE_SETUP 
    107799268#line 256 "fortran.lex" 
    10780 {return TOK_MAXLOC;} 
    10781    YY_BREAK 
    10782 case 130: 
     9269{ BEGIN(donottreat); } 
     9270   YY_BREAK 
     9271case 150: 
     9272/* rule 150 can match eol */ 
    107839273YY_RULE_SETUP 
    107849274#line 257 "fortran.lex" 
    10785 {return TOK_MINVAL;} 
    10786    YY_BREAK 
    10787 case 131: 
     9275{ out_of_donottreat(); return '\n'; } 
     9276   YY_BREAK 
     9277case 151: 
    107889278YY_RULE_SETUP 
    107899279#line 258 "fortran.lex" 
    10790 {return TOK_BACKSPACE;} 
    10791    YY_BREAK 
    10792 case 132: 
     9280{ strcpy(yylval.na,fortran_text); return TOK_NAME; } 
     9281   YY_BREAK 
     9282case 152: 
     9283/* rule 152 can match eol */ 
     9284*yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 
     9285(yy_c_buf_p) = yy_cp -= 1; 
     9286YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 
    107939287YY_RULE_SETUP 
    107949288#line 259 "fortran.lex" 
    10795 {return TOK_LEFTAB;} 
    10796    YY_BREAK 
    10797 case 133: 
    10798 YY_RULE_SETUP 
    10799 #line 260 "fortran.lex" 
    10800 {return TOK_RIGHTAB;} 
    10801    YY_BREAK 
    10802 case 134: 
    10803 /* rule 134 can match eol */ 
     9289{  // REAL1 
     9290                              strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 
     9291   YY_BREAK 
     9292case 153: 
    108049293YY_RULE_SETUP 
    108059294#line 261 "fortran.lex" 
    10806 {return TOK_FORMAT;} 
    10807    YY_BREAK 
    10808 case 135: 
    10809 YY_RULE_SETUP 
    10810 #line 262 "fortran.lex" 
    10811 {strcpy(yylval.na,fortrantext);return TOK_DOUBLEPRECISION;} 
    10812    YY_BREAK 
    10813 case 136: 
     9295{  // REAL2 
     9296                              strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 
     9297   YY_BREAK 
     9298case 154: 
    108149299YY_RULE_SETUP 
    108159300#line 263 "fortran.lex" 
    10816 {strcpy(yylval.na,fortrantext);return TOK_DOUBLECOMPLEX;} 
    10817    YY_BREAK 
    10818 case 137: 
     9301{ strcpy(yylval.na,fortran_text); return TOK_CSTINT; } 
     9302   YY_BREAK 
     9303case 155: 
    108199304YY_RULE_SETUP 
    108209305#line 264 "fortran.lex" 
    10821 {strcpy(yylval.na,fortrantext);return TOK_SLASH;} 
    10822    YY_BREAK 
    10823 case 138: 
     9306{} 
     9307   YY_BREAK 
     9308case 156: 
    108249309YY_RULE_SETUP 
    108259310#line 265 "fortran.lex" 
    10826 {strcpy(yylval.na,fortrantext);return TOK_DSLASH;} 
    10827    YY_BREAK 
    10828 case 139: 
    10829 /* rule 139 can match eol */ 
     9311{} 
     9312   YY_BREAK 
     9313case 157: 
    108309314YY_RULE_SETUP 
    108319315#line 266 "fortran.lex" 
    10832 {strcpy(yylval.na,fortrantext);return TOK_CHAR_CUT;} 
    10833    YY_BREAK 
    10834 case 140: 
     9316{ strcpy(yylval.na,fortran_text); return (int) *fortran_text; } 
     9317   YY_BREAK 
     9318case 158: 
    108359319YY_RULE_SETUP 
    108369320#line 267 "fortran.lex" 
    10837 {strcpy(yylval.na,fortrantext);return TOK_CHAR_CONSTANT;} 
    10838    YY_BREAK 
    10839 case 141: 
     9321{ strcpy(yylval.na,fortran_text); return (int) *fortran_text; } 
     9322   YY_BREAK 
     9323case 159: 
    108409324YY_RULE_SETUP 
    108419325#line 268 "fortran.lex" 
    10842 {strcpy(yylval.na,fortrantext);return TOK_CHAR_MESSAGE;} 
    10843    YY_BREAK 
    10844 case 142: 
     9326{ return TOK_SEMICOLON; } 
     9327   YY_BREAK 
     9328case 160: 
    108459329YY_RULE_SETUP 
    108469330#line 269 "fortran.lex" 
    10847 {strcpy(yylval.na,fortrantext);return TOK_CHAR_INT;} 
    10848    YY_BREAK 
    10849 case 143: 
     9331{ return (int) *fortran_text; } 
     9332   YY_BREAK 
     9333case 161: 
    108509334YY_RULE_SETUP 
    108519335#line 270 "fortran.lex" 
    10852 {printf("debug interfacer\n");BEGIN(donottreat);} 
    10853    YY_BREAK 
    10854 case 144: 
    10855 /* rule 144 can match eol */ 
     9336{ return (int) *fortran_text; } 
     9337   YY_BREAK 
     9338case 162: 
    108569339YY_RULE_SETUP 
    108579340#line 271 "fortran.lex" 
    10858 { 
    10859                   BEGIN(INITIAL); 
    10860                         if (infixed) BEGIN(fortran77style) ; 
    10861                         if (infree) BEGIN(fortran90style)  ; 
    10862                         line_num_fortran++;line_num_fortran_common++; 
    10863                         return '\n'; 
    10864                   } 
    10865    YY_BREAK 
    10866 case 145: 
    10867 YY_RULE_SETUP 
    10868 #line 278 "fortran.lex" 
    10869 {strcpy(yylval.na,fortrantext);return TOK_NAME;} 
    10870    YY_BREAK 
    10871 case 146: 
    10872 YY_RULE_SETUP 
    10873 #line 279 "fortran.lex" 
    10874 {strcpy(yylval.na,fortrantext);return TOK_CSTREAL;} 
    10875    YY_BREAK 
    10876 case 147: 
    10877 YY_RULE_SETUP 
    10878 #line 280 "fortran.lex" 
    10879 {strcpy(yylval.na,fortrantext);return TOK_CSTREALDP;} 
    10880    YY_BREAK 
    10881 case 148: 
    10882 YY_RULE_SETUP 
    10883 #line 281 "fortran.lex" 
    10884 {strcpy(yylval.na,fortrantext);return TOK_CSTREALQP;} 
    10885    YY_BREAK 
    10886 case 149: 
    10887 /* rule 149 can match eol */ 
    10888 *yy_cp = (yy_hold_char); /* undo effects of setting up fortrantext */ 
     9341{ return (int) *fortran_text; } 
     9342   YY_BREAK 
     9343case 163: 
     9344YY_RULE_SETUP 
     9345#line 272 "fortran.lex" 
     9346{ return (int) *fortran_text; } 
     9347   YY_BREAK 
     9348case 164: 
     9349/* rule 164 can match eol */ 
     9350YY_RULE_SETUP 
     9351#line 273 "fortran.lex" 
     9352{ INCREMENT_LINE_NUM() ; return '\n'; } 
     9353   YY_BREAK 
     9354case 165: 
     9355*yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 
    108899356(yy_c_buf_p) = yy_cp -= 1; 
    10890 YY_DO_BEFORE_ACTION; /* set up fortrantext again */ 
    10891 YY_RULE_SETUP 
    10892 #line 282 "fortran.lex" 
    10893 {strcpy(yylval.na,fortrantext);return TOK_CSTREAL;} 
    10894    YY_BREAK 
    10895 case 150: 
    10896 YY_RULE_SETUP 
    10897 #line 283 "fortran.lex" 
    10898 {strcpy(yylval.na,fortrantext);return TOK_CSTINT;} 
    10899    YY_BREAK 
    10900 case 151: 
    10901 YY_RULE_SETUP 
    10902 #line 284 "fortran.lex" 
     9357YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 
     9358YY_RULE_SETUP 
     9359#line 274 "fortran.lex" 
    109039360{} 
    109049361   YY_BREAK 
    10905 case 152: 
    10906 YY_RULE_SETUP 
    10907 #line 285 "fortran.lex" 
    10908 {return TOK_QUOTE;} 
    10909    YY_BREAK 
    10910 case 153: 
    10911 YY_RULE_SETUP 
    10912 #line 286 "fortran.lex" 
     9362case 166: 
     9363YY_RULE_SETUP 
     9364#line 275 "fortran.lex" 
    109139365{} 
    109149366   YY_BREAK 
    10915 case 154: 
    10916 YY_RULE_SETUP 
    10917 #line 287 "fortran.lex" 
    10918 {strcpy(yylval.na,fortrantext);return (int) *fortrantext;} 
    10919    YY_BREAK 
    10920 case 155: 
    10921 YY_RULE_SETUP 
    10922 #line 288 "fortran.lex" 
    10923 {afterpercent = 1; strcpy(yylval.na,fortrantext);return (int) *fortrantext;} 
    10924    YY_BREAK 
    10925 case 156: 
    10926 YY_RULE_SETUP 
    10927 #line 289 "fortran.lex" 
    10928 {return TOK_SEMICOLON;} 
    10929    YY_BREAK 
    10930 case 157: 
    10931 YY_RULE_SETUP 
    10932 #line 290 "fortran.lex" 
    10933 {return (int) *fortrantext;} 
    10934    YY_BREAK 
    10935 case 158: 
    10936 YY_RULE_SETUP 
    10937 #line 291 "fortran.lex" 
    10938 {return (int) *fortrantext;} 
    10939    YY_BREAK 
    10940 case 159: 
    10941 YY_RULE_SETUP 
    10942 #line 292 "fortran.lex" 
    10943 {return (int) *fortrantext;} 
    10944    YY_BREAK 
    10945 case 160: 
    10946 YY_RULE_SETUP 
    10947 #line 293 "fortran.lex" 
    10948 {return (int) *fortrantext;} 
    10949    YY_BREAK 
    10950 case 161: 
    10951 /* rule 161 can match eol */ 
    10952 YY_RULE_SETUP 
    10953 #line 294 "fortran.lex" 
    10954 {colnum=0;line_num_fortran++;line_num_fortran_common++; return (int) *fortrantext;} 
    10955    YY_BREAK 
    10956 case 162: 
    10957 *yy_cp = (yy_hold_char); /* undo effects of setting up fortrantext */ 
    10958 (yy_c_buf_p) = yy_cp -= 1; 
    10959 YY_DO_BEFORE_ACTION; /* set up fortrantext again */ 
    10960 YY_RULE_SETUP 
    10961 #line 295 "fortran.lex" 
    10962  
    10963    YY_BREAK 
    10964 case 163: 
    10965 YY_RULE_SETUP 
    10966 #line 296 "fortran.lex" 
    10967 {if (newlinef90 == 0) return TOK_LABEL; else newlinef90 = 0;} 
    10968    YY_BREAK 
    10969 case 164: 
    10970 YY_RULE_SETUP 
    10971 #line 297 "fortran.lex" 
    10972  
    10973    YY_BREAK 
    10974 case 165: 
    10975 YY_RULE_SETUP 
    10976 #line 298 "fortran.lex" 
    10977 {colnum=colnum-1+tabsize;} 
    10978    YY_BREAK 
    10979 case 166: 
    10980 YY_RULE_SETUP 
    10981 #line 299 "fortran.lex" 
    10982 ; 
    10983    YY_BREAK 
    109849367case 167: 
    10985 /* rule 167 can match eol */ 
    10986 YY_RULE_SETUP 
    10987 #line 300 "fortran.lex" 
    10988 {line_num_fortran++;line_num_fortran_common++;newlinef90=1;colnum=0;} 
     9368YY_RULE_SETUP 
     9369#line 276 "fortran.lex" 
     9370{ if (newlinef90 == 0) return TOK_LABEL; else newlinef90 = 0; } 
    109899371   YY_BREAK 
    109909372case 168: 
    109919373/* rule 168 can match eol */ 
    109929374YY_RULE_SETUP 
    10993 #line 301 "fortran.lex" 
    10994 {line_num_fortran++;line_num_fortran_common++;colnum=0;} 
     9375#line 277 "fortran.lex" 
     9376{ INCREMENT_LINE_NUM() ; newlinef90=1; } 
    109959377   YY_BREAK 
    109969378case 169: 
    109979379/* rule 169 can match eol */ 
    109989380YY_RULE_SETUP 
    10999 #line 302 "fortran.lex" 
    11000 { 
    11001                            convert2lower(motparse1); 
    11002                            if ( strncasecmp(motparse1,"contains",8) == 0 ) 
    11003                            { 
    11004                               return TOK_CONTAINS; 
    11005                            } 
    11006                            else 
    11007                            { 
    11008                             /*  colnum=0;line_num_fortran++;line_num_fortran_common++;*/ 
    11009                              if ( !strcasecmp(motparse1,"C$AGRIF_DO_NOT_TREAT\n"))  
    11010                              return TOK_DONOTTREAT; 
    11011                              if ( !strcasecmp(motparse1,"C$AGRIF_END_DO_NOT_TREAT\n")) return TOK_ENDDONOTTREAT; 
    11012                              unput('\n'); 
    11013                            } 
    11014                          } 
     9381#line 278 "fortran.lex" 
     9382{ INCREMENT_LINE_NUM() ; } 
    110159383   YY_BREAK 
    110169384case 170: 
    110179385/* rule 170 can match eol */ 
    110189386YY_RULE_SETUP 
    11019 #line 317 "fortran.lex" 
    11020 { 
    11021                            convert2lower(&motparse1[1]); 
    11022                            if ( strncasecmp(&motparse1[1],"contains",8) == 0 ) 
    11023                            { 
    11024                               return TOK_CONTAINS; 
    11025                            } 
    11026                            else 
    11027                            { 
    11028                              /* colnum=0;line_num_fortran++;line_num_fortran_common++;*/ 
    11029                              if ( !strcasecmp(&motparse1[1],"C$AGRIF_DO_NOT_TREAT\n"))  
    11030                              return TOK_DONOTTREAT; 
    11031                              if ( !strcasecmp(&motparse1[1],"C$AGRIF_END_DO_NOT_TREAT\n")) return TOK_ENDDONOTTREAT; 
    11032                              unput('\n'); 
    11033                            } 
    11034                          }                             
     9387#line 280 "fortran.lex" 
     9388{ INCREMENT_LINE_NUM() ; BEGIN(donottreat); } 
    110359389   YY_BREAK 
    110369390case 171: 
    110379391/* rule 171 can match eol */ 
    110389392YY_RULE_SETUP 
    11039 #line 332 "fortran.lex" 
    11040 { 
    11041                   BEGIN(donottreat); 
    11042                   } 
     9393#line 281 "fortran.lex" 
     9394{ out_of_donottreat(); return '\n'; } 
    110439395   YY_BREAK 
    110449396case 172: 
    110459397/* rule 172 can match eol */ 
    110469398YY_RULE_SETUP 
    11047 #line 335 "fortran.lex" 
    11048 { 
    11049                   BEGIN(INITIAL); 
    11050                         if (infixed) BEGIN(fortran77style) ; 
    11051                         if (infree) BEGIN(fortran90style)  ; 
    11052                         line_num_fortran++;line_num_fortran_common++; 
    11053                         return '\n'; 
    11054                   } 
     9399#line 282 "fortran.lex" 
     9400{ INCREMENT_LINE_NUM() ; } 
    110559401   YY_BREAK 
    110569402case 173: 
    110579403/* rule 173 can match eol */ 
    110589404YY_RULE_SETUP 
    11059 #line 342 "fortran.lex" 
    11060 {line_num_fortran++;line_num_fortran_common++;} 
     9405#line 283 "fortran.lex" 
     9406{ INCREMENT_LINE_NUM() ; } 
    110619407   YY_BREAK 
    110629408case 174: 
    110639409/* rule 174 can match eol */ 
    110649410YY_RULE_SETUP 
    11065 #line 343 "fortran.lex" 
    11066 { 
    11067                              colnum = 0; 
    11068                              if ( !strcasecmp(motparse1,"!$AGRIF_DO_NOT_TREAT\n")) return TOK_DONOTTREAT; 
    11069                              if ( !strcasecmp(motparse1,"!$AGRIF_END_DO_NOT_TREAT\n")) return TOK_ENDDONOTTREAT; 
    11070                           } 
     9411#line 284 "fortran.lex" 
     9412{ INCREMENT_LINE_NUM() ; } 
    110719413   YY_BREAK 
    110729414case 175: 
    110739415YY_RULE_SETUP 
    11074 #line 348 "fortran.lex" 
    11075 { 
    11076                              colnum = 0; 
    11077                              if ( !strcasecmp(motparse1,"!$AGRIF_DO_NOT_TREAT\n")) return TOK_DONOTTREAT; 
    11078                              if ( !strcasecmp(motparse1,"!$AGRIF_END_DO_NOT_TREAT\n")) return TOK_ENDDONOTTREAT; 
    11079                           } 
     9416#line 285 "fortran.lex" 
     9417{} 
    110809418   YY_BREAK 
    110819419case 176: 
    110829420YY_RULE_SETUP 
    11083 #line 353 "fortran.lex" 
     9421#line 286 "fortran.lex" 
    110849422ECHO; 
    110859423   YY_BREAK 
    11086 #line 4224 "fortran.yy.c" 
     9424#line 3015 "fortran.yy.c" 
    110879425case YY_STATE_EOF(INITIAL): 
    110889426case YY_STATE_EOF(parameter): 
     
    111069444         /* We're scanning a new file or input source.  It's 
    111079445          * possible that this happened because the user 
    11108           * just pointed fortranin at a new source and called 
    11109           * fortranlex().  If so, then we have to assure 
     9446          * just pointed fortran_in at a new source and called 
     9447          * fortran_lex().  If so, then we have to assure 
    111109448          * consistency between YY_CURRENT_BUFFER and our 
    111119449          * globals.  Here is the right place to do so, because 
     
    111149452          */ 
    111159453         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 
    11116          YY_CURRENT_BUFFER_LVALUE->yy_input_file = fortranin; 
     9454         YY_CURRENT_BUFFER_LVALUE->yy_input_file = fortran_in; 
    111179455         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 
    111189456         } 
     
    111679505            (yy_did_buffer_switch_on_eof) = 0; 
    111689506 
    11169             if ( fortranwrap( ) ) 
     9507            if ( fortran_wrap( ) ) 
    111709508               { 
    111719509               /* Note: because we've taken care in 
    111729510                * yy_get_next_buffer() to have set up 
    11173                 * fortrantext, we can now set up 
     9511                * fortran_text, we can now set up 
    111749512                * yy_c_buf_p so that if some total 
    111759513                * hoser (like flex itself) wants to 
     
    112209558   } /* end of action switch */ 
    112219559      } /* end of scanning one token */ 
    11222 } /* end of fortranlex */ 
     9560} /* end of fortran_lex */ 
    112239561 
    112249562/* yy_get_next_buffer - try to read in a new buffer 
     
    112989636            b->yy_ch_buf = (char *) 
    112999637               /* Include room in for 2 EOB chars. */ 
    11300                fortranrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  ); 
     9638               fortran_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  ); 
    113019639            } 
    113029640         else 
     
    113309668         { 
    113319669         ret_val = EOB_ACT_END_OF_FILE; 
    11332          fortranrestart(fortranin  ); 
     9670         fortran_restart(fortran_in  ); 
    113339671         } 
    113349672 
     
    113479685      /* Extend the array by 50%, plus the number we really need. */ 
    113489686      yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 
    11349       YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) fortranrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  ); 
     9687      YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) fortran_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  ); 
    113509688      if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 
    113519689         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 
     
    113829720         { 
    113839721         yy_current_state = (int) yy_def[yy_current_state]; 
    11384          if ( yy_current_state >= 1162 ) 
     9722         if ( yy_current_state >= 1132 ) 
    113859723            yy_c = yy_meta[(unsigned int) yy_c]; 
    113869724         } 
     
    114109748      { 
    114119749      yy_current_state = (int) yy_def[yy_current_state]; 
    11412       if ( yy_current_state >= 1162 ) 
     9750      if ( yy_current_state >= 1132 ) 
    114139751         yy_c = yy_meta[(unsigned int) yy_c]; 
    114149752      } 
    114159753   yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 
    11416    yy_is_jam = (yy_current_state == 1161); 
     9754   yy_is_jam = (yy_current_state == 1131); 
    114179755 
    114189756   return yy_is_jam ? 0 : yy_current_state; 
     
    114259763    yy_cp = (yy_c_buf_p); 
    114269764 
    11427    /* undo effects of setting up fortrantext */ 
     9765   /* undo effects of setting up fortran_text */ 
    114289766   *yy_cp = (yy_hold_char); 
    114299767 
     
    114979835 
    114989836               /* Reset buffer status. */ 
    11499                fortranrestart(fortranin ); 
     9837               fortran_restart(fortran_in ); 
    115009838 
    115019839               /*FALLTHROUGH*/ 
     
    115039841            case EOB_ACT_END_OF_FILE: 
    115049842               { 
    11505                if ( fortranwrap( ) ) 
     9843               if ( fortran_wrap( ) ) 
    115069844                  return 0; 
    115079845 
     
    115239861 
    115249862   c = *(unsigned char *) (yy_c_buf_p);   /* cast for 8-bit char's */ 
    11525    *(yy_c_buf_p) = '\0';   /* preserve fortrantext */ 
     9863   *(yy_c_buf_p) = '\0';   /* preserve fortran_text */ 
    115269864   (yy_hold_char) = *++(yy_c_buf_p); 
    115279865 
     
    115379875 * @note This function does not reset the start condition to @c INITIAL . 
    115389876 */ 
    11539     void fortranrestart  (FILE * input_file ) 
     9877    void fortran_restart  (FILE * input_file ) 
    115409878{ 
    115419879     
    115429880   if ( ! YY_CURRENT_BUFFER ){ 
    11543         fortranensure_buffer_stack (); 
     9881        fortran_ensure_buffer_stack (); 
    115449882      YY_CURRENT_BUFFER_LVALUE = 
    11545             fortran_create_buffer(fortranin,YY_BUF_SIZE ); 
     9883            fortran__create_buffer(fortran_in,YY_BUF_SIZE ); 
    115469884   } 
    115479885 
    11548    fortran_init_buffer(YY_CURRENT_BUFFER,input_file ); 
    11549    fortran_load_buffer_state( ); 
     9886   fortran__init_buffer(YY_CURRENT_BUFFER,input_file ); 
     9887   fortran__load_buffer_state( ); 
    115509888} 
    115519889 
     
    115549892 *  
    115559893 */ 
    11556     void fortran_switch_to_buffer  (YY_BUFFER_STATE  new_buffer ) 
     9894    void fortran__switch_to_buffer  (YY_BUFFER_STATE  new_buffer ) 
    115579895{ 
    115589896     
    115599897   /* TODO. We should be able to replace this entire function body 
    115609898    * with 
    11561     *    fortranpop_buffer_state(); 
    11562     *    fortranpush_buffer_state(new_buffer); 
     9899    *    fortran_pop_buffer_state(); 
     9900    *    fortran_push_buffer_state(new_buffer); 
    115639901     */ 
    11564    fortranensure_buffer_stack (); 
     9902   fortran_ensure_buffer_stack (); 
    115659903   if ( YY_CURRENT_BUFFER == new_buffer ) 
    115669904      return; 
     
    115759913 
    115769914   YY_CURRENT_BUFFER_LVALUE = new_buffer; 
    11577    fortran_load_buffer_state( ); 
     9915   fortran__load_buffer_state( ); 
    115789916 
    115799917   /* We don't actually know whether we did this switch during 
    11580     * EOF (fortranwrap()) processing, but the only time this flag 
    11581     * is looked at is after fortranwrap() is called, so it's safe 
     9918    * EOF (fortran_wrap()) processing, but the only time this flag 
     9919    * is looked at is after fortran_wrap() is called, so it's safe 
    115829920    * to go ahead and always set it. 
    115839921    */ 
     
    115859923} 
    115869924 
    11587 static void fortran_load_buffer_state  (void) 
     9925static void fortran__load_buffer_state  (void) 
    115889926{ 
    115899927      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 
    115909928   (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 
    11591    fortranin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 
     9929   fortran_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 
    115929930   (yy_hold_char) = *(yy_c_buf_p); 
    115939931} 
     
    115999937 * @return the allocated buffer state. 
    116009938 */ 
    11601     YY_BUFFER_STATE fortran_create_buffer  (FILE * file, int  size ) 
     9939    YY_BUFFER_STATE fortran__create_buffer  (FILE * file, int  size ) 
    116029940{ 
    116039941   YY_BUFFER_STATE b; 
    116049942     
    11605    b = (YY_BUFFER_STATE) fortranalloc(sizeof( struct yy_buffer_state )  ); 
     9943   b = (YY_BUFFER_STATE) fortran_alloc(sizeof( struct yy_buffer_state )  ); 
    116069944   if ( ! b ) 
    11607       YY_FATAL_ERROR( "out of dynamic memory in fortran_create_buffer()" ); 
     9945      YY_FATAL_ERROR( "out of dynamic memory in fortran__create_buffer()" ); 
    116089946 
    116099947   b->yy_buf_size = size; 
     
    116129950    * we need to put in 2 end-of-buffer characters. 
    116139951    */ 
    11614    b->yy_ch_buf = (char *) fortranalloc(b->yy_buf_size + 2  ); 
     9952   b->yy_ch_buf = (char *) fortran_alloc(b->yy_buf_size + 2  ); 
    116159953   if ( ! b->yy_ch_buf ) 
    11616       YY_FATAL_ERROR( "out of dynamic memory in fortran_create_buffer()" ); 
     9954      YY_FATAL_ERROR( "out of dynamic memory in fortran__create_buffer()" ); 
    116179955 
    116189956   b->yy_is_our_buffer = 1; 
    116199957 
    11620    fortran_init_buffer(b,file ); 
     9958   fortran__init_buffer(b,file ); 
    116219959 
    116229960   return b; 
     
    116249962 
    116259963/** Destroy the buffer. 
    11626  * @param b a buffer created with fortran_create_buffer() 
     9964 * @param b a buffer created with fortran__create_buffer() 
    116279965 *  
    116289966 */ 
    11629     void fortran_delete_buffer (YY_BUFFER_STATE  b ) 
     9967    void fortran__delete_buffer (YY_BUFFER_STATE  b ) 
    116309968{ 
    116319969     
     
    116379975 
    116389976   if ( b->yy_is_our_buffer ) 
    11639       fortranfree((void *) b->yy_ch_buf  ); 
    11640  
    11641    fortranfree((void *) b  ); 
     9977      fortran_free((void *) b->yy_ch_buf  ); 
     9978 
     9979   fortran_free((void *) b  ); 
    116429980} 
    116439981 
     
    116489986/* Initializes or reinitializes a buffer. 
    116499987 * This function is sometimes called more than once on the same buffer, 
    11650  * such as during a fortranrestart() or at EOF. 
     9988 * such as during a fortran_restart() or at EOF. 
    116519989 */ 
    11652     static void fortran_init_buffer  (YY_BUFFER_STATE  b, FILE * file ) 
     9990    static void fortran__init_buffer  (YY_BUFFER_STATE  b, FILE * file ) 
    116539991 
    116549992{ 
    116559993   int oerrno = errno; 
    116569994     
    11657    fortran_flush_buffer(b ); 
     9995   fortran__flush_buffer(b ); 
    116589996 
    116599997   b->yy_input_file = file; 
    116609998   b->yy_fill_buffer = 1; 
    116619999 
    11662     /* If b is the current buffer, then fortran_init_buffer was _probably_ 
    11663      * called from fortranrestart() or through yy_get_next_buffer. 
     10000    /* If b is the current buffer, then fortran__init_buffer was _probably_ 
     10001     * called from fortran_restart() or through yy_get_next_buffer. 
    1166410002     * In that case, we don't want to reset the lineno or column. 
    1166510003     */ 
     
    1167810016 *  
    1167910017 */ 
    11680     void fortran_flush_buffer (YY_BUFFER_STATE  b ) 
     10018    void fortran__flush_buffer (YY_BUFFER_STATE  b ) 
    1168110019{ 
    1168210020      if ( ! b ) 
     
    1169810036 
    1169910037   if ( b == YY_CURRENT_BUFFER ) 
    11700       fortran_load_buffer_state( ); 
     10038      fortran__load_buffer_state( ); 
    1170110039} 
    1170210040 
     
    1170710045 *   
    1170810046 */ 
    11709 void fortranpush_buffer_state (YY_BUFFER_STATE new_buffer ) 
     10047void fortran_push_buffer_state (YY_BUFFER_STATE new_buffer ) 
    1171010048{ 
    1171110049      if (new_buffer == NULL) 
    1171210050      return; 
    1171310051 
    11714    fortranensure_buffer_stack(); 
    11715  
    11716    /* This block is copied from fortran_switch_to_buffer. */ 
     10052   fortran_ensure_buffer_stack(); 
     10053 
     10054   /* This block is copied from fortran__switch_to_buffer. */ 
    1171710055   if ( YY_CURRENT_BUFFER ) 
    1171810056      { 
     
    1172810066   YY_CURRENT_BUFFER_LVALUE = new_buffer; 
    1172910067 
    11730    /* copied from fortran_switch_to_buffer. */ 
    11731    fortran_load_buffer_state( ); 
     10068   /* copied from fortran__switch_to_buffer. */ 
     10069   fortran__load_buffer_state( ); 
    1173210070   (yy_did_buffer_switch_on_eof) = 1; 
    1173310071} 
     
    1173710075 *   
    1173810076 */ 
    11739 void fortranpop_buffer_state (void) 
     10077void fortran_pop_buffer_state (void) 
    1174010078{ 
    1174110079      if (!YY_CURRENT_BUFFER) 
    1174210080      return; 
    1174310081 
    11744    fortran_delete_buffer(YY_CURRENT_BUFFER ); 
     10082   fortran__delete_buffer(YY_CURRENT_BUFFER ); 
    1174510083   YY_CURRENT_BUFFER_LVALUE = NULL; 
    1174610084   if ((yy_buffer_stack_top) > 0) 
     
    1174810086 
    1174910087   if (YY_CURRENT_BUFFER) { 
    11750       fortran_load_buffer_state( ); 
     10088      fortran__load_buffer_state( ); 
    1175110089      (yy_did_buffer_switch_on_eof) = 1; 
    1175210090   } 
     
    1175610094 *  Guarantees space for at least one push. 
    1175710095 */ 
    11758 static void fortranensure_buffer_stack (void) 
     10096static void fortran_ensure_buffer_stack (void) 
    1175910097{ 
    1176010098   yy_size_t num_to_alloc; 
     
    1176710105         */ 
    1176810106      num_to_alloc = 1; 
    11769       (yy_buffer_stack) = (struct yy_buffer_state**)fortranalloc 
     10107      (yy_buffer_stack) = (struct yy_buffer_state**)fortran_alloc 
    1177010108                        (num_to_alloc * sizeof(struct yy_buffer_state*) 
    1177110109                        ); 
    1177210110      if ( ! (yy_buffer_stack) ) 
    11773          YY_FATAL_ERROR( "out of dynamic memory in fortranensure_buffer_stack()" ); 
     10111         YY_FATAL_ERROR( "out of dynamic memory in fortran_ensure_buffer_stack()" ); 
    1177410112                           
    1177510113      memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 
     
    1178610124 
    1178710125      num_to_alloc = (yy_buffer_stack_max) + grow_size; 
    11788       (yy_buffer_stack) = (struct yy_buffer_state**)fortranrealloc 
     10126      (yy_buffer_stack) = (struct yy_buffer_state**)fortran_realloc 
    1178910127                        ((yy_buffer_stack), 
    1179010128                        num_to_alloc * sizeof(struct yy_buffer_state*) 
    1179110129                        ); 
    1179210130      if ( ! (yy_buffer_stack) ) 
    11793          YY_FATAL_ERROR( "out of dynamic memory in fortranensure_buffer_stack()" ); 
     10131         YY_FATAL_ERROR( "out of dynamic memory in fortran_ensure_buffer_stack()" ); 
    1179410132 
    1179510133      /* zero only the new slots.*/ 
     
    1180510143 * @return the newly allocated buffer state object.  
    1180610144 */ 
    11807 YY_BUFFER_STATE fortran_scan_buffer  (char * base, yy_size_t  size ) 
     10145YY_BUFFER_STATE fortran__scan_buffer  (char * base, yy_size_t  size ) 
    1180810146{ 
    1180910147   YY_BUFFER_STATE b; 
     
    1181510153      return 0; 
    1181610154 
    11817    b = (YY_BUFFER_STATE) fortranalloc(sizeof( struct yy_buffer_state )  ); 
     10155   b = (YY_BUFFER_STATE) fortran_alloc(sizeof( struct yy_buffer_state )  ); 
    1181810156   if ( ! b ) 
    11819       YY_FATAL_ERROR( "out of dynamic memory in fortran_scan_buffer()" ); 
     10157      YY_FATAL_ERROR( "out of dynamic memory in fortran__scan_buffer()" ); 
    1182010158 
    1182110159   b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 
     
    1182910167   b->yy_buffer_status = YY_BUFFER_NEW; 
    1183010168 
    11831    fortran_switch_to_buffer(b  ); 
     10169   fortran__switch_to_buffer(b  ); 
    1183210170 
    1183310171   return b; 
    1183410172} 
    1183510173 
    11836 /** Setup the input buffer state to scan a string. The next call to fortranlex() will 
     10174/** Setup the input buffer state to scan a string. The next call to fortran_lex() will 
    1183710175 * scan from a @e copy of @a str. 
    1183810176 * @param yystr a NUL-terminated string to scan 
     
    1184010178 * @return the newly allocated buffer state object. 
    1184110179 * @note If you want to scan bytes that may contain NUL values, then use 
    11842  *       fortran_scan_bytes() instead. 
     10180 *       fortran__scan_bytes() instead. 
    1184310181 */ 
    11844 YY_BUFFER_STATE fortran_scan_string (yyconst char * yystr ) 
     10182YY_BUFFER_STATE fortran__scan_string (yyconst char * yystr ) 
    1184510183{ 
    1184610184     
    11847    return fortran_scan_bytes(yystr,strlen(yystr) ); 
     10185   return fortran__scan_bytes(yystr,strlen(yystr) ); 
    1184810186} 
    1184910187 
    11850 /** Setup the input buffer state to scan the given bytes. The next call to fortranlex() will 
     10188/** Setup the input buffer state to scan the given bytes. The next call to fortran_lex() will 
    1185110189 * scan from a @e copy of @a bytes. 
    1185210190 * @param bytes the byte buffer to scan 
     
    1185510193 * @return the newly allocated buffer state object. 
    1185610194 */ 
    11857 YY_BUFFER_STATE fortran_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len ) 
     10195YY_BUFFER_STATE fortran__scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len ) 
    1185810196{ 
    1185910197   YY_BUFFER_STATE b; 
     
    1186310201   /* Get memory for full buffer, including space for trailing EOB's. */ 
    1186410202   n = _yybytes_len + 2; 
    11865    buf = (char *) fortranalloc(n  ); 
     10203   buf = (char *) fortran_alloc(n  ); 
    1186610204   if ( ! buf ) 
    11867       YY_FATAL_ERROR( "out of dynamic memory in fortran_scan_bytes()" ); 
     10205      YY_FATAL_ERROR( "out of dynamic memory in fortran__scan_bytes()" ); 
    1186810206 
    1186910207   for ( i = 0; i < _yybytes_len; ++i ) 
     
    1187210210   buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 
    1187310211 
    11874    b = fortran_scan_buffer(buf,n ); 
     10212   b = fortran__scan_buffer(buf,n ); 
    1187510213   if ( ! b ) 
    11876       YY_FATAL_ERROR( "bad buffer in fortran_scan_bytes()" ); 
     10214      YY_FATAL_ERROR( "bad buffer in fortran__scan_bytes()" ); 
    1187710215 
    1187810216   /* It's okay to grow etc. this buffer, and we should throw it 
     
    1190010238   do \ 
    1190110239      { \ 
    11902       /* Undo effects of setting up fortrantext. */ \ 
     10240      /* Undo effects of setting up fortran_text. */ \ 
    1190310241        int yyless_macro_arg = (n); \ 
    1190410242        YY_LESS_LINENO(yyless_macro_arg);\ 
    11905       fortrantext[fortranleng] = (yy_hold_char); \ 
    11906       (yy_c_buf_p) = fortrantext + yyless_macro_arg; \ 
     10243      fortran_text[fortran_leng] = (yy_hold_char); \ 
     10244      (yy_c_buf_p) = fortran_text + yyless_macro_arg; \ 
    1190710245      (yy_hold_char) = *(yy_c_buf_p); \ 
    1190810246      *(yy_c_buf_p) = '\0'; \ 
    11909       fortranleng = yyless_macro_arg; \ 
     10247      fortran_leng = yyless_macro_arg; \ 
    1191010248      } \ 
    1191110249   while ( 0 ) 
     
    1191610254 *  
    1191710255 */ 
    11918 int fortranget_lineno  (void) 
     10256int fortran_get_lineno  (void) 
    1191910257{ 
    1192010258         
    11921     return fortranlineno; 
     10259    return fortran_lineno; 
    1192210260} 
    1192310261 
     
    1192510263 *  
    1192610264 */ 
    11927 FILE *fortranget_in  (void) 
     10265FILE *fortran_get_in  (void) 
    1192810266{ 
    11929         return fortranin; 
     10267        return fortran_in; 
    1193010268} 
    1193110269 
     
    1193310271 *  
    1193410272 */ 
    11935 FILE *fortranget_out  (void) 
     10273FILE *fortran_get_out  (void) 
    1193610274{ 
    11937         return fortranout; 
     10275        return fortran_out; 
    1193810276} 
    1193910277 
     
    1194110279 *  
    1194210280 */ 
    11943 yy_size_t fortranget_leng  (void) 
     10281yy_size_t fortran_get_leng  (void) 
    1194410282{ 
    11945         return fortranleng; 
     10283        return fortran_leng; 
    1194610284} 
    1194710285 
     
    1195010288 */ 
    1195110289 
    11952 char *fortranget_text  (void) 
     10290char *fortran_get_text  (void) 
    1195310291{ 
    11954         return fortrantext; 
     10292        return fortran_text; 
    1195510293} 
    1195610294 
     
    1195910297 *  
    1196010298 */ 
    11961 void fortranset_lineno (int  line_number ) 
     10299void fortran_set_lineno (int  line_number ) 
    1196210300{ 
    1196310301     
    11964     fortranlineno = line_number; 
     10302    fortran_lineno = line_number; 
    1196510303} 
    1196610304 
     
    1196910307 * @param in_str A readable stream. 
    1197010308 *  
    11971  * @see fortran_switch_to_buffer 
     10309 * @see fortran__switch_to_buffer 
    1197210310 */ 
    11973 void fortranset_in (FILE *  in_str ) 
     10311void fortran_set_in (FILE *  in_str ) 
    1197410312{ 
    11975         fortranin = in_str ; 
     10313        fortran_in = in_str ; 
    1197610314} 
    1197710315 
    11978 void fortranset_out (FILE *  out_str ) 
     10316void fortran_set_out (FILE *  out_str ) 
    1197910317{ 
    11980         fortranout = out_str ; 
     10318        fortran_out = out_str ; 
    1198110319} 
    1198210320 
    11983 int fortranget_debug  (void) 
     10321int fortran_get_debug  (void) 
    1198410322{ 
    11985         return fortran_flex_debug; 
     10323        return fortran__flex_debug; 
    1198610324} 
    1198710325 
    11988 void fortranset_debug (int  bdebug ) 
     10326void fortran_set_debug (int  bdebug ) 
    1198910327{ 
    11990         fortran_flex_debug = bdebug ; 
     10328        fortran__flex_debug = bdebug ; 
    1199110329} 
    1199210330 
     
    1199410332{ 
    1199510333        /* Initialization is the same as for the non-reentrant scanner. 
    11996      * This function is called from fortranlex_destroy(), so don't allocate here. 
     10334     * This function is called from fortran_lex_destroy(), so don't allocate here. 
    1199710335     */ 
    1199810336 
     
    1200610344/* Defined in main.c */ 
    1200710345#ifdef YY_STDINIT 
    12008     fortranin = stdin; 
    12009     fortranout = stdout; 
     10346    fortran_in = stdin; 
     10347    fortran_out = stdout; 
    1201010348#else 
    12011     fortranin = (FILE *) 0; 
    12012     fortranout = (FILE *) 0; 
     10349    fortran_in = (FILE *) 0; 
     10350    fortran_out = (FILE *) 0; 
    1201310351#endif 
    1201410352 
    1201510353    /* For future reference: Set errno on error, since we are called by 
    12016      * fortranlex_init() 
     10354     * fortran_lex_init() 
    1201710355     */ 
    1201810356    return 0; 
    1201910357} 
    1202010358 
    12021 /* fortranlex_destroy is for both reentrant and non-reentrant scanners. */ 
    12022 int fortranlex_destroy  (void) 
     10359/* fortran_lex_destroy is for both reentrant and non-reentrant scanners. */ 
     10360int fortran_lex_destroy  (void) 
    1202310361{ 
    1202410362     
    1202510363    /* Pop the buffer stack, destroying each element. */ 
    1202610364   while(YY_CURRENT_BUFFER){ 
    12027       fortran_delete_buffer(YY_CURRENT_BUFFER  ); 
     10365      fortran__delete_buffer(YY_CURRENT_BUFFER  ); 
    1202810366      YY_CURRENT_BUFFER_LVALUE = NULL; 
    12029       fortranpop_buffer_state(); 
     10367      fortran_pop_buffer_state(); 
    1203010368   } 
    1203110369 
    1203210370   /* Destroy the stack itself. */ 
    12033    fortranfree((yy_buffer_stack) ); 
     10371   fortran_free((yy_buffer_stack) ); 
    1203410372   (yy_buffer_stack) = NULL; 
    1203510373 
    1203610374    /* Reset the globals. This is important in a non-reentrant scanner so the next time 
    12037      * fortranlex() is called, initialization will occur. */ 
     10375     * fortran_lex() is called, initialization will occur. */ 
    1203810376    yy_init_globals( ); 
    1203910377 
     
    1206510403#endif 
    1206610404 
    12067 void *fortranalloc (yy_size_t  size ) 
     10405void *fortran_alloc (yy_size_t  size ) 
    1206810406{ 
    1206910407   return (void *) malloc( size ); 
    1207010408} 
    1207110409 
    12072 void *fortranrealloc  (void * ptr, yy_size_t  size ) 
     10410void *fortran_realloc  (void * ptr, yy_size_t  size ) 
    1207310411{ 
    1207410412   /* The cast to (char *) in the following accommodates both 
     
    1208210420} 
    1208310421 
    12084 void fortranfree (void * ptr ) 
     10422void fortran_free (void * ptr ) 
    1208510423{ 
    12086    free( (char *) ptr );   /* see fortranrealloc() for (char *) cast */ 
     10424   free( (char *) ptr );   /* see fortran_realloc() for (char *) cast */ 
    1208710425} 
    1208810426 
    1208910427#define YYTABLES_NAME "yytables" 
    1209010428 
    12091 #line 353 "fortran.lex" 
    12092  
    12093  
    12094  
    12095 fortranerror(char *s) 
     10429#line 286 "fortran.lex" 
     10430 
     10431 
     10432 
     10433void out_of_donottreat ( void ) 
    1209610434{ 
    12097    if (!strcasecmp(curfile,mainfile)) 
    12098    { 
    12099       printf("%s line %d, file %s motclef = %s\n",s,line_num_fortran,curfile,fortrantext); 
    12100    } 
    12101    else 
    12102    { 
    12103       printf("%s line %d, file %s motclef = %s curbuf = %s\n",s,line_num_fortran_common,curfile,fortrantext,curbuf); 
    12104    } 
    12105 /*   exit(0);*/ 
     10435    BEGIN(INITIAL); 
     10436    if (infixed) BEGIN(fortran77style) ; 
     10437    if (infree)  BEGIN(fortran90style) ; 
     10438    INCREMENT_LINE_NUM() ; 
    1210610439} 
    1210710440 
    12108 int fortranwrap() 
    12109 { 
    12110 } 
    12111  
Note: See TracChangeset for help on using the changeset viewer.