Changeset 8139 for branches/2017
- Timestamp:
- 2017-06-05T12:05:17+02:00 (7 years ago)
- Location:
- branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/DiversListe.c
r5656 r8139 479 479 strcpy(newvar->var->v_nomvar,name); 480 480 strcpy(newvar->var->v_modulename,curmodulename); 481 if (strcasecmp(curmodulename,"")) 482 { 483 newvar->var->v_module=1; 484 } 481 485 strcpy(newvar->var->v_subroutinename,subroutinename); 482 486 strcpy(newvar->var->v_commoninfile,cur_filename); … … 522 526 523 527 Init_Variable(newvar->var); 524 525 528 newvar->var->v_save = 1; 526 529 strcpy(newvar->var->v_nomvar,parcours->var->v_nomvar); 530 strcpy(newvar->var->v_dimchar,parcours->var->v_dimchar); 527 531 strcpy(newvar->var->v_modulename,curmodulename); 528 532 strcpy(newvar->var->v_subroutinename,subroutinename); … … 531 535 532 536 newvar->var->v_nbdim = parcours->var->v_nbdim; 537 strcpy(newvar->var->v_typevar,parcours->var->v_typevar); 538 strcpy(newvar->var->v_precision,parcours->var->v_precision); 533 539 newvar->var->v_catvar = parcours->var->v_catvar; 534 540 newvar->var->v_dimension = parcours->var->v_dimension; 535 541 newvar->var->v_dimensiongiven=parcours->var->v_dimensiongiven; 542 newvar->var->v_allocatable = parcours->var->v_allocatable; 543 newvar->var->v_initialvalue = parcours->var->v_initialvalue; 544 newvar->var->v_initialvalue_array = parcours->var->v_initialvalue_array; 536 545 newvar->suiv = List_Save_Var; 537 546 List_Save_Var = newvar; -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/Makefile
r5656 r8139 62 62 63 63 clean: 64 # $(MAKE) -f Makefile.lex clean65 64 $(RM) *.o conv 66 65 66 clean-all: clean -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/SubLoopCreation.c
r5656 r8139 58 58 if ( todebug == 1 ) printf("> enter in WriteBeginof_SubLoop : IsTabvarsUseInArgument_0() == 1\n"); 59 59 /* we should add the use agrif_uti l if it is necessary */ 60 if (todebug == 1) fprintf(fortran_out,"\n !DEBUG: Avant WriteHeadofSubroutineLoop\n"); 60 61 WriteHeadofSubroutineLoop(); 62 if (todebug == 1) fprintf(fortran_out," !DEBUG: Apres WriteHeadofSubroutineLoop\n"); 63 fflush(fortran_out); 64 if (todebug == 1) { 65 fprintf(fortran_out," !DEBUG: Avant WriteUsemoduleDeclaration\n"); 66 } 67 61 68 WriteUsemoduleDeclaration(subroutinename); 62 69 if ( ImplicitNoneInSubroutine() == 1 ) fprintf(fortran_out, " implicit none\n"); 63 70 WriteIncludeDeclaration(fortran_out); 71 if (todebug == 1) fprintf(fortran_out," !DEBUG: Avant WriteIncludeDeclaration\n"); 64 72 /* */ 65 73 /* We should write once the declaration of tables (extract */ … … 77 85 AddUseAgrifUtil_0(fortran_out); 78 86 WriteUsemoduleDeclaration(subroutinename); 87 if ( ImplicitNoneInSubroutine() == 1 ) fprintf(fortran_out, " implicit none\n"); 79 88 WriteIncludeDeclaration(fortran_out); 80 if ( ImplicitNoneInSubroutine() == 1 ) fprintf(fortran_out, " implicit none\n");81 89 WriteLocalParamDeclaration(fortran_out); 82 90 WriteArgumentDeclaration_beforecall(); 91 if (todebug == 1) fprintf(fortran_out," !DEBUG: Avant WriteFunctionDeclaration\n"); 83 92 if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 1); 84 93 /* writesub_loopdeclaration_scalar(List_SubroutineArgument_Var,fortran_out); … … 102 111 /* */ 103 112 /******************************************************************************/ 104 void WriteVariablelist_subloop(char * ligne)113 void WriteVariablelist_subloop(char **ligne, size_t *line_length) 105 114 { 106 115 listvar *parcours; … … 117 126 if ( !strcasecmp(parcours->var->v_subroutinename,subroutinename) ) 118 127 { 119 if ( didvariableadded == 1 ) strcat(ligne,","); 120 strcat(ligne,parcours->var->v_nomvar); 128 if ( didvariableadded == 1 ) strcat(*ligne,","); 129 if ( (strlen(*ligne)+strlen(parcours->var->v_nomvar)+100) > *line_length ) 130 { 131 *line_length += LONG_M; 132 *ligne = realloc( *ligne, *line_length*sizeof(char) ); 133 } 134 strcat(*ligne,parcours->var->v_nomvar); 121 135 didvariableadded = 1; 122 136 } … … 128 142 if ( !strcasecmp(parcours->var->v_subroutinename,subroutinename) ) 129 143 { 130 if ( didvariableadded == 1 ) strcat(ligne,","); 131 strcat(ligne,parcours->var->v_nomvar); 144 if ( didvariableadded == 1 ) strcat(*ligne,","); 145 if ( (strlen(*ligne)+strlen(parcours->var->v_nomvar)+100) > *line_length ) 146 { 147 *line_length += LONG_M; 148 *ligne = realloc( *ligne, *line_length*sizeof(char) ); 149 } 150 strcat(*ligne,parcours->var->v_nomvar); 132 151 didvariableadded = 1; 133 152 } … … 152 171 /* */ 153 172 /******************************************************************************/ 154 void WriteVariablelist_subloop_Call(char **ligne, size_t line_length)173 void WriteVariablelist_subloop_Call(char **ligne, size_t *line_length) 155 174 { 156 175 listvar *parcours; 157 176 char ligne2[LONG_M]; 158 177 int i; 159 size_t cur_length;160 161 cur_length = line_length;162 178 163 179 if ( todebug == 1 ) printf("> enter in WriteVariablelist_subloop_Call\n"); … … 170 186 /* in the output file */ 171 187 if ( !strcasecmp(parcours->var->v_subroutinename,subroutinename) && 172 (parcours->var->v_pointerdeclare == 0 || !strcasecmp(parcours->var->v_typevar,"type"))188 (parcours->var->v_pointerdeclare >= 0 || !strcasecmp(parcours->var->v_typevar,"type")) 173 189 ) 174 190 { 175 191 if ( didvariableadded == 1 ) strcat(*ligne,","); 176 192 const char *vres = vargridcurgridtabvars(parcours->var, 0); 177 if ( (strlen(*ligne)+strlen( vres)+100) > cur_length )193 if ( (strlen(*ligne)+strlen(parcours->var->v_nomvar)+100) > *line_length ) 178 194 { 179 cur_length += LONG_M;180 *ligne = realloc( *ligne, cur_length*sizeof(char) );195 *line_length += LONG_M; 196 *ligne = realloc( *ligne, *line_length*sizeof(char) ); 181 197 } 182 198 strcat(*ligne, vres); … … 186 202 if ( SubloopScalar != 0 && 187 203 ( 188 (parcours->var->v_pointerdeclare == 0 || !strcasecmp(parcours->var->v_typevar,"type"))) &&204 (parcours->var->v_pointerdeclare >= 0 || !strcasecmp(parcours->var->v_typevar,"type"))) && 189 205 parcours->var->v_nbdim != 0 ) 190 206 { … … 231 247 /* */ 232 248 /******************************************************************************/ 233 void WriteVariablelist_subloop_Def(char * ligne)249 void WriteVariablelist_subloop_Def(char **ligne, size_t *line_length) 234 250 { 235 251 listvar *parcours; … … 244 260 /* in the output file */ 245 261 if ( !strcasecmp(parcours->var->v_subroutinename,subroutinename) && 246 (parcours->var->v_pointerdeclare == 0 || !strcasecmp(parcours->var->v_typevar,"type")) )262 (parcours->var->v_pointerdeclare >= 0 || !strcasecmp(parcours->var->v_typevar,"type")) ) 247 263 { 248 if ( didvariableadded == 1 ) strcat(ligne,","); 249 strcat(ligne,parcours->var->v_nomvar); 264 if ( didvariableadded == 1 ) strcat(*ligne,","); 265 if ( (strlen(*ligne)+strlen(parcours->var->v_nomvar)+100) > *line_length ) 266 { 267 *line_length += LONG_M; 268 *ligne = realloc( *ligne, *line_length*sizeof(char) ); 269 } 270 strcat(*ligne,parcours->var->v_nomvar); 250 271 didvariableadded = 1; 251 272 } 252 273 parcours = parcours -> suiv; 253 274 } 254 Save_Length(ligne,41); 275 255 276 if ( todebug == 1 ) printf("< out of WriteVariablelist_subloop_Def\n"); 256 277 } … … 272 293 void WriteHeadofSubroutineLoop() 273 294 { 274 char ligne[LONG_M];295 char *ligne; 275 296 FILE * subloop; 276 277 if ( todebug == 1 ) printf("> enter in WriteHeadofSubroutineLoop\n"); 297 size_t line_length; 298 299 ligne = (char*) calloc(LONG_M, sizeof(char)); 300 line_length = LONG_M; 301 302 if ( todebug == 1 ) printf("> enter in WriteHeadofSubroutineLoop subroutine %s\n",subroutinename); 278 303 tofich(fortran_out,"\n",1); 304 279 305 /* Open this newfile */ 280 306 sprintf(ligne,"Sub_Loop_%s.h",subroutinename); … … 283 309 if (isrecursive) sprintf(ligne,"recursive subroutine Sub_Loop_%s(",subroutinename); 284 310 else sprintf(ligne,"subroutine Sub_Loop_%s(",subroutinename); 311 285 312 /* */ 286 WriteVariablelist_subloop(ligne); 287 WriteVariablelist_subloop_Def(ligne); 313 if (todebug == 1) fprintf(subloop," !DEBUG: Avant WriteVariablelist_subloop\n"); 314 WriteVariablelist_subloop(&ligne,&line_length); 315 WriteVariablelist_subloop_Def(&ligne,&line_length); 288 316 /* */ 289 317 strcat(ligne,")"); 290 318 tofich(subloop,ligne,1); 319 291 320 /* if USE agrif_Uti l should be add */ 321 if (todebug == 1) fprintf(subloop," !DEBUG: Avant AddUseAgrifUtil_0\n"); 292 322 AddUseAgrifUtil_0(subloop); 323 293 324 /* */ 325 if (todebug == 1) fprintf(subloop," !DEBUG: Apres AddUseAgrifUtil_0\n"); 294 326 oldfortran_out = fortran_out; 295 327 fortran_out = subloop; 328 296 329 if ( todebug == 1 ) printf("< out of WriteHeadofSubroutineLoop\n"); 330 331 free(ligne); 297 332 } 298 333 … … 313 348 { 314 349 char *ligne; 350 size_t line_length; 315 351 316 352 if ( firstpass == 1 ) return; … … 318 354 319 355 ligne = (char*) calloc(LONG_M, sizeof(char)); 356 line_length = LONG_M; 320 357 321 358 if ( IsTabvarsUseInArgument_0() == 1 ) … … 331 368 332 369 AddUseAgrifUtilBeforeCall_0(fortran_out); 370 333 371 WriteArgumentDeclaration_beforecall(); 372 if (todebug == 1) fprintf(fortran_out," !DEBUG: Avant WriteFunctionDeclaration\n"); 373 334 374 if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 0); 335 375 if ( !strcasecmp(subofagrifinitgrids,subroutinename) ) … … 339 379 sprintf(ligne," call Sub_Loop_%s(",subroutinename); 340 380 /* Write the list of the local variables used in this new subroutine */ 341 WriteVariablelist_subloop( ligne);381 WriteVariablelist_subloop(&ligne,&line_length); 342 382 /* Write the list of the global tables used in this new subroutine */ 343 383 /* in doloop */ 344 WriteVariablelist_subloop_Call(&ligne, LONG_M);384 WriteVariablelist_subloop_Call(&ligne, &line_length); 345 385 /* Close the parenthesis of the new subroutine called */ 346 386 strcat(ligne,")\n"); … … 358 398 oldfortran_out = (FILE *)NULL; 359 399 if ( todebug == 1 ) printf("< out of closeandcallsubloopandincludeit_0\n"); 400 401 free(ligne); 360 402 } 361 403 … … 363 405 { 364 406 char *ligne; 407 size_t line_length; 365 408 366 409 if ( todebug == 1 ) printf("> enter in closeandcallsubloop_contains_0\n"); … … 368 411 { 369 412 ligne = (char*) calloc(LONG_M, sizeof(char)); 413 line_length = LONG_M; 370 414 RemoveWordCUR_0(fortran_out,9); // Remove word 'contains' 371 415 tofich(fortran_out,"\n",1); … … 376 420 377 421 AddUseAgrifUtilBeforeCall_0(fortran_out); 378 379 422 if ( ImplicitNoneInSubroutine() == 1 ) fprintf(fortran_out, " implicit none\n"); 380 423 WriteLocalParamDeclaration(fortran_out); 424 printf("ICI3\n"); 381 425 WriteArgumentDeclaration_beforecall(); 426 if (todebug == 1) fprintf(fortran_out," !DEBUG: Avant WriteFunctionDeclaration\n"); 382 427 if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 0); 383 428 /* WriteSubroutineDeclaration(0);*/ … … 388 433 sprintf(ligne," call Sub_Loop_%s(",subroutinename); 389 434 /* Write the list of the local variables used in this new subroutine */ 390 WriteVariablelist_subloop( ligne);435 WriteVariablelist_subloop(&ligne,&line_length); 391 436 /* Write the list of the global tables used in this new subroutine */ 392 437 /* in doloop */ 393 WriteVariablelist_subloop_Call(&ligne, LONG_M);438 WriteVariablelist_subloop_Call(&ligne, &line_length); 394 439 /* Close the parenthesis of the new subroutine called */ 395 440 strcat(ligne,")\n"); -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/UtilAgrif.c
r5656 r8139 150 150 { 151 151 // remove the variable 152 RemoveWordCUR_0(fortran_out,lengthname);152 // RemoveWordCUR_0(fortran_out,lengthname); 153 153 // then write the new name 154 if ( inagrifcallargument == 1 && agrif_parentcall == 0 )155 fprintf(fortran_out,"%d",newvar->var->v_indicetabvars);156 else157 {158 if ( retour77 == 0 )159 fprintf(fortran_out,"Agrif_%s & \n ", tabvarsname(newvar->var));160 else161 {162 fprintf(fortran_out,"Agrif_%s", tabvarsname(newvar->var));163 fprintf(fortran_out," \n & ");164 }165 fprintf(fortran_out,"%s",vargridcurgridtabvarswithoutAgrif_Gr(newvar->var));166 }154 // if ( inagrifcallargument == 1 && agrif_parentcall == 0 ) 155 // fprintf(fortran_out,"%d",newvar->var->v_indicetabvars); 156 // else 157 // { 158 // if ( retour77 == 0 ) 159 // fprintf(fortran_out,"Agrif_%s & \n ", tabvarsname(newvar->var)); 160 // else 161 // { 162 // fprintf(fortran_out,"Agrif_%s", tabvarsname(newvar->var)); 163 // fprintf(fortran_out," \n & "); 164 // } 165 // fprintf(fortran_out,"%s",vargridcurgridtabvarswithoutAgrif_Gr(newvar->var)); 166 // } 167 167 } 168 168 else -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/UtilFortran.c
r5656 r8139 423 423 doloopout = 1; 424 424 else parcours = parcours->suiv; 425 425 426 } 426 427 if ( doloopout == 0 ) out = 0; … … 591 592 out = 0; 592 593 594 return (out == 0); 595 593 596 if ( !strcasecmp(ident,"size") || 594 597 !strcasecmp(ident,"if") || … … 596 599 !strcasecmp(ident,"min") ) 597 600 { 601 printf("ident = %s\n",ident); 598 602 newvar = List_SubroutineDeclaration_Var; 599 603 while ( newvar && out == 0 ) … … 611 615 while ( newvar && out == 0 ) 612 616 { 617 printf("llll = %s\n",newvar->var->v_nomvar); 613 618 if ( !strcasecmp(ident, newvar->var->v_nomvar) ) out = 1; 614 619 newvar = newvar -> suiv ; … … 617 622 } 618 623 return (out == 0); 624 } 625 626 /* removenewline */ 627 /* REMOVE UNWANTED character */ 628 /* from a NAME{NEWLINE77]NAME flex match */ 629 630 void removenewline(char *nom) 631 { 632 char temp_nom[LONG_VNAME]; 633 int size_nom,i,j; 634 635 size_nom=strlen(nom); 636 637 j=0; 638 for (i=0;i<size_nom;) 639 { 640 if (nom[i]=='\n') 641 { 642 /* REMOVE RETURN - blank and column 6 character */ 643 i=i+7; 644 } 645 else if (nom[i]==' ' || nom[i]=='\t') 646 { 647 i=i+1; 648 } 649 else 650 { 651 temp_nom[j]=nom[i]; 652 j++; 653 i++; 654 } 655 } 656 temp_nom[j]='\0'; 657 658 strcpy(nom,temp_nom); 619 659 } 620 660 -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/UtilListe.c
r5656 r8139 52 52 strcpy(var->v_subroutinename , ""); 53 53 strcpy(var->v_precision , ""); 54 strcpy(var->v_initialvalue , ""); 54 var->v_initialvalue = (listname *)NULL; 55 var->v_initialvalue_array = (listname *)NULL; 56 var->v_do_loop = NULL; 55 57 strcpy(var->v_IntentSpec , ""); 56 58 strcpy(var->v_readedlistdimension, ""); … … 103 105 newvar->suiv = l; 104 106 } 107 newvar=glob; 108 while (newvar) 109 { 110 newvar=newvar->suiv; 111 } 105 112 } 106 113 return glob; … … 117 124 void CreateAndFillin_Curvar(const char *type, variable *curvar) 118 125 { 126 listname *newvar; 127 119 128 if ( !strcasecmp(type, "character") && strcasecmp(CharacterSize, "") ) 120 129 { … … 150 159 if (InitialValueGiven == 1 ) 151 160 { 152 strcpy(curvar->v_initialvalue,InitValue); 161 curvar->v_initialvalue=Insertname(curvar->v_initialvalue,InitValue,0); 162 163 // strcpy(curvar->v_initialvalue,InitValue); 164 153 165 Save_Length(InitValue,14); 154 166 } … … 481 493 v = newvar->var; 482 494 strcpy(v->v_typevar,nom); 495 483 496 v->v_catvar = get_cat_var(v); 497 484 498 newvar = newvar->suiv; 485 499 } … … 502 516 { 503 517 v=newvar->var; 504 printf("nom = %s, allocatable = %d dim = %s\n",v->v_nomvar,v->v_allocatable,(v->v_dimension)->dim.last);505 518 newvar=newvar->suiv; 506 519 } … … 564 577 } 565 578 579 int testandextractfromlist(listname **lin, char*nom) 580 { 581 listname *newvar; 582 int val_1, val_2; 583 int return_stmt; 584 585 printname(*lin); 586 if (!(*lin)) 587 { 588 return 0; 589 } 590 else 591 { 592 sscanf(nom,"%d",&val_1); 593 sscanf((*lin)->n_name,"%d",&val_2); 594 if (val_1==val_2) 595 { 596 /* newvar = *lin; 597 *lin = (*lin)->suiv; 598 free(newvar);*/ 599 /* continue to remove while the label stays the same */ 600 /* return_stmt=testandextractfromlist(lin,nom);*/ 601 return 1; 602 } 603 else 604 { 605 return 0; 606 } 607 } 608 } 609 610 void removefromlist(listname **lin, char*nom) 611 { 612 listname *newvar,*prev; 613 int val_1, val_2; 614 int return_stmt; 615 int out; 616 617 printname(*lin); 618 if (*lin) 619 { 620 sscanf(nom,"%d",&val_1); 621 prev=(listname *) calloc(1,sizeof(listname)); 622 prev->suiv=*lin; 623 *lin=prev; 624 newvar=(*lin)->suiv; 625 out = 0; 626 while (newvar && out == 0) 627 { 628 sscanf((newvar)->n_name,"%d",&val_2); 629 if (val_1==val_2) 630 { 631 prev->suiv=newvar->suiv; 632 free(newvar); 633 } 634 if (prev->suiv) 635 { 636 prev=prev->suiv; 637 newvar=prev->suiv; 638 } 639 else 640 { 641 out = 1; 642 } 643 } 644 prev=*lin; 645 *lin=(*lin)->suiv; 646 free(prev); 647 } 648 } 649 566 650 listname *concat_listname(listname *l1, listname *l2) 567 651 { … … 606 690 while (newvar) 607 691 { 608 printf("nom = %s \n",newvar->n_name);609 692 newvar=newvar->suiv; 610 693 } … … 694 777 int get_cat_var(variable *var) 695 778 { 779 696 780 if (!strcasecmp(var->v_typevar, "CHARACTER")) 697 781 return 1; … … 705 789 return 0; 706 790 } 791 792 void Insertdoloop(variable *var,char *do_var,char *do_begin, char *do_end, char *do_step) 793 { 794 listdoloop *new_do_loop; 795 listdoloop *tmploop; 796 new_do_loop = (listdoloop *) calloc(1,sizeof(listdoloop)); 797 798 new_do_loop->cur_do_loop = (do_loop *) calloc(1,sizeof(do_loop)); 799 800 strcpy(new_do_loop->cur_do_loop->do_variable,do_var); 801 strcpy(new_do_loop->cur_do_loop->do_begin,do_begin); 802 strcpy(new_do_loop->cur_do_loop->do_end,do_end); 803 strcpy(new_do_loop->cur_do_loop->do_step,do_step); 804 new_do_loop->suiv = NULL; 805 806 if (!var->v_do_loop) 807 { 808 var->v_do_loop = new_do_loop; 809 } 810 else 811 { 812 new_do_loop->suiv = var->v_do_loop; 813 var->v_do_loop = new_do_loop; 814 815 // tmploop = var->v_do_loop; 816 // while (tmploop->suiv) 817 // { 818 // tmploop=tmploop->suiv; 819 // } 820 // tmploop->suiv = new_do_loop ; 821 // } 822 } 823 } -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/WorkWithlistdatavariable.c
r5656 r8139 70 70 strcpy(ligne,values); 71 71 72 strcpy(newvar->var->v_initialvalue,ligne); 72 newvar->var->v_initialvalue=Insertname(newvar->var->v_initialvalue,ligne,0); 73 74 // strcpy(newvar->var->v_initialvalue,ligne); 73 75 Save_Length(ligne,14); 74 76 newvar->suiv = NULL; … … 85 87 } 86 88 87 void Add_Data_Var_Names_01 (listvar **curlist,list name*l1,listname *l2)89 void Add_Data_Var_Names_01 (listvar **curlist,listvar *l1,listname *l2) 88 90 { 89 91 listvar *newvar; 90 92 listvar *tmpvar; 91 listname *tmpvar1; 92 listname *tmpvar2; 93 listvar *tmpvar1; 94 listname *tmpvar2; 95 char tempname[LONG_M]; 93 96 variable *found_var = NULL; 97 int out; 98 size_t i = 0; 99 char chartmp[2]; 94 100 95 101 tmpvar1 = l1; … … 98 104 while (tmpvar1) 99 105 { 100 newvar = (listvar *) calloc(1,sizeof(listvar)); 101 newvar->var = (variable *) calloc(1,sizeof(variable)); 102 103 Init_Variable(newvar->var); 104 105 if ( inmoduledeclare == 1 ) newvar->var->v_module=1; 106 107 found_var = get_variable_in_list_from_name(List_Common_Var, tmpvar1->n_name); 108 if ( ! found_var ) found_var = get_variable_in_list_from_name(List_Global_Var,tmpvar1->n_name); 109 if ( ! found_var ) found_var = get_variable_in_list_from_name(List_SubroutineDeclaration_Var,tmpvar1->n_name); 110 111 if ( found_var && found_var->v_nbdim > 0 ) 106 // printf("TMPVAR 1 nomvar = %s, initialvaluearra = %s\n",tmpvar1->var->v_nomvar,tmpvar1->var->v_initialvalue_array->n_name); 107 strcpy(tempname,tmpvar1->var->v_nomvar); 108 // while ( i < strlen(tmpvar1->var->v_nomvar) ) 109 // { 110 // if (tmpvar1->var->v_nomvar[i]=='(') break; 111 // sprintf(chartmp,"%c",tmpvar1->var->v_nomvar[i]); 112 // strcat(tempname,chartmp); 113 // i++; 114 // } 115 found_var = get_variable_in_list_from_name(List_Common_Var, tempname); 116 if ( ! found_var ) found_var = get_variable_in_list_from_name(List_Global_Var,tempname); 117 if ( ! found_var ) found_var = get_variable_in_list_from_name(List_SubroutineDeclaration_Var,tempname); 118 119 if ( found_var && found_var->v_nbdim > 1000 ) 112 120 { 113 121 printf("##############################################################################################################\n"); … … 118 126 } 119 127 120 strcpy(newvar->var->v_nomvar,tmpvar1->n_name); 128 if (tmpvar1->var->v_initialvalue_array) 129 { 130 if ((firstpass == 1) && strcmp(tmpvar1->var->v_initialvalue_array->n_name,"")) 131 { 132 DecomposeTheName(tmpvar1->var->v_initialvalue_array->n_name); 133 } 134 } 135 136 // Search for existing newvar 137 138 tmpvar = *curlist; 139 out = 0; 140 while (tmpvar) 141 { 142 if (!strcasecmp(tempname,tmpvar->var->v_nomvar) && !strcasecmp(subroutinename,tmpvar->var->v_subroutinename) && !strcasecmp(curmodulename,tmpvar->var->v_modulename) && !strcasecmp(cur_filename,tmpvar->var->v_commoninfile) ) 143 { 144 out = 1; 145 break; 146 } 147 tmpvar=tmpvar->suiv; 148 } 149 if (out == 0) 150 { 151 newvar = (listvar *) calloc(1,sizeof(listvar)); 152 newvar->var = (variable *) calloc(1,sizeof(variable)); 153 154 Init_Variable(newvar->var); 155 156 if ( inmoduledeclare == 1 ) newvar->var->v_module=1; 157 158 strcpy(newvar->var->v_nomvar,tempname); 121 159 strcpy(newvar->var->v_subroutinename,subroutinename); 122 160 strcpy(newvar->var->v_modulename,curmodulename); 123 161 strcpy(newvar->var->v_commoninfile,cur_filename); 124 strcpy(newvar->var->v_initialvalue,tmpvar2->n_name); 162 /*printf("TMPVAR 2 nomvar = %s\n",tmpvar2->n_name);*/ 163 newvar->var->v_initialvalue=Insertname(newvar->var->v_initialvalue,tmpvar2->n_name,0); 164 165 if (tmpvar1->var->v_initialvalue_array) 166 { 167 if (strcmp(tmpvar1->var->v_initialvalue_array->n_name,"")) 168 { 169 newvar->var->v_initialvalue_array=Insertname(newvar->var->v_initialvalue_array,tmpvar1->var->v_initialvalue_array->n_name,0); 170 } 171 } 172 newvar->var->v_do_loop=tmpvar1->var->v_do_loop; 173 // strcpy(newvar->var->v_initialvalue,tmpvar2->n_name); 174 // strcpy(newvar->var->v_initialvalue_array,tmpvar1->var->v_initialvalue_array); 175 176 newvar->var->v_dimension=tmpvar1->var->v_dimension; 125 177 126 178 Save_Length(tmpvar2->n_name,14); … … 139 191 *curlist = newvar ; 140 192 } 193 tmpvar=newvar; 194 } 195 else // out = 1 196 { 197 tmpvar->var->v_initialvalue=Insertname(tmpvar->var->v_initialvalue,tmpvar2->n_name,0); 198 if (strcmp(tmpvar1->var->v_initialvalue_array->n_name,"")) 199 { 200 tmpvar->var->v_initialvalue_array=Insertname(tmpvar->var->v_initialvalue_array,tmpvar1->var->v_initialvalue_array->n_name,0); 201 } 202 tmpvar->var->v_do_loop=tmpvar1->var->v_do_loop; 203 } 141 204 142 205 tmpvar1 = tmpvar1->suiv; 143 tmpvar2 = tmpvar2->suiv; 206 tmpvar2 = tmpvar2->suiv; 144 207 } 208 209 while (tmpvar2) 210 { 211 strcpy(tempname,tmpvar2->n_name); 212 tmpvar->var->v_initialvalue = Insertname(tmpvar->var->v_initialvalue,tempname,1); 213 tmpvar2 = tmpvar2->suiv; 214 } 215 145 216 } -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/WorkWithlistvarindoloop.c
r5656 r8139 119 119 if ( !List_UsedInSubroutine_Var ) 120 120 { 121 printf("LISTE VIDE\n"); 121 122 newvar=(listvar *)calloc(1,sizeof(listvar)); 122 123 newvar->var=(variable *)calloc(1,sizeof(variable)); … … 161 162 } 162 163 } 164 163 165 if ( out == 2 || out == 0 ) 164 166 { … … 175 177 176 178 /* we should find this new variable to know the tabvars indice */ 179 177 180 if ( variableisglobal(newvar, List_Global_Var) == 1 ) 178 181 { … … 271 274 void Merge_Variables(variable *var1, variable *var2) 272 275 { 276 273 277 if ( !strcasecmp(var1->v_typevar,"") ) 274 278 strcpy(var1->v_typevar,var2->v_typevar); 275 else 276 { 277 strcpy(var2->v_typevar,var1->v_typevar); 278 } 279 else strcpy(var2->v_typevar,var1->v_typevar); 279 280 280 281 if ( !strcasecmp(var1->v_oldname,"") ) … … 310 311 else strcpy(var2->v_precision,var1->v_precision); 311 312 312 if ( !strcasecmp(var1->v_initialvalue,"") ) 313 strcpy(var1->v_initialvalue,var2->v_initialvalue); 314 else strcpy(var2->v_initialvalue,var1->v_initialvalue); 315 313 // if ( !strcasecmp(var1->v_initialvalue,"") ) 314 // strcpy(var1->v_initialvalue,var2->v_initialvalue); 315 // else strcpy(var2->v_initialvalue,var1->v_initialvalue); 316 317 if ( var1->v_initialvalue ) 318 var2->v_initialvalue = var1->v_initialvalue; 319 else var1->v_initialvalue = var2->v_initialvalue; 320 321 if ( var1->v_initialvalue_array ) 322 var2->v_initialvalue_array = var1->v_initialvalue_array; 323 else var1->v_initialvalue_array = var2->v_initialvalue_array; 324 325 if ( var1->v_do_loop ) 326 var2->v_do_loop = var1->v_do_loop; 327 else var1->v_do_loop = var2->v_do_loop; 328 329 // if ( !strcasecmp(var1->v_initialvalue_array,"") ) 330 // strcpy(var1->v_initialvalue_array,var2->v_initialvalue_array); 331 // else strcpy(var2->v_initialvalue_array,var1->v_initialvalue_array); 332 316 333 if ( !strcasecmp(var1->v_IntentSpec,"") ) 317 334 strcpy(var1->v_IntentSpec,var2->v_IntentSpec); … … 490 507 /* */ 491 508 newvar->suiv = NULL; 509 492 510 Merge_Variables(parcours->var,newvar->var); 493 511 strcpy(newvar->var->v_subroutinename,parcours->var->v_subroutinename); … … 1155 1173 newvar->var->v_VariableIsParameter, 1156 1174 newvar->var->v_typevar, 1157 newvar->var->v_initialvalue );1175 newvar->var->v_initialvalue->n_name ); 1158 1176 newvar = newvar->suiv; 1159 1177 } … … 1173 1191 strcpy(parcours->var->v_typevar,"REAL"); 1174 1192 else strcpy(parcours->var->v_typevar,"INTEGER"); 1193 parcours->var->v_catvar = get_cat_var(parcours->var); 1175 1194 } 1176 1195 parcours = parcours -> suiv ; … … 1185 1204 strcpy(parcours->var->v_typevar,"REAL"); 1186 1205 else strcpy(parcours->var->v_typevar,"INTEGER"); 1206 parcours->var->v_catvar = get_cat_var(parcours->var); 1187 1207 } 1188 1208 parcours = parcours -> suiv ; … … 1197 1217 strcpy(parcours->var->v_typevar,"REAL"); 1198 1218 else strcpy(parcours->var->v_typevar,"INTEGER"); 1219 parcours->var->v_catvar = get_cat_var(parcours->var); 1199 1220 } 1200 1221 parcours = parcours -> suiv ; … … 1209 1230 strcpy(parcours->var->v_typevar,"REAL"); 1210 1231 else strcpy(parcours->var->v_typevar,"INTEGER"); 1232 parcours->var->v_catvar = get_cat_var(parcours->var); 1233 } 1234 parcours = parcours -> suiv ; 1235 } 1236 1237 /* */ 1238 parcours = List_Parameter_Var; 1239 while ( parcours ) 1240 { 1241 if ( !strcasecmp(parcours->var->v_typevar,"") ) 1242 { 1243 if ( IsVariableReal(parcours->var->v_nomvar) == 1 ) 1244 strcpy(parcours->var->v_typevar,"REAL"); 1245 else strcpy(parcours->var->v_typevar,"INTEGER"); 1246 parcours->var->v_catvar = get_cat_var(parcours->var); 1247 } 1248 parcours = parcours -> suiv ; 1249 } 1250 1251 /* */ 1252 parcours = List_GlobalParameter_Var; 1253 while ( parcours ) 1254 { 1255 if ( !strcasecmp(parcours->var->v_typevar,"") ) 1256 { 1257 if ( IsVariableReal(parcours->var->v_nomvar) == 1 ) 1258 strcpy(parcours->var->v_typevar,"REAL"); 1259 else strcpy(parcours->var->v_typevar,"INTEGER"); 1260 parcours->var->v_catvar = get_cat_var(parcours->var); 1211 1261 } 1212 1262 parcours = parcours -> suiv ; … … 1509 1559 void update_indicemaxtabvars(variable *var,listindice **Listofindices) 1510 1560 { 1511 1512 1513 1561 if ( Listofindices[var->v_catvar] ) 1514 1562 { … … 1547 1595 ) 1548 1596 { 1597 /* The type may has not been given if the variable was only declared with dimension */ 1598 1599 if ( !strcasecmp(parcours->var->v_typevar,"") ) 1600 { 1601 if ( IsVariableReal(parcours->var->v_nomvar) == 1 ) 1602 strcpy(parcours->var->v_typevar,"REAL"); 1603 else strcpy(parcours->var->v_typevar,"INTEGER"); 1604 parcours->var->v_catvar = get_cat_var(parcours->var); 1605 } 1606 1549 1607 indicemaxtabvars[parcours->var->v_catvar] = indicemaxtabvars[parcours->var->v_catvar] + 1 ; 1550 1608 parcours->var->v_indicetabvars = indicemaxtabvars[parcours->var->v_catvar]; … … 1626 1684 parcours->var->v_notgrid == 0 && 1627 1685 ( ( parcours->var->v_nbdim != 0 || !strcasecmp(parcours->var->v_typevar,"type") ) 1628 || strcasecmp(parcours->var->v_initialvalue,""))1686 || parcours->var->v_initialvalue ) 1629 1687 ) 1630 1688 { … … 1658 1716 !strcasecmp(parcours->var->v_commoninfile,cur_filename) && 1659 1717 ( ( parcours->var->v_nbdim != 0 || !strcasecmp(parcours->var->v_typevar,"type") ) 1660 || strcasecmp(parcours->var->v_initialvalue,""))1718 || parcours->var->v_initialvalue ) 1661 1719 ) 1662 1720 { … … 1845 1903 printf("dimensiongiven - %d \n", parcours->var->v_dimensiongiven); 1846 1904 printf("dimsempty - %d \n", parcours->var->v_dimsempty); 1847 printf("initialvalue - %s \n", parcours->var->v_initialvalue );1905 printf("initialvalue - %s \n", parcours->var->v_initialvalue->n_name); 1848 1906 printf("readedlistdim - %s \n", parcours->var->v_readedlistdimension); 1849 1907 printf("-------------------------------------\n"); -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/WriteInFile.c
r5656 r8139 141 141 fseek(filout, position, SEEK_SET); 142 142 tofich_blanc(filout, sizetoremove); 143 fseek(filout, position, SEEK_SET); 143 144 144 } 145 145 -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/Writedeclarations.c
r5656 r8139 66 66 /* We should give the precision of the variable if it has been given */ 67 67 precision_given = 0; 68 68 69 if ( strcasecmp(v->v_precision,"") ) 69 70 { … … 128 129 { 129 130 strcat(line," = "); 130 strcat(line, v->v_initialvalue );131 strcat(line, v->v_initialvalue->n_name); 131 132 } 132 133 Save_Length(line, 45); … … 173 174 { 174 175 strcat(ligne," = "); 175 strcat(ligne,v->v_initialvalue );176 strcat(ligne,v->v_initialvalue->n_name); 176 177 } 177 178 Save_Length(ligne,45); … … 206 207 WriteTableDeclaration(v, ligne, value); 207 208 208 if ( v->v_VariableIsParameter != 1 && strcasecmp(v->v_initialvalue,""))209 if ( v->v_VariableIsParameter != 1 && v->v_initialvalue) 209 210 { 210 211 strcat(ligne," = "); 211 strcat(ligne,v->v_initialvalue );212 strcat(ligne,v->v_initialvalue->n_name); 212 213 } 213 214 tofich(filecommon, ligne, 1); … … 241 242 while ( parcours ) 242 243 { 244 if (!strcmp(parcours->var->v_typevar, "")) 245 { 246 /* Default type*/ 247 if ( IsVariableReal(parcours->var->v_nomvar) == 1 ) 248 strcpy(parcours->var->v_typevar,"REAL"); 249 else strcpy(parcours->var->v_typevar,"INTEGER"); 250 } 243 251 if ( !strcasecmp(parcours->var->v_subroutinename, subroutinename) && 244 252 strcasecmp(parcours->var->v_typevar, "") ) … … 261 269 if ( !strcasecmp(v->v_subroutinename, subroutinename) && 262 270 (v->v_save == 0) && 263 (v->v_pointerdeclare == 0) &&264 271 (v->v_VariableIsParameter == 0) && 265 272 (v->v_common == 0) ) … … 285 292 listvar *parcours; 286 293 variable *v; 287 char ligne[LONG_M]; 288 294 char *ligne; 295 size_t line_length; 296 int res; 297 int global_check; 298 299 ligne = (char*) calloc(LONG_M, sizeof(char)); 300 line_length = LONG_M; 301 302 global_check = 0; 303 304 289 305 fprintf(fortran_out,"#include \"Param_BeforeCall_%s.h\"\n",subroutinename); 290 306 … … 303 319 position++; 304 320 WriteVarDeclaration(v, fortran_out, 0, 1); 305 neededparameter= writedeclarationintoamr(List_Parameter_Var, paramtoamr,306 v, v->v_subroutinename, neededparameter, subroutinename);321 res = writedeclarationintoamr(List_Parameter_Var, paramtoamr, 322 v, v->v_subroutinename, &neededparameter, subroutinename, global_check); 307 323 parcours = List_SubroutineArgument_Var; 308 324 } 309 325 else parcours = parcours -> suiv; 310 326 } 311 Save_Length(ligne,45);312 327 313 328 // Write interface for 'Sub_Loop_machin' in 'Param_BeforeCall_machin.h' when outside a module … … 317 332 if (isrecursive) sprintf(ligne," recursive subroutine Sub_Loop_%s(", subroutinename); 318 333 else sprintf(ligne," subroutine Sub_Loop_%s(", subroutinename); 319 WriteVariablelist_subloop( ligne);320 WriteVariablelist_subloop_Def( ligne);334 WriteVariablelist_subloop(&ligne,&line_length); 335 WriteVariablelist_subloop_Def(&ligne,&line_length); 321 336 strcat(ligne,")"); 322 Save_Length(ligne,45); 337 323 338 tofich(paramtoamr,ligne,1); 324 339 … … 353 368 354 369 parcours = List_SubroutineArgument_Var; 370 355 371 while ( parcours ) 356 372 { … … 399 415 /* */ 400 416 /******************************************************************************/ 401 listnom *writedeclarationintoamr (listvar * deb_common, FILE *fileout,417 int writedeclarationintoamr (listvar * deb_common, FILE *fileout, 402 418 variable *var , const char *commonname, 403 listnom * neededparameter, const char *name_common)419 listnom **neededparameter, const char *name_common, int global_check) 404 420 { 405 421 listvar *newvar; … … 410 426 int writeit; 411 427 listnom *parcours; 428 listname *parcours_name_array; 429 int res; 430 431 res = 0; 412 432 413 433 /* we should list the needed parameter */ 434 414 435 if ( !strcasecmp(name_common,commonname) ) 415 neededparameter = DecomposeTheNameinlistnom(var->v_readedlistdimension,neededparameter); 436 { 437 *neededparameter = DecomposeTheNameinlistnom(var->v_readedlistdimension,*neededparameter); 438 parcours_name_array = var->v_initialvalue_array; 439 while (parcours_name_array) 440 { 441 *neededparameter = DecomposeTheNameinlistnom(parcours_name_array->n_name,*neededparameter); 442 parcours_name_array=parcours_name_array->suiv; 443 } 444 } 445 416 446 /* */ 417 parcours = neededparameter; 447 parcours = *neededparameter; 448 418 449 while (parcours) 419 450 { … … 423 454 while ( newvar && out == 0 ) 424 455 { 425 426 if ( !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_subroutinename,newvar->var->v_subroutinename)) 456 if ( (global_check == 0) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_subroutinename,newvar->var->v_subroutinename)) 427 457 { 428 458 out=1; 429 459 /* add the name to the list of needed parameter */ 430 neededparameter = DecomposeTheNameinlistnom( 431 newvar->var->v_initialvalue, 432 neededparameter ); 460 *neededparameter = DecomposeTheNameinlistnom( 461 newvar->var->v_initialvalue->n_name, 462 *neededparameter ); 463 } 464 else if ( (global_check == 1) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_modulename,newvar->var->v_modulename)) 465 { 466 out=1; 467 /* add the name to the list of needed parameter */ 468 *neededparameter = DecomposeTheNameinlistnom( 469 newvar->var->v_initialvalue->n_name, 470 *neededparameter ); 433 471 } 434 472 else newvar=newvar->suiv; … … 437 475 } 438 476 /* */ 439 parcours = neededparameter; 477 parcours = *neededparameter; 478 440 479 while (parcours) 441 480 { … … 444 483 while ( newvar && out == 0 ) 445 484 { 446 if ( !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_subroutinename,newvar->var->v_subroutinename))485 if ( (global_check == 0) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_subroutinename,newvar->var->v_subroutinename)) 447 486 { 448 487 out=1; 449 488 /* add the name to the list of needed parameter */ 450 neededparameter = DecomposeTheNameinlistnom( 451 newvar->var->v_initialvalue, 452 neededparameter ); 489 *neededparameter = DecomposeTheNameinlistnom( 490 newvar->var->v_initialvalue->n_name, 491 *neededparameter ); 492 } 493 else if ( (global_check == 1) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_modulename,newvar->var->v_modulename)) 494 { 495 out=1; 496 /* add the name to the list of needed parameter */ 497 *neededparameter = DecomposeTheNameinlistnom( 498 newvar->var->v_initialvalue->n_name, 499 *neededparameter ); 453 500 } 454 501 else newvar=newvar->suiv; … … 456 503 parcours=parcours->suiv; 457 504 } 458 parcours = neededparameter;505 parcours = *neededparameter; 459 506 while (parcours) 460 507 { … … 463 510 while ( newvar && writeit == 0 ) 464 511 { 465 if ( !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) &&512 if ( (global_check == 0) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && 466 513 !strcasecmp(var->v_subroutinename,newvar->var->v_subroutinename) && parcours->o_val == 0 ) 514 { 515 writeit=1; 516 parcours->o_val = 1; 517 } 518 else if ( (global_check == 1) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && 519 !strcasecmp(var->v_modulename,newvar->var->v_modulename) && parcours->o_val == 0 ) 467 520 { 468 521 writeit=1; … … 490 543 v->v_allocatable = 1; 491 544 } 545 res = 1; 492 546 } 493 547 else … … 503 557 } 504 558 Save_Length(ligne,45); 505 return neededparameter;559 return res; 506 560 } 507 561 … … 532 586 if ( newvar->var->v_nbdim == 0 && 533 587 !strcasecmp(newvar->var->v_subroutinename,subroutinename) && 534 (newvar->var->v_pointerdeclare == 0 || !strcasecmp(newvar->var->v_typevar,"type")) )588 (newvar->var->v_pointerdeclare >= 0 || !strcasecmp(newvar->var->v_typevar,"type")) ) 535 589 { 536 590 v = newvar->var; 537 538 591 WriteBeginDeclaration(v,ligne,1); 539 592 WriteScalarDeclaration(v,ligne); … … 570 623 // printf("newvar = %s %d %s\n",newvar->var->v_nomvar,newvar->var->v_pointerdeclare,newvar->var->v_typevar); 571 624 if ( (v->v_nbdim != 0) && !strcasecmp(v->v_subroutinename, subroutinename) && 572 (v->v_pointerdeclare == 0 || !strcasecmp(v->v_typevar,"type")) )625 (v->v_pointerdeclare >= 0 || !strcasecmp(v->v_typevar,"type")) ) 573 626 { 574 627 changeval = 0; … … 596 649 newvar = newvar->suiv; 597 650 } 651 598 652 Save_Length(ligne,45); 599 653 } … … 619 673 if (firstpass == 0 && out == 0 && VariableIsParameter == 0 && SaveDeclare == 0) 620 674 { 675 676 /* The type may has not been given if the variable was only declared with dimension */ 677 678 if ( !strcasecmp(v->v_typevar,"") ) 679 { 680 if ( IsVariableReal(v->v_nomvar) == 1 ) 681 strcpy(v->v_typevar,"REAL"); 682 else strcpy(v->v_typevar,"INTEGER"); 683 v->v_catvar = get_cat_var(v); 684 } 685 621 686 WriteVarDeclaration(v, fortran_out, 1, 1); 622 687 } … … 639 704 char ligne[LONG_M]; 640 705 char initialvalue[LONG_M]; 641 706 listname *parcours_name; 707 642 708 if (insubroutinedeclare == 1) 643 709 { … … 651 717 if (out) break; 652 718 653 if (strncasecmp(parcours->var->v_initialvalue,"(/",2)) 719 strcpy(initialvalue,""); 720 parcours_name = parcours->var->v_initialvalue; 721 while (parcours_name) 654 722 { 655 strcpy(initialvalue,parcours->var->v_initialvalue); 723 if (strncasecmp(parcours_name->n_name,"(/",2)) 724 { 725 strcat(initialvalue,parcours_name->n_name); 726 if (parcours_name->suiv) 727 { 728 strcat(initialvalue,","); 729 } 656 730 } 657 731 else 658 732 { 659 strncpy(initialvalue,&parcours->var->v_initialvalue[2],strlen(parcours->var->v_initialvalue)-4); 660 strcpy(&initialvalue[strlen(parcours->var->v_initialvalue)-4],"\0"); 733 printf("A TRAITER DANS REWRITEDATA STATEMETN "); 734 exit(1); 735 strncpy(initialvalue,&parcours_name->n_name[2],strlen(parcours_name->n_name)-4); 736 strcpy(&initialvalue[strlen(parcours_name->n_name)-4],"\0"); 737 } 738 parcours_name=parcours_name->suiv; 661 739 } 662 740 sprintf(ligne,"data %s/%s/",parcours->var->v_nomvar,initialvalue); 663 741 tofich(filout,ligne,1); 664 742 665 743 parcours = parcours->suiv; 666 744 } -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/decl.h
r5656 r8139 56 56 } listdim; /* list of the dimensions of a variable */ 57 57 58 typedef struct listname 59 { 60 char n_name[LONG_M]; 61 struct listname* suiv; 62 } listname ; /* list of names */ 63 64 typedef struct do_loop 65 { 66 char do_variable[LONG_VNAME]; 67 char do_begin[LONG_VNAME]; 68 char do_end[LONG_VNAME]; 69 char do_step[LONG_VNAME]; 70 } do_loop ; 71 72 typedef struct listdoloop 73 { 74 do_loop *cur_do_loop; 75 struct listdoloop* suiv; 76 } listdoloop; 77 58 78 typedef struct variable 59 79 { … … 68 88 char v_commoninfile[LONG_FNAME]; 69 89 char v_subroutinename[LONG_VNAME]; 90 listdoloop *v_do_loop; 70 91 char v_precision[LONG_C]; 71 char v_initialvalue[LONG_M]; 92 listname *v_initialvalue; 93 listname *v_initialvalue_array; 72 94 char v_IntentSpec[LONG_M]; 73 95 char v_readedlistdimension[LONG_M]; … … 126 148 } listparameter ; /* list of names */ 127 149 128 typedef struct listname129 {130 char n_name[LONG_VNAME];131 struct listname* suiv;132 } listname ; /* list of names */133 134 150 typedef struct listcouple 135 151 { … … 198 214 listname *List_Pointer_Var; 199 215 listname *List_ImplicitNoneSubroutine; 216 217 listname *List_Do_labels; 218 /* A list that contains the do labels if any */ 200 219 201 220 listusemodule *List_NameOfModuleUsed; … … 321 340 char curmodulename[LONG_VNAME]; 322 341 char subroutinename[LONG_VNAME]; 342 char old_subroutinename[LONG_VNAME]; // For internal subprogramm 323 343 char cur_filename[LONG_FNAME]; // Name of the current parsed Fortran file 324 344 char config_file[LONG_FNAME]; // Name of conv configuration file (ex: amr.in) … … 331 351 FILE *fortran_in; /* Input File */ 332 352 FILE *oldfortran_out; 353 FILE *old_oldfortran_out; // For internal subprogramm 333 354 FILE *subloop; 334 355 FILE *module_declar; … … 433 454 /******************************************************************************/ 434 455 extern void WriteBeginof_SubLoop(); 435 extern void WriteVariablelist_subloop(char * ligne);436 extern void WriteVariablelist_subloop_Call(char **ligne, size_t line_length);437 extern void WriteVariablelist_subloop_Def(char * ligne);456 extern void WriteVariablelist_subloop(char **ligne, size_t *line_length); 457 extern void WriteVariablelist_subloop_Call(char **ligne, size_t *line_length); 458 extern void WriteVariablelist_subloop_Def(char **ligne, size_t *line_length); 438 459 extern void WriteHeadofSubroutineLoop(); 439 460 extern void closeandcallsubloopandincludeit_0(int suborfun); … … 516 537 extern int varistyped_0(char *ident); 517 538 extern void dump_var(const variable* var); 539 extern void removenewline(char *nom); 518 540 /******************************************************************************/ 519 541 /*********** UtilListe.c ******************************************************/ … … 532 554 extern int IsinListe(listvar *lin,char *nom); 533 555 extern listname *Insertname(listname *lin,char *nom,int sens); 556 extern int testandextractfromlist(listname **lin, char*nom); 557 extern void removefromlist(listname **lin, char*nom); 534 558 extern listname *concat_listname(listname *l1, listname *l2); 535 559 extern void createstringfromlistname(char *ligne, listname *lin); … … 540 564 extern void addprecision_derivedfromkind(variable *curvar); 541 565 extern int get_cat_var(variable *var); 566 extern void Insertdoloop(variable *var,char *do_var, char *do_begin, char *do_end, char *do_step); 542 567 /******************************************************************************/ 543 568 /*********** UtilNotGridDep.c *************************************************/ … … 560 585 /******************************************************************************/ 561 586 extern void Add_Data_Var_1 (listvar **curlist,char *name,char *values); 562 extern void Add_Data_Var_Names_01 (listvar **curlist,list name*l1, listname *l2);587 extern void Add_Data_Var_Names_01 (listvar **curlist,listvar *l1, listname *l2); 563 588 /******************************************************************************/ 564 589 /*********** WorkWithlistmoduleinfile.c ***************************************/ … … 641 666 extern void WriteArgumentDeclaration_beforecall(); 642 667 extern void WriteArgumentDeclaration_Sort(FILE* tofile); 643 extern listnom *writedeclarationintoamr(listvar *deb_common, FILE *fileout, variable *var,644 const char *commonname, listnom * neededparameter, const char *name_common);668 extern int writedeclarationintoamr(listvar *deb_common, FILE *fileout, variable *var, 669 const char *commonname, listnom **neededparameter, const char *name_common, int global_check); 645 670 extern void writesub_loopdeclaration_scalar(listvar *deb_common, FILE *fileout); 646 671 extern void writesub_loopdeclaration_tab(listvar *deb_common, FILE *fileout); -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/fortran.c
r5656 r8139 45 45 46 46 /* Bison version. */ 47 #define YYBISON_VERSION "2.7" 47 48 48 49 /* Skeleton name. */ … … 79 80 80 81 extern int line_num_input; 81 extern char *fortran_text;82 82 83 83 char c_selectorname[LONG_M]; … … 87 87 int c_selectorgiven=0; 88 88 listvar *curlistvar; 89 int in_select_case_stmt=0; 89 90 typedim c_selectordim; 90 91 listcouple *coupletmp; 91 92 int removeline=0; 93 int token_since_endofstmt = 0; 94 int increment_nbtokens = 1; 95 int in_complex_literal = 0; 96 int close_or_connect = 0; 97 int in_io_control_spec = 0; 98 long int my_position; 99 long int my_position_before; 100 int suborfun = 0; 101 int indeclaration = 0; 102 int endoffile = 0; 103 int in_inquire = 0; 104 int in_bind = 0; 105 int in_char_selector = 0; 106 int in_kind_selector =0; 107 int char_length_toreset = 0; 108 109 typedim my_dim; 110 92 111 listvar *test; 112 113 char linebuf1[1024]; 114 char linebuf2[1024]; 93 115 94 116 int fortran_error(const char *s) 95 117 { 96 printf("%s line %d, file %s motclef = |%s|\n", s, line_num_input, cur_filename, fortran_text); 118 if (endoffile == 1) 119 { 120 endoffile = 0; 121 return 0; 122 } 123 printf("%s line %d, file %s culprit = |%s|\n", s, line_num_input, cur_filename, strcat(linebuf1, linebuf2)); 97 124 exit(1); 98 125 } … … 100 127 101 128 /* Line 371 of yacc.c */ 102 #line 1 04"fortran.tab.c"129 #line 130 "fortran.tab.c" 103 130 104 131 # ifndef YY_NULL … … 156 183 TOK_PROGRAM = 279, 157 184 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 185 TOK_LABEL_FORMAT = 281, 186 TOK_LABEL_CONTINUE = 282, 187 TOK_LABEL_END_DO = 283, 188 TOK_MAX = 284, 189 TOK_TANH = 285, 190 TOK_COMMENT = 286, 191 TOK_WHERE = 287, 192 TOK_ELSEWHEREPAR = 288, 193 TOK_ELSEWHERE = 289, 194 TOK_ENDWHERE = 290, 195 TOK_MAXVAL = 291, 196 TOK_TRIM = 292, 197 TOK_NULL_PTR = 293, 198 TOK_SUM = 294, 199 TOK_SQRT = 295, 200 TOK_BIND = 296, 201 TOK_CASE = 297, 202 TOK_SELECTCASE = 298, 203 TOK_FILE = 299, 204 TOK_REC = 300, 205 TOK_NAME_EQ = 301, 206 TOK_IOLENGTH = 302, 207 TOK_ACCESS = 303, 208 TOK_ACTION = 304, 209 TOK_FORM = 305, 210 TOK_RECL = 306, 211 TOK_STATUS = 307, 212 TOK_UNIT = 308, 213 TOK_OPENED = 309, 214 TOK_FMT = 310, 215 TOK_NML = 311, 216 TOK_END = 312, 217 TOK_EOR = 313, 218 TOK_EOF = 314, 219 TOK_ERR = 315, 220 TOK_POSITION = 316, 221 TOK_IOSTAT = 317, 222 TOK_IOMSG = 318, 223 TOK_EXIST = 319, 224 TOK_MIN = 320, 225 TOK_FLOAT = 321, 226 TOK_EXP = 322, 227 TOK_LEN = 323, 228 TOK_COS = 324, 229 TOK_COSH = 325, 230 TOK_ACOS = 326, 231 TOK_NINT = 327, 232 TOK_CYCLE = 328, 233 TOK_SIN = 329, 234 TOK_SINH = 330, 235 TOK_ASIN = 331, 236 TOK_EQUIVALENCE = 332, 237 TOK_BACKSPACE = 333, 238 TOK_LOG = 334, 239 TOK_TAN = 335, 240 TOK_ATAN = 336, 241 TOK_RECURSIVE = 337, 242 TOK_ABS = 338, 243 TOK_MOD = 339, 244 TOK_SIGN = 340, 245 TOK_MINLOC = 341, 246 TOK_MAXLOC = 342, 247 TOK_EXIT = 343, 248 TOK_KIND = 344, 249 TOK_MOLD = 345, 250 TOK_SOURCE = 346, 251 TOK_ERRMSG = 347, 252 TOK_MINVAL = 348, 253 TOK_PUBLIC = 349, 254 TOK_PRIVATE = 350, 255 TOK_ALLOCATABLE = 351, 256 TOK_RETURN = 352, 257 TOK_THEN = 353, 258 TOK_ELSEIF = 354, 259 TOK_ELSE = 355, 260 TOK_ENDIF = 356, 261 TOK_PRINT = 357, 262 TOK_PLAINGOTO = 358, 263 TOK_LOGICALIF = 359, 264 TOK_LOGICALIF_PAR = 360, 265 TOK_PLAINDO = 361, 266 TOK_CONTAINS = 362, 267 TOK_ENDDO = 363, 268 TOK_MODULE = 364, 269 TOK_ENDMODULE = 365, 270 TOK_WHILE = 366, 271 TOK_CONCURRENT = 367, 272 TOK_ALLOCATE = 368, 273 TOK_OPEN = 369, 274 TOK_CLOSE = 370, 275 TOK_INQUIRE = 371, 276 TOK_WRITE_PAR = 372, 277 TOK_WRITE = 373, 278 TOK_FLUSH = 374, 279 TOK_READ_PAR = 375, 280 TOK_READ = 376, 281 TOK_REWIND = 377, 282 TOK_DEALLOCATE = 378, 283 TOK_NULLIFY = 379, 284 TOK_DIMENSION = 380, 285 TOK_ENDSELECT = 381, 286 TOK_EXTERNAL = 382, 287 TOK_INTENT = 383, 288 TOK_INTRINSIC = 384, 289 TOK_NAMELIST = 385, 290 TOK_DEFAULT = 386, 291 TOK_OPTIONAL = 387, 292 TOK_POINTER = 388, 293 TOK_CONTINUE = 389, 294 TOK_SAVE = 390, 295 TOK_TARGET = 391, 296 TOK_IMPLICIT = 392, 297 TOK_NONE = 393, 298 TOK_CALL = 394, 299 TOK_STAT = 395, 300 TOK_POINT_TO = 396, 301 TOK_COMMON = 397, 302 TOK_GLOBAL = 398, 303 TOK_LEFTAB = 399, 304 TOK_RIGHTAB = 400, 305 TOK_PAUSE = 401, 306 TOK_PROCEDURE = 402, 307 TOK_STOP = 403, 308 TOK_FOURDOTS = 404, 309 TOK_HEXA = 405, 310 TOK_ASSIGNTYPE = 406, 311 TOK_OUT = 407, 312 TOK_INOUT = 408, 313 TOK_IN = 409, 314 TOK_USE = 410, 315 TOK_EQUALEQUAL = 411, 316 TOK_SLASHEQUAL = 412, 317 TOK_INFEQUAL = 413, 318 TOK_SUPEQUAL = 414, 319 TOK_TRUE = 415, 320 TOK_FALSE = 416, 321 TOK_LABEL = 417, 322 TOK_LABEL_DJVIEW = 418, 323 TOK_PLAINDO_LABEL_DJVIEW = 419, 324 TOK_PLAINDO_LABEL = 420, 325 TOK_TYPE = 421, 326 TOK_TYPEPAR = 422, 327 TOK_ENDTYPE = 423, 328 TOK_COMMACOMPLEX = 424, 329 TOK_REAL = 425, 330 TOK_INTEGER = 426, 331 TOK_LOGICAL = 427, 332 TOK_DOUBLEPRECISION = 428, 333 TOK_ENDSUBROUTINE = 429, 334 TOK_ENDFUNCTION = 430, 335 TOK_ENDPROGRAM = 431, 336 TOK_ENDUNIT = 432, 337 TOK_CHARACTER = 433, 338 TOK_CHAR_CONSTANT = 434, 339 TOK_CHAR_CUT = 435, 340 TOK_DATA = 436, 341 TOK_CHAR_MESSAGE = 437, 342 TOK_CSTREAL = 438, 343 TOK_COMPLEX = 439, 344 TOK_DOUBLECOMPLEX = 440, 345 TOK_NAME = 441, 346 TOK_CSTINT = 442 288 347 }; 289 348 #endif … … 294 353 { 295 354 /* Line 387 of yacc.c */ 296 #line 65"fortran.y"355 #line 91 "fortran.y" 297 356 298 357 char na[LONG_M]; … … 306 365 307 366 /* Line 387 of yacc.c */ 308 #line 3 10"fortran.tab.c"367 #line 368 "fortran.tab.c" 309 368 } YYSTYPE; 310 369 # define YYSTYPE_IS_TRIVIAL 1 … … 334 393 335 394 /* Line 390 of yacc.c */ 336 #line 3 38"fortran.tab.c"395 #line 396 "fortran.tab.c" 337 396 338 397 #ifdef short … … 554 613 #define YYFINAL 2 555 614 /* YYLAST -- Last index in YYTABLE. */ 556 #define YYLAST 6268615 #define YYLAST 4540 557 616 558 617 /* YYNTOKENS -- Number of terminals. */ 559 #define YYNTOKENS 169618 #define YYNTOKENS 204 560 619 /* YYNNTS -- Number of nonterminals. */ 561 #define YYNNTS 206620 #define YYNNTS 533 562 621 /* YYNRULES -- Number of rules. */ 563 #define YYNRULES 597622 #define YYNRULES 1087 564 623 /* YYNRULES -- Number of states. */ 565 #define YYNSTATES 1 051624 #define YYNSTATES 1760 566 625 567 626 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 568 627 #define YYUNDEFTOK 2 569 #define YYMAXUTOK 4 10628 #define YYMAXUTOK 442 570 629 571 630 #define YYTRANSLATE(YYX) \ … … 576 635 { 577 636 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 578 1 66, 2, 2, 2, 2, 2, 2, 2, 2, 2,637 198, 2, 2, 2, 2, 2, 2, 2, 2, 2, 579 638 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 580 2, 2, 2, 2, 2, 2, 2, 168, 2, 2,581 1 62, 163, 21, 19, 3, 20, 2, 167, 2, 2,639 2, 2, 2, 2, 2, 2, 2, 200, 2, 2, 640 194, 195, 21, 19, 3, 20, 2, 199, 2, 2, 582 641 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 583 1 64, 5, 165, 2, 2, 2, 2, 2, 2, 2,642 196, 5, 197, 2, 2, 2, 2, 2, 2, 2, 584 643 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 585 644 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,645 2, 202, 2, 203, 2, 201, 2, 2, 2, 2, 587 646 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 588 647 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, … … 616 675 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 617 676 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 618 161 677 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 678 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 679 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 680 191, 192, 193 619 681 }; 620 682 … … 624 686 static const yytype_uint16 yyprhs[] = 625 687 { 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 688 0, 0, 3, 4, 7, 9, 11, 13, 16, 18, 689 20, 24, 27, 29, 33, 37, 39, 43, 45, 46, 690 48, 50, 52, 54, 56, 58, 59, 61, 63, 65, 691 68, 71, 74, 76, 78, 81, 84, 87, 90, 93, 692 96, 99, 102, 105, 109, 113, 116, 119, 122, 125, 693 128, 131, 134, 137, 140, 143, 144, 146, 149, 152, 694 155, 157, 159, 161, 163, 164, 166, 169, 170, 176, 695 177, 184, 186, 187, 193, 198, 200, 203, 205, 209, 696 211, 213, 217, 223, 228, 232, 235, 238, 240, 242, 697 244, 246, 248, 250, 252, 254, 257, 260, 262, 265, 698 267, 269, 270, 272, 273, 275, 278, 279, 281, 282, 699 284, 286, 289, 291, 293, 295, 297, 299, 301, 303, 700 305, 307, 309, 311, 313, 315, 316, 318, 321, 322, 701 324, 326, 329, 331, 333, 334, 336, 340, 341, 343, 702 345, 348, 350, 352, 354, 356, 358, 360, 362, 364, 703 366, 368, 370, 372, 374, 376, 378, 380, 382, 384, 704 386, 388, 390, 392, 394, 396, 398, 400, 402, 405, 705 410, 413, 415, 417, 419, 421, 423, 425, 427, 429, 706 431, 433, 435, 437, 439, 441, 443, 445, 447, 449, 707 451, 453, 455, 457, 458, 460, 462, 464, 465, 467, 708 469, 471, 473, 475, 476, 479, 483, 487, 488, 492, 709 493, 497, 498, 502, 503, 507, 508, 512, 513, 517, 710 518, 520, 524, 530, 533, 535, 538, 540, 544, 546, 711 548, 550, 553, 555, 559, 565, 567, 569, 571, 573, 712 575, 577, 578, 581, 582, 584, 586, 596, 602, 608, 713 618, 622, 628, 631, 635, 639, 641, 643, 645, 647, 714 649, 651, 652, 657, 662, 670, 671, 674, 675, 678, 715 680, 684, 686, 689, 691, 695, 697, 700, 704, 705, 716 707, 709, 712, 714, 719, 720, 722, 726, 728, 732, 717 734, 736, 737, 743, 745, 747, 751, 756, 757, 761, 718 763, 765, 766, 768, 771, 774, 777, 779, 781, 786, 719 788, 792, 794, 798, 802, 807, 809, 813, 815, 819, 720 821, 823, 825, 829, 833, 835, 837, 839, 841, 845, 721 847, 849, 855, 861, 869, 871, 872, 873, 880, 881, 722 884, 885, 887, 890, 894, 896, 898, 899, 905, 907, 723 908, 914, 916, 918, 920, 922, 924, 926, 928, 932, 724 937, 939, 941, 942, 944, 947, 950, 953, 955, 957, 725 959, 960, 961, 966, 969, 974, 976, 978, 980, 982, 726 984, 986, 990, 994, 996, 998, 1000, 1002, 1006, 1008, 727 1011, 1013, 1017, 1019, 1023, 1024, 1027, 1028, 1031, 1033, 728 1037, 1040, 1042, 1044, 1046, 1047, 1052, 1053, 1056, 1058, 729 1062, 1064, 1066, 1071, 1073, 1077, 1079, 1081, 1083, 1084, 730 1090, 1091, 1093, 1096, 1100, 1105, 1107, 1111, 1113, 1117, 731 1119, 1121, 1131, 1143, 1145, 1149, 1151, 1153, 1155, 1157, 732 1160, 1163, 1166, 1168, 1170, 1172, 1174, 1176, 1177, 1180, 733 1182, 1184, 1186, 1188, 1190, 1192, 1194, 1196, 1198, 1199, 734 1200, 1207, 1208, 1214, 1215, 1223, 1224, 1225, 1233, 1235, 735 1239, 1243, 1244, 1245, 1252, 1253, 1255, 1256, 1258, 1260, 736 1264, 1266, 1268, 1270, 1272, 1273, 1278, 1279, 1285, 1287, 737 1291, 1296, 1298, 1302, 1304, 1308, 1316, 1317, 1324, 1326, 738 1330, 1332, 1336, 1338, 1342, 1343, 1350, 1352, 1356, 1358, 739 1360, 1362, 1363, 1364, 1372, 1373, 1375, 1377, 1381, 1382, 740 1384, 1385, 1386, 1392, 1394, 1398, 1400, 1401, 1407, 1409, 741 1411, 1413, 1415, 1417, 1419, 1421, 1423, 1425, 1427, 1429, 742 1431, 1433, 1435, 1437, 1442, 1447, 1451, 1454, 1455, 1459, 743 1461, 1462, 1468, 1470, 1472, 1474, 1476, 1481, 1482, 1484, 744 1488, 1491, 1493, 1496, 1500, 1505, 1508, 1510, 1514, 1519, 745 1522, 1524, 1527, 1531, 1536, 1539, 1540, 1542, 1543, 1544, 746 1553, 1554, 1557, 1559, 1563, 1566, 1570, 1572, 1574, 1576, 747 1580, 1583, 1585, 1587, 1588, 1592, 1594, 1598, 1601, 1602, 748 1605, 1607, 1609, 1610, 1611, 1620, 1622, 1626, 1627, 1630, 749 1632, 1636, 1639, 1643, 1645, 1647, 1649, 1651, 1655, 1657, 750 1659, 1663, 1665, 1669, 1671, 1674, 1678, 1680, 1683, 1685, 751 1687, 1689, 1691, 1693, 1695, 1699, 1701, 1703, 1707, 1709, 752 1711, 1713, 1715, 1717, 1719, 1721, 1723, 1725, 1727, 1729, 753 1731, 1733, 1736, 1738, 1742, 1744, 1748, 1750, 1754, 1756, 754 1758, 1760, 1762, 1764, 1766, 1768, 1770, 1772, 1773, 1775, 755 1777, 1779, 1781, 1783, 1785, 1787, 1789, 1794, 1800, 1806, 756 1814, 1819, 1820, 1824, 1826, 1830, 1832, 1836, 1839, 1843, 757 1845, 1847, 1851, 1853, 1855, 1857, 1863, 1869, 1870, 1873, 758 1874, 1878, 1879, 1883, 1889, 1891, 1893, 1895, 1897, 1899, 759 1904, 1910, 1913, 1917, 1920, 1924, 1925, 1927, 1928, 1931, 760 1933, 1935, 1937, 1941, 1945, 1950, 1953, 1959, 1963, 1968, 761 1971, 1977, 1981, 1986, 1989, 1995, 1999, 2006, 2015, 2021, 762 2025, 2027, 2029, 2031, 2034, 2038, 2043, 2045, 2047, 2051, 763 2054, 2056, 2058, 2060, 2062, 2064, 2066, 2068, 2071, 2076, 764 2078, 2080, 2082, 2084, 2086, 2088, 2090, 2092, 2097, 2101, 765 2104, 2108, 2112, 2115, 2116, 2118, 2122, 2128, 2129, 2131, 766 2134, 2137, 2138, 2140, 2143, 2146, 2154, 2163, 2170, 2177, 767 2185, 2188, 2192, 2195, 2199, 2205, 2209, 2210, 2212, 2215, 768 2218, 2219, 2228, 2229, 2236, 2240, 2245, 2246, 2250, 2251, 769 2256, 2257, 2262, 2264, 2266, 2270, 2272, 2275, 2278, 2282, 770 2284, 2287, 2291, 2295, 2306, 2310, 2313, 2317, 2319, 2321, 771 2323, 2325, 2327, 2329, 2331, 2332, 2333, 2341, 2343, 2347, 772 2349, 2352, 2355, 2358, 2361, 2364, 2367, 2370, 2373, 2376, 773 2380, 2382, 2384, 2385, 2393, 2395, 2399, 2401, 2404, 2407, 774 2410, 2414, 2415, 2422, 2423, 2431, 2436, 2443, 2444, 2451, 775 2452, 2460, 2465, 2472, 2474, 2478, 2480, 2482, 2485, 2487, 776 2489, 2492, 2495, 2498, 2501, 2504, 2507, 2511, 2513, 2515, 777 2517, 2519, 2523, 2525, 2527, 2529, 2533, 2535, 2537, 2543, 778 2545, 2549, 2551, 2557, 2565, 2569, 2575, 2577, 2581, 2583, 779 2586, 2589, 2592, 2595, 2599, 2605, 2607, 2611, 2613, 2616, 780 2619, 2622, 2625, 2626, 2634, 2635, 2645, 2646, 2648, 2652, 781 2654, 2657, 2660, 2663, 2666, 2669, 2672, 2675, 2679, 2682, 782 2685, 2688, 2689, 2695, 2696, 2698, 2699, 2704, 2705, 2712, 783 2713, 2715, 2716, 2718, 2721, 2722, 2724, 2726, 2729, 2731, 784 2733, 2735, 2738, 2739, 2740, 2749, 2750, 2762, 2763, 2765, 785 2769, 2770, 2772, 2778, 2779, 2781, 2782, 2784, 2785, 2790, 786 2791, 2792, 2799, 2800, 2802, 2803, 2805, 2807, 2808, 2811, 787 2813, 2817, 2821, 2823, 2827, 2829, 2831, 2833, 2835, 2837, 788 2841, 2846, 2848, 2852, 2854, 2859, 2861, 2865, 2867, 2871, 789 2872, 2878, 2879, 2883, 2884, 2890, 2891, 2892, 2900, 2901, 790 2906, 2908, 2910, 2912, 2914, 2918, 2920, 2924, 2926, 2928, 791 2930, 2931, 2933, 2935, 2938, 2940, 2942, 2944, 2950, 2951, 792 2952, 2963, 2965, 2967, 2969, 2970, 2972, 2975, 2978, 2979, 793 2981, 2982, 2984, 2989, 2990, 2998, 2999, 3001, 3007, 3008, 794 3015, 3017, 3024, 3025, 3026, 3028, 3029, 3030, 3036, 3037, 795 3039, 3041, 3045, 3047, 3049, 3053, 3058, 3059, 3064, 3066, 796 3068, 3072, 3076, 3078, 3082, 3084, 3085, 3087 686 797 }; 687 798 … … 689 800 static const yytype_int16 yyrhs[] = 690 801 { 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 802 205, 0, -1, -1, 205, 206, -1, 207, -1, 208, 803 -1, 1, -1, 198, 210, -1, 24, -1, 65, -1, 804 207, 198, 210, -1, 207, 24, -1, 209, -1, 208, 805 24, 198, -1, 208, 24, 209, -1, 211, -1, 28, 806 213, 210, -1, 37, -1, -1, 664, -1, 212, -1, 807 644, -1, 703, -1, 718, -1, 185, -1, -1, 3, 808 -1, 220, -1, 233, -1, 509, 217, -1, 216, 509, 809 -1, 11, 509, -1, 19, -1, 20, -1, 19, 509, 810 -1, 20, 509, -1, 21, 509, -1, 23, 509, -1, 811 13, 509, -1, 7, 509, -1, 16, 509, -1, 197, 812 509, -1, 196, 509, -1, 197, 5, 509, -1, 196, 813 5, 509, -1, 17, 509, -1, 14, 509, -1, 15, 814 509, -1, 12, 509, -1, 6, 509, -1, 8, 509, 815 -1, 9, 509, -1, 10, 509, -1, 22, 218, -1, 816 5, 219, -1, -1, 509, -1, 5, 509, -1, 22, 817 509, -1, 5, 509, -1, 509, -1, 232, -1, 227, 818 -1, 222, -1, -1, 225, -1, 225, 451, -1, -1, 819 227, 194, 223, 228, 195, -1, -1, 227, 194, 224, 820 228, 195, 451, -1, 110, -1, -1, 232, 194, 226, 821 228, 195, -1, 220, 200, 735, 220, -1, 221, -1, 822 221, 229, -1, 230, -1, 229, 3, 230, -1, 509, 823 -1, 231, -1, 509, 4, 509, -1, 509, 4, 509, 824 4, 509, -1, 4, 509, 4, 509, -1, 4, 4, 825 509, -1, 4, 509, -1, 509, 4, -1, 4, -1, 826 192, -1, 166, -1, 167, -1, 44, -1, 193, -1, 827 189, -1, 156, -1, 233, 192, -1, 234, 235, -1, 828 185, -1, 234, 185, -1, 188, -1, 186, -1, -1, 829 451, -1, -1, 509, -1, 238, 239, -1, -1, 657, 830 -1, -1, 240, -1, 241, -1, 240, 241, -1, 291, 831 -1, 399, -1, 643, -1, 413, -1, 252, -1, 332, 832 -1, 521, -1, 522, -1, 547, -1, 595, -1, 730, 833 -1, 618, -1, 567, -1, -1, 243, -1, 253, 244, 834 -1, -1, 245, -1, 246, -1, 245, 246, -1, 253, 835 -1, 643, -1, -1, 248, -1, 113, 207, 249, -1, 836 -1, 250, -1, 251, -1, 250, 251, -1, 703, -1, 837 718, -1, 367, -1, 372, -1, 429, -1, 376, -1, 838 393, -1, 423, -1, 681, -1, 684, -1, 419, -1, 839 404, -1, 254, -1, 547, -1, 577, -1, 567, -1, 840 533, -1, 465, -1, 521, -1, 689, -1, 608, -1, 841 595, -1, 566, -1, 482, -1, 593, -1, 592, -1, 842 634, -1, 79, 236, -1, 130, 194, 736, 195, -1, 843 116, 733, -1, 576, -1, 637, -1, 601, -1, 522, 844 -1, 618, -1, 612, -1, 730, -1, 631, -1, 596, 845 -1, 532, -1, 615, -1, 594, -1, 232, -1, 257, 846 -1, 258, -1, 259, -1, 277, -1, 280, -1, 290, 847 -1, 281, -1, 289, -1, 232, -1, -1, 261, -1, 848 168, -1, 193, -1, -1, 263, -1, 169, -1, 514, 849 -1, 21, -1, 4, -1, -1, 266, 267, -1, 173, 850 267, 195, -1, 173, 316, 195, -1, -1, 177, 268, 851 274, -1, -1, 176, 269, 274, -1, -1, 179, 270, 852 274, -1, -1, 190, 271, 274, -1, -1, 184, 272, 853 285, -1, -1, 178, 273, 274, -1, -1, 275, -1, 854 194, 519, 195, -1, 194, 95, 5, 519, 195, -1, 855 21, 193, -1, 277, -1, 496, 277, -1, 193, -1, 856 193, 201, 278, -1, 193, -1, 192, -1, 280, -1, 857 496, 280, -1, 189, -1, 189, 201, 278, -1, 194, 858 282, 175, 283, 195, -1, 276, -1, 279, -1, 232, 859 -1, 276, -1, 279, -1, 259, -1, -1, 21, 288, 860 -1, -1, 286, -1, 287, -1, 194, 74, 5, 264, 861 3, 95, 5, 519, 195, -1, 194, 264, 3, 519, 862 195, -1, 194, 95, 5, 519, 195, -1, 194, 95, 863 5, 519, 3, 74, 5, 264, 195, -1, 194, 264, 864 195, -1, 194, 74, 5, 264, 195, -1, 21, 288, 865 -1, 21, 288, 3, -1, 194, 264, 195, -1, 277, 866 -1, 185, -1, 188, -1, 186, -1, 166, -1, 167, 867 -1, -1, 293, 292, 301, 300, -1, 172, 294, 192, 868 207, -1, 172, 295, 192, 194, 298, 195, 207, -1, 869 -1, 295, 155, -1, -1, 3, 296, -1, 297, -1, 870 296, 3, 297, -1, 348, -1, 47, 195, -1, 299, 871 -1, 298, 3, 299, -1, 192, -1, 174, 207, -1, 872 174, 192, 207, -1, -1, 302, -1, 303, -1, 302, 873 303, -1, 304, -1, 265, 305, 309, 207, -1, -1, 874 155, -1, 3, 306, 155, -1, 307, -1, 306, 3, 875 307, -1, 348, -1, 102, -1, -1, 131, 194, 308, 876 312, 195, -1, 139, -1, 310, -1, 309, 3, 310, 877 -1, 232, 311, 284, 313, -1, -1, 194, 312, 195, 878 -1, 353, -1, 359, -1, -1, 314, -1, 5, 516, 879 -1, 147, 347, -1, 147, 315, -1, 440, -1, 232, 880 -1, 232, 194, 317, 195, -1, 318, -1, 317, 3, 881 318, -1, 264, -1, 255, 5, 264, -1, 316, 194, 882 195, -1, 316, 194, 320, 195, -1, 321, -1, 320, 883 3, 321, -1, 322, -1, 255, 5, 322, -1, 509, 884 -1, 528, -1, 531, -1, 150, 324, 151, -1, 325, 885 324, 326, -1, 327, -1, 202, -1, 203, -1, 328, 886 -1, 327, 3, 328, -1, 509, -1, 329, -1, 194, 887 327, 3, 330, 195, -1, 331, 5, 514, 3, 514, 888 -1, 331, 5, 514, 3, 514, 3, 514, -1, 553, 889 -1, -1, -1, 333, 265, 335, 341, 334, 207, -1, 890 -1, 336, 155, -1, -1, 337, -1, 3, 338, -1, 891 337, 3, 338, -1, 348, -1, 102, -1, -1, 131, 892 194, 339, 352, 195, -1, 133, -1, -1, 134, 194, 893 340, 366, 195, -1, 135, -1, 138, -1, 25, -1, 894 139, -1, 141, -1, 142, -1, 342, -1, 341, 3, 895 342, -1, 344, 349, 284, 345, -1, 232, -1, 192, 896 -1, -1, 346, -1, 5, 516, -1, 147, 347, -1, 897 147, 315, -1, 687, -1, 100, -1, 101, -1, -1, 898 -1, 194, 350, 352, 195, -1, 47, 195, -1, 47, 899 3, 52, 195, -1, 353, -1, 357, -1, 359, -1, 900 361, -1, 364, -1, 354, -1, 353, 3, 354, -1, 901 355, 4, 356, -1, 356, -1, 515, -1, 515, -1, 902 358, -1, 357, 3, 358, -1, 4, -1, 355, 4, 903 -1, 360, -1, 359, 3, 360, -1, 4, -1, 362, 904 363, 21, -1, -1, 353, 3, -1, -1, 355, 4, 905 -1, 365, -1, 364, 3, 365, -1, 363, 21, -1, 906 160, -1, 158, -1, 159, -1, -1, 348, 369, 368, 907 207, -1, -1, 407, 370, -1, 371, -1, 370, 3, 908 371, -1, 192, -1, 680, -1, 351, 407, 373, 207, 909 -1, 374, -1, 373, 3, 374, -1, 375, -1, 433, 910 -1, 192, -1, -1, 187, 380, 378, 377, 207, -1, 911 -1, 379, -1, 434, 380, -1, 379, 434, 380, -1, 912 381, 22, 382, 22, -1, 383, -1, 381, 3, 383, 913 -1, 388, -1, 382, 3, 388, -1, 442, -1, 384, 914 -1, 194, 385, 3, 387, 5, 519, 3, 519, 195, 915 -1, 194, 385, 3, 387, 5, 519, 3, 519, 3, 916 519, 195, -1, 386, -1, 385, 3, 386, -1, 459, 917 -1, 457, -1, 384, -1, 553, -1, 391, 389, -1, 918 277, 389, -1, 289, 389, -1, 276, -1, 279, -1, 919 347, -1, 315, -1, 319, -1, -1, 21, 390, -1, 920 256, -1, 391, -1, 276, -1, 279, -1, 347, -1, 921 315, -1, 319, -1, 392, -1, 440, -1, -1, -1, 922 394, 131, 407, 396, 395, 207, -1, -1, 192, 194, 923 397, 352, 195, -1, -1, 396, 3, 192, 194, 398, 924 352, 195, -1, -1, -1, 25, 400, 194, 402, 195, 925 401, 207, -1, 403, -1, 402, 3, 403, -1, 192, 926 5, 516, -1, -1, -1, 405, 141, 407, 408, 406, 927 207, -1, -1, 155, -1, -1, 409, -1, 410, -1, 928 409, 3, 410, -1, 343, -1, 411, -1, 433, -1, 929 232, -1, -1, 412, 143, 415, 207, -1, -1, 412, 930 143, 144, 414, 207, -1, 416, -1, 415, 3, 416, 931 -1, 265, 194, 417, 195, -1, 418, -1, 417, 3, 932 418, -1, 192, -1, 192, 20, 192, -1, 136, 22, 933 192, 22, 421, 420, 207, -1, -1, 420, 434, 22, 934 192, 22, 421, -1, 422, -1, 421, 3, 422, -1, 935 443, -1, 83, 424, 207, -1, 425, -1, 424, 3, 936 425, -1, -1, 194, 426, 428, 3, 427, 195, -1, 937 428, -1, 427, 3, 428, -1, 443, -1, 459, -1, 938 451, -1, -1, -1, 148, 430, 432, 437, 435, 431, 939 207, -1, -1, 433, -1, 18, -1, 22, 192, 22, 940 -1, -1, 3, -1, -1, -1, 435, 434, 433, 436, 941 437, -1, 438, -1, 437, 3, 438, -1, 192, -1, 942 -1, 192, 194, 439, 352, 195, -1, 459, -1, 460, 943 -1, 458, -1, 451, -1, 442, -1, 440, -1, 232, 944 -1, 445, -1, 442, -1, 442, -1, 448, -1, 442, 945 -1, 450, -1, 442, -1, 453, -1, 453, 194, 452, 946 195, -1, 289, 194, 452, 195, -1, 513, 4, 513, 947 -1, 455, 454, -1, -1, 454, 200, 455, -1, 232, 948 -1, -1, 232, 194, 456, 461, 195, -1, 458, -1, 949 453, -1, 453, -1, 453, -1, 453, 194, 452, 195, 950 -1, -1, 462, -1, 461, 3, 462, -1, 509, 463, 951 -1, 4, -1, 4, 509, -1, 4, 4, 509, -1, 952 4, 509, 4, 509, -1, 155, 509, -1, 464, -1, 953 232, 5, 509, -1, 232, 5, 21, 261, -1, 21, 954 261, -1, 4, -1, 4, 509, -1, 4, 4, 509, 955 -1, 4, 509, 4, 509, -1, 155, 509, -1, -1, 956 512, -1, -1, -1, 119, 194, 466, 473, 468, 195, 957 467, 207, -1, -1, 3, 469, -1, 470, -1, 469, 958 3, 470, -1, 98, 472, -1, 146, 5, 471, -1, 959 449, -1, 447, -1, 474, -1, 473, 3, 474, -1, 960 475, 476, -1, 443, -1, 458, -1, -1, 194, 477, 961 195, -1, 478, -1, 477, 3, 478, -1, 479, 481, 962 -1, -1, 480, 4, -1, 514, -1, 514, -1, -1, 963 -1, 129, 194, 483, 485, 486, 195, 484, 207, -1, 964 475, -1, 485, 3, 475, -1, -1, 3, 487, -1, 965 488, -1, 487, 3, 488, -1, 98, 472, -1, 146, 966 5, 471, -1, 440, -1, 258, -1, 323, -1, 687, 967 -1, 194, 509, 195, -1, 489, -1, 490, -1, 490, 968 494, 491, -1, 491, -1, 492, 495, 491, -1, 492, 969 -1, 496, 492, -1, 493, 496, 492, -1, 276, -1, 970 493, 276, -1, 23, -1, 21, -1, 22, -1, 19, 971 -1, 20, -1, 493, -1, 497, 498, 493, -1, 18, 972 -1, 497, -1, 497, 500, 497, -1, 13, -1, 12, 973 -1, 17, -1, 15, -1, 16, -1, 14, -1, 162, 974 -1, 163, -1, 196, -1, 164, -1, 197, -1, 165, 975 -1, 499, -1, 505, 499, -1, 501, -1, 502, 506, 976 501, -1, 502, -1, 503, 507, 502, -1, 503, -1, 977 504, 508, 503, -1, 11, -1, 10, -1, 9, -1, 978 7, -1, 6, -1, 504, -1, 511, -1, 509, -1, 979 509, -1, -1, 514, -1, 512, -1, 514, -1, 509, 980 -1, 518, -1, 511, -1, 520, -1, 512, -1, 442, 981 5, 509, 207, -1, 261, 442, 5, 509, 207, -1, 982 440, 523, 147, 528, 207, -1, 440, 194, 525, 195, 983 147, 528, 207, -1, 440, 147, 531, 207, -1, -1, 984 194, 524, 195, -1, 526, -1, 524, 3, 526, -1, 985 527, -1, 525, 3, 527, -1, 480, 4, -1, 480, 986 4, 481, -1, 442, -1, 192, -1, 441, 200, 529, 987 -1, 509, -1, 529, -1, 530, -1, 38, 194, 540, 988 195, 539, -1, 537, 534, 535, 536, 543, -1, -1, 989 534, 538, -1, -1, 535, 541, 534, -1, -1, 536, 990 542, 534, -1, 38, 194, 540, 195, 207, -1, 539, 991 -1, 532, -1, 533, -1, 521, -1, 509, -1, 39, 992 540, 195, 207, -1, 39, 540, 195, 192, 207, -1, 993 40, 207, -1, 40, 192, 207, -1, 41, 207, -1, 994 41, 192, 207, -1, -1, 546, -1, -1, 546, 246, 995 -1, 548, -1, 557, -1, 548, -1, 549, 554, 555, 996 -1, 551, 554, 555, -1, 192, 4, 171, 207, -1, 997 171, 207, -1, 192, 4, 171, 552, 207, -1, 171, 998 552, 207, -1, 192, 4, 170, 207, -1, 170, 207, 999 -1, 192, 4, 170, 552, 207, -1, 170, 552, 207, 1000 -1, 192, 4, 112, 207, -1, 112, 207, -1, 192, 1001 4, 112, 552, 207, -1, 112, 552, 207, -1, 214, 1002 553, 5, 509, 3, 509, -1, 214, 553, 5, 509, 1003 3, 509, 3, 509, -1, 214, 117, 194, 509, 195, 1004 -1, 214, 118, 544, -1, 232, -1, 545, -1, 556, 1005 -1, 263, 595, -1, 262, 114, 207, -1, 262, 114, 1006 192, 207, -1, 558, -1, 561, -1, 549, 554, 559, 1007 -1, 263, 560, -1, 465, -1, 521, -1, 689, -1, 1008 608, -1, 482, -1, 634, -1, 593, -1, 128, 734, 1009 -1, 130, 194, 736, 195, -1, 576, -1, 637, -1, 1010 601, -1, 618, -1, 612, -1, 631, -1, 532, -1, 1011 615, -1, 549, 554, 562, 563, -1, 549, 554, 563, 1012 -1, 550, 554, -1, 562, 550, 554, -1, 550, 554, 1013 564, -1, 263, 254, -1, -1, 192, -1, 79, 565, 1014 207, -1, 572, 545, 568, 570, 575, -1, -1, 569, 1015 -1, 568, 569, -1, 573, 545, -1, -1, 571, -1, 1016 570, 569, -1, 574, 545, -1, 192, 4, 111, 509, 1017 195, 104, 207, -1, 261, 192, 4, 111, 509, 195, 1018 104, 207, -1, 260, 111, 509, 195, 104, 207, -1, 1019 105, 194, 509, 195, 104, 207, -1, 105, 194, 509, 1020 195, 104, 192, 207, -1, 106, 207, -1, 106, 192, 1021 207, -1, 107, 207, -1, 107, 192, 207, -1, 260, 1022 111, 509, 195, 254, -1, 580, 578, 584, -1, -1, 1023 579, -1, 578, 579, -1, 583, 545, -1, -1, 192, 1024 4, 49, 194, 509, 195, 581, 207, -1, -1, 49, 1025 194, 509, 195, 582, 207, -1, 48, 587, 207, -1, 1026 48, 587, 192, 207, -1, -1, 132, 585, 207, -1, 1027 -1, 132, 192, 586, 207, -1, -1, 194, 588, 589, 1028 195, -1, 137, -1, 590, -1, 589, 3, 590, -1, 1029 591, -1, 591, 4, -1, 4, 591, -1, 591, 4, 1030 591, -1, 509, -1, 94, 207, -1, 94, 192, 207, 1031 -1, 109, 261, 207, -1, 260, 111, 509, 195, 261, 1032 3, 261, 3, 261, 207, -1, 260, 140, 207, -1, 1033 154, 207, -1, 154, 597, 207, -1, 517, -1, 519, 1034 -1, 599, -1, 21, -1, 600, -1, 514, -1, 446, 1035 -1, -1, -1, 120, 194, 602, 604, 195, 603, 207, 1036 -1, 605, -1, 604, 3, 605, -1, 599, -1, 59, 1037 599, -1, 54, 510, -1, 55, 510, -1, 66, 261, 1038 -1, 50, 606, -1, 56, 510, -1, 68, 449, -1, 1039 67, 510, -1, 57, 514, -1, 58, 5, 510, -1, 1040 510, -1, 447, -1, -1, 260, 121, 194, 609, 610, 1041 195, 207, -1, 611, -1, 610, 3, 611, -1, 599, 1042 -1, 59, 599, -1, 68, 449, -1, 66, 261, -1, 1043 58, 5, 510, -1, -1, 260, 126, 619, 195, 613, 1044 207, -1, -1, 260, 126, 619, 195, 623, 614, 207, 1045 -1, 260, 127, 622, 207, -1, 260, 127, 622, 3, 1046 623, 207, -1, -1, 260, 123, 619, 195, 616, 207, 1047 -1, -1, 260, 123, 619, 195, 625, 617, 207, -1, 1048 260, 108, 622, 207, -1, 260, 108, 622, 3, 625, 1049 207, -1, 621, -1, 619, 3, 621, -1, 192, -1, 1050 598, -1, 59, 598, -1, 622, -1, 620, -1, 62, 1051 620, -1, 61, 622, -1, 63, 261, -1, 64, 261, 1052 -1, 66, 261, -1, 68, 449, -1, 51, 5, 514, 1053 -1, 511, -1, 261, -1, 21, -1, 624, -1, 623, 1054 3, 624, -1, 442, -1, 627, -1, 626, -1, 625, 1055 3, 626, -1, 509, -1, 627, -1, 194, 628, 3, 1056 630, 195, -1, 629, -1, 628, 3, 629, -1, 626, 1057 -1, 553, 5, 514, 3, 514, -1, 553, 5, 514, 1058 3, 514, 3, 514, -1, 128, 599, 207, -1, 128, 1059 194, 632, 195, 207, -1, 633, -1, 632, 3, 633, 1060 -1, 599, -1, 59, 599, -1, 69, 607, -1, 68, 1061 449, -1, 66, 261, -1, 125, 599, 207, -1, 125, 1062 194, 635, 195, 207, -1, 636, -1, 635, 3, 636, 1063 -1, 599, -1, 59, 599, -1, 68, 449, -1, 69, 1064 607, -1, 66, 261, -1, -1, 122, 640, 194, 641, 1065 195, 638, 207, -1, -1, 122, 640, 194, 53, 449, 1066 195, 625, 639, 207, -1, -1, 642, -1, 641, 3, 1067 642, -1, 599, -1, 59, 599, -1, 50, 606, -1, 1068 54, 447, -1, 55, 447, -1, 66, 261, -1, 70, 1069 444, -1, 68, 449, -1, 52, 5, 447, -1, 60, 1070 444, -1, 57, 449, -1, 32, 207, -1, -1, 647, 1071 665, 646, 645, 649, -1, -1, 653, -1, -1, 115, 1072 192, 648, 207, -1, -1, 412, 183, 651, 652, 650, 1073 207, -1, -1, 115, -1, -1, 192, -1, 731, 654, 1074 -1, -1, 655, -1, 656, -1, 655, 656, -1, 703, 1075 -1, 718, -1, 659, -1, 657, 659, -1, -1, -1, 1076 412, 161, 658, 662, 192, 674, 660, 207, -1, -1, 1077 412, 161, 658, 662, 192, 3, 27, 4, 663, 661, 1078 207, -1, -1, 155, -1, 3, 673, 155, -1, -1, 1079 677, -1, 666, 665, 242, 247, 668, -1, -1, 237, 1080 -1, -1, 243, -1, -1, 30, 192, 667, 207, -1, 1081 -1, -1, 669, 183, 671, 672, 670, 207, -1, -1, 1082 30, -1, -1, 192, -1, 135, -1, -1, 3, 675, 1083 -1, 676, -1, 675, 3, 676, -1, 192, 147, 192, 1084 -1, 678, -1, 677, 3, 678, -1, 680, -1, 679, 1085 -1, 676, -1, 192, -1, 192, -1, 133, 682, 207, 1086 -1, 133, 155, 682, 207, -1, 683, -1, 682, 3, 1087 683, -1, 192, -1, 135, 407, 685, 207, -1, 686, 1088 -1, 685, 3, 686, -1, 192, -1, 696, 194, 195, 1089 -1, -1, 696, 194, 688, 697, 195, -1, -1, 694, 1090 690, 207, -1, -1, 694, 194, 195, 691, 207, -1, 1091 -1, -1, 694, 194, 692, 697, 195, 693, 207, -1, 1092 -1, 260, 145, 695, 696, -1, 232, -1, 125, -1, 1093 176, -1, 698, -1, 697, 3, 698, -1, 699, -1, 1094 255, 5, 699, -1, 509, -1, 442, -1, 232, -1, 1095 -1, 701, -1, 702, -1, 701, 702, -1, 265, -1, 1096 115, -1, 88, -1, 704, 665, 242, 247, 715, -1, 1097 -1, -1, 700, 31, 707, 194, 705, 727, 195, 710, 1098 706, 207, -1, 192, -1, 351, -1, 192, -1, -1, 1099 711, -1, 708, 712, -1, 714, 713, -1, -1, 714, 1100 -1, -1, 708, -1, 26, 194, 192, 195, -1, -1, 1101 412, 183, 717, 652, 723, 716, 207, -1, -1, 31, 1102 -1, 719, 665, 242, 247, 722, -1, -1, 700, 29, 1103 721, 725, 720, 207, -1, 192, -1, 412, 183, 724, 1104 652, 723, 207, -1, -1, -1, 29, -1, -1, -1, 1105 194, 726, 727, 195, 713, -1, -1, 728, -1, 729, 1106 -1, 728, 3, 729, -1, 709, -1, 21, -1, 260, 1107 103, 207, -1, 260, 103, 514, 207, -1, -1, 260, 1108 113, 732, 207, -1, 198, -1, 192, -1, 194, 232, 1109 195, -1, 194, 193, 195, -1, 193, -1, 194, 215, 1110 195, -1, 192, -1, -1, 232, -1, 736, 3, 232, 1111 -1 875 1112 }; 876 1113 … … 878 1115 static const yytype_uint16 yyrline[] = 879 1116 { 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 1117 0, 514, 514, 515, 517, 518, 519, 521, 523, 524, 1118 525, 526, 529, 530, 531, 533, 534, 542, 560, 564, 1119 565, 566, 570, 571, 584, 852, 853, 1100, 1101, 1102, 1120 1103, 1104, 1106, 1107, 1111, 1112, 1113, 1114, 1115, 1116, 1121 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1122 1127, 1128, 1129, 1130, 1131, 1133, 1134, 1135, 1136, 1139, 1123 1140, 1143, 1144, 1145, 1149, 1160, 1161, 1162, 1162, 1163, 1124 1163, 1165, 1166, 1166, 1175, 1187, 1188, 1191, 1192, 1195, 1125 1196, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1207, 1254, 1126 1255, 1256, 1257, 1258, 1259, 1260, 1262, 1265, 1266, 1267, 1127 1268, 1270, 1271, 1281, 1282, 1334, 1337, 1338, 1363, 1364, 1128 1368, 1369, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1129 1390, 1391, 1392, 1393, 1394, 1397, 1398, 1402, 1405, 1406, 1130 1410, 1411, 1415, 1416, 1419, 1420, 1424, 1428, 1429, 1432, 1131 1433, 1437, 1438, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1132 1449, 1450, 1451, 1456, 1457, 1458, 1459, 1460, 1468, 1469, 1133 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1134 1480, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1135 1511, 1512, 1513, 1517, 1520, 1525, 1526, 1530, 1531, 1532, 1136 1533, 1535, 1539, 1558, 1559, 1563, 1564, 1568, 1569, 1573, 1137 1577, 1578, 1579, 1590, 1590, 1592, 1593, 1598, 1598, 1600, 1138 1600, 1602, 1602, 1604, 1604, 1606, 1606, 1608, 1608, 1613, 1139 1614, 1620, 1622, 1624, 1631, 1632, 1637, 1638, 1643, 1644, 1140 1660, 1661, 1666, 1667, 1674, 1680, 1681, 1682, 1686, 1687, 1141 1688, 1691, 1692, 1697, 1698, 1703, 1704, 1705, 1706, 1707, 1142 1711, 1713, 1715, 1716, 1720, 1722, 1727, 1728, 1729, 1733, 1143 1734, 1738, 1738, 1743, 1744, 1747, 1748, 1751, 1752, 1755, 1144 1756, 1760, 1761, 1765, 1766, 1769, 1773, 1774, 1777, 1778, 1145 1782, 1783, 1787, 1791, 1794, 1795, 1796, 1799, 1800, 1804, 1146 1805, 1806, 1806, 1807, 1810, 1811, 1815, 1838, 1839, 1843, 1147 1844, 1847, 1848, 1852, 1853, 1854, 1858, 1863, 1865, 1868, 1148 1869, 1873, 1874, 1878, 1879, 1882, 1883, 1887, 1888, 1892, 1149 1893, 1894, 1898, 1900, 1915, 1919, 1923, 1927, 1928, 1933, 1150 1934, 1938, 1943, 1945, 1950, 1954, 1955, 1954, 2023, 2024, 1151 2027, 2028, 2032, 2033, 2037, 2038, 2040, 2040, 2042, 2044, 1152 2044, 2046, 2047, 2049, 2051, 2053, 2055, 2060, 2062, 2067, 1153 2101, 2104, 2107, 2108, 2112, 2118, 2124, 2133, 2137, 2139, 1154 2144, 2145, 2145, 2150, 2152, 2157, 2159, 2161, 2163, 2165, 1155 2169, 2175, 2184, 2186, 2191, 2196, 2200, 2206, 2215, 2217, 1156 2222, 2228, 2237, 2242, 2265, 2266, 2285, 2286, 2290, 2291, 1157 2295, 2299, 2301, 2303, 2309, 2308, 2327, 2328, 2332, 2334, 1158 2339, 2340, 2344, 2348, 2349, 2353, 2354, 2357, 2362, 2361, 1159 2376, 2377, 2380, 2381, 2385, 2395, 2397, 2403, 2405, 2410, 1160 2411, 2415, 2421, 2428, 2430, 2435, 2436, 2440, 2444, 2449, 1161 2451, 2453, 2455, 2456, 2457, 2458, 2459, 2463, 2464, 2480, 1162 2481, 2482, 2483, 2484, 2485, 2486, 2492, 2500, 2505, 2507, 1163 2505, 2552, 2552, 2561, 2561, 2574, 2575, 2574, 2594, 2596, 1164 2601, 2618, 2619, 2618, 2626, 2627, 2630, 2631, 2634, 2635, 1165 2639, 2641, 2642, 2646, 2650, 2654, 2656, 2655, 2667, 2668, 1166 2672, 2675, 2676, 2680, 2681, 2685, 2688, 2689, 2691, 2692, 1167 2696, 2700, 2703, 2704, 2708, 2708, 2711, 2712, 2716, 2717, 1168 2718, 2723, 2724, 2723, 2733, 2734, 2742, 2748, 2756, 2757, 1169 2760, 2762, 2761, 2771, 2773, 2781, 2787, 2787, 2796, 2797, 1170 2798, 2799, 2808, 2811, 2824, 2827, 2831, 2835, 2838, 2842, 1171 2845, 2848, 2852, 2853, 2855, 2870, 2875, 2880, 2881, 2886, 1172 2888, 2888, 2900, 2904, 2909, 2914, 2916, 2923, 2924, 2926, 1173 2948, 2950, 2952, 2954, 2956, 2958, 2960, 2961, 2963, 2965, 1174 2969, 2971, 2973, 2975, 2977, 2980, 2994, 2998, 2999, 2998, 1175 3007, 3008, 3012, 3013, 3017, 3018, 3022, 3026, 3030, 3031, 1176 3035, 3039, 3040, 3043, 3044, 3048, 3049, 3053, 3056, 3057, 1177 3061, 3065, 3069, 3070, 3069, 3075, 3076, 3079, 3080, 3084, 1178 3085, 3089, 3090, 3099, 3109, 3110, 3111, 3112, 3117, 3122, 1179 3123, 3127, 3128, 3135, 3136, 3138, 3140, 3141, 3146, 3150, 1180 3152, 3156, 3158, 3163, 3164, 3169, 3172, 3173, 3178, 3179, 1181 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3188, 3189, 3191, 1182 3196, 3197, 3203, 3204, 3210, 3211, 3216, 3217, 3222, 3226, 1183 3230, 3234, 3235, 3239, 3242, 3246, 3250, 3254, 3255, 3258, 1184 3262, 3269, 3273, 3277, 3280, 3284, 3290, 3291, 3303, 3304, 1185 3305, 3313, 3314, 3318, 3319, 3323, 3324, 3328, 3332, 3336, 1186 3339, 3348, 3352, 3353, 3354, 3358, 3362, 3365, 3366, 3369, 1187 3370, 3373, 3374, 3378, 3382, 3383, 3384, 3388, 3392, 3396, 1188 3397, 3401, 3402, 3407, 3408, 3412, 3416, 3419, 3420, 3425, 1189 3426, 3430, 3435, 3436, 3447, 3448, 3449, 3450, 3453, 3454, 1190 3455, 3456, 3460, 3461, 3462, 3463, 3468, 3469, 3470, 3471, 1191 3475, 3479, 3488, 3489, 3493, 3494, 3505, 3506, 3512, 3522, 1192 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 1193 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3553, 3554, 3557, 1194 3558, 3569, 3574, 3577, 3578, 3582, 3586, 3589, 3590, 3591, 1195 3594, 3597, 3598, 3599, 3602, 3606, 3607, 3608, 3612, 3613, 1196 3617, 3618, 3622, 3623, 3627, 3631, 3634, 3635, 3636, 3639, 1197 3643, 3643, 3644, 3644, 3648, 3649, 3653, 3653, 3654, 3654, 1198 3659, 3659, 3660, 3664, 3665, 3670, 3671, 3672, 3673, 3677, 1199 3681, 3682, 3686, 3690, 3694, 3698, 3699, 3703, 3704, 3708, 1200 3709, 3710, 3714, 3718, 3722, 3722, 3722, 3725, 3726, 3730, 1201 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 1202 3744, 3748, 3752, 3752, 3756, 3757, 3761, 3762, 3763, 3764, 1203 3765, 3770, 3769, 3775, 3774, 3779, 3780, 3785, 3784, 3790, 1204 3789, 3797, 3798, 3800, 3801, 3804, 3808, 3809, 3810, 3811, 1205 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3822, 3823, 3824, 1206 3827, 3828, 3831, 3832, 3836, 3837, 3841, 3842, 3846, 3849, 1207 3850, 3860, 3864, 3865, 3869, 3870, 3874, 3875, 3879, 3880, 1208 3881, 3882, 3883, 3887, 3888, 3892, 3893, 3897, 3898, 3899, 1209 3900, 3901, 3907, 3906, 3910, 3909, 3914, 3918, 3919, 3923, 1210 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 1211 3937, 3941, 3941, 3944, 3945, 3950, 3949, 3970, 3969, 3994, 1212 3995, 3998, 3999, 4002, 4005, 4006, 4009, 4010, 4013, 4014, 1213 4017, 4018, 4022, 4027, 4026, 4065, 4064, 4116, 4117, 4118, 1214 4122, 4123, 4128, 4131, 4132, 4135, 4136, 4141, 4140, 4154, 1215 4155, 4154, 4166, 4167, 4169, 4170, 4173, 4177, 4180, 4186, 1216 4190, 4199, 4209, 4211, 4220, 4228, 4236, 4244, 4248, 4252, 1217 4253, 4256, 4257, 4260, 4264, 4268, 4269, 4272, 4276, 4277, 1218 4277, 4284, 4283, 4297, 4296, 4309, 4310, 4309, 4324, 4324, 1219 4348, 4349, 4350, 4354, 4355, 4360, 4368, 4379, 4380, 4390, 1220 4393, 4394, 4398, 4399, 4403, 4405, 4407, 4412, 4417, 4418, 1221 4416, 4442, 4467, 4471, 4476, 4477, 4481, 4482, 4485, 4486, 1222 4489, 4490, 4493, 4509, 4508, 4513, 4514, 4518, 4523, 4522, 1223 4537, 4554, 4559, 4603, 4604, 4608, 4609, 4609, 4614, 4615, 1224 4620, 4632, 4646, 4648, 4653, 4654, 4659, 4658, 4694, 4695, 1225 4802, 4803, 4804, 4805, 4806, 4823, 4916, 4917 940 1226 }; 941 1227 #endif … … 951 1237 "'*'", "TOK_SLASH", "TOK_DASTER", "TOK_SEMICOLON", "TOK_PARAMETER", 952 1238 "TOK_RESULT", "TOK_ONLY", "TOK_INCLUDE", "TOK_SUBROUTINE", "TOK_PROGRAM", 953 "TOK_FUNCTION", "TOK_FORMAT", "TOK_MAX", "TOK_TANH", "TOK_WHERE", 1239 "TOK_FUNCTION", "TOK_LABEL_FORMAT", "TOK_LABEL_CONTINUE", 1240 "TOK_LABEL_END_DO", "TOK_MAX", "TOK_TANH", "TOK_COMMENT", "TOK_WHERE", 954 1241 "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", 1242 "TOK_TRIM", "TOK_NULL_PTR", "TOK_SUM", "TOK_SQRT", "TOK_BIND", 1243 "TOK_CASE", "TOK_SELECTCASE", "TOK_FILE", "TOK_REC", "TOK_NAME_EQ", 1244 "TOK_IOLENGTH", "TOK_ACCESS", "TOK_ACTION", "TOK_FORM", "TOK_RECL", 1245 "TOK_STATUS", "TOK_UNIT", "TOK_OPENED", "TOK_FMT", "TOK_NML", "TOK_END", 1246 "TOK_EOR", "TOK_EOF", "TOK_ERR", "TOK_POSITION", "TOK_IOSTAT", 1247 "TOK_IOMSG", "TOK_EXIST", "TOK_MIN", "TOK_FLOAT", "TOK_EXP", "TOK_LEN", 1248 "TOK_COS", "TOK_COSH", "TOK_ACOS", "TOK_NINT", "TOK_CYCLE", "TOK_SIN", 1249 "TOK_SINH", "TOK_ASIN", "TOK_EQUIVALENCE", "TOK_BACKSPACE", "TOK_LOG", 1250 "TOK_TAN", "TOK_ATAN", "TOK_RECURSIVE", "TOK_ABS", "TOK_MOD", "TOK_SIGN", 1251 "TOK_MINLOC", "TOK_MAXLOC", "TOK_EXIT", "TOK_KIND", "TOK_MOLD", 1252 "TOK_SOURCE", "TOK_ERRMSG", "TOK_MINVAL", "TOK_PUBLIC", "TOK_PRIVATE", 1253 "TOK_ALLOCATABLE", "TOK_RETURN", "TOK_THEN", "TOK_ELSEIF", "TOK_ELSE", 1254 "TOK_ENDIF", "TOK_PRINT", "TOK_PLAINGOTO", "TOK_LOGICALIF", 1255 "TOK_LOGICALIF_PAR", "TOK_PLAINDO", "TOK_CONTAINS", "TOK_ENDDO", 965 1256 "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", 974 "TOK_OUT", "TOK_INOUT", "TOK_IN", "TOK_USE", "TOK_TRUE", "TOK_FALSE", 975 "TOK_LABEL", "TOK_TYPE", "TOK_TYPEPAR", "TOK_ENDTYPE", "TOK_REAL", 1257 "TOK_ALLOCATE", "TOK_OPEN", "TOK_CLOSE", "TOK_INQUIRE", "TOK_WRITE_PAR", 1258 "TOK_WRITE", "TOK_FLUSH", "TOK_READ_PAR", "TOK_READ", "TOK_REWIND", 1259 "TOK_DEALLOCATE", "TOK_NULLIFY", "TOK_DIMENSION", "TOK_ENDSELECT", 1260 "TOK_EXTERNAL", "TOK_INTENT", "TOK_INTRINSIC", "TOK_NAMELIST", 1261 "TOK_DEFAULT", "TOK_OPTIONAL", "TOK_POINTER", "TOK_CONTINUE", "TOK_SAVE", 1262 "TOK_TARGET", "TOK_IMPLICIT", "TOK_NONE", "TOK_CALL", "TOK_STAT", 1263 "TOK_POINT_TO", "TOK_COMMON", "TOK_GLOBAL", "TOK_LEFTAB", "TOK_RIGHTAB", 1264 "TOK_PAUSE", "TOK_PROCEDURE", "TOK_STOP", "TOK_FOURDOTS", "TOK_HEXA", 1265 "TOK_ASSIGNTYPE", "TOK_OUT", "TOK_INOUT", "TOK_IN", "TOK_USE", 1266 "TOK_EQUALEQUAL", "TOK_SLASHEQUAL", "TOK_INFEQUAL", "TOK_SUPEQUAL", 1267 "TOK_TRUE", "TOK_FALSE", "TOK_LABEL", "TOK_LABEL_DJVIEW", 1268 "TOK_PLAINDO_LABEL_DJVIEW", "TOK_PLAINDO_LABEL", "TOK_TYPE", 1269 "TOK_TYPEPAR", "TOK_ENDTYPE", "TOK_COMMACOMPLEX", "TOK_REAL", 976 1270 "TOK_INTEGER", "TOK_LOGICAL", "TOK_DOUBLEPRECISION", "TOK_ENDSUBROUTINE", 977 1271 "TOK_ENDFUNCTION", "TOK_ENDPROGRAM", "TOK_ENDUNIT", "TOK_CHARACTER", 978 1272 "TOK_CHAR_CONSTANT", "TOK_CHAR_CUT", "TOK_DATA", "TOK_CHAR_MESSAGE", 979 1273 "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", 984 "args", "arg", "spec", "opt_spec", "name_intrinsic", 985 "use_intrinsic_list", "list_couple", "list_expr_equi", "expr_equi", 986 "list_expr_equi1", "list_expr", "opt_sep", "after_type", 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", 1000 "array_ele_substring_func_ref", "begin_array", "structure_component", 1001 "vec", "funarglist", "funargs", "funarg", "triplet", "ident", 1002 "simple_const", "string_constant", "opt_substring", "substring", 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", 1274 "TOK_CSTINT", "'('", "')'", "'<'", "'>'", "'\\n'", "'/'", "'%'", "'_'", 1275 "'['", "']'", "$accept", "input", "line", "line-break", 1276 "suite_line_list", "suite_line", "fin_line", "program-unit", 1277 "external-subprogram", "filename", "opt_comma", "uexpr", "signe", 1278 "operation", "after_slash", "after_equal", "lhs", "beforefunctionuse", 1279 "array_ele_substring_func_ref", "$@4", "$@5", "begin_array", "$@6", 1280 "structure_component", "funarglist", "funargs", "funarg", "triplet", 1281 "ident", "simple_const", "string_constant", "opt_substring", "opt_expr", 1282 "specification-part", "opt-use-stmt-list", 1283 "opt-declaration-construct-list", "declaration-construct-list", 1284 "declaration-construct", "opt-execution-part", "execution-part", 1285 "opt-execution-part-construct-list", "execution-part-construct-list", 1286 "execution-part-construct", "opt-internal-subprogram-part", 1287 "internal-subprogram-part", "opt-internal-subprogram", 1288 "internal-subprogram-list", "internal-subprogram", 1289 "other-specification-stmt", "executable-construct", "action-stmt", 1290 "keyword", "scalar-constant", "constant", "literal-constant", 1291 "named-constant", "opt-label", "label", "opt-label-djview", 1292 "label-djview", "type-param-value", "declaration-type-spec", "$@7", 1293 "intrinsic-type-spec", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", 1294 "opt-kind-selector", "kind-selector", "signed-int-literal-constant", 1295 "int-literal-constant", "kind-param", "signed-real-literal-constant", 1296 "real-literal-constant", "complex-literal-constant", "real-part", 1297 "imag-part", "opt-char_length-star", "opt-char-selector", 1298 "char-selector", "length-selector", "char-length", 1299 "char-literal-constant", "logical-literal-constant", "derived-type-def", 1300 "$@14", "derived-type-stmt", "opt-type-attr-spec-list-comma-fourdots", 1301 "opt-type-attr-spec-list-comma", "type-attr-spec-list", "type-attr-spec", 1302 "type-param-name-list", "type-param-name", "end-type-stmt", 1303 "opt-component-part", "component-part", "component-def-stmt", 1304 "data-component-def-stmt", "opt-component-attr-spec-list-comma-2points", 1305 "component-attr-spec-list", "component-attr-spec", "$@15", 1306 "component-decl-list", "component-decl", "opt-component-array-spec", 1307 "component-array-spec", "opt-component-initialization", 1308 "component-initialization", "initial-data-target", "derived-type-spec", 1309 "type-param-spec-list", "type-param-spec", "structure-constructor", 1310 "component-spec-list", "component-spec", "component-data-source", 1311 "array-constructor", "ac-spec", "lbracket", "rbracket", "ac-value-list", 1312 "ac-value", "ac-implied-do", "ac-implied-do-control", "ac-do-variable", 1313 "type-declaration-stmt", "$@16", "$@17", "opt-attr-spec-construct", 1314 "opt-attr-spec-comma-list", "attr-spec-comma-list", "attr-spec", "$@18", 1315 "$@19", "entity-decl-list", "entity-decl", "object-name", 1316 "object-name-noident", "opt-initialization", "initialization", 1317 "null-init", "access-spec", "opt-array-spec-par", "$@20", 1318 "language-binding-spec", "array-spec", "explicit-shape-spec-list", 1319 "explicit-shape-spec", "lower-bound", "upper-bound", 1320 "assumed-shape-spec-list", "assumed-shape-spec", 1321 "deferred-shape-spec-list", "deferred-shape-spec", "assumed-size-spec", 1322 "opt-explicit-shape-spec-list-comma", "opt-lower-bound-2points", 1323 "implied-shape-spec-list", "implied-shape-spec", "intent-spec", 1324 "access-stmt", "$@21", "opt-access-id-list", "access-id-list", 1325 "access-id", "bind-stmt", "bind-entity-list", "bind-entity", 1326 "entity-name", "data-stmt", "$@22", "opt-data-stmt-set-nlist", 1327 "data-stmt-set-nlist", "data-stmt-set", "data-stmt-object-list", 1328 "data-stmt-value-list", "data-stmt-object", "data-implied-do", 1329 "data-i-do-object-list", "data-i-do-object", "data-i-do-variable", 1330 "data-stmt-value", "opt-data-stmt-star", "data-stmt-constant", 1331 "scalar-constant-subobject", "constant-subobject", "dimension-stmt", 1332 "$@23", "$@24", "array-name-spec-list", "$@25", "$@26", "parameter-stmt", 1333 "$@27", "$@28", "named-constant-def-list", "named-constant-def", 1334 "save-stmt", "$@29", "$@30", "opt-TOK_FOURDOTS", "opt-saved-entity-list", 1335 "saved-entity-list", "saved-entity", "proc-pointer-name", 1336 "get_my_position", "implicit-stmt", "$@31", "implicit-spec-list", 1337 "implicit-spec", "letter-spec-list", "letter-spec", "namelist-stmt", 1338 "opt-namelist-other", "namelist-group-object-list", 1339 "namelist-group-object", "equivalence-stmt", "equivalence-set-list", 1340 "equivalence-set", "$@32", "equivalence-object-list", 1341 "equivalence-object", "common-stmt", "$@33", "$@34", 1342 "opt-common-block-name", "common-block-name", "opt-comma", 1343 "opt-common-block-list", "$@35", "common-block-object-list", 1344 "common-block-object", "$@36", "designator", "scalar-variable", 1345 "variable", "variable-name", "scalar-logical-variable", 1346 "logical-variable", "char-variable", "scalar-default-char-variable", 1347 "default-char-variable", "scalar-int-variable", "int-variable", 1348 "substring", "substring-range", "data-ref", "opt-part-ref", "part-ref", 1349 "$@37", "scalar-structure-component", "structure-component", 1350 "array-element", "array-section", "section-subscript-list", 1351 "section-subscript", "section_subscript_ambiguous", "vector-subscript", 1352 "allocate-stmt", "$@38", "$@39", "opt-alloc-opt-list-comma", 1353 "alloc-opt-list", "alloc-opt", "stat-variable", "errmsg-variable", 1354 "allocation-list", "allocation", "allocate-object", 1355 "opt-allocate-shape-spec-list-par", "allocate-shape-spec-list", 1356 "allocate-shape-spec", "opt-lower-bound-expr", "lower-bound-expr", 1357 "upper-bound-expr", "deallocate-stmt", "$@40", "$@41", 1358 "allocate-object-list", "opt-dealloc-opt-list-comma", "dealloc-opt-list", 1359 "dealloc-opt", "primary", "level-1-expr", "mult-operand", "add-operand", 1360 "level-2-expr", "power-op", "mult-op", "add-op", "level-3-expr", 1361 "concat-op", "level-4-expr", "rel-op", "and-operand", "or-operand", 1362 "equiv-operand", "level-5-expr", "not-op", "and-op", "or-op", "equiv-op", 1363 "expr", "scalar-default-char-expr", "default-char-expr", "int-expr", 1364 "opt-scalar-int-expr", "scalar-int-expr", "specification-expr", 1365 "constant-expr", "scalar-default-char-constant-expr", 1366 "default-char-constant-expr", "scalar-int-constant-expr", 1367 "int-constant-expr", "assignment-stmt", "pointer-assignment-stmt", 1368 "opt-bounds-spec-list-par", "bounds-spec-list", "bounds-remapping-list", 1369 "bounds-spec", "bounds-remapping", "data-target", 1370 "procedure-component-name", "proc-component-ref", "proc-target", 1371 "where-stmt", "where-construct", "opt-where-body-construct", 1372 "opt-masked-elsewhere-construct", "opt-elsewhere-construct", 1373 "where-construct-stmt", "where-body-construct", "where-assignment-stmt", 1374 "mask-expr", "masked-elsewhere-stmt", "elsewhere-stmt", "end-where-stmt", 1375 "forall-header", "block", "opt-execution-part-construct", "do-construct", 1376 "block-do-construct", "label-do-stmt", "label-do-stmt-djview", 1377 "nonlabel-do-stmt", "loop-control", "do-variable", "do-block", "end-do", 1378 "end-do-stmt", "nonblock-do-construct", "action-term-do-construct", 1379 "do-term-action-stmt", "do-term-action-stmt-special", 1380 "outer-shared-do-construct", "label-do-stmt-djview-do-block-list", 1381 "inner-shared-do-construct", "do-term-shared-stmt", 1382 "opt-do-construct-name", "cycle-stmt", "if-construct", 1014 1383 "opt-else-if-stmt-block", "else-if-stmt-block", "opt-else-stmt-block", 1015 1384 "else-stmt-block", "if-then-stmt", "else-if-stmt", "else-stmt", 1016 1385 "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 1386 "case-stmt-block", "select-case-stmt", "$@42", "$@43", "case-stmt", 1387 "end-select-stmt", "$@44", "$@45", "case-selector", "$@46", 1388 "case-value-range-list", "case-value-range", "case-value", "exit-stmt", 1389 "goto-stmt", "arithmetic-if-stmt", "continue-stmt", "stop-stmt", 1390 "stop-code", "io-unit", "file-unit-number", "internal-file-variable", 1391 "open-stmt", "$@47", "$@48", "connect-spec-list", "connect-spec", 1392 "file-name-expr", "iomsg-variable", "close-stmt", "$@49", 1393 "close-spec-list", "close-spec", "read-stmt", "$@50", "$@51", 1394 "write-stmt", "$@52", "$@53", "print-stmt", "io-control-spec-list", 1395 "namelist-group-name", "io-control-spec", "format", "input-item-list", 1396 "input-item", "output-item-list", "output-item", "io-implied-do", 1397 "io-implied-do-object-list", "io-implied-do-object", 1398 "io-implied-do-control", "rewind-stmt", "position-spec-list", 1399 "position-spec", "flush-stmt", "flush-spec-list", "flush-spec", 1400 "inquire-stmt", "$@54", "$@55", "set_in_inquire", "inquire-spec-list", 1401 "inquire-spec", "format-stmt", "module", "$@56", 1402 "opt-module-subprogram-part", "module-stmt", "$@57", "end-module-stmt", 1403 "$@58", "opt-tok-module", "opt-ident", "module-subprogram-part", 1404 "opt-module-subprogram-list", "module-subprogram-list", 1405 "module-subprogram", "use-stmt-list", "save_olduse", "use-stmt", "$@59", 1406 "$@60", "opt-module-nature-2points", "opt-only-list", "main-program", 1407 "opt-specification-part", "program-stmt", "$@61", "end-program-stmt", 1408 "$@62", "$@63", "opt-tok-program", "opt-tok-name", "module-nature", 1409 "opt-rename-list", "rename-list", "rename", "only-list", "only", 1410 "only-use-name", "generic-spec", "external-stmt", "external-name-list", 1411 "external-name", "intrinsic-stmt", "intrinsic-procedure-name-list", 1412 "intrinsic-procedure-name", "function-reference", "$@64", "call-stmt", 1413 "$@65", "$@66", "$@67", "$@68", "before-call-stmt", "$@69", 1414 "procedure-designator", "actual-arg-spec-list", "actual-arg-spec", 1415 "actual-arg", "opt-prefix", "prefix", "prefix-spec", 1416 "function-subprogram", "function-stmt", "$@70", "$@71", "function-name", 1417 "proc-language-binding-spec", "dummy-arg-name", "opt-suffix", "suffix", 1418 "opt-result-clause", "opt-proc-language-binding-spec", "result-clause", 1419 "end-function-stmt", "$@72", "opt-tok-function", "subroutine-subprogram", 1420 "subroutine-stmt", "$@73", "subroutine-name", "end-subroutine-stmt", 1421 "close_subroutine", "opt-tok-subroutine", 1422 "opt-dummy-arg-list-par-and-bind", "$@74", "opt-dummy-arg-list", 1423 "dummy-arg-list", "dummy-arg", "return-stmt", "contains-stmt", "$@75", 1424 "opt_name", "after_rewind", "declare_after_percent", "pointer_name_list", YY_NULL 1029 1425 }; 1030 1426 #endif … … 1051 1447 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 1052 1448 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 1053 409, 410, 40, 41, 60, 62, 10, 47, 37 1449 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 1450 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 1451 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 1452 439, 440, 441, 442, 40, 41, 60, 62, 10, 47, 1453 37, 95, 91, 93 1054 1454 }; 1055 1455 # endif … … 1058 1458 static const yytype_uint16 yyr1[] = 1059 1459 { 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, 1075 216, 217, 217, 218, 219, 219, 220, 220, 221, 221, 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, 1460 0, 204, 205, 205, 206, 206, 206, 207, 207, 207, 1461 207, 207, 208, 208, 208, 209, 209, 209, 210, 211, 1462 211, 211, 212, 212, 213, 214, 214, 215, 215, 215, 1463 215, 215, 216, 216, 217, 217, 217, 217, 217, 217, 1464 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 1465 217, 217, 217, 217, 217, 218, 218, 218, 218, 219, 1466 219, 220, 220, 220, 221, 222, 222, 223, 222, 224, 1467 222, 225, 226, 225, 227, 228, 228, 229, 229, 230, 1468 230, 231, 231, 231, 231, 231, 231, 231, 232, 233, 1469 233, 233, 233, 233, 233, 233, 233, 234, 234, 234, 1470 234, 235, 235, 236, 236, 237, 238, 238, 239, 239, 1471 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 1472 241, 241, 241, 241, 241, 242, 242, 243, 244, 244, 1473 245, 245, 246, 246, 247, 247, 248, 249, 249, 250, 1474 250, 251, 251, 252, 252, 252, 252, 252, 252, 252, 1475 252, 252, 252, 253, 253, 253, 253, 253, 254, 254, 1088 1476 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 1477 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1478 254, 254, 254, 255, 256, 257, 257, 258, 258, 258, 1479 258, 258, 259, 260, 260, 261, 261, 262, 262, 263, 1480 264, 264, 264, 266, 265, 265, 265, 268, 267, 269, 1481 267, 270, 267, 271, 267, 272, 267, 273, 267, 274, 1482 274, 275, 275, 275, 276, 276, 277, 277, 278, 278, 1483 279, 279, 280, 280, 281, 282, 282, 282, 283, 283, 1484 283, 284, 284, 285, 285, 286, 286, 286, 286, 286, 1485 287, 287, 287, 287, 288, 288, 289, 289, 289, 290, 1486 290, 292, 291, 293, 293, 294, 294, 295, 295, 296, 1487 296, 297, 297, 298, 298, 299, 300, 300, 301, 301, 1488 302, 302, 303, 304, 305, 305, 305, 306, 306, 307, 1489 307, 308, 307, 307, 309, 309, 310, 311, 311, 312, 1490 312, 313, 313, 314, 314, 314, 315, 316, 316, 317, 1491 317, 318, 318, 319, 319, 320, 320, 321, 321, 322, 1492 322, 322, 323, 323, 324, 325, 326, 327, 327, 328, 1493 328, 329, 330, 330, 331, 333, 334, 332, 335, 335, 1494 336, 336, 337, 337, 338, 338, 339, 338, 338, 340, 1495 338, 338, 338, 338, 338, 338, 338, 341, 341, 342, 1496 343, 344, 345, 345, 346, 346, 346, 347, 348, 348, 1497 349, 350, 349, 351, 351, 352, 352, 352, 352, 352, 1498 353, 353, 354, 354, 355, 356, 357, 357, 358, 358, 1499 359, 359, 360, 361, 362, 362, 363, 363, 364, 364, 1500 365, 366, 366, 366, 368, 367, 369, 369, 370, 370, 1501 371, 371, 372, 373, 373, 374, 374, 375, 377, 376, 1502 378, 378, 379, 379, 380, 381, 381, 382, 382, 383, 1503 383, 384, 384, 385, 385, 386, 386, 386, 387, 388, 1504 388, 388, 388, 388, 388, 388, 388, 389, 389, 390, 1505 390, 390, 390, 390, 390, 390, 391, 392, 394, 395, 1506 393, 397, 396, 398, 396, 400, 401, 399, 402, 402, 1507 403, 405, 406, 404, 407, 407, 408, 408, 409, 409, 1508 410, 410, 410, 411, 412, 413, 414, 413, 415, 415, 1509 416, 417, 417, 418, 418, 419, 420, 420, 421, 421, 1510 422, 423, 424, 424, 426, 425, 427, 427, 428, 428, 1511 428, 430, 431, 429, 432, 432, 433, 433, 434, 434, 1512 435, 436, 435, 437, 437, 438, 439, 438, 440, 440, 1513 440, 440, 441, 442, 443, 444, 445, 446, 447, 448, 1514 449, 450, 451, 451, 451, 452, 453, 454, 454, 455, 1515 456, 455, 457, 458, 459, 460, 460, 461, 461, 461, 1516 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 1517 463, 463, 463, 463, 463, 463, 464, 466, 467, 465, 1518 468, 468, 469, 469, 470, 470, 471, 472, 473, 473, 1519 474, 475, 475, 476, 476, 477, 477, 478, 479, 479, 1520 480, 481, 483, 484, 482, 485, 485, 486, 486, 487, 1521 487, 488, 488, 489, 489, 489, 489, 489, 490, 491, 1522 491, 492, 492, 493, 493, 493, 493, 493, 494, 495, 1523 495, 496, 496, 497, 497, 498, 499, 499, 500, 500, 1524 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 1525 501, 501, 502, 502, 503, 503, 504, 504, 505, 506, 1526 507, 508, 508, 509, 510, 511, 512, 513, 513, 514, 1527 515, 516, 517, 518, 519, 520, 521, 521, 522, 522, 1528 522, 523, 523, 524, 524, 525, 525, 526, 527, 528, 1529 529, 530, 531, 531, 531, 532, 533, 534, 534, 535, 1530 535, 536, 536, 537, 538, 538, 538, 539, 540, 541, 1531 541, 542, 542, 543, 543, 544, 545, 546, 546, 547, 1532 547, 547, 548, 548, 549, 549, 549, 549, 550, 550, 1533 550, 550, 551, 551, 551, 551, 552, 552, 552, 552, 1534 553, 554, 555, 555, 556, 556, 557, 557, 558, 559, 1535 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 1536 560, 560, 560, 560, 560, 560, 560, 561, 561, 562, 1537 562, 563, 564, 565, 565, 566, 567, 568, 568, 568, 1538 569, 570, 570, 570, 571, 572, 572, 572, 573, 573, 1539 574, 574, 575, 575, 576, 577, 578, 578, 578, 579, 1540 581, 580, 582, 580, 583, 583, 585, 584, 586, 584, 1541 588, 587, 587, 589, 589, 590, 590, 590, 590, 591, 1542 592, 592, 593, 594, 595, 596, 596, 597, 597, 598, 1543 598, 598, 599, 600, 602, 603, 601, 604, 604, 605, 1544 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, 1545 606, 607, 609, 608, 610, 610, 611, 611, 611, 611, 1546 611, 613, 612, 614, 612, 612, 612, 616, 615, 617, 1547 615, 618, 618, 619, 619, 620, 621, 621, 621, 621, 1548 621, 621, 621, 621, 621, 621, 621, 622, 622, 622, 1549 623, 623, 624, 624, 625, 625, 626, 626, 627, 628, 1550 628, 629, 630, 630, 631, 631, 632, 632, 633, 633, 1551 633, 633, 633, 634, 634, 635, 635, 636, 636, 636, 1552 636, 636, 638, 637, 639, 637, 640, 641, 641, 642, 1553 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 1554 643, 645, 644, 646, 646, 648, 647, 650, 649, 651, 1555 651, 652, 652, 653, 654, 654, 655, 655, 656, 656, 1556 657, 657, 658, 660, 659, 661, 659, 662, 662, 662, 1557 663, 663, 664, 665, 665, 242, 242, 667, 666, 669, 1558 670, 668, 671, 671, 672, 672, 673, 674, 674, 675, 1559 675, 676, 677, 677, 678, 678, 678, 679, 680, 681, 1560 681, 682, 682, 683, 684, 685, 685, 686, 687, 688, 1561 687, 690, 689, 691, 689, 692, 693, 689, 695, 694, 1562 696, 696, 696, 697, 697, 698, 698, 699, 699, 699, 1563 700, 700, 701, 701, 702, 702, 702, 703, 705, 706, 1564 704, 707, 708, 709, 710, 710, 711, 711, 712, 712, 1565 713, 713, 714, 716, 715, 717, 717, 718, 720, 719, 1566 721, 722, 723, 724, 724, 725, 726, 725, 727, 727, 1567 728, 728, 729, 729, 730, 730, 732, 731, 733, 733, 1568 734, 734, 734, 734, 734, 735, 736, 736 1120 1569 }; 1121 1570 … … 1123 1572 static const yytype_uint8 yyr2[] = 1124 1573 { 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, 1132 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 1146 1, 1, 1, 2, 1, 4, 1, 1, 1, 1, 1147 1, 1, 1, 1, 1, 1, 0, 3, 1, 3, 1148 1, 1, 2, 2, 3, 1, 1, 1, 1, 1, 1149 3, 3, 3, 4, 4, 3, 4, 4, 3, 4, 1150 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1151 4, 4, 3, 4, 3, 4, 4, 1, 3, 1, 1152 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 1153 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 1154 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1155 2, 2, 2, 1, 1, 1, 1, 0, 1, 2, 1156 4, 5, 4, 4, 3, 1, 2, 1, 3, 1, 1574 0, 2, 0, 2, 1, 1, 1, 2, 1, 1, 1575 3, 2, 1, 3, 3, 1, 3, 1, 0, 1, 1576 1, 1, 1, 1, 1, 0, 1, 1, 1, 2, 1577 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1578 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 1579 2, 2, 2, 2, 2, 0, 1, 2, 2, 2, 1580 1, 1, 1, 1, 0, 1, 2, 0, 5, 0, 1581 6, 1, 0, 5, 4, 1, 2, 1, 3, 1, 1157 1582 1, 3, 5, 4, 3, 2, 2, 1, 1, 1, 1158 1583 1, 1, 1, 1, 1, 2, 2, 1, 2, 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 1584 1, 0, 1, 0, 1, 2, 0, 1, 0, 1, 1585 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1586 1, 1, 1, 1, 1, 0, 1, 2, 0, 1, 1587 1, 2, 1, 1, 0, 1, 3, 0, 1, 1, 1588 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1589 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1590 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, 1591 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1592 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1593 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1594 1, 1, 1, 0, 2, 3, 3, 0, 3, 0, 1595 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 1596 1, 3, 5, 2, 1, 2, 1, 3, 1, 1, 1597 1, 2, 1, 3, 5, 1, 1, 1, 1, 1, 1598 1, 0, 2, 0, 1, 1, 9, 5, 5, 9, 1599 3, 5, 2, 3, 3, 1, 1, 1, 1, 1, 1600 1, 0, 4, 4, 7, 0, 2, 0, 2, 1, 1601 3, 1, 2, 1, 3, 1, 2, 3, 0, 1, 1602 1, 2, 1, 4, 0, 1, 3, 1, 3, 1, 1603 1, 0, 5, 1, 1, 3, 4, 0, 3, 1, 1604 1, 0, 1, 2, 2, 2, 1, 1, 4, 1, 1605 3, 1, 3, 3, 4, 1, 3, 1, 3, 1, 1606 1, 1, 3, 3, 1, 1, 1, 1, 3, 1, 1607 1, 5, 5, 7, 1, 0, 0, 6, 0, 2, 1608 0, 1, 2, 3, 1, 1, 0, 5, 1, 0, 1609 5, 1, 1, 1, 1, 1, 1, 1, 3, 4, 1610 1, 1, 0, 1, 2, 2, 2, 1, 1, 1, 1611 0, 0, 4, 2, 4, 1, 1, 1, 1, 1, 1612 1, 3, 3, 1, 1, 1, 1, 3, 1, 2, 1613 1, 3, 1, 3, 0, 2, 0, 2, 1, 3, 1614 2, 1, 1, 1, 0, 4, 0, 2, 1, 3, 1615 1, 1, 4, 1, 3, 1, 1, 1, 0, 5, 1616 0, 1, 2, 3, 4, 1, 3, 1, 3, 1, 1617 1, 9, 11, 1, 3, 1, 1, 1, 1, 2, 1618 2, 2, 1, 1, 1, 1, 1, 0, 2, 1, 1619 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1620 6, 0, 5, 0, 7, 0, 0, 7, 1, 3, 1621 3, 0, 0, 6, 0, 1, 0, 1, 1, 3, 1622 1, 1, 1, 1, 0, 4, 0, 5, 1, 3, 1623 4, 1, 3, 1, 3, 7, 0, 6, 1, 3, 1624 1, 3, 1, 3, 0, 6, 1, 3, 1, 1, 1625 1, 0, 0, 7, 0, 1, 1, 3, 0, 1, 1626 0, 0, 5, 1, 3, 1, 0, 5, 1, 1, 1627 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1628 1, 1, 1, 4, 4, 3, 2, 0, 3, 1, 1629 0, 5, 1, 1, 1, 1, 4, 0, 1, 3, 1630 2, 1, 2, 3, 4, 2, 1, 3, 4, 2, 1631 1, 2, 3, 4, 2, 0, 1, 0, 0, 8, 1632 0, 2, 1, 3, 2, 3, 1, 1, 1, 3, 1633 2, 1, 1, 0, 3, 1, 3, 2, 0, 2, 1634 1, 1, 0, 0, 8, 1, 3, 0, 2, 1, 1635 3, 2, 3, 1, 1, 1, 1, 3, 1, 1, 1636 3, 1, 3, 1, 2, 3, 1, 2, 1, 1, 1637 1, 1, 1, 1, 3, 1, 1, 3, 1, 1, 1638 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1639 1, 2, 1, 3, 1, 3, 1, 3, 1, 1, 1640 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1641 1, 1, 1, 1, 1, 1, 4, 5, 5, 7, 1642 4, 0, 3, 1, 3, 1, 3, 2, 3, 1, 1643 1, 3, 1, 1, 1, 5, 5, 0, 2, 0, 1644 3, 0, 3, 5, 1, 1, 1, 1, 1, 4, 1645 5, 2, 3, 2, 3, 0, 1, 0, 2, 1, 1646 1, 1, 3, 3, 4, 2, 5, 3, 4, 2, 1647 5, 3, 4, 2, 5, 3, 6, 8, 5, 3, 1648 1, 1, 1, 2, 3, 4, 1, 1, 3, 2, 1649 1, 1, 1, 1, 1, 1, 1, 2, 4, 1, 1650 1, 1, 1, 1, 1, 1, 1, 4, 3, 2, 1651 3, 3, 2, 0, 1, 3, 5, 0, 1, 2, 1652 2, 0, 1, 2, 2, 7, 8, 6, 6, 7, 1653 2, 3, 2, 3, 5, 3, 0, 1, 2, 2, 1654 0, 8, 0, 6, 3, 4, 0, 3, 0, 4, 1655 0, 4, 1, 1, 3, 1, 2, 2, 3, 1, 1656 2, 3, 3, 10, 3, 2, 3, 1, 1, 1, 1657 1, 1, 1, 1, 0, 0, 7, 1, 3, 1, 1658 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 1659 1, 1, 0, 7, 1, 3, 1, 2, 2, 2, 1660 3, 0, 6, 0, 7, 4, 6, 0, 6, 0, 1661 7, 4, 6, 1, 3, 1, 1, 2, 1, 1, 1662 2, 2, 2, 2, 2, 2, 3, 1, 1, 1, 1663 1, 3, 1, 1, 1, 3, 1, 1, 5, 1, 1664 3, 1, 5, 7, 3, 5, 1, 3, 1, 2, 1665 2, 2, 2, 3, 5, 1, 3, 1, 2, 2, 1666 2, 2, 0, 7, 0, 9, 0, 1, 3, 1, 1667 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 1668 2, 0, 5, 0, 1, 0, 4, 0, 6, 0, 1669 1, 0, 1, 2, 0, 1, 1, 2, 1, 1, 1670 1, 2, 0, 0, 8, 0, 11, 0, 1, 3, 1671 0, 1, 5, 0, 1, 0, 1, 0, 4, 0, 1672 0, 6, 0, 1, 0, 1, 1, 0, 2, 1, 1673 3, 3, 1, 3, 1, 1, 1, 1, 1, 3, 1674 4, 1, 3, 1, 4, 1, 3, 1, 3, 0, 1675 5, 0, 3, 0, 5, 0, 0, 7, 0, 4, 1676 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1677 0, 1, 1, 2, 1, 1, 1, 5, 0, 0, 1678 10, 1, 1, 1, 0, 1, 2, 2, 0, 1, 1679 0, 1, 4, 0, 7, 0, 1, 5, 0, 6, 1680 1, 6, 0, 0, 1, 0, 0, 5, 0, 1, 1681 1, 3, 1, 1, 3, 4, 0, 4, 1, 1, 1682 3, 3, 1, 3, 1, 0, 1, 3 1185 1683 }; 1186 1684 … … 1190 1688 static const yytype_uint16 yydefact[] = 1191 1689 { 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, 1690 2, 0, 1, 6, 8, 0, 0, 17, 9, 1036, 1691 1035, 0, 18, 3, 4, 5, 12, 15, 20, 1034, 1692 0, 21, 106, 19, 106, 0, 203, 1032, 22, 106, 1693 23, 106, 24, 18, 977, 945, 209, 207, 217, 211, 1694 215, 213, 88, 307, 0, 0, 7, 11, 18, 203, 1695 204, 974, 108, 0, 107, 960, 193, 193, 0, 0, 1696 1035, 1033, 193, 193, 16, 0, 0, 219, 219, 219, 1697 219, 243, 219, 0, 205, 206, 10, 13, 14, 465, 1698 0, 0, 0, 368, 369, 25, 0, 474, 0, 511, 1699 195, 25, 265, 256, 258, 0, 257, 88, 196, 549, 1700 105, 109, 110, 116, 0, 194, 0, 112, 261, 117, 1701 203, 406, 474, 143, 144, 146, 147, 0, 113, 152, 1702 0, 0, 115, 151, 148, 145, 533, 0, 531, 542, 1703 547, 530, 528, 529, 118, 119, 120, 719, 717, 717, 1704 720, 746, 747, 124, 717, 121, 123, 114, 149, 150, 1705 122, 962, 961, 0, 194, 941, 944, 203, 0, 0, 1706 103, 0, 0, 0, 0, 0, 926, 0, 0, 0, 1707 0, 0, 88, 134, 126, 193, 153, 0, 158, 164, 1708 159, 174, 180, 157, 697, 154, 163, 156, 171, 155, 1709 796, 166, 165, 182, 162, 179, 173, 161, 176, 181, 1710 175, 178, 167, 172, 160, 1011, 177, 1060, 1065, 1041, 1711 0, 134, 134, 978, 946, 0, 0, 210, 220, 208, 1712 218, 212, 0, 0, 216, 244, 245, 214, 202, 658, 1713 631, 632, 201, 1021, 0, 259, 260, 1022, 232, 226, 1714 0, 325, 549, 0, 614, 311, 626, 187, 188, 190, 1715 191, 189, 0, 309, 615, 0, 613, 618, 619, 621, 1716 623, 633, 0, 636, 650, 652, 654, 656, 663, 0, 1717 666, 669, 200, 616, 0, 0, 940, 0, 373, 504, 1718 0, 502, 26, 733, 0, 0, 0, 1003, 0, 1001, 1719 475, 0, 0, 514, 725, 0, 0, 0, 0, 0, 1720 518, 0, 425, 430, 533, 429, 0, 550, 111, 0, 1721 0, 0, 0, 88, 0, 667, 203, 338, 404, 0, 1722 0, 474, 474, 203, 0, 0, 0, 0, 667, 546, 1723 741, 193, 197, 197, 777, 967, 1076, 484, 953, 203, 1724 956, 958, 959, 0, 0, 88, 549, 168, 104, 0, 1725 0, 820, 0, 1079, 1078, 170, 577, 834, 0, 0, 1726 832, 0, 0, 0, 602, 0, 825, 665, 673, 675, 1727 827, 672, 828, 674, 0, 0, 0, 979, 135, 127, 1728 193, 130, 132, 133, 0, 0, 0, 0, 0, 1018, 1729 699, 0, 0, 797, 717, 1015, 0, 1066, 1058, 1038, 1730 484, 484, 223, 0, 0, 0, 255, 252, 0, 0, 1731 0, 0, 0, 324, 327, 330, 329, 0, 0, 549, 1732 626, 236, 188, 0, 0, 0, 0, 0, 308, 0, 1733 628, 0, 629, 630, 0, 627, 224, 0, 187, 624, 1734 639, 638, 643, 641, 642, 640, 635, 644, 645, 647, 1735 649, 646, 648, 0, 0, 659, 0, 660, 0, 662, 1736 661, 0, 651, 1009, 0, 0, 0, 0, 501, 0, 1737 715, 740, 0, 735, 0, 0, 999, 1007, 0, 1005, 1738 0, 516, 0, 0, 515, 727, 0, 268, 269, 271, 1739 0, 266, 0, 437, 0, 433, 553, 436, 552, 435, 1740 519, 418, 518, 0, 0, 0, 0, 25, 25, 557, 1741 1074, 0, 889, 226, 888, 665, 887, 0, 0, 824, 1742 0, 0, 0, 0, 668, 284, 0, 203, 280, 282, 1743 0, 0, 0, 341, 0, 410, 407, 408, 411, 417, 1744 0, 413, 415, 416, 0, 476, 486, 0, 0, 488, 1745 88, 613, 0, 532, 692, 693, 694, 0, 0, 600, 1746 0, 0, 683, 685, 0, 0, 0, 0, 718, 199, 1747 25, 0, 0, 193, 717, 722, 742, 748, 0, 768, 1748 193, 723, 0, 781, 778, 717, 0, 968, 0, 0, 1749 0, 942, 957, 708, 0, 0, 775, 821, 822, 0, 1750 0, 0, 0, 0, 0, 0, 666, 917, 0, 915, 1751 913, 0, 0, 0, 0, 908, 0, 906, 904, 0, 1752 1086, 0, 826, 0, 203, 972, 0, 131, 0, 852, 1753 830, 0, 0, 0, 0, 0, 0, 0, 0, 88, 1754 537, 833, 876, 829, 831, 0, 879, 873, 878, 0, 1755 0, 0, 0, 707, 705, 706, 701, 698, 704, 812, 1756 810, 0, 806, 798, 795, 799, 1013, 0, 1012, 1068, 1757 0, 1068, 0, 1037, 0, 1057, 0, 221, 0, 0, 1758 0, 0, 250, 0, 329, 322, 0, 229, 228, 233, 1759 227, 0, 188, 617, 312, 310, 326, 323, 187, 620, 1760 622, 625, 634, 637, 653, 655, 657, 1008, 0, 0, 1761 0, 468, 374, 534, 0, 508, 510, 542, 509, 503, 1762 0, 739, 0, 1000, 1002, 0, 1004, 0, 0, 525, 1763 520, 523, 272, 0, 263, 0, 0, 0, 0, 422, 1764 426, 549, 442, 224, 443, 230, 447, 445, 0, 446, 1765 444, 0, 427, 447, 456, 306, 0, 367, 0, 732, 1766 0, 724, 0, 561, 0, 0, 549, 0, 558, 566, 1767 575, 576, 1075, 0, 871, 0, 0, 0, 544, 667, 1768 0, 285, 0, 0, 262, 281, 353, 345, 0, 348, 1769 0, 351, 352, 354, 355, 356, 342, 344, 361, 336, 1770 357, 370, 339, 0, 405, 0, 0, 412, 0, 459, 1771 360, 480, 472, 477, 478, 481, 482, 0, 0, 203, 1772 485, 0, 680, 687, 0, 682, 0, 0, 689, 0, 1773 676, 543, 548, 729, 0, 0, 0, 0, 0, 0, 1774 0, 194, 750, 754, 751, 765, 749, 759, 756, 743, 1775 761, 753, 763, 766, 762, 764, 755, 760, 752, 769, 1776 717, 767, 0, 0, 0, 779, 0, 782, 717, 780, 1777 986, 0, 987, 1077, 949, 0, 802, 591, 553, 592, 1778 580, 588, 593, 0, 0, 0, 0, 0, 0, 0, 1779 0, 0, 0, 839, 0, 837, 0, 0, 0, 0, 1780 0, 0, 0, 0, 0, 0, 0, 929, 0, 927, 1781 918, 921, 541, 919, 540, 539, 851, 538, 920, 0, 1782 0, 909, 912, 911, 910, 0, 0, 605, 607, 0, 1783 169, 0, 136, 203, 139, 141, 142, 982, 193, 0, 1784 0, 830, 877, 881, 875, 880, 882, 883, 884, 885, 1785 0, 867, 861, 0, 865, 1020, 1019, 0, 0, 697, 1786 0, 0, 804, 808, 0, 0, 549, 0, 1028, 1027, 1787 0, 1023, 1025, 1073, 1043, 1072, 0, 1069, 1070, 1059, 1788 0, 1055, 1063, 0, 254, 0, 0, 0, 0, 328, 1789 192, 240, 238, 239, 0, 0, 0, 0, 466, 0, 1790 667, 0, 0, 1006, 534, 496, 498, 500, 517, 526, 1791 0, 512, 270, 275, 0, 273, 549, 434, 0, 438, 1792 419, 423, 550, 0, 440, 441, 0, 0, 424, 439, 1793 225, 231, 0, 734, 726, 0, 562, 569, 565, 0, 1794 0, 551, 570, 0, 560, 0, 896, 0, 894, 897, 1795 0, 0, 677, 545, 290, 0, 293, 0, 287, 289, 1796 297, 0, 294, 0, 276, 346, 349, 0, 0, 371, 1797 241, 343, 409, 414, 461, 0, 0, 0, 0, 487, 1798 493, 0, 491, 489, 690, 691, 688, 601, 0, 684, 1799 0, 686, 0, 678, 731, 25, 0, 744, 0, 1084, 1800 1082, 0, 757, 0, 0, 193, 771, 770, 0, 0, 1801 790, 0, 783, 776, 784, 969, 0, 963, 950, 951, 1802 703, 695, 0, 0, 0, 0, 590, 850, 664, 844, 1803 841, 842, 845, 848, 0, 840, 843, 847, 846, 0, 1804 835, 931, 0, 0, 932, 933, 939, 930, 536, 938, 1805 535, 934, 936, 935, 0, 922, 916, 914, 907, 905, 1806 0, 0, 1087, 0, 140, 983, 984, 794, 0, 194, 1807 0, 0, 0, 0, 856, 0, 854, 886, 874, 0, 1808 869, 0, 892, 0, 863, 890, 893, 0, 0, 0, 1809 0, 697, 696, 700, 0, 819, 0, 813, 815, 805, 1810 0, 807, 1014, 0, 0, 1016, 1050, 0, 1044, 1056, 1811 951, 1064, 951, 222, 0, 251, 0, 248, 247, 549, 1812 0, 0, 334, 234, 1010, 671, 470, 469, 0, 0, 1813 506, 0, 738, 0, 0, 518, 394, 524, 0, 0, 1814 0, 0, 0, 0, 192, 449, 184, 185, 186, 451, 1815 452, 454, 455, 453, 448, 450, 313, 0, 0, 315, 1816 317, 689, 319, 320, 321, 428, 0, 563, 0, 0, 1817 567, 559, 0, 571, 574, 896, 901, 0, 899, 0, 1818 872, 787, 0, 291, 0, 286, 0, 241, 0, 283, 1819 277, 394, 0, 358, 337, 394, 0, 362, 394, 0, 1820 460, 473, 479, 0, 0, 490, 687, 0, 0, 728, 1821 0, 745, 0, 0, 32, 33, 91, 71, 94, 259, 1822 260, 256, 258, 257, 232, 226, 0, 0, 27, 63, 1823 65, 62, 549, 28, 101, 666, 0, 0, 772, 0, 1824 791, 0, 792, 0, 0, 988, 989, 0, 952, 947, 1825 803, 0, 0, 581, 582, 589, 578, 0, 595, 0, 1826 0, 849, 838, 0, 937, 0, 928, 0, 0, 0, 1827 606, 608, 609, 603, 800, 985, 980, 0, 0, 0, 1828 857, 859, 858, 0, 0, 868, 0, 862, 0, 0, 1829 866, 0, 0, 711, 0, 713, 702, 817, 0, 811, 1830 816, 809, 549, 1026, 1024, 0, 1042, 1051, 1067, 1071, 1831 0, 1048, 1039, 1045, 1050, 1062, 1062, 0, 0, 331, 1832 0, 467, 0, 505, 543, 736, 499, 495, 0, 388, 1833 0, 375, 380, 0, 383, 376, 386, 377, 390, 378, 1834 396, 0, 379, 398, 670, 385, 513, 521, 274, 264, 1835 0, 237, 235, 0, 0, 314, 785, 564, 568, 572, 1836 0, 0, 895, 0, 0, 288, 392, 0, 299, 0, 1837 300, 301, 295, 0, 402, 403, 401, 0, 0, 242, 1838 0, 0, 359, 363, 0, 463, 494, 492, 679, 730, 1839 0, 31, 1081, 1083, 30, 1085, 66, 542, 67, 72, 1840 1080, 95, 98, 96, 102, 0, 0, 0, 0, 0, 1206 1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 1842 55, 0, 0, 0, 29, 758, 193, 0, 793, 970, 1843 0, 0, 964, 0, 587, 584, 0, 0, 0, 0, 1844 594, 597, 599, 836, 924, 923, 611, 0, 0, 0, 1845 0, 0, 0, 0, 860, 855, 853, 870, 891, 864, 1846 0, 709, 712, 714, 814, 818, 1017, 0, 1046, 1049, 1847 0, 1047, 1053, 0, 0, 0, 0, 507, 0, 0, 1848 527, 395, 389, 0, 0, 0, 0, 384, 400, 396, 1849 0, 0, 318, 316, 573, 0, 900, 0, 786, 0, 1850 298, 0, 0, 0, 0, 296, 302, 347, 350, 372, 1851 364, 366, 365, 306, 462, 394, 0, 64, 64, 64, 1852 0, 54, 60, 49, 39, 50, 51, 52, 48, 38, 1853 46, 47, 40, 45, 34, 35, 36, 0, 0, 53, 1854 56, 37, 0, 42, 0, 41, 0, 788, 997, 965, 1855 996, 971, 992, 995, 994, 991, 990, 948, 586, 585, 1856 583, 579, 596, 0, 612, 610, 604, 801, 981, 193, 1857 0, 710, 0, 1040, 0, 1061, 0, 0, 0, 737, 1858 0, 381, 382, 385, 388, 0, 387, 391, 397, 393, 1859 399, 522, 0, 0, 898, 292, 303, 305, 304, 0, 1860 74, 61, 75, 0, 0, 0, 59, 57, 58, 44, 1861 43, 789, 0, 0, 925, 0, 1052, 1054, 246, 249, 1862 332, 0, 389, 0, 431, 0, 464, 72, 87, 76, 1863 77, 80, 79, 68, 0, 73, 966, 993, 823, 0, 1864 497, 0, 0, 0, 85, 0, 86, 70, 333, 432, 1865 902, 84, 0, 78, 81, 0, 83, 0, 903, 82 1298 1866 }; 1299 1867 … … 1301 1869 static const yytype_int16 yydefgoto[] = 1302 1870 { 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 1871 -1, 1, 13, 14, 15, 16, 46, 17, 18, 33, 1872 284, 1326, 1327, 1524, 1639, 1621, 1328, 1702, 1329, 1617, 1873 1618, 1330, 1619, 1331, 1703, 1729, 1730, 1731, 346, 1333, 1874 1334, 1503, 347, 51, 52, 100, 101, 102, 173, 174, 1875 379, 380, 381, 377, 378, 932, 933, 934, 103, 175, 1876 176, 243, 1245, 1246, 244, 991, 177, 105, 572, 1105, 1877 245, 19, 20, 44, 68, 67, 70, 72, 71, 69, 1878 217, 218, 246, 247, 689, 421, 248, 249, 423, 994, 1879 1297, 224, 225, 226, 407, 250, 251, 107, 316, 108, 1880 297, 298, 487, 488, 1014, 1015, 784, 526, 527, 528, 1881 529, 782, 1057, 1058, 1464, 1061, 1062, 1287, 1467, 1605, 1882 1606, 747, 748, 252, 253, 749, 1258, 1259, 1260, 254, 1883 412, 255, 697, 413, 414, 415, 1220, 1221, 109, 110, 1884 1068, 531, 532, 533, 796, 1291, 1292, 799, 800, 811, 1885 801, 1482, 1483, 750, 111, 1070, 1295, 1406, 1430, 1431, 1886 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1887 1442, 1443, 1477, 113, 534, 318, 536, 537, 114, 540, 1888 541, 542, 115, 737, 501, 502, 300, 301, 751, 302, 1889 303, 494, 495, 1018, 752, 1024, 1254, 753, 754, 116, 1890 117, 1076, 809, 1298, 1615, 118, 275, 1228, 710, 711, 1891 119, 120, 1077, 291, 812, 813, 814, 815, 53, 122, 1892 817, 548, 549, 1081, 1082, 123, 1235, 1005, 1006, 124, 1893 280, 281, 466, 1229, 714, 125, 293, 1238, 483, 543, 1894 503, 1011, 1590, 730, 731, 1236, 256, 552, 127, 877, 1895 1149, 1150, 641, 916, 917, 1658, 914, 128, 522, 129, 1896 329, 130, 509, 497, 131, 132, 133, 767, 768, 1044, 1897 769, 178, 599, 1538, 1124, 1353, 1354, 1659, 1535, 880, 1898 881, 882, 1126, 1357, 1358, 1359, 1360, 1086, 179, 619, 1899 1549, 928, 1161, 1371, 1372, 257, 258, 259, 260, 261, 1900 431, 434, 262, 263, 453, 264, 454, 265, 266, 267, 1901 268, 269, 456, 458, 461, 270, 1127, 1128, 271, 523, 1902 360, 1445, 1226, 370, 371, 372, 373, 180, 181, 326, 1903 560, 561, 562, 563, 1263, 555, 556, 1264, 182, 183, 1904 390, 656, 958, 184, 657, 658, 594, 959, 1191, 1192, 1905 721, 330, 331, 185, 137, 138, 574, 139, 285, 472, 1906 332, 575, 576, 140, 141, 577, 846, 142, 578, 579, 1907 1106, 349, 186, 187, 583, 584, 866, 867, 144, 585, 1908 868, 1113, 188, 189, 392, 393, 190, 1550, 1122, 394, 1909 664, 964, 1200, 661, 960, 1196, 1197, 1198, 191, 192, 1910 193, 194, 195, 374, 642, 643, 644, 196, 600, 1363, 1911 894, 895, 1129, 918, 197, 939, 1175, 1176, 198, 1183, 1912 1389, 199, 1179, 1386, 200, 645, 646, 647, 648, 1184, 1913 1185, 1047, 1048, 1049, 1277, 1278, 1597, 201, 616, 617, 1914 202, 608, 609, 203, 1367, 1663, 358, 908, 909, 383, 1915 21, 337, 155, 22, 66, 591, 1533, 1119, 1349, 156, 1916 338, 339, 340, 54, 335, 55, 1347, 1712, 588, 1649, 1917 23, 56, 24, 65, 625, 626, 1551, 1166, 1376, 871, 1918 1117, 1345, 1650, 1651, 1652, 1653, 538, 148, 288, 289, 1919 149, 478, 479, 273, 708, 204, 396, 965, 667, 1405, 1920 205, 651, 274, 970, 971, 972, 25, 26, 27, 28, 1921 29, 671, 1570, 210, 1407, 975, 1412, 1413, 1568, 1408, 1922 1414, 673, 1674, 1210, 30, 31, 670, 208, 675, 1572, 1923 1212, 398, 669, 976, 977, 978, 206, 157, 589, 355, 1924 1102, 1616, 621 1324 1925 }; 1325 1926 1326 1927 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1327 1928 STATE-NUM. */ 1328 #define YYPACT_NINF - 8451929 #define YYPACT_NINF -1443 1329 1930 static const yytype_int16 yypact[] = 1330 1931 { 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 1932 -1443, 781, -1443, -1443, -1443, -66, 24, -1443, -1443, -1443, 1933 134, 919, -1443, -1443, 72, 307, -1443, -1443, -1443, -1443, 1934 975, -1443, 154, -1443, 154, 623, 403, -1443, -1443, 154, 1935 -1443, 154, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 1936 -1443, -1443, -1443, 142, 200, 224, -1443, -1443, -1443, 704, 1937 -1443, -1443, 4029, 267, 154, -1443, 3, 4324, 254, 304, 1938 -1443, -1443, 4324, 4324, -1443, 193, 193, 87, 87, 87, 1939 87, 207, 87, 1692, -1443, -1443, -1443, -1443, -1443, -1443, 1940 193, 102, 242, -1443, -1443, 96, 259, 359, 510, -1443, 1941 -1443, 96, 184, -1443, -1443, 508, -1443, 568, -1443, 388, 1942 -1443, 4029, -1443, -1443, 518, 1048, 404, -1443, -1443, -1443, 1943 459, 355, 359, -1443, -1443, -1443, -1443, 492, -1443, -1443, 1944 503, 552, -1443, -1443, -1443, -1443, 410, 685, -1443, 505, 1945 -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 1946 -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 1947 -1443, -1443, -1443, 606, -1443, -1443, -1443, 650, 532, 537, 1948 3547, 310, 374, 486, 578, 595, -1443, 3801, 3816, 608, 1949 612, 3587, 752, 703, -1443, 4216, -1443, 1148, -1443, -1443, 1950 -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 1951 786, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 1952 -1443, -1443, -1443, -1443, -1443, 646, -1443, -1443, 662, -1443, 1953 664, 703, 703, 72, 72, 651, 1619, -1443, -1443, -1443, 1954 -1443, -1443, 550, 1481, -1443, -1443, -1443, -1443, -1443, -1443, 1955 -1443, -1443, -1443, -1443, 3831, -1443, -1443, -1443, 659, 674, 1956 3846, -1443, 122, 865, -1443, -1443, -1443, 705, -1443, -1443, 1957 404, -1443, 111, -1443, -1443, 3831, -1443, -1443, 862, -1443, 1958 831, 225, 1123, 891, -1443, -1443, 888, 905, 856, 1023, 1959 -1443, -1443, -1443, -1443, 723, 729, 72, 877, -1443, -1443, 1960 100, -1443, -1443, 72, 496, 193, 740, -1443, 101, -1443, 1961 -1443, 755, 771, 665, 72, 193, 270, 783, 360, 596, 1962 104, 633, -1443, -1443, -1443, -1443, 342, -1443, -1443, 3587, 1963 3602, 3846, 193, 946, 971, 3846, 694, 231, -1443, 790, 1964 205, 359, 359, 326, 3886, 3846, 839, 3846, 3846, 792, 1965 -1443, 4131, 480, 824, 894, 247, -1443, -1443, -1443, 795, 1966 -1443, -1443, -1443, 3846, 3846, 331, 388, -1443, -1443, 193, 1967 193, 72, 193, -1443, -1443, -1443, -1443, -1443, 811, 2546, 1968 -1443, 193, 3403, 193, -1443, 814, 72, -1443, -1443, -1443, 1969 -1443, -1443, -1443, -1443, 193, 395, 193, -1443, -1443, -1443, 1970 4239, -1443, -1443, -1443, 3846, 819, 3158, 3158, 3602, -1443, 1971 745, 93, 106, -1443, -1443, 822, 193, -1443, -1443, -1443, 1972 -1443, -1443, -1443, 1020, 835, 1692, -1443, -1443, 1021, 1028, 1973 127, 3831, 863, 1035, -1443, -1443, -1443, 708, 708, 463, 1974 864, -1443, 869, 871, 1123, 854, 1692, 1692, -1443, 855, 1975 -1443, 1123, -1443, -1443, 1123, -1443, -1443, 1123, 884, 831, 1976 -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 1977 -1443, -1443, -1443, 1023, 1023, -1443, 3846, -1443, 3846, -1443, 1978 -1443, 3846, -1443, 867, 874, 868, 1069, 242, 72, 876, 1979 -1443, -1443, 1063, 72, 101, 740, 72, -1443, 110, -1443, 1980 1050, -1443, 881, 882, -1443, 72, 885, 1074, -1443, -1443, 1981 193, -1443, 890, -1443, 1079, -1443, -1443, -1443, -1443, -1443, 1982 -1443, -1443, 113, 508, 508, 615, 3846, 96, 96, 1574, 1983 72, 193, -1443, 88, -1443, -1443, -1443, 114, 896, 72, 1984 974, 3846, 898, 1082, -1443, 325, 926, 762, -1443, -1443, 1985 1036, 909, 947, 1101, 193, -1443, 1103, -1443, -1443, -1443, 1986 115, -1443, -1443, -1443, 915, 241, -1443, 916, 120, -1443, 1987 -1443, 85, 913, -1443, -1443, -1443, -1443, 193, 1110, -1443, 1988 129, 137, -1443, -1443, 1069, 193, 923, 814, -1443, -1443, 1989 96, 1116, 1008, 4006, -1443, -1443, -1443, -1443, 62, -1443, 1990 252, -1443, 933, 834, -1443, -1443, 990, -1443, 938, 193, 1991 951, -1443, -1443, -1443, 940, 944, 72, 72, 72, 814, 1992 3083, 2997, 3846, 374, 1069, 1069, 854, -1443, 138, -1443, 1993 72, 3846, 374, 1069, 1069, -1443, 140, -1443, 72, 814, 1994 -1443, 149, 72, 950, 509, -1443, 957, -1443, 952, -1443, 1995 -1443, 1136, 3617, 3602, 958, 374, 374, 374, 1069, -1443, 1996 -1443, -1443, -1443, -1443, -1443, 152, -1443, -1443, -1443, 155, 1997 123, 425, 1069, -1443, -1443, -1443, 1117, -1443, -1443, -1443, 1998 -1443, 397, 963, -1443, -1443, -1443, -1443, 3846, 72, 80, 1999 193, 80, 977, -1443, 978, -1443, 3846, -1443, 962, 1692, 2000 3846, 3846, -1443, 1160, 854, -1443, 3831, -1443, -1443, -1443, 2001 -1443, 237, 989, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 2002 -1443, 831, 225, 1150, -1443, 888, 905, -1443, 3846, 1167, 2003 165, -1443, -1443, 529, 1173, -1443, -1443, 985, -1443, -1443, 2004 3846, -1443, 3846, 72, -1443, 755, 72, 814, 1158, 987, 2005 1180, -1443, -1443, 270, 72, 992, 596, 193, 508, -1443, 2006 -1443, 991, -1443, 1165, -1443, -1443, 244, -1443, 994, -1443, 2007 -1443, 643, -1443, 1165, -1443, 1170, 535, -1443, 1001, 72, 2008 193, 72, 193, 1723, 374, 3846, 144, 178, -1443, -1443, 2009 141, -1443, 72, 3901, 72, 1096, 3846, 193, -1443, 3846, 2010 620, -1443, 814, 439, -1443, -1443, -1443, -1443, 1011, -1443, 2011 1013, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 1199, 2012 -1443, 1016, -1443, 1036, 72, 790, 205, 72, 1024, 1211, 2013 -1443, -1443, -1443, 1218, -1443, -1443, -1443, 193, 1032, 459, 2014 72, 1037, 72, 3846, 3846, -1443, 3846, 1088, -1443, 193, 2015 72, -1443, -1443, 72, 193, 1071, 447, 1045, 3916, 1049, 2016 924, 1069, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 2017 -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 824, 2018 -1443, -1443, 1104, 3846, 493, -1443, 691, -1443, -1443, -1443, 2019 -1443, 1090, 1244, 72, 1135, 931, -1443, -1443, -1443, -1443, 2020 1249, -1443, 1059, 3846, 3846, 3846, 3846, 3846, 1255, 3846, 2021 374, 3846, 1069, -1443, 187, -1443, 3846, 1257, 1069, 1069, 2022 1069, 1069, 3846, 1069, 374, 1069, 1069, -1443, 188, -1443, 2023 -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 2546, 2024 193, -1443, -1443, -1443, -1443, 3403, 193, -1443, 1261, 814, 2025 -1443, 3846, -1443, 960, -1443, -1443, -1443, 1235, 2666, 3475, 2026 3846, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 2027 3158, 3901, 1034, 1034, 72, -1443, -1443, 3846, 903, -1443, 2028 1768, 193, 72, -1443, 193, 193, 122, 1267, -1443, -1443, 2029 189, -1443, -1443, -1443, -1443, -1443, 1081, 1263, -1443, 72, 2030 1083, 1251, 1254, 1085, -1443, 195, 198, 1100, 3831, -1443, 2031 -1443, -1443, -1443, -1443, 1102, 203, 3846, 874, -1443, 1069, 2032 3846, 1105, 1293, -1443, -1443, 1295, -1443, -1443, -1443, -1443, 2033 882, 625, -1443, -1443, 208, -1443, 146, -1443, 1296, -1443, 2034 72, -1443, 1692, 2409, -1443, -1443, 3667, 615, -1443, -1443, 2035 -1443, -1443, 1198, 72, 72, 3846, 1300, -1443, -1443, 3682, 2036 1574, -1443, 1816, 3846, -1443, 3901, -1443, 132, -1443, -1443, 2037 193, 1111, 72, -1443, -1443, 1126, -1443, 346, -1443, -1443, 2038 1128, 139, -1443, 193, 72, -1443, -1443, 909, 193, -1443, 2039 1306, -1443, -1443, -1443, -1443, 1137, 193, 193, 241, 72, 2040 1308, 209, -1443, -1443, -1443, -1443, -1443, -1443, 1326, -1443, 2041 1328, -1443, 1069, 72, 72, 96, 193, 72, 3846, 2934, 2042 2880, 3371, -1443, 814, 3846, 4347, -1443, 824, 1139, 193, 2043 72, 506, -1443, -1443, -1443, -1443, 83, -1443, -1443, 1143, 2044 72, -1443, 193, 289, 1144, 3846, -1443, -1443, -1443, -1443, 2045 -1443, -1443, -1443, -1443, 3846, -1443, -1443, -1443, -1443, 3083, 2046 -1443, -1443, 1069, 1147, -1443, -1443, -1443, -1443, -1443, -1443, 2047 -1443, -1443, -1443, -1443, 3317, -1443, -1443, 72, -1443, 72, 2048 450, 1149, -1443, 1151, -1443, -1443, 1146, -1443, 1210, 239, 2049 1338, 3846, 374, 1069, -1443, 210, -1443, -1443, -1443, 193, 2050 1342, 3901, -1443, 193, 1344, -1443, -1443, 143, 1154, 520, 2051 557, -1443, -1443, 745, 3846, -1443, 211, -1443, 1347, 72, 2052 193, 72, 72, 3846, 3846, -1443, 1305, 80, 558, -1443, 2053 1143, -1443, 1143, -1443, 1258, -1443, 1282, -1443, -1443, 146, 2054 1163, 1355, -1443, -1443, -1443, -1443, -1443, -1443, 193, 212, 2055 -1443, 1168, -1443, 3846, 814, 159, 1894, -1443, 193, 665, 2056 992, 193, 3846, 237, 585, -1443, -1443, -1443, -1443, -1443, 2057 -1443, -1443, -1443, -1443, -1443, -1443, -1443, 1357, 215, -1443, 2058 -1443, 1164, -1443, -1443, -1443, -1443, 193, -1443, 3846, 374, 2059 -1443, -1443, 3846, 1361, -1443, 854, -1443, 1363, -1443, 3901, 2060 72, 72, 1264, -1443, 620, -1443, 1927, 1306, 814, 72, 2061 72, 1894, 602, -1443, 72, 1894, 550, 305, 1894, 1176, 2062 72, 72, -1443, 1175, 1032, -1443, -1443, 3846, 193, 72, 2063 193, 72, 1177, 3846, -1443, -1443, -1443, -1443, -1443, 636, 2064 640, 809, 836, 1009, 547, 562, 1178, 3846, 1174, -1443, 2065 1069, 1181, 514, 1186, 1099, 654, 216, 1184, -1443, 1276, 2066 72, 193, 72, 1377, 1236, 1379, -1443, 193, -1443, -1443, 2067 72, 1069, 1381, 1384, -1443, -1443, -1443, 217, -1443, 3846, 2068 1380, -1443, -1443, 193, -1443, 3901, -1443, 193, 1069, 1383, 2069 -1443, 1386, -1443, -1443, -1443, -1443, -1443, 3846, 374, 3846, 2070 -1443, -1443, -1443, 3475, 193, 72, 193, 72, 1034, 193, 2071 72, 586, 193, 72, 193, 72, 745, -1443, 1768, -1443, 2072 3846, 72, 388, -1443, -1443, 193, -1443, -1443, -1443, -1443, 2073 1196, 1367, -1443, -1443, 1305, -1443, -1443, 1389, 1392, -1443, 2074 3846, 72, 1069, -1443, -1443, 1395, -1443, 72, 1378, -1443, 2075 1204, 1398, -1443, 1399, -1443, 1401, -1443, 1402, -1443, -1443, 2076 3846, 1385, 1404, -1443, -1443, 1405, 72, -1443, -1443, 72, 2077 1407, -1443, -1443, 3886, 3886, -1443, 72, -1443, -1443, -1443, 2078 3846, 3901, -1443, 193, 1927, -1443, -1443, 1217, 1410, 1412, 2079 1402, 362, -1443, 1219, -1443, -1443, -1443, 1222, 1223, -1443, 2080 3846, 669, -1443, -1443, 1224, -1443, -1443, -1443, 72, 72, 2081 760, -1443, -1443, -1443, -1443, -1443, -1443, 985, -1443, 112, 2082 -1443, -1443, 1226, -1443, -1443, 2015, 3846, 3846, 3846, 3846, 2083 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 2084 1425, 3846, 2474, 2531, -1443, -1443, 4347, 588, 72, 1229, 2085 1230, 1231, 72, 193, -1443, -1443, 1069, 291, 193, 3846, 2086 -1443, -1443, -1443, 72, 1342, 72, -1443, 1069, 301, 193, 2087 193, 193, 1232, 1421, -1443, -1443, 72, 72, -1443, 72, 2088 193, 72, 72, 72, -1443, -1443, 72, 1239, -1443, -1443, 2089 193, -1443, -1443, 193, 3846, 1692, 1429, -1443, 3846, 1241, 2090 -1443, 3846, 3697, 2153, 1424, 1430, 1416, -1443, -1443, 3846, 2091 882, 3846, -1443, -1443, -1443, 1433, -1443, 1246, 72, 1253, 2092 -1443, 3846, 3846, 3846, 669, -1443, -1443, -1443, -1443, -1443, 2093 -1443, -1443, -1443, -1443, -1443, 1894, 249, -1443, -1443, -1443, 2094 3846, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 2095 -1443, -1443, -1443, -1443, -1443, -1443, -1443, 3846, 3846, -1443, 2096 -1443, -1443, 3846, -1443, 3846, -1443, 193, 72, 1236, -1443, 2097 -1443, 1436, -1443, -1443, -1443, -1443, -1443, 72, -1443, -1443, 2098 -1443, 72, -1443, 193, -1443, -1443, 72, 72, 72, 4347, 2099 374, 72, 1256, 72, 193, 72, 1260, 1262, 3846, -1443, 2100 1427, -1443, -1443, -1443, -1443, 1442, -1443, -1443, -1443, -1443, 2101 -1443, 1180, 218, 3846, -1443, -1443, -1443, -1443, -1443, 1265, 2102 1174, 1268, 2232, 1266, 1269, 1270, -1443, -1443, -1443, -1443, 2103 -1443, 72, 193, 1229, 72, 193, -1443, 72, -1443, -1443, 2104 1453, 814, -1443, 3846, -1443, 1456, -1443, -1443, 2352, 1464, 2105 -1443, -1443, 1465, -1443, 1069, -1443, 72, -1443, 72, 3846, 2106 -1443, 1273, 3846, 3846, 1467, 2232, 3846, -1443, -1443, -1443, 2107 1469, -1443, 3846, -1443, 1470, 3846, -1443, 3846, -1443, -1443 1437 2108 }; 1438 2109 … … 1440 2111 static const yytype_int16 yypgoto[] = 1441 2112 { 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 2113 -1443, -1443, -1443, 918, -1443, 1428, 559, -1443, -1443, -1443, 2114 -1443, -1443, -1443, -1443, -1443, -1443, -143, -1443, -1443, -1443, 2115 -1443, -1443, -1443, -1443, -657, -1443, -269, -1443, -11, -1443, 2116 -1443, -1443, -1443, -1443, -1443, -1443, -1443, 1388, 904, -1443, 2117 -1443, -1443, -154, 758, -1443, -1443, -1443, 545, -1443, -90, 2118 -911, -641, -1443, -1443, 457, 461, -45, 133, -1443, 648, 2119 -221, -55, -1443, 1462, -1443, -1443, -1443, -1443, -1443, -1443, 2120 852, -1443, -186, -191, 1068, -444, -202, -1443, -1443, -1443, 2121 204, -1443, -1443, -1443, 191, -27, -1443, -1443, -1443, -1443, 2122 -1443, -1443, -1443, 761, -1443, 253, -1443, -1443, -1443, 968, 2123 -1443, -1443, -1443, 213, -1443, -1443, 222, -1443, 32, -1443, 2124 -1443, -986, 1487, -1443, 1076, 481, -1443, 51, 53, -1443, 2125 1259, -1443, -1443, 1106, -620, -1443, -1443, -1443, -1443, -1443, 2126 -1443, -1443, -1443, -1443, 709, -1443, -1443, -1443, 446, -1443, 2127 -1443, -1443, -1443, -984, -277, -1443, -1443, 148, -1198, -1180, 2128 -1399, -1209, -1033, -1443, -67, -1155, -65, -1443, -1443, 78, 2129 -1443, -68, -1443, -1443, -1443, -1443, -1443, 717, -1443, -1443, 2130 718, -1443, -1443, -1443, -1443, -1443, -431, -1443, -1443, 1019, 2131 -250, -1443, 791, -1443, 501, -137, -1443, 507, -1443, -1443, 2132 -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 534, 2133 -1443, -1443, -1443, -29, -1443, -1443, 460, -1443, 8, -1443, 2134 -1443, -1443, 716, -1443, 235, -1443, -1443, -180, 309, -1443, 2135 -1443, 1077, -1443, -1443, -954, -1443, -1443, -1443, -1443, -283, 2136 -489, -1443, -1443, -44, 539, -1443, 1485, -1443, 1911, -458, 2137 639, -1443, -1443, -778, -1443, -540, -1443, -448, -299, -294, 2138 -1443, 984, -1443, -1443, -276, -296, -1443, -1443, 516, -1443, 2139 -1443, 981, -1443, -1443, -1443, -1443, 20, 11, 192, -1443, 2140 436, -585, -1443, -1443, 22, -1443, -281, 206, 996, -1443, 2141 -1443, -1443, -1443, -1443, 14, -1443, -1443, 408, -160, 1114, 2142 -1443, -1443, -111, 1109, -1443, 1301, -1443, 1108, 1113, 1112, 2143 -1443, -1443, -1443, -1443, -1443, 1888, -805, -151, -121, 793, 2144 -49, -983, -1241, -1443, -1443, -215, -1443, -48, 275, -1443, 2145 -1443, -1443, 750, 756, -522, 763, -1443, 1272, -378, -376, 2146 -890, -1443, -1443, -1443, -1443, -842, -846, -1443, -1443, -1443, 2147 -1443, -116, -1443, 363, -1443, -1443, 1003, -1443, -85, -714, 2148 -107, 1250, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 1022, 2149 -1443, -1443, -1443, 423, -1443, -520, -1443, -1443, -1443, -1443, 2150 -1443, -1443, 1014, -1443, -1443, 1197, -1443, -1443, -1443, -1443, 2151 -1443, -1443, -1443, -1443, -1443, -1443, 199, -1118, -1443, 1025, 2152 -1443, -12, -1443, -1443, 967, -152, -1443, 1030, -1443, -1443, 2153 -1443, 465, 711, 995, 1039, -1443, -1443, 232, 1043, -1443, 2154 -1443, 1047, -1443, -1443, -9, 1221, 988, 671, -252, 672, 2155 238, -886, -988, -905, -1443, 167, -1443, 1060, -1443, 707, 2156 1061, -1443, 721, 1062, -1443, -1443, -1443, -1443, 482, 435, 2157 -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -390, -1443, 2158 -1443, -1443, 1298, -1443, -1443, 1587, -1443, -1443, -1443, -1443, 2159 -1443, 686, -1443, -1443, -1443, -1443, -1443, -1443, -1443, -1443, 2160 -1443, -1443, -1057, -1443, -70, -1443, -1442, -1443, 1359, 1171, 2161 -1443, -1443, 925, -496, -1443, 1078, -1443, -1443, -1443, -1443, 2162 -1443, -1443, 998, 945, 448, 451, -1443, -1443, 1630, -140, 2163 -1443, -1443, -1443, -1443, 453, -1443, -1443, -1443, -1443, 248, 2164 257, -1443, -1443, -1443, -136, -1443, -1443, -1443, -1443, 255, 2165 -1443, -1443, -1443, 993, -1443, 456, 438, -1443, -1443, -1443, 2166 -1443, -1443, 569 1463 2167 }; 1464 2168 … … 1466 2170 positive, shift that token. If negative, reduce the rule which 1467 2171 number is the opposite. If YYTABLE_NINF, syntax error. */ 1468 #define YYTABLE_NINF - 5422172 #define YYTABLE_NINF -1032 1469 2173 static const yytype_int16 yytable[] = 1470 2174 { 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, 2175 43, 404, 410, 499, 134, 496, 295, 104, 715, 757, 2176 484, 153, 654, 738, 655, 361, 363, 341, 716, 489, 2177 368, 342, 1019, 498, 272, 106, 967, 1167, 334, 566, 2178 106, 406, 333, 1121, 927, 106, 106, 1251, 422, 1253, 2179 145, 99, 829, 146, 558, 1230, 99, 1186, 1186, 493, 2180 369, 99, 99, 134, 420, 317, 104, 1276, 517, 1346, 2181 121, 744, 242, 865, 913, 1180, 989, 967, 106, 1193, 2182 436, 438, 739, 923, 106, 435, 1397, 1469, 106, 1130, 2183 1131, 1132, 319, 320, 99, 382, 1137, 1654, -533, 145, 2184 99, -196, 146, 1473, 99, 369, 47, 1478, 949, 282, 2185 1484, 973, 439, 467, 475, 277, 1468, 500, 215, 121, 2186 1343, 1188, -196, 725, 427, -550, 500, 773, 806, 32, 2187 4, 1144, 1145, 819, 4, 4, 953, -183, -420, 424, 2188 681, 1470, 824, -550, 4, 1279, 650, -421, 4, 4, 2189 826, 919, 1288, 925, 4, 1042, 1388, 4, 106, 1039, 2190 437, -740, 929, -196, 391, 950, 4, 422, 950, 516, 2191 422, 8, 500, 4, 99, 8, 8, 4, 997, -420, 2192 718, 90, 717, 420, 272, 8, 420, 568, -421, 8, 2193 8, 1040, 1681, 4, 678, 8, -943, 296, 8, 154, 2194 1139, 1154, 1204, 1276, 1338, 845, 98, 8, 1214, 341, 2195 112, 1216, 1681, 342, 8, 694, 1204, 607, 8, 422, 2196 615, 1240, 1304, 1383, 1398, 1422, 34, 4, 1454, 929, 2197 1539, 1723, 692, 481, 8, 420, 627, 482, 222, 419, 2198 659, 1585, 570, 438, 530, 516, 516, 516, 662, 1610, 2199 698, 382, 1378, 698, 230, 231, 438, 993, 424, 112, 2200 586, 424, 1312, 797, 571, 1469, 230, 231, 8, 481, 2201 511, 525, 816, 482, 439, 1023, 524, -550, 547, 1007, 2202 48, 1654, 974, 471, 1222, 1344, 559, 701, 665, 524, 2203 -533, 216, 1565, -196, 1468, -533, -196, 660, 99, 418, 2204 382, 1462, 544, 545, 12, 352, 1043, 278, 12, 12, 2205 424, 1396, -420, 745, 106, 878, 428, 1021, 12, 1470, 2206 1480, -421, 12, 12, 743, -484, 307, 486, 12, 742, 2207 99, 12, 682, 879, 825, 878, 35, 135, 780, 1361, 2208 12, 49, 827, 920, 4, 926, 73, 12, 307, -267, 2209 307, 12, 653, 879, 930, 590, 1112, 951, 419, 1284, 2210 952, 419, 1138, 106, 620, -774, 272, 12, 1143, 1317, 2211 998, 1146, 1696, 106, 1364, 1152, -198, 1603, 989, 99, 2212 83, 84, 1469, 1041, 1685, 8, 135, 272, 272, 99, 2213 1585, 943, 1140, 1155, 1205, 1257, -340, 1351, 771, 1351, 2214 1215, 12, 1469, 1217, 756, 74, -774, 539, 1224, 1368, 2215 419, 223, 587, 1241, 1305, 1384, 1399, 1423, 672, 674, 2216 1455, 1525, 1540, 1724, 286, 136, 242, 1699, 239, 75, 2217 90, 4, 760, 762, 93, 94, 238, 96, 151, 42, 2218 239, 42, -1031, 42, -1031, 1352, 279, 1352, 315, 106, 2219 499, 42, 496, 514, 623, 98, 207, 1369, 893, 907, 2220 910, 287, 1481, 506, 507, 713, 489, 1587, 985, 921, 2221 498, 983, 8, 4, 136, 986, 987, 859, 1577, 869, 2222 546, 4, 525, 1276, 1656, 143, 106, 106, 746, 1544, 2223 781, 42, 516, 1186, 935, 834, 493, 147, 936, 745, 2224 150, 9, 99, 99, 741, 1611, 209, 1612, 766, 11, 2225 436, 1285, 350, 1059, 8, 992, 506, 507, 12, 1604, 2226 290, 436, 8, 508, 290, 491, 435, 4, 60, 514, 2227 514, 514, 1239, 652, 143, 844, 797, 757, 840, -774, 2228 4, 757, 292, 47, 810, 862, 147, 106, -1030, 150, 2229 -1030, 715, 90, 1088, 4, 1090, 106, -474, 1368, 1682, 2230 233, 716, 492, 99, 1031, 369, 99, 324, 8, 369, 2231 369, 849, 99, 967, 854, 1030, 508, 98, 849, 1682, 2232 1308, 8, 306, 1534, 1554, 1370, 11, 106, 106, 1250, 2233 756, 4, 307, 744, 1410, 8, 106, 106, 713, 961, 2234 1534, 437, 64, 99, 99, 12, 1369, 9, 315, 1683, 2235 1587, 237, 99, 99, 325, 81, 1587, 76, 713, 1025, 2236 4, 106, 4, 469, 470, 1167, 1029, 42, 1697, 1683, 2237 1698, 309, 8, 321, 60, 106, 310, 99, 500, 311, 2238 272, 1063, 11, 1382, 230, 231, 504, 12, -237, 1096, 2239 955, 99, 42, -518, 322, 12, 1027, -518, 1121, 569, 2240 570, 8, 58, 8, 59, 505, 966, 307, 312, 1505, 2241 1506, 1507, 1508, 1509, 1510, 1028, 1511, 1512, 1513, 1514, 2242 1515, 1516, 571, 1517, 1518, 1519, 1520, 1521, 353, -1030, 2243 990, -1030, 11, 481, 354, 1109, 363, 482, 42, -237, 2244 327, 12, -137, 93, 94, 323, 96, 966, 1341, 328, 2245 42, 1231, 299, 718, 12, 717, 841, 48, 1499, 1500, 2246 57, 106, 1392, 154, -61, 62, 1004, 63, 12, 336, 2247 83, 84, 1054, 307, 238, 1016, 343, 99, 239, -549, 2248 524, 344, 5, -1030, 6, -1030, 911, 1135, 9, -93, 2249 233, 7, -93, 239, 405, 922, 1428, 1595, 417, 1394, 2250 1147, 1055, 1114, 1107, -92, 12, 375, 1492, 1167, 1056, 2251 1474, 1475, 1476, 418, 547, 60, 514, 607, 946, 947, 2252 948, 1060, 356, 615, 1087, 559, 1007, 559, 1560, 1022, 2253 1646, 2, 3, 158, 12, -549, 12, 1174, 42, 357, 2254 299, 237, 9, 935, 233, 816, 582, 936, 1111, 516, 2255 93, 94, 364, 96, 238, 4, 365, 42, 239, 5, 2256 -1030, 6, -1030, 1257, 106, 654, 376, 655, 7, 10, 2257 1415, 422, 1416, 11, -1030, 745, -1030, 653, -89, 878, 2258 99, -89, -90, -954, 391, -90, 743, 1249, 1133, 699, 2259 395, 742, 700, 422, 402, 237, 8, 879, 106, 693, 2260 1522, 1523, 432, 433, 93, 94, 397, 96, 399, 420, 2261 417, 42, 459, 460, 99, 106, 878, 11, -278, 9, 2262 426, 106, 106, 106, 106, 418, 106, 11, 106, 106, 2263 -224, 99, 1496, 9, 879, 430, 1504, 99, 99, 99, 2264 99, 1177, 99, 1168, 99, 99, 10, 1037, 455, 422, 2265 687, 688, 77, 440, 441, 442, 443, 444, 445, 446, 2266 60, 106, 756, 90, 457, 420, 756, 463, 1162, 771, 2267 219, 220, 221, 464, 227, 106, 106, 99, 90, 465, 2268 93, 94, 287, 96, 424, 11, -279, 42, 98, 582, 2269 864, 99, 99, 1189, 1190, 93, 94, 477, 96, 615, 2270 520, 524, 42, 98, 11, 4, 1447, -203, -203, -203, 2271 -203, 1704, 1705, 480, 715, -203, 211, 212, 11, 400, 2272 401, -203, 106, 272, 716, 490, 521, 1219, -955, 12, 2273 573, 580, 535, 213, 214, 757, 564, 893, 713, -1030, 2274 424, -1030, 567, 569, -97, -97, 8, -97, 276, 582, 2275 746, -97, 907, 283, -97, 601, 42, 1059, 652, 294, 2276 1310, 242, 1244, 629, 685, 242, 741, 666, 654, 1380, 2277 655, -100, -100, 1136, -100, 676, 679, 1450, -100, 766, 2278 677, -100, 310, 680, 419, 1104, 1497, 1151, 686, -235, 2279 1497, 745, 230, 231, -230, 385, 691, 386, 9, 693, 2280 387, 388, 436, 447, 448, 449, 450, 1452, 696, -225, 2281 1168, 786, 707, 712, 312, 106, 709, 810, 722, 389, 2282 720, 1169, 727, 728, 729, 60, 559, 733, 106, 351, 2283 732, 99, 736, 514, 735, 776, 779, 451, 452, 366, 2284 1332, 775, 620, 778, 99, 36, 37, 38, 39, 90, 2285 783, 798, 802, 40, 803, 406, 805, 808, 757, 41, 2286 818, 42, 713, 821, 823, 106, 93, 94, 831, 96, 2287 835, 369, 836, 42, 98, 870, 718, 863, 717, 12, 2288 872, 99, 756, 11, 874, 875, 83, 84, 787, 876, 2289 937, 940, 106, -138, 931, 653, 106, 938, 233, 713, 2290 944, 36, 37, 38, 39, 963, 957, 984, 99, 40, 2291 981, 982, 99, 988, -231, 41, 106, 788, 446, 789, 2292 790, 791, 996, 234, 792, 793, 999, 794, 795, 1000, 2293 1008, 1009, 99, 1010, 1013, 1022, 1023, 1444, 1026, 235, 2294 236, -457, 1402, 966, -99, -99, 1032, -99, 468, 237, 2295 1050, -99, 1067, 473, -99, 1065, 476, 1066, 93, 94, 2296 1069, 96, 238, 485, 1075, 42, 239, 240, 1074, 93, 2297 94, 1078, 96, 1004, 1080, 241, 42, 510, 1181, 1084, 2298 519, 1174, 1451, 93, 94, 1092, 96, 1444, 841, 1098, 2299 313, 1095, 1444, 1103, 312, 1115, 1444, 1116, 233, 1444, 2300 1118, 309, 1123, 1125, 93, 94, 310, 96, 1087, 384, 2301 1134, 42, 1142, 1007, 1160, 1165, 1207, 596, 597, 385, 2302 598, 386, 1203, 234, 387, 388, 1206, 1060, 1208, 610, 2303 1213, 618, 1209, 1211, 1502, 94, 1747, 96, 312, 235, 2304 236, 42, 622, 389, 624, 1218, 1233, 1223, 1234, 237, 2305 1232, 1242, 1266, 106, 1268, 1381, 1282, 106, 93, 94, 2306 1087, 96, 238, 309, 668, 42, 239, 240, 310, 99, 2307 1283, 1377, 1286, 99, 106, 241, 652, 1296, 1303, 1299, 2308 1306, 385, 1307, 386, 1339, 1348, 387, 388, 1375, 1356, 2309 99, 106, 1365, 1379, 1373, 1279, 1374, 1388, 653, 1391, 2310 312, 1400, 81, 1417, 1677, 389, 1418, 99, 1419, 1676, 2311 1420, 106, 1453, 1424, -532, 1460, 1461, 1486, 1463, 106, 2312 1485, 1576, 1490, 1493, 1495, 1498, 1692, 99, 1501, 1526, 2313 1527, 1529, 1531, 1530, 1542, 99, 1536, 1537, 1547, 1548, 2314 1567, 1444, 723, 1410, 1574, 106, 726, 1575, 1578, 1580, 2315 1579, 1581, 1458, 1582, 1583, 1584, 1588, 1589, 734, -384, 2316 1591, 713, 1600, 1601, 1607, 1444, 1602, 1608, 1609, 1614, 2317 -256, 1648, 1655, 1344, 1670, 759, 761, 1669, 1466, 772, 2318 1637, 1672, 1678, 1680, 1688, 774, 229, 1689, 1693, 1713, 2319 1497, 1694, 653, 242, 230, 231, 1722, 1638, 1695, 1721, 2320 1219, 1716, 804, 369, 106, 1718, 1739, 1719, 807, 1742, 2321 1726, 1733, 1727, 106, 1734, 1735, 820, 1745, 1749, 1746, 2322 369, 1752, 1755, 1700, 1757, 822, 1753, 78, 1164, 99, 2323 1247, 1168, 50, 830, 1248, 228, 690, 1479, 833, 308, 2324 559, 1471, 229, 1448, 1012, 785, 1599, 1465, 45, 106, 2325 230, 231, 232, 695, 1252, 1593, 1592, 873, 1741, 106, 2326 1472, 1553, 1071, 1293, 429, 99, 1686, 683, 1586, 1687, 2327 106, 1690, 1072, 740, 1073, 99, 272, 1017, 1265, 652, 2328 1255, 1227, 1444, 1444, 1444, 1083, 99, 126, 1302, 1487, 2329 1444, 1740, 126, 1426, 719, 1153, 1691, 126, 126, 1237, 2330 233, 832, 1444, 1444, 842, 408, 1271, 1660, 1664, 1355, 2331 1546, 1662, 1665, 703, 704, 1541, 1444, 702, 954, 843, 2332 462, 705, 1053, 706, 1089, 234, 409, 106, 763, 962, 2333 304, 860, 1091, 581, 1085, 229, 126, 847, 979, 663, 2334 304, 235, 236, 230, 231, 764, 557, 1564, 848, 942, 2335 861, 237, 369, 850, 1362, 1701, 233, 1141, 649, 924, 2336 93, 94, 851, 96, 238, 1555, 852, 42, 239, 240, 2337 853, 1178, 945, 652, 1168, 1187, 1558, 241, 1596, 1720, 2338 229, 234, 1158, 855, 856, 857, 1366, 592, 230, 231, 2339 1156, 152, 106, 1737, 1725, 474, 724, 235, 236, 956, 2340 1003, 858, 1404, 995, 1403, 1020, 61, 237, 99, 841, 2341 126, 1411, 1571, 1409, 980, 0, 93, 94, 1569, 96, 2342 238, 1573, 1336, 42, 239, 240, 0, 0, 1033, 0, 2343 1034, 0, 0, 241, 0, 0, 0, 0, 0, 0, 2344 1748, 0, 0, 1750, 0, 1052, 228, 0, 0, 233, 2345 0, 1064, 0, 229, 0, 0, 1758, 106, 0, 0, 2346 1004, 230, 231, 232, 403, 0, 0, 0, 0, 0, 2347 0, 0, 0, 99, 234, 0, 0, 1035, 0, 765, 2348 0, 0, 0, 0, 229, 1079, 0, 0, 0, 0, 2349 235, 236, 230, 231, 233, 0, 0, 1093, 0, 0, 2350 237, 0, 1094, 0, 1097, 0, 0, 0, 0, 93, 2351 94, 0, 96, 238, 0, 0, 42, 239, 240, 234, 2352 0, 0, 1194, 0, 0, 0, 241, 0, 0, 229, 2353 0, 0, 1110, 0, 0, 235, 236, 230, 231, 0, 2354 0, 0, 0, 1120, 0, 237, 0, 0, 0, 0, 2355 0, 0, 1169, 1715, 93, 94, 0, 96, 238, 551, 2356 0, 42, 239, 240, 0, 0, 126, 233, 0, 0, 2357 1272, 241, 0, 0, 0, 0, 0, 229, 0, 0, 2358 0, 0, 0, 0, 0, 230, 231, 0, 1157, 0, 2359 0, 0, 234, 0, 1159, 0, 0, 0, 233, 0, 2360 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 2361 0, 0, 0, 0, 0, 126, 0, 0, 237, 0, 2362 0, 551, 551, 234, 0, 304, 0, 93, 94, 1199, 2363 96, 238, 1201, 1202, 42, 239, 240, 0, 0, 235, 2364 236, 0, 0, 233, 241, 0, 0, 0, 1429, 237, 2365 0, 0, 0, 0, 0, 229, 0, 0, 93, 94, 2366 0, 96, 238, 230, 231, 42, 239, 240, 234, 0, 2367 0, 0, 0, 0, 0, 241, 0, 0, 0, 0, 2368 0, 1466, 0, 0, 235, 236, 0, 0, 229, 0, 2369 0, 233, 0, 0, 237, 0, 230, 231, 0, 0, 2370 0, 0, 0, 93, 94, 0, 96, 238, 0, 0, 2371 42, 239, 240, 0, 0, 1280, 234, 0, 1281, 0, 2372 241, 0, 0, 0, 0, 0, 0, 0, 0, 1289, 2373 0, 1290, 235, 236, 0, 0, 1294, 0, 304, 304, 2374 755, 0, 237, 0, 1300, 1301, 0, 0, 0, 0, 2375 0, 93, 94, 0, 96, 238, 305, 0, 42, 239, 2376 240, 0, 0, 1309, 1311, 0, 314, 0, 241, 233, 2377 1620, 0, 0, 0, 0, 0, 229, 1340, 0, 1342, 2378 0, 0, 0, 0, 230, 231, 0, 0, 0, 0, 2379 1350, 0, 0, 0, 234, 0, 0, 0, 348, 304, 2380 0, 0, 233, 0, 0, 0, 0, 0, 304, 367, 2381 235, 236, 0, 0, 0, 0, 0, 0, 0, 0, 2382 237, 0, 0, 0, 0, 0, 0, 234, 0, 93, 2383 94, 0, 96, 238, 0, 0, 42, 239, 240, 304, 2384 304, 0, 0, 235, 236, 0, 241, 1385, 304, 304, 2385 0, 1387, 0, 237, 0, 1390, 0, 1393, 1395, 0, 2386 0, 0, 93, 94, 0, 96, 238, 551, 1401, 42, 2387 239, 240, 416, 304, 0, 0, 0, 0, 425, 241, 2388 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 2389 233, 0, 0, 416, 0, 0, 1421, 0, 0, 0, 2390 0, 0, 551, 1427, 0, 0, 1446, 1684, 0, 1449, 2391 0, 0, 0, 0, 229, 234, 0, 0, 0, 0, 2392 0, 0, 230, 231, 0, 0, 0, 0, 0, 0, 2393 0, 235, 236, 0, 1456, 0, 0, 0, 0, 0, 2394 0, 237, 0, 551, 0, 0, 0, 0, 515, 518, 2395 93, 94, 0, 96, 238, 0, 0, 42, 239, 240, 2396 0, 0, 554, 0, 0, 565, 0, 241, 0, 0, 2397 0, 0, 0, 304, 0, 0, 1488, 0, 1489, 0, 2398 0, 593, 595, 0, 0, 553, 1728, 0, 0, 0, 2399 0, 0, 0, 229, 0, 0, 0, 606, 0, 0, 2400 606, 230, 231, 0, 0, 0, 0, 0, 0, 1528, 2401 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 2402 0, 0, 628, 0, 367, 367, 515, 0, 233, 0, 2403 0, 1543, 0, 0, 0, 1545, 0, 0, 0, 0, 2404 0, 0, 0, 0, 0, 0, 0, 640, 640, 684, 2405 0, 0, 1556, 234, 1557, 0, 0, 1559, 0, 1561, 2406 1562, 0, 1563, 0, 0, 0, 0, 0, 0, 235, 2407 236, 0, 0, 1566, 0, 0, 304, 0, 0, 237, 2408 0, 0, 0, 0, 0, 0, 0, 0, 93, 94, 2409 0, 96, 238, 0, 0, 42, 239, 240, 0, 0, 2410 0, 0, 0, 0, 0, 241, 1743, 233, 0, 0, 2411 304, 0, 0, 229, 0, 0, 0, 0, 0, 0, 2412 0, 230, 231, 0, 0, 0, 0, 304, 0, 0, 2413 0, 1598, 234, 304, 304, 304, 304, 0, 304, 0, 2414 304, 304, 0, 0, 758, 0, 0, 770, 235, 236, 2415 0, 0, 0, 0, 0, 0, 0, 0, 237, 777, 2416 0, 0, 0, 0, 305, 305, 0, 93, 94, 0, 2417 96, 238, 0, 126, 42, 239, 240, 0, 230, 231, 2418 0, 0, 0, 0, 241, 551, 0, 304, 304, 0, 2419 0, 0, 0, 0, 0, 1647, 0, 0, 0, 0, 2420 0, 1657, 0, 0, 0, 0, 1661, 0, 0, 0, 2421 0, 0, 0, 0, 0, 0, 0, 1666, 1667, 1668, 2422 0, 0, 0, 0, 0, 828, 0, 233, 1671, 1642, 2423 0, 0, 0, 0, 0, 229, 0, 0, 1673, 0, 2424 0, 1675, 0, 230, 231, 0, 0, 0, 0, 0, 2425 0, 0, 234, 0, 0, 0, 0, 0, 755, 0, 2426 0, 551, 755, 0, 0, 912, 915, 0, 235, 236, 2427 0, 515, 0, 0, 912, 915, 0, 0, 237, 0, 2428 0, 0, 0, 0, 233, 0, 1644, 93, 94, 0, 2429 96, 238, 229, 640, 42, 239, 240, 0, 0, 912, 2430 230, 231, 0, 0, 241, 969, 0, 229, 0, 0, 2431 0, 0, 0, 314, 1711, 230, 231, 0, 0, 0, 2432 0, 0, 0, 0, 416, 235, 236, 304, 968, 0, 2433 0, 1714, 0, 0, 0, 237, 0, 0, 0, 0, 2434 126, 0, 1717, 0, 93, 94, 969, 96, 238, 233, 2435 0, 42, 239, 1243, 0, 602, 0, 0, 1001, 0, 2436 1002, 0, 603, 0, 604, 605, 0, 0, 0, 968, 2437 0, 0, 0, 0, 234, 0, 0, 304, 0, 0, 2438 1736, 0, 0, 1738, 0, 0, 0, 0, 0, 0, 2439 235, 236, 0, 0, 0, 0, 0, 0, 0, 305, 2440 237, 1036, 0, 1038, 304, 0, 233, 0, 304, 93, 2441 94, 1046, 96, 238, 1051, 0, 42, 239, 240, 0, 2442 0, 233, 0, 0, 0, 0, 241, 0, 304, 0, 2443 0, 234, 0, 0, 0, 0, 0, 0, 551, 551, 2444 0, 0, 0, 0, 0, 0, 234, 235, 236, 0, 2445 0, 0, 0, 0, 837, 0, 0, 237, 0, 0, 2446 0, 0, 235, 236, 0, 0, 93, 94, 0, 96, 2447 238, 0, 237, 42, 239, 240, 0, 0, 0, 0, 2448 0, 93, 94, 241, 96, 238, 0, 0, 42, 239, 2449 240, 0, 0, 0, 0, 160, 0, 0, 241, 0, 2450 0, 1108, 314, 0, 0, 0, 0, 0, 0, 0, 2451 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2452 1050, 515, 515, 515, 515, 162, 0, 0, 0, 515, 2453 0, 0, 163, 0, 515, 164, 165, 0, 166, 0, 2454 0, 167, 0, 0, 168, 169, 170, 0, 0, 0, 2455 0, 0, 0, 912, 0, 0, 0, 0, 0, 912, 2456 915, 915, 912, 0, 1148, 0, 912, 1148, 0, 1163, 2457 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2458 0, 0, 0, 0, 90, 0, 304, 0, 367, 1046, 2459 0, 0, 0, 0, 0, 593, 0, 0, 1195, 0, 2460 0, 93, 94, 304, 96, 0, 0, 0, 42, 98, 2461 0, 640, 0, 1182, 1182, 0, 0, 0, 0, 0, 2462 0, 0, 0, 304, 0, 0, 416, 0, 0, 0, 2463 0, 304, 0, 0, 1225, 0, -226, -226, 0, -226, 2464 -226, 0, -226, -226, -226, -226, -226, -226, -226, -226, 2465 -226, -226, -226, -226, -226, 0, 0, 0, 0, 0, 2466 0, 0, 0, 0, 1262, 0, 0, 0, 0, 0, 2467 0, 0, 0, 1267, 0, 0, 0, 1270, 770, 0, 2468 1273, 1274, 0, 1275, 0, 0, 0, 1261, 551, 551, 2469 -88, -88, 0, -88, -88, -226, -88, -88, -88, -88, 2470 -88, -88, -88, -88, -88, -88, -88, -88, -88, 0, 2471 0, 0, 0, 0, 0, 0, 1613, 0, 0, 0, 2472 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, 2473 0, 0, 0, 0, 0, 0, 593, 0, 0, 1335, 2474 0, 0, 1337, 0, 0, 0, 0, 0, 0, -88, 2475 0, 0, 0, 828, 0, 0, 0, 0, 229, 0, 2476 0, 126, 0, 0, 0, 0, 230, 231, 0, 0, 2477 0, 304, 515, 0, 0, 0, 0, 0, 0, 0, 2478 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, 2479 0, 0, -226, -226, -226, -226, 0, 896, 0, 897, 2480 898, 899, 900, 915, 901, 0, 902, 903, 0, 0, 2481 0, 0, 0, 904, 0, 905, 0, 906, 0, 1046, 2482 0, 0, 0, -226, 0, 0, -226, -226, -226, 0, 2483 314, 418, 1195, 0, 912, 0, 0, 0, 0, 1613, 2484 0, 969, 969, 0, 229, 0, -88, -88, -88, -88, 2485 0, 0, 230, 231, 0, 0, 0, 0, 0, 0, 2486 0, 0, 0, 0, 968, 968, 0, 0, 0, 0, 2487 0, 1425, 233, 0, 0, 0, 0, -88, -88, 0, 2488 -88, -88, -88, 883, -88, 0, 0, 884, 885, 886, 2489 887, 888, 889, 0, 0, 0, 0, 234, 0, 890, 2490 891, 892, 0, 0, 126, 0, 1457, 0, 0, 0, 2491 1459, 0, 0, 235, 236, 0, 0, 1046, 0, 229, 2492 0, 0, 0, 237, 0, 0, 0, 230, 231, 630, 2493 0, 0, 93, 94, 0, 96, 238, 0, 0, 42, 2494 239, 240, 0, 0, 0, 0, 0, 0, 0, 241, 2495 0, 1491, 0, 0, 0, 0, 0, 0, 233, 631, 2496 0, 0, 0, 0, 0, 1494, 0, 632, 0, 633, 2497 634, 635, 636, 0, 637, 0, 638, 0, 0, 0, 2498 0, 0, 0, 234, 0, 0, 0, 0, 0, 0, 2499 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 2500 236, 0, 0, 1046, 0, 0, 0, 0, 0, 237, 2501 0, 0, 915, 0, 0, 1552, 0, 515, 93, 94, 2502 0, 96, 238, 0, 0, 42, 239, 240, 0, 915, 2503 0, 0, 0, 233, 0, 241, 1195, 0, 1195, 0, 2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 2505 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, 1619 2506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1620 0, 0, 0, 0, 0, 578, 390, 391, 0, 0, 2507 0, 0, 0, 0, 235, 236, 90, 0, 229, 0, 2508 0, 0, 0, 0, 237, 0, 230, 231, 0, 0, 2509 0, 1262, 1262, 93, 94, 0, 96, 238, 1594, 1046, 2510 639, 513, 240, 0, 0, 0, 0, 0, 0, 0, 2511 241, 0, 0, 0, 1261, 1261, 0, 896, 1225, 897, 2512 0, 899, 900, 0, 901, 0, 902, 903, 0, 0, 2513 0, 0, 1313, 904, 0, 905, 0, 906, 0, 0, 2514 1314, 1315, 0, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 2515 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1640, 1641, 2516 1643, 1645, 0, 0, 229, 1316, 0, 0, 0, 0, 2517 0, 0, 230, 231, 0, 0, 0, 0, 0, 0, 2518 611, 0, 0, 0, 0, 0, 0, 612, 0, 613, 2519 614, 0, 233, 0, 0, 0, 0, 912, 0, 0, 2520 0, 0, 0, 0, 0, 0, 0, 0, 912, 0, 2521 0, 0, 611, 0, 0, 0, 1679, 234, 0, 612, 2522 0, 613, 614, 0, 0, 0, 0, 0, 0, 0, 2523 0, 1317, 0, 235, 236, 0, 229, 0, 0, 0, 2524 0, 1225, 0, 237, 230, 231, 233, 0, 0, 0, 2525 0, 0, 93, 94, 0, 96, 238, 0, 1706, 42, 2526 239, 240, 0, 0, 0, 0, 0, 0, 0, 241, 2527 0, 234, 0, 0, 0, 1707, 1708, 1318, 233, 0, 2528 1709, 0, 1710, 1170, 1171, 0, 0, 1319, 1320, 0, 2529 0, 1172, 0, 1173, 0, 0, 0, 237, 0, 0, 2530 0, 0, 0, 234, 0, 0, 1321, 1322, 229, 1323, 2531 1324, 0, 0, 42, 1325, 240, 230, 231, 0, 235, 2532 236, -773, 0, 241, 0, 0, 0, 0, 0, 237, 2533 0, 0, 0, 0, 0, 0, 0, 0, 93, 94, 2534 1732, 96, 238, 0, 0, 42, 239, 240, 229, 0, 2535 233, 0, 0, 0, 0, 241, 230, 231, 0, 0, 2536 0, 4, -773, 229, 0, 0, 1744, 0, 0, 0, 2537 0, 230, 231, 512, 0, 234, 0, 0, 229, 0, 2538 0, 1751, 0, 1732, 1754, 0, 230, 231, 941, 0, 2539 1756, 235, 236, 0, 0, 1759, 0, 0, 0, 0, 2540 0, 237, 8, 0, 0, 0, 0, 0, 0, 0, 2541 93, 94, 0, 96, 238, 0, 0, 42, 239, 240, 2542 0, 0, 233, 0, 0, 0, 0, 241, 229, 0, 2543 0, 0, 0, 0, 0, 0, 230, 231, 0, 0, 2544 0, 0, 0, 229, 0, 0, 0, 234, 0, 0, 2545 0, 230, 231, 1269, 0, 0, 0, 0, 229, 0, 2546 0, 0, 233, 235, 236, 0, 230, 231, -397, 0, 2547 0, 0, 0, 237, 0, 0, 0, 233, 0, 0, 2548 0, 0, 93, 94, 0, 96, 238, 234, 0, 345, 2549 239, 240, 233, 0, 0, -773, 0, 0, 0, 241, 2550 0, 0, 234, 235, 236, 0, 0, 0, 0, 0, 2551 0, 0, 0, 237, 0, 0, 0, 234, 235, 236, 2552 90, 0, 93, 94, 0, 96, 238, 0, 237, 42, 2553 239, 240, 0, 235, 236, 12, 0, 93, 94, 241, 2554 96, 238, 233, 237, 42, 513, 240, 0, 0, 0, 2555 0, 0, 93, 94, 241, 96, 238, 233, 0, 42, 2556 239, 240, 229, 0, 0, 0, 0, 234, 0, 241, 2557 230, 231, 233, 0, 0, 0, 0, 229, 0, 0, 2558 0, 0, 234, 235, 236, 230, 231, 0, 0, 0, 2559 0, 0, 229, 237, 0, 0, 0, 234, 235, 236, 2560 230, 231, 93, 94, 0, 96, 238, 229, 237, 550, 2561 239, 240, 1256, 235, 236, 230, 231, 93, 94, 241, 2562 96, 238, 0, 237, 42, 239, 240, 0, 0, 0, 2563 0, 0, 93, 94, 241, 96, 238, 0, 0, 42, 2564 239, 240, 0, 0, 0, 0, 0, 229, 0, 241, 2565 0, 0, 0, 0, 0, 230, 231, 0, 0, 0, 2566 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 2567 230, 231, 0, 0, 0, 0, 233, 229, 0, 0, 2568 0, 0, 0, 0, 0, 230, 231, 0, 0, 0, 2569 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 2570 0, 234, 0, 0, 0, 0, 233, 0, 0, 0, 2571 0, 0, 0, 0, 0, 0, 234, 235, 236, 0, 2572 0, 233, 0, 0, 0, 0, 0, 237, 0, 0, 2573 0, 234, 235, 236, 0, 0, 93, 94, 0, 96, 2574 238, 0, 237, 42, 239, 359, 234, 235, 236, 0, 2575 0, 93, 94, 241, 96, 238, 0, 237, 42, 239, 2576 362, 233, 235, 236, 0, 0, 93, 94, 241, 96, 2577 238, 0, 237, 42, 239, 411, 233, 0, 0, 0, 2578 0, 93, 94, 241, 96, 238, 234, 0, 42, 239, 2579 240, 233, 0, 0, 837, 0, 0, 0, 241, 0, 2580 0, 234, 235, 236, 79, 0, 0, 0, 0, 0, 2581 0, 80, 237, 0, 0, 0, 234, 235, 236, 0, 2582 0, 93, 94, 0, 96, 238, 81, 237, 550, 239, 2583 240, 0, 235, 236, 0, 0, 93, 94, 241, 96, 2584 238, 0, 237, 42, 239, 1045, 0, 0, 0, 0, 2585 0, 93, 94, 241, 96, 238, 0, 0, 1099, 1100, 2586 1101, 0, 82, 0, 0, 162, 0, 0, 241, 0, 2587 -198, 0, 0, 0, 0, 164, 165, 0, 166, 83, 2588 84, 167, 0, 0, 838, 169, 839, 0, 0, 0, 2589 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 1621 2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2591 -458, 0, 86, 80, 87, 88, 0, 0, 0, 158, 2592 -471, 0, -484, 0, 90, 0, 0, 89, 0, -716, 2593 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2594 0, 93, 94, 0, 96, 0, 0, 90, 42, 98, 2595 91, 92, -335, 0, 0, -335, -335, -335, -335, 0, 2596 160, 0, 0, -335, 93, 94, 95, 96, 0, -335, 2597 0, 97, 98, 0, 0, 161, 0, 0, 0, 0, 2598 0, 0, 0, 0, 0, 0, -716, -716, -716, 0, 2599 162, 0, 0, 85, 0, -716, 0, 163, 80, 0, 2600 164, 165, 0, 166, 158, 0, 167, 0, 0, 168, 2601 169, 170, 0, -716, 0, 159, 0, 0, 0, 0, 2602 0, 80, 0, 0, 0, 0, 0, 158, 0, 0, 2603 0, 0, 0, 0, 0, 171, 0, 0, 159, 0, 2604 0, 0, 0, 0, 0, 160, 0, 0, 0, 90, 2605 -716, -716, 91, 0, 0, 0, 0, 0, 0, 0, 2606 161, 0, 0, 0, 0, 0, 93, 94, 160, 96, 2607 0, 0, 0, 172, 98, 162, 0, 0, 85, -128, 2608 0, 0, 163, 161, 0, 164, 165, 0, 166, 0, 2609 0, 167, 0, 0, 168, 169, 170, 0, 162, 0, 2610 0, 85, -129, 0, 0, 163, 0, 0, 164, 165, 2611 0, 166, 158, 0, 167, 0, 0, 168, 169, 170, 2612 171, 0, 0, 159, 0, 0, 0, 0, 0, 0, 2613 0, 0, 0, 0, 90, 837, 0, 91, 0, 0, 2614 0, 0, 0, 171, 0, 0, 0, 0, 0, -128, 2615 0, 93, 94, 160, 96, 0, 0, 90, 172, 98, 2616 91, 0, 0, 0, 0, 0, 0, 0, 161, 0, 2617 0, 0, -129, 0, 93, 94, 160, 96, 0, 0, 2618 0, 172, 98, 162, 0, 0, 85, -125, 0, 0, 2619 163, 161, 0, 164, 165, 0, 166, 0, 0, 167, 2620 0, 0, 168, 169, 170, 0, 162, 0, 0, 0, 2621 0, 0, 0, 163, 0, 0, 164, 165, 0, 166, 2622 0, 0, 167, 0, 0, 168, 169, 170, 171, 0, 1637 2623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1638 0, 0, 0, 0, 0, 0, 0, 599, 390, 391, 2624 0, 0, 90, 0, 0, 91, 0, 0, 0, 0, 2625 0, 171, 0, 0, 0, 0, 0, -125, 0, 93, 2626 94, 0, 96, 0, 0, 90, 172, 98, 0, 0, 1639 2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1640 0, 0, 0, 0, 0, 0, -239, -239, -239, 0, 1641 0, 0, 0, 0, 0, 0, 0, 0, 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, 1677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1678 0, 0, 0, 0, 0, 783, 390, 391, 0, 0, 1679 0, 0, 0, 0, 0, 0, 0, 0, 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, 1754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1757 0, 0, 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, 1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1844 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, 1856 0, 0, 0, 0, 0, 0, 0, 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, 1888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1891 0, 0, 0, 0, 0, 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, 1899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1902 0, 0, 0, 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, 1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1915 0, 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, 1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2017 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, 2064 0, 0, 0, 0, 0, 0, 0, 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, 2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2096 0, 0, 0, 0, 0, 59, 60, 61, 62, 0, 2097 0, 0, 0, 0, 0, 0, 0, 170, 68 2628 0, 0, 93, 94, 0, 96, 0, 0, 0, 42, 2629 98 2098 2630 }; 2099 2631 2100 2632 #define yypact_value_is_default(Yystate) \ 2101 (!!((Yystate) == (- 845)))2633 (!!((Yystate) == (-1443))) 2102 2634 2103 2635 #define yytable_value_is_error(Yytable_value) \ 2104 (!!((Yytable_value) == (-542)))2636 YYID (0) 2105 2637 2106 2638 static const yytype_int16 yycheck[] = 2107 2639 { 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, 2640 11, 216, 223, 299, 52, 299, 91, 52, 466, 505, 2641 293, 56, 390, 502, 390, 167, 168, 157, 466, 296, 2642 171, 157, 736, 299, 73, 52, 667, 938, 144, 328, 2643 57, 222, 139, 875, 619, 62, 63, 1023, 240, 1023, 2644 52, 52, 564, 52, 325, 999, 57, 952, 953, 299, 2645 171, 62, 63, 101, 240, 110, 101, 1045, 310, 1116, 2646 52, 505, 73, 583, 604, 951, 686, 708, 95, 959, 2647 261, 262, 503, 613, 101, 261, 1194, 1286, 105, 884, 2648 885, 886, 111, 112, 95, 175, 891, 1529, 3, 101, 2649 101, 3, 101, 1291, 105, 216, 24, 1295, 638, 3, 2650 1298, 21, 262, 3, 3, 3, 1286, 3, 21, 101, 2651 27, 957, 24, 3, 3, 3, 3, 3, 3, 185, 2652 24, 899, 900, 3, 24, 24, 3, 5, 24, 240, 2653 3, 1286, 3, 21, 24, 3, 388, 24, 24, 24, 2654 3, 3, 3, 3, 24, 4, 3, 24, 175, 5, 2655 261, 5, 3, 65, 48, 3, 24, 359, 3, 310, 2656 362, 65, 3, 24, 175, 65, 65, 24, 3, 65, 2657 466, 168, 466, 359, 223, 65, 362, 331, 65, 65, 2658 65, 3, 1581, 24, 405, 65, 183, 3, 65, 56, 2659 3, 3, 3, 1181, 1105, 573, 193, 65, 3, 339, 2660 52, 3, 1601, 339, 65, 426, 3, 359, 65, 411, 2661 362, 3, 3, 3, 3, 3, 192, 24, 3, 3, 2662 3, 3, 424, 18, 65, 411, 380, 22, 21, 240, 2663 137, 1440, 170, 424, 3, 386, 387, 388, 132, 1480, 2664 431, 331, 3, 434, 19, 20, 437, 691, 359, 101, 2665 3, 362, 1098, 530, 192, 1464, 19, 20, 65, 18, 2666 309, 316, 545, 22, 424, 21, 315, 155, 323, 727, 2667 198, 1713, 192, 284, 988, 192, 325, 437, 394, 328, 2668 195, 194, 1400, 195, 1464, 200, 198, 194, 299, 201, 2669 380, 1279, 321, 322, 198, 162, 155, 195, 198, 198, 2670 411, 1191, 198, 505, 331, 599, 195, 738, 198, 1464, 2671 5, 198, 198, 198, 505, 161, 194, 47, 198, 505, 2672 331, 198, 195, 599, 195, 619, 192, 52, 3, 1134, 2673 198, 24, 195, 195, 24, 195, 194, 198, 194, 155, 2674 194, 198, 390, 619, 195, 337, 866, 195, 359, 3, 2675 195, 362, 892, 380, 365, 24, 405, 198, 898, 110, 2676 195, 901, 1603, 390, 1142, 905, 114, 5, 988, 380, 2677 100, 101, 1581, 195, 1583, 65, 101, 426, 427, 390, 2678 1589, 633, 195, 195, 195, 1026, 155, 98, 509, 98, 2679 195, 198, 1601, 195, 505, 195, 65, 192, 195, 98, 2680 411, 194, 155, 195, 195, 195, 195, 195, 400, 401, 2681 195, 195, 195, 195, 155, 52, 427, 1615, 193, 195, 2682 168, 24, 507, 508, 185, 186, 189, 188, 161, 192, 2683 193, 192, 29, 192, 31, 146, 194, 146, 194, 466, 2684 736, 192, 736, 310, 49, 193, 192, 146, 600, 601, 2685 602, 192, 147, 111, 112, 466, 733, 1440, 679, 611, 2686 736, 676, 65, 24, 101, 680, 681, 574, 1422, 585, 2687 144, 24, 527, 1461, 1531, 52, 503, 504, 505, 1365, 2688 155, 192, 633, 1388, 624, 570, 736, 52, 624, 691, 2689 52, 88, 503, 504, 505, 1481, 192, 1481, 509, 173, 2690 691, 155, 192, 780, 65, 691, 111, 112, 198, 147, 2691 155, 702, 65, 171, 155, 155, 702, 24, 115, 386, 2692 387, 388, 1011, 390, 101, 573, 803, 1023, 573, 198, 2693 24, 1027, 22, 24, 545, 580, 101, 564, 29, 101, 2694 31, 999, 168, 824, 24, 826, 573, 192, 98, 1582, 2695 125, 999, 192, 564, 756, 676, 567, 147, 65, 680, 2696 681, 573, 573, 1204, 573, 756, 171, 193, 580, 1602, 2697 1092, 65, 4, 1351, 1379, 1160, 173, 604, 605, 1023, 2698 691, 24, 194, 1027, 26, 65, 613, 614, 599, 192, 2699 1368, 702, 33, 604, 605, 198, 146, 88, 194, 1582, 2700 1583, 176, 613, 614, 194, 47, 1589, 48, 619, 746, 2701 24, 638, 24, 117, 118, 1526, 753, 192, 1604, 1602, 2702 1604, 103, 65, 131, 115, 652, 108, 638, 3, 111, 2703 679, 192, 173, 1173, 19, 20, 3, 198, 175, 192, 2704 651, 652, 192, 18, 141, 198, 3, 22, 1490, 169, 2705 170, 65, 29, 65, 31, 22, 667, 194, 140, 5, 2706 6, 7, 8, 9, 10, 22, 12, 13, 14, 15, 2707 16, 17, 192, 19, 20, 21, 22, 23, 192, 29, 2708 691, 31, 173, 18, 198, 192, 838, 22, 192, 175, 2709 5, 198, 183, 185, 186, 143, 188, 708, 192, 194, 2710 192, 1000, 194, 999, 198, 999, 573, 198, 194, 195, 2711 24, 738, 192, 580, 200, 29, 727, 31, 198, 113, 2712 100, 101, 102, 194, 189, 736, 194, 738, 193, 200, 2713 779, 194, 28, 29, 30, 31, 603, 889, 88, 192, 2714 125, 37, 195, 193, 194, 612, 1235, 1461, 201, 192, 2715 902, 131, 868, 860, 192, 198, 4, 195, 1669, 139, 2716 158, 159, 160, 201, 819, 115, 633, 919, 635, 636, 2717 637, 782, 194, 925, 823, 824, 1234, 826, 192, 194, 2718 192, 0, 1, 38, 198, 200, 198, 939, 192, 194, 2719 194, 176, 88, 933, 125, 1078, 105, 933, 107, 950, 2720 185, 186, 194, 188, 189, 24, 194, 192, 193, 28, 2721 29, 30, 31, 1454, 841, 1193, 113, 1193, 37, 115, 2722 1210, 1023, 1212, 173, 29, 1027, 31, 875, 192, 1123, 2723 841, 195, 192, 183, 48, 195, 1027, 1023, 887, 431, 2724 194, 1027, 434, 1045, 193, 176, 65, 1123, 875, 195, 2725 196, 197, 21, 22, 185, 186, 194, 188, 194, 1045, 2726 201, 192, 6, 7, 875, 892, 1160, 173, 174, 88, 2727 5, 898, 899, 900, 901, 201, 903, 173, 905, 906, 2728 175, 892, 1330, 88, 1160, 23, 1334, 898, 899, 900, 2729 901, 940, 903, 938, 905, 906, 115, 764, 10, 1101, 2730 192, 193, 198, 12, 13, 14, 15, 16, 17, 18, 2731 115, 938, 1023, 168, 9, 1101, 1027, 194, 929, 1040, 2732 68, 69, 70, 194, 72, 952, 953, 938, 168, 52, 2733 185, 186, 192, 188, 1045, 173, 174, 192, 193, 105, 2734 106, 952, 953, 40, 41, 185, 186, 192, 188, 1101, 2735 4, 1000, 192, 193, 173, 24, 1239, 176, 177, 178, 2736 179, 1618, 1619, 192, 1422, 184, 62, 63, 173, 211, 2737 212, 190, 999, 1022, 1422, 192, 5, 988, 183, 198, 2738 332, 333, 192, 65, 66, 1481, 147, 1139, 999, 29, 2739 1101, 31, 200, 169, 185, 186, 65, 188, 80, 105, 2740 1027, 192, 1154, 85, 195, 194, 192, 1284, 875, 91, 2741 1095, 1022, 1023, 194, 151, 1026, 1027, 195, 1396, 1171, 2742 1396, 185, 186, 890, 188, 5, 5, 1242, 192, 1040, 2743 195, 195, 108, 5, 1045, 111, 1330, 904, 3, 175, 2744 1334, 1243, 19, 20, 175, 121, 175, 123, 88, 195, 2745 126, 127, 1243, 162, 163, 164, 165, 1243, 203, 175, 2746 1105, 25, 195, 195, 140, 1092, 192, 1078, 5, 145, 2747 194, 938, 22, 192, 192, 115, 1125, 3, 1105, 161, 2748 195, 1092, 3, 950, 194, 111, 4, 196, 197, 171, 2749 1101, 195, 1103, 195, 1105, 176, 177, 178, 179, 168, 2750 174, 192, 155, 184, 3, 1296, 3, 192, 1604, 190, 2751 194, 192, 1123, 200, 4, 1142, 185, 186, 195, 188, 2752 4, 1242, 114, 192, 193, 135, 1422, 194, 1422, 198, 2753 192, 1142, 1243, 173, 183, 195, 100, 101, 102, 195, 2754 183, 5, 1169, 183, 194, 1193, 1173, 195, 125, 1160, 2755 192, 176, 177, 178, 179, 192, 39, 195, 1169, 184, 2756 183, 183, 1173, 3, 175, 190, 1193, 131, 18, 133, 2757 134, 135, 5, 150, 138, 139, 3, 141, 142, 194, 2758 22, 194, 1193, 3, 192, 194, 21, 1236, 194, 166, 2759 167, 21, 1203, 1204, 185, 186, 195, 188, 280, 176, 2760 104, 192, 3, 285, 195, 194, 288, 194, 185, 186, 2761 194, 188, 189, 295, 3, 192, 193, 194, 194, 185, 2762 186, 3, 188, 1234, 192, 202, 192, 309, 194, 192, 2763 312, 1383, 1243, 185, 186, 147, 188, 1286, 1105, 194, 2764 192, 170, 1291, 194, 140, 155, 1295, 3, 125, 1298, 2765 115, 103, 3, 194, 185, 186, 108, 188, 1307, 111, 2766 5, 192, 5, 1721, 3, 30, 3, 349, 350, 121, 2767 352, 123, 5, 150, 126, 127, 195, 1288, 195, 361, 2768 195, 363, 31, 29, 185, 186, 1734, 188, 140, 166, 2769 167, 192, 374, 145, 376, 195, 3, 195, 3, 176, 2770 195, 5, 104, 1330, 4, 1172, 195, 1334, 185, 186, 2771 1359, 188, 189, 103, 396, 192, 193, 194, 108, 1330, 2772 194, 111, 194, 1334, 1351, 202, 1193, 21, 20, 192, 2773 4, 121, 4, 123, 195, 192, 126, 127, 192, 195, 2774 1351, 1368, 195, 5, 195, 3, 195, 3, 1396, 195, 2775 140, 4, 47, 95, 1575, 145, 74, 1368, 195, 1574, 2776 5, 1388, 5, 195, 200, 4, 3, 192, 104, 1396, 2777 194, 1420, 195, 195, 200, 194, 1591, 1388, 192, 195, 2778 104, 4, 3, 147, 4, 1396, 5, 3, 5, 3, 2779 194, 1440, 474, 26, 5, 1422, 478, 5, 3, 195, 2780 22, 3, 1269, 4, 3, 3, 21, 3, 490, 4, 2781 3, 1422, 195, 3, 195, 1464, 4, 195, 195, 195, 2782 194, 192, 192, 192, 3, 507, 508, 195, 4, 511, 2783 5, 192, 3, 192, 4, 517, 11, 21, 5, 3, 2784 1734, 195, 1490, 1454, 19, 20, 4, 22, 195, 22, 2785 1461, 195, 534, 1574, 1481, 195, 3, 195, 540, 3, 2786 195, 195, 194, 1490, 195, 195, 548, 3, 195, 4, 2787 1591, 4, 3, 1616, 4, 557, 1745, 49, 933, 1490, 2788 1023, 1526, 20, 565, 1023, 4, 418, 1296, 570, 101, 2789 1539, 1287, 11, 1240, 733, 527, 1464, 1284, 11, 1526, 2790 19, 20, 21, 427, 1023, 1454, 1453, 589, 1723, 1536, 2791 1288, 1378, 803, 1067, 255, 1526, 1583, 411, 1440, 1584, 2792 1547, 1589, 805, 504, 806, 1536, 1575, 736, 1027, 1396, 2793 1023, 997, 1581, 1582, 1583, 819, 1547, 52, 1078, 1304, 2794 1589, 1721, 57, 1234, 467, 906, 1590, 62, 63, 1010, 2795 125, 567, 1601, 1602, 573, 74, 1040, 1537, 1547, 1123, 2796 1368, 1539, 1548, 454, 456, 1359, 1615, 453, 650, 573, 2797 269, 458, 779, 461, 824, 150, 95, 1604, 4, 661, 2798 95, 578, 826, 333, 821, 11, 101, 573, 670, 392, 2799 105, 166, 167, 19, 20, 21, 324, 1398, 573, 632, 2800 578, 176, 1723, 573, 1139, 1616, 125, 896, 387, 614, 2801 185, 186, 573, 188, 189, 1383, 573, 192, 193, 194, 2802 573, 950, 634, 1490, 1669, 953, 1388, 202, 1461, 1678, 2803 11, 150, 925, 573, 573, 573, 1154, 339, 19, 20, 2804 919, 54, 1669, 1713, 1693, 286, 475, 166, 167, 651, 2805 725, 573, 1204, 708, 1203, 737, 26, 176, 1669, 1526, 2806 175, 1208, 1414, 1207, 671, -1, 185, 186, 1411, 188, 2807 189, 1416, 1103, 192, 193, 194, -1, -1, 760, -1, 2808 762, -1, -1, 202, -1, -1, -1, -1, -1, -1, 2809 1739, -1, -1, 1742, -1, 777, 4, -1, -1, 125, 2810 -1, 783, -1, 11, -1, -1, 1755, 1734, -1, -1, 2811 1721, 19, 20, 21, 95, -1, -1, -1, -1, -1, 2812 -1, -1, -1, 1734, 150, -1, -1, 4, -1, 155, 2813 -1, -1, -1, -1, 11, 817, -1, -1, -1, -1, 2814 166, 167, 19, 20, 125, -1, -1, 829, -1, -1, 2815 176, -1, 834, -1, 836, -1, -1, -1, -1, 185, 2816 186, -1, 188, 189, -1, -1, 192, 193, 194, 150, 2817 -1, -1, 4, -1, -1, -1, 202, -1, -1, 11, 2818 -1, -1, 864, -1, -1, 166, 167, 19, 20, -1, 2819 -1, -1, -1, 875, -1, 176, -1, -1, -1, -1, 2820 -1, -1, 1669, 1670, 185, 186, -1, 188, 189, 324, 2821 -1, 192, 193, 194, -1, -1, 331, 125, -1, -1, 2822 4, 202, -1, -1, -1, -1, -1, 11, -1, -1, 2823 -1, -1, -1, -1, -1, 19, 20, -1, 920, -1, 2824 -1, -1, 150, -1, 926, -1, -1, -1, 125, -1, 2825 -1, -1, -1, -1, -1, -1, -1, -1, 166, 167, 2826 -1, -1, -1, -1, -1, 380, -1, -1, 176, -1, 2827 -1, 386, 387, 150, -1, 390, -1, 185, 186, 961, 2828 188, 189, 964, 965, 192, 193, 194, -1, -1, 166, 2829 167, -1, -1, 125, 202, -1, -1, -1, 4, 176, 2830 -1, -1, -1, -1, -1, 11, -1, -1, 185, 186, 2831 -1, 188, 189, 19, 20, 192, 193, 194, 150, -1, 2832 -1, -1, -1, -1, -1, 202, -1, -1, -1, -1, 2833 -1, 4, -1, -1, 166, 167, -1, -1, 11, -1, 2834 -1, 125, -1, -1, 176, -1, 19, 20, -1, -1, 2835 -1, -1, -1, 185, 186, -1, 188, 189, -1, -1, 2836 192, 193, 194, -1, -1, 1047, 150, -1, 1050, -1, 2837 202, -1, -1, -1, -1, -1, -1, -1, -1, 1061, 2838 -1, 1063, 166, 167, -1, -1, 1068, -1, 503, 504, 2839 505, -1, 176, -1, 1076, 1077, -1, -1, -1, -1, 2840 -1, 185, 186, -1, 188, 189, 95, -1, 192, 193, 2841 194, -1, -1, 1095, 1096, -1, 105, -1, 202, 125, 2842 5, -1, -1, -1, -1, -1, 11, 1109, -1, 1111, 2843 -1, -1, -1, -1, 19, 20, -1, -1, -1, -1, 2844 1122, -1, -1, -1, 150, -1, -1, -1, 160, 564, 2845 -1, -1, 125, -1, -1, -1, -1, -1, 573, 171, 2846 166, 167, -1, -1, -1, -1, -1, -1, -1, -1, 2847 176, -1, -1, -1, -1, -1, -1, 150, -1, 185, 2848 186, -1, 188, 189, -1, -1, 192, 193, 194, 604, 2849 605, -1, -1, 166, 167, -1, 202, 1179, 613, 614, 2850 -1, 1183, -1, 176, -1, 1187, -1, 1189, 1190, -1, 2851 -1, -1, 185, 186, -1, 188, 189, 632, 1200, 192, 2852 193, 194, 234, 638, -1, -1, -1, -1, 240, 202, 2853 -1, -1, -1, -1, -1, -1, -1, 652, -1, -1, 2854 125, -1, -1, 255, -1, -1, 1228, -1, -1, -1, 2855 -1, -1, 667, 1235, -1, -1, 1238, 4, -1, 1241, 2856 -1, -1, -1, -1, 11, 150, -1, -1, -1, -1, 2857 -1, -1, 19, 20, -1, -1, -1, -1, -1, -1, 2858 -1, 166, 167, -1, 1266, -1, -1, -1, -1, -1, 2859 -1, 176, -1, 708, -1, -1, -1, -1, 310, 311, 2860 185, 186, -1, 188, 189, -1, -1, 192, 193, 194, 2861 -1, -1, 324, -1, -1, 327, -1, 202, -1, -1, 2862 -1, -1, -1, 738, -1, -1, 1308, -1, 1310, -1, 2863 -1, 343, 344, -1, -1, 324, 4, -1, -1, -1, 2864 -1, -1, -1, 11, -1, -1, -1, 359, -1, -1, 2865 362, 19, 20, -1, -1, -1, -1, -1, -1, 1341, 2866 -1, -1, -1, -1, -1, 1347, -1, -1, -1, -1, 2867 -1, -1, 384, -1, 386, 387, 388, -1, 125, -1, 2868 -1, 1363, -1, -1, -1, 1367, -1, -1, -1, -1, 2869 -1, -1, -1, -1, -1, -1, -1, 386, 387, 411, 2870 -1, -1, 1384, 150, 1386, -1, -1, 1389, -1, 1391, 2871 1392, -1, 1394, -1, -1, -1, -1, -1, -1, 166, 2872 167, -1, -1, 1405, -1, -1, 841, -1, -1, 176, 2873 -1, -1, -1, -1, -1, -1, -1, -1, 185, 186, 2874 -1, 188, 189, -1, -1, 192, 193, 194, -1, -1, 2875 -1, -1, -1, -1, -1, 202, 4, 125, -1, -1, 2876 875, -1, -1, 11, -1, -1, -1, -1, -1, -1, 2877 -1, 19, 20, -1, -1, -1, -1, 892, -1, -1, 2878 -1, 1463, 150, 898, 899, 900, 901, -1, 903, -1, 2879 905, 906, -1, -1, 506, -1, -1, 509, 166, 167, 2880 -1, -1, -1, -1, -1, -1, -1, -1, 176, 521, 2881 -1, -1, -1, -1, 503, 504, -1, 185, 186, -1, 2882 188, 189, -1, 938, 192, 193, 194, -1, 19, 20, 2883 -1, -1, -1, -1, 202, 950, -1, 952, 953, -1, 2884 -1, -1, -1, -1, -1, 1527, -1, -1, -1, -1, 2885 -1, 1533, -1, -1, -1, -1, 1538, -1, -1, -1, 2886 -1, -1, -1, -1, -1, -1, -1, 1549, 1550, 1551, 2887 -1, -1, -1, -1, -1, 564, -1, 125, 1560, 5, 2888 -1, -1, -1, -1, -1, 11, -1, -1, 1570, -1, 2889 -1, 1573, -1, 19, 20, -1, -1, -1, -1, -1, 2890 -1, -1, 150, -1, -1, -1, -1, -1, 1023, -1, 2891 -1, 1026, 1027, -1, -1, 604, 605, -1, 166, 167, 2892 -1, 633, -1, -1, 613, 614, -1, -1, 176, -1, 2893 -1, -1, -1, -1, 125, -1, 5, 185, 186, -1, 2894 188, 189, 11, 632, 192, 193, 194, -1, -1, 638, 2895 19, 20, -1, -1, 202, 667, -1, 11, -1, -1, 2896 -1, -1, -1, 652, 1646, 19, 20, -1, -1, -1, 2897 -1, -1, -1, -1, 686, 166, 167, 1092, 667, -1, 2898 -1, 1663, -1, -1, -1, 176, -1, -1, -1, -1, 2899 1105, -1, 1674, -1, 185, 186, 708, 188, 189, 125, 2900 -1, 192, 193, 194, -1, 59, -1, -1, 720, -1, 2901 722, -1, 66, -1, 68, 69, -1, -1, -1, 708, 2902 -1, -1, -1, -1, 150, -1, -1, 1142, -1, -1, 2903 1712, -1, -1, 1715, -1, -1, -1, -1, -1, -1, 2904 166, 167, -1, -1, -1, -1, -1, -1, -1, 738, 2905 176, 763, -1, 765, 1169, -1, 125, -1, 1173, 185, 2906 186, 773, 188, 189, 776, -1, 192, 193, 194, -1, 2907 -1, 125, -1, -1, -1, -1, 202, -1, 1193, -1, 2908 -1, 150, -1, -1, -1, -1, -1, -1, 1203, 1204, 2909 -1, -1, -1, -1, -1, -1, 150, 166, 167, -1, 2910 -1, -1, -1, -1, 38, -1, -1, 176, -1, -1, 2911 -1, -1, 166, 167, -1, -1, 185, 186, -1, 188, 2912 189, -1, 176, 192, 193, 194, -1, -1, -1, -1, 2913 -1, 185, 186, 202, 188, 189, -1, -1, 192, 193, 2914 194, -1, -1, -1, -1, 79, -1, -1, 202, -1, 2915 -1, 863, 841, -1, -1, -1, -1, -1, -1, -1, 2916 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2917 104, 883, 884, 885, 886, 109, -1, -1, -1, 891, 2918 -1, -1, 116, -1, 896, 119, 120, -1, 122, -1, 2919 -1, 125, -1, -1, 128, 129, 130, -1, -1, -1, 2920 -1, -1, -1, 892, -1, -1, -1, -1, -1, 898, 2921 899, 900, 901, -1, 903, -1, 905, 906, -1, 931, 2922 154, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2923 -1, -1, -1, -1, 168, -1, 1351, -1, 950, 951, 2924 -1, -1, -1, -1, -1, 957, -1, -1, 960, -1, 2925 -1, 185, 186, 1368, 188, -1, -1, -1, 192, 193, 2926 -1, 950, -1, 952, 953, -1, -1, -1, -1, -1, 2927 -1, -1, -1, 1388, -1, -1, 988, -1, -1, -1, 2928 -1, 1396, -1, -1, 996, -1, 6, 7, -1, 9, 2929 10, -1, 12, 13, 14, 15, 16, 17, 18, 19, 2930 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, 2931 -1, -1, -1, -1, 1026, -1, -1, -1, -1, -1, 2932 -1, -1, -1, 1035, -1, -1, -1, 1039, 1040, -1, 2933 1042, 1043, -1, 1045, -1, -1, -1, 1026, 1453, 1454, 2934 6, 7, -1, 9, 10, 65, 12, 13, 14, 15, 2935 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, 2936 -1, -1, -1, -1, -1, -1, 1481, -1, -1, -1, 2937 -1, -1, -1, -1, -1, 1490, -1, -1, -1, -1, 2938 -1, -1, -1, -1, -1, -1, 1098, -1, -1, 1101, 2939 -1, -1, 1104, -1, -1, -1, -1, -1, -1, 65, 2940 -1, -1, -1, 1092, -1, -1, -1, -1, 11, -1, 2941 -1, 1526, -1, -1, -1, -1, 19, 20, -1, -1, 2942 -1, 1536, 1134, -1, -1, -1, -1, -1, -1, -1, 2943 -1, -1, 1547, -1, -1, -1, -1, -1, -1, -1, 2944 -1, -1, 162, 163, 164, 165, -1, 50, -1, 52, 2945 53, 54, 55, 1142, 57, -1, 59, 60, -1, -1, 2946 -1, -1, -1, 66, -1, 68, -1, 70, -1, 1181, 2947 -1, -1, -1, 193, -1, -1, 196, 197, 198, -1, 2948 1169, 201, 1194, -1, 1173, -1, -1, -1, -1, 1604, 2949 -1, 1203, 1204, -1, 11, -1, 162, 163, 164, 165, 2950 -1, -1, 19, 20, -1, -1, -1, -1, -1, -1, 2951 -1, -1, -1, -1, 1203, 1204, -1, -1, -1, -1, 2952 -1, 1233, 125, -1, -1, -1, -1, 193, 194, -1, 2953 196, 197, 198, 50, 200, -1, -1, 54, 55, 56, 2954 57, 58, 59, -1, -1, -1, -1, 150, -1, 66, 2955 67, 68, -1, -1, 1669, -1, 1268, -1, -1, -1, 2956 1272, -1, -1, 166, 167, -1, -1, 1279, -1, 11, 2957 -1, -1, -1, 176, -1, -1, -1, 19, 20, 21, 2958 -1, -1, 185, 186, -1, 188, 189, -1, -1, 192, 2959 193, 194, -1, -1, -1, -1, -1, -1, -1, 202, 2960 -1, 1313, -1, -1, -1, -1, -1, -1, 125, 51, 2961 -1, -1, -1, -1, -1, 1327, -1, 59, -1, 61, 2962 62, 63, 64, -1, 66, -1, 68, -1, -1, -1, 2963 -1, -1, -1, 150, -1, -1, -1, -1, -1, -1, 2964 -1, -1, -1, -1, -1, -1, -1, -1, -1, 166, 2965 167, -1, -1, 1365, -1, -1, -1, -1, -1, 176, 2966 -1, -1, 1351, -1, -1, 1377, -1, 1379, 185, 186, 2967 -1, 188, 189, -1, -1, 192, 193, 194, -1, 1368, 2968 -1, -1, -1, 125, -1, 202, 1398, -1, 1400, -1, 2969 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1388, 2970 -1, -1, -1, -1, -1, -1, -1, -1, 150, -1, 2256 2971 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2257 -1, -1, -1, -1, -1, 163, 164, 165, -1, -1, 2972 -1, -1, -1, -1, 166, 167, 168, -1, 11, -1, 2973 -1, -1, -1, -1, 176, -1, 19, 20, -1, -1, 2974 -1, 1453, 1454, 185, 186, -1, 188, 189, 1460, 1461, 2975 192, 193, 194, -1, -1, -1, -1, -1, -1, -1, 2976 202, -1, -1, -1, 1453, 1454, -1, 50, 1480, 52, 2977 -1, 54, 55, -1, 57, -1, 59, 60, -1, -1, 2978 -1, -1, 11, 66, -1, 68, -1, 70, -1, -1, 2979 19, 20, -1, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 2980 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 2981 1522, 1523, -1, -1, 11, 44, -1, -1, -1, -1, 2982 -1, -1, 19, 20, -1, -1, -1, -1, -1, -1, 2983 59, -1, -1, -1, -1, -1, -1, 66, -1, 68, 2984 69, -1, 125, -1, -1, -1, -1, 1536, -1, -1, 2985 -1, -1, -1, -1, -1, -1, -1, -1, 1547, -1, 2986 -1, -1, 59, -1, -1, -1, 1578, 150, -1, 66, 2987 -1, 68, 69, -1, -1, -1, -1, -1, -1, -1, 2988 -1, 110, -1, 166, 167, -1, 11, -1, -1, -1, 2989 -1, 1603, -1, 176, 19, 20, 125, -1, -1, -1, 2990 -1, -1, 185, 186, -1, 188, 189, -1, 1620, 192, 2991 193, 194, -1, -1, -1, -1, -1, -1, -1, 202, 2992 -1, 150, -1, -1, -1, 1637, 1638, 156, 125, -1, 2993 1642, -1, 1644, 58, 59, -1, -1, 166, 167, -1, 2994 -1, 66, -1, 68, -1, -1, -1, 176, -1, -1, 2995 -1, -1, -1, 150, -1, -1, 185, 186, 11, 188, 2996 189, -1, -1, 192, 193, 194, 19, 20, -1, 166, 2997 167, 24, -1, 202, -1, -1, -1, -1, -1, 176, 2998 -1, -1, -1, -1, -1, -1, -1, -1, 185, 186, 2999 1702, 188, 189, -1, -1, 192, 193, 194, 11, -1, 3000 125, -1, -1, -1, -1, 202, 19, 20, -1, -1, 3001 -1, 24, 65, 11, -1, -1, 1728, -1, -1, -1, 3002 -1, 19, 20, 21, -1, 150, -1, -1, 11, -1, 3003 -1, 1743, -1, 1745, 1746, -1, 19, 20, 21, -1, 3004 1752, 166, 167, -1, -1, 1757, -1, -1, -1, -1, 3005 -1, 176, 65, -1, -1, -1, -1, -1, -1, -1, 3006 185, 186, -1, 188, 189, -1, -1, 192, 193, 194, 3007 -1, -1, 125, -1, -1, -1, -1, 202, 11, -1, 3008 -1, -1, -1, -1, -1, -1, 19, 20, -1, -1, 3009 -1, -1, -1, 11, -1, -1, -1, 150, -1, -1, 3010 -1, 19, 20, 21, -1, -1, -1, -1, 11, -1, 3011 -1, -1, 125, 166, 167, -1, 19, 20, 21, -1, 3012 -1, -1, -1, 176, -1, -1, -1, 125, -1, -1, 3013 -1, -1, 185, 186, -1, 188, 189, 150, -1, 192, 3014 193, 194, 125, -1, -1, 198, -1, -1, -1, 202, 3015 -1, -1, 150, 166, 167, -1, -1, -1, -1, -1, 3016 -1, -1, -1, 176, -1, -1, -1, 150, 166, 167, 3017 168, -1, 185, 186, -1, 188, 189, -1, 176, 192, 3018 193, 194, -1, 166, 167, 198, -1, 185, 186, 202, 3019 188, 189, 125, 176, 192, 193, 194, -1, -1, -1, 3020 -1, -1, 185, 186, 202, 188, 189, 125, -1, 192, 3021 193, 194, 11, -1, -1, -1, -1, 150, -1, 202, 3022 19, 20, 125, -1, -1, -1, -1, 11, -1, -1, 3023 -1, -1, 150, 166, 167, 19, 20, -1, -1, -1, 3024 -1, -1, 11, 176, -1, -1, -1, 150, 166, 167, 3025 19, 20, 185, 186, -1, 188, 189, 11, 176, 192, 3026 193, 194, 195, 166, 167, 19, 20, 185, 186, 202, 3027 188, 189, -1, 176, 192, 193, 194, -1, -1, -1, 3028 -1, -1, 185, 186, 202, 188, 189, -1, -1, 192, 3029 193, 194, -1, -1, -1, -1, -1, 11, -1, 202, 3030 -1, -1, -1, -1, -1, 19, 20, -1, -1, -1, 3031 -1, -1, 11, -1, -1, -1, -1, -1, -1, -1, 3032 19, 20, -1, -1, -1, -1, 125, 11, -1, -1, 3033 -1, -1, -1, -1, -1, 19, 20, -1, -1, -1, 3034 -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, 3035 -1, 150, -1, -1, -1, -1, 125, -1, -1, -1, 3036 -1, -1, -1, -1, -1, -1, 150, 166, 167, -1, 3037 -1, 125, -1, -1, -1, -1, -1, 176, -1, -1, 3038 -1, 150, 166, 167, -1, -1, 185, 186, -1, 188, 3039 189, -1, 176, 192, 193, 194, 150, 166, 167, -1, 3040 -1, 185, 186, 202, 188, 189, -1, 176, 192, 193, 3041 194, 125, 166, 167, -1, -1, 185, 186, 202, 188, 3042 189, -1, 176, 192, 193, 194, 125, -1, -1, -1, 3043 -1, 185, 186, 202, 188, 189, 150, -1, 192, 193, 3044 194, 125, -1, -1, 38, -1, -1, -1, 202, -1, 3045 -1, 150, 166, 167, 25, -1, -1, -1, -1, -1, 3046 -1, 32, 176, -1, -1, -1, 150, 166, 167, -1, 3047 -1, 185, 186, -1, 188, 189, 47, 176, 192, 193, 3048 194, -1, 166, 167, -1, -1, 185, 186, 202, 188, 3049 189, -1, 176, 192, 193, 194, -1, -1, -1, -1, 3050 -1, 185, 186, 202, 188, 189, -1, -1, 192, 193, 3051 194, -1, 83, -1, -1, 109, -1, -1, 202, -1, 3052 114, -1, -1, -1, -1, 119, 120, -1, 122, 100, 3053 101, 125, -1, -1, 128, 129, 130, -1, -1, -1, 3054 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, 2258 3055 -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, 3056 131, -1, 133, 32, 135, 136, -1, -1, -1, 38, 3057 141, -1, 143, -1, 168, -1, -1, 148, -1, 48, 3058 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3059 -1, 185, 186, -1, 188, -1, -1, 168, 192, 193, 3060 171, 172, 173, -1, -1, 176, 177, 178, 179, -1, 3061 79, -1, -1, 184, 185, 186, 187, 188, -1, 190, 3062 -1, 192, 193, -1, -1, 94, -1, -1, -1, -1, 3063 -1, -1, -1, -1, -1, -1, 105, 106, 107, -1, 3064 109, -1, -1, 112, -1, 114, -1, 116, 32, -1, 3065 119, 120, -1, 122, 38, -1, 125, -1, -1, 128, 3066 129, 130, -1, 132, -1, 49, -1, -1, -1, -1, 3067 -1, 32, -1, -1, -1, -1, -1, 38, -1, -1, 3068 -1, -1, -1, -1, -1, 154, -1, -1, 49, -1, 3069 -1, -1, -1, -1, -1, 79, -1, -1, -1, 168, 3070 169, 170, 171, -1, -1, -1, -1, -1, -1, -1, 3071 94, -1, -1, -1, -1, -1, 185, 186, 79, 188, 3072 -1, -1, -1, 192, 193, 109, -1, -1, 112, 113, 3073 -1, -1, 116, 94, -1, 119, 120, -1, 122, -1, 3074 -1, 125, -1, -1, 128, 129, 130, -1, 109, -1, 3075 -1, 112, 113, -1, -1, 116, -1, -1, 119, 120, 3076 -1, 122, 38, -1, 125, -1, -1, 128, 129, 130, 3077 154, -1, -1, 49, -1, -1, -1, -1, -1, -1, 3078 -1, -1, -1, -1, 168, 38, -1, 171, -1, -1, 3079 -1, -1, -1, 154, -1, -1, -1, -1, -1, 183, 3080 -1, 185, 186, 79, 188, -1, -1, 168, 192, 193, 3081 171, -1, -1, -1, -1, -1, -1, -1, 94, -1, 3082 -1, -1, 183, -1, 185, 186, 79, 188, -1, -1, 3083 -1, 192, 193, 109, -1, -1, 112, 113, -1, -1, 3084 116, 94, -1, 119, 120, -1, 122, -1, -1, 125, 3085 -1, -1, 128, 129, 130, -1, 109, -1, -1, -1, 3086 -1, -1, -1, 116, -1, -1, 119, 120, -1, 122, 3087 -1, -1, 125, -1, -1, 128, 129, 130, 154, -1, 2274 3088 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2275 -1, -1, -1, -1, -1, -1, -1, 163, 164, 165, 3089 -1, -1, 168, -1, -1, 171, -1, -1, -1, -1, 3090 -1, 154, -1, -1, -1, -1, -1, 183, -1, 185, 3091 186, -1, 188, -1, -1, 168, 192, 193, -1, -1, 2276 3092 -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, 2286 164, 165, -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, 2314 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2315 -1, -1, -1, -1, -1, 163, 164, 165, -1, -1, 2316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 2326 -1, -1, -1, -1, -1, -1, -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, 2332 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2333 -1, -1, -1, -1, -1, 163, 164, 165, -1, -1, 2334 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2335 -1, -1, -1, -1, 163, 164, 165, -1, -1, -1, 2336 -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 2344 -1, -1, -1, -1, -1, -1, -1, -1, -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, 2391 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2393 -1, -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, 2467 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2469 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2470 -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 2478 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2481 -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, 2493 -1, -1, -1, -1, -1, -1, -1, -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, 2525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2526 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2527 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2528 -1, -1, -1, -1, -1, -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, 2536 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2537 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2538 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2539 -1, -1, -1, -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, 2549 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2550 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2551 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2552 -1, -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, 2560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2561 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2562 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2563 -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 2651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2652 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2653 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2654 -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, 2701 -1, -1, -1, -1, -1, -1, -1, -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, 2732 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2733 -1, -1, -1, -1, -1, 148, 149, 150, 151, -1, 2734 -1, -1, -1, -1, -1, -1, -1, 160, 161 3093 -1, -1, 185, 186, -1, 188, -1, -1, -1, 192, 3094 193 2735 3095 }; 2736 3096 … … 2739 3099 static const yytype_uint16 yystos[] = 2740 3100 { 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 3101 0, 205, 0, 1, 24, 28, 30, 37, 65, 88, 3102 115, 173, 198, 206, 207, 208, 209, 211, 212, 265, 3103 266, 644, 647, 664, 666, 700, 701, 702, 703, 704, 3104 718, 719, 185, 213, 192, 192, 176, 177, 178, 179, 3105 184, 190, 192, 232, 267, 316, 210, 24, 198, 24, 3106 267, 237, 238, 412, 657, 659, 665, 665, 29, 31, 3107 115, 702, 665, 665, 210, 667, 648, 269, 268, 273, 3108 270, 272, 271, 194, 195, 195, 210, 198, 209, 25, 3109 32, 47, 83, 100, 101, 112, 133, 135, 136, 148, 3110 168, 171, 172, 185, 186, 187, 188, 192, 193, 232, 3111 239, 240, 241, 252, 260, 261, 289, 291, 293, 332, 3112 333, 348, 351, 367, 372, 376, 393, 394, 399, 404, 3113 405, 412, 413, 419, 423, 429, 440, 442, 451, 453, 3114 455, 458, 459, 460, 521, 522, 547, 548, 549, 551, 3115 557, 558, 561, 567, 572, 595, 618, 643, 681, 684, 3116 730, 161, 659, 260, 261, 646, 653, 731, 38, 49, 3117 79, 94, 109, 116, 119, 120, 122, 125, 128, 129, 3118 130, 154, 192, 242, 243, 253, 254, 260, 465, 482, 3119 521, 522, 532, 533, 537, 547, 566, 567, 576, 577, 3120 580, 592, 593, 594, 595, 596, 601, 608, 612, 615, 3121 618, 631, 634, 637, 689, 694, 730, 192, 721, 192, 3122 707, 242, 242, 207, 207, 21, 194, 274, 275, 274, 3123 274, 274, 21, 194, 285, 286, 287, 274, 4, 11, 3124 19, 20, 21, 125, 150, 166, 167, 176, 189, 193, 3125 194, 202, 232, 255, 258, 264, 276, 277, 280, 281, 3126 289, 290, 317, 318, 323, 325, 440, 489, 490, 491, 3127 492, 493, 496, 497, 499, 501, 502, 503, 504, 505, 3128 509, 512, 514, 687, 696, 400, 207, 3, 195, 194, 3129 424, 425, 3, 207, 214, 552, 155, 192, 682, 683, 3130 155, 407, 22, 430, 207, 552, 3, 294, 295, 194, 3131 380, 381, 383, 384, 440, 442, 4, 194, 241, 103, 3132 108, 111, 140, 192, 442, 194, 292, 265, 369, 407, 3133 407, 131, 141, 143, 147, 194, 523, 5, 194, 454, 3134 545, 546, 554, 554, 545, 658, 113, 645, 654, 655, 3135 656, 703, 718, 194, 194, 192, 232, 236, 509, 565, 3136 192, 207, 261, 192, 198, 733, 194, 194, 640, 194, 3137 514, 599, 194, 599, 194, 194, 207, 509, 511, 512, 3138 517, 518, 519, 520, 597, 4, 113, 247, 248, 244, 3139 245, 246, 253, 643, 111, 121, 123, 126, 127, 145, 3140 534, 48, 578, 579, 583, 194, 690, 194, 725, 194, 3141 247, 247, 193, 95, 519, 194, 277, 288, 74, 95, 3142 264, 194, 324, 327, 328, 329, 509, 201, 201, 232, 3143 276, 279, 280, 282, 496, 509, 5, 3, 195, 324, 3144 23, 494, 21, 22, 495, 276, 277, 496, 277, 492, 3145 12, 13, 14, 15, 16, 17, 18, 162, 163, 164, 3146 165, 196, 197, 498, 500, 10, 506, 9, 507, 6, 3147 7, 508, 499, 194, 194, 52, 426, 3, 207, 117, 3148 118, 232, 553, 207, 682, 3, 207, 192, 685, 686, 3149 192, 18, 22, 432, 433, 207, 47, 296, 297, 348, 3150 192, 155, 192, 384, 385, 386, 453, 457, 458, 459, 3151 3, 378, 379, 434, 3, 22, 111, 112, 171, 456, 3152 207, 514, 21, 193, 261, 509, 511, 622, 509, 207, 3153 4, 5, 452, 513, 514, 265, 301, 302, 303, 304, 3154 3, 335, 336, 337, 368, 192, 370, 371, 680, 192, 3155 373, 374, 375, 433, 407, 407, 144, 265, 415, 416, 3156 192, 440, 441, 442, 509, 529, 530, 531, 480, 514, 3157 524, 525, 526, 527, 147, 509, 452, 200, 246, 169, 3158 170, 192, 262, 263, 550, 555, 556, 559, 562, 563, 3159 263, 555, 105, 568, 569, 573, 3, 155, 662, 732, 3160 412, 649, 656, 509, 540, 509, 207, 207, 207, 466, 3161 602, 194, 59, 66, 68, 69, 509, 599, 635, 636, 3162 207, 59, 66, 68, 69, 599, 632, 633, 207, 483, 3163 232, 736, 207, 49, 207, 668, 669, 246, 509, 194, 3164 21, 51, 59, 61, 62, 63, 64, 66, 68, 192, 3165 442, 446, 598, 599, 600, 619, 620, 621, 622, 619, 3166 622, 695, 261, 521, 532, 533, 535, 538, 539, 137, 3167 194, 587, 132, 579, 584, 545, 195, 692, 207, 726, 3168 720, 705, 412, 715, 412, 722, 5, 195, 264, 5, 3169 5, 3, 195, 327, 509, 151, 3, 192, 193, 278, 3170 278, 175, 280, 195, 264, 318, 203, 326, 277, 491, 3171 491, 492, 493, 497, 501, 502, 503, 195, 688, 192, 3172 402, 403, 195, 232, 428, 443, 451, 453, 459, 425, 3173 194, 544, 5, 207, 683, 3, 207, 22, 192, 192, 3174 437, 438, 195, 3, 207, 194, 3, 377, 434, 380, 3175 383, 232, 276, 277, 279, 280, 289, 315, 316, 319, 3176 347, 382, 388, 391, 392, 440, 496, 687, 509, 207, 3177 552, 207, 552, 4, 21, 155, 232, 461, 462, 464, 3178 509, 512, 207, 3, 207, 195, 111, 509, 195, 4, 3179 3, 155, 305, 174, 300, 303, 25, 102, 131, 133, 3180 134, 135, 138, 139, 141, 142, 338, 348, 192, 341, 3181 342, 344, 155, 3, 207, 3, 3, 207, 192, 396, 3182 232, 343, 408, 409, 410, 411, 433, 414, 194, 3, 3183 207, 200, 207, 4, 3, 195, 3, 195, 442, 528, 3184 207, 195, 455, 207, 552, 4, 114, 38, 128, 130, 3185 260, 261, 465, 482, 521, 532, 560, 576, 593, 595, 3186 601, 608, 612, 615, 618, 631, 634, 637, 689, 554, 3187 550, 563, 260, 194, 106, 569, 570, 571, 574, 545, 3188 135, 673, 192, 207, 183, 195, 195, 443, 453, 458, 3189 473, 474, 475, 50, 54, 55, 56, 57, 58, 59, 3190 66, 67, 68, 599, 604, 605, 50, 52, 53, 54, 3191 55, 57, 59, 60, 66, 68, 70, 599, 641, 642, 3192 599, 261, 442, 449, 450, 442, 447, 448, 607, 3, 3193 195, 599, 261, 449, 607, 3, 195, 475, 485, 3, 3194 195, 194, 249, 250, 251, 703, 718, 183, 195, 609, 3195 5, 21, 598, 622, 192, 620, 261, 261, 261, 449, 3196 3, 195, 195, 3, 207, 232, 696, 39, 536, 541, 3197 588, 192, 207, 192, 585, 691, 232, 255, 442, 509, 3198 697, 698, 699, 21, 192, 709, 727, 728, 729, 207, 3199 727, 183, 183, 519, 195, 264, 519, 519, 3, 328, 3200 232, 259, 276, 279, 283, 697, 5, 3, 195, 3, 3201 194, 509, 509, 686, 232, 421, 422, 443, 22, 194, 3202 3, 435, 297, 192, 298, 299, 232, 386, 387, 553, 3203 207, 380, 194, 21, 389, 389, 194, 3, 22, 389, 3204 277, 280, 195, 207, 207, 4, 509, 261, 509, 5, 3205 3, 195, 4, 155, 463, 194, 509, 625, 626, 627, 3206 104, 509, 207, 513, 102, 131, 139, 306, 307, 348, 3207 232, 309, 310, 192, 207, 194, 194, 3, 334, 194, 3208 349, 338, 371, 374, 194, 3, 395, 406, 3, 207, 3209 192, 417, 418, 416, 192, 529, 481, 514, 480, 526, 3210 480, 527, 147, 207, 207, 170, 192, 207, 194, 192, 3211 193, 194, 734, 194, 111, 263, 564, 554, 509, 192, 3212 207, 107, 569, 575, 545, 155, 3, 674, 115, 651, 3213 207, 539, 582, 3, 468, 194, 476, 510, 511, 606, 3214 510, 510, 510, 514, 5, 599, 261, 510, 449, 3, 3215 195, 606, 5, 449, 447, 447, 449, 599, 442, 444, 3216 445, 261, 449, 444, 3, 195, 636, 207, 633, 207, 3217 3, 486, 232, 509, 251, 30, 671, 254, 260, 261, 3218 58, 59, 66, 68, 599, 610, 611, 514, 621, 616, 3219 625, 194, 442, 613, 623, 624, 627, 623, 540, 40, 3220 41, 542, 543, 534, 4, 509, 589, 590, 591, 207, 3221 586, 207, 207, 5, 3, 195, 195, 3, 195, 31, 3222 717, 29, 724, 195, 3, 195, 3, 195, 195, 232, 3223 330, 331, 553, 195, 195, 509, 516, 403, 401, 427, 3224 428, 452, 195, 3, 3, 420, 439, 438, 431, 434, 3225 3, 195, 5, 194, 232, 256, 257, 258, 259, 276, 3226 279, 315, 319, 347, 390, 391, 195, 255, 320, 321, 3227 322, 442, 509, 528, 531, 388, 104, 509, 4, 21, 3228 509, 462, 4, 509, 509, 509, 626, 628, 629, 3, 3229 207, 207, 195, 194, 3, 155, 194, 311, 3, 207, 3230 207, 339, 340, 342, 207, 350, 21, 284, 397, 192, 3231 207, 207, 410, 20, 3, 195, 4, 4, 528, 207, 3232 552, 207, 540, 11, 19, 20, 44, 110, 156, 166, 3233 167, 185, 186, 188, 189, 193, 215, 216, 220, 222, 3234 225, 227, 232, 233, 234, 509, 736, 509, 254, 195, 3235 207, 192, 207, 27, 192, 675, 676, 660, 192, 652, 3236 207, 98, 146, 469, 470, 474, 195, 477, 478, 479, 3237 480, 510, 605, 603, 447, 195, 642, 638, 98, 146, 3238 475, 487, 488, 195, 195, 192, 672, 111, 3, 5, 3239 599, 261, 449, 3, 195, 207, 617, 207, 3, 614, 3240 207, 195, 192, 207, 192, 207, 534, 591, 3, 195, 3241 4, 207, 232, 699, 698, 693, 351, 708, 713, 729, 3242 26, 708, 710, 711, 714, 652, 652, 95, 74, 195, 3243 5, 207, 3, 195, 195, 509, 422, 207, 434, 4, 3244 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 3245 362, 363, 364, 365, 514, 515, 207, 433, 299, 207, 3246 519, 232, 276, 5, 3, 195, 207, 509, 261, 509, 3247 4, 3, 626, 104, 308, 307, 4, 312, 353, 355, 3248 359, 284, 310, 352, 158, 159, 160, 366, 352, 288, 3249 5, 147, 345, 346, 352, 194, 192, 418, 207, 207, 3250 195, 509, 195, 195, 509, 200, 451, 453, 194, 194, 3251 195, 192, 185, 235, 451, 5, 6, 7, 8, 9, 3252 10, 12, 13, 14, 15, 16, 17, 19, 20, 21, 3253 22, 23, 196, 197, 217, 195, 195, 104, 207, 4, 3254 147, 3, 207, 650, 447, 472, 5, 3, 467, 3, 3255 195, 481, 4, 207, 625, 207, 472, 5, 3, 484, 3256 581, 670, 509, 261, 510, 611, 207, 207, 624, 207, 3257 192, 207, 207, 207, 590, 591, 207, 194, 712, 714, 3258 706, 713, 723, 723, 5, 5, 514, 428, 3, 22, 3259 195, 3, 4, 3, 3, 355, 363, 515, 21, 3, 3260 436, 3, 322, 321, 509, 553, 629, 630, 207, 312, 3261 195, 3, 4, 5, 147, 313, 314, 195, 195, 195, 3262 516, 315, 347, 440, 195, 398, 735, 223, 224, 226, 3263 5, 219, 509, 509, 509, 509, 509, 509, 509, 509, 3264 509, 509, 509, 509, 509, 509, 509, 5, 22, 218, 3265 509, 509, 5, 509, 5, 509, 192, 207, 192, 663, 3266 676, 677, 678, 679, 680, 192, 676, 207, 449, 471, 3267 470, 207, 478, 639, 471, 488, 207, 207, 207, 195, 3268 3, 207, 192, 207, 716, 207, 519, 264, 3, 509, 3269 192, 354, 356, 515, 4, 355, 358, 360, 4, 21, 3270 365, 437, 519, 5, 195, 195, 516, 315, 347, 352, 3271 220, 232, 221, 228, 228, 228, 509, 509, 509, 509, 3272 509, 207, 661, 3, 207, 261, 195, 207, 195, 195, 3273 514, 22, 4, 3, 195, 514, 195, 194, 4, 229, 3274 230, 231, 509, 195, 195, 195, 207, 678, 207, 3, 3275 421, 519, 3, 4, 509, 3, 4, 451, 514, 195, 3276 514, 509, 4, 230, 509, 3, 509, 4, 514, 509 2847 3277 }; 2848 3278 … … 3644 4074 switch (yyn) 3645 4075 { 3646 case 7:3647 /* Line 1807 of yacc.c */ 3648 #line 319 "fortran.y"4076 case 6: 4077 /* Line 1807 of yacc.c */ 4078 #line 519 "fortran.y" 3649 4079 {yyerrok;yyclearin;} 3650 4080 break; 3651 4081 3652 case 18: 3653 /* Line 1807 of yacc.c */ 3654 #line 337 "fortran.y" 4082 case 7: 4083 /* Line 1807 of yacc.c */ 4084 #line 522 "fortran.y" 4085 {token_since_endofstmt = 0; increment_nbtokens = 0;} 4086 break; 4087 4088 case 16: 4089 /* Line 1807 of yacc.c */ 4090 #line 535 "fortran.y" 3655 4091 { 3656 4092 if (inmoduledeclare == 0 ) … … 3662 4098 break; 3663 4099 3664 case 20:3665 /* Line 1807 of yacc.c */ 3666 #line 347"fortran.y"4100 case 18: 4101 /* Line 1807 of yacc.c */ 4102 #line 560 "fortran.y" 3667 4103 { pos_cur = setposcur(); } 3668 4104 break; 3669 4105 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 4106 case 24: 3689 4107 /* 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" 3697 { 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" 3709 { 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 } 4108 #line 584 "fortran.y" 4109 { Add_Include_1((yyvsp[(1) - (1)].na)); } 3717 4110 break; 3718 4111 3719 4112 case 27: 3720 4113 /* 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 } 4114 #line 1100 "fortran.y" 4115 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 3738 4116 break; 3739 4117 3740 4118 case 28: 3741 4119 /* 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 } 4120 #line 1101 "fortran.y" 4121 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4122 break; 4123 4124 case 29: 4125 /* Line 1807 of yacc.c */ 4126 #line 1102 "fortran.y" 4127 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 4128 break; 4129 4130 case 30: 4131 /* Line 1807 of yacc.c */ 4132 #line 1103 "fortran.y" 4133 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 3758 4134 break; 3759 4135 3760 4136 case 31: 3761 4137 /* Line 1807 of yacc.c */ 3762 #line 415"fortran.y"3763 { s trcpy((yyval.na), (yyvsp[(1) - (1)].na)); strcpy(subroutinename, (yyvsp[(1) - (1)].na)); }4138 #line 1104 "fortran.y" 4139 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 3764 4140 break; 3765 4141 3766 4142 case 32: 3767 4143 /* Line 1807 of yacc.c */ 3768 #line 417"fortran.y"3769 { Add_Include_1((yyvsp[(1) - (1)].na)); }4144 #line 1106 "fortran.y" 4145 { strcpy((yyval.na),"+"); } 3770 4146 break; 3771 4147 3772 4148 case 33: 3773 4149 /* Line 1807 of yacc.c */ 3774 #line 419"fortran.y"3775 { if ( firstpass ) (yyval.l)=NULL; }4150 #line 1107 "fortran.y" 4151 { strcpy((yyval.na),"-"); } 3776 4152 break; 3777 4153 3778 4154 case 34: 3779 4155 /* Line 1807 of yacc.c */ 3780 #line 420"fortran.y"3781 { if ( firstpass ) (yyval.l)=NULL; }4156 #line 1111 "fortran.y" 4157 { sprintf((yyval.na),"+%s",(yyvsp[(2) - (2)].na)); } 3782 4158 break; 3783 4159 3784 4160 case 35: 3785 4161 /* Line 1807 of yacc.c */ 3786 #line 421 "fortran.y" 3787 { if ( firstpass ) (yyval.l)=(yyvsp[(2) - (3)].l); } 4162 #line 1112 "fortran.y" 4163 { sprintf((yyval.na),"-%s",(yyvsp[(2) - (2)].na)); } 4164 break; 4165 4166 case 36: 4167 /* Line 1807 of yacc.c */ 4168 #line 1113 "fortran.y" 4169 { sprintf((yyval.na),"*%s",(yyvsp[(2) - (2)].na)); } 4170 break; 4171 4172 case 37: 4173 /* Line 1807 of yacc.c */ 4174 #line 1114 "fortran.y" 4175 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 3788 4176 break; 3789 4177 3790 4178 case 38: 3791 4179 /* Line 1807 of yacc.c */ 3792 #line 425 "fortran.y"3793 { if ( firstpass ) Add_SubroutineArgument_Var_1((yyvsp[(2) - (3)].l)); }4180 #line 1115 "fortran.y" 4181 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 3794 4182 break; 3795 4183 3796 4184 case 39: 3797 4185 /* Line 1807 of yacc.c */ 3798 #line 428 "fortran.y" 3799 { 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 } 4186 #line 1116 "fortran.y" 4187 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 3810 4188 break; 3811 4189 3812 4190 case 40: 3813 4191 /* Line 1807 of yacc.c */ 3814 #line 440 "fortran.y" 3815 { 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 } 4192 #line 1117 "fortran.y" 4193 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 3825 4194 break; 3826 4195 3827 4196 case 41: 3828 4197 /* Line 1807 of yacc.c */ 3829 #line 451"fortran.y"3830 { s trcpy((yyval.na),(yyvsp[(1) - (1)].na));}4198 #line 1118 "fortran.y" 4199 { sprintf((yyval.na)," > %s",(yyvsp[(2) - (2)].na)); } 3831 4200 break; 3832 4201 3833 4202 case 42: 3834 4203 /* Line 1807 of yacc.c */ 3835 #line 452 "fortran.y" 3836 { strcpy((yyval.na),"*"); } 4204 #line 1119 "fortran.y" 4205 { sprintf((yyval.na)," < %s",(yyvsp[(2) - (2)].na)); } 4206 break; 4207 4208 case 43: 4209 /* Line 1807 of yacc.c */ 4210 #line 1120 "fortran.y" 4211 { sprintf((yyval.na)," >= %s",(yyvsp[(3) - (3)].na)); } 3837 4212 break; 3838 4213 3839 4214 case 44: 3840 4215 /* Line 1807 of yacc.c */ 3841 #line 455"fortran.y"3842 { inside_type_declare = 1; }4216 #line 1121 "fortran.y" 4217 { sprintf((yyval.na)," <= %s",(yyvsp[(3) - (3)].na)); } 3843 4218 break; 3844 4219 3845 4220 case 45: 3846 4221 /* Line 1807 of yacc.c */ 3847 #line 456 "fortran.y" 3848 { inside_type_declare = 0; } 4222 #line 1122 "fortran.y" 4223 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 4224 break; 4225 4226 case 46: 4227 /* Line 1807 of yacc.c */ 4228 #line 1123 "fortran.y" 4229 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 3849 4230 break; 3850 4231 3851 4232 case 47: 3852 4233 /* Line 1807 of yacc.c */ 3853 #line 459 "fortran.y" 3854 { 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 } 4234 #line 1124 "fortran.y" 4235 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 3870 4236 break; 3871 4237 3872 4238 case 48: 3873 4239 /* Line 1807 of yacc.c */ 3874 #line 476 "fortran.y" 3875 { 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 } 4240 #line 1125 "fortran.y" 4241 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 4242 break; 4243 4244 case 49: 4245 /* Line 1807 of yacc.c */ 4246 #line 1126 "fortran.y" 4247 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 3891 4248 break; 3892 4249 3893 4250 case 50: 3894 4251 /* Line 1807 of yacc.c */ 3895 #line 494 "fortran.y" 3896 { 3897 pos_end = setposcur(); 3898 RemoveWordSET_0(fortran_out,pos_cursave,pos_end-pos_cursave); 3899 } 4252 #line 1127 "fortran.y" 4253 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 4254 break; 4255 4256 case 51: 4257 /* Line 1807 of yacc.c */ 4258 #line 1128 "fortran.y" 4259 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 3900 4260 break; 3901 4261 3902 4262 case 52: 3903 4263 /* Line 1807 of yacc.c */ 3904 #line 500 "fortran.y" 3905 { 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 } 4264 #line 1129 "fortran.y" 4265 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 3941 4266 break; 3942 4267 3943 4268 case 53: 3944 4269 /* Line 1807 of yacc.c */ 3945 #line 537 "fortran.y" 3946 { 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 } 4270 #line 1130 "fortran.y" 4271 { sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na)); } 4272 break; 4273 4274 case 54: 4275 /* Line 1807 of yacc.c */ 4276 #line 1131 "fortran.y" 4277 { sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na)); } 4278 break; 4279 4280 case 55: 4281 /* Line 1807 of yacc.c */ 4282 #line 1133 "fortran.y" 4283 { strcpy((yyval.na),""); } 4284 break; 4285 4286 case 56: 4287 /* Line 1807 of yacc.c */ 4288 #line 1134 "fortran.y" 4289 { sprintf((yyval.na),"/%s",(yyvsp[(1) - (1)].na)); } 4290 break; 4291 4292 case 57: 4293 /* Line 1807 of yacc.c */ 4294 #line 1135 "fortran.y" 4295 { sprintf((yyval.na),"/= %s",(yyvsp[(2) - (2)].na));} 4296 break; 4297 4298 case 58: 4299 /* Line 1807 of yacc.c */ 4300 #line 1136 "fortran.y" 4301 { sprintf((yyval.na),"//%s",(yyvsp[(2) - (2)].na)); } 4302 break; 4303 4304 case 59: 4305 /* Line 1807 of yacc.c */ 4306 #line 1139 "fortran.y" 4307 { sprintf((yyval.na),"==%s",(yyvsp[(2) - (2)].na)); } 4308 break; 4309 4310 case 60: 4311 /* Line 1807 of yacc.c */ 4312 #line 1140 "fortran.y" 4313 { sprintf((yyval.na),"= %s",(yyvsp[(1) - (1)].na)); } 4314 break; 4315 4316 case 61: 4317 /* Line 1807 of yacc.c */ 4318 #line 1143 "fortran.y" 4319 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 3958 4320 break; 3959 4321 3960 4322 case 62: 3961 4323 /* Line 1807 of yacc.c */ 3962 #line 558 "fortran.y" 3963 { 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 } 4324 #line 1144 "fortran.y" 4325 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4326 break; 4327 4328 case 63: 4329 /* Line 1807 of yacc.c */ 4330 #line 1145 "fortran.y" 4331 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 3974 4332 break; 3975 4333 3976 4334 case 64: 3977 4335 /* Line 1807 of yacc.c */ 3978 #line 572 "fortran.y"3979 {3980 PublicDeclare = 0 ;3981 PrivateDeclare = 0 ;3982 }3983 break;3984 3985 case 102:3986 /* Line 1807 of yacc.c */3987 #line 630 "fortran.y"3988 {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 == 03999 && 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 else4018 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 else4031 {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"4058 {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 else4067 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"4088 {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"4098 {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"4107 {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"4206 {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"4215 {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"4229 {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"4279 {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"4289 {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"4301 {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"4337 {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"4347 {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"4357 {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"4379 {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"4397 {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 */4409 #line 924 "fortran.y"4410 {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"4436 {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"4566 {4567 if ( strstr((yyvsp[(3) - (3)].na),"0.d0") )4568 {4569 strcpy(nameinttypename,"8");4570 strcpy(NamePrecision,"");4571 }4572 else4573 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"4700 {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"4710 {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"4720 {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 4336 #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"5192 4337 { 5193 4338 agrif_parentcall = 0; … … 5201 4346 break; 5202 4347 5203 case 308:5204 /* Line 1807 of yacc.c */ 5205 #line 11 94"fortran.y"4348 case 65: 4349 /* Line 1807 of yacc.c */ 4350 #line 1160 "fortran.y" 5206 4351 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); if ( incalldeclare == 0 ) inagrifcallargument = 0; } 5207 4352 break; 5208 4353 5209 case 309:5210 /* Line 1807 of yacc.c */ 5211 #line 11 95"fortran.y"4354 case 66: 4355 /* Line 1807 of yacc.c */ 4356 #line 1161 "fortran.y" 5212 4357 { sprintf((yyval.na)," %s %s ",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5213 4358 break; 5214 4359 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" 4360 case 67: 4361 /* Line 1807 of yacc.c */ 4362 #line 1162 "fortran.y" 4363 {in_complex_literal=0;} 4364 break; 4365 4366 case 68: 4367 /* Line 1807 of yacc.c */ 4368 #line 1162 "fortran.y" 4369 { sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (5)].na),(yyvsp[(4) - (5)].na)); } 4370 break; 4371 4372 case 69: 4373 /* Line 1807 of yacc.c */ 4374 #line 1163 "fortran.y" 4375 {in_complex_literal=0;} 4376 break; 4377 4378 case 70: 4379 /* Line 1807 of yacc.c */ 4380 #line 1163 "fortran.y" 4381 { sprintf((yyval.na)," %s ( %s ) %s ",(yyvsp[(1) - (6)].na),(yyvsp[(4) - (6)].na),(yyvsp[(6) - (6)].na)); } 4382 break; 4383 4384 case 72: 4385 /* Line 1807 of yacc.c */ 4386 #line 1166 "fortran.y" 4387 {in_complex_literal=0;} 4388 break; 4389 4390 case 73: 4391 /* Line 1807 of yacc.c */ 4392 #line 1167 "fortran.y" 5230 4393 { 5231 4394 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));4395 sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (5)].na),(yyvsp[(4) - (5)].na)); 4396 ModifyTheAgrifFunction_0((yyvsp[(4) - (5)].na)); 5234 4397 agrif_parentcall = 0; 5235 4398 } 5236 4399 break; 5237 4400 5238 case 313:5239 /* Line 1807 of yacc.c */ 5240 #line 1 210"fortran.y"4401 case 74: 4402 /* Line 1807 of yacc.c */ 4403 #line 1176 "fortran.y" 5241 4404 { 5242 4405 sprintf((yyval.na)," %s %% %s ",(yyvsp[(1) - (4)].na),(yyvsp[(4) - (4)].na)); … … 5245 4408 break; 5246 4409 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" 4410 case 75: 4411 /* Line 1807 of yacc.c */ 4412 #line 1187 "fortran.y" 5256 4413 { strcpy((yyval.na)," "); } 5257 4414 break; 5258 4415 5259 case 316:5260 /* Line 1807 of yacc.c */ 5261 #line 1 220"fortran.y"4416 case 76: 4417 /* Line 1807 of yacc.c */ 4418 #line 1188 "fortran.y" 5262 4419 { strcpy((yyval.na),(yyvsp[(2) - (2)].na)); } 5263 4420 break; 5264 4421 5265 case 317:5266 /* Line 1807 of yacc.c */ 5267 #line 1 223"fortran.y"4422 case 77: 4423 /* Line 1807 of yacc.c */ 4424 #line 1191 "fortran.y" 5268 4425 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5269 4426 break; 5270 4427 5271 case 318:5272 /* Line 1807 of yacc.c */ 5273 #line 1 224"fortran.y"4428 case 78: 4429 /* Line 1807 of yacc.c */ 4430 #line 1192 "fortran.y" 5274 4431 { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 5275 4432 break; 5276 4433 5277 case 319:5278 /* Line 1807 of yacc.c */ 5279 #line 1 227"fortran.y"4434 case 79: 4435 /* Line 1807 of yacc.c */ 4436 #line 1195 "fortran.y" 5280 4437 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5281 4438 break; 5282 4439 5283 case 320:5284 /* Line 1807 of yacc.c */ 5285 #line 1 228"fortran.y"4440 case 80: 4441 /* Line 1807 of yacc.c */ 4442 #line 1196 "fortran.y" 5286 4443 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5287 4444 break; 5288 4445 5289 case 321:5290 /* Line 1807 of yacc.c */ 5291 #line 1 231"fortran.y"4446 case 81: 4447 /* Line 1807 of yacc.c */ 4448 #line 1199 "fortran.y" 5292 4449 { sprintf((yyval.na),"%s :%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));} 5293 4450 break; 5294 4451 5295 case 322:5296 /* Line 1807 of yacc.c */ 5297 #line 12 32"fortran.y"4452 case 82: 4453 /* Line 1807 of yacc.c */ 4454 #line 1200 "fortran.y" 5298 4455 { sprintf((yyval.na),"%s :%s :%s",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));} 5299 4456 break; 5300 4457 5301 case 323:5302 /* Line 1807 of yacc.c */ 5303 #line 12 33"fortran.y"4458 case 83: 4459 /* Line 1807 of yacc.c */ 4460 #line 1201 "fortran.y" 5304 4461 { sprintf((yyval.na),":%s :%s",(yyvsp[(2) - (4)].na),(yyvsp[(4) - (4)].na));} 5305 4462 break; 5306 4463 5307 case 324:5308 /* Line 1807 of yacc.c */ 5309 #line 12 34"fortran.y"4464 case 84: 4465 /* Line 1807 of yacc.c */ 4466 #line 1202 "fortran.y" 5310 4467 { sprintf((yyval.na),": : %s",(yyvsp[(3) - (3)].na));} 5311 4468 break; 5312 4469 5313 case 325:5314 /* Line 1807 of yacc.c */ 5315 #line 12 35"fortran.y"4470 case 85: 4471 /* Line 1807 of yacc.c */ 4472 #line 1203 "fortran.y" 5316 4473 { sprintf((yyval.na),":%s",(yyvsp[(2) - (2)].na));} 5317 4474 break; 5318 4475 5319 case 326:5320 /* Line 1807 of yacc.c */ 5321 #line 12 36"fortran.y"4476 case 86: 4477 /* Line 1807 of yacc.c */ 4478 #line 1204 "fortran.y" 5322 4479 { sprintf((yyval.na),"%s :",(yyvsp[(1) - (2)].na));} 5323 4480 break; 5324 4481 5325 case 327:5326 /* Line 1807 of yacc.c */ 5327 #line 12 37"fortran.y"4482 case 87: 4483 /* Line 1807 of yacc.c */ 4484 #line 1205 "fortran.y" 5328 4485 { sprintf((yyval.na),":");} 5329 4486 break; 5330 4487 5331 case 328:5332 /* Line 1807 of yacc.c */ 5333 #line 12 40"fortran.y"4488 case 88: 4489 /* Line 1807 of yacc.c */ 4490 #line 1208 "fortran.y" 5334 4491 { 4492 // if (indeclaration == 1) break; 5335 4493 if ( afterpercent == 0 ) 5336 4494 { … … 5377 4535 break; 5378 4536 5379 case 329:5380 /* Line 1807 of yacc.c */ 5381 #line 12 85"fortran.y"4537 case 89: 4538 /* Line 1807 of yacc.c */ 4539 #line 1254 "fortran.y" 5382 4540 { strcpy((yyval.na),".TRUE.");} 5383 4541 break; 5384 4542 5385 case 330:5386 /* Line 1807 of yacc.c */ 5387 #line 12 86"fortran.y"4543 case 90: 4544 /* Line 1807 of yacc.c */ 4545 #line 1255 "fortran.y" 5388 4546 { strcpy((yyval.na),".FALSE.");} 5389 4547 break; 5390 4548 5391 case 331:5392 /* Line 1807 of yacc.c */ 5393 #line 12 87"fortran.y"4549 case 91: 4550 /* Line 1807 of yacc.c */ 4551 #line 1256 "fortran.y" 5394 4552 { strcpy((yyval.na),"NULL()"); } 5395 4553 break; 5396 4554 5397 case 332:5398 /* Line 1807 of yacc.c */ 5399 #line 12 88"fortran.y"4555 case 92: 4556 /* Line 1807 of yacc.c */ 4557 #line 1257 "fortran.y" 5400 4558 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5401 4559 break; 5402 4560 5403 case 333:5404 /* Line 1807 of yacc.c */ 5405 #line 12 89"fortran.y"4561 case 93: 4562 /* Line 1807 of yacc.c */ 4563 #line 1258 "fortran.y" 5406 4564 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5407 4565 break; 5408 4566 5409 case 334:5410 /* Line 1807 of yacc.c */ 5411 #line 12 90"fortran.y"4567 case 94: 4568 /* Line 1807 of yacc.c */ 4569 #line 1259 "fortran.y" 5412 4570 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5413 4571 break; 5414 4572 5415 case 335:5416 /* Line 1807 of yacc.c */ 5417 #line 12 92"fortran.y"4573 case 95: 4574 /* Line 1807 of yacc.c */ 4575 #line 1261 "fortran.y" 5418 4576 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5419 4577 break; 5420 4578 5421 case 337:5422 /* Line 1807 of yacc.c */ 5423 #line 12 96"fortran.y"4579 case 97: 4580 /* Line 1807 of yacc.c */ 4581 #line 1265 "fortran.y" 5424 4582 { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5425 4583 break; 5426 4584 5427 case 339:5428 /* Line 1807 of yacc.c */ 5429 #line 12 98"fortran.y"4585 case 99: 4586 /* Line 1807 of yacc.c */ 4587 #line 1267 "fortran.y" 5430 4588 { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5431 4589 break; 5432 4590 5433 case 340:5434 /* Line 1807 of yacc.c */ 5435 #line 12 99"fortran.y"4591 case 100: 4592 /* Line 1807 of yacc.c */ 4593 #line 1268 "fortran.y" 5436 4594 { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5437 4595 break; 5438 4596 5439 case 341:5440 /* Line 1807 of yacc.c */ 5441 #line 1 301"fortran.y"4597 case 101: 4598 /* Line 1807 of yacc.c */ 4599 #line 1270 "fortran.y" 5442 4600 { strcpy((yyval.na)," ");} 5443 4601 break; 5444 4602 5445 case 342:5446 /* Line 1807 of yacc.c */ 5447 #line 1 302"fortran.y"4603 case 102: 4604 /* Line 1807 of yacc.c */ 4605 #line 1271 "fortran.y" 5448 4606 { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5449 4607 break; 5450 4608 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 */ 5459 #line 1307 "fortran.y" 4609 case 103: 4610 /* Line 1807 of yacc.c */ 4611 #line 1281 "fortran.y" 5460 4612 { strcpy((yyval.na)," ");} 5461 4613 break; 5462 4614 5463 case 345:5464 /* Line 1807 of yacc.c */ 5465 #line 1 308"fortran.y"4615 case 104: 4616 /* Line 1807 of yacc.c */ 4617 #line 1282 "fortran.y" 5466 4618 { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5467 4619 break; 5468 4620 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 */ 5477 #line 1312 "fortran.y" 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 */ 5489 #line 1316 "fortran.y" 5490 { 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" 5500 { 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" 5516 { 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" 5540 { 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" 5571 { 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" 5595 { 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" 5637 { 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" 5646 { 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" 5654 { 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" 5664 { 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" 5682 { 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" 5692 { 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" 5706 { 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" 5730 { 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" 5771 { 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" 5784 { 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" 5799 { 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" 4621 case 170: 4622 /* Line 1807 of yacc.c */ 4623 #line 1481 "fortran.y" 5811 4624 { 5812 4625 /* if we never meet the contains keyword */ … … 5832 4645 break; 5833 4646 4647 case 190: 4648 /* Line 1807 of yacc.c */ 4649 #line 1534 "fortran.y" 4650 {in_complex_literal=0;} 4651 break; 4652 4653 case 193: 4654 /* Line 1807 of yacc.c */ 4655 #line 1558 "fortran.y" 4656 {strcpy((yyval.na),"");} 4657 break; 4658 4659 case 197: 4660 /* Line 1807 of yacc.c */ 4661 #line 1568 "fortran.y" 4662 {strcpy((yyval.na),"");} 4663 break; 4664 4665 case 198: 4666 /* Line 1807 of yacc.c */ 4667 #line 1570 "fortran.y" 4668 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 4669 break; 4670 4671 case 203: 4672 /* Line 1807 of yacc.c */ 4673 #line 1590 "fortran.y" 4674 {pos_cur_decl=my_position_before;} 4675 break; 4676 4677 case 204: 4678 /* Line 1807 of yacc.c */ 4679 #line 1591 "fortran.y" 4680 {strcpy((yyval.na),(yyvsp[(2) - (2)].na));} 4681 break; 4682 4683 case 206: 4684 /* Line 1807 of yacc.c */ 4685 #line 1594 "fortran.y" 4686 {strcpy(DeclType,"type"); GlobalDeclarationType = 1;} 4687 break; 4688 4689 case 207: 4690 /* Line 1807 of yacc.c */ 4691 #line 1598 "fortran.y" 4692 {in_kind_selector = 1;} 4693 break; 4694 4695 case 208: 4696 /* Line 1807 of yacc.c */ 4697 #line 1599 "fortran.y" 4698 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));strcpy(DeclType,(yyvsp[(1) - (3)].na)); in_kind_selector =0;} 4699 break; 4700 4701 case 209: 4702 /* Line 1807 of yacc.c */ 4703 #line 1600 "fortran.y" 4704 {in_kind_selector = 1;} 4705 break; 4706 4707 case 210: 4708 /* Line 1807 of yacc.c */ 4709 #line 1601 "fortran.y" 4710 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));strcpy(DeclType,(yyvsp[(1) - (3)].na));in_kind_selector =0;} 4711 break; 4712 4713 case 211: 4714 /* Line 1807 of yacc.c */ 4715 #line 1602 "fortran.y" 4716 {in_kind_selector = 1;} 4717 break; 4718 4719 case 212: 4720 /* Line 1807 of yacc.c */ 4721 #line 1603 "fortran.y" 4722 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));strcpy(DeclType,"real"); strcpy(NamePrecision,"8");in_kind_selector =0;} 4723 break; 4724 4725 case 213: 4726 /* Line 1807 of yacc.c */ 4727 #line 1604 "fortran.y" 4728 {in_kind_selector = 1;} 4729 break; 4730 4731 case 214: 4732 /* Line 1807 of yacc.c */ 4733 #line 1605 "fortran.y" 4734 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));strcpy(DeclType,(yyvsp[(1) - (3)].na));in_kind_selector =0;} 4735 break; 4736 4737 case 215: 4738 /* Line 1807 of yacc.c */ 4739 #line 1606 "fortran.y" 4740 {in_char_selector = 1;} 4741 break; 4742 4743 case 216: 4744 /* Line 1807 of yacc.c */ 4745 #line 1607 "fortran.y" 4746 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));strcpy(DeclType,(yyvsp[(1) - (3)].na));in_char_selector = 0;} 4747 break; 4748 4749 case 217: 4750 /* Line 1807 of yacc.c */ 4751 #line 1608 "fortran.y" 4752 {in_kind_selector = 1;} 4753 break; 4754 4755 case 218: 4756 /* Line 1807 of yacc.c */ 4757 #line 1609 "fortran.y" 4758 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));strcpy(DeclType,(yyvsp[(1) - (3)].na));in_kind_selector =0;} 4759 break; 4760 4761 case 219: 4762 /* Line 1807 of yacc.c */ 4763 #line 1613 "fortran.y" 4764 {strcpy((yyval.na),"");strcpy(NamePrecision,"");} 4765 break; 4766 4767 case 220: 4768 /* Line 1807 of yacc.c */ 4769 #line 1615 "fortran.y" 4770 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 4771 break; 4772 4773 case 221: 4774 /* Line 1807 of yacc.c */ 4775 #line 1621 "fortran.y" 4776 {sprintf((yyval.na),"(%s)",(yyvsp[(2) - (3)].na)); strcpy(NamePrecision,(yyvsp[(2) - (3)].na));} 4777 break; 4778 4779 case 222: 4780 /* Line 1807 of yacc.c */ 4781 #line 1623 "fortran.y" 4782 {sprintf((yyval.na),"(KIND=%s)",(yyvsp[(4) - (5)].na)); strcpy(NamePrecision,(yyvsp[(4) - (5)].na));} 4783 break; 4784 4785 case 223: 4786 /* Line 1807 of yacc.c */ 4787 #line 1625 "fortran.y" 4788 {sprintf((yyval.na),"*%s",(yyvsp[(2) - (2)].na));strcpy(NamePrecision,(yyvsp[(2) - (2)].na));} 4789 break; 4790 4791 case 225: 4792 /* Line 1807 of yacc.c */ 4793 #line 1633 "fortran.y" 4794 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));} 4795 break; 4796 4797 case 227: 4798 /* Line 1807 of yacc.c */ 4799 #line 1639 "fortran.y" 4800 {sprintf((yyval.na),"%s_%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));} 4801 break; 4802 4803 case 231: 4804 /* Line 1807 of yacc.c */ 4805 #line 1662 "fortran.y" 4806 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));} 4807 break; 4808 4809 case 233: 4810 /* Line 1807 of yacc.c */ 4811 #line 1668 "fortran.y" 4812 {sprintf((yyval.na),"%s_%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));} 4813 break; 4814 4815 case 234: 4816 /* Line 1807 of yacc.c */ 4817 #line 1675 "fortran.y" 4818 {sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));} 4819 break; 4820 4821 case 242: 4822 /* Line 1807 of yacc.c */ 4823 #line 1693 "fortran.y" 4824 {char_length_toreset = 1;} 4825 break; 4826 4827 case 243: 4828 /* Line 1807 of yacc.c */ 4829 #line 1697 "fortran.y" 4830 {strcpy((yyval.na),"");} 4831 break; 4832 4833 case 244: 4834 /* Line 1807 of yacc.c */ 4835 #line 1699 "fortran.y" 4836 {strcpy((yyval.na),"");} 4837 break; 4838 4839 case 250: 4840 /* Line 1807 of yacc.c */ 4841 #line 1712 "fortran.y" 4842 {strcpy(CharacterSize,(yyvsp[(2) - (3)].na));} 4843 break; 4844 4845 case 251: 4846 /* Line 1807 of yacc.c */ 4847 #line 1714 "fortran.y" 4848 {strcpy(CharacterSize,(yyvsp[(4) - (5)].na));} 4849 break; 4850 4851 case 254: 4852 /* Line 1807 of yacc.c */ 4853 #line 1721 "fortran.y" 4854 {c_star=1; strcpy(CharacterSize,(yyvsp[(2) - (3)].na));} 4855 break; 4856 4857 case 255: 4858 /* Line 1807 of yacc.c */ 4859 #line 1723 "fortran.y" 4860 {c_selectorgiven = 1; strcpy(c_selectorname,(yyvsp[(1) - (1)].na));} 4861 break; 4862 4863 case 261: 4864 /* Line 1807 of yacc.c */ 4865 #line 1738 "fortran.y" 4866 { inside_type_declare = 1;} 4867 break; 4868 4869 case 262: 4870 /* Line 1807 of yacc.c */ 4871 #line 1739 "fortran.y" 4872 { inside_type_declare = 0;} 4873 break; 4874 4875 case 272: 4876 /* Line 1807 of yacc.c */ 4877 #line 1762 "fortran.y" 4878 {in_bind = 0;} 4879 break; 4880 4881 case 291: 4882 /* Line 1807 of yacc.c */ 4883 #line 1806 "fortran.y" 4884 {in_complex_literal=0;} 4885 break; 4886 4887 case 296: 4888 /* Line 1807 of yacc.c */ 4889 #line 1816 "fortran.y" 4890 { 4891 PublicDeclare = 0; 4892 PrivateDeclare = 0; 4893 ExternalDeclare = 0; 4894 strcpy(NamePrecision,""); 4895 c_star = 0; 4896 InitialValueGiven = 0 ; 4897 strcpy(IntentSpec,""); 4898 VariableIsParameter = 0 ; 4899 Allocatabledeclare = 0 ; 4900 Targetdeclare = 0 ; 4901 SaveDeclare = 0; 4902 pointerdeclare = 0; 4903 optionaldeclare = 0 ; 4904 dimsgiven=0; 4905 c_selectorgiven=0; 4906 strcpy(nameinttypename,""); 4907 strcpy(c_selectorname,""); 4908 GlobalDeclarationType = 0; 4909 } 4910 break; 4911 4912 case 306: 4913 /* Line 1807 of yacc.c */ 4914 #line 1859 "fortran.y" 4915 {strcpy(my_dim.last,"");} 4916 break; 4917 4918 case 307: 4919 /* Line 1807 of yacc.c */ 4920 #line 1864 "fortran.y" 4921 {strcpy(NamePrecision,(yyvsp[(1) - (1)].na));} 4922 break; 4923 4924 case 322: 4925 /* Line 1807 of yacc.c */ 4926 #line 1899 "fortran.y" 4927 { sprintf((yyval.na),"(/%s/)",(yyvsp[(2) - (3)].na));} 4928 break; 4929 4930 case 323: 4931 /* Line 1807 of yacc.c */ 4932 #line 1901 "fortran.y" 4933 { sprintf((yyval.na),"[%s]",(yyvsp[(2) - (3)].na)); } 4934 break; 4935 4936 case 328: 4937 /* Line 1807 of yacc.c */ 4938 #line 1929 "fortran.y" 4939 {sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));} 4940 break; 4941 4942 case 331: 4943 /* Line 1807 of yacc.c */ 4944 #line 1939 "fortran.y" 4945 {sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));} 4946 break; 4947 4948 case 332: 4949 /* Line 1807 of yacc.c */ 4950 #line 1944 "fortran.y" 4951 {sprintf((yyval.na),"%s=%s,%s",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));} 4952 break; 4953 4954 case 333: 4955 /* Line 1807 of yacc.c */ 4956 #line 1946 "fortran.y" 4957 {sprintf((yyval.na),"%s=%s,%s,%s",(yyvsp[(1) - (7)].na),(yyvsp[(3) - (7)].na),(yyvsp[(5) - (7)].na),(yyvsp[(7) - (7)].na));} 4958 break; 4959 4960 case 335: 4961 /* Line 1807 of yacc.c */ 4962 #line 1954 "fortran.y" 4963 {indeclaration=1;} 4964 break; 4965 4966 case 336: 4967 /* Line 1807 of yacc.c */ 4968 #line 1955 "fortran.y" 4969 { 4970 /* if the variable is a parameter we can suppose that is*/ 4971 /* value is the same on each grid. It is not useless */ 4972 /* to create a copy of it on each grid */ 4973 if ( ! inside_type_declare ) 4974 { 4975 pos_end = setposcur(); 4976 //printf("POS = %d %d\n",pos_cur_decl,pos_end); 4977 RemoveWordSET_0(fortran_out,pos_cur_decl,pos_end-pos_cur_decl); 4978 4979 ReWriteDeclarationAndAddTosubroutine_01((yyvsp[(4) - (4)].l)); 4980 pos_cur_decl = setposcur(); 4981 if ( firstpass == 0 && GlobalDeclaration == 0 4982 && insubroutinedeclare == 0 ) 4983 { 4984 fprintf(fortran_out,"\n#include \"Module_Declar_%s.h\"\n", curmodulename); 4985 sprintf(ligne, "Module_Declar_%s.h", curmodulename); 4986 module_declar = open_for_write(ligne); 4987 GlobalDeclaration = 1 ; 4988 pos_cur_decl = setposcur(); 4989 } 4990 4991 if ( firstpass ) 4992 { 4993 Add_Globliste_1((yyvsp[(4) - (4)].l)); 4994 if ( insubroutinedeclare ) 4995 { 4996 if ( pointerdeclare ) Add_Pointer_Var_From_List_1((yyvsp[(4) - (4)].l)); 4997 Add_Parameter_Var_1((yyvsp[(4) - (4)].l)); 4998 } 4999 else 5000 Add_GlobalParameter_Var_1((yyvsp[(4) - (4)].l)); 5001 5002 /* If there's a SAVE declaration in module's subroutines we should */ 5003 /* remove it from the subroutines declaration and add it in the */ 5004 /* global declarations */ 5005 5006 if ( aftercontainsdeclare && SaveDeclare ) 5007 { 5008 if ( inmodulemeet ) Add_SubroutineDeclarationSave_Var_1((yyvsp[(4) - (4)].l)); 5009 else Add_Save_Var_dcl_1((yyvsp[(4) - (4)].l)); 5010 } 5011 } 5012 } 5013 indeclaration = 0; 5014 PublicDeclare = 0; 5015 PrivateDeclare = 0; 5016 ExternalDeclare = 0; 5017 strcpy(NamePrecision,""); 5018 c_star = 0; 5019 InitialValueGiven = 0 ; 5020 strcpy(IntentSpec,""); 5021 VariableIsParameter = 0 ; 5022 Allocatabledeclare = 0 ; 5023 Targetdeclare = 0 ; 5024 SaveDeclare = 0; 5025 pointerdeclare = 0; 5026 optionaldeclare = 0 ; 5027 dimsgiven=0; 5028 c_selectorgiven=0; 5029 strcpy(nameinttypename,""); 5030 strcpy(c_selectorname,""); 5031 strcpy(DeclType,""); 5032 GlobalDeclarationType = 0; 5033 } 5034 break; 5035 5036 case 345: 5037 /* Line 1807 of yacc.c */ 5038 #line 2039 "fortran.y" 5039 { Allocatabledeclare = 1; } 5040 break; 5041 5042 case 346: 5043 /* Line 1807 of yacc.c */ 5044 #line 2040 "fortran.y" 5045 {in_complex_literal=0;} 5046 break; 5047 5048 case 347: 5049 /* Line 1807 of yacc.c */ 5050 #line 2041 "fortran.y" 5051 { dimsgiven = 1; curdim = (yyvsp[(4) - (5)].d); } 5052 break; 5053 5054 case 348: 5055 /* Line 1807 of yacc.c */ 5056 #line 2043 "fortran.y" 5057 { ExternalDeclare = 1; } 5058 break; 5059 5060 case 349: 5061 /* Line 1807 of yacc.c */ 5062 #line 2044 "fortran.y" 5063 {in_complex_literal=0;} 5064 break; 5065 5066 case 350: 5067 /* Line 1807 of yacc.c */ 5068 #line 2045 "fortran.y" 5069 { strcpy(IntentSpec,(yyvsp[(4) - (5)].na)); } 5070 break; 5071 5072 case 352: 5073 /* Line 1807 of yacc.c */ 5074 #line 2048 "fortran.y" 5075 { optionaldeclare = 1 ; } 5076 break; 5077 5078 case 353: 5079 /* Line 1807 of yacc.c */ 5080 #line 2050 "fortran.y" 5081 {VariableIsParameter = 1; } 5082 break; 5083 5084 case 354: 5085 /* Line 1807 of yacc.c */ 5086 #line 2052 "fortran.y" 5087 { pointerdeclare = 1 ; } 5088 break; 5089 5090 case 355: 5091 /* Line 1807 of yacc.c */ 5092 #line 2054 "fortran.y" 5093 { SaveDeclare = 1 ; } 5094 break; 5095 5096 case 356: 5097 /* Line 1807 of yacc.c */ 5098 #line 2056 "fortran.y" 5099 { Targetdeclare = 1; } 5100 break; 5101 5102 case 357: 5103 /* Line 1807 of yacc.c */ 5104 #line 2061 "fortran.y" 5105 {(yyval.l)=insertvar(NULL,(yyvsp[(1) - (1)].v));} 5106 break; 5107 5108 case 358: 5109 /* Line 1807 of yacc.c */ 5110 #line 2063 "fortran.y" 5111 {(yyval.l)=insertvar((yyvsp[(1) - (3)].l),(yyvsp[(3) - (3)].v));} 5112 break; 5113 5114 case 359: 5115 /* Line 1807 of yacc.c */ 5116 #line 2068 "fortran.y" 5117 { 5118 if ( ! inside_type_declare ) 5119 { 5120 if (dimsgiven == 1) curvar = createvar((yyvsp[(1) - (4)].na),curdim); 5121 else curvar = createvar((yyvsp[(1) - (4)].na),(yyvsp[(2) - (4)].d)); 5122 CreateAndFillin_Curvar(DeclType, curvar); 5123 strcpy(curvar->v_typevar,DeclType); 5124 curvar->v_catvar = get_cat_var(curvar); 5125 5126 if (!strcasecmp(DeclType,"character")) 5127 { 5128 if (c_selectorgiven == 1) 5129 { 5130 Save_Length(c_selectorname,1); 5131 strcpy(curvar->v_dimchar,c_selectorname); 5132 } 5133 } 5134 } 5135 strcpy(vallengspec,""); 5136 if (char_length_toreset == 1) 5137 { 5138 c_selectorgiven = 0; 5139 c_star = 0; 5140 strcpy(c_selectorname,""); 5141 strcpy(CharacterSize,""); 5142 char_length_toreset = 0; 5143 } 5144 (yyval.v)=curvar; 5145 } 5146 break; 5147 5148 case 362: 5149 /* Line 1807 of yacc.c */ 5150 #line 2107 "fortran.y" 5151 {InitialValueGiven = 0; } 5152 break; 5153 5154 case 364: 5155 /* Line 1807 of yacc.c */ 5156 #line 2113 "fortran.y" 5157 { 5158 if ( inside_type_declare ) break; 5159 strcpy(InitValue,(yyvsp[(2) - (2)].na)); 5160 InitialValueGiven = 1; 5161 } 5162 break; 5163 5164 case 365: 5165 /* Line 1807 of yacc.c */ 5166 #line 2119 "fortran.y" 5167 { 5168 if ( inside_type_declare ) break; 5169 strcpy(InitValue,(yyvsp[(2) - (2)].na)); 5170 InitialValueGiven = 2; 5171 } 5172 break; 5173 5174 case 366: 5175 /* Line 1807 of yacc.c */ 5176 #line 2125 "fortran.y" 5177 { 5178 if ( inside_type_declare ) break; 5179 strcpy(InitValue,(yyvsp[(2) - (2)].na)); 5180 InitialValueGiven = 2; 5181 } 5182 break; 5183 5184 case 368: 5185 /* Line 1807 of yacc.c */ 5186 #line 2138 "fortran.y" 5187 {PublicDeclare = 1; } 5188 break; 5189 5190 case 369: 5191 /* Line 1807 of yacc.c */ 5192 #line 2140 "fortran.y" 5193 {PrivateDeclare = 1; } 5194 break; 5195 5196 case 370: 5197 /* Line 1807 of yacc.c */ 5198 #line 2144 "fortran.y" 5199 {(yyval.d)=NULL;} 5200 break; 5201 5202 case 371: 5203 /* Line 1807 of yacc.c */ 5204 #line 2145 "fortran.y" 5205 {in_complex_literal=0;} 5206 break; 5207 5208 case 372: 5209 /* Line 1807 of yacc.c */ 5210 #line 2146 "fortran.y" 5211 {(yyval.d)=(yyvsp[(3) - (4)].d);} 5212 break; 5213 5214 case 373: 5215 /* Line 1807 of yacc.c */ 5216 #line 2151 "fortran.y" 5217 {in_bind = 0;} 5218 break; 5219 5220 case 374: 5221 /* Line 1807 of yacc.c */ 5222 #line 2153 "fortran.y" 5223 {in_bind = 0;} 5224 break; 5225 5226 case 375: 5227 /* Line 1807 of yacc.c */ 5228 #line 2158 "fortran.y" 5229 {(yyval.d)=(yyvsp[(1) - (1)].d);} 5230 break; 5231 5232 case 376: 5233 /* Line 1807 of yacc.c */ 5234 #line 2160 "fortran.y" 5235 {(yyval.d)=(yyvsp[(1) - (1)].d);} 5236 break; 5237 5238 case 377: 5239 /* Line 1807 of yacc.c */ 5240 #line 2162 "fortran.y" 5241 {(yyval.d)=(yyvsp[(1) - (1)].d);} 5242 break; 5243 5244 case 378: 5245 /* Line 1807 of yacc.c */ 5246 #line 2164 "fortran.y" 5247 {(yyval.d)=(yyvsp[(1) - (1)].d);} 5248 break; 5249 5250 case 379: 5251 /* Line 1807 of yacc.c */ 5252 #line 2166 "fortran.y" 5253 {(yyval.d)=(yyvsp[(1) - (1)].d);} 5254 break; 5255 5256 case 380: 5257 /* Line 1807 of yacc.c */ 5258 #line 2170 "fortran.y" 5259 { 5260 (yyval.d) = (listdim*) NULL; 5261 if ( inside_type_declare ) break; 5262 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[(1) - (1)].dim1)); 5263 } 5264 break; 5265 5266 case 381: 5267 /* Line 1807 of yacc.c */ 5268 #line 2176 "fortran.y" 5269 { 5270 (yyval.d) = (listdim*) NULL; 5271 if ( inside_type_declare ) break; 5272 if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[(1) - (3)].d),(yyvsp[(3) - (3)].dim1)); 5273 } 5274 break; 5275 5276 case 382: 5277 /* Line 1807 of yacc.c */ 5278 #line 2185 "fortran.y" 5279 {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); } 5280 break; 5281 5282 case 383: 5283 /* Line 1807 of yacc.c */ 5284 #line 2187 "fortran.y" 5285 {strcpy((yyval.dim1).first,"1"); strcpy((yyval.dim1).last,(yyvsp[(1) - (1)].na)); Save_Length((yyvsp[(1) - (1)].na),1);} 5286 break; 5287 5288 case 384: 5289 /* Line 1807 of yacc.c */ 5290 #line 2192 "fortran.y" 5291 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5292 break; 5293 5294 case 386: 5295 /* Line 1807 of yacc.c */ 5296 #line 2201 "fortran.y" 5297 { 5298 (yyval.d) = (listdim*) NULL; 5299 if ( inside_type_declare ) break; 5300 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[(1) - (1)].dim1)); 5301 } 5302 break; 5303 5304 case 387: 5305 /* Line 1807 of yacc.c */ 5306 #line 2207 "fortran.y" 5307 { 5308 (yyval.d) = (listdim*) NULL; 5309 if ( inside_type_declare ) break; 5310 if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[(1) - (3)].d),(yyvsp[(3) - (3)].dim1)); 5311 } 5312 break; 5313 5314 case 388: 5315 /* Line 1807 of yacc.c */ 5316 #line 2216 "fortran.y" 5317 { strcpy((yyval.dim1).first,""); strcpy((yyval.dim1).last,""); } 5318 break; 5319 5320 case 389: 5321 /* Line 1807 of yacc.c */ 5322 #line 2218 "fortran.y" 5323 { strcpy((yyval.dim1).first,(yyvsp[(1) - (2)].na)); Save_Length((yyvsp[(1) - (2)].na),2); strcpy((yyval.dim1).last,""); } 5324 break; 5325 5326 case 390: 5327 /* Line 1807 of yacc.c */ 5328 #line 2223 "fortran.y" 5329 { 5330 (yyval.d) = (listdim*) NULL; 5331 if ( inside_type_declare ) break; 5332 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[(1) - (1)].dim1)); 5333 } 5334 break; 5335 5336 case 391: 5337 /* Line 1807 of yacc.c */ 5338 #line 2229 "fortran.y" 5339 { 5340 (yyval.d) = (listdim*) NULL; 5341 if ( inside_type_declare ) break; 5342 if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[(1) - (3)].d),(yyvsp[(3) - (3)].dim1)); 5343 } 5344 break; 5345 5346 case 392: 5347 /* Line 1807 of yacc.c */ 5348 #line 2238 "fortran.y" 5349 { strcpy((yyval.dim1).first,""); strcpy((yyval.dim1).last,""); } 5350 break; 5351 5352 case 393: 5353 /* Line 1807 of yacc.c */ 5354 #line 2243 "fortran.y" 5355 { 5356 (yyval.d) = (listdim*) NULL; 5357 if ( inside_type_declare ) break; 5358 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) 5359 { 5360 if (!strcasecmp((yyvsp[(2) - (3)].na),"")) 5361 { 5362 strcpy(my_dim.first,"1"); 5363 } 5364 else 5365 { 5366 strcpy(my_dim.first,(yyvsp[(2) - (3)].na)); 5367 } 5368 strcpy(my_dim.last,"*"); 5369 (yyval.d)=insertdim((yyvsp[(1) - (3)].d),my_dim); 5370 strcpy(my_dim.first,""); 5371 strcpy(my_dim.last,""); 5372 } 5373 } 5374 break; 5375 5376 case 394: 5377 /* Line 1807 of yacc.c */ 5378 #line 2265 "fortran.y" 5379 {(yyval.d) = (listdim *) NULL;} 5380 break; 5381 5834 5382 case 395: 5835 5383 /* Line 1807 of yacc.c */ 5836 #line 1620 "fortran.y" 5384 #line 2267 "fortran.y" 5385 {(yyval.d) = (yyvsp[(1) - (2)].d);} 5386 break; 5387 5388 case 396: 5389 /* Line 1807 of yacc.c */ 5390 #line 2285 "fortran.y" 5391 {strcpy((yyval.na),"");} 5392 break; 5393 5394 case 397: 5395 /* Line 1807 of yacc.c */ 5396 #line 2287 "fortran.y" 5397 {strcpy((yyval.na),(yyvsp[(1) - (2)].na));} 5398 break; 5399 5400 case 401: 5401 /* Line 1807 of yacc.c */ 5402 #line 2300 "fortran.y" 5403 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5404 break; 5405 5406 case 402: 5407 /* Line 1807 of yacc.c */ 5408 #line 2302 "fortran.y" 5409 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5410 break; 5411 5412 case 403: 5413 /* Line 1807 of yacc.c */ 5414 #line 2304 "fortran.y" 5415 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5416 break; 5417 5418 case 404: 5419 /* Line 1807 of yacc.c */ 5420 #line 2309 "fortran.y" 5421 { 5422 if ((firstpass == 0) && (PublicDeclare == 1)) 5423 { 5424 if ((yyvsp[(2) - (2)].lnn)) 5425 { 5426 removeglobfromlist(&((yyvsp[(2) - (2)].lnn))); 5427 pos_end = setposcur(); 5428 RemoveWordSET_0(fortran_out,pos_cur,pos_end-pos_cur); 5429 writelistpublic((yyvsp[(2) - (2)].lnn)); 5430 } 5431 } 5432 PublicDeclare = 0; 5433 PrivateDeclare = 0; 5434 } 5435 break; 5436 5437 case 406: 5438 /* Line 1807 of yacc.c */ 5439 #line 2327 "fortran.y" 5440 {(yyval.lnn)=(listname *)NULL;} 5441 break; 5442 5443 case 407: 5444 /* Line 1807 of yacc.c */ 5445 #line 2329 "fortran.y" 5446 {(yyval.lnn)=(yyvsp[(2) - (2)].lnn);} 5447 break; 5448 5449 case 408: 5450 /* Line 1807 of yacc.c */ 5451 #line 2333 "fortran.y" 5452 {(yyval.lnn)=Insertname(NULL,(yyvsp[(1) - (1)].na),0);} 5453 break; 5454 5455 case 409: 5456 /* Line 1807 of yacc.c */ 5457 #line 2335 "fortran.y" 5458 {(yyval.lnn)=Insertname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].na),0);} 5459 break; 5460 5461 case 418: 5462 /* Line 1807 of yacc.c */ 5463 #line 2362 "fortran.y" 5464 { 5465 /* we should remove the data declaration */ 5466 pos_end = setposcur(); 5467 RemoveWordSET_0(fortran_out,pos_curdata,pos_end-pos_curdata); 5468 if ( aftercontainsdeclare == 1 && firstpass == 0 ) 5469 { 5470 ReWriteDataStatement_0(fortran_out); 5471 pos_end = setposcur(); 5472 } 5473 Init_List_Data_Var(); 5474 } 5475 break; 5476 5477 case 424: 5478 /* Line 1807 of yacc.c */ 5479 #line 2386 "fortran.y" 5480 { 5481 if (firstpass == 1) 5482 { 5483 Add_Data_Var_Names_01(&List_Data_Var,(yyvsp[(1) - (4)].l),(yyvsp[(3) - (4)].lnn)); 5484 } 5485 else Add_Data_Var_Names_01(&List_Data_Var_Cur,(yyvsp[(1) - (4)].l),(yyvsp[(3) - (4)].lnn)); 5486 } 5487 break; 5488 5489 case 425: 5490 /* Line 1807 of yacc.c */ 5491 #line 2396 "fortran.y" 5492 { (yyval.l)=insertvar(NULL,(yyvsp[(1) - (1)].v)); } 5493 break; 5494 5495 case 426: 5496 /* Line 1807 of yacc.c */ 5497 #line 2398 "fortran.y" 5498 { 5499 (yyval.l) = insertvar((yyvsp[(1) - (3)].l),(yyvsp[(3) - (3)].v)); 5500 } 5501 break; 5502 5503 case 427: 5504 /* Line 1807 of yacc.c */ 5505 #line 2404 "fortran.y" 5506 {(yyval.lnn)=Insertname(NULL,(yyvsp[(1) - (1)].na),0);} 5507 break; 5508 5509 case 428: 5510 /* Line 1807 of yacc.c */ 5511 #line 2406 "fortran.y" 5512 {(yyval.lnn) = Insertname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].na),1); } 5513 break; 5514 5515 case 431: 5516 /* Line 1807 of yacc.c */ 5517 #line 2416 "fortran.y" 5518 {printf("DOVARIABLE = %s %s %s\n",(yyvsp[(4) - (9)].na),(yyvsp[(6) - (9)].na),(yyvsp[(8) - (9)].na)); 5519 printf("AUTRE = %s %s\n",(yyvsp[(2) - (9)].l)->var->v_nomvar,(yyvsp[(2) - (9)].l)->var->v_initialvalue_array); 5520 Insertdoloop((yyvsp[(2) - (9)].l)->var,(yyvsp[(4) - (9)].na),(yyvsp[(6) - (9)].na),(yyvsp[(8) - (9)].na),""); 5521 (yyval.v)=(yyvsp[(2) - (9)].l)->var; 5522 } 5523 break; 5524 5525 case 432: 5526 /* Line 1807 of yacc.c */ 5527 #line 2422 "fortran.y" 5528 { 5529 Insertdoloop((yyvsp[(2) - (11)].l)->var,(yyvsp[(4) - (11)].na),(yyvsp[(6) - (11)].na),(yyvsp[(8) - (11)].na),(yyvsp[(10) - (11)].na)); 5530 (yyval.v)=(yyvsp[(2) - (11)].l)->var; 5531 } 5532 break; 5533 5534 case 433: 5535 /* Line 1807 of yacc.c */ 5536 #line 2429 "fortran.y" 5537 {(yyval.l)=insertvar(NULL,(yyvsp[(1) - (1)].v));} 5538 break; 5539 5540 case 434: 5541 /* Line 1807 of yacc.c */ 5542 #line 2431 "fortran.y" 5543 {(yyval.l) = insertvar((yyvsp[(1) - (3)].l),(yyvsp[(3) - (3)].v));} 5544 break; 5545 5546 case 436: 5547 /* Line 1807 of yacc.c */ 5548 #line 2437 "fortran.y" 5549 {(yyval.v)->v_initialvalue_array=Insertname((yyval.v)->v_initialvalue_array,my_dim.last,0); 5550 strcpy(my_dim.last,""); 5551 } 5552 break; 5553 5554 case 439: 5555 /* Line 1807 of yacc.c */ 5556 #line 2450 "fortran.y" 5557 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));} 5558 break; 5559 5560 case 440: 5561 /* Line 1807 of yacc.c */ 5562 #line 2452 "fortran.y" 5563 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));} 5564 break; 5565 5566 case 441: 5567 /* Line 1807 of yacc.c */ 5568 #line 2454 "fortran.y" 5569 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));} 5570 break; 5571 5572 case 447: 5573 /* Line 1807 of yacc.c */ 5574 #line 2463 "fortran.y" 5575 {strcpy((yyval.na),"");} 5576 break; 5577 5578 case 448: 5579 /* Line 1807 of yacc.c */ 5580 #line 2465 "fortran.y" 5581 {sprintf((yyval.na),"*%s",(yyvsp[(2) - (2)].na));} 5582 break; 5583 5584 case 457: 5585 /* Line 1807 of yacc.c */ 5586 #line 2501 "fortran.y" 5587 {strcpy(my_dim.last,"");} 5588 break; 5589 5590 case 458: 5591 /* Line 1807 of yacc.c */ 5592 #line 2505 "fortran.y" 5593 {positioninblock = 0; pos_curdimension = my_position_before;} 5594 break; 5595 5596 case 459: 5597 /* Line 1807 of yacc.c */ 5598 #line 2507 "fortran.y" 5599 { 5600 /* if the variable is a parameter we can suppose that is */ 5601 /* value is the same on each grid. It is not useless to */ 5602 /* create a copy of it on each grid */ 5603 if ( ! inside_type_declare ) 5604 { 5605 if ( firstpass ) 5606 { 5607 Add_Globliste_1((yyvsp[(4) - (4)].l)); 5608 /* if variableparamlists has been declared in a subroutine */ 5609 if ( insubroutinedeclare ) Add_Dimension_Var_1((yyvsp[(4) - (4)].l)); 5610 5611 /* Add it to the List_SubroutineDeclaration_Var list if not present */ 5612 /* NB: if not done, a variable declared with DIMENSION but with no type given */ 5613 /* will not be declared by the conv */ 5614 ReWriteDeclarationAndAddTosubroutine_01((yyvsp[(4) - (4)].l)); 5615 } 5616 else 5617 { 5618 pos_end = setposcur(); 5619 RemoveWordSET_0(fortran_out,pos_curdimension,pos_end-pos_curdimension); 5620 ReWriteDeclarationAndAddTosubroutine_01((yyvsp[(4) - (4)].l)); 5621 } 5622 } 5623 PublicDeclare = 0; 5624 PrivateDeclare = 0; 5625 ExternalDeclare = 0; 5626 strcpy(NamePrecision,""); 5627 c_star = 0; 5628 InitialValueGiven = 0 ; 5629 strcpy(IntentSpec,""); 5630 VariableIsParameter = 0 ; 5631 Allocatabledeclare = 0 ; 5632 Targetdeclare = 0 ; 5633 SaveDeclare = 0; 5634 pointerdeclare = 0; 5635 optionaldeclare = 0 ; 5636 dimsgiven=0; 5637 c_selectorgiven=0; 5638 strcpy(nameinttypename,""); 5639 strcpy(c_selectorname,""); 5640 } 5641 break; 5642 5643 case 461: 5644 /* Line 1807 of yacc.c */ 5645 #line 2552 "fortran.y" 5646 {in_complex_literal = 0;} 5647 break; 5648 5649 case 462: 5650 /* Line 1807 of yacc.c */ 5651 #line 2553 "fortran.y" 5652 { 5653 if ( inside_type_declare ) break; 5654 curvar = createvar((yyvsp[(1) - (5)].na),(yyvsp[(4) - (5)].d)); 5655 CreateAndFillin_Curvar("", curvar); 5656 curlistvar=insertvar(NULL, curvar); 5657 (yyval.l) = settype("",curlistvar); 5658 strcpy(vallengspec,""); 5659 } 5660 break; 5661 5662 case 463: 5663 /* Line 1807 of yacc.c */ 5664 #line 2561 "fortran.y" 5665 {in_complex_literal = 0;} 5666 break; 5667 5668 case 464: 5669 /* Line 1807 of yacc.c */ 5670 #line 2562 "fortran.y" 5671 { 5672 if ( inside_type_declare ) break; 5673 curvar = createvar((yyvsp[(3) - (7)].na),(yyvsp[(6) - (7)].d)); 5674 CreateAndFillin_Curvar("", curvar); 5675 curlistvar = insertvar((yyvsp[(1) - (7)].l), curvar); 5676 (yyval.l) = curlistvar; 5677 strcpy(vallengspec,""); 5678 } 5679 break; 5680 5681 case 465: 5682 /* Line 1807 of yacc.c */ 5683 #line 2574 "fortran.y" 5684 { VariableIsParameter = 1; pos_curparameter = setposcur()-9; } 5685 break; 5686 5687 case 466: 5688 /* Line 1807 of yacc.c */ 5689 #line 2575 "fortran.y" 5690 { 5691 if ( ! inside_type_declare ) 5692 { 5693 if ( firstpass ) 5694 { 5695 if ( insubroutinedeclare ) Add_Parameter_Var_1((yyvsp[(4) - (5)].l)); 5696 else Add_GlobalParameter_Var_1((yyvsp[(4) - (5)].l)); 5697 } 5698 else 5699 { 5700 pos_end = setposcur(); 5701 RemoveWordSET_0(fortran_out, pos_curparameter, pos_end-pos_curparameter); 5702 } 5703 } 5704 VariableIsParameter = 0 ; 5705 } 5706 break; 5707 5708 case 468: 5709 /* Line 1807 of yacc.c */ 5710 #line 2595 "fortran.y" 5711 {(yyval.l)=insertvar(NULL,(yyvsp[(1) - (1)].v));} 5712 break; 5713 5714 case 469: 5715 /* Line 1807 of yacc.c */ 5716 #line 2597 "fortran.y" 5717 {(yyval.l)=insertvar((yyvsp[(1) - (3)].l),(yyvsp[(3) - (3)].v));} 5718 break; 5719 5720 case 470: 5721 /* Line 1807 of yacc.c */ 5722 #line 2602 "fortran.y" 5723 { 5724 if ( inside_type_declare ) break; 5725 curvar=(variable *) calloc(1,sizeof(variable)); 5726 Init_Variable(curvar); 5727 curvar->v_VariableIsParameter = 1; 5728 strcpy(curvar->v_nomvar,(yyvsp[(1) - (3)].na)); 5729 strcpy(curvar->v_subroutinename,subroutinename); 5730 strcpy(curvar->v_modulename,curmodulename); 5731 curvar->v_initialvalue=Insertname(curvar->v_initialvalue,(yyvsp[(3) - (3)].na),0); 5732 strcpy(curvar->v_commoninfile,cur_filename); 5733 Save_Length((yyvsp[(3) - (3)].na),14); 5734 (yyval.v) = curvar; 5735 } 5736 break; 5737 5738 case 471: 5739 /* Line 1807 of yacc.c */ 5740 #line 2618 "fortran.y" 5741 {pos_cursave = my_position_before;} 5742 break; 5743 5744 case 472: 5745 /* Line 1807 of yacc.c */ 5746 #line 2619 "fortran.y" 5747 { 5748 pos_end = setposcur(); 5749 RemoveWordSET_0(fortran_out,pos_cursave,pos_end-pos_cursave); 5750 } 5751 break; 5752 5753 case 480: 5754 /* Line 1807 of yacc.c */ 5755 #line 2640 "fortran.y" 5756 {if ( ! inside_type_declare ) Add_Save_Var_1((yyvsp[(1) - (1)].na),(listdim*) NULL); } 5757 break; 5758 5759 case 484: 5760 /* Line 1807 of yacc.c */ 5761 #line 2650 "fortran.y" 5762 {my_position = my_position_before;} 5763 break; 5764 5765 case 486: 5766 /* Line 1807 of yacc.c */ 5767 #line 2656 "fortran.y" 5768 { 5769 if ( insubroutinedeclare == 1 ) 5770 { 5771 Add_ImplicitNoneSubroutine_1(); 5772 pos_end = setposcur(); 5773 RemoveWordSET_0(fortran_out,my_position,pos_end-my_position); 5774 } 5775 } 5776 break; 5777 5778 case 504: 5779 /* Line 1807 of yacc.c */ 5780 #line 2708 "fortran.y" 5781 {in_complex_literal=0;} 5782 break; 5783 5784 case 511: 5785 /* Line 1807 of yacc.c */ 5786 #line 2723 "fortran.y" 5787 { positioninblock = 0; pos_curcommon = my_position_before; indeclaration=1;} 5788 break; 5789 5790 case 512: 5791 /* Line 1807 of yacc.c */ 5792 #line 2724 "fortran.y" 5793 { 5794 indeclaration = 0; 5795 if ( inside_type_declare ) break; 5796 pos_end = setposcur(); 5797 RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 5798 } 5799 break; 5800 5801 case 515: 5802 /* Line 1807 of yacc.c */ 5803 #line 2735 "fortran.y" 5804 { 5805 if ( inside_type_declare ) break; 5806 sprintf(charusemodule,"%s",(yyvsp[(1) - (1)].na)); 5807 Add_NameOfCommon_1((yyvsp[(1) - (1)].na),subroutinename); 5808 } 5809 break; 5810 5811 case 516: 5812 /* Line 1807 of yacc.c */ 5813 #line 2743 "fortran.y" 5814 { 5815 strcpy((yyval.na),""); 5816 positioninblock=0; 5817 strcpy(commonblockname,""); 5818 } 5819 break; 5820 5821 case 517: 5822 /* Line 1807 of yacc.c */ 5823 #line 2749 "fortran.y" 5824 { 5825 strcpy((yyval.na),(yyvsp[(2) - (3)].na)); 5826 positioninblock=0; 5827 strcpy(commonblockname,(yyvsp[(2) - (3)].na)); 5828 } 5829 break; 5830 5831 case 521: 5832 /* Line 1807 of yacc.c */ 5833 #line 2762 "fortran.y" 5834 { 5835 if ( inside_type_declare ) break; 5836 sprintf(charusemodule,"%s",(yyvsp[(3) - (3)].na)); 5837 Add_NameOfCommon_1((yyvsp[(3) - (3)].na),subroutinename); 5838 } 5839 break; 5840 5841 case 523: 5842 /* Line 1807 of yacc.c */ 5843 #line 2772 "fortran.y" 5844 {if ( ! inside_type_declare ) Add_Common_var_1(); } 5845 break; 5846 5847 case 524: 5848 /* Line 1807 of yacc.c */ 5849 #line 2774 "fortran.y" 5850 {if ( ! inside_type_declare ) Add_Common_var_1(); } 5851 break; 5852 5853 case 525: 5854 /* Line 1807 of yacc.c */ 5855 #line 2782 "fortran.y" 5856 { 5857 positioninblock = positioninblock + 1 ; 5858 strcpy(commonvar,(yyvsp[(1) - (1)].na)); 5859 commondim = (listdim*) NULL; 5860 } 5861 break; 5862 5863 case 526: 5864 /* Line 1807 of yacc.c */ 5865 #line 2787 "fortran.y" 5866 {in_complex_literal=0;} 5867 break; 5868 5869 case 527: 5870 /* Line 1807 of yacc.c */ 5871 #line 2788 "fortran.y" 5872 { 5873 positioninblock = positioninblock + 1 ; 5874 strcpy(commonvar,(yyvsp[(1) - (5)].na)); 5875 commondim = (yyvsp[(4) - (5)].d); 5876 } 5877 break; 5878 5879 case 531: 5880 /* Line 1807 of yacc.c */ 5881 #line 2800 "fortran.y" 5882 {(yyval.v)=createvar((yyvsp[(1) - (1)].na),NULL);} 5883 break; 5884 5885 case 533: 5886 /* Line 1807 of yacc.c */ 5887 #line 2812 "fortran.y" 5888 {if (strcmp(my_dim.last,"")) 5889 { 5890 (yyval.v)->v_initialvalue_array=Insertname(NULL,my_dim.last,0); 5891 } 5892 strcpy(my_dim.last,""); 5893 } 5894 break; 5895 5896 case 543: 5897 /* Line 1807 of yacc.c */ 5898 #line 2854 "fortran.y" 5899 {sprintf((yyval.na),"%s(%s)",(yyvsp[(1) - (4)].na),(yyvsp[(3) - (4)].na));} 5900 break; 5901 5902 case 544: 5903 /* Line 1807 of yacc.c */ 5904 #line 2856 "fortran.y" 5905 {sprintf((yyval.na),"%s(%s)",(yyvsp[(1) - (4)].na),(yyvsp[(3) - (4)].na));} 5906 break; 5907 5908 case 545: 5909 /* Line 1807 of yacc.c */ 5910 #line 2871 "fortran.y" 5911 {sprintf((yyval.na),"%s:%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));} 5912 break; 5913 5914 case 546: 5915 /* Line 1807 of yacc.c */ 5916 #line 2876 "fortran.y" 5917 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].v)->v_nomvar,(yyvsp[(2) - (2)].na));} 5918 break; 5919 5920 case 547: 5921 /* Line 1807 of yacc.c */ 5922 #line 2880 "fortran.y" 5923 {strcpy((yyval.na),"");} 5924 break; 5925 5926 case 548: 5927 /* Line 1807 of yacc.c */ 5928 #line 2882 "fortran.y" 5929 {sprintf((yyval.na),"%s%%%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].v)->v_nomvar);} 5930 break; 5931 5932 case 549: 5933 /* Line 1807 of yacc.c */ 5934 #line 2887 "fortran.y" 5935 {(yyval.v)=createvar((yyvsp[(1) - (1)].na),NULL);} 5936 break; 5937 5938 case 550: 5939 /* Line 1807 of yacc.c */ 5940 #line 2888 "fortran.y" 5941 {in_complex_literal=0;} 5942 break; 5943 5944 case 551: 5945 /* Line 1807 of yacc.c */ 5946 #line 2889 "fortran.y" 5947 {sprintf(ligne,"%s(%s)",(yyvsp[(1) - (5)].na),(yyvsp[(4) - (5)].na));(yyval.v)=createvar((yyvsp[(1) - (5)].na),NULL);strcpy(my_dim.last,(yyvsp[(4) - (5)].na));} 5948 break; 5949 5950 case 553: 5951 /* Line 1807 of yacc.c */ 5952 #line 2905 "fortran.y" 5953 {strcpy(my_dim.last,"");} 5954 break; 5955 5956 case 554: 5957 /* Line 1807 of yacc.c */ 5958 #line 2910 "fortran.y" 5959 {strcpy(my_dim.last,"");} 5960 break; 5961 5962 case 555: 5963 /* Line 1807 of yacc.c */ 5964 #line 2915 "fortran.y" 5965 {strcpy(my_dim.last,"");} 5966 break; 5967 5968 case 556: 5969 /* Line 1807 of yacc.c */ 5970 #line 2917 "fortran.y" 5971 {strcpy(my_dim.last,"");} 5972 break; 5973 5974 case 557: 5975 /* Line 1807 of yacc.c */ 5976 #line 2923 "fortran.y" 5977 {strcpy((yyval.na),"");} 5978 break; 5979 5980 case 558: 5981 /* Line 1807 of yacc.c */ 5982 #line 2925 "fortran.y" 5983 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5984 break; 5985 5986 case 559: 5987 /* Line 1807 of yacc.c */ 5988 #line 2927 "fortran.y" 5989 {sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));} 5990 break; 5991 5992 case 560: 5993 /* Line 1807 of yacc.c */ 5994 #line 2949 "fortran.y" 5995 {sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));} 5996 break; 5997 5998 case 561: 5999 /* Line 1807 of yacc.c */ 6000 #line 2951 "fortran.y" 6001 {strcpy((yyval.na),":");} 6002 break; 6003 6004 case 562: 6005 /* Line 1807 of yacc.c */ 6006 #line 2953 "fortran.y" 6007 {sprintf((yyval.na),":%s",(yyvsp[(2) - (2)].na));} 6008 break; 6009 6010 case 563: 6011 /* Line 1807 of yacc.c */ 6012 #line 2955 "fortran.y" 6013 {sprintf((yyval.na),": :%s",(yyvsp[(3) - (3)].na));} 6014 break; 6015 6016 case 564: 6017 /* Line 1807 of yacc.c */ 6018 #line 2957 "fortran.y" 6019 {sprintf((yyval.na),":%s :%s",(yyvsp[(2) - (4)].na),(yyvsp[(4) - (4)].na));} 6020 break; 6021 6022 case 565: 6023 /* Line 1807 of yacc.c */ 6024 #line 2959 "fortran.y" 6025 {sprintf((yyval.na),"::%s",(yyvsp[(2) - (2)].na));} 6026 break; 6027 6028 case 567: 6029 /* Line 1807 of yacc.c */ 6030 #line 2962 "fortran.y" 6031 {sprintf((yyval.na),"%s=%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));} 6032 break; 6033 6034 case 568: 6035 /* Line 1807 of yacc.c */ 6036 #line 2964 "fortran.y" 6037 {sprintf((yyval.na),"%s=*%s",(yyvsp[(1) - (4)].na),(yyvsp[(4) - (4)].na));} 6038 break; 6039 6040 case 569: 6041 /* Line 1807 of yacc.c */ 6042 #line 2966 "fortran.y" 6043 {sprintf((yyval.na),"*%s",(yyvsp[(2) - (2)].na));} 6044 break; 6045 6046 case 570: 6047 /* Line 1807 of yacc.c */ 6048 #line 2970 "fortran.y" 6049 {strcpy((yyval.na),":");} 6050 break; 6051 6052 case 571: 6053 /* Line 1807 of yacc.c */ 6054 #line 2972 "fortran.y" 6055 {sprintf((yyval.na),":%s",(yyvsp[(2) - (2)].na));} 6056 break; 6057 6058 case 572: 6059 /* Line 1807 of yacc.c */ 6060 #line 2974 "fortran.y" 6061 {sprintf((yyval.na),": :%s",(yyvsp[(3) - (3)].na));} 6062 break; 6063 6064 case 573: 6065 /* Line 1807 of yacc.c */ 6066 #line 2976 "fortran.y" 6067 {sprintf((yyval.na),":%s :%s",(yyvsp[(2) - (4)].na),(yyvsp[(4) - (4)].na));} 6068 break; 6069 6070 case 574: 6071 /* Line 1807 of yacc.c */ 6072 #line 2978 "fortran.y" 6073 {sprintf((yyval.na),"::%s",(yyvsp[(2) - (2)].na));} 6074 break; 6075 6076 case 575: 6077 /* Line 1807 of yacc.c */ 6078 #line 2980 "fortran.y" 6079 {strcpy((yyval.na),"");} 6080 break; 6081 6082 case 577: 6083 /* Line 1807 of yacc.c */ 6084 #line 2998 "fortran.y" 6085 {in_complex_literal=0;} 6086 break; 6087 6088 case 578: 6089 /* Line 1807 of yacc.c */ 6090 #line 2999 "fortran.y" 6091 {inallocate = 0;} 6092 break; 6093 6094 case 602: 6095 /* Line 1807 of yacc.c */ 6096 #line 3069 "fortran.y" 6097 {in_complex_literal=0;} 6098 break; 6099 6100 case 603: 6101 /* Line 1807 of yacc.c */ 6102 #line 3070 "fortran.y" 6103 {inallocate = 0;} 6104 break; 6105 6106 case 613: 6107 /* Line 1807 of yacc.c */ 6108 #line 3100 "fortran.y" 6109 { 6110 strcpy((yyval.na),(yyvsp[(1) - (1)].v)->v_nomvar); 6111 if (strcasecmp(my_dim.last,"")) 6112 { 6113 strcat((yyval.na),"("); 6114 strcat((yyval.na),my_dim.last); 6115 strcat((yyval.na),")"); 6116 } 6117 } 6118 break; 6119 6120 case 617: 6121 /* Line 1807 of yacc.c */ 6122 #line 3113 "fortran.y" 6123 { sprintf((yyval.na),"(%s)",(yyvsp[(2) - (3)].na));} 6124 break; 6125 6126 case 618: 6127 /* Line 1807 of yacc.c */ 6128 #line 3118 "fortran.y" 6129 {strcpy(my_dim.last,"");} 6130 break; 6131 6132 case 620: 6133 /* Line 1807 of yacc.c */ 6134 #line 3124 "fortran.y" 6135 {sprintf((yyval.na),"%s**%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));} 6136 break; 6137 6138 case 622: 6139 /* Line 1807 of yacc.c */ 6140 #line 3129 "fortran.y" 6141 { sprintf((yyval.na),"%s%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(2) - (3)].na),(yyvsp[(3) - (3)].na)); } 6142 break; 6143 6144 case 624: 6145 /* Line 1807 of yacc.c */ 6146 #line 3137 "fortran.y" 6147 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 6148 break; 6149 6150 case 625: 6151 /* Line 1807 of yacc.c */ 6152 #line 3139 "fortran.y" 6153 { sprintf((yyval.na),"%s%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(2) - (3)].na),(yyvsp[(3) - (3)].na)); } 6154 break; 6155 6156 case 627: 6157 /* Line 1807 of yacc.c */ 6158 #line 3142 "fortran.y" 6159 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 6160 break; 6161 6162 case 629: 6163 /* Line 1807 of yacc.c */ 6164 #line 3151 "fortran.y" 6165 {strcpy((yyval.na),"*");} 6166 break; 6167 6168 case 631: 6169 /* Line 1807 of yacc.c */ 6170 #line 3157 "fortran.y" 6171 {strcpy((yyval.na),"+");} 6172 break; 6173 6174 case 632: 6175 /* Line 1807 of yacc.c */ 6176 #line 3159 "fortran.y" 6177 {strcpy((yyval.na),"-");} 6178 break; 6179 6180 case 634: 6181 /* Line 1807 of yacc.c */ 6182 #line 3165 "fortran.y" 6183 { sprintf((yyval.na),"%s%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(2) - (3)].na),(yyvsp[(3) - (3)].na)); } 6184 break; 6185 6186 case 637: 6187 /* Line 1807 of yacc.c */ 6188 #line 3174 "fortran.y" 6189 { sprintf((yyval.na),"%s%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(2) - (3)].na),(yyvsp[(3) - (3)].na)); } 6190 break; 6191 6192 case 646: 6193 /* Line 1807 of yacc.c */ 6194 #line 3187 "fortran.y" 6195 {strcpy((yyval.na),"<");} 6196 break; 6197 6198 case 648: 6199 /* Line 1807 of yacc.c */ 6200 #line 3190 "fortran.y" 6201 {strcpy((yyval.na),">");} 6202 break; 6203 6204 case 651: 6205 /* Line 1807 of yacc.c */ 6206 #line 3198 "fortran.y" 6207 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 6208 break; 6209 6210 case 653: 6211 /* Line 1807 of yacc.c */ 6212 #line 3205 "fortran.y" 6213 { sprintf((yyval.na),"%s%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(2) - (3)].na),(yyvsp[(3) - (3)].na)); } 6214 break; 6215 6216 case 655: 6217 /* Line 1807 of yacc.c */ 6218 #line 3212 "fortran.y" 6219 { sprintf((yyval.na),"%s%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(2) - (3)].na),(yyvsp[(3) - (3)].na)); } 6220 break; 6221 6222 case 657: 6223 /* Line 1807 of yacc.c */ 6224 #line 3218 "fortran.y" 6225 { sprintf((yyval.na),"%s%s%s",(yyvsp[(1) - (3)].na),(yyvsp[(2) - (3)].na),(yyvsp[(3) - (3)].na)); } 6226 break; 6227 6228 case 667: 6229 /* Line 1807 of yacc.c */ 6230 #line 3254 "fortran.y" 6231 {strcpy((yyval.na),"");} 6232 break; 6233 6234 case 670: 6235 /* Line 1807 of yacc.c */ 6236 #line 3263 "fortran.y" 6237 { 6238 strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 6239 } 6240 break; 6241 6242 case 671: 6243 /* Line 1807 of yacc.c */ 6244 #line 3270 "fortran.y" 6245 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 6246 break; 6247 6248 case 800: 6249 /* Line 1807 of yacc.c */ 6250 #line 3643 "fortran.y" 6251 {in_select_case_stmt++;} 6252 break; 6253 6254 case 802: 6255 /* Line 1807 of yacc.c */ 6256 #line 3644 "fortran.y" 6257 {in_select_case_stmt++;} 6258 break; 6259 6260 case 806: 6261 /* Line 1807 of yacc.c */ 6262 #line 3653 "fortran.y" 6263 {in_select_case_stmt--;} 6264 break; 6265 6266 case 808: 6267 /* Line 1807 of yacc.c */ 6268 #line 3654 "fortran.y" 6269 {in_select_case_stmt--;} 6270 break; 6271 6272 case 810: 6273 /* Line 1807 of yacc.c */ 6274 #line 3659 "fortran.y" 6275 {in_complex_literal=0;} 6276 break; 6277 6278 case 834: 6279 /* Line 1807 of yacc.c */ 6280 #line 3722 "fortran.y" 6281 {close_or_connect = 1;} 6282 break; 6283 6284 case 835: 6285 /* Line 1807 of yacc.c */ 6286 #line 3722 "fortran.y" 6287 {close_or_connect = 0;} 6288 break; 6289 6290 case 852: 6291 /* Line 1807 of yacc.c */ 6292 #line 3752 "fortran.y" 6293 {close_or_connect = 1;} 6294 break; 6295 6296 case 853: 6297 /* Line 1807 of yacc.c */ 6298 #line 3753 "fortran.y" 6299 {close_or_connect = 0;} 6300 break; 6301 6302 case 861: 6303 /* Line 1807 of yacc.c */ 6304 #line 3770 "fortran.y" 6305 { 6306 in_io_control_spec = 0; 6307 } 6308 break; 6309 6310 case 863: 6311 /* Line 1807 of yacc.c */ 6312 #line 3775 "fortran.y" 6313 { 6314 in_io_control_spec = 0; 6315 } 6316 break; 6317 6318 case 867: 6319 /* Line 1807 of yacc.c */ 6320 #line 3785 "fortran.y" 6321 { 6322 in_io_control_spec = 0; 6323 } 6324 break; 6325 6326 case 869: 6327 /* Line 1807 of yacc.c */ 6328 #line 3790 "fortran.y" 6329 { 6330 in_io_control_spec = 0; 6331 } 6332 break; 6333 6334 case 922: 6335 /* Line 1807 of yacc.c */ 6336 #line 3907 "fortran.y" 6337 {in_inquire=0;} 6338 break; 6339 6340 case 924: 6341 /* Line 1807 of yacc.c */ 6342 #line 3910 "fortran.y" 6343 {in_inquire=0;} 6344 break; 6345 6346 case 926: 6347 /* Line 1807 of yacc.c */ 6348 #line 3914 "fortran.y" 6349 {in_inquire=1;} 6350 break; 6351 6352 case 941: 6353 /* Line 1807 of yacc.c */ 6354 #line 3941 "fortran.y" 6355 {pos_endsubroutine=setposcur();} 6356 break; 6357 6358 case 945: 6359 /* Line 1807 of yacc.c */ 6360 #line 3950 "fortran.y" 6361 { 6362 GlobalDeclaration = 0; 6363 strcpy(curmodulename,(yyvsp[(2) - (2)].na)); 6364 strcpy(subroutinename,""); 6365 Add_NameOfModule_1((yyvsp[(2) - (2)].na)); 6366 if ( inmoduledeclare == 0 ) 6367 { 6368 /* To know if there are in the module declaration */ 6369 inmoduledeclare = 1; 6370 /* to know if a module has been met */ 6371 inmodulemeet = 1; 6372 /* to know if we are after the keyword contains */ 6373 aftercontainsdeclare = 0 ; 6374 } 6375 } 6376 break; 6377 6378 case 947: 6379 /* Line 1807 of yacc.c */ 6380 #line 3970 "fortran.y" 6381 { 6382 /* if we never meet the contains keyword */ 6383 if ( firstpass == 0 ) 6384 { 6385 RemoveWordCUR_0(fortran_out, setposcur()-my_position); // Remove word "end module" 6386 if ( inmoduledeclare && ! aftercontainsdeclare ) 6387 { 6388 Write_Closing_Module(1); 6389 } 6390 fprintf(fortran_out,"\n end module %s\n", curmodulename); 6391 if ( module_declar && insubroutinedeclare == 0 ) 6392 { 6393 fclose(module_declar); 6394 } 6395 } 6396 inmoduledeclare = 0 ; 6397 inmodulemeet = 0 ; 6398 aftercontainsdeclare = 1; 6399 strcpy(curmodulename, ""); 6400 GlobalDeclaration = 0 ; 6401 } 6402 break; 6403 6404 case 962: 6405 /* Line 1807 of yacc.c */ 6406 #line 4022 "fortran.y" 6407 {if (firstpass == 0 && oldfortran_out) pos_curuseold = setposcurname(oldfortran_out);} 6408 break; 6409 6410 case 963: 6411 /* Line 1807 of yacc.c */ 6412 #line 4027 "fortran.y" 6413 { 6414 if ( firstpass ) 6415 { 6416 if ( insubroutinedeclare ) 6417 { 6418 if ((yyvsp[(6) - (6)].lc)) { 6419 Add_CouplePointed_Var_1((yyvsp[(5) - (6)].na),(yyvsp[(6) - (6)].lc)); 6420 coupletmp = (yyvsp[(6) - (6)].lc); 6421 strcpy(ligne,""); 6422 while ( coupletmp ) 6423 { 6424 strcat(ligne, coupletmp->c_namevar); 6425 strcat(ligne, " => "); 6426 strcat(ligne, coupletmp->c_namepointedvar); 6427 coupletmp = coupletmp->suiv; 6428 if ( coupletmp ) strcat(ligne,","); 6429 } 6430 } 6431 sprintf(charusemodule,"%s",(yyvsp[(5) - (6)].na)); 6432 } 6433 Add_NameOfModuleUsed_1((yyvsp[(5) - (6)].na)); 6434 } 6435 else 6436 { 6437 if ( insubroutinedeclare ) 6438 { 6439 copyuse_0((yyvsp[(5) - (6)].na)); 6440 } 6441 6442 if ( inmoduledeclare == 0 ) 6443 { 6444 pos_end = setposcur(); 6445 RemoveWordSET_0(fortran_out,my_position,pos_end-my_position); 6446 } 6447 } 6448 } 6449 break; 6450 6451 case 965: 6452 /* Line 1807 of yacc.c */ 6453 #line 4065 "fortran.y" 6454 { 6455 if ( firstpass ) 6456 { 6457 if ( insubroutinedeclare ) 6458 { 6459 if ((yyvsp[(9) - (9)].lc)) 6460 { 6461 Add_CouplePointed_Var_1((yyvsp[(5) - (9)].na),(yyvsp[(9) - (9)].lc)); 6462 coupletmp = (yyvsp[(9) - (9)].lc); 6463 strcpy(ligne,""); 6464 while ( coupletmp ) 6465 { 6466 strcat(ligne,coupletmp->c_namevar); 6467 if ( strcasecmp(coupletmp->c_namepointedvar,"") ) strcat(ligne," => "); 6468 strcat(ligne,coupletmp->c_namepointedvar); 6469 coupletmp = coupletmp->suiv; 6470 if ( coupletmp ) strcat(ligne,","); 6471 } 6472 } 6473 sprintf(charusemodule,"%s",(yyvsp[(5) - (9)].na)); 6474 } 6475 Add_NameOfModuleUsed_1((yyvsp[(5) - (9)].na)); 6476 } 6477 else 6478 { 6479 if ( insubroutinedeclare ) 6480 copyuseonly_0((yyvsp[(5) - (9)].na)); 6481 6482 if ( inmoduledeclare == 0 ) 6483 { 6484 pos_end = setposcur(); 6485 RemoveWordSET_0(fortran_out,my_position,pos_end-my_position); 6486 if ((yyvsp[(9) - (9)].lc)) 6487 { 6488 if (oldfortran_out) variableisglobalinmodule((yyvsp[(9) - (9)].lc),(yyvsp[(5) - (9)].na),oldfortran_out,pos_curuseold); 6489 } 6490 } 6491 else 6492 { 6493 if ((yyvsp[(9) - (9)].lc)) 6494 { 6495 /* if we are in the module declare and if the */ 6496 /* onlylist is a list of global variable */ 6497 variableisglobalinmodule((yyvsp[(9) - (9)].lc), (yyvsp[(5) - (9)].na), fortran_out,my_position); 6498 } 6499 } 6500 } 6501 } 6502 break; 6503 6504 case 970: 6505 /* Line 1807 of yacc.c */ 6506 #line 4122 "fortran.y" 6507 {(yyval.lc)=NULL;} 6508 break; 6509 6510 case 971: 6511 /* Line 1807 of yacc.c */ 6512 #line 4124 "fortran.y" 6513 {(yyval.lc)=(yyvsp[(1) - (1)].lc);} 6514 break; 6515 6516 case 977: 6517 /* Line 1807 of yacc.c */ 6518 #line 4141 "fortran.y" 6519 { 6520 strcpy(subroutinename,(yyvsp[(2) - (2)].na)); 6521 insubroutinedeclare = 1; 6522 inprogramdeclare = 1; 6523 /* in the second step we should write the head of */ 6524 /* the subroutine sub_loop_<subroutinename> */ 6525 if ( ! firstpass ) 6526 WriteBeginof_SubLoop(); 6527 } 6528 break; 6529 6530 case 979: 6531 /* Line 1807 of yacc.c */ 6532 #line 4154 "fortran.y" 6533 {pos_endsubroutine=my_position_before;} 6534 break; 6535 6536 case 980: 6537 /* Line 1807 of yacc.c */ 6538 #line 4155 "fortran.y" 6539 { 6540 insubroutinedeclare = 0; 6541 inprogramdeclare = 0; 6542 pos_cur = setposcur(); 6543 closeandcallsubloopandincludeit_0(3); 6544 functiondeclarationisdone = 0; 6545 strcpy(subroutinename,""); 6546 } 6547 break; 6548 6549 case 987: 6550 /* Line 1807 of yacc.c */ 6551 #line 4177 "fortran.y" 6552 { 6553 (yyval.lc)=NULL; 6554 } 6555 break; 6556 6557 case 988: 6558 /* Line 1807 of yacc.c */ 6559 #line 4181 "fortran.y" 6560 { 6561 (yyval.lc)=(yyvsp[(2) - (2)].lc); 6562 } 6563 break; 6564 6565 case 989: 6566 /* Line 1807 of yacc.c */ 6567 #line 4187 "fortran.y" 6568 { 6569 (yyval.lc)=(yyvsp[(1) - (1)].lc); 6570 } 6571 break; 6572 6573 case 990: 6574 /* Line 1807 of yacc.c */ 6575 #line 4191 "fortran.y" 6576 { 6577 /* insert the variable in the list $1 */ 6578 (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 6579 (yyval.lc)=(yyvsp[(3) - (3)].lc); 6580 } 6581 break; 6582 6583 case 991: 6584 /* Line 1807 of yacc.c */ 6585 #line 4200 "fortran.y" 6586 { 6587 coupletmp = (listcouple *) calloc(1,sizeof(listcouple)); 6588 strcpy(coupletmp->c_namevar,(yyvsp[(1) - (3)].na)); 6589 strcpy(coupletmp->c_namepointedvar,(yyvsp[(3) - (3)].na)); 6590 coupletmp->suiv = NULL; 6591 (yyval.lc) = coupletmp; 6592 } 6593 break; 6594 6595 case 992: 6596 /* Line 1807 of yacc.c */ 6597 #line 4210 "fortran.y" 6598 {(yyval.lc)=(yyvsp[(1) - (1)].lc);} 6599 break; 6600 6601 case 993: 6602 /* Line 1807 of yacc.c */ 6603 #line 4212 "fortran.y" 6604 { 6605 /* insert the variable in the list $1 */ 6606 (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 6607 (yyval.lc) = (yyvsp[(3) - (3)].lc); 6608 } 6609 break; 6610 6611 case 994: 6612 /* Line 1807 of yacc.c */ 6613 #line 4221 "fortran.y" 6614 { 6615 coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 6616 strcpy(coupletmp->c_namevar,(yyvsp[(1) - (1)].na)); 6617 strcpy(coupletmp->c_namepointedvar,""); 6618 coupletmp->suiv = NULL; 6619 (yyval.lc) = coupletmp; 6620 } 6621 break; 6622 6623 case 995: 6624 /* Line 1807 of yacc.c */ 6625 #line 4229 "fortran.y" 6626 { 6627 coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 6628 strcpy(coupletmp->c_namevar,(yyvsp[(1) - (1)].na)); 6629 strcpy(coupletmp->c_namepointedvar,""); 6630 coupletmp->suiv = NULL; 6631 (yyval.lc) = coupletmp; 6632 } 6633 break; 6634 6635 case 996: 6636 /* Line 1807 of yacc.c */ 6637 #line 4237 "fortran.y" 6638 { 6639 (yyval.lc)=(yyvsp[(1) - (1)].lc); 6640 pointedvar = 1; 6641 Add_UsedInSubroutine_Var_1((yyvsp[(1) - (1)].lc)->c_namevar); 6642 } 6643 break; 6644 6645 case 1009: 6646 /* Line 1807 of yacc.c */ 6647 #line 4277 "fortran.y" 6648 {in_complex_literal=0;} 6649 break; 6650 6651 case 1010: 6652 /* Line 1807 of yacc.c */ 6653 #line 4278 "fortran.y" 6654 {sprintf((yyval.na),"%s(%s)",(yyvsp[(1) - (5)].na),(yyvsp[(4) - (5)].na));} 6655 break; 6656 6657 case 1011: 6658 /* Line 1807 of yacc.c */ 6659 #line 4284 "fortran.y" 6660 { 6661 inagrifcallargument = 0 ; 6662 incalldeclare=0; 6663 if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 6664 { 6665 pos_end = setposcur(); 6666 RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 6667 strcpy(subofagrifinitgrids,subroutinename); 6668 } 6669 Instanciation_0(sameagrifname); 6670 } 6671 break; 6672 6673 case 1013: 6674 /* Line 1807 of yacc.c */ 6675 #line 4297 "fortran.y" 6676 { 6677 inagrifcallargument = 0 ; 6678 incalldeclare=0; 6679 if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 6680 { 6681 pos_end = setposcur(); 6682 RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 6683 strcpy(subofagrifinitgrids,subroutinename); 6684 } 6685 Instanciation_0(sameagrifname); 6686 } 6687 break; 6688 6689 case 1015: 6690 /* Line 1807 of yacc.c */ 6691 #line 4309 "fortran.y" 6692 {in_complex_literal=0;} 6693 break; 6694 6695 case 1016: 6696 /* Line 1807 of yacc.c */ 6697 #line 4310 "fortran.y" 6698 { 6699 inagrifcallargument = 0 ; 6700 incalldeclare=0; 6701 if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 6702 { 6703 pos_end = setposcur(); 6704 RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 6705 strcpy(subofagrifinitgrids,subroutinename); 6706 } 6707 Instanciation_0(sameagrifname); 6708 } 6709 break; 6710 6711 case 1018: 6712 /* Line 1807 of yacc.c */ 6713 #line 4324 "fortran.y" 6714 {pos_curcall=my_position_before-strlen((yyvsp[(1) - (2)].na))-4;} 6715 break; 6716 6717 case 1019: 6718 /* Line 1807 of yacc.c */ 6719 #line 4325 "fortran.y" 6720 { 6721 if (!strcasecmp((yyvsp[(4) - (4)].na),"MPI_Init") ) callmpiinit = 1; 6722 else callmpiinit = 0; 6723 6724 if (!strcasecmp((yyvsp[(4) - (4)].na),"Agrif_Init_Grids") ) 6725 { 6726 callagrifinitgrids = 1; 6727 strcpy(meetagrifinitgrids,subroutinename); 6728 } 6729 else 6730 { 6731 callagrifinitgrids = 0; 6732 } 6733 if ( Vartonumber((yyvsp[(4) - (4)].na)) == 1 ) 6734 { 6735 incalldeclare = 0; 6736 inagrifcallargument = 0 ; 6737 Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); 6738 } 6739 } 6740 break; 6741 6742 case 1024: 6743 /* Line 1807 of yacc.c */ 6744 #line 4356 "fortran.y" 6745 {sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));} 6746 break; 6747 6748 case 1025: 6749 /* Line 1807 of yacc.c */ 6750 #line 4361 "fortran.y" 6751 { 6752 if ( callmpiinit == 1 ) 6753 { 6754 strcpy(mpiinitvar,(yyvsp[(1) - (1)].na)); 6755 if ( firstpass == 1 ) Add_UsedInSubroutine_Var_1 (mpiinitvar); 6756 } 6757 } 6758 break; 6759 6760 case 1026: 6761 /* Line 1807 of yacc.c */ 6762 #line 4369 "fortran.y" 6763 {sprintf((yyval.na),"%s = %s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); 6764 if ( callmpiinit == 1 ) 6765 { 6766 strcpy(mpiinitvar,(yyvsp[(3) - (3)].na)); 6767 if ( firstpass == 1 ) Add_UsedInSubroutine_Var_1 (mpiinitvar); 6768 } 6769 } 6770 break; 6771 6772 case 1028: 6773 /* Line 1807 of yacc.c */ 6774 #line 4381 "fortran.y" 6775 { 6776 strcpy((yyval.na),(yyvsp[(1) - (1)].v)->v_nomvar); 6777 if ((yyvsp[(1) - (1)].v)->v_initialvalue_array) 6778 { 6779 strcat((yyval.na),"("); 6780 strcat((yyval.na),(yyvsp[(1) - (1)].v)->v_initialvalue_array->n_name); 6781 strcat((yyval.na),")"); 6782 } 6783 } 6784 break; 6785 6786 case 1030: 6787 /* Line 1807 of yacc.c */ 6788 #line 4393 "fortran.y" 6789 {isrecursive = 0;} 6790 break; 6791 6792 case 1034: 6793 /* Line 1807 of yacc.c */ 6794 #line 4404 "fortran.y" 6795 {isrecursive = 0; functiondeclarationisdone = 1;} 6796 break; 6797 6798 case 1035: 6799 /* Line 1807 of yacc.c */ 6800 #line 4406 "fortran.y" 6801 {isrecursive = 0;} 6802 break; 6803 6804 case 1036: 6805 /* Line 1807 of yacc.c */ 6806 #line 4408 "fortran.y" 6807 {isrecursive = 1;} 6808 break; 6809 6810 case 1038: 6811 /* Line 1807 of yacc.c */ 6812 #line 4417 "fortran.y" 6813 {in_complex_literal=0;} 6814 break; 6815 6816 case 1039: 6817 /* Line 1807 of yacc.c */ 6818 #line 4418 "fortran.y" 6819 { 6820 insubroutinedeclare = 1; 6821 suborfun = 0; 6822 /* we should to list of the subroutine argument the */ 6823 /* name of the function which has to be defined */ 6824 if ( firstpass ) 6825 { 6826 Add_SubroutineArgument_Var_1((yyvsp[(6) - (8)].l)); 6827 if ( ! is_result_present ) 6828 Add_FunctionType_Var_1((yyvsp[(3) - (8)].na)); 6829 } 6830 else 6831 /* in the second step we should write the head of */ 6832 /* the subroutine sub_loop_<subroutinename> */ 6833 { 6834 if (todebug == 1) fprintf(fortran_out," !DEBUG: Avant Writebeginof subloop\n"); 6835 WriteBeginof_SubLoop(); 6836 if (todebug == 1) fprintf(fortran_out," !DEBUG: Apres Writebeginof subloop\n"); 6837 } 6838 strcpy(NamePrecision,""); 6839 } 6840 break; 6841 6842 case 1041: 6843 /* Line 1807 of yacc.c */ 6844 #line 4443 "fortran.y" 6845 { 6846 if (strcmp(subroutinename,"")) 6847 { 6848 strcpy(old_subroutinename,subroutinename); // can occur in internal-subprogram 6849 old_oldfortran_out=oldfortran_out; 6850 } 6851 else 6852 { 6853 old_oldfortran_out=(FILE *)NULL; 6854 } 6855 strcpy((yyval.na),(yyvsp[(1) - (1)].na));strcpy(subroutinename,(yyvsp[(1) - (1)].na)); 6856 } 6857 break; 6858 6859 case 1043: 6860 /* Line 1807 of yacc.c */ 6861 #line 4472 "fortran.y" 6862 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 6863 break; 6864 6865 case 1044: 6866 /* Line 1807 of yacc.c */ 6867 #line 4476 "fortran.y" 6868 {is_result_present = 0; } 6869 break; 6870 6871 case 1052: 6872 /* Line 1807 of yacc.c */ 6873 #line 4494 "fortran.y" 6874 {is_result_present = 1; 6875 if ( firstpass == 1 ) 6876 { 6877 strcpy(nameinttypenameback,nameinttypename); 6878 strcpy(nameinttypename,""); 6879 curvar = createvar((yyvsp[(3) - (4)].na),NULL); 6880 strcpy(nameinttypename,nameinttypenameback); 6881 strcpy(curvar->v_typevar,""); 6882 curlistvar = insertvar(NULL,curvar); 6883 Add_SubroutineArgument_Var_1(curlistvar); 6884 } 6885 } 6886 break; 6887 6888 case 1053: 6889 /* Line 1807 of yacc.c */ 6890 #line 4509 "fortran.y" 6891 {strcpy(DeclType, "");} 6892 break; 6893 6894 case 1058: 6895 /* Line 1807 of yacc.c */ 6896 #line 4523 "fortran.y" 6897 { 6898 insubroutinedeclare = 1; 6899 suborfun = 1; 6900 if ( firstpass ) 6901 Add_SubroutineArgument_Var_1((yyvsp[(4) - (4)].l)); 6902 else 6903 { 6904 WriteBeginof_SubLoop(); 6905 } 6906 } 6907 break; 6908 6909 case 1060: 6910 /* Line 1807 of yacc.c */ 6911 #line 4538 "fortran.y" 6912 { 6913 if (strcmp(subroutinename,"")) 6914 { 6915 strcpy(old_subroutinename,subroutinename); // can occur in internal-subprogram 6916 old_oldfortran_out=oldfortran_out; 6917 } 6918 else 6919 { 6920 old_oldfortran_out=(FILE *)NULL; 6921 } 6922 strcpy((yyval.na),(yyvsp[(1) - (1)].na));strcpy(subroutinename,(yyvsp[(1) - (1)].na)); 6923 } 6924 break; 6925 6926 case 1062: 6927 /* Line 1807 of yacc.c */ 6928 #line 4559 "fortran.y" 6929 {pos_endsubroutine = my_position; 6930 GlobalDeclaration = 0 ; 6931 if ( firstpass == 0 && strcasecmp(subroutinename,"") ) 6932 { 6933 if ( module_declar && insubroutinedeclare == 0 ) fclose(module_declar); 6934 } 6935 if ( strcasecmp(subroutinename,"") ) 6936 { 6937 if ( inmodulemeet == 1 ) 6938 { 6939 /* we are in a module */ 6940 if ( insubroutinedeclare == 1 ) 6941 { 6942 /* it is like an end subroutine <name> */ 6943 insubroutinedeclare = 0 ; 6944 pos_cur = setposcur(); 6945 closeandcallsubloopandincludeit_0(suborfun); 6946 functiondeclarationisdone = 0; 6947 } 6948 else 6949 { 6950 /* it is like an end module <name> */ 6951 inmoduledeclare = 0 ; 6952 inmodulemeet = 0 ; 6953 } 6954 } 6955 else 6956 { 6957 insubroutinedeclare = 0; 6958 pos_cur = setposcur(); 6959 closeandcallsubloopandincludeit_0(2); 6960 functiondeclarationisdone = 0; 6961 } 6962 } 6963 strcpy(subroutinename,""); 6964 if (strcmp(old_subroutinename,"")) 6965 { 6966 strcpy(subroutinename,old_subroutinename); 6967 strcpy(old_subroutinename,""); 6968 oldfortran_out=old_oldfortran_out; 6969 insubroutinedeclare=1; 6970 } 6971 } 6972 break; 6973 6974 case 1065: 6975 /* Line 1807 of yacc.c */ 6976 #line 4608 "fortran.y" 6977 {if (firstpass) (yyval.l)=NULL;} 6978 break; 6979 6980 case 1066: 6981 /* Line 1807 of yacc.c */ 6982 #line 4609 "fortran.y" 6983 {in_complex_literal=0;} 6984 break; 6985 6986 case 1067: 6987 /* Line 1807 of yacc.c */ 6988 #line 4610 "fortran.y" 6989 {if (firstpass) (yyval.l)=(yyvsp[(3) - (5)].l);} 6990 break; 6991 6992 case 1068: 6993 /* Line 1807 of yacc.c */ 6994 #line 4614 "fortran.y" 6995 {if (firstpass) (yyval.l)=NULL;} 6996 break; 6997 6998 case 1069: 6999 /* Line 1807 of yacc.c */ 7000 #line 4616 "fortran.y" 7001 {if (firstpass) (yyval.l)=(yyvsp[(1) - (1)].l);} 7002 break; 7003 7004 case 1070: 7005 /* Line 1807 of yacc.c */ 7006 #line 4621 "fortran.y" 7007 { 7008 if ( firstpass == 1 ) 7009 { 7010 strcpy(nameinttypenameback,nameinttypename); 7011 strcpy(nameinttypename,""); 7012 curvar = createvar((yyvsp[(1) - (1)].na),NULL); 7013 strcpy(nameinttypename,nameinttypenameback); 7014 curlistvar = insertvar(NULL,curvar); 7015 (yyval.l) = settype("",curlistvar); 7016 } 7017 } 7018 break; 7019 7020 case 1071: 7021 /* Line 1807 of yacc.c */ 7022 #line 4633 "fortran.y" 7023 { 7024 if ( firstpass == 1 ) 7025 { 7026 strcpy(nameinttypenameback,nameinttypename); 7027 strcpy(nameinttypename,""); 7028 curvar = createvar((yyvsp[(3) - (3)].na),NULL); 7029 strcpy(nameinttypename,nameinttypenameback); 7030 (yyval.l) = insertvar((yyvsp[(1) - (3)].l),curvar); 7031 } 7032 } 7033 break; 7034 7035 case 1072: 7036 /* Line 1807 of yacc.c */ 7037 #line 4647 "fortran.y" 7038 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 7039 break; 7040 7041 case 1073: 7042 /* Line 1807 of yacc.c */ 7043 #line 4649 "fortran.y" 7044 {strcpy((yyval.na),"*");} 7045 break; 7046 7047 case 1076: 7048 /* Line 1807 of yacc.c */ 7049 #line 4659 "fortran.y" 5837 7050 { 5838 7051 if ( inside_type_declare ) break; … … 5865 7078 break; 5866 7079 5867 case 483: 5868 /* Line 1807 of yacc.c */ 5869 #line 1898 "fortran.y" 5870 { 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" 5880 { 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" 5889 { 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" 5898 { 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" 7080 case 1078: 7081 /* Line 1807 of yacc.c */ 7082 #line 4694 "fortran.y" 5907 7083 {strcpy((yyval.na),"");} 5908 7084 break; 5909 7085 5910 case 488:5911 /* Line 1807 of yacc.c */ 5912 #line 1927"fortran.y"7086 case 1079: 7087 /* Line 1807 of yacc.c */ 7088 #line 4695 "fortran.y" 5913 7089 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5914 7090 break; 5915 7091 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" 5925 { 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" 5940 { 5941 created_dimensionlist = 1; 5942 } 5943 break; 5944 5945 case 496: 5946 /* Line 1807 of yacc.c */ 5947 #line 1958 "fortran.y" 5948 { 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" 5964 { 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" 5995 { 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" 7092 case 1085: 7093 /* Line 1807 of yacc.c */ 7094 #line 4823 "fortran.y" 6007 7095 { afterpercent = 1; } 6008 7096 break; 6009 7097 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 */ 6042 #line 2120 "fortran.y" 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" 7098 7099 /* Line 1807 of yacc.c */ 7100 #line 7101 "fortran.tab.c" 6109 7101 default: break; 6110 7102 } … … 6338 7330 6339 7331 /* Line 2055 of yacc.c */ 6340 #line 2156"fortran.y"7332 #line 4920 "fortran.y" 6341 7333 6342 7334 … … 6794 7786 (yy_c_buf_p) = yy_cp; 6795 7787 6796 #define YY_NUM_RULES 17 66797 #define YY_END_OF_BUFFER 17 77788 #define YY_NUM_RULES 178 7789 #define YY_END_OF_BUFFER 179 6798 7790 /* This struct is not used in this scanner, 6799 7791 but its presence is necessary. */ … … 6803 7795 flex_int32_t yy_nxt; 6804 7796 }; 6805 static yyconst flex_int16_t yy_acc ept[1132] =7797 static yyconst flex_int16_t yy_acclist[1591] = 6806 7798 { 0, 6807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 7799 144, 144, 179, 178, 167, 178, 166, 178, 177, 178, 7800 178, 156, 178, 160, 178, 170, 178, 178, 159, 178, 7801 159, 178, 159, 178, 162, 178, 157, 178, 141, 178, 7802 155, 178, 159, 178, 161, 178, 164, 178, 163, 178, 7803 165, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7804 151, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7805 151, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7806 151, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7807 151, 178, 151, 178, 167, 178, 166, 176, 178, 177, 7808 178, 151, 178, 151, 178, 151, 178, 151, 178, 151, 7809 7810 178, 178, 178, 174, 178, 178, 178, 178, 144, 178, 7811 145, 178, 178, 166, 178, 151, 178, 151, 178, 151, 7812 178, 151, 178, 151, 178, 151, 178, 151, 178, 151, 7813 178, 151, 178, 151, 178, 151, 178, 151, 178, 151, 7814 178, 151, 178, 151, 178, 151, 178, 151, 178, 151, 7815 178, 151, 178, 151, 178, 151, 178, 166, 176, 178, 7816 167, 178, 159, 178, 155, 178, 151, 178, 151, 178, 7817 151, 178, 151, 178, 151, 178, 167, 178, 155, 178, 7818 167, 177, 177, 177, 147, 170, 146, 139, 20, 154, 7819 140, 138, 34, 155, 137, 35, 33, 18, 36, 151, 7820 6811 7821 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, 7822 151, 151, 151, 151, 42, 151, 151, 151, 151, 151, 6821 7823 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6822 151, 151, 100, 151, 89, 151, 151, 151, 151, 151,7824 91, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6823 7825 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6824 7826 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, 7827 167, 176, 177, 177, 177, 177, 151, 151, 151, 151, 7828 91, 151, 151, 174, 144, 143, 151, 151, 151, 151, 6841 7829 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, 7830 151, 42, 151, 151, 151, 151, 151, 151, 151, 151, 7831 7832 151, 151, 151, 151, 151, 151, 151, 91, 151, 151, 7833 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7834 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7835 151, 151, 151, 151, 151, 151, 151, 176, 167, 167, 7836 175, 20, 155, 175, 151, 151, 151, 151, 151, 151, 7837 151, 151, 151, 151, 91, 151, 151, 167, 155, 177, 7838 177, 142, 146, 153, 152, 153, 154, 154, 151, 151, 7839 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7840 151, 151, 151, 151, 151, 151, 151, 151, 9, 151, 7841 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7842 7843 151, 103,16485, 151, 151, 151, 151, 151, 151, 151, 7844 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7845 151, 151, 151, 94, 151, 151, 151, 151, 151, 151, 7846 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7847 151, 151, 151, 151, 151, 151, 11, 151, 151, 151, 7848 151, 177, 177, 177, 151, 151, 151, 151, 151, 151, 7849 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7850 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7851 9, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7852 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7853 7854 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7855 151, 151, 151, 94, 151, 151, 151, 151, 151, 151, 7856 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7857 151, 151, 151, 151, 151, 151, 11, 151, 151, 151, 7858 151, 167, 167, 155, 151, 151, 151, 151, 151, 151, 7859 151, 151, 151, 151, 151, 151, 151, 177, 177, 154, 7860 22, 24, 23, 26, 25, 28, 30, 151, 151, 151, 7861 151, 151, 151, 151, 151, 15, 151, 151, 151, 151, 7862 151, 151, 151, 151, 151, 151, 151, 41, 41, 151, 7863 151, 99, 151, 116, 151, 151, 151, 151, 151, 117, 7864 7865 151, 127, 151, 151, 79, 151, 151, 151, 151, 114, 7866 151, 151, 93, 151, 151, 151, 151, 151, 151, 151, 7867 151, 151, 151, 151, 119, 151, 151, 151, 151, 115, 7868 14, 151, 151, 63, 151, 77, 151, 151, 151, 151, 7869 151, 151, 151, 151, 151, 151, 83, 151, 43, 151, 7870 131, 151, 151, 151, 151, 151, 72, 151, 151, 151, 7871 76, 151, 57, 151, 151, 151, 97, 151, 151, 151, 7872 151, 151, 47, 177, 177, 177, 105, 151, 151, 151, 7873 151, 151, 151,16458, 151, 151, 151, 151, 151, 151, 7874 151, 151, 15, 151, 151, 151, 151, 151, 151, 151, 7875 7876 151, 151, 151, 151, 41, 151, 151, 99, 151, 151, 7877 151, 151, 151, 151, 151, 151, 151, 79, 151, 151, 7878 151, 151, 151, 151, 93, 151, 151, 151, 151, 151, 7879 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7880 14, 151, 151, 63, 151, 77, 151, 151, 151, 151, 7881 151, 151, 151, 151, 151, 151, 83, 151, 43, 151, 7882 151, 151, 151, 151, 151, 72, 151, 151, 151, 76, 7883 151, 57, 151, 151, 151, 97, 151, 151, 151, 151, 7884 151, 167, 155, 15, 151, 105, 151, 151, 151, 151, 7885 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7886 7887 16458, 177, 177, 158, 32, 21, 29, 31, 151, 151, 6868 7888 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, 6931 0 7889 151, 151, 135, 151, 151, 151, 151, 151, 151, 151, 7890 40, 151, 100, 151, 151, 151, 151, 151, 151, 151, 7891 151, 108, 87, 151, 128, 151, 93, 102, 151, 151, 7892 95, 151, 151, 151, 151, 151, 151, 151, 151, 120, 7893 151, 151, 122, 129, 151, 151, 151, 151, 151, 55, 7894 151, 151, 151, 80, 151, 151, 151, 151, 82, 130, 7895 151, 151, 151, 151, 151, 151, 151, 151, 151, 112, 7896 58, 151, 38, 151, 86, 151, 105,16458, 177, 177, 7897 7898 177, 105, 151, 92, 151, 151, 8266, 73, 8266, 151, 7899 151, 151, 151, 151, 151, 151, 151, 52, 151, 151, 7900 151, 151, 151, 135, 151, 151, 151, 151, 151, 151, 7901 151, 40, 151, 100, 151, 151, 151, 151, 151, 151, 7902 151, 151, 87, 151, 151, 151, 151, 95, 151, 151, 7903 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7904 151, 151, 151, 55, 151, 151, 151, 80, 151, 151, 7905 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7906 151, 58, 151, 38, 151, 86, 151, 167, 155, 105, 7907 151, 151, 52, 151, 151, 151, 151, 151, 151, 151, 7908 7909 135, 151, 151, 151, 16, 177, 16, 177, 16, 16, 7910 147, 16, 16, 16, 146, 16, 16, 16, 16, 16, 7911 16, 27, 151, 151, 151, 151, 151, 16, 151, 151, 7912 118, 151, 66, 151, 151, 151, 151, 151, 151, 151, 7913 151, 98, 151, 151, 40, 100, 151, 151, 151, 151, 7914 151, 134, 151, 151, 102, 8293, 102, 151, 151, 151, 7915 151, 69, 151, 151, 151, 125, 151, 151, 37, 151, 7916 151, 151, 151, 151, 151, 151, 151, 151, 151, 89, 7917 151, 151, 7, 151, 78, 151, 12, 151, 151, 151, 7918 133, 151, 151, 88, 151, 85, 177, 177, 16, 177, 7919 7920 151, 151, 151, 151, 151, 151, 151, 151, 16, 151, 7921 151, 151, 66, 151, 151, 151, 151, 151, 151, 151, 7922 151, 98, 151, 151, 151, 151, 151, 151, 151, 151, 7923 151, 151, 151, 151, 151, 69, 151, 151, 151, 151, 7924 151, 37, 151, 151, 151, 151, 151, 151, 151, 151, 7925 151, 151, 89, 151, 151, 7, 151, 78, 151, 12, 7926 151, 151, 151, 133, 151, 151, 88, 151, 16, 151, 7927 151, 66, 151, 151, 151, 151, 151, 16, 151, 151, 7928 151, 17, 17, 177, 17, 17, 147, 17, 17, 17, 7929 146, 17, 17, 17, 17, 17, 17, 109, 110, 17, 7930 7931 151, 151, 151, 151, 151, 50, 151, 151, 151, 151, 7932 106, 151, 151, 151, 151, 98, 151, 151, 75, 151, 7933 151, 151, 121, 151, 151, 8293, 151, 10, 151, 53, 7934 151, 44, 151, 151, 151, 126, 45, 151, 151, 151, 7935 5, 151, 113, 151, 151, 70, 151, 151, 90, 151, 7936 2, 151, 151, 151, 123, 132, 151, 177, 17, 177, 7937 151, 67, 151, 171, 17, 151, 151, 151, 151, 151, 7938 50, 151, 151, 151, 151, 106, 151, 151, 151, 151, 7939 151, 151, 75, 151, 151, 151, 151, 151, 151, 10, 7940 151, 53, 151, 44, 151, 151, 151, 45, 151, 151, 7941 7942 151, 5, 151, 151, 151, 70, 151, 151, 90, 151, 7943 2, 151, 151, 151, 151, 171, 17, 17, 151, 151, 7944 50, 151, 151, 151, 151, 151, 151, 3, 151, 151, 7945 151, 151, 151, 4, 151, 151, 151, 151, 151, 151, 7946 75, 151, 59, 151, 151, 68, 151, 8, 151, 13, 7947 151, 151, 151, 151, 84, 151, 71, 151, 151, 151, 7948 151, 151, 151, 177, 62, 151, 151, 151, 3, 151, 7949 151, 151, 151, 151, 4, 151, 151, 151, 151, 151, 7950 151, 151, 59, 151, 151, 68, 151, 8, 151, 13, 7951 151, 151, 151, 151, 84, 151, 71, 151, 151, 151, 7952 7953 151, 151, 151, 151, 151, 62, 151, 4, 151, 151, 7954 138, 151, 151, 136, 151, 46, 151, 151, 151, 54, 7955 151, 151, 151, 61, 151, 59, 107, 151, 151, 96, 7956 151, 111, 151, 64, 151, 124, 65, 151, 151, 151, 7957 62, 177, 148, 151, 150, 151, 151, 136, 151, 46, 7958 151, 151, 151, 54, 151, 151, 151, 61, 151, 107, 7959 151, 151, 96, 151, 151, 64, 151, 65, 151, 151, 7960 151, 46, 151, 151, 148, 151, 169, 138, 151, 151, 7961 39, 151, 6, 151, 151, 151, 61, 60, 107, 151, 7962 151, 104, 151, 1, 151, 148, 177, 151, 151, 39, 7963 7964 151, 6, 151, 151, 151, 151, 151, 104, 151, 1, 7965 151, 168, 39, 151, 51, 151, 151, 151, 56, 151, 7966 151, 104, 177, 51, 151, 151, 151, 56, 151, 151, 7967 169, 151, 151, 151, 177, 151, 151, 151, 168, 19, 7968 49, 151, 151, 151, 177, 149, 174, 49, 151, 151, 7969 151, 168, 168, 49, 151, 151, 177, 151, 151, 48, 7970 151, 81, 151, 177, 48, 151, 81, 151, 168, 48, 7971 81, 177, 177, 177, 177, 177, 177, 172, 177, 172, 7972 172, 175, 172, 176, 177, 175, 173, 174, 173, 174 7973 } ; 7974 7975 static yyconst flex_int16_t yy_accept[1888] = 7976 { 0, 7977 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 7978 3, 3, 3, 3, 3, 4, 5, 7, 9, 11, 7979 12, 14, 16, 18, 19, 21, 23, 25, 27, 29, 7980 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 7981 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 7982 71, 73, 75, 77, 79, 81, 83, 85, 87, 90, 7983 92, 94, 96, 98, 100, 102, 103, 104, 106, 107, 7984 108, 109, 111, 113, 114, 116, 118, 120, 122, 124, 7985 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 7986 146, 148, 150, 152, 154, 156, 158, 161, 163, 165, 7987 7988 167, 169, 171, 173, 175, 177, 179, 181, 181, 181, 7989 182, 183, 184, 185, 185, 186, 186, 186, 187, 187, 7990 187, 187, 187, 188, 188, 188, 188, 188, 189, 189, 7991 189, 189, 190, 190, 191, 191, 191, 191, 191, 191, 7992 191, 191, 191, 191, 191, 192, 193, 194, 194, 195, 7993 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 7994 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 7995 215, 217, 218, 219, 220, 221, 222, 223, 224, 225, 7996 226, 227, 228, 229, 230, 231, 233, 234, 235, 236, 7997 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 7998 7999 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 8000 257, 258, 259, 260, 261, 261, 262, 263, 263, 263, 8001 263, 263, 263, 263, 263, 264, 264, 265, 266, 267, 8002 267, 268, 269, 270, 271, 273, 274, 274, 275, 275, 8003 275, 275, 275, 276, 276, 277, 277, 277, 277, 277, 8004 277, 277, 278, 279, 280, 281, 282, 283, 284, 285, 8005 286, 287, 288, 289, 290, 291, 292, 294, 295, 296, 8006 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 8007 307, 308, 310, 311, 312, 313, 314, 315, 316, 317, 8008 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 8009 8010 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 8011 338, 338, 339, 339, 339, 340, 341, 341, 341, 342, 8012 343, 343, 343, 343, 343, 344, 345, 345, 346, 347, 8013 348, 349, 350, 351, 352, 353, 354, 355, 357, 358, 8014 359, 359, 359, 360, 360, 360, 360, 361, 362, 362, 8015 362, 362, 362, 362, 362, 362, 362, 364, 364, 364, 8016 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 8017 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 8018 364, 364, 364, 364, 364, 364, 364, 364, 364, 365, 8019 368, 368, 369, 370, 371, 372, 373, 374, 375, 376, 8020 8021 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 8022 386, 387, 388, 389, 391, 392, 393, 394, 395, 396, 8023 397, 398, 399, 400, 401, 401, 402, 402, 404, 405, 8024 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 8025 416, 417, 418, 419, 420, 421, 422, 423, 424, 426, 8026 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 8027 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 8028 447, 449, 450, 451, 452, 452, 452, 452, 452, 452, 8029 452, 452, 452, 452, 453, 454, 455, 455, 456, 457, 8030 458, 459, 460, 461, 461, 461, 461, 461, 461, 461, 8031 8032 461, 461, 461, 461, 461, 461, 462, 463, 464, 465, 8033 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 8034 476, 477, 478, 479, 480, 481, 483, 484, 485, 486, 8035 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 8036 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 8037 507, 508, 509, 510, 511, 512, 513, 514, 516, 517, 8038 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 8039 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 8040 539, 540, 541, 542, 542, 542, 542, 542, 543, 543, 8041 544, 544, 544, 544, 544, 544, 544, 545, 545, 546, 8042 8043 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 8044 557, 558, 558, 558, 558, 558, 559, 560, 560, 560, 8045 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 8046 560, 560, 560, 560, 560, 560, 561, 561, 561, 562, 8047 562, 563, 564, 565, 566, 566, 567, 567, 567, 568, 8048 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 8049 568, 569, 570, 571, 572, 573, 574, 575, 576, 578, 8050 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 8051 589, 591, 592, 594, 594, 595, 596, 597, 598, 599, 8052 600, 600, 601, 602, 602, 603, 604, 605, 607, 608, 8053 8054 609, 610, 610, 611, 612, 613, 613, 615, 615, 615, 8055 615, 615, 616, 617, 618, 619, 620, 621, 622, 623, 8056 624, 625, 625, 626, 627, 628, 629, 630, 630, 631, 8057 633, 634, 636, 638, 639, 640, 641, 642, 643, 644, 8058 645, 646, 647, 649, 651, 651, 652, 653, 654, 655, 8059 656, 657, 659, 660, 661, 663, 665, 666, 667, 669, 8060 670, 671, 672, 673, 674, 674, 674, 674, 674, 674, 8061 674, 675, 676, 677, 677, 679, 680, 681, 682, 683, 8062 685, 685, 685, 685, 685, 685, 685, 685, 685, 685, 8063 686, 687, 688, 689, 690, 691, 692, 693, 695, 696, 8064 8065 697, 698, 699, 700, 701, 702, 703, 704, 705, 707, 8066 708, 710, 711, 712, 713, 714, 715, 716, 717, 718, 8067 720, 721, 722, 723, 724, 725, 727, 728, 729, 730, 8068 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 8069 741, 743, 744, 746, 748, 749, 750, 751, 752, 753, 8070 754, 755, 756, 757, 759, 761, 762, 763, 764, 765, 8071 766, 768, 769, 770, 772, 774, 775, 776, 778, 779, 8072 780, 781, 782, 782, 782, 782, 783, 783, 783, 783, 8073 783, 783, 784, 784, 786, 788, 789, 790, 791, 792, 8074 793, 794, 795, 796, 797, 798, 799, 800, 802, 802, 8075 8076 802, 802, 803, 804, 804, 804, 804, 804, 804, 805, 8077 805, 805, 805, 805, 805, 805, 806, 807, 807, 808, 8078 809, 809, 809, 809, 809, 809, 809, 810, 811, 812, 8079 813, 814, 815, 816, 816, 816, 817, 819, 820, 821, 8080 822, 823, 825, 826, 827, 828, 829, 829, 830, 831, 8081 831, 831, 831, 831, 831, 833, 835, 836, 837, 838, 8082 839, 840, 841, 842, 842, 843, 845, 845, 846, 847, 8083 848, 848, 848, 848, 849, 850, 851, 853, 854, 855, 8084 856, 857, 858, 859, 860, 860, 861, 862, 863, 863, 8085 864, 864, 865, 866, 867, 868, 869, 870, 872, 873, 8086 8087 874, 876, 877, 878, 879, 879, 880, 880, 881, 882, 8088 883, 884, 885, 886, 887, 888, 889, 890, 890, 891, 8089 893, 895, 897, 898, 898, 898, 898, 898, 899, 900, 8090 901, 902, 902, 903, 904, 905, 906, 907, 908, 909, 8091 910, 910, 910, 910, 910, 910, 910, 911, 912, 913, 8092 914, 915, 916, 917, 918, 920, 921, 922, 923, 924, 8093 926, 927, 928, 929, 930, 931, 932, 934, 936, 937, 8094 938, 939, 940, 941, 942, 943, 945, 946, 947, 948, 8095 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 8096 960, 961, 962, 963, 964, 966, 967, 968, 970, 971, 8097 8098 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 8099 982, 984, 986, 988, 988, 988, 988, 989, 989, 989, 8100 989, 989, 989, 990, 990, 991, 992, 993, 995, 996, 8101 997, 998, 999, 1000, 1001, 1003, 1004, 1005, 1005, 1005, 8102 1006, 1007, 1009, 1009, 1010, 1012, 1012, 1013, 1014, 1016, 8103 1016, 1016, 1016, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 8104 1023, 1023, 1023, 1023, 1023, 1024, 1025, 1026, 1027, 1028, 8105 1030, 1031, 1031, 1032, 1033, 1035, 1036, 1037, 1038, 1039, 8106 1040, 1041, 1042, 1042, 1042, 1044, 1045, 1046, 1047, 1047, 8107 1047, 1047, 1048, 1049, 1050, 1051, 1052, 1052, 1053, 1054, 8108 8109 1055, 1055, 1056, 1056, 1056, 1056, 1056, 1057, 1058, 1059, 8110 1060, 1061, 1062, 1064, 1065, 1066, 1066, 1067, 1068, 1069, 8111 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 8112 1082, 1083, 1085, 1087, 1089, 1090, 1091, 1093, 1094, 1096, 8113 1096, 1097, 1097, 1097, 1097, 1098, 1099, 1101, 1101, 1102, 8114 1103, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1105, 1106, 8115 1107, 1108, 1109, 1111, 1112, 1113, 1115, 1116, 1117, 1118, 8116 1119, 1120, 1121, 1122, 1124, 1125, 1126, 1127, 1128, 1129, 8117 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1138, 1139, 1140, 8118 1141, 1142, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 8119 8120 1152, 1153, 1155, 1156, 1158, 1160, 1162, 1163, 1164, 1166, 8121 1167, 1169, 1169, 1169, 1169, 1169, 1170, 1170, 1171, 1172, 8122 1174, 1175, 1176, 1177, 1178, 1180, 1181, 1182, 1182, 1183, 8123 1185, 1186, 1188, 1189, 1190, 1192, 1192, 1193, 1194, 1195, 8124 1196, 1197, 1198, 1198, 1198, 1198, 1198, 1198, 1199, 1199, 8125 1200, 1202, 1203, 1204, 1205, 1206, 1208, 1209, 1210, 1211, 8126 1213, 1214, 1214, 1215, 1216, 1217, 1217, 1218, 1218, 1218, 8127 1218, 1219, 1221, 1222, 1223, 1223, 1224, 1225, 1226, 1227, 8128 1227, 1227, 1228, 1230, 1232, 1234, 1235, 1236, 1236, 1237, 8129 1239, 1239, 1240, 1241, 1243, 1243, 1244, 1245, 1246, 1248, 8130 8131 1249, 1251, 1253, 1254, 1254, 1255, 1255, 1256, 1256, 1257, 8132 1258, 1258, 1258, 1258, 1259, 1261, 1261, 1262, 1263, 1264, 8133 1264, 1264, 1264, 1265, 1265, 1265, 1267, 1268, 1269, 1270, 8134 1271, 1273, 1274, 1275, 1276, 1278, 1279, 1280, 1281, 1282, 8135 1283, 1285, 1286, 1287, 1288, 1289, 1290, 1292, 1294, 1296, 8136 1297, 1298, 1300, 1301, 1302, 1304, 1305, 1306, 1308, 1309, 8137 1311, 1313, 1314, 1315, 1316, 1316, 1317, 1317, 1318, 1318, 8138 1320, 1321, 1323, 1324, 1325, 1326, 1327, 1327, 1327, 1327, 8139 1327, 1327, 1328, 1330, 1331, 1332, 1333, 1334, 1336, 1337, 8140 1338, 1338, 1338, 1339, 1340, 1340, 1341, 1341, 1342, 1342, 8141 8142 1343, 1345, 1346, 1348, 1350, 1350, 1352, 1353, 1354, 1354, 8143 1355, 1357, 1359, 1360, 1361, 1362, 1362, 1363, 1364, 1364, 8144 1364, 1365, 1365, 1367, 1368, 1368, 1368, 1368, 1368, 1368, 8145 1369, 1371, 1372, 1373, 1374, 1375, 1377, 1378, 1379, 1380, 8146 1381, 1382, 1383, 1385, 1386, 1388, 1390, 1392, 1393, 1394, 8147 1395, 1397, 1399, 1400, 1401, 1402, 1403, 1404, 1404, 1404, 8148 1404, 1405, 1406, 1408, 1410, 1411, 1411, 1411, 1411, 1411, 8149 1411, 1411, 1411, 1412, 1413, 1414, 1416, 1418, 1419, 1420, 8150 1422, 1422, 1422, 1423, 1424, 1424, 1426, 1426, 1427, 1429, 8151 1430, 1432, 1432, 1433, 1433, 1434, 1436, 1436, 1437, 1439, 8152 8153 1439, 1440, 1441, 1442, 1442, 1443, 1443, 1445, 1445, 1445, 8154 1445, 1446, 1447, 1448, 1450, 1452, 1453, 1454, 1456, 1457, 8155 1458, 1460, 1462, 1463, 1465, 1466, 1468, 1470, 1471, 1472, 8156 1472, 1472, 1472, 1474, 1475, 1477, 1477, 1477, 1478, 1478, 8157 1478, 1478, 1479, 1480, 1481, 1483, 1485, 1485, 1485, 1486, 8158 1487, 1488, 1488, 1489, 1490, 1491, 1491, 1492, 1492, 1494, 8159 1496, 1497, 1498, 1498, 1498, 1498, 1499, 1500, 1502, 1504, 8160 1505, 1506, 1507, 1508, 1510, 1512, 1512, 1512, 1512, 1513, 8161 1513, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1517, 1517, 8162 1517, 1517, 1517, 1518, 1519, 1521, 1521, 1522, 1523, 1524, 8163 8164 1524, 1524, 1524, 1526, 1527, 1528, 1530, 1531, 1531, 1531, 8165 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1532, 8166 1532, 1532, 1532, 1532, 1533, 1534, 1534, 1535, 1536, 1536, 8167 1536, 1536, 1537, 1538, 1539, 1539, 1539, 1539, 1539, 1539, 8168 1539, 1539, 1539, 1539, 1539, 1539, 1540, 1540, 1540, 1540, 8169 1540, 1540, 1541, 1541, 1541, 1543, 1544, 1544, 1545, 1546, 8170 1546, 1546, 1546, 1548, 1550, 1551, 1552, 1552, 1552, 1552, 8171 1552, 1552, 1552, 1553, 1553, 1553, 1553, 1554, 1554, 1554, 8172 1554, 1554, 1555, 1555, 1556, 1556, 1557, 1558, 1558, 1558, 8173 1559, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 8174 8175 1560, 1560, 1560, 1562, 1562, 1564, 1565, 1565, 1565, 1567, 8176 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1570, 1570, 1571, 8177 1572, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 8178 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1575, 8179 1575, 1575, 1575, 1575, 1576, 1576, 1576, 1576, 1577, 1577, 8180 1577, 1577, 1578, 1579, 1580, 1580, 1581, 1581, 1581, 1581, 8181 1583, 1583, 1583, 1585, 1585, 1586, 1586, 1586, 1586, 1586, 8182 1586, 1586, 1587, 1587, 1587, 1587, 1587, 1589, 1589, 1589, 8183 1590, 1590, 1590, 1591, 1591, 1591, 1591 6932 8184 } ; 6933 8185 … … 6938 8190 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6939 8191 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 6940 13, 14, 15, 16, 17, 18, 19, 20, 2 1, 22,6941 2 3, 24, 25, 26, 27, 28, 29, 30, 31, 32,6942 33, 34, 1, 1, 35, 36, 37, 38, 39, 40,6943 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,6944 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,6945 61, 1, 62, 1, 63, 1, 64, 65, 66, 67,6946 6947 68, 69, 70, 71, 72, 44, 73, 74, 75, 76,6948 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,6949 87, 88, 1, 89, 1, 1, 1, 1, 1, 1,8192 13, 14, 15, 16, 17, 18, 19, 20, 20, 20, 8193 20, 20, 20, 20, 20, 20, 20, 21, 22, 23, 8194 24, 25, 1, 1, 26, 27, 28, 29, 30, 31, 8195 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 8196 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 8197 52, 1, 53, 1, 54, 1, 55, 56, 57, 58, 8198 8199 59, 60, 61, 62, 63, 35, 64, 65, 66, 67, 8200 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 8201 78, 79, 1, 80, 1, 1, 1, 1, 1, 1, 6950 8202 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6951 8203 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 6964 8216 } ; 6965 8217 6966 static yyconst flex_int32_t yy_meta[ 90] =8218 static yyconst flex_int32_t yy_meta[81] = 6967 8219 { 0, 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 8220 1, 2, 3, 2, 4, 5, 4, 4, 1, 4, 8221 6, 7, 8, 4, 9, 10, 11, 12, 13, 14, 8222 1, 4, 1, 1, 1, 15, 14, 14, 14, 14, 8223 15, 16, 17, 17, 17, 17, 16, 17, 16, 16, 8224 17, 17, 16, 16, 16, 16, 17, 17, 17, 17, 8225 17, 1, 1, 18, 15, 14, 14, 14, 14, 15, 8226 16, 17, 17, 17, 16, 17, 16, 16, 17, 17, 8227 16, 16, 16, 16, 17, 17, 17, 17, 17, 5 6977 8228 } ; 6978 8229 6979 static yyconst flex_int16_t yy_base[ 1171] =8230 static yyconst flex_int16_t yy_base[2045] = 6980 8231 { 0, 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 8232 0, 79, 0, 0, 0, 151, 3254, 84, 88, 91, 8233 224, 303, 0, 375, 3230, 65, 99, 9419, 73, 100, 8234 74, 90, 308, 117, 325, 126, 137, 133, 447, 386, 8235 382, 144, 143, 285, 390, 302, 425, 485, 533, 487, 8236 581, 628, 494, 324, 537, 582, 512, 534, 644, 640, 8237 682, 398, 700, 716, 736, 739, 449, 811, 216, 583, 8238 473, 791, 787, 842, 844, 9419, 3173, 9419, 533, 114, 8239 155, 96, 9419, 3127, 730, 883, 803, 954, 760, 1003, 8240 895, 470, 416, 990, 604, 937, 938, 1049, 1051, 1067, 8241 949, 1100, 1116, 849, 1134, 1083, 1178, 203, 738, 316, 8242 8243 1235, 71, 1132, 100, 1290, 339, 363, 106, 127, 198, 8244 0, 140, 144, 3123, 3076, 308, 460, 347, 3072, 181, 8245 629, 415, 3052, 650, 626, 762, 881, 9419, 1316, 1333, 8246 1358, 9419, 943, 1018, 307, 312, 371, 605, 647, 363, 8247 397, 934, 1377, 1183, 9419, 9419, 9419, 1327, 1374, 304, 8248 9419, 9419, 9419, 9419, 9419, 0, 834, 302, 458, 509, 8249 513, 365, 522, 550, 413, 579, 1160, 417, 1072, 645, 8250 1350, 651, 425, 686, 719, 759, 879, 770, 857, 889, 8251 903, 931, 986, 1317, 934, 1380, 1373, 956, 972, 432, 8252 1007, 975, 988, 1039, 1044, 1064, 1091, 1071, 1158, 1327, 8253 8254 1150, 445, 1414, 1128, 1301, 1293, 1409, 569, 1322, 662, 8255 664, 767, 867, 804, 0, 1353, 1149, 3052, 1388, 823, 8256 1365, 1379, 1404, 1206, 3049, 1212, 1448, 1452, 1418, 960, 8257 1423, 1427, 1412, 1423, 1456, 1431, 3008, 9419, 1502, 1470, 8258 1473, 1412, 209, 2999, 2984, 734, 1513, 1217, 2987, 2974, 8259 1517, 1509, 1527, 1507, 1506, 1545, 1540, 1553, 1564, 1571, 8260 1578, 1584, 1604, 1577, 1627, 1602, 1634, 1641, 1636, 1645, 8261 1675, 1667, 1689, 1694, 1697, 1699, 1730, 1729, 1733, 1779, 8262 1719, 1769, 1784, 1788, 1815, 1737, 1834, 1802, 1836, 1838, 8263 1839, 1841, 1872, 1875, 1880, 1899, 1902, 1907, 1929, 1893, 8264 8265 1950, 1951, 1986, 1954, 1961, 1991, 1988, 2010, 2028, 2032, 8266 1815, 1989, 2076, 2969, 1479, 318, 784, 2962, 9419, 2919, 8267 1533, 1543, 1623, 1695, 2068, 2104, 1593, 2161, 2241, 2056, 8268 2076, 1850, 2078, 2086, 2153, 1992, 2159, 2160, 2166, 1047, 8269 2266, 2236, 2269, 1740, 1460, 1456, 1477, 1504, 2897, 1609, 8270 1739, 2899, 1220, 2272, 2299, 1314, 2858, 2853, 2281, 2269, 8271 1842, 2132, 2315, 2318, 2836, 2338, 2343, 1597, 996, 1713, 8272 1073, 2346, 2816, 2798, 2786, 2779, 2026, 1631, 2691, 1635, 8273 1956, 2363, 2135, 2705, 2700, 2376, 2380, 2690, 9419, 2376, 8274 2672, 2669, 1347, 1373, 1664, 1764, 1445, 1777, 1789, 1562, 8275 8276 1848, 1896, 1897, 2155, 2163, 1948, 1998, 1634, 1633, 2353, 8277 2356, 1723, 2012, 2445, 1340, 2013, 2398, 2080, 2044, 2045, 8278 2040, 2090, 2160, 2062, 2405, 2161, 947, 587, 2166, 2169, 8279 2163, 2231, 2282, 2130, 2244, 2250, 2232, 2131, 2274, 2258, 8280 2358, 2374, 2347, 2380, 2287, 2362, 2374, 2380, 0, 2389, 8281 2379, 2385, 2385, 2391, 2393, 2390, 2430, 2459, 2382, 2386, 8282 2408, 2423, 2427, 2402, 2425, 2431, 2433, 2430, 2442, 2439, 8283 0, 2442, 2450, 2447, 2598, 2444, 2605, 2453, 2460, 2456, 8284 2462, 2461, 2466, 2507, 2477, 2508, 2484, 2489, 2498, 2497, 8285 2501, 2501, 2502, 2533, 2547, 2584, 2536, 2554, 2465, 2462, 8286 8287 2562, 2571, 2575, 2428, 2408, 2559, 2544, 2550, 2543, 2566, 8288 2560, 2534, 2583, 2585, 2581, 2587, 2589, 2588, 2598, 2599, 8289 2593, 2590, 2601, 2610, 2614, 2673, 2636, 2620, 2666, 2640, 8290 2623, 2664, 2644, 2676, 2648, 2653, 2659, 2654, 2668, 2669, 8291 2684, 2692, 2695, 2662, 2693, 2721, 2737, 2708, 2698, 2723, 8292 2717, 2753, 2734, 2725, 2745, 2750, 2757, 2385, 2756, 2726, 8293 2762, 2765, 2766, 2764, 2770, 2781, 2784, 2780, 2791, 2775, 8294 2772, 2789, 2771, 2777, 2803, 2797, 2800, 2812, 2782, 2371, 8295 2809, 2833, 2821, 2871, 2879, 2367, 2883, 2939, 2557, 367, 8296 2843, 2858, 2840, 2850, 2888, 2889, 2933, 2868, 3012, 3092, 8297 8298 2869, 2874, 2902, 2917, 2893, 2880, 2871, 2953, 2904, 3002, 8299 2979, 2574, 2824, 2913, 2573, 2915, 2934, 2995, 3053, 2978, 8300 3037, 2351, 3047, 3059, 2910, 3039, 3119, 3070, 3064, 3124, 8301 3139, 3144, 2976, 3042, 2335, 2324, 2312, 3129, 9419, 2296, 8302 9419, 9419, 9419, 9419, 3148, 9419, 3004, 2289, 9419, 2263, 8303 2911, 3002, 2266, 2212, 3165, 3176, 3197, 2192, 2189, 3210, 8304 3009, 3085, 3086, 2941, 3010, 3090, 3091, 1986, 0, 3101, 8305 3112, 3114, 3124, 3131, 3131, 3158, 3154, 3150, 3158, 2139, 8306 2126, 3169, 3206, 3281, 9419, 3169, 3161, 3188, 3172, 3190, 8307 3224, 9419, 3180, 3234, 9419, 3187, 3187, 0, 3192, 3237, 8308 8309 3209, 3241, 9419, 3242, 3204, 3211, 0, 1145, 2129, 2086, 8310 3284, 3228, 3207, 3211, 3230, 3263, 3240, 3231, 3243, 3252, 8311 3288, 3307, 9419, 3261, 3235, 3312, 3318, 3317, 9419, 0, 8312 3260, 0, 3276, 3277, 3290, 3302, 3289, 3292, 3293, 3314, 8313 3300, 3312, 3346, 0, 3366, 9419, 3370, 3306, 3314, 3309, 8314 3320, 0, 3319, 3332, 3317, 0, 3327, 3343, 0, 3380, 8315 3348, 3351, 3355, 9419, 3356, 3343, 3366, 3366, 3366, 3367, 8316 3395, 3396, 3397, 3358, 547, 3379, 962, 3377, 3380, 3433, 8317 3403, 3455, 3405, 3083, 3426, 3448, 3458, 2050, 2049, 3421, 8318 3408, 3433, 3452, 3458, 3440, 3464, 3479, 2036, 3461, 3466, 8319 8320 3470, 3475, 3468, 3472, 3485, 3476, 3481, 3482, 388, 3483, 8321 3498, 3489, 3491, 3494, 3495, 3500, 3492, 3508, 3514, 2006, 8322 3504, 3561, 3527, 3566, 3531, 1997, 3520, 3525, 3534, 3547, 8323 3563, 3569, 3553, 3574, 3579, 3594, 3581, 3575, 3612, 3619, 8324 1980, 3583, 1973, 3598, 3585, 3588, 3628, 3597, 3605, 3610, 8325 3626, 3590, 3634, 3660, 1946, 3645, 3608, 3636, 3624, 3638, 8326 1943, 3657, 3662, 3642, 1925, 3656, 3641, 1921, 3689, 3672, 8327 3673, 3677, 3706, 3718, 3623, 3735, 3713, 3723, 3726, 3701, 8328 3723, 3758, 3731, 3828, 3908, 3740, 3746, 3745, 3754, 3811, 8329 3816, 3873, 3795, 3933, 3787, 3686, 3824, 3857, 3713, 3676, 8330 8331 0, 3722, 0, 3755, 485, 3935, 3800, 3853, 9419, 3880, 8332 3937, 1899, 3803, 3950, 4009, 9419, 9419, 1898, 9419, 9419, 8333 3766, 3819, 3884, 3971, 1907, 4036, 3820, 3829, 3747, 3846, 8334 3835, 4093, 3902, 3947, 3980, 3912, 0, 3905, 3918, 3915, 8335 3928, 0, 3938, 3942, 3998, 3926, 4079, 3933, 3950, 4003, 8336 4005, 4014, 3997, 4012, 0, 0, 4011, 4008, 4021, 4027, 8337 4024, 4055, 4019, 4064, 9419, 0, 4117, 9419, 4033, 9419, 8338 4120, 4134, 4150, 4163, 4063, 4099, 0, 4088, 4102, 4095, 8339 4104, 4116, 4168, 4111, 4177, 9419, 4134, 4134, 4181, 9419, 8340 4184, 9419, 4135, 4151, 4161, 4155, 4161, 0, 4165, 4162, 8341 8342 0, 4154, 4171, 4174, 3985, 9419, 4205, 9419, 4160, 4161, 8343 4171, 4183, 4171, 4183, 4173, 4172, 4176, 4231, 9419, 0, 8344 0, 4235, 1324, 4197, 2152, 4202, 4193, 4246, 4237, 4248, 8345 1894, 4219, 2473, 4220, 2855, 4219, 4228, 4264, 9419, 4270, 8346 4258, 4257, 3994, 3998, 4121, 4285, 4260, 4262, 4266, 4267, 8347 4270, 4337, 4294, 4300, 1877, 4328, 4361, 4323, 4330, 1871, 8348 4331, 4333, 4321, 4370, 4365, 4369, 1867, 1862, 4371, 4372, 8349 4373, 4272, 4374, 4377, 4375, 1845, 4381, 4382, 4380, 1828, 8350 4379, 4389, 4383, 4384, 4401, 4443, 4385, 4408, 4413, 4415, 8351 4409, 4423, 4418, 4424, 1812, 4434, 4421, 1797, 4450, 4456, 8352 8353 4458, 4457, 4462, 4463, 4467, 4465, 4468, 4470, 4471, 4473, 8354 1796, 1790, 4308, 4311, 4485, 4239, 4545, 3074, 4473, 4495, 8355 4502, 1786, 4539, 4488, 3902, 4618, 4698, 4251, 4464, 4506, 8356 4496, 4526, 4543, 4778, 4266, 4491, 4477, 4532, 0, 9419, 8357 0, 0, 713, 1771, 1757, 4509, 4575, 4581, 1742, 4591, 8358 4642, 4562, 4858, 4597, 4648, 4664, 4670, 4671, 1721, 9419, 8359 4610, 4649, 4725, 4729, 4592, 4645, 4938, 4471, 4514, 0, 8360 4562, 4741, 9419, 4612, 0, 4615, 4624, 4690, 4709, 4695, 8361 4704, 4930, 4710, 4709, 0, 4716, 9419, 9419, 4712, 4735, 8362 4775, 4776, 4777, 4766, 4773, 4654, 4657, 9419, 4785, 4773, 8363 8364 4884, 4739, 4885, 4805, 1221, 1723, 4901, 4965, 4780, 4785, 8365 4786, 4778, 0, 4779, 4779, 4823, 9419, 4824, 4796, 4851, 8366 4812, 4841, 4891, 4791, 4849, 4853, 4867, 4907, 4903, 0, 8367 4933, 0, 0, 0, 4970, 4971, 4981, 4931, 0, 4919, 8368 9419, 4945, 4947, 4955, 4989, 1716, 1708, 4957, 4954, 3183, 8369 4968, 4994, 4998, 3416, 4050, 4692, 4755, 5007, 5031, 5057, 8370 5011, 5039, 1702, 5080, 5040, 1663, 4967, 5043, 5044, 5084, 8371 5047, 5085, 5093, 1653, 5086, 5095, 5096, 5088, 5091, 5098, 8372 5112, 5090, 5105, 5114, 5121, 5100, 1598, 5120, 5101, 5173, 8373 5124, 5179, 5126, 5129, 5182, 5139, 5146, 5144, 5150, 5163, 8374 8375 5157, 1557, 5154, 1554, 1550, 1541, 5197, 5200, 5206, 5160, 8376 1535, 4924, 5034, 4974, 1520, 1509, 5208, 5268, 5348, 5428, 8377 4953, 4970, 4985, 5166, 0, 4315, 5210, 5169, 9419, 0, 8378 1505, 1486, 4762, 5218, 1457, 5230, 5233, 5242, 5292, 5293, 8379 5314, 1411, 4088, 4403, 5248, 5296, 5300, 9419, 5301, 9419, 8380 0, 5081, 4973, 4991, 4992, 0, 5186, 5196, 5201, 0, 8381 5198, 5420, 5220, 5264, 9419, 5284, 5274, 5344, 5345, 5334, 8382 5350, 0, 5349, 5350, 5382, 9419, 5345, 5344, 5452, 5314, 8383 5470, 5340, 0, 0, 0, 5353, 5355, 5388, 9419, 0, 8384 5421, 5348, 5353, 0, 5455, 9419, 5362, 5359, 0, 5419, 8385 8386 0, 0, 5413, 5464, 5429, 5489, 9419, 5493, 9419, 5436, 8387 5436, 4568, 5445, 472, 1424, 1365, 5434, 5259, 5468, 700, 8388 5495, 5335, 9419, 5260, 5324, 1406, 5498, 5499, 5502, 5501, 8389 1397, 5504, 5506, 5507, 1386, 5508, 5509, 5511, 5512, 5513, 8390 1380, 5515, 5516, 5519, 5532, 5523, 1360, 1343, 1338, 5517, 8391 5536, 1319, 5524, 5534, 1225, 5541, 5558, 1222, 5561, 1217, 8392 1209, 5539, 5578, 5569, 5587, 1167, 5528, 1157, 838, 0, 8393 5493, 0, 5557, 5541, 5563, 5591, 5606, 5607, 5621, 5632, 8394 5642, 5570, 0, 5563, 5590, 5572, 5588, 0, 5584, 5599, 8395 5599, 5598, 5612, 5623, 5613, 5624, 5630, 9419, 5629, 5617, 8396 8397 0, 5624, 0, 0, 5690, 0, 5632, 5669, 5625, 5630, 8398 0, 0, 5629, 5673, 5649, 5654, 5630, 5637, 5641, 5653, 8399 5683, 5666, 0, 5669, 5703, 5698, 5713, 5717, 0, 5708, 8400 1136, 5713, 5717, 5720, 5722, 1097, 5723, 5727, 5729, 5724, 8401 5739, 5728, 1096, 5733, 1088, 1081, 1021, 5731, 5736, 5734, 8402 1004, 973, 5741, 5747, 5745, 5742, 5740, 5806, 5753, 5774, 8403 5710, 5739, 0, 0, 5787, 5811, 782, 5814, 5818, 5823, 8404 5837, 5847, 5851, 5756, 5785, 0, 0, 5786, 5726, 0, 8405 5796, 5805, 5802, 5808, 5808, 5870, 5800, 9419, 0, 5820, 8406 0, 5874, 9419, 5820, 5835, 0, 5877, 9419, 0, 5824, 8407 8408 5845, 5850, 9419, 5853, 5866, 5845, 0, 5881, 5884, 5889, 8409 0, 5886, 5841, 962, 947, 5887, 5894, 936, 5892, 5897, 8410 5914, 916, 5899, 902, 5900, 897, 862, 5905, 5908, 5903, 8411 2209, 5918, 0, 5874, 854, 971, 5939, 1051, 5966, 5927, 8412 5970, 850, 5906, 5975, 0, 0, 5881, 5909, 5918, 5925, 8413 5980, 5989, 9419, 9419, 5948, 5953, 5960, 5964, 0, 0, 8414 9419, 858, 790, 5992, 5994, 5995, 6000, 782, 759, 5959, 8415 5996, 5997, 6002, 748, 740, 4829, 6012, 6031, 6035, 1015, 8416 0, 6060, 6072, 6036, 6076, 6086, 721, 0, 6016, 6095, 8417 5972, 5979, 5999, 5999, 0, 6001, 6026, 9419, 6044, 6027, 8418 8419 1031, 6090, 677, 6095, 6064, 654, 6084, 6099, 6113, 6119, 8420 619, 614, 6127, 6143, 6125, 6119, 6149, 6162, 6166, 6178, 8421 6179, 6096, 6062, 6084, 6105, 6115, 6104, 6148, 6123, 6181, 8422 606, 6157, 6174, 6171, 6185, 6207, 605, 566, 6216, 6228, 8423 6244, 6194, 6212, 6240, 6256, 6252, 6195, 6268, 6284, 6264, 8424 6278, 9419, 6136, 6165, 0, 6183, 6178, 6193, 6265, 6230, 8425 6273, 541, 9419, 502, 6276, 6241, 6288, 6294, 6304, 6316, 8426 6292, 6320, 6324, 6329, 6343, 6348, 6346, 6360, 6364, 6369, 8427 6340, 9419, 6243, 6261, 6312, 6301, 1553, 338, 1642, 6337, 8428 6351, 6382, 6386, 6392, 6404, 6420, 6424, 6429, 6441, 6437, 8429 8430 1781, 6336, 0, 6359, 0, 6390, 6375, 6416, 383, 370, 8431 5340, 6483, 6454, 6466, 6462, 6507, 6488, 6457, 9419, 9419, 8432 6450, 6406, 6463, 6511, 6536, 6563, 6540, 6515, 6511, 6475, 8433 6382, 6479, 6553, 6587, 6516, 6568, 6591, 6553, 6544, 6435, 8434 1835, 6616, 6559, 6557, 6478, 6558, 6595, 6603, 6620, 6606, 8435 6630, 6634, 6642, 369, 6648, 6652, 322, 6639, 6656, 6660, 8436 312, 6668, 6676, 198, 178, 6680, 6684, 173, 6688, 6671, 8437 166, 6697, 146, 6663, 6701, 6707, 6711, 126, 6715, 6719, 8438 120, 106, 6725, 82, 6729, 9419, 6736, 6754, 6772, 6790, 8439 6808, 6825, 6829, 6847, 6865, 6883, 6899, 6917, 6935, 6953, 8440 8441 6971, 6989, 7007, 7024, 7041, 7046, 101, 7064, 7082, 7100, 8442 7118, 7136, 7154, 7172, 7190, 7208, 7226, 7244, 7262, 7280, 8443 7298, 7316, 7333, 7349, 7354, 7371, 7389, 7407, 7425, 7430, 8444 7448, 7461, 7476, 7494, 7512, 7530, 7548, 7566, 7584, 7602, 8445 7618, 7636, 7654, 7672, 7690, 7708, 7726, 7744, 7762, 7779, 8446 7795, 7812, 7830, 7848, 7866, 7884, 7889, 7907, 7925, 7943, 8447 7961, 7979, 7997, 8015, 8033, 8051, 8069, 8087, 8105, 8123, 8448 8141, 8159, 8177, 8194, 8199, 8215, 8232, 8250, 8268, 8286, 8449 8304, 8322, 8340, 8358, 8376, 8394, 8412, 8430, 8448, 8466, 8450 8484, 8502, 8520, 8538, 8556, 8574, 8592, 8610, 8628, 8645, 8451 8452 8663, 8680, 8696, 8701, 8718, 8736, 8754, 8772, 8790, 8808, 8453 8826, 8844, 8861, 8878, 8896, 8914, 8932, 8950, 8968, 8986, 8454 9004, 9021, 9038, 9054, 9071, 9076, 9094, 9112, 9130, 9148, 8455 9166, 9184, 9202, 9220, 9238, 9256, 9274, 9292, 9310, 9328, 8456 9346, 9364, 9382, 9400 7109 8457 } ; 7110 8458 7111 static yyconst flex_int16_t yy_def[ 1171] =8459 static yyconst flex_int16_t yy_def[2045] = 7112 8460 { 0, 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 8461 1886, 1, 1887, 1887, 1, 1, 1888, 1888, 1887, 1887, 8462 1886, 11, 1, 1, 1886, 1886, 1886, 1886, 1889, 1890, 8463 1886, 1886, 1886, 1891, 1892, 1886, 1886, 1886, 1886, 1886, 8464 1886, 1886, 1886, 1886, 1886, 1886, 1893, 1893, 1893, 1893, 8465 1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, 8466 49, 1893, 1893, 1893, 1893, 1893, 1893, 1886, 1886, 1894, 8467 39, 1893, 1893, 1893, 1893, 1886, 1895, 1886, 1895, 1895, 8468 1895, 1886, 1886, 1896, 1886, 1897, 1897, 1897, 1897, 79, 8469 79, 79, 1897, 1897, 79, 79, 79, 79, 1897, 88, 8470 79, 79, 1897, 89, 1897, 1897, 1886, 58, 1898, 31, 8471 8472 1886, 79, 79, 84, 78, 58, 31, 1886, 1886, 1886, 8473 1899, 1899, 1899, 1900, 1886, 1900, 1900, 1886, 1901, 1902, 8474 1903, 1902, 1886, 1902, 1902, 1904, 1904, 1886, 1904, 1904, 8475 1904, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8476 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1905, 1886, 1886, 8477 1886, 1886, 1886, 1886, 1886, 1906, 1906, 1906, 1906, 1906, 8478 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 8479 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 8480 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 8481 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 8482 8483 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 8484 1906, 1906, 1906, 1906, 1907, 58, 1886, 1908, 1886, 1886, 8485 1886, 1886, 1886, 1886, 1909, 1886, 1909, 1909, 1909, 1886, 8486 1906, 1906, 1906, 1906, 1906, 1906, 1910, 1886, 1910, 1910, 8487 1910, 1910, 1886, 1911, 1886, 1886, 1886, 1886, 1912, 1913, 8488 1886, 84, 84, 253, 253, 253, 253, 253, 253, 253, 8489 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 8490 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 8491 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 8492 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 8493 8494 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 8495 1886, 1886, 1886, 1914, 216, 315, 1886, 1915, 1886, 1915, 8496 1915, 1915, 1886, 1886, 1886, 1886, 1915, 1916, 1916, 329, 8497 329, 329, 329, 329, 329, 253, 253, 253, 253, 216, 8498 1886, 1886, 1886, 1886, 1886, 1886, 1917, 1917, 1918, 1918, 8499 1918, 1919, 1920, 1920, 1920, 1920, 1886, 1921, 1922, 1922, 8500 1886, 1923, 1886, 1924, 1925, 1924, 1924, 1886, 1886, 1886, 8501 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8502 1886, 1886, 1886, 1926, 1927, 1886, 1886, 1928, 1886, 1929, 8503 1886, 1886, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 8504 8505 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1886, 8506 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 8507 1930, 1930, 1930, 1930, 1886, 1930, 1886, 1931, 1930, 1930, 8508 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 8509 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 8510 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 8511 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 8512 1930, 1930, 1930, 1930, 1932, 1886, 1933, 1886, 1886, 1886, 8513 1886, 1886, 1886, 1934, 1934, 1934, 1886, 1930, 1930, 1930, 8514 1930, 1930, 1930, 1935, 1935, 1936, 1886, 1886, 1937, 1938, 8515 8516 1886, 1886, 1886, 1939, 1940, 1941, 1941, 1941, 1941, 1941, 8517 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8518 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8519 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8520 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8521 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8522 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8523 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8524 1941, 1941, 1941, 1886, 1886, 1942, 1886, 1886, 1886, 588, 8525 1886, 1886, 1943, 1943, 1886, 1886, 1886, 1943, 1944, 1944, 8526 8527 600, 600, 600, 600, 600, 600, 600, 1941, 1941, 1941, 8528 1941, 1886, 1886, 1886, 1886, 1945, 1945, 1946, 1946, 1947, 8529 1948, 1949, 1948, 1948, 1950, 1950, 1950, 1886, 1886, 1951, 8530 1952, 1952, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8531 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8532 1886, 1886, 1953, 1954, 1886, 1886, 1886, 1955, 1956, 1886, 8533 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8534 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1886, 8535 1957, 1957, 1957, 1886, 1886, 1957, 1957, 1957, 1957, 1957, 8536 1886, 1886, 1957, 1886, 1886, 1957, 1957, 1957, 1957, 1957, 8537 8538 1957, 1886, 1886, 1957, 1957, 1886, 1957, 1958, 1959, 1960, 8539 1958, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8540 1957, 1886, 1886, 1957, 1957, 1957, 1957, 1886, 1886, 1957, 8541 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8542 1957, 1957, 1957, 1957, 1886, 1886, 1957, 1957, 1957, 1957, 8543 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8544 1957, 1957, 1957, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8545 1961, 1961, 1961, 1886, 1957, 1957, 1957, 1957, 1957, 1957, 8546 1962, 1962, 1962, 1886, 1886, 1886, 1886, 1963, 1964, 1941, 8547 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8548 8549 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8550 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8551 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8552 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8553 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8554 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8555 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8556 1941, 1941, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1965, 8557 1965, 1886, 1965, 1966, 1966, 885, 885, 885, 885, 885, 8558 885, 885, 885, 885, 1941, 1941, 1941, 1941, 1886, 1886, 8559 8560 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1886, 1886, 1886, 8561 1974, 1975, 1976, 1977, 1978, 1886, 1886, 1886, 1886, 1886, 8562 1886, 1886, 1886, 1886, 1979, 1886, 1957, 1957, 1957, 1957, 8563 1957, 1980, 1957, 1886, 1886, 1957, 1957, 1957, 1957, 1957, 8564 1957, 1957, 1957, 1957, 1957, 1957, 1886, 1957, 1957, 1886, 8565 1886, 1886, 1886, 1886, 1957, 1957, 1957, 1957, 1957, 1957, 8566 1957, 1957, 1957, 1886, 1886, 1957, 1886, 1886, 1957, 1886, 8567 1981, 1982, 1983, 1984, 1957, 1957, 1957, 1957, 1957, 1957, 8568 1957, 1957, 1957, 1957, 1886, 1886, 1957, 1957, 1886, 1886, 8569 1886, 1886, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8570 8571 1957, 1957, 1957, 1957, 1886, 1886, 1886, 1886, 1957, 1957, 8572 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1886, 1886, 1957, 8573 1957, 1957, 1886, 1886, 1886, 1886, 1886, 1886, 1985, 1985, 8574 1986, 1886, 1886, 1957, 1886, 1957, 1957, 1886, 1886, 1886, 8575 1987, 1987, 1886, 1886, 1886, 1886, 1941, 1941, 1941, 1941, 8576 1941, 1988, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8577 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8578 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8579 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8580 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8581 8582 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8583 1941, 1941, 1941, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8584 1989, 1990, 1886, 1989, 1989, 1991, 1991, 1127, 1127, 1127, 8585 1127, 1127, 1127, 1992, 1127, 1941, 1941, 1886, 1993, 1886, 8586 1994, 1995, 1996, 1997, 1886, 1998, 1999, 1999, 1886, 1886, 8587 1886, 2000, 2001, 1886, 2002, 1886, 2003, 2003, 2004, 1886, 8588 1886, 1886, 1886, 1886, 1957, 1957, 2005, 1957, 1957, 1957, 8589 1957, 1886, 1886, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8590 1957, 1957, 1886, 1886, 1957, 1957, 1886, 1886, 1886, 1886, 8591 1886, 1957, 1957, 1957, 1957, 1957, 1886, 1886, 1957, 1957, 8592 8593 2006, 2006, 2007, 2008, 2009, 2008, 2009, 2009, 1957, 1957, 8594 1957, 1957, 1957, 1957, 1957, 1886, 1886, 1957, 1957, 1957, 8595 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8596 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1886, 8597 1886, 1886, 1886, 1886, 2010, 2011, 2010, 1886, 1957, 1957, 8598 1957, 2012, 2012, 1886, 2013, 1886, 1886, 1941, 1941, 2014, 8599 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8600 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8601 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8602 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8603 8604 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8605 1941, 1886, 2013, 1886, 2015, 2016, 2016, 2017, 2018, 2018, 8606 1320, 1320, 1320, 1320, 1320, 1941, 1941, 1886, 1886, 2019, 8607 2020, 1886, 2021, 2021, 1886, 2022, 1886, 2002, 1886, 2003, 8608 2003, 2004, 1886, 2023, 1886, 1886, 1886, 1886, 1886, 1886, 8609 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8610 1957, 1886, 1957, 1957, 1886, 1886, 1957, 1886, 1886, 1886, 8611 1957, 1957, 1957, 1957, 1886, 1886, 1957, 1957, 2008, 2008, 8612 2009, 1957, 1957, 1957, 1957, 1957, 1957, 1886, 1886, 1957, 8613 1886, 1957, 1957, 1957, 1886, 1886, 1957, 1957, 1957, 1957, 8614 8615 1957, 1957, 1957, 1886, 1957, 1886, 1886, 1886, 1886, 1957, 8616 1886, 1886, 1886, 2010, 2010, 1886, 1957, 1886, 1957, 2012, 8617 2012, 1886, 1886, 1886, 2024, 1941, 1941, 1941, 1941, 1941, 8618 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8619 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8620 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8621 1941, 1941, 1941, 1941, 1886, 2025, 1886, 2016, 2016, 1320, 8622 1320, 1320, 1320, 1320, 1320, 1941, 1886, 1886, 1886, 1886, 8623 2023, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8624 1886, 1886, 1957, 1957, 1886, 1957, 1886, 1886, 1886, 1957, 8625 8626 1957, 1957, 1957, 1957, 2008, 1957, 1957, 1957, 1886, 1957, 8627 1957, 1957, 1957, 1957, 1957, 1886, 1957, 1957, 1886, 1886, 8628 2010, 1886, 1957, 1957, 2012, 2012, 1886, 1886, 2026, 1941, 8629 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8630 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8631 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1886, 1886, 2016, 8632 1320, 1320, 1320, 1320, 1941, 1886, 2027, 1886, 1886, 1886, 8633 2028, 1886, 1886, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8634 1886, 1886, 1957, 1957, 1886, 1957, 1886, 1886, 1957, 1957, 8635 1957, 1886, 1886, 1886, 1957, 1957, 1886, 1886, 1957, 1886, 8636 8637 1957, 1957, 1886, 1886, 2010, 1886, 1957, 2012, 2012, 1886, 8638 2026, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8639 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1886, 8640 2029, 2016, 1320, 1320, 1941, 2027, 2027, 2027, 1886, 2028, 8641 2028, 2028, 1957, 1957, 1957, 1957, 1886, 1886, 1957, 1957, 8642 1886, 1886, 1886, 1886, 1957, 1886, 1957, 1886, 1957, 1957, 8643 1886, 2010, 1886, 2012, 2012, 1941, 1941, 1941, 1941, 1941, 8644 1941, 1941, 1941, 1941, 1941, 2029, 1886, 2029, 2029, 2016, 8645 1320, 2027, 2027, 2030, 2028, 1886, 2028, 1957, 1886, 1886, 8646 1886, 1886, 1957, 1957, 1957, 1886, 1957, 1886, 2010, 1886, 8647 8648 2012, 2012, 1941, 1941, 1941, 1941, 1941, 1886, 1886, 1886, 8649 2031, 2032, 2029, 2029, 2033, 2016, 2030, 2030, 2030, 1886, 8650 1886, 1886, 1886, 1957, 1957, 1886, 1957, 2010, 1886, 2012, 8651 2034, 1941, 1941, 1941, 1886, 1886, 2031, 2032, 2029, 2029, 8652 2029, 2035, 2036, 2033, 2033, 2033, 2016, 2030, 2027, 2030, 8653 1886, 1886, 1886, 1886, 1957, 1957, 1886, 1957, 2010, 1886, 8654 2012, 2034, 1886, 1941, 1941, 1941, 1886, 1886, 2029, 2029, 8655 2035, 2035, 2035, 2036, 1886, 2036, 2036, 2033, 2029, 2033, 8656 2016, 1886, 1886, 1957, 1886, 1957, 2010, 1886, 2012, 1941, 8657 1941, 1886, 1886, 2029, 2029, 2035, 2029, 2035, 2036, 2037, 8658 8659 2016, 1886, 1957, 1886, 1957, 2010, 1886, 2012, 1941, 1941, 8660 1886, 2029, 2029, 2029, 2037, 2037, 2037, 2016, 1886, 1886, 8661 2010, 1886, 2012, 1886, 2029, 2038, 2037, 2037, 2016, 2010, 8662 1886, 2012, 1886, 2029, 2033, 2029, 2029, 2016, 2010, 1886, 8663 2012, 2029, 2016, 2010, 1886, 2012, 2016, 2010, 1886, 2012, 8664 2016, 2010, 1886, 2039, 1886, 1886, 2040, 2012, 2016, 1886, 8665 2041, 1886, 1886, 2042, 2039, 1886, 1886, 2040, 1886, 2012, 8666 2041, 1886, 2042, 2012, 2012, 2012, 1886, 2043, 1886, 1886, 8667 2044, 2043, 1886, 2044, 1886, 0, 1886, 1886, 1886, 1886, 8668 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8669 8670 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8671 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8672 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8673 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8674 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8675 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8676 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8677 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8678 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8679 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8680 8681 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8682 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8683 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8684 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 8685 1886, 1886, 1886, 1886 7241 8686 } ; 7242 8687 7243 static yyconst flex_int16_t yy_nxt[ 4102] =8688 static yyconst flex_int16_t yy_nxt[9500] = 7244 8689 { 0, 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, 7248 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 7249 41, 42, 43, 42, 42, 44, 45, 46, 47, 48, 7250 42, 49, 50, 51, 52, 42, 53, 42, 42, 54, 7251 24, 24, 42, 35, 36, 37, 38, 39, 40, 41, 7252 42, 43, 42, 44, 45, 46, 47, 48, 42, 49, 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, 8690 16, 17, 18, 17, 19, 20, 16, 21, 22, 23, 8691 24, 25, 26, 27, 26, 28, 26, 29, 30, 31, 8692 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 8693 42, 43, 44, 45, 44, 46, 47, 48, 49, 50, 8694 51, 44, 52, 53, 54, 55, 44, 56, 44, 44, 8695 57, 26, 26, 26, 37, 38, 39, 40, 41, 42, 8696 43, 44, 45, 46, 47, 48, 49, 50, 51, 44, 8697 52, 53, 54, 55, 44, 56, 44, 44, 57, 16, 8698 58, 59, 58, 60, 1885, 69, 68, 69, 70, 72, 8699 73, 72, 72, 73, 72, 108, 336, 243, 74, 243, 8700 8701 110, 74, 110, 112, 108, 115, 61, 62, 1883, 109, 8702 63, 70, 64, 71, 475, 475, 238, 113, 109, 121, 8703 108, 241, 1885, 65, 108, 336, 122, 123, 1883, 108, 8704 116, 345, 112, 108, 109, 61, 62, 109, 338, 63, 8705 70, 64, 71, 109, 117, 113, 109, 124, 1866, 108, 8706 132, 65, 58, 59, 58, 60, 108, 238, 108, 116, 8707 345, 125, 109, 108, 151, 347, 338, 108, 1872, 346, 8708 109, 109, 117, 108, 108, 1869, 124, 109, 61, 62, 8709 1866, 109, 63, 121, 64, 108, 348, 109, 109, 125, 8710 122, 123, 108, 242, 347, 65, 108, 346, 109, 110, 8711 8712 1866, 110, 108, 108, 315, 109, 316, 61, 62, 109, 8713 243, 63, 243, 64, 348, 109, 109, 224, 217, 224, 8714 218, 242, 317, 65, 16, 17, 75, 17, 19, 20, 8715 16, 21, 22, 23, 24, 25, 26, 27, 26, 28, 8716 26, 29, 30, 31, 32, 33, 34, 35, 36, 76, 8717 77, 78, 79, 80, 81, 82, 83, 84, 83, 85, 8718 86, 87, 88, 89, 90, 83, 91, 92, 93, 94, 8719 83, 95, 83, 83, 96, 26, 26, 26, 76, 77, 8720 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 8721 88, 89, 90, 83, 91, 92, 93, 94, 83, 95, 8722 8723 83, 83, 96, 16, 58, 97, 98, 60, 152, 118, 8724 118, 118, 119, 115, 1872, 108, 99, 323, 391, 324, 8725 391, 590, 100, 392, 1869, 155, 126, 395, 126, 109, 8726 101, 102, 108, 350, 103, 325, 104, 591, 108, 127, 8727 340, 127, 340, 128, 108, 371, 109, 105, 118, 118, 8728 118, 119, 109, 372, 158, 130, 395, 109, 341, 101, 8729 102, 108, 350, 103, 342, 104, 342, 108, 161, 131, 8730 876, 1866, 251, 371, 109, 105, 106, 59, 106, 60, 8731 109, 372, 343, 158, 130, 251, 877, 142, 143, 142, 8732 251, 1807, 399, 344, 107, 144, 161, 131, 145, 148, 8733 8734 373, 149, 61, 62, 146, 379, 63, 809, 64, 147, 8735 150, 150, 108, 153, 154, 374, 108, 121, 251, 65, 8736 108, 399, 344, 150, 122, 123, 109, 203, 158, 373, 8737 109, 61, 62, 379, 109, 63, 380, 64, 402, 150, 8738 150, 108, 161, 374, 406, 108, 254, 65, 133, 108, 8739 133, 150, 157, 414, 109, 158, 203, 158, 109, 215, 8740 257, 159, 109, 439, 380, 115, 134, 402, 160, 161, 8741 161, 456, 135, 406, 226, 254, 136, 108, 137, 158, 8742 230, 157, 414, 138, 158, 139, 140, 114, 257, 159, 8743 1145, 109, 439, 161, 396, 141, 160, 161, 231, 252, 8744 8745 456, 135, 351, 252, 251, 136, 108, 137, 158, 279, 8746 162, 138, 232, 139, 140, 158, 169, 158, 163, 109, 8747 170, 161, 396, 141, 158, 1521, 171, 231, 252, 161, 8748 351, 161, 252, 183, 239, 238, 239, 279, 161, 162, 8749 232, 189, 158, 1763, 158, 169, 158, 163, 1033, 170, 8750 1033, 190, 397, 158, 171, 398, 161, 161, 164, 161, 8751 400, 183, 240, 158, 158, 165, 161, 184, 1709, 166, 8752 189, 158, 167, 191, 185, 186, 187, 161, 161, 190, 8753 397, 161, 168, 398, 161, 226, 401, 164, 400, 709, 8754 227, 240, 158, 158, 165, 467, 184, 166, 710, 711, 8755 8756 167, 191, 185, 186, 187, 161, 161, 1709, 1763, 161, 8757 168, 158, 158, 228, 401, 188, 1709, 172, 403, 173, 8758 174, 1709, 175, 176, 467, 161, 161, 229, 121, 177, 8759 354, 355, 354, 252, 375, 122, 123, 284, 356, 357, 8760 158, 158, 228, 252, 188, 172, 403, 173, 174, 376, 8761 175, 176, 121, 161, 161, 229, 251, 177, 158, 122, 8762 123, 178, 252, 375, 179, 180, 284, 181, 360, 192, 8763 158, 252, 161, 182, 158, 359, 377, 376, 196, 251, 8764 197, 193, 409, 194, 161, 198, 378, 158, 161, 195, 8765 178, 469, 179, 180, 413, 181, 360, 470, 192, 158, 8766 8767 161, 182, 238, 158, 359, 377, 196, 199, 197, 193, 8768 409, 194, 161, 198, 378, 114, 161, 195, 1332, 156, 8769 469, 200, 413, 660, 201, 204, 470, 202, 415, 205, 8770 158, 246, 247, 248, 249, 497, 199, 497, 249, 206, 8771 319, 209, 251, 250, 207, 208, 158, 156, 210, 200, 8772 251, 320, 201, 1525, 204, 202, 415, 250, 205, 158, 8773 161, 251, 251, 126, 416, 126, 158, 206, 321, 158, 8774 209, 213, 207, 208, 211, 158, 127, 210, 127, 212, 8775 161, 214, 322, 161, 251, 323, 250, 592, 161, 265, 8776 254, 1637, 416, 266, 1638, 158, 471, 321, 158, 267, 8777 8778 213, 417, 211, 591, 257, 251, 420, 212, 161, 214, 8779 322, 161, 216, 217, 216, 218, 233, 158, 265, 254, 8780 169, 158, 266, 234, 170, 471, 183, 267, 258, 417, 8781 171, 161, 257, 254, 420, 161, 259, 474, 219, 220, 8782 319, 108, 221, 1700, 222, 233, 158, 257, 480, 169, 8783 158, 234, 660, 170, 183, 223, 251, 258, 171, 161, 8784 226, 393, 254, 161, 251, 259, 474, 219, 220, 209, 8785 108, 221, 184, 222, 158, 257, 210, 480, 394, 185, 8786 235, 187, 1886, 223, 1886, 251, 161, 307, 161, 252, 8787 393, 1560, 308, 236, 252, 1886, 472, 1886, 209, 251, 8788 8789 473, 184, 421, 158, 251, 210, 394, 185, 235, 187, 8790 253, 1699, 418, 254, 161, 307, 161, 252, 251, 255, 8791 308, 236, 252, 419, 252, 472, 256, 257, 274, 473, 8792 421, 275, 276, 422, 277, 142, 143, 142, 251, 253, 8793 278, 418, 254, 144, 133, 423, 133, 255, 427, 251, 8794 427, 419, 146, 252, 256, 257, 251, 274, 428, 275, 8795 276, 422, 277, 1035, 251, 1035, 285, 252, 278, 424, 8796 252, 252, 368, 423, 429, 251, 286, 287, 299, 260, 8797 1637, 369, 252, 1638, 254, 487, 261, 425, 252, 425, 8798 262, 141, 251, 263, 437, 285, 252, 424, 257, 252, 8799 8800 252, 368, 429, 264, 286, 287, 251, 299, 260, 369, 8801 438, 252, 442, 254, 487, 261, 252, 319, 262, 141, 8802 280, 263, 437, 251, 443, 634, 257, 281, 282, 283, 8803 426, 264, 252, 238, 257, 440, 252, 134, 438, 268, 8804 442, 269, 270, 441, 271, 272, 370, 370, 340, 280, 8805 340, 273, 443, 251, 634, 281, 282, 283, 426, 370, 8806 1637, 252, 257, 1638, 440, 252, 341, 268, 1716, 269, 8807 270, 441, 271, 272, 288, 370, 370, 444, 252, 273, 8808 445, 254, 252, 251, 1730, 251, 289, 370, 290, 292, 8809 251, 293, 295, 215, 291, 257, 294, 407, 251, 251, 8810 8811 446, 637, 408, 288, 252, 444, 296, 252, 445, 297, 8812 254, 252, 298, 254, 289, 449, 290, 292, 251, 293, 8813 447, 295, 291, 257, 294, 300, 407, 257, 446, 301, 8814 637, 408, 252, 252, 296, 448, 251, 297, 251, 302, 8815 298, 305, 254, 449, 303, 304, 254, 709, 306, 447, 8816 224, 217, 224, 218, 300, 257, 710, 711, 301, 319, 8817 257, 252, 252, 448, 254, 252, 309, 302, 337, 226, 8818 305, 279, 303, 304, 462, 254, 310, 306, 257, 311, 8819 312, 313, 314, 454, 386, 387, 386, 388, 257, 455, 8820 252, 250, 144, 254, 252, 309, 337, 404, 405, 279, 8821 8822 450, 146, 462, 451, 310, 250, 257, 224, 217, 224, 8823 218, 251, 454, 224, 217, 224, 218, 455, 497, 251, 8824 498, 249, 355, 709, 251, 404, 405, 251, 450, 620, 8825 357, 451, 1206, 1207, 250, 318, 318, 326, 318, 318, 8826 318, 318, 327, 318, 318, 318, 318, 318, 318, 318, 8827 318, 318, 318, 318, 328, 318, 318, 318, 318, 318, 8828 329, 328, 328, 328, 328, 330, 328, 331, 328, 328, 8829 328, 332, 328, 328, 333, 328, 328, 328, 328, 334, 8830 328, 328, 328, 328, 335, 328, 318, 318, 328, 329, 8831 328, 328, 328, 328, 330, 328, 331, 328, 328, 332, 8832 8833 328, 328, 333, 328, 328, 328, 328, 334, 328, 328, 8834 328, 328, 335, 328, 318, 305, 355, 361, 427, 361, 8835 427, 251, 306, 620, 357, 1033, 252, 1033, 428, 252, 8836 1886, 362, 1886, 363, 361, 364, 361, 463, 464, 339, 8837 251, 691, 395, 691, 305, 251, 390, 1886, 362, 1886, 8838 363, 306, 364, 410, 252, 150, 150, 252, 366, 361, 8839 452, 361, 251, 692, 468, 463, 464, 339, 150, 365, 8840 453, 395, 1886, 362, 1886, 363, 661, 364, 381, 382, 8841 383, 384, 251, 1886, 150, 150, 365, 366, 251, 452, 8842 385, 148, 468, 149, 411, 412, 150, 476, 453, 251, 8843 8844 367, 481, 150, 150, 385, 661, 662, 430, 251, 434, 8845 435, 365, 1886, 478, 238, 150, 436, 482, 1522, 431, 8846 226, 432, 411, 412, 433, 476, 226, 479, 367, 481, 8847 629, 150, 150, 385, 465, 662, 430, 434, 435, 457, 8848 495, 458, 478, 150, 436, 482, 346, 431, 466, 432, 8849 226, 398, 433, 483, 226, 479, 490, 459, 460, 401, 8850 486, 461, 491, 465, 404, 489, 488, 358, 457, 495, 8851 458, 493, 238, 484, 346, 238, 466, 485, 665, 398, 8852 588, 483, 588, 430, 490, 459, 460, 401, 486, 461, 8853 491, 349, 404, 489, 488, 431, 614, 432, 494, 493, 8854 8855 492, 615, 484, 239, 238, 239, 485, 665, 242, 589, 8856 115, 319, 430, 616, 246, 247, 248, 249, 501, 502, 8857 503, 504, 319, 431, 614, 432, 250, 494, 492, 615, 8858 505, 240, 508, 252, 252, 319, 242, 251, 589, 252, 8859 250, 616, 509, 251, 505, 319, 252, 252, 252, 617, 8860 252, 252, 251, 252, 506, 226, 251, 252, 593, 251, 8861 240, 508, 252, 252, 252, 252, 252, 252, 252, 250, 8862 509, 507, 252, 505, 252, 252, 252, 617, 252, 252, 8863 512, 252, 511, 506, 252, 594, 252, 593, 510, 252, 8864 668, 252, 252, 252, 252, 319, 252, 252, 252, 507, 8865 8866 251, 252, 513, 515, 519, 252, 1806, 514, 252, 512, 8867 511, 252, 252, 594, 115, 252, 510, 252, 598, 668, 8868 252, 252, 252, 516, 595, 252, 595, 252, 252, 252, 8869 513, 252, 515, 519, 252, 514, 252, 410, 633, 522, 8870 252, 517, 518, 252, 238, 618, 252, 598, 252, 252, 8871 252, 516, 520, 589, 252, 251, 252, 521, 252, 678, 8872 252, 252, 679, 252, 526, 251, 633, 522, 252, 517, 8873 518, 252, 252, 618, 252, 648, 252, 650, 523, 524, 8874 252, 520, 589, 252, 525, 252, 521, 527, 678, 252, 8875 252, 679, 252, 526, 252, 1808, 595, 252, 596, 252, 8876 8877 663, 252, 252, 648, 251, 650, 523, 524, 252, 529, 8878 226, 252, 525, 252, 591, 527, 252, 252, 226, 252, 8879 528, 252, 530, 252, 252, 589, 252, 635, 663, 635, 8880 532, 252, 636, 531, 425, 1379, 425, 529, 252, 252, 8881 629, 252, 533, 534, 115, 252, 252, 252, 528, 682, 8882 252, 530, 358, 252, 589, 252, 252, 252, 532, 538, 8883 252, 531, 349, 252, 252, 345, 252, 536, 548, 252, 8884 533, 534, 535, 252, 252, 252, 115, 537, 682, 613, 8885 427, 252, 427, 319, 619, 252, 252, 538, 319, 252, 8886 428, 252, 251, 252, 345, 536, 539, 548, 251, 251, 8887 8888 535, 252, 252, 664, 508, 537, 252, 613, 540, 252, 8889 541, 252, 619, 542, 251, 252, 584, 217, 584, 314, 8890 543, 544, 666, 252, 667, 539, 546, 545, 252, 252, 8891 251, 664, 252, 508, 1818, 252, 540, 238, 541, 551, 8892 252, 542, 252, 361, 252, 361, 252, 251, 543, 544, 8893 666, 252, 667, 547, 546, 545, 252, 362, 252, 252, 8894 252, 252, 549, 252, 251, 252, 252, 551, 252, 251, 8895 550, 252, 552, 251, 252, 554, 553, 555, 252, 251, 8896 252, 547, 252, 252, 669, 252, 328, 252, 1846, 603, 8897 252, 549, 252, 328, 252, 252, 226, 252, 550, 252, 8898 8899 552, 556, 252, 554, 553, 555, 252, 252, 252, 926, 8900 252, 252, 669, 252, 328, 1160, 557, 603, 1151, 558, 8901 252, 328, 559, 251, 252, 560, 252, 251, 252, 252, 8902 556, 252, 561, 565, 252, 563, 252, 252, 670, 571, 8903 671, 564, 562, 252, 557, 251, 252, 558, 251, 252, 8904 559, 252, 252, 560, 566, 252, 567, 651, 252, 651, 8905 384, 561, 565, 252, 563, 252, 670, 571, 671, 564, 8906 562, 252, 568, 569, 252, 251, 570, 252, 252, 252, 8907 576, 252, 251, 566, 676, 567, 572, 934, 252, 934, 8908 311, 312, 313, 314, 252, 252, 573, 935, 252, 251, 8909 8910 568, 569, 250, 577, 570, 252, 252, 252, 251, 576, 8911 252, 574, 676, 252, 572, 252, 250, 252, 252, 252, 8912 578, 579, 252, 252, 573, 575, 252, 645, 511, 645, 8913 252, 577, 252, 252, 677, 252, 608, 252, 251, 580, 8914 574, 683, 252, 646, 252, 250, 693, 252, 252, 578, 8915 579, 502, 502, 575, 252, 252, 511, 581, 252, 252, 8916 252, 582, 677, 252, 608, 583, 252, 647, 580, 323, 8917 683, 592, 252, 699, 700, 693, 252, 584, 217, 585, 8918 314, 601, 252, 701, 252, 148, 581, 597, 252, 705, 8919 582, 702, 328, 702, 583, 647, 150, 150, 972, 328, 8920 8921 252, 602, 699, 700, 252, 501, 502, 503, 504, 150, 8922 601, 701, 328, 703, 328, 604, 605, 505, 705, 328, 8923 328, 328, 328, 697, 698, 150, 150, 328, 606, 328, 8924 602, 505, 722, 625, 722, 625, 651, 150, 652, 384, 8925 328, 971, 328, 604, 605, 681, 626, 328, 626, 328, 8926 328, 697, 698, 1035, 723, 1035, 606, 328, 680, 718, 8927 505, 318, 318, 326, 318, 318, 318, 318, 318, 318, 8928 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8929 607, 318, 318, 318, 318, 318, 252, 539, 718, 328, 8930 674, 660, 672, 252, 926, 673, 328, 704, 609, 540, 8931 8932 707, 541, 712, 252, 610, 713, 611, 675, 714, 607, 8933 252, 1677, 318, 318, 382, 252, 539, 328, 1678, 674, 8934 672, 1679, 252, 673, 328, 704, 609, 540, 707, 541, 8935 712, 252, 610, 713, 611, 675, 714, 342, 252, 342, 8936 318, 318, 318, 326, 318, 318, 318, 318, 318, 318, 8937 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8938 721, 318, 318, 318, 318, 318, 612, 342, 382, 342, 8939 342, 121, 342, 354, 355, 354, 715, 599, 122, 123, 8940 920, 356, 357, 121, 600, 341, 148, 719, 343, 721, 8941 122, 123, 318, 318, 720, 612, 612, 150, 150, 612, 8942 8943 354, 355, 354, 725, 715, 599, 919, 724, 356, 357, 8944 150, 716, 600, 917, 624, 719, 361, 623, 361, 361, 8945 318, 361, 720, 731, 717, 612, 150, 150, 612, 916, 8946 362, 725, 363, 362, 628, 363, 724, 364, 150, 361, 8947 716, 361, 624, 636, 361, 623, 361, 638, 728, 638, 8948 728, 731, 717, 362, 636, 363, 410, 364, 362, 410, 8949 363, 123, 364, 639, 381, 382, 383, 384, 365, 587, 8950 729, 365, 680, 251, 631, 681, 385, 386, 387, 386, 8951 388, 655, 656, 657, 658, 144, 726, 251, 632, 144, 8952 385, 365, 640, 385, 146, 390, 365, 410, 146, 694, 8953 8954 411, 694, 631, 727, 370, 370, 425, 385, 425, 730, 8955 502, 732, 733, 734, 735, 726, 632, 370, 738, 385, 8956 640, 695, 736, 737, 741, 410, 742, 749, 411, 739, 8957 502, 750, 727, 370, 370, 696, 385, 740, 730, 732, 8958 733, 751, 734, 735, 754, 370, 684, 738, 684, 706, 8959 736, 737, 752, 741, 742, 749, 753, 739, 743, 750, 8960 745, 758, 745, 696, 247, 740, 744, 247, 685, 755, 8961 751, 756, 754, 686, 1033, 757, 1033, 706, 687, 226, 8962 759, 752, 746, 760, 761, 753, 762, 743, 688, 689, 8963 758, 763, 690, 483, 744, 747, 765, 755, 766, 756, 8964 8965 767, 768, 686, 757, 748, 769, 770, 687, 759, 226, 8966 226, 760, 761, 772, 762, 774, 688, 689, 775, 763, 8967 690, 483, 777, 747, 765, 674, 766, 778, 767, 768, 8968 779, 780, 748, 769, 770, 238, 251, 784, 771, 784, 8969 249, 772, 776, 717, 774, 251, 251, 775, 782, 238, 8970 782, 777, 251, 773, 674, 784, 778, 785, 249, 779, 8971 780, 251, 251, 786, 781, 786, 504, 771, 251, 796, 8972 776, 717, 501, 502, 503, 504, 786, 791, 787, 504, 8973 783, 773, 793, 251, 505, 251, 792, 251, 790, 251, 8974 251, 251, 251, 781, 245, 251, 875, 796, 505, 794, 8975 8976 251, 251, 901, 251, 410, 795, 791, 226, 764, 783, 8977 793, 797, 251, 613, 792, 803, 251, 790, 807, 808, 8978 809, 798, 251, 799, 875, 251, 801, 505, 794, 802, 8979 800, 901, 804, 795, 805, 806, 810, 691, 251, 691, 8980 797, 613, 251, 811, 803, 523, 251, 807, 808, 798, 8981 251, 799, 821, 817, 801, 251, 251, 802, 800, 692, 8982 804, 251, 805, 806, 251, 810, 251, 694, 251, 694, 8983 251, 251, 811, 523, 684, 251, 684, 702, 251, 702, 8984 825, 821, 817, 819, 820, 824, 251, 823, 392, 695, 8985 827, 392, 660, 822, 251, 251, 685, 251, 826, 703, 8986 8987 251, 812, 382, 818, 828, 834, 813, 382, 649, 825, 8988 251, 819, 820, 824, 829, 823, 814, 815, 827, 251, 8989 816, 831, 822, 251, 833, 251, 826, 251, 251, 830, 8990 812, 818, 828, 834, 832, 813, 251, 835, 722, 251, 8991 722, 837, 829, 838, 814, 815, 840, 251, 816, 836, 8992 831, 839, 251, 833, 728, 251, 728, 830, 251, 251, 8993 723, 842, 832, 841, 251, 835, 251, 251, 251, 847, 8994 837, 838, 251, 251, 251, 840, 729, 251, 836, 251, 8995 839, 846, 251, 251, 251, 745, 251, 745, 844, 842, 8996 845, 251, 841, 251, 843, 852, 644, 847, 849, 251, 8997 8998 848, 861, 251, 643, 850, 251, 853, 746, 860, 854, 8999 846, 251, 851, 863, 251, 642, 844, 855, 862, 845, 9000 856, 864, 843, 251, 852, 858, 869, 849, 848, 857, 9001 861, 867, 850, 641, 853, 251, 859, 860, 854, 866, 9002 851, 863, 319, 865, 323, 855, 878, 862, 856, 864, 9003 868, 870, 319, 858, 869, 629, 1035, 857, 1035, 595, 9004 867, 879, 877, 123, 859, 872, 899, 866, 621, 871, 9005 319, 865, 873, 217, 873, 314, 880, 877, 868, 870, 9006 873, 217, 874, 314, 311, 312, 313, 314, 589, 595, 9007 595, 595, 879, 872, 899, 881, 250, 871, 328, 883, 9008 9009 328, 118, 115, 328, 880, 886, 251, 894, 877, 328, 9010 250, 625, 921, 625, 921, 384, 887, 589, 589, 589, 9011 891, 319, 328, 881, 626, 893, 626, 328, 883, 328, 9012 896, 328, 328, 886, 323, 894, 878, 892, 328, 250, 9013 588, 217, 588, 218, 887, 888, 328, 589, 589, 891, 9014 148, 328, 882, 893, 889, 251, 900, 890, 902, 896, 9015 328, 150, 150, 903, 319, 892, 219, 220, 930, 589, 9016 221, 587, 222, 888, 150, 328, 247, 638, 895, 638, 9017 355, 251, 889, 476, 900, 890, 902, 620, 357, 247, 9018 150, 150, 903, 639, 496, 219, 220, 930, 589, 221, 9019 9020 115, 222, 150, 921, 251, 922, 384, 895, 898, 245, 9021 238, 476, 318, 318, 326, 318, 318, 318, 318, 318, 9022 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9023 318, 897, 318, 318, 318, 318, 318, 898, 904, 121, 9024 1886, 931, 1886, 645, 832, 645, 122, 123, 884, 121, 9025 918, 226, 927, 1886, 226, 1886, 122, 123, 115, 646, 9026 897, 121, 358, 318, 318, 361, 904, 361, 122, 123, 9027 931, 361, 832, 361, 118, 323, 884, 323, 918, 362, 9028 927, 349, 905, 629, 1043, 362, 1043, 249, 907, 628, 9029 906, 318, 318, 318, 326, 318, 318, 318, 318, 318, 9030 9031 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9032 318, 905, 318, 318, 318, 318, 318, 907, 906, 932, 9033 908, 885, 908, 365, 928, 361, 936, 361, 115, 929, 9034 638, 909, 638, 1886, 933, 1886, 910, 245, 911, 362, 9035 361, 937, 361, 318, 318, 361, 639, 361, 932, 645, 9036 885, 645, 928, 938, 362, 936, 363, 929, 364, 362, 9037 939, 363, 933, 364, 941, 646, 923, 387, 923, 658, 9038 937, 318, 912, 915, 144, 238, 940, 655, 656, 657, 9039 658, 938, 914, 146, 1418, 144, 1418, 942, 939, 385, 9040 943, 956, 365, 941, 146, 944, 945, 365, 923, 387, 9041 9042 924, 658, 915, 385, 940, 946, 144, 947, 955, 947, 9043 914, 386, 387, 386, 388, 146, 942, 957, 943, 144, 9044 956, 958, 959, 944, 945, 691, 960, 691, 146, 1886, 9045 961, 962, 385, 946, 963, 694, 955, 694, 964, 948, 9046 964, 966, 702, 967, 702, 967, 957, 692, 969, 958, 9047 970, 959, 976, 949, 960, 977, 68, 695, 961, 962, 9048 965, 975, 963, 978, 703, 968, 1886, 1886, 948, 982, 9049 966, 988, 1886, 981, 983, 1886, 969, 984, 970, 1886, 9050 976, 949, 684, 977, 684, 973, 709, 973, 987, 985, 9051 975, 985, 978, 994, 979, 710, 711, 982, 974, 988, 9052 9053 974, 980, 981, 983, 685, 995, 984, 974, 722, 950, 9054 722, 986, 1886, 989, 951, 989, 996, 987, 728, 991, 9055 728, 991, 994, 979, 952, 953, 1886, 997, 954, 980, 9056 723, 998, 1886, 999, 995, 990, 1000, 1001, 950, 1002, 9057 729, 992, 1003, 951, 996, 1004, 1013, 1005, 1009, 1005, 9058 1010, 1011, 952, 953, 993, 997, 954, 1006, 1012, 1014, 9059 998, 999, 1015, 974, 1000, 1001, 1016, 745, 1002, 745, 9060 1003, 1007, 1017, 1007, 1004, 1013, 1009, 1020, 1010, 1011, 9061 1021, 1018, 993, 1018, 1022, 1023, 1012, 1024, 1014, 746, 9062 1015, 1025, 1026, 1008, 1016, 1027, 1028, 226, 226, 226, 9063 9064 1032, 1017, 1036, 1019, 1034, 238, 1020, 238, 1886, 1021, 9065 251, 979, 941, 1022, 1023, 1024, 1886, 1422, 980, 1422, 9066 1025, 1026, 1037, 251, 1027, 1028, 1031, 1043, 1032, 1044, 9067 249, 1036, 1886, 1034, 1038, 251, 1038, 1029, 1886, 1030, 9068 979, 941, 251, 1042, 1039, 1041, 980, 1048, 1040, 1045, 9069 1037, 1045, 504, 1040, 251, 1031, 782, 238, 782, 1045, 9070 251, 1046, 504, 251, 1047, 1029, 251, 1030, 251, 1052, 9071 251, 1042, 251, 1041, 251, 1048, 1049, 251, 251, 1050, 9072 934, 251, 934, 251, 251, 251, 1054, 251, 783, 1051, 9073 935, 251, 1047, 251, 251, 1055, 251, 251, 1052, 947, 9074 9075 251, 947, 251, 1886, 1049, 1059, 251, 1053, 1050, 1056, 9076 251, 1057, 1061, 1058, 1060, 1054, 251, 783, 1051, 1064, 9077 1063, 1068, 251, 1069, 1055, 1886, 1062, 251, 1067, 251, 9078 1886, 1065, 1071, 251, 1059, 1053, 251, 1056, 1072, 1057, 9079 1061, 1058, 1886, 1060, 1070, 1066, 1075, 1064, 1063, 251, 9080 1068, 1073, 1069, 1078, 1062, 251, 1067, 1886, 1074, 1076, 9081 1065, 1071, 964, 251, 964, 251, 1072, 967, 251, 967, 9082 1079, 251, 1070, 1066, 1075, 1077, 251, 251, 1080, 1073, 9083 1081, 251, 1078, 251, 965, 251, 1074, 251, 1076, 968, 9084 251, 1085, 251, 1886, 1082, 985, 251, 985, 1079, 251, 9085 9086 251, 1083, 1084, 1077, 1087, 1086, 1080, 251, 1088, 1081, 9087 251, 1089, 251, 989, 251, 989, 1091, 986, 1886, 1085, 9088 991, 251, 991, 1082, 1093, 1094, 251, 1092, 251, 1083, 9089 251, 1084, 1100, 1087, 1086, 990, 251, 1088, 251, 1089, 9090 251, 1096, 992, 251, 251, 1091, 1007, 251, 1007, 1097, 9091 1102, 1099, 1093, 1094, 1098, 1090, 1092, 1095, 251, 251, 9092 1100, 1005, 251, 1005, 251, 1116, 1104, 1101, 1008, 1096, 9093 1110, 1006, 1103, 1886, 251, 251, 1105, 1097, 1102, 251, 9094 1099, 1886, 1098, 1090, 1106, 1886, 1095, 1108, 251, 1107, 9095 1018, 251, 1018, 1116, 1104, 1109, 1101, 1886, 1886, 1110, 9096 9097 1103, 1111, 1112, 319, 1105, 1139, 1113, 1114, 217, 1114, 9098 314, 1136, 1019, 1106, 323, 1108, 1119, 1886, 1107, 1114, 9099 217, 1115, 314, 1109, 595, 319, 1120, 595, 1886, 1120, 9100 1111, 1112, 1118, 319, 1139, 1113, 588, 217, 1117, 218, 9101 1136, 318, 1118, 318, 1121, 1118, 318, 318, 318, 318, 9102 1138, 1141, 1122, 589, 1118, 318, 589, 318, 1886, 323, 9103 115, 1119, 219, 220, 1886, 589, 221, 1161, 222, 1161, 9104 384, 1127, 1121, 1124, 1128, 148, 1167, 1123, 1138, 476, 9105 1141, 1122, 589, 1126, 1143, 589, 150, 150, 1035, 251, 9106 1035, 219, 220, 1129, 589, 221, 318, 222, 318, 150, 9107 9108 1127, 1124, 121, 1128, 361, 1167, 361, 476, 1886, 1148, 9109 1149, 1126, 318, 1143, 318, 150, 150, 318, 362, 318, 9110 1161, 1129, 1162, 384, 1134, 1886, 251, 150, 318, 318, 9111 326, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9112 318, 318, 318, 318, 318, 318, 318, 1130, 318, 318, 9113 318, 318, 318, 1134, 908, 1082, 908, 1886, 1038, 251, 9114 1038, 1131, 1083, 1165, 1886, 909, 1137, 1166, 1039, 1886, 9115 1886, 1168, 1040, 1169, 318, 1130, 318, 1040, 1886, 318, 9116 318, 908, 1886, 908, 1082, 1163, 387, 1163, 658, 1131, 9117 1083, 1165, 909, 144, 1137, 1166, 1886, 910, 1132, 1150, 9118 9119 1168, 1169, 146, 1125, 319, 1125, 1133, 318, 318, 1125, 9120 326, 1125, 318, 318, 318, 318, 318, 318, 318, 318, 9121 318, 318, 318, 318, 318, 318, 318, 1132, 318, 318, 9122 318, 318, 318, 912, 318, 1133, 318, 121, 908, 1174, 9123 908, 1886, 1171, 1175, 122, 123, 1886, 1176, 934, 909, 9124 934, 361, 1886, 361, 910, 1182, 911, 1177, 935, 318, 9125 318, 1886, 1135, 1185, 1146, 362, 1178, 363, 1174, 364, 9126 1171, 1175, 1163, 387, 1164, 658, 1176, 1179, 1180, 1153, 9127 144, 1172, 1186, 1172, 1182, 1177, 1005, 318, 1005, 146, 9128 912, 1135, 1185, 1146, 1178, 1254, 1006, 1254, 249, 1254, 9129 9130 1886, 1255, 249, 365, 1886, 1179, 1180, 1173, 1153, 1140, 9131 1154, 1186, 1154, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 9132 1140, 1140, 1140, 1140, 1155, 1140, 1156, 1140, 1157, 1140, 9133 1140, 1140, 1140, 1140, 1886, 1188, 1173, 655, 656, 657, 9134 658, 1181, 1187, 1189, 1191, 144, 1190, 1192, 1193, 385, 9135 1194, 1422, 1195, 1422, 146, 1196, 1197, 1199, 1197, 1886, 9136 1140, 1140, 1159, 385, 1188, 964, 1200, 964, 1886, 1181, 9137 1187, 1886, 1189, 1191, 1190, 1192, 1193, 1886, 1198, 1194, 9138 947, 1195, 947, 1886, 1196, 1199, 1886, 965, 1140, 1478, 9139 1209, 1478, 385, 1140, 1140, 1200, 1140, 1140, 1140, 1140, 9140 9141 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 9142 1140, 1140, 1183, 1140, 1140, 1140, 1140, 1140, 967, 1209, 9143 967, 1201, 1256, 1201, 1256, 504, 1184, 1210, 1886, 1886, 9144 1211, 1212, 971, 1886, 1202, 1203, 1202, 1203, 1886, 1213, 9145 968, 1183, 1214, 1202, 1140, 1140, 972, 1215, 1204, 1886, 9146 1204, 973, 709, 973, 1184, 1218, 1210, 1204, 1211, 1219, 9147 1212, 710, 711, 1220, 974, 709, 974, 1213, 1221, 1216, 9148 1214, 1216, 1140, 974, 1206, 1207, 1215, 1208, 985, 1208, 9149 985, 1222, 989, 1218, 989, 991, 1208, 991, 1219, 1223, 9150 1225, 1217, 1220, 1224, 1226, 1227, 1229, 1221, 1228, 1202, 9151 9152 986, 1230, 1886, 1231, 990, 1232, 1007, 992, 1007, 1233, 9153 1222, 1234, 1236, 1204, 1886, 1235, 1237, 1238, 1223, 1225, 9154 1239, 1224, 1242, 1226, 1227, 1229, 1228, 1243, 1008, 974, 9155 1230, 1231, 1018, 1232, 1018, 1244, 1240, 1233, 1240, 226, 9156 1234, 1236, 1208, 1235, 1237, 1238, 1241, 1038, 1239, 1038, 9157 226, 1242, 1248, 1249, 1019, 1250, 1243, 1039, 1251, 238, 9158 238, 1040, 251, 1244, 251, 1038, 1040, 1038, 251, 251, 9159 1245, 1040, 251, 1040, 251, 1039, 1314, 1246, 328, 1040, 9160 1886, 1248, 1249, 1250, 1040, 1040, 1256, 1251, 1257, 504, 9161 1040, 1252, 1261, 328, 1886, 1260, 251, 1279, 1886, 1245, 9162 9163 1259, 1253, 251, 1258, 1314, 1886, 1246, 328, 1262, 1240, 9164 251, 1240, 1312, 217, 1312, 314, 1418, 251, 1418, 1241, 9165 1252, 1261, 328, 251, 1260, 251, 1279, 1265, 1259, 1253, 9166 251, 1258, 251, 251, 1264, 251, 1262, 1140, 1140, 251, 9167 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 9168 1140, 1140, 1140, 1140, 1140, 1140, 1265, 1140, 1140, 1140, 9169 1140, 1140, 1264, 251, 1272, 1268, 1266, 251, 1269, 1271, 9170 1270, 251, 251, 251, 251, 251, 251, 251, 1197, 251, 9171 1197, 251, 251, 251, 251, 251, 251, 251, 1140, 1140, 9172 1267, 251, 1272, 1268, 1266, 1274, 1269, 1271, 1270, 1273, 9173 9174 1198, 1275, 1278, 251, 1478, 1280, 1478, 1276, 1284, 1283, 9175 251, 251, 1277, 1281, 1282, 251, 1140, 251, 1286, 1267, 9176 251, 1285, 1288, 251, 1274, 251, 251, 1287, 1273, 1290, 9177 1275, 1278, 1289, 1291, 1280, 1276, 251, 1284, 1283, 1294, 9178 1277, 1281, 1292, 1282, 1216, 251, 1216, 1286, 1293, 1285, 9179 1288, 1295, 251, 1297, 1299, 1287, 1296, 1290, 251, 251, 9180 251, 1289, 1291, 1298, 251, 251, 1217, 251, 1294, 251, 9181 251, 1292, 251, 251, 595, 251, 595, 1293, 1886, 251, 9182 1295, 1301, 1297, 1299, 1296, 1302, 1312, 217, 1313, 314, 9183 319, 328, 1298, 251, 1300, 1306, 595, 1308, 595, 1886, 9184 9185 1303, 1305, 1320, 589, 319, 1886, 1304, 1327, 1886, 1307, 9186 1301, 121, 1886, 1309, 1302, 1352, 1310, 1311, 1334, 1335, 9187 328, 1317, 1300, 328, 1306, 589, 1308, 1326, 1303, 1305, 9188 1320, 1315, 589, 328, 1304, 1321, 1327, 1307, 1322, 1886, 9189 323, 1309, 323, 1352, 1310, 1311, 588, 217, 588, 218, 9190 1317, 1353, 328, 328, 589, 1326, 148, 1328, 149, 1323, 9191 1315, 1886, 328, 908, 1321, 908, 1322, 150, 150, 1418, 9192 328, 1418, 219, 220, 909, 589, 221, 121, 222, 1353, 9193 150, 1324, 328, 121, 122, 123, 1328, 1354, 1323, 476, 9194 122, 123, 908, 1347, 908, 1347, 150, 150, 361, 328, 9195 9196 361, 219, 220, 909, 589, 221, 1886, 222, 150, 1324, 9197 1150, 1343, 362, 1343, 384, 1348, 1354, 476, 318, 318, 9198 326, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9199 318, 318, 318, 318, 318, 318, 318, 1886, 318, 318, 9200 318, 318, 318, 908, 912, 908, 1349, 1318, 1349, 625, 9201 1343, 625, 1344, 384, 909, 1375, 1355, 1375, 1197, 1886, 9202 1197, 1151, 626, 1356, 626, 361, 1357, 361, 1350, 318, 9203 318, 361, 361, 361, 361, 1886, 1318, 1376, 1886, 362, 9204 1198, 363, 1886, 628, 1355, 362, 362, 363, 363, 364, 9205 364, 1356, 1886, 1424, 1357, 1424, 504, 318, 318, 318, 9206 9207 326, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9208 318, 318, 318, 318, 318, 318, 318, 365, 318, 318, 9209 318, 318, 318, 365, 365, 1319, 1345, 387, 1345, 658, 9210 1345, 387, 1346, 658, 144, 1358, 1359, 1361, 144, 1360, 9211 1365, 1366, 1172, 146, 1172, 1367, 1886, 146, 1368, 318, 9212 318, 971, 1886, 1202, 1319, 1202, 1424, 1886, 1425, 504, 9213 1886, 1886, 1202, 1358, 121, 1359, 1361, 1360, 1173, 1365, 9214 1366, 122, 123, 1886, 1367, 1369, 1368, 318, 1316, 1316, 9215 326, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 9216 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1173, 1316, 1316, 9217 9218 1316, 1316, 1316, 1369, 1370, 1371, 1372, 1886, 1373, 1374, 9219 1377, 1886, 1378, 1382, 1383, 1384, 1397, 1379, 1202, 1380, 9220 1385, 1380, 1386, 1387, 1216, 1388, 1216, 1388, 1380, 1316, 9221 1316, 1677, 1390, 1370, 1371, 1372, 1373, 1374, 1678, 1377, 9222 1378, 1679, 1382, 1383, 1384, 1397, 1217, 1389, 1385, 1886, 9223 1386, 1387, 1391, 1886, 1391, 1393, 1886, 1316, 1329, 1337, 9224 1390, 1337, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 9225 1329, 1329, 1329, 1338, 1329, 1339, 1329, 1340, 1329, 1329, 9226 1329, 1329, 1329, 1393, 1380, 1201, 1203, 1201, 1203, 1886, 9227 1394, 1392, 1395, 1398, 1395, 1399, 971, 972, 1202, 1204, 9228 9229 1202, 1204, 1381, 709, 1381, 1886, 1400, 1202, 1204, 1329, 9230 1329, 1342, 1206, 1207, 1396, 1208, 1886, 1208, 1394, 1392, 9231 1240, 1398, 1240, 1399, 1208, 1465, 217, 1465, 218, 1886, 9232 1241, 1362, 1886, 1362, 1400, 1886, 1401, 1329, 1329, 1329, 9233 1402, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 9234 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1363, 1329, 1329, 9235 1329, 1329, 1329, 1202, 1204, 1401, 1403, 709, 1402, 251, 9236 1364, 1404, 1406, 1404, 1406, 1410, 1206, 1207, 1411, 1208, 9237 1208, 1208, 1408, 1412, 1408, 1413, 1363, 1416, 1208, 1329, 9238 1329, 226, 1417, 1419, 1407, 1403, 238, 1405, 1364, 1467, 9239 9240 238, 1472, 1484, 1410, 1409, 1886, 1886, 1411, 1347, 251, 9241 1347, 1412, 1473, 251, 1413, 1431, 1416, 1329, 1485, 1414, 9242 1417, 1486, 1419, 1474, 1420, 1886, 1405, 1421, 1467, 1472, 9243 1348, 1484, 1349, 251, 1349, 1465, 217, 1465, 1466, 1886, 9244 1473, 251, 251, 1431, 1208, 251, 251, 1485, 1414, 251, 9245 1486, 1474, 1886, 1420, 1350, 1427, 1421, 1329, 1329, 251, 9246 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 9247 1329, 1329, 1329, 1329, 1329, 1329, 1428, 1329, 1329, 1329, 9248 1329, 1329, 251, 1427, 1430, 1432, 251, 251, 251, 1433, 9249 251, 1435, 251, 251, 1362, 251, 1362, 251, 251, 1375, 9250 9251 251, 1375, 251, 251, 1428, 1429, 1482, 251, 1329, 1329, 9252 1483, 1434, 1430, 1432, 251, 1439, 251, 1433, 1436, 1435, 9253 1437, 1376, 251, 251, 1440, 1441, 251, 1443, 251, 1445, 9254 1442, 251, 1886, 1438, 1429, 1482, 1329, 1444, 1446, 1483, 9255 1434, 251, 1449, 1447, 1439, 1451, 251, 1436, 251, 1437, 9256 1448, 1886, 251, 1440, 1441, 1443, 251, 1445, 1442, 251, 9257 1452, 1438, 251, 1450, 1456, 251, 1444, 1446, 1886, 1454, 9258 1449, 1886, 1447, 1451, 1388, 251, 1388, 1886, 1455, 1448, 9259 1391, 251, 1391, 1395, 251, 1395, 1458, 1462, 1452, 1459, 9260 1457, 1450, 1460, 1456, 1461, 1886, 1389, 1454, 1404, 251, 9261 9262 1404, 1406, 251, 1406, 1464, 1396, 1455, 1408, 251, 1408, 9263 319, 1475, 251, 1477, 1458, 1487, 1462, 1459, 1457, 1453, 9264 121, 1460, 1461, 1407, 1463, 1488, 1489, 122, 123, 1409, 9265 1886, 908, 1464, 908, 361, 1476, 361, 1490, 1469, 1475, 9266 1886, 1477, 909, 625, 1487, 625, 1886, 1453, 362, 1480, 9267 387, 1480, 658, 1463, 1488, 1489, 626, 144, 626, 1493, 9268 1418, 1528, 1418, 1528, 1476, 1490, 146, 1469, 1468, 1468, 9269 326, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 9270 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1493, 1468, 1468, 9271 1468, 1468, 1468, 361, 361, 361, 361, 1480, 387, 1481, 9272 9273 658, 1347, 1349, 1347, 1349, 144, 1494, 362, 362, 363, 9274 363, 628, 364, 1495, 146, 361, 1496, 361, 1886, 1468, 9275 1468, 1886, 1886, 1348, 1350, 1528, 1379, 1528, 1380, 362, 9276 1380, 363, 1886, 364, 1494, 1886, 1527, 1380, 1527, 249, 9277 1886, 1824, 1495, 1824, 1496, 365, 365, 1468, 318, 318, 9278 326, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9279 318, 318, 318, 318, 318, 318, 318, 365, 318, 318, 9280 318, 318, 318, 1497, 1498, 1886, 1499, 1500, 1501, 1502, 9281 1886, 1503, 1504, 1375, 1506, 1375, 1507, 1508, 1513, 1388, 9282 1510, 1388, 1471, 1380, 1886, 1886, 1886, 1511, 1512, 318, 9283 9284 318, 1886, 1497, 1498, 1499, 1376, 1500, 1501, 1502, 1503, 9285 1504, 1389, 1506, 1886, 1886, 1507, 1508, 1513, 1510, 1886, 9286 1471, 1362, 1391, 1362, 1391, 1511, 1512, 318, 318, 318, 9287 326, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9288 318, 318, 318, 318, 318, 318, 318, 1491, 318, 318, 9289 318, 318, 318, 1505, 1517, 1505, 1395, 1514, 1395, 1515, 9290 1492, 1509, 1886, 1886, 1379, 1404, 1380, 1404, 1380, 1518, 9291 1520, 1381, 709, 1381, 1519, 1380, 1491, 1523, 1396, 318, 9292 318, 1206, 1207, 1517, 1208, 1514, 1208, 1515, 1492, 1509, 9293 1406, 1516, 1406, 1208, 1408, 1524, 1408, 238, 1518, 1520, 9294 9295 251, 251, 1519, 251, 251, 1523, 251, 318, 251, 251, 9296 251, 251, 1407, 251, 251, 251, 1409, 251, 251, 251, 9297 1516, 251, 1561, 1530, 1524, 251, 251, 1531, 1532, 1533, 9298 1534, 1380, 1537, 1535, 251, 1536, 251, 1526, 251, 1886, 9299 1542, 251, 1886, 251, 1543, 1544, 1886, 1538, 1539, 1208, 9300 1548, 1561, 1530, 1540, 1541, 1545, 1531, 1532, 1533, 1534, 9301 251, 1537, 1535, 251, 1536, 1526, 1550, 1547, 1549, 1542, 9302 1546, 251, 1559, 1543, 1544, 1538, 1539, 1552, 1551, 1548, 9303 251, 1540, 1541, 1545, 1563, 1555, 1562, 1553, 1558, 217, 9304 1558, 314, 1564, 251, 1550, 1547, 1574, 1549, 1546, 1554, 9305 9306 1559, 1575, 1557, 1556, 1886, 1552, 1551, 1566, 1568, 1566, 9307 1568, 384, 1563, 1555, 1577, 1562, 1553, 1567, 1565, 1576, 9308 1886, 1564, 1569, 143, 1569, 1574, 1578, 1554, 1579, 1575, 9309 144, 1557, 1556, 1570, 387, 1570, 388, 1580, 1581, 146, 9310 1582, 144, 1577, 1570, 387, 1570, 1571, 1565, 1576, 1583, 9311 146, 1572, 1584, 1586, 1578, 1585, 1579, 1587, 1588, 1591, 9312 1573, 1589, 1590, 1886, 1886, 1580, 1581, 1594, 1582, 1595, 9313 1592, 1596, 1592, 1601, 1597, 1602, 1597, 1583, 1599, 1600, 9314 1604, 1584, 1586, 1585, 1603, 226, 1587, 1588, 1591, 1589, 9315 1590, 1505, 1593, 1505, 1606, 1594, 1598, 1595, 1607, 1596, 9316 9317 238, 1601, 1379, 1602, 1380, 238, 1380, 1599, 1600, 1604, 9318 251, 1605, 1603, 1380, 1527, 251, 1527, 249, 1610, 251, 9319 1610, 504, 251, 1606, 251, 251, 251, 1607, 1609, 251, 9320 251, 251, 1608, 251, 1612, 251, 251, 1592, 251, 1592, 9321 1605, 251, 251, 251, 251, 1886, 1614, 251, 1597, 251, 9322 1597, 1613, 1633, 1620, 1630, 1646, 1630, 1609, 1624, 1593, 9323 1616, 1608, 1615, 1612, 1631, 1618, 1619, 1617, 1621, 1380, 9324 1598, 1623, 1622, 1625, 1627, 1614, 319, 1634, 1629, 1613, 9325 1633, 1886, 1620, 1626, 1646, 1628, 1886, 1624, 1616, 251, 9326 1615, 1886, 1643, 1618, 1619, 1617, 1886, 1621, 1886, 1623, 9327 9328 1622, 1625, 1632, 1627, 1886, 1634, 1629, 1558, 217, 1558, 9329 314, 1626, 1566, 1628, 1566, 1568, 1635, 1568, 384, 1569, 9330 1643, 1569, 1567, 1886, 1639, 387, 1639, 658, 1886, 1644, 9331 1645, 1632, 144, 1647, 1648, 1650, 146, 1651, 1640, 387, 9332 1640, 146, 1649, 251, 1654, 1635, 1641, 1655, 386, 387, 9333 386, 388, 1569, 143, 1569, 1642, 144, 1644, 1645, 1656, 9334 144, 1647, 1657, 1648, 1650, 146, 1651, 1658, 226, 146, 9335 1649, 1652, 1654, 1652, 1659, 1592, 1655, 1592, 1597, 1660, 9336 1597, 1653, 1661, 238, 1663, 1667, 238, 1656, 251, 251, 9337 1610, 1657, 1610, 504, 251, 1658, 251, 1593, 1886, 251, 9338 9339 1598, 251, 251, 1659, 1630, 1662, 1630, 251, 1660, 1665, 9340 251, 1661, 1663, 1667, 1631, 1652, 251, 1652, 1681, 1664, 9341 319, 1691, 1666, 1669, 1671, 1653, 1672, 1673, 1640, 660, 9342 1640, 1668, 1670, 1662, 1674, 1688, 1692, 1675, 1665, 1886, 9343 1682, 1683, 1682, 1684, 1886, 1642, 1681, 1664, 1637, 1691, 9344 1666, 1638, 1669, 1671, 1693, 1672, 1673, 1680, 1694, 1668, 9345 1670, 251, 1886, 1674, 1688, 1692, 1675, 1639, 387, 1639, 9346 658, 1685, 1686, 1685, 1687, 144, 1689, 1695, 1689, 1641, 9347 1696, 1652, 1693, 1652, 146, 1680, 1690, 1694, 1642, 1697, 9348 1652, 1653, 1652, 1698, 238, 1704, 238, 251, 251, 251, 9349 9350 1653, 1689, 251, 1689, 251, 1886, 1695, 1886, 1722, 1696, 9351 1886, 1690, 1723, 1708, 1709, 1710, 1711, 1689, 1697, 1689, 9352 1701, 1702, 1698, 1704, 1703, 1712, 1706, 1690, 1724, 1705, 9353 1726, 1707, 1713, 1714, 1713, 1715, 1722, 1677, 1683, 1712, 9354 1678, 1723, 1725, 1679, 1678, 1718, 226, 1679, 1719, 1701, 9355 1702, 1886, 1886, 1703, 1727, 1706, 1886, 1724, 1705, 1726, 9356 1707, 1682, 1683, 1682, 1684, 1729, 251, 1886, 1712, 1637, 9357 1725, 1886, 1638, 1682, 1683, 1682, 1684, 1685, 1686, 1685, 9358 1687, 1637, 1728, 1727, 1638, 1641, 251, 655, 656, 657, 9359 658, 1886, 238, 1729, 1642, 144, 1720, 251, 1720, 385, 9360 9361 1735, 1886, 1735, 1711, 146, 1754, 1886, 1733, 1886, 1721, 9362 1728, 1721, 1734, 385, 1708, 1709, 1710, 1711, 1721, 1731, 9363 1735, 319, 1736, 1711, 1732, 1753, 1712, 1714, 1713, 1714, 9364 1713, 1715, 1755, 1754, 1745, 1733, 1678, 1746, 1756, 1679, 9365 1712, 1734, 385, 1757, 1739, 1740, 1741, 1742, 1731, 1758, 9366 226, 1683, 1678, 1732, 1753, 1679, 1743, 1747, 1718, 251, 9367 1755, 1719, 1760, 1748, 1749, 1748, 1750, 1756, 1683, 1712, 9368 1743, 1718, 1757, 251, 1719, 1718, 251, 1758, 1719, 1720, 9369 1751, 1720, 1751, 238, 1782, 1747, 1767, 1759, 1767, 1711, 9370 1760, 1752, 1721, 1721, 1721, 1721, 1740, 319, 1783, 1743, 9371 9372 1886, 1721, 1721, 1772, 1886, 1764, 1773, 1765, 1767, 1761, 9373 1768, 1711, 1782, 1886, 1775, 1759, 1766, 1769, 1714, 1769, 9374 1742, 1776, 1784, 1785, 1777, 1678, 1886, 1783, 1679, 1739, 9375 1740, 1741, 1742, 1764, 1781, 1786, 1765, 1678, 1761, 1886, 9376 1679, 1743, 1714, 251, 1766, 1769, 1714, 1770, 1742, 1745, 9377 1784, 1785, 1746, 1678, 1714, 1743, 1679, 1778, 1779, 1778, 9378 1780, 1745, 1781, 1786, 1746, 1745, 1683, 226, 1746, 1748, 9379 1749, 1748, 1750, 1718, 1788, 238, 1719, 1718, 251, 1751, 9380 1719, 1751, 1802, 1791, 1743, 1682, 1683, 1682, 1684, 1792, 9381 1752, 1792, 1711, 1637, 1740, 1792, 1638, 1793, 1711, 1803, 9382 9383 1886, 1772, 1788, 1886, 1773, 1794, 1714, 1794, 1742, 1787, 9384 1802, 1791, 1789, 1678, 1886, 1790, 1679, 1794, 1714, 1795, 9385 1742, 1796, 1797, 1796, 1798, 1678, 1740, 1803, 1679, 1772, 9386 1805, 1775, 1773, 1772, 1886, 1886, 1773, 1787, 1776, 251, 9387 1789, 1777, 319, 1790, 1708, 1709, 1710, 1711, 1775, 1799, 9388 1740, 1799, 1800, 251, 1804, 1776, 1712, 1776, 1777, 1805, 9389 1777, 1778, 1779, 1778, 1780, 1739, 1740, 1741, 1742, 1745, 9390 1712, 1714, 1746, 1678, 1819, 1809, 1679, 1743, 1745, 1886, 9391 1810, 1746, 1804, 1811, 1801, 1811, 1711, 1811, 1820, 1812, 9392 1711, 1743, 226, 1813, 1714, 1813, 1742, 1886, 1886, 1712, 9393 9394 1886, 1678, 1819, 1809, 1679, 1813, 1714, 1814, 1742, 1810, 9395 1886, 1840, 1801, 1678, 1886, 1886, 1679, 1820, 238, 1822, 9396 1743, 1796, 1797, 1796, 1798, 1739, 1740, 1741, 1742, 1772, 9397 1886, 1740, 1773, 1678, 1821, 1886, 1679, 1743, 1772, 1740, 9398 1840, 1773, 1799, 1740, 1799, 1800, 1816, 1822, 1831, 1817, 9399 1776, 1743, 226, 1777, 1823, 1825, 1714, 1825, 1742, 319, 9400 1845, 1886, 1821, 1678, 1740, 238, 1679, 1825, 1714, 1826, 9401 1742, 1816, 1886, 1886, 1817, 1678, 1831, 226, 1679, 1886, 9402 1743, 238, 1823, 1886, 1824, 1886, 1824, 1886, 1886, 1845, 9403 1740, 1886, 1830, 1886, 1886, 1886, 1886, 1816, 1886, 1886, 9404 9405 1817, 1829, 1832, 1886, 1839, 1886, 1886, 1886, 1827, 1797, 9406 1827, 1828, 1833, 319, 1833, 1711, 1816, 1740, 1714, 1817, 9407 1830, 1886, 1849, 1841, 1816, 1745, 1886, 1817, 1746, 1829, 9408 1832, 1886, 1886, 1839, 1886, 1886, 1886, 1834, 1714, 1834, 9409 1715, 1827, 1797, 1827, 1828, 1678, 226, 1886, 1679, 1816, 9410 1849, 1841, 1817, 1838, 1833, 319, 1833, 1711, 1886, 226, 9411 238, 319, 1886, 1676, 1834, 1714, 1834, 1835, 1676, 1844, 9412 1677, 1676, 1837, 1676, 1676, 1679, 1886, 1678, 1676, 1676, 9413 1679, 1838, 1843, 1676, 1847, 1676, 1676, 1676, 1842, 1714, 9414 1842, 1742, 1713, 1714, 1713, 1715, 1678, 319, 1844, 1679, 9415 9416 1678, 1848, 1850, 1679, 1852, 1853, 1852, 1854, 238, 1886, 9417 1886, 1843, 1886, 1847, 1676, 1676, 1676, 1842, 1714, 1842, 9418 1742, 1855, 1856, 1855, 1857, 1678, 1886, 1886, 1679, 1848, 9419 1850, 1859, 1860, 1859, 1861, 1852, 1853, 1852, 1854, 1851, 9420 1886, 238, 1676, 1862, 1863, 1862, 1864, 1886, 1858, 1855, 9421 1856, 1855, 1857, 1867, 1856, 1867, 1857, 1859, 1860, 1859, 9422 1861, 1867, 1856, 1867, 1857, 238, 1886, 1851, 1870, 1862, 9423 1863, 1862, 1864, 238, 1886, 1886, 1858, 1862, 1863, 1862, 9424 1864, 1862, 1863, 1862, 1864, 1867, 1856, 1867, 1857, 1867, 9425 1856, 1867, 1857, 1886, 1886, 1886, 1874, 1870, 1867, 1856, 9426 9427 1867, 1857, 1876, 1877, 1876, 1878, 1886, 1875, 1876, 1877, 9428 1876, 1878, 1879, 1880, 1879, 1881, 1879, 1880, 1879, 1881, 9429 1879, 1880, 1879, 1881, 1886, 1874, 1879, 1880, 1879, 1881, 9430 1879, 1880, 1879, 1881, 1886, 1875, 66, 66, 66, 66, 9431 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 7633 9432 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 9433 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 9434 67, 67, 111, 111, 1886, 111, 111, 111, 111, 111, 9435 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 9436 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 9437 9438 114, 114, 114, 114, 114, 114, 114, 114, 120, 120, 9439 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 9440 120, 120, 120, 120, 120, 120, 129, 1886, 1886, 1886, 9441 1886, 1886, 1886, 129, 1886, 129, 1886, 129, 129, 129, 9442 129, 129, 156, 156, 156, 156, 156, 225, 225, 225, 9443 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 9444 225, 225, 225, 225, 225, 237, 237, 237, 237, 237, 9445 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 9446 237, 237, 237, 244, 244, 244, 244, 244, 244, 244, 9447 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 9448 9449 244, 252, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 9450 1886, 1886, 252, 252, 252, 252, 252, 318, 318, 318, 9451 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9452 318, 318, 318, 318, 318, 111, 111, 1886, 111, 111, 9453 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 9454 111, 111, 111, 114, 114, 114, 114, 114, 114, 114, 9455 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 9456 114, 352, 352, 352, 352, 352, 352, 352, 352, 352, 9457 352, 352, 352, 352, 352, 352, 352, 352, 352, 120, 9458 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 9459 9460 120, 120, 120, 120, 120, 120, 120, 353, 353, 353, 9461 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 9462 353, 353, 353, 353, 353, 129, 1886, 1886, 1886, 1886, 9463 1886, 1886, 129, 1886, 129, 1886, 1886, 129, 129, 129, 9464 129, 389, 389, 389, 389, 1886, 389, 389, 389, 389, 9465 389, 389, 1886, 389, 389, 1886, 1886, 389, 389, 156, 9466 156, 156, 156, 156, 477, 477, 477, 477, 477, 477, 9467 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 9468 477, 477, 225, 225, 225, 225, 225, 225, 225, 225, 9469 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 9470 9471 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 9472 237, 237, 237, 237, 237, 237, 237, 237, 244, 244, 9473 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 9474 244, 244, 244, 244, 244, 244, 499, 499, 499, 499, 9475 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 9476 499, 499, 499, 499, 500, 500, 500, 500, 500, 500, 9477 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 9478 500, 500, 586, 586, 586, 586, 586, 586, 586, 586, 9479 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 9480 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9481 9482 318, 318, 318, 318, 318, 318, 318, 318, 328, 328, 9483 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 9484 328, 328, 328, 328, 328, 328, 111, 111, 1886, 111, 9485 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 9486 111, 111, 111, 111, 114, 114, 114, 114, 114, 114, 9487 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 9488 114, 114, 352, 352, 352, 352, 352, 352, 352, 352, 9489 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 9490 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 9491 353, 353, 353, 353, 353, 353, 353, 353, 622, 622, 9492 9493 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 9494 622, 622, 622, 622, 622, 622, 120, 120, 120, 120, 9495 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 9496 120, 120, 120, 120, 627, 1886, 1886, 1886, 1886, 1886, 9497 1886, 627, 1886, 627, 1886, 1886, 627, 627, 627, 627, 9498 129, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 129, 1886, 9499 129, 1886, 129, 129, 129, 129, 129, 630, 630, 630, 9500 630, 653, 653, 653, 653, 653, 653, 653, 653, 653, 9501 653, 653, 653, 653, 653, 653, 653, 653, 653, 654, 9502 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 9503 9504 654, 654, 654, 654, 654, 654, 654, 659, 659, 659, 9505 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 9506 659, 659, 659, 659, 659, 389, 389, 389, 389, 1886, 9507 389, 389, 389, 389, 389, 389, 1886, 389, 389, 1886, 9508 1886, 389, 389, 156, 156, 156, 156, 156, 708, 708, 9509 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 9510 708, 708, 708, 708, 708, 708, 475, 1886, 1886, 1886, 9511 1886, 1886, 1886, 1886, 475, 475, 477, 477, 477, 477, 9512 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 9513 477, 477, 477, 477, 225, 225, 225, 225, 225, 225, 9514 9515 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 9516 225, 225, 237, 237, 237, 237, 237, 237, 237, 237, 9517 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 9518 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 9519 244, 244, 244, 244, 244, 244, 244, 244, 499, 499, 9520 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 9521 499, 499, 499, 499, 499, 499, 500, 500, 500, 500, 9522 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 9523 500, 500, 500, 500, 788, 788, 788, 788, 788, 788, 9524 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 9525 9526 788, 788, 789, 789, 789, 789, 789, 789, 789, 789, 9527 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 9528 252, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 9529 1886, 252, 252, 252, 252, 252, 586, 586, 586, 586, 9530 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 9531 586, 586, 586, 586, 318, 318, 318, 318, 318, 318, 9532 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9533 318, 318, 328, 328, 328, 328, 328, 328, 328, 328, 9534 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 9535 111, 111, 1886, 111, 111, 111, 111, 111, 111, 111, 9536 9537 111, 111, 111, 111, 111, 111, 111, 111, 114, 114, 9538 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 9539 114, 114, 114, 114, 114, 114, 353, 353, 353, 353, 9540 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 9541 353, 353, 353, 353, 120, 120, 120, 120, 120, 120, 9542 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 9543 120, 120, 622, 622, 622, 622, 622, 622, 622, 622, 9544 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 9545 627, 1886, 1886, 1886, 1886, 1886, 1886, 627, 1886, 627, 9546 1886, 1886, 627, 627, 627, 627, 913, 1886, 1886, 1886, 9547 9548 1886, 1886, 1886, 1886, 913, 1886, 1886, 1886, 913, 913, 9549 913, 913, 913, 129, 1886, 1886, 1886, 1886, 1886, 1886, 9550 1886, 129, 1886, 129, 1886, 129, 129, 129, 129, 129, 9551 653, 653, 653, 653, 653, 653, 653, 653, 653, 653, 9552 653, 653, 653, 653, 653, 653, 653, 653, 654, 654, 9553 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 9554 654, 654, 654, 654, 654, 654, 925, 925, 925, 925, 9555 925, 925, 925, 925, 925, 925, 925, 925, 925, 925, 9556 925, 925, 925, 925, 659, 659, 659, 659, 659, 659, 9557 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 9558 9559 659, 659, 156, 156, 156, 156, 156, 708, 708, 708, 9560 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 9561 708, 708, 708, 708, 708, 709, 709, 709, 709, 709, 9562 709, 1886, 709, 709, 709, 709, 709, 709, 709, 709, 9563 709, 709, 709, 710, 710, 1886, 710, 710, 710, 710, 9564 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, 9565 710, 225, 225, 225, 225, 225, 225, 225, 225, 225, 9566 225, 225, 225, 225, 225, 225, 225, 225, 225, 237, 9567 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 9568 237, 237, 237, 237, 237, 237, 237, 788, 788, 788, 9569 9570 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 9571 788, 788, 788, 788, 788, 789, 789, 789, 789, 789, 9572 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 9573 789, 789, 789, 318, 318, 318, 318, 318, 318, 318, 9574 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9575 318, 328, 328, 328, 328, 328, 328, 328, 328, 328, 9576 328, 328, 328, 328, 328, 328, 328, 328, 328, 1140, 9577 1140, 1886, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 9578 1140, 1140, 1140, 1140, 1140, 1140, 1140, 111, 111, 1886, 9579 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 9580 9581 111, 111, 111, 111, 111, 1142, 1142, 1886, 1142, 1142, 9582 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 9583 1142, 1142, 1142, 114, 114, 114, 114, 114, 114, 114, 9584 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 9585 114, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 9586 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 120, 9587 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 9588 120, 120, 120, 120, 120, 120, 120, 1147, 1147, 1147, 9589 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 9590 1147, 1147, 1147, 1147, 1147, 627, 1886, 1886, 1886, 1886, 9591 9592 1886, 627, 1886, 1886, 1886, 627, 1886, 627, 627, 627, 9593 627, 627, 1152, 1152, 1152, 1152, 913, 1886, 1886, 1886, 9594 1886, 1886, 1886, 1886, 913, 1886, 1886, 1886, 913, 913, 9595 913, 913, 913, 129, 1886, 1886, 1886, 1886, 1886, 1886, 9596 1886, 129, 1886, 129, 1886, 129, 129, 129, 129, 129, 9597 1158, 1158, 1886, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 9598 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 925, 925, 9599 925, 925, 925, 925, 925, 925, 925, 925, 925, 925, 9600 925, 925, 925, 925, 925, 925, 1170, 1170, 1886, 1170, 9601 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 9602 9603 1170, 1170, 1170, 1170, 709, 709, 709, 709, 709, 709, 9604 1886, 709, 709, 709, 709, 709, 709, 709, 709, 709, 9605 709, 709, 710, 710, 1886, 710, 710, 710, 710, 710, 9606 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, 9607 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 9608 708, 708, 708, 708, 708, 708, 708, 708, 1205, 1205, 9609 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 9610 1205, 1205, 1205, 1205, 1205, 1205, 225, 225, 225, 225, 9611 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 9612 225, 225, 225, 225, 1247, 1247, 1247, 1247, 1247, 1247, 9613 9614 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 9615 1247, 1247, 237, 237, 237, 237, 237, 237, 237, 237, 9616 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 9617 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 9618 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 318, 318, 9619 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9620 318, 318, 318, 318, 318, 318, 1316, 1316, 1316, 1316, 9621 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 9622 1316, 1316, 1316, 1316, 328, 328, 328, 328, 328, 328, 9623 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 9624 9625 328, 328, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 9626 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 9627 1329, 1329, 1886, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 9628 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1330, 1330, 9629 1886, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 9630 1330, 1330, 1330, 1330, 1330, 1330, 111, 111, 1886, 111, 9631 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 9632 111, 111, 111, 111, 1331, 1331, 1331, 1331, 1331, 1331, 9633 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 9634 1331, 1331, 114, 114, 114, 114, 114, 114, 114, 114, 9635 9636 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 9637 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 9638 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 120, 120, 9639 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 9640 120, 120, 120, 120, 120, 120, 1336, 1886, 1886, 1886, 9641 1886, 1886, 1336, 1886, 1886, 1886, 1886, 1886, 1336, 1336, 9642 1336, 1336, 1336, 1341, 1341, 1886, 1341, 1341, 1341, 1341, 9643 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1341, 9644 1341, 627, 1886, 1886, 1886, 1886, 1886, 1886, 627, 1886, 9645 627, 1886, 1886, 627, 627, 627, 627, 129, 1886, 1886, 9646 9647 1886, 1886, 1886, 1886, 1886, 129, 1886, 129, 1886, 129, 9648 129, 129, 129, 129, 630, 630, 630, 630, 1351, 1351, 9649 1886, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 9650 1351, 1351, 1351, 1351, 1351, 1351, 709, 709, 709, 709, 9651 709, 709, 1886, 709, 709, 709, 709, 709, 709, 709, 9652 709, 709, 709, 709, 710, 710, 1886, 710, 710, 710, 9653 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, 9654 710, 710, 1206, 1206, 1886, 1206, 1206, 1206, 1206, 1206, 9655 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 9656 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 9657 9658 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 225, 225, 9659 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 9660 225, 225, 225, 225, 225, 225, 1415, 1415, 1415, 1415, 9661 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 9662 1415, 1415, 1415, 1415, 237, 237, 237, 237, 237, 237, 9663 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 9664 237, 237, 1423, 1886, 1423, 1886, 1886, 1886, 1886, 1423, 9665 1886, 1886, 1423, 1423, 1423, 1423, 1423, 1423, 1426, 1426, 9666 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 9667 1426, 1426, 1426, 1426, 1426, 1426, 1468, 1468, 1468, 1468, 9668 9669 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 9670 1468, 1468, 1468, 1468, 318, 318, 318, 318, 318, 318, 9671 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 9672 318, 318, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 9673 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 9674 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 9675 328, 328, 328, 328, 328, 328, 328, 328, 111, 111, 9676 1886, 111, 111, 111, 111, 111, 111, 111, 111, 111, 9677 111, 111, 111, 111, 111, 111, 114, 114, 114, 114, 9678 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 9679 9680 114, 114, 114, 114, 120, 120, 120, 120, 120, 120, 9681 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 9682 120, 120, 1336, 1886, 1886, 1886, 1886, 1886, 1336, 1886, 9683 1886, 1886, 1886, 1886, 1336, 1336, 1336, 1336, 1336, 1479, 9684 1886, 1479, 1886, 1886, 1886, 1886, 1479, 1886, 1886, 1479, 9685 1479, 1479, 1479, 1479, 1479, 1529, 1886, 1529, 1886, 1886, 9686 1886, 1886, 1529, 1886, 1886, 1529, 1529, 1529, 1529, 1529, 9687 1529, 477, 477, 477, 477, 477, 477, 477, 477, 477, 9688 477, 477, 477, 477, 477, 477, 477, 477, 477, 1611, 9689 1611, 1611, 1611, 1611, 1636, 1636, 1886, 1636, 1636, 1636, 9690 9691 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 9692 1636, 1636, 659, 659, 659, 659, 659, 659, 659, 659, 9693 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 9694 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 9695 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1717, 1717, 9696 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 9697 1717, 1717, 1717, 1717, 1717, 1717, 1737, 1737, 1737, 1737, 9698 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 9699 1737, 1737, 1737, 1737, 1738, 1738, 1738, 1738, 1738, 1738, 9700 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 9701 9702 1738, 1738, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 9703 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 9704 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 9705 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1771, 1771, 9706 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 9707 1771, 1771, 1771, 1771, 1771, 1771, 1774, 1774, 1774, 1774, 9708 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 9709 1774, 1774, 1774, 1774, 1815, 1815, 1815, 1815, 1815, 1815, 9710 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 9711 1815, 1815, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 9712 9713 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 9714 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 9715 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1868, 1868, 9716 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 9717 1868, 1868, 1868, 1868, 1868, 1868, 1871, 1871, 1871, 1871, 9718 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 9719 1871, 1871, 1871, 1871, 1873, 1873, 1873, 1873, 1873, 1873, 9720 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 9721 1873, 1873, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 9722 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 9723 9724 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 9725 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 15, 1886, 9726 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 9727 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 9728 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 9729 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 9730 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 9731 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 9732 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 9733 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886 9734 7697 9735 } ; 7698 9736 7699 static yyconst flex_int16_t yy_chk[ 4102] =9737 static yyconst flex_int16_t yy_chk[9500] = 7700 9738 { 0, 7701 9739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 7707 9745 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7708 9746 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7709 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 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 7800 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7801 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7802 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7803 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7804 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7805 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7806 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7807 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 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, 7840 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 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, 8083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 9747 2, 2, 2, 2, 1884, 8, 8, 8, 8, 9, 9748 9, 9, 10, 10, 10, 16, 102, 72, 9, 72, 9749 9750 17, 10, 17, 19, 21, 20, 2, 2, 1882, 16, 9751 2, 8, 2, 8, 1907, 1907, 70, 19, 21, 24, 9752 22, 70, 1881, 2, 16, 102, 24, 24, 1878, 17, 9753 20, 108, 19, 21, 22, 2, 2, 16, 104, 2, 9754 8, 2, 8, 17, 20, 19, 21, 24, 1873, 22, 9755 27, 2, 6, 6, 6, 6, 26, 71, 17, 20, 9756 108, 24, 22, 28, 32, 112, 104, 27, 1871, 109, 9757 26, 17, 20, 33, 32, 1868, 24, 28, 6, 6, 9758 1865, 27, 6, 120, 6, 26, 113, 33, 32, 24, 9759 120, 120, 28, 71, 112, 6, 27, 109, 26, 110, 9760 9761 1864, 110, 33, 32, 98, 28, 98, 6, 6, 27, 9762 243, 6, 243, 6, 113, 33, 32, 59, 59, 59, 9763 59, 71, 98, 6, 11, 11, 11, 11, 11, 11, 9764 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 9765 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 9766 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 9767 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 9768 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 9769 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 9770 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 9771 9772 11, 11, 11, 11, 12, 12, 12, 12, 34, 23, 9773 23, 23, 23, 116, 1861, 34, 12, 100, 150, 100, 9774 150, 316, 12, 150, 1857, 36, 25, 158, 25, 34, 9775 12, 12, 36, 116, 12, 100, 12, 316, 23, 25, 9776 106, 25, 106, 25, 34, 135, 36, 12, 118, 118, 9777 118, 118, 23, 136, 44, 25, 158, 34, 106, 12, 9778 12, 36, 116, 12, 107, 12, 107, 23, 44, 25, 9779 590, 1854, 1810, 135, 36, 12, 14, 14, 14, 14, 9780 23, 136, 107, 44, 25, 1809, 590, 30, 30, 30, 9781 809, 1788, 162, 107, 14, 30, 44, 25, 30, 31, 9782 9783 137, 31, 14, 14, 30, 140, 14, 809, 14, 30, 9784 31, 31, 31, 35, 35, 137, 30, 122, 83, 14, 9785 35, 162, 107, 31, 122, 122, 31, 52, 52, 137, 9786 30, 14, 14, 140, 35, 14, 141, 14, 165, 31, 9787 31, 31, 52, 137, 168, 30, 83, 14, 29, 35, 9788 29, 31, 37, 173, 31, 37, 52, 52, 30, 57, 9789 83, 37, 35, 190, 141, 117, 29, 165, 37, 37, 9790 52, 202, 29, 168, 1414, 83, 29, 29, 29, 57, 9791 61, 37, 173, 29, 37, 29, 29, 905, 83, 37, 9792 905, 29, 190, 57, 159, 29, 37, 37, 61, 82, 9793 9794 202, 29, 117, 82, 1764, 29, 29, 29, 57, 82, 9795 38, 29, 61, 29, 29, 38, 40, 40, 38, 29, 9796 40, 57, 159, 29, 43, 1414, 40, 61, 82, 38, 9797 117, 40, 82, 43, 69, 69, 69, 82, 43, 38, 9798 61, 47, 47, 1762, 38, 40, 40, 38, 775, 40, 9799 775, 47, 160, 43, 40, 161, 47, 38, 39, 40, 9800 163, 43, 69, 39, 48, 39, 43, 45, 1738, 39, 9801 47, 47, 39, 48, 45, 45, 45, 39, 48, 47, 9802 160, 45, 39, 161, 47, 60, 164, 39, 163, 428, 9803 60, 69, 39, 48, 39, 208, 45, 39, 428, 428, 9804 9805 39, 48, 45, 45, 45, 39, 48, 1737, 1731, 45, 9806 39, 41, 46, 60, 164, 46, 1712, 41, 166, 41, 9807 41, 1711, 41, 41, 208, 41, 46, 60, 125, 41, 9808 121, 121, 121, 85, 138, 125, 125, 85, 121, 121, 9809 41, 46, 60, 85, 46, 41, 166, 41, 41, 138, 9810 41, 41, 124, 41, 46, 60, 1706, 41, 42, 124, 9811 124, 42, 85, 138, 42, 42, 85, 42, 125, 49, 9812 50, 85, 42, 42, 49, 124, 139, 138, 50, 1703, 9813 50, 49, 170, 49, 50, 50, 139, 42, 49, 49, 9814 42, 210, 42, 42, 172, 42, 125, 211, 49, 50, 9815 9816 42, 42, 1420, 49, 124, 139, 50, 51, 50, 49, 9817 170, 49, 50, 50, 139, 1143, 49, 49, 1143, 51, 9818 210, 51, 172, 1687, 51, 53, 211, 51, 174, 53, 9819 53, 75, 75, 75, 75, 246, 51, 246, 246, 53, 9820 99, 54, 1675, 75, 53, 53, 54, 51, 54, 51, 9821 1674, 99, 51, 1420, 53, 51, 174, 75, 53, 53, 9822 54, 1669, 79, 126, 175, 126, 55, 53, 99, 56, 9823 54, 56, 53, 53, 55, 54, 126, 54, 126, 55, 9824 55, 56, 99, 56, 1668, 317, 75, 317, 54, 79, 9825 79, 1567, 175, 79, 1567, 55, 212, 99, 56, 79, 9826 9827 56, 176, 55, 317, 79, 77, 178, 55, 55, 56, 9828 99, 56, 58, 58, 58, 58, 62, 63, 79, 79, 9829 62, 62, 79, 63, 62, 212, 63, 79, 77, 176, 9830 62, 63, 79, 77, 178, 62, 77, 214, 58, 58, 9831 1469, 58, 58, 1663, 58, 62, 63, 77, 220, 62, 9832 62, 63, 1642, 62, 63, 58, 1635, 77, 62, 63, 9833 1662, 157, 77, 62, 1627, 77, 214, 58, 58, 65, 9834 58, 58, 64, 58, 65, 77, 65, 220, 157, 64, 9835 64, 64, 127, 58, 127, 76, 64, 94, 65, 94, 9836 157, 1469, 94, 65, 94, 127, 213, 127, 65, 1626, 9837 9838 213, 64, 179, 65, 1624, 65, 157, 64, 64, 64, 9839 76, 1662, 177, 76, 64, 94, 65, 94, 1622, 76, 9840 94, 65, 94, 177, 81, 213, 76, 76, 81, 213, 9841 179, 81, 81, 180, 81, 142, 142, 142, 1618, 76, 9842 81, 177, 76, 142, 133, 181, 133, 76, 427, 1615, 9843 427, 177, 142, 81, 76, 76, 78, 81, 427, 81, 9844 81, 180, 81, 777, 1614, 777, 86, 87, 81, 182, 9845 86, 87, 133, 181, 185, 1552, 86, 87, 91, 78, 9846 1636, 133, 91, 1636, 78, 230, 78, 183, 91, 183, 9847 78, 133, 84, 78, 188, 86, 87, 182, 78, 86, 9848 9849 87, 133, 185, 78, 86, 87, 1551, 91, 78, 133, 9850 189, 91, 192, 78, 230, 78, 91, 1680, 78, 133, 9851 84, 78, 188, 1547, 193, 369, 78, 84, 84, 84, 9852 183, 78, 80, 1701, 84, 191, 80, 134, 189, 80, 9853 192, 80, 80, 191, 80, 80, 134, 134, 340, 84, 9854 340, 80, 193, 89, 369, 84, 84, 84, 183, 134, 9855 1638, 80, 84, 1638, 191, 80, 340, 80, 1680, 80, 9856 80, 191, 80, 80, 88, 134, 134, 194, 88, 80, 9857 195, 89, 88, 1546, 1701, 96, 88, 134, 88, 89, 9858 1545, 89, 90, 96, 88, 89, 89, 169, 1543, 1536, 9859 9860 196, 371, 169, 88, 90, 194, 90, 88, 195, 90, 9861 89, 88, 90, 96, 88, 198, 88, 89, 93, 89, 9862 197, 90, 88, 89, 89, 92, 169, 96, 196, 92, 9863 371, 169, 90, 92, 90, 197, 95, 90, 1531, 92, 9864 90, 93, 96, 198, 92, 92, 93, 708, 93, 197, 9865 217, 217, 217, 217, 92, 96, 708, 708, 92, 1468, 9866 93, 103, 92, 197, 95, 103, 95, 92, 103, 1466, 9867 93, 103, 92, 92, 204, 93, 95, 93, 95, 97, 9868 97, 97, 97, 201, 144, 144, 144, 144, 93, 201, 9869 103, 97, 144, 95, 103, 95, 103, 167, 167, 103, 9870 9871 199, 144, 204, 199, 95, 97, 95, 224, 224, 224, 9872 224, 1461, 201, 226, 226, 226, 226, 201, 248, 1460, 9873 248, 248, 353, 1205, 1458, 167, 167, 1455, 199, 353, 9874 353, 199, 1205, 1205, 97, 101, 101, 101, 101, 101, 9875 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 9876 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 9877 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 9878 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 9879 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 9880 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 9881 9882 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 9883 101, 101, 101, 101, 101, 105, 356, 129, 184, 129, 9884 184, 1452, 105, 356, 356, 1023, 105, 1023, 184, 105, 9885 129, 129, 129, 129, 130, 129, 130, 205, 206, 105, 9886 1449, 415, 184, 415, 105, 1448, 148, 130, 130, 130, 9887 130, 105, 130, 171, 105, 148, 148, 105, 130, 131, 9888 200, 131, 1447, 415, 209, 205, 206, 105, 148, 129, 9889 200, 184, 131, 131, 131, 131, 393, 131, 143, 143, 9890 143, 143, 1441, 216, 148, 148, 130, 130, 1435, 200, 9891 143, 149, 209, 149, 171, 171, 148, 216, 200, 1431, 9892 9893 131, 221, 149, 149, 143, 393, 394, 186, 1426, 187, 9894 187, 131, 216, 219, 242, 149, 187, 222, 1416, 186, 9895 229, 186, 171, 171, 186, 216, 1415, 219, 131, 221, 9896 1342, 149, 149, 143, 207, 394, 186, 187, 187, 203, 9897 242, 203, 219, 149, 187, 222, 223, 186, 207, 186, 9898 227, 207, 186, 223, 228, 219, 233, 203, 203, 231, 9899 229, 203, 234, 207, 232, 232, 231, 1335, 203, 242, 9900 203, 236, 240, 227, 223, 241, 207, 228, 397, 207, 9901 315, 223, 315, 235, 233, 203, 203, 231, 229, 203, 9902 234, 1332, 232, 232, 231, 235, 345, 235, 241, 236, 9903 9904 235, 346, 227, 239, 239, 239, 228, 397, 240, 315, 9905 1331, 1316, 235, 347, 247, 247, 247, 247, 251, 251, 9906 251, 251, 1315, 235, 345, 235, 247, 241, 235, 346, 9907 251, 239, 254, 255, 254, 321, 240, 1311, 315, 252, 9908 247, 347, 255, 1306, 251, 322, 252, 252, 252, 348, 9909 255, 254, 1305, 252, 253, 1787, 1304, 253, 321, 1302, 9910 239, 254, 255, 254, 253, 253, 253, 257, 252, 247, 9911 255, 253, 256, 251, 252, 252, 252, 348, 255, 254, 9912 258, 252, 257, 253, 257, 322, 253, 321, 256, 256, 9913 400, 259, 253, 253, 253, 327, 257, 258, 260, 253, 9914 9915 1287, 256, 259, 261, 264, 261, 1787, 260, 259, 258, 9916 257, 262, 257, 322, 350, 260, 256, 256, 327, 400, 9917 259, 264, 261, 262, 323, 258, 323, 260, 262, 266, 9918 259, 263, 261, 264, 261, 260, 259, 267, 368, 266, 9919 262, 263, 263, 260, 1789, 350, 266, 327, 263, 264, 9920 261, 262, 265, 323, 265, 1274, 262, 265, 266, 408, 9921 263, 267, 409, 269, 269, 1266, 368, 266, 268, 263, 9922 263, 265, 270, 350, 266, 378, 263, 380, 267, 267, 9923 269, 265, 323, 265, 268, 268, 265, 270, 408, 270, 9924 267, 409, 269, 269, 272, 1789, 324, 268, 324, 265, 9925 9926 395, 270, 271, 378, 1263, 380, 267, 267, 269, 272, 9927 1247, 272, 268, 268, 324, 270, 273, 270, 1246, 271, 9928 271, 274, 273, 272, 275, 324, 276, 370, 395, 370, 9929 274, 271, 370, 273, 279, 1206, 279, 272, 274, 272, 9930 1159, 275, 275, 276, 351, 273, 281, 271, 271, 412, 9931 274, 273, 1149, 275, 324, 276, 278, 277, 274, 281, 9932 279, 273, 1145, 281, 286, 344, 274, 278, 286, 275, 9933 275, 276, 277, 278, 277, 281, 1144, 279, 412, 344, 9934 280, 286, 280, 1801, 351, 278, 277, 281, 1122, 279, 9935 280, 281, 1112, 286, 344, 278, 282, 286, 1111, 1098, 9936 9937 277, 278, 277, 396, 280, 279, 280, 344, 282, 286, 9938 282, 283, 351, 282, 1095, 284, 311, 311, 311, 311, 9939 283, 283, 398, 280, 399, 282, 284, 283, 283, 288, 9940 1080, 396, 284, 280, 1801, 280, 282, 1841, 282, 288, 9941 283, 282, 285, 361, 284, 361, 288, 1076, 283, 283, 9942 398, 280, 399, 285, 284, 283, 283, 361, 288, 285, 9943 284, 287, 287, 289, 1068, 290, 291, 288, 292, 1067, 9944 287, 285, 289, 1060, 288, 291, 290, 292, 287, 1055, 9945 289, 285, 290, 291, 401, 292, 332, 285, 1841, 332, 9946 287, 287, 289, 332, 290, 291, 1031, 292, 287, 293, 9947 9948 289, 293, 294, 291, 290, 292, 287, 295, 289, 925, 9949 290, 291, 401, 292, 332, 918, 293, 332, 912, 294, 9950 300, 332, 295, 868, 295, 295, 296, 865, 293, 297, 9951 293, 294, 296, 298, 298, 297, 295, 300, 402, 300, 9952 403, 297, 296, 296, 293, 861, 297, 294, 855, 300, 9953 295, 298, 295, 295, 299, 296, 299, 381, 297, 381, 9954 381, 296, 298, 298, 297, 300, 402, 300, 403, 297, 9955 296, 296, 299, 299, 297, 843, 299, 301, 302, 298, 9956 304, 304, 841, 299, 406, 299, 301, 668, 305, 668, 9957 312, 312, 312, 312, 301, 302, 302, 668, 304, 826, 9958 9959 299, 299, 312, 305, 299, 305, 301, 302, 820, 304, 9960 304, 303, 406, 303, 301, 307, 312, 305, 306, 336, 9961 306, 307, 301, 302, 302, 303, 304, 377, 303, 377, 9962 303, 305, 307, 305, 407, 306, 336, 308, 798, 308, 9963 303, 413, 303, 377, 307, 312, 416, 306, 336, 306, 9964 307, 789, 788, 303, 308, 309, 303, 309, 303, 310, 9965 307, 309, 407, 306, 336, 310, 308, 377, 308, 325, 9966 413, 325, 309, 419, 420, 416, 310, 313, 313, 313, 9967 313, 330, 308, 421, 309, 325, 309, 325, 310, 424, 9968 309, 422, 330, 422, 310, 377, 325, 325, 710, 330, 9969 9970 309, 331, 419, 420, 310, 326, 326, 326, 326, 325, 9971 330, 421, 331, 422, 333, 333, 333, 326, 424, 331, 9972 330, 333, 334, 418, 418, 325, 325, 330, 334, 334, 9973 331, 326, 438, 362, 438, 362, 383, 325, 383, 383, 9974 331, 709, 333, 333, 333, 681, 362, 331, 362, 333, 9975 334, 418, 418, 1025, 438, 1025, 334, 334, 680, 434, 9976 326, 328, 328, 328, 328, 328, 328, 328, 328, 328, 9977 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 9978 335, 328, 328, 328, 328, 328, 337, 338, 434, 335, 9979 405, 659, 404, 339, 658, 404, 335, 423, 337, 338, 9980 9981 426, 338, 429, 337, 338, 430, 339, 405, 431, 335, 9982 339, 1631, 328, 328, 654, 337, 338, 335, 1631, 405, 9983 404, 1631, 339, 404, 335, 423, 337, 338, 426, 338, 9984 429, 337, 338, 430, 339, 405, 431, 342, 339, 342, 9985 328, 329, 329, 329, 329, 329, 329, 329, 329, 329, 9986 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 9987 437, 329, 329, 329, 329, 329, 342, 341, 653, 341, 9988 343, 360, 343, 354, 354, 354, 432, 329, 360, 360, 9989 650, 354, 354, 359, 329, 341, 343, 435, 343, 437, 9990 359, 359, 329, 329, 436, 342, 341, 343, 343, 343, 9991 9992 355, 355, 355, 440, 432, 329, 648, 439, 355, 355, 9993 343, 433, 329, 640, 360, 435, 363, 359, 363, 364, 9994 329, 364, 436, 445, 433, 341, 343, 343, 343, 637, 9995 363, 440, 363, 364, 363, 364, 439, 364, 343, 366, 9996 433, 366, 360, 636, 367, 359, 367, 372, 443, 372, 9997 443, 445, 433, 366, 635, 366, 410, 366, 367, 411, 9998 367, 622, 367, 372, 382, 382, 382, 382, 363, 586, 9999 443, 364, 410, 580, 366, 411, 382, 386, 386, 386, 10000 386, 387, 387, 387, 387, 386, 441, 558, 367, 387, 10001 382, 366, 372, 387, 386, 390, 367, 410, 387, 417, 10002 10003 411, 417, 366, 442, 390, 390, 425, 387, 425, 444, 10004 505, 446, 447, 448, 450, 441, 367, 390, 453, 382, 10005 372, 417, 451, 452, 455, 410, 456, 459, 411, 454, 10006 504, 460, 442, 390, 390, 417, 387, 454, 444, 446, 10007 447, 461, 448, 450, 464, 390, 414, 453, 414, 425, 10008 451, 452, 462, 455, 456, 459, 463, 454, 457, 460, 10009 458, 468, 458, 417, 500, 454, 457, 499, 414, 465, 10010 461, 466, 464, 414, 1033, 467, 1033, 425, 414, 485, 10011 469, 462, 458, 470, 472, 463, 473, 457, 414, 414, 10012 468, 474, 414, 476, 457, 458, 478, 465, 479, 466, 10013 10014 480, 481, 414, 467, 458, 482, 483, 414, 469, 484, 10015 486, 470, 472, 485, 473, 487, 414, 414, 488, 474, 10016 414, 476, 490, 458, 478, 489, 479, 491, 480, 481, 10017 492, 493, 458, 482, 483, 494, 512, 497, 484, 497, 10018 497, 485, 489, 492, 487, 509, 507, 488, 495, 495, 10019 495, 490, 508, 486, 489, 498, 491, 498, 498, 492, 10020 493, 506, 511, 501, 494, 501, 501, 484, 510, 512, 10021 489, 492, 502, 502, 502, 502, 503, 507, 503, 503, 10022 495, 486, 509, 515, 502, 513, 508, 514, 506, 516, 10023 518, 517, 522, 494, 496, 521, 589, 512, 502, 510, 10024 10025 519, 520, 615, 523, 523, 511, 507, 477, 475, 495, 10026 509, 513, 524, 612, 508, 518, 525, 506, 521, 522, 10027 523, 514, 528, 515, 589, 531, 517, 502, 510, 517, 10028 516, 615, 518, 511, 519, 520, 524, 527, 527, 527, 10029 513, 612, 530, 525, 518, 523, 533, 521, 522, 514, 10030 535, 515, 531, 528, 517, 536, 538, 517, 516, 527, 10031 518, 537, 519, 520, 544, 524, 532, 529, 529, 529, 10032 539, 540, 525, 523, 526, 526, 526, 534, 534, 534, 10033 536, 531, 528, 530, 530, 535, 541, 533, 392, 529, 10034 538, 391, 388, 532, 542, 545, 526, 543, 537, 534, 10035 10036 549, 526, 385, 529, 539, 544, 526, 384, 379, 536, 10037 548, 530, 530, 535, 540, 533, 526, 526, 538, 551, 10038 526, 542, 532, 546, 543, 550, 537, 554, 560, 541, 10039 526, 529, 539, 544, 542, 526, 553, 545, 547, 547, 10040 547, 548, 540, 549, 526, 526, 551, 555, 526, 546, 10041 542, 550, 556, 543, 552, 552, 552, 541, 559, 557, 10042 547, 554, 542, 553, 561, 545, 564, 562, 563, 560, 10043 548, 549, 565, 573, 571, 551, 552, 570, 546, 574, 10044 550, 559, 568, 566, 579, 567, 567, 567, 556, 554, 10045 557, 572, 553, 569, 555, 564, 376, 560, 562, 576, 10046 10047 561, 571, 577, 375, 563, 575, 565, 567, 570, 566, 10048 559, 581, 563, 573, 578, 374, 556, 566, 572, 557, 10049 567, 574, 555, 583, 564, 568, 579, 562, 561, 567, 10050 571, 577, 563, 373, 565, 582, 569, 570, 566, 576, 10051 563, 573, 593, 575, 591, 566, 591, 572, 567, 574, 10052 578, 581, 594, 568, 579, 365, 1035, 567, 1035, 592, 10053 577, 592, 591, 358, 569, 583, 613, 576, 357, 582, 10054 598, 575, 584, 584, 584, 584, 593, 592, 578, 581, 10055 585, 585, 585, 585, 587, 587, 587, 587, 592, 595, 10056 596, 595, 596, 583, 613, 594, 587, 582, 601, 598, 10057 10058 607, 352, 349, 602, 593, 601, 609, 607, 596, 606, 10059 587, 625, 651, 625, 651, 651, 602, 592, 595, 596, 10060 605, 320, 605, 594, 625, 606, 625, 601, 598, 607, 10061 609, 603, 602, 601, 597, 607, 597, 605, 606, 587, 10062 588, 588, 588, 588, 602, 603, 604, 595, 596, 605, 10063 597, 605, 597, 606, 604, 608, 614, 604, 616, 609, 10064 603, 597, 597, 617, 318, 605, 588, 588, 664, 588, 10065 588, 314, 588, 603, 597, 604, 250, 633, 608, 633, 10066 620, 611, 604, 588, 614, 604, 616, 620, 620, 249, 10067 597, 597, 617, 633, 245, 588, 588, 664, 588, 588, 10068 10069 618, 588, 597, 652, 610, 652, 652, 608, 611, 244, 10070 237, 588, 599, 599, 599, 599, 599, 599, 599, 599, 10071 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 10072 599, 610, 599, 599, 599, 599, 599, 611, 618, 621, 10073 626, 665, 626, 634, 610, 634, 621, 621, 599, 623, 10074 647, 225, 661, 626, 218, 626, 623, 623, 619, 634, 10075 610, 624, 123, 599, 599, 629, 618, 629, 624, 624, 10076 665, 628, 610, 628, 119, 1118, 599, 1118, 647, 629, 10077 661, 115, 619, 629, 784, 628, 784, 784, 624, 628, 10078 623, 599, 600, 600, 600, 600, 600, 600, 600, 600, 10079 10080 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 10081 600, 619, 600, 600, 600, 600, 600, 624, 623, 666, 10082 627, 600, 627, 628, 662, 630, 670, 630, 114, 663, 10083 638, 627, 638, 627, 667, 627, 627, 74, 627, 630, 10084 631, 671, 631, 600, 600, 632, 638, 632, 666, 645, 10085 600, 645, 662, 672, 631, 670, 631, 663, 631, 632, 10086 673, 632, 667, 632, 675, 645, 655, 655, 655, 655, 10087 671, 600, 627, 632, 655, 67, 674, 656, 656, 656, 10088 656, 672, 631, 655, 1250, 656, 1250, 676, 673, 656, 10089 677, 687, 631, 675, 656, 678, 679, 632, 657, 657, 10090 10091 657, 657, 632, 656, 674, 682, 657, 683, 686, 683, 10092 631, 660, 660, 660, 660, 657, 676, 688, 677, 660, 10093 687, 689, 690, 678, 679, 691, 693, 691, 660, 15, 10094 696, 697, 656, 682, 699, 694, 686, 694, 700, 683, 10095 700, 701, 702, 704, 702, 704, 688, 691, 705, 689, 10096 706, 690, 713, 683, 693, 714, 7, 694, 696, 697, 10097 700, 712, 699, 715, 702, 704, 0, 0, 683, 718, 10098 701, 725, 0, 717, 719, 0, 705, 720, 706, 0, 10099 713, 683, 684, 714, 684, 711, 711, 711, 724, 721, 10100 712, 721, 715, 731, 716, 711, 711, 718, 711, 725, 10101 10102 711, 716, 717, 719, 684, 733, 720, 711, 722, 684, 10103 722, 721, 0, 726, 684, 726, 734, 724, 728, 727, 10104 728, 727, 731, 716, 684, 684, 0, 735, 684, 716, 10105 722, 736, 0, 737, 733, 726, 738, 739, 684, 740, 10106 728, 727, 741, 684, 734, 742, 753, 743, 748, 743, 10107 749, 750, 684, 684, 727, 735, 684, 743, 751, 754, 10108 736, 737, 755, 711, 738, 739, 757, 745, 740, 745, 10109 741, 747, 758, 747, 742, 753, 748, 761, 749, 750, 10110 762, 760, 727, 760, 763, 765, 751, 766, 754, 745, 10111 755, 767, 768, 747, 757, 769, 770, 771, 772, 773, 10112 10113 774, 758, 778, 760, 776, 781, 761, 783, 0, 762, 10114 791, 779, 776, 763, 765, 766, 0, 1254, 779, 1254, 10115 767, 768, 779, 790, 769, 770, 773, 785, 774, 785, 10116 785, 778, 0, 776, 780, 792, 780, 771, 0, 772, 10117 779, 776, 795, 783, 780, 781, 779, 791, 780, 786, 10118 779, 786, 786, 780, 793, 773, 782, 782, 782, 787, 10119 794, 787, 787, 799, 790, 771, 796, 772, 800, 795, 10120 803, 783, 801, 781, 804, 791, 792, 802, 806, 793, 10121 797, 797, 797, 807, 808, 810, 799, 805, 782, 794, 10122 797, 812, 790, 813, 817, 800, 814, 815, 795, 811, 10123 10124 811, 811, 816, 0, 792, 804, 821, 796, 793, 801, 10125 818, 802, 806, 803, 805, 799, 819, 782, 794, 810, 10126 808, 813, 827, 814, 800, 0, 807, 828, 812, 823, 10127 0, 811, 816, 825, 804, 796, 829, 801, 817, 802, 10128 806, 803, 0, 805, 815, 811, 821, 810, 808, 830, 10129 813, 818, 814, 827, 807, 833, 812, 0, 819, 823, 10130 811, 816, 822, 822, 822, 831, 817, 824, 824, 824, 10131 828, 832, 815, 811, 821, 825, 834, 838, 829, 818, 10132 830, 835, 827, 837, 822, 842, 819, 845, 823, 824, 10133 846, 833, 852, 0, 831, 836, 836, 836, 828, 848, 10134 10135 844, 831, 832, 825, 835, 834, 829, 849, 837, 830, 10136 857, 838, 850, 839, 839, 839, 842, 836, 0, 833, 10137 840, 840, 840, 831, 845, 846, 859, 844, 851, 831, 10138 847, 832, 852, 835, 834, 839, 853, 837, 858, 838, 10139 860, 848, 840, 867, 864, 842, 856, 856, 856, 849, 10140 857, 851, 845, 846, 850, 840, 844, 847, 866, 862, 10141 852, 854, 854, 854, 863, 875, 859, 853, 856, 848, 10142 867, 854, 858, 0, 870, 871, 860, 849, 857, 872, 10143 851, 0, 850, 840, 862, 0, 847, 864, 896, 863, 10144 869, 869, 869, 875, 859, 866, 853, 0, 0, 867, 10145 10146 858, 870, 871, 880, 860, 900, 872, 873, 873, 873, 10147 873, 896, 869, 862, 877, 864, 877, 0, 863, 874, 10148 874, 874, 874, 866, 878, 881, 878, 879, 0, 879, 10149 870, 871, 877, 883, 900, 872, 876, 876, 876, 876, 10150 896, 886, 878, 886, 880, 879, 888, 887, 888, 887, 10151 899, 902, 881, 878, 876, 889, 879, 889, 0, 882, 10152 904, 882, 876, 876, 0, 876, 876, 921, 876, 921, 10153 921, 887, 880, 883, 888, 882, 929, 882, 899, 876, 10154 902, 881, 878, 886, 904, 879, 882, 882, 895, 895, 10155 895, 876, 876, 889, 876, 876, 893, 876, 893, 882, 10156 10157 887, 883, 907, 888, 913, 929, 913, 876, 0, 907, 10158 907, 886, 890, 904, 890, 882, 882, 891, 913, 891, 10159 922, 889, 922, 922, 893, 0, 897, 882, 884, 884, 10160 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 10161 884, 884, 884, 884, 884, 884, 884, 890, 884, 884, 10162 884, 884, 884, 893, 908, 897, 908, 0, 898, 898, 10163 898, 891, 897, 927, 0, 908, 897, 928, 898, 0, 10164 0, 930, 898, 931, 892, 890, 892, 898, 0, 884, 10165 884, 910, 0, 910, 897, 923, 923, 923, 923, 891, 10166 897, 927, 910, 923, 897, 928, 0, 910, 892, 910, 10167 10168 930, 931, 923, 1125, 1125, 1125, 892, 884, 885, 885, 10169 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 10170 885, 885, 885, 885, 885, 885, 885, 892, 885, 885, 10171 885, 885, 885, 910, 894, 892, 894, 906, 911, 936, 10172 911, 0, 933, 938, 906, 906, 0, 939, 934, 911, 10173 934, 914, 0, 914, 911, 946, 911, 940, 934, 885, 10174 885, 0, 894, 948, 906, 914, 941, 914, 936, 914, 10175 933, 938, 924, 924, 924, 924, 939, 943, 944, 914, 10176 924, 935, 949, 935, 946, 940, 1005, 885, 1005, 924, 10177 911, 894, 948, 906, 941, 1043, 1005, 1043, 1043, 1044, 10178 10179 0, 1044, 1044, 914, 0, 943, 944, 935, 914, 915, 10180 915, 949, 915, 915, 915, 915, 915, 915, 915, 915, 10181 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 10182 915, 915, 915, 915, 0, 951, 935, 926, 926, 926, 10183 926, 945, 950, 952, 954, 926, 953, 957, 958, 926, 10184 959, 1255, 960, 1255, 926, 961, 962, 963, 962, 0, 10185 915, 915, 915, 926, 951, 964, 969, 964, 0, 945, 10186 950, 0, 952, 954, 953, 957, 958, 0, 962, 959, 10187 947, 960, 947, 0, 961, 963, 0, 964, 915, 1343, 10188 975, 1343, 926, 932, 932, 969, 932, 932, 932, 932, 10189 10190 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 10191 932, 932, 947, 932, 932, 932, 932, 932, 967, 975, 10192 967, 971, 1045, 971, 1045, 1045, 947, 976, 0, 0, 10193 978, 979, 971, 0, 971, 972, 971, 972, 0, 980, 10194 967, 947, 981, 971, 932, 932, 972, 982, 972, 0, 10195 972, 973, 973, 973, 947, 984, 976, 972, 978, 987, 10196 979, 973, 973, 988, 973, 974, 973, 980, 993, 983, 10197 981, 983, 932, 973, 974, 974, 982, 974, 985, 974, 10198 985, 994, 989, 984, 989, 991, 974, 991, 987, 995, 10199 997, 983, 988, 996, 999, 1000, 1003, 993, 1002, 971, 10200 10201 985, 1004, 0, 1009, 989, 1010, 1007, 991, 1007, 1011, 10202 994, 1012, 1014, 972, 0, 1013, 1015, 1016, 995, 997, 10203 1017, 996, 1024, 999, 1000, 1003, 1002, 1026, 1007, 973, 10204 1004, 1009, 1018, 1010, 1018, 1027, 1022, 1011, 1022, 1029, 10205 1012, 1014, 974, 1013, 1015, 1016, 1022, 1028, 1017, 1028, 10206 1030, 1024, 1032, 1034, 1018, 1036, 1026, 1028, 1037, 1042, 10207 1041, 1028, 1047, 1027, 1048, 1038, 1028, 1038, 1049, 1050, 10208 1029, 1040, 1051, 1040, 1072, 1038, 1116, 1030, 1128, 1038, 10209 0, 1032, 1034, 1036, 1038, 1040, 1046, 1037, 1046, 1046, 10210 1040, 1041, 1050, 1135, 0, 1049, 1053, 1072, 0, 1029, 10211 10212 1048, 1042, 1054, 1047, 1116, 0, 1030, 1128, 1051, 1113, 10213 1113, 1113, 1114, 1114, 1114, 1114, 1326, 1326, 1326, 1113, 10214 1041, 1050, 1135, 1063, 1049, 1058, 1072, 1054, 1048, 1042, 10215 1056, 1047, 1059, 1061, 1053, 1062, 1051, 1052, 1052, 1052, 10216 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 10217 1052, 1052, 1052, 1052, 1052, 1052, 1054, 1052, 1052, 1052, 10218 1052, 1052, 1053, 1057, 1063, 1058, 1056, 1065, 1059, 1062, 10219 1061, 1066, 1064, 1069, 1070, 1071, 1073, 1075, 1074, 1074, 10220 1074, 1081, 1079, 1077, 1078, 1083, 1084, 1087, 1052, 1052, 10221 1057, 1082, 1063, 1058, 1056, 1065, 1059, 1062, 1061, 1064, 10222 10223 1074, 1066, 1071, 1085, 1344, 1073, 1344, 1069, 1079, 1078, 10224 1088, 1091, 1070, 1075, 1077, 1089, 1052, 1090, 1082, 1057, 10225 1093, 1081, 1084, 1097, 1065, 1092, 1094, 1083, 1064, 1087, 10226 1066, 1071, 1085, 1088, 1073, 1069, 1096, 1079, 1078, 1091, 10227 1070, 1075, 1089, 1077, 1086, 1086, 1086, 1082, 1090, 1081, 10228 1084, 1092, 1099, 1094, 1097, 1083, 1093, 1087, 1100, 1102, 10229 1101, 1085, 1088, 1096, 1103, 1104, 1086, 1106, 1091, 1105, 10230 1107, 1089, 1108, 1109, 1119, 1110, 1119, 1090, 0, 1137, 10231 1092, 1100, 1094, 1097, 1093, 1101, 1115, 1115, 1115, 1115, 10232 1124, 1129, 1096, 1136, 1099, 1105, 1120, 1107, 1120, 0, 10233 10234 1102, 1104, 1129, 1119, 1121, 0, 1103, 1137, 0, 1106, 10235 1100, 1146, 0, 1108, 1101, 1168, 1109, 1110, 1146, 1146, 10236 1129, 1124, 1099, 1131, 1105, 1120, 1107, 1136, 1102, 1104, 10237 1129, 1121, 1119, 1130, 1103, 1130, 1137, 1106, 1131, 0, 10238 1123, 1108, 1123, 1168, 1109, 1110, 1117, 1117, 1117, 1117, 10239 1124, 1169, 1131, 1132, 1120, 1136, 1123, 1138, 1123, 1132, 10240 1121, 0, 1130, 1152, 1130, 1152, 1131, 1123, 1123, 1412, 10241 1133, 1412, 1117, 1117, 1152, 1117, 1117, 1147, 1117, 1169, 10242 1123, 1133, 1132, 1148, 1147, 1147, 1138, 1171, 1132, 1117, 10243 1148, 1148, 1150, 1165, 1150, 1165, 1123, 1123, 1154, 1133, 10244 10245 1154, 1117, 1117, 1150, 1117, 1117, 0, 1117, 1123, 1133, 10246 1150, 1161, 1154, 1161, 1161, 1165, 1171, 1117, 1126, 1126, 10247 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 10248 1126, 1126, 1126, 1126, 1126, 1126, 1126, 0, 1126, 1126, 10249 1126, 1126, 1126, 1151, 1150, 1151, 1166, 1126, 1166, 1155, 10250 1162, 1155, 1162, 1162, 1151, 1196, 1174, 1196, 1197, 0, 10251 1197, 1151, 1155, 1176, 1155, 1156, 1177, 1156, 1166, 1126, 10252 1126, 1157, 1158, 1157, 1158, 0, 1126, 1196, 0, 1156, 10253 1197, 1156, 0, 1156, 1174, 1157, 1158, 1157, 1158, 1157, 10254 1158, 1176, 0, 1256, 1177, 1256, 1256, 1126, 1127, 1127, 10255 10256 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 10257 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1156, 1127, 1127, 10258 1127, 1127, 1127, 1157, 1158, 1127, 1163, 1163, 1163, 1163, 10259 1164, 1164, 1164, 1164, 1163, 1178, 1179, 1181, 1164, 1180, 10260 1183, 1184, 1172, 1163, 1172, 1186, 0, 1164, 1189, 1127, 10261 1127, 1202, 0, 1202, 1127, 1202, 1257, 0, 1257, 1257, 10262 0, 0, 1202, 1178, 1333, 1179, 1181, 1180, 1172, 1183, 10263 1184, 1333, 1333, 0, 1186, 1190, 1189, 1127, 1134, 1134, 8091 10264 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, 10265 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1172, 1134, 1134, 10266 10267 1134, 1134, 1134, 1190, 1191, 1192, 1193, 0, 1194, 1195, 10268 1199, 0, 1200, 1209, 1210, 1211, 1224, 1204, 1202, 1204, 10269 1212, 1204, 1214, 1215, 1216, 1218, 1216, 1218, 1204, 1134, 10270 1134, 1676, 1219, 1191, 1192, 1193, 1194, 1195, 1676, 1199, 10271 1200, 1676, 1209, 1210, 1211, 1224, 1216, 1218, 1212, 0, 10272 1214, 1215, 1220, 0, 1220, 1221, 0, 1134, 1153, 1153, 10273 1219, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 8116 10274 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 10275 1153, 1153, 1153, 1221, 1204, 1201, 1203, 1201, 1203, 0, 10276 1222, 1220, 1223, 1225, 1223, 1226, 1201, 1203, 1201, 1203, 10277 10278 1201, 1203, 1207, 1207, 1207, 0, 1227, 1201, 1203, 1153, 10279 1153, 1153, 1207, 1207, 1223, 1207, 0, 1207, 1222, 1220, 10280 1240, 1225, 1240, 1226, 1207, 1312, 1312, 1312, 1312, 0, 10281 1240, 1182, 0, 1182, 1227, 0, 1228, 1153, 1167, 1167, 10282 1229, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 10283 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1182, 1167, 1167, 10284 1167, 1167, 1167, 1201, 1203, 1228, 1231, 1208, 1229, 1267, 10285 1182, 1235, 1236, 1235, 1236, 1238, 1208, 1208, 1242, 1208, 10286 1207, 1208, 1237, 1243, 1237, 1244, 1182, 1248, 1208, 1167, 10287 1167, 1245, 1249, 1251, 1236, 1231, 1252, 1235, 1182, 1314, 10288 10289 1253, 1321, 1353, 1238, 1237, 0, 0, 1242, 1258, 1258, 10290 1258, 1243, 1322, 1261, 1244, 1267, 1248, 1167, 1354, 1245, 10291 1249, 1355, 1251, 1323, 1252, 0, 1235, 1253, 1314, 1321, 10292 1258, 1353, 1259, 1259, 1259, 1313, 1313, 1313, 1313, 0, 10293 1322, 1262, 1265, 1267, 1208, 1268, 1269, 1354, 1245, 1271, 10294 1355, 1323, 0, 1252, 1259, 1261, 1253, 1260, 1260, 1260, 10295 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 10296 1260, 1260, 1260, 1260, 1260, 1260, 1262, 1260, 1260, 1260, 10297 1260, 1260, 1264, 1261, 1265, 1268, 1270, 1272, 1275, 1269, 10298 1278, 1271, 1282, 1279, 1273, 1273, 1273, 1276, 1277, 1280, 10299 10300 1280, 1280, 1286, 1289, 1262, 1264, 1352, 1283, 1260, 1260, 10301 1352, 1270, 1265, 1268, 1281, 1275, 1284, 1269, 1272, 1271, 10302 1273, 1280, 1288, 1285, 1276, 1277, 1291, 1279, 1293, 1282, 10303 1278, 1294, 0, 1273, 1264, 1352, 1260, 1281, 1283, 1352, 10304 1270, 1296, 1286, 1284, 1275, 1289, 1298, 1272, 1297, 1273, 10305 1285, 0, 1299, 1276, 1277, 1279, 1303, 1282, 1278, 1301, 10306 1291, 1273, 1310, 1288, 1296, 1300, 1281, 1283, 0, 1293, 10307 1286, 0, 1284, 1289, 1290, 1290, 1290, 0, 1294, 1285, 10308 1292, 1292, 1292, 1295, 1295, 1295, 1298, 1303, 1291, 1299, 10309 1297, 1288, 1300, 1296, 1301, 0, 1290, 1293, 1307, 1307, 10310 10311 1307, 1308, 1308, 1308, 1310, 1295, 1294, 1309, 1309, 1309, 10312 1317, 1324, 1327, 1328, 1298, 1357, 1303, 1299, 1297, 1292, 10313 1334, 1300, 1301, 1308, 1307, 1358, 1359, 1334, 1334, 1309, 10314 0, 1336, 1310, 1336, 1337, 1327, 1337, 1361, 1317, 1324, 10315 0, 1328, 1336, 1338, 1357, 1338, 0, 1292, 1337, 1345, 10316 1345, 1345, 1345, 1307, 1358, 1359, 1338, 1345, 1338, 1363, 10317 1418, 1424, 1418, 1424, 1327, 1361, 1345, 1317, 1318, 1318, 10318 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 10319 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1363, 1318, 1318, 10320 1318, 1318, 1318, 1339, 1340, 1339, 1340, 1346, 1346, 1346, 10321 10322 1346, 1347, 1349, 1347, 1349, 1346, 1364, 1339, 1340, 1339, 10323 1340, 1339, 1340, 1366, 1346, 1341, 1367, 1341, 0, 1318, 10324 1318, 0, 0, 1347, 1349, 1425, 1380, 1425, 1380, 1341, 10325 1380, 1341, 0, 1341, 1364, 0, 1422, 1380, 1422, 1422, 10326 0, 1811, 1366, 1811, 1367, 1339, 1340, 1318, 1319, 1319, 10327 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 10328 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1341, 1319, 1319, 10329 1319, 1319, 1319, 1368, 1369, 0, 1370, 1371, 1373, 1374, 10330 0, 1377, 1378, 1375, 1382, 1375, 1386, 1387, 1398, 1388, 10331 1392, 1388, 1319, 1380, 0, 0, 0, 1393, 1397, 1319, 10332 10333 1319, 0, 1368, 1369, 1370, 1375, 1371, 1373, 1374, 1377, 10334 1378, 1388, 1382, 0, 0, 1386, 1387, 1398, 1392, 0, 10335 1319, 1362, 1391, 1362, 1391, 1393, 1397, 1319, 1320, 1320, 10336 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 10337 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1362, 1320, 1320, 10338 1320, 1320, 1320, 1379, 1405, 1379, 1395, 1400, 1395, 1403, 10339 1362, 1391, 0, 0, 1379, 1404, 1379, 1404, 1379, 1410, 10340 1413, 1381, 1381, 1381, 1411, 1379, 1362, 1417, 1395, 1320, 10341 1320, 1381, 1381, 1405, 1381, 1400, 1381, 1403, 1362, 1391, 10342 1406, 1404, 1406, 1381, 1408, 1419, 1408, 1421, 1410, 1413, 10343 10344 1427, 1428, 1411, 1430, 1429, 1417, 1432, 1320, 1433, 1434, 10345 1436, 1437, 1406, 1438, 1439, 1440, 1408, 1442, 1443, 1450, 10346 1404, 1444, 1471, 1427, 1419, 1446, 1453, 1427, 1428, 1429, 10347 1430, 1379, 1434, 1432, 1445, 1433, 1454, 1421, 1451, 0, 10348 1440, 1462, 0, 1456, 1442, 1443, 0, 1436, 1437, 1381, 10349 1450, 1471, 1427, 1438, 1439, 1444, 1427, 1428, 1429, 1430, 10350 1457, 1434, 1432, 1459, 1433, 1421, 1453, 1446, 1451, 1440, 10351 1445, 1464, 1467, 1442, 1443, 1436, 1437, 1456, 1454, 1450, 10352 1463, 1438, 1439, 1444, 1474, 1462, 1473, 1457, 1465, 1465, 10353 1465, 1465, 1475, 1476, 1453, 1446, 1482, 1451, 1445, 1459, 10354 10355 1467, 1484, 1464, 1463, 0, 1456, 1454, 1477, 1478, 1477, 10356 1478, 1478, 1474, 1462, 1486, 1473, 1457, 1477, 1476, 1485, 10357 0, 1475, 1479, 1479, 1479, 1482, 1487, 1459, 1489, 1484, 10358 1479, 1464, 1463, 1480, 1480, 1480, 1480, 1490, 1491, 1479, 10359 1492, 1480, 1486, 1481, 1481, 1481, 1481, 1476, 1485, 1493, 10360 1480, 1481, 1494, 1496, 1487, 1495, 1489, 1497, 1499, 1507, 10361 1481, 1500, 1502, 0, 0, 1490, 1491, 1509, 1492, 1510, 10362 1508, 1513, 1508, 1517, 1514, 1518, 1514, 1493, 1515, 1516, 10363 1520, 1494, 1496, 1495, 1519, 1521, 1497, 1499, 1507, 1500, 10364 1502, 1505, 1508, 1505, 1522, 1509, 1514, 1510, 1524, 1513, 10365 10366 1526, 1517, 1505, 1518, 1505, 1525, 1505, 1515, 1516, 1520, 10367 1530, 1521, 1519, 1505, 1527, 1532, 1527, 1527, 1528, 1533, 10368 1528, 1528, 1534, 1522, 1535, 1537, 1540, 1524, 1526, 1538, 10369 1542, 1539, 1525, 1548, 1530, 1544, 1550, 1549, 1549, 1549, 10370 1521, 1541, 1557, 1553, 1556, 0, 1533, 1555, 1554, 1554, 10371 1554, 1532, 1561, 1540, 1559, 1579, 1559, 1526, 1548, 1549, 10372 1535, 1525, 1534, 1530, 1559, 1538, 1539, 1537, 1541, 1505, 10373 1554, 1544, 1542, 1550, 1555, 1533, 1560, 1562, 1557, 1532, 10374 1561, 0, 1540, 1553, 1579, 1556, 0, 1548, 1535, 1565, 10375 1534, 0, 1574, 1538, 1539, 1537, 0, 1541, 0, 1544, 10376 10377 1542, 1550, 1560, 1555, 0, 1562, 1557, 1558, 1558, 1558, 10378 1558, 1553, 1566, 1556, 1566, 1568, 1565, 1568, 1568, 1569, 10379 1574, 1569, 1566, 0, 1570, 1570, 1570, 1570, 0, 1575, 10380 1578, 1560, 1570, 1581, 1582, 1584, 1569, 1585, 1571, 1571, 10381 1571, 1570, 1583, 1613, 1587, 1565, 1571, 1590, 1572, 1572, 10382 1572, 1572, 1573, 1573, 1573, 1571, 1572, 1575, 1578, 1594, 10383 1573, 1581, 1595, 1582, 1584, 1572, 1585, 1600, 1605, 1573, 10384 1583, 1586, 1587, 1586, 1601, 1592, 1590, 1592, 1597, 1602, 10385 1597, 1586, 1604, 1608, 1606, 1613, 1609, 1594, 1612, 1616, 10386 1610, 1595, 1610, 1610, 1619, 1600, 1617, 1592, 0, 1620, 10387 10388 1597, 1623, 1625, 1601, 1630, 1605, 1630, 1628, 1602, 1609, 10389 1629, 1604, 1606, 1613, 1630, 1621, 1621, 1621, 1634, 1608, 10390 1632, 1647, 1612, 1617, 1620, 1621, 1623, 1625, 1640, 1640, 10391 1640, 1616, 1619, 1605, 1628, 1643, 1648, 1629, 1609, 0, 10392 1637, 1637, 1637, 1637, 0, 1640, 1634, 1608, 1637, 1647, 10393 1612, 1637, 1617, 1620, 1649, 1623, 1625, 1632, 1650, 1616, 10394 1619, 1670, 0, 1628, 1643, 1648, 1629, 1639, 1639, 1639, 10395 1639, 1641, 1641, 1641, 1641, 1639, 1644, 1655, 1644, 1641, 10396 1656, 1651, 1649, 1651, 1639, 1632, 1644, 1650, 1641, 1657, 10397 1652, 1651, 1652, 1658, 1664, 1670, 1665, 1666, 1671, 1672, 10398 10399 1652, 1667, 1667, 1667, 1673, 0, 1655, 0, 1691, 1656, 10400 0, 1667, 1692, 1677, 1677, 1677, 1677, 1689, 1657, 1689, 10401 1664, 1665, 1658, 1670, 1666, 1677, 1672, 1689, 1693, 1671, 10402 1696, 1673, 1678, 1678, 1678, 1678, 1691, 1679, 1684, 1677, 10403 1678, 1692, 1694, 1678, 1679, 1684, 1699, 1679, 1684, 1664, 10404 1665, 0, 0, 1666, 1697, 1672, 0, 1693, 1671, 1696, 10405 1673, 1682, 1682, 1682, 1682, 1700, 1705, 0, 1677, 1682, 10406 1694, 0, 1682, 1683, 1683, 1683, 1683, 1685, 1685, 1685, 10407 1685, 1683, 1699, 1697, 1683, 1685, 1707, 1686, 1686, 1686, 10408 1686, 0, 1702, 1700, 1685, 1686, 1690, 1704, 1690, 1686, 10409 10410 1708, 0, 1708, 1708, 1686, 1723, 0, 1705, 0, 1690, 10411 1699, 1690, 1707, 1686, 1709, 1709, 1709, 1709, 1690, 1702, 10412 1710, 1716, 1710, 1710, 1704, 1722, 1709, 1715, 1713, 1713, 10413 1713, 1713, 1724, 1723, 1715, 1705, 1713, 1715, 1725, 1713, 10414 1709, 1707, 1686, 1726, 1714, 1714, 1714, 1714, 1702, 1727, 10415 1728, 1717, 1714, 1704, 1722, 1714, 1714, 1716, 1717, 1732, 10416 1724, 1717, 1729, 1718, 1718, 1718, 1718, 1725, 1719, 1709, 10417 1714, 1718, 1726, 1734, 1718, 1719, 1733, 1727, 1719, 1720, 10418 1721, 1720, 1721, 1730, 1753, 1716, 1735, 1728, 1735, 1735, 10419 1729, 1721, 1720, 1721, 1720, 1721, 1742, 1747, 1754, 1714, 10420 10421 0, 1720, 1721, 1742, 0, 1732, 1742, 1733, 1736, 1730, 10422 1736, 1736, 1753, 0, 1743, 1728, 1734, 1739, 1739, 1739, 10423 1739, 1743, 1756, 1757, 1743, 1739, 0, 1754, 1739, 1740, 10424 1740, 1740, 1740, 1732, 1747, 1758, 1733, 1740, 1730, 0, 10425 1740, 1740, 1744, 1766, 1734, 1741, 1741, 1741, 1741, 1744, 10426 1756, 1757, 1744, 1741, 1746, 1740, 1741, 1745, 1745, 1745, 10427 1745, 1746, 1747, 1758, 1746, 1745, 1750, 1759, 1745, 1748, 10428 1748, 1748, 1748, 1750, 1760, 1761, 1750, 1748, 1765, 1751, 10429 1748, 1751, 1783, 1766, 1740, 1749, 1749, 1749, 1749, 1767, 10430 1751, 1767, 1767, 1749, 1771, 1768, 1749, 1768, 1768, 1784, 10431 10432 0, 1771, 1760, 0, 1771, 1769, 1769, 1769, 1769, 1759, 10433 1783, 1766, 1761, 1769, 0, 1765, 1769, 1770, 1770, 1770, 10434 1770, 1772, 1772, 1772, 1772, 1770, 1773, 1784, 1770, 1772, 10435 1786, 1774, 1772, 1773, 0, 0, 1773, 1759, 1774, 1790, 10436 1761, 1774, 1781, 1765, 1775, 1775, 1775, 1775, 1777, 1776, 10437 1776, 1776, 1776, 1791, 1785, 1777, 1775, 1776, 1777, 1786, 10438 1776, 1778, 1778, 1778, 1778, 1779, 1779, 1779, 1779, 1778, 10439 1775, 1780, 1778, 1779, 1802, 1790, 1779, 1779, 1780, 0, 10440 1791, 1780, 1785, 1792, 1781, 1792, 1792, 1793, 1804, 1793, 10441 1793, 1779, 1806, 1794, 1794, 1794, 1794, 0, 0, 1775, 10442 10443 0, 1794, 1802, 1790, 1794, 1795, 1795, 1795, 1795, 1791, 10444 0, 1831, 1781, 1795, 0, 0, 1795, 1804, 1808, 1807, 10445 1779, 1796, 1796, 1796, 1796, 1797, 1797, 1797, 1797, 1796, 10446 0, 1798, 1796, 1797, 1806, 0, 1797, 1797, 1798, 1800, 10447 1831, 1798, 1799, 1799, 1799, 1799, 1800, 1807, 1822, 1800, 10448 1799, 1797, 1821, 1799, 1808, 1813, 1813, 1813, 1813, 1818, 10449 1840, 0, 1806, 1813, 1815, 1823, 1813, 1814, 1814, 1814, 10450 1814, 1815, 0, 0, 1815, 1814, 1822, 1830, 1814, 0, 10451 1797, 1832, 1808, 1812, 1812, 1812, 1812, 0, 1812, 1840, 10452 1817, 1812, 1821, 1812, 1812, 1812, 0, 1817, 1812, 1812, 10453 10454 1817, 1818, 1823, 1812, 1830, 1812, 1812, 1812, 1816, 1816, 10455 1816, 1816, 1824, 1829, 1824, 1824, 1816, 1828, 1835, 1816, 10456 1821, 0, 1845, 1832, 1828, 1835, 0, 1828, 1835, 1818, 10457 1823, 0, 0, 1830, 1812, 1812, 1812, 1825, 1825, 1825, 10458 1825, 1827, 1827, 1827, 1827, 1825, 1839, 0, 1825, 1827, 10459 1845, 1832, 1827, 1829, 1833, 1838, 1833, 1833, 0, 1844, 10460 1846, 1843, 1812, 1826, 1826, 1826, 1826, 1826, 1826, 1839, 10461 1836, 1826, 1826, 1826, 1826, 1826, 0, 1836, 1826, 1826, 10462 1836, 1829, 1838, 1826, 1843, 1826, 1826, 1826, 1834, 1834, 10463 1834, 1834, 1837, 1837, 1837, 1837, 1834, 1847, 1839, 1834, 10464 10465 1837, 1844, 1846, 1837, 1848, 1848, 1848, 1848, 1850, 0, 10466 0, 1838, 0, 1843, 1826, 1826, 1826, 1842, 1842, 1842, 10467 1842, 1849, 1849, 1849, 1849, 1842, 0, 0, 1842, 1844, 10468 1846, 1851, 1851, 1851, 1851, 1852, 1852, 1852, 1852, 1847, 10469 0, 1858, 1826, 1853, 1853, 1853, 1853, 0, 1850, 1855, 10470 1855, 1855, 1855, 1856, 1856, 1856, 1856, 1859, 1859, 1859, 10471 1859, 1860, 1860, 1860, 1860, 1874, 0, 1847, 1858, 1862, 10472 1862, 1862, 1862, 1870, 0, 0, 1850, 1863, 1863, 1863, 10473 1863, 1866, 1866, 1866, 1866, 1867, 1867, 1867, 1867, 1869, 10474 1869, 1869, 1869, 0, 0, 0, 1870, 1858, 1872, 1872, 10475 10476 1872, 1872, 1875, 1875, 1875, 1875, 0, 1874, 1876, 1876, 10477 1876, 1876, 1877, 1877, 1877, 1877, 1879, 1879, 1879, 1879, 10478 1880, 1880, 1880, 1880, 0, 1870, 1883, 1883, 1883, 1883, 10479 1885, 1885, 1885, 1885, 0, 1874, 1887, 1887, 1887, 1887, 10480 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 10481 1887, 1887, 1887, 1887, 1888, 1888, 1888, 1888, 1888, 1888, 10482 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 10483 1888, 1888, 1889, 1889, 0, 1889, 1889, 1889, 1889, 1889, 10484 1889, 1889, 1889, 1889, 1889, 1889, 1889, 1889, 1889, 1889, 10485 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 10486 10487 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1891, 1891, 10488 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 10489 1891, 1891, 1891, 1891, 1891, 1891, 1892, 0, 0, 0, 10490 0, 0, 0, 1892, 0, 1892, 0, 1892, 1892, 1892, 10491 1892, 1892, 1893, 1893, 1893, 1893, 1893, 1894, 1894, 1894, 10492 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 10493 1894, 1894, 1894, 1894, 1894, 1895, 1895, 1895, 1895, 1895, 10494 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, 10495 1895, 1895, 1895, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 10496 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 10497 10498 1896, 1897, 0, 0, 0, 0, 0, 0, 0, 0, 10499 0, 0, 1897, 1897, 1897, 1897, 1897, 1898, 1898, 1898, 10500 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 10501 1898, 1898, 1898, 1898, 1898, 1899, 1899, 0, 1899, 1899, 10502 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 10503 1899, 1899, 1899, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 10504 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 10505 1900, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 10506 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1902, 10507 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 10508 10509 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1903, 1903, 1903, 10510 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 10511 1903, 1903, 1903, 1903, 1903, 1904, 0, 0, 0, 0, 10512 0, 0, 1904, 0, 1904, 0, 0, 1904, 1904, 1904, 10513 1904, 1905, 1905, 1905, 1905, 0, 1905, 1905, 1905, 1905, 10514 1905, 1905, 0, 1905, 1905, 0, 0, 1905, 1905, 1906, 10515 1906, 1906, 1906, 1906, 1908, 1908, 1908, 1908, 1908, 1908, 10516 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 10517 1908, 1908, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 10518 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 10519 10520 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 10521 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1911, 1911, 10522 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 10523 1911, 1911, 1911, 1911, 1911, 1911, 1912, 1912, 1912, 1912, 10524 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 10525 1912, 1912, 1912, 1912, 1913, 1913, 1913, 1913, 1913, 1913, 10526 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 10527 1913, 1913, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 10528 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 10529 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 10530 10531 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1916, 1916, 10532 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 10533 1916, 1916, 1916, 1916, 1916, 1916, 1917, 1917, 0, 1917, 10534 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 10535 1917, 1917, 1917, 1917, 1918, 1918, 1918, 1918, 1918, 1918, 10536 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 10537 1918, 1918, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 10538 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 10539 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 10540 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1921, 1921, 10541 10542 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 10543 1921, 1921, 1921, 1921, 1921, 1921, 1922, 1922, 1922, 1922, 10544 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 10545 1922, 1922, 1922, 1922, 1923, 0, 0, 0, 0, 0, 10546 0, 1923, 0, 1923, 0, 0, 1923, 1923, 1923, 1923, 10547 1924, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 10548 1924, 0, 1924, 1924, 1924, 1924, 1924, 1925, 1925, 1925, 10549 1925, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 10550 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1927, 10551 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 10552 10553 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1928, 1928, 1928, 10554 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 10555 1928, 1928, 1928, 1928, 1928, 1929, 1929, 1929, 1929, 0, 10556 1929, 1929, 1929, 1929, 1929, 1929, 0, 1929, 1929, 0, 10557 0, 1929, 1929, 1930, 1930, 1930, 1930, 1930, 1931, 1931, 10558 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 10559 1931, 1931, 1931, 1931, 1931, 1931, 1932, 0, 0, 0, 10560 0, 0, 0, 0, 1932, 1932, 1933, 1933, 1933, 1933, 10561 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 10562 1933, 1933, 1933, 1933, 1934, 1934, 1934, 1934, 1934, 1934, 10563 10564 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 10565 1934, 1934, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 10566 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 10567 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 10568 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1937, 1937, 10569 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 10570 1937, 1937, 1937, 1937, 1937, 1937, 1938, 1938, 1938, 1938, 10571 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 10572 1938, 1938, 1938, 1938, 1939, 1939, 1939, 1939, 1939, 1939, 10573 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 10574 10575 1939, 1939, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 10576 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 10577 1941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10578 0, 1941, 1941, 1941, 1941, 1941, 1942, 1942, 1942, 1942, 10579 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 10580 1942, 1942, 1942, 1942, 1943, 1943, 1943, 1943, 1943, 1943, 10581 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 10582 1943, 1943, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 10583 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 10584 1945, 1945, 0, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 10585 10586 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1946, 1946, 10587 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 10588 1946, 1946, 1946, 1946, 1946, 1946, 1947, 1947, 1947, 1947, 10589 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 10590 1947, 1947, 1947, 1947, 1948, 1948, 1948, 1948, 1948, 1948, 10591 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 10592 1948, 1948, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 10593 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 10594 1950, 0, 0, 0, 0, 0, 0, 1950, 0, 1950, 10595 0, 0, 1950, 1950, 1950, 1950, 1951, 0, 0, 0, 10596 10597 0, 0, 0, 0, 1951, 0, 0, 0, 1951, 1951, 10598 1951, 1951, 1951, 1952, 0, 0, 0, 0, 0, 0, 10599 0, 1952, 0, 1952, 0, 1952, 1952, 1952, 1952, 1952, 10600 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 10601 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1954, 1954, 10602 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 10603 1954, 1954, 1954, 1954, 1954, 1954, 1955, 1955, 1955, 1955, 10604 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 10605 1955, 1955, 1955, 1955, 1956, 1956, 1956, 1956, 1956, 1956, 10606 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 10607 10608 1956, 1956, 1957, 1957, 1957, 1957, 1957, 1958, 1958, 1958, 10609 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 10610 1958, 1958, 1958, 1958, 1958, 1959, 1959, 1959, 1959, 1959, 10611 1959, 0, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 10612 1959, 1959, 1959, 1960, 1960, 0, 1960, 1960, 1960, 1960, 10613 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 10614 1960, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 10615 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1962, 10616 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 10617 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1963, 1963, 1963, 10618 10619 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 10620 1963, 1963, 1963, 1963, 1963, 1964, 1964, 1964, 1964, 1964, 10621 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 10622 1964, 1964, 1964, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 10623 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 10624 1965, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 10625 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1967, 10626 1967, 0, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 10627 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1968, 1968, 0, 10628 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 10629 10630 1968, 1968, 1968, 1968, 1968, 1969, 1969, 0, 1969, 1969, 10631 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 10632 1969, 1969, 1969, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 10633 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 10634 1970, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 10635 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1972, 10636 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 10637 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1973, 1973, 1973, 10638 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 10639 1973, 1973, 1973, 1973, 1973, 1974, 0, 0, 0, 0, 10640 10641 0, 1974, 0, 0, 0, 1974, 0, 1974, 1974, 1974, 10642 1974, 1974, 1975, 1975, 1975, 1975, 1976, 0, 0, 0, 10643 0, 0, 0, 0, 1976, 0, 0, 0, 1976, 1976, 10644 1976, 1976, 1976, 1977, 0, 0, 0, 0, 0, 0, 10645 0, 1977, 0, 1977, 0, 1977, 1977, 1977, 1977, 1977, 10646 1978, 1978, 0, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 10647 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1979, 1979, 10648 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 10649 1979, 1979, 1979, 1979, 1979, 1979, 1980, 1980, 0, 1980, 10650 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 10651 10652 1980, 1980, 1980, 1980, 1981, 1981, 1981, 1981, 1981, 1981, 10653 0, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 10654 1981, 1981, 1982, 1982, 0, 1982, 1982, 1982, 1982, 1982, 10655 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 10656 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 10657 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1984, 1984, 10658 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 10659 1984, 1984, 1984, 1984, 1984, 1984, 1985, 1985, 1985, 1985, 10660 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 10661 1985, 1985, 1985, 1985, 1986, 1986, 1986, 1986, 1986, 1986, 10662 10663 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 10664 1986, 1986, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 10665 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 10666 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 10667 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1989, 1989, 10668 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 10669 1989, 1989, 1989, 1989, 1989, 1989, 1990, 1990, 1990, 1990, 10670 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 10671 1990, 1990, 1990, 1990, 1991, 1991, 1991, 1991, 1991, 1991, 10672 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 10673 10674 1991, 1991, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 10675 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 10676 1993, 1993, 0, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 10677 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1994, 1994, 10678 0, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 10679 1994, 1994, 1994, 1994, 1994, 1994, 1995, 1995, 0, 1995, 10680 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 10681 1995, 1995, 1995, 1995, 1996, 1996, 1996, 1996, 1996, 1996, 10682 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 10683 1996, 1996, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 10684 10685 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 10686 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 10687 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1999, 1999, 10688 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 10689 1999, 1999, 1999, 1999, 1999, 1999, 2000, 0, 0, 0, 10690 0, 0, 2000, 0, 0, 0, 0, 0, 2000, 2000, 10691 2000, 2000, 2000, 2001, 2001, 0, 2001, 2001, 2001, 2001, 10692 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 10693 2001, 2002, 0, 0, 0, 0, 0, 0, 2002, 0, 10694 2002, 0, 0, 2002, 2002, 2002, 2002, 2003, 0, 0, 10695 10696 0, 0, 0, 0, 0, 2003, 0, 2003, 0, 2003, 10697 2003, 2003, 2003, 2003, 2004, 2004, 2004, 2004, 2005, 2005, 10698 0, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 10699 2005, 2005, 2005, 2005, 2005, 2005, 2006, 2006, 2006, 2006, 10700 2006, 2006, 0, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 10701 2006, 2006, 2006, 2006, 2007, 2007, 0, 2007, 2007, 2007, 10702 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 10703 2007, 2007, 2008, 2008, 0, 2008, 2008, 2008, 2008, 2008, 10704 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 10705 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 10706 10707 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2010, 2010, 10708 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 10709 2010, 2010, 2010, 2010, 2010, 2010, 2011, 2011, 2011, 2011, 10710 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 10711 2011, 2011, 2011, 2011, 2012, 2012, 2012, 2012, 2012, 2012, 10712 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 10713 2012, 2012, 2013, 0, 2013, 0, 0, 0, 0, 2013, 10714 0, 0, 2013, 2013, 2013, 2013, 2013, 2013, 2014, 2014, 10715 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 10716 2014, 2014, 2014, 2014, 2014, 2014, 2015, 2015, 2015, 2015, 10717 10718 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 10719 2015, 2015, 2015, 2015, 2016, 2016, 2016, 2016, 2016, 2016, 10720 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 10721 2016, 2016, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 10722 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 10723 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 10724 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2019, 2019, 10725 0, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 10726 2019, 2019, 2019, 2019, 2019, 2019, 2020, 2020, 2020, 2020, 10727 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 10728 10729 2020, 2020, 2020, 2020, 2021, 2021, 2021, 2021, 2021, 2021, 10730 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 10731 2021, 2021, 2022, 0, 0, 0, 0, 0, 2022, 0, 10732 0, 0, 0, 0, 2022, 2022, 2022, 2022, 2022, 2023, 10733 0, 2023, 0, 0, 0, 0, 2023, 0, 0, 2023, 10734 2023, 2023, 2023, 2023, 2023, 2024, 0, 2024, 0, 0, 10735 0, 0, 2024, 0, 0, 2024, 2024, 2024, 2024, 2024, 10736 2024, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 10737 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2026, 10738 2026, 2026, 2026, 2026, 2027, 2027, 0, 2027, 2027, 2027, 10739 10740 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 10741 2027, 2027, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 10742 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 10743 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 10744 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2030, 2030, 10745 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 10746 2030, 2030, 2030, 2030, 2030, 2030, 2031, 2031, 2031, 2031, 10747 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 10748 2031, 2031, 2031, 2031, 2032, 2032, 2032, 2032, 2032, 2032, 10749 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 10750 10751 2032, 2032, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 10752 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 10753 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 10754 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2035, 2035, 10755 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 10756 2035, 2035, 2035, 2035, 2035, 2035, 2036, 2036, 2036, 2036, 10757 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 10758 2036, 2036, 2036, 2036, 2037, 2037, 2037, 2037, 2037, 2037, 10759 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 10760 2037, 2037, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 10761 10762 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 10763 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 10764 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040, 10765 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 10766 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, 2041, 2041, 10767 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 10768 2041, 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042, 2042, 10769 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 10770 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 10771 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 10772 10773 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 10774 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 1886, 1886, 10775 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 10776 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 10777 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 10778 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 10779 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 10780 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 10781 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 10782 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886 10783 8153 10784 } ; 8154 8155 static yy_state_type yy_last_accepting_state;8156 static char *yy_last_accepting_cpos;8157 10785 8158 10786 extern int fortran__flex_debug; 8159 10787 int fortran__flex_debug = 0; 8160 10788 8161 /* The intent behind this definition is that it'll catch 8162 * any uses of REJECT which flex missed. 8163 */ 8164 #define REJECT reject_used_but_not_detected 10789 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; 10790 static char *yy_full_match; 10791 static int yy_lp; 10792 static int yy_looking_for_trail_begin = 0; 10793 static int yy_full_lp; 10794 static int *yy_full_state; 10795 #define YY_TRAILING_MASK 0x2000 10796 #define YY_TRAILING_HEAD_MASK 0x4000 10797 #define REJECT \ 10798 { \ 10799 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ \ 10800 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \ 10801 (yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \ 10802 (yy_state_ptr) = (yy_full_state); /* restore orig. state */ \ 10803 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \ 10804 ++(yy_lp); \ 10805 goto find_rule; \ 10806 } 10807 8165 10808 #define yymore() yymore_used_but_not_detected 8166 10809 #define YY_MORE_ADJ 0 … … 8207 10850 8208 10851 8209 #line 44 "fortran.lex" 10852 10853 #line 45 "fortran.lex" 8210 10854 #include <math.h> 8211 10855 #include <stdlib.h> … … 8213 10857 extern FILE * fortran_in; 8214 10858 #define MAX_INCLUDE_DEPTH 30 10859 #define YY_BUF_SIZE 64000 8215 10860 YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; 8216 int line_num_input = 1;10861 int line_num_input = 0; 8217 10862 int newlinef90 = 0; 8218 char 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 8222 /******************************************************************************/ 8223 /**************PETITS PB NON PREVUS *******************************************/ 8224 /******************************************************************************/ 8225 /* NEXTLINF77 un ligne fortran 77 peut commencer par - &a=b or on */ 8226 /* a prevu seulement & a=b avec l'espace entre le symbole */ 8227 /* de la 7eme et le debut de la ligne de commande */ 8228 /* le ! est aussi interdit comme symbole de la 7 eme colonne */ 8229 /* Normalement NEXTLINEF77 \n+[ ]{5}[^ ] */ 8230 /******************************************************************************/ 8231 #define YY_USER_ACTION if (firstpass == 0) ECHO; 10863 int tmpc; 10864 10865 int lastwasendofstmt = 1; 10866 10867 extern char linebuf1[1024]; 10868 extern char linebuf2[1024]; 10869 10870 int count_newlines(const char* str_in) 10871 { 10872 int k, i = 0; 10873 for( k=0 ; k<strlen(str_in) ; k++) 10874 if (str_in[k] == '\n') i++; 10875 return i; 10876 } 10877 10878 #define PRINT_LINE_NUM() // { fprintf(stderr,"== Parsing l.%4d...\n", line_num_input); } 10879 #define INCREMENT_LINE_NUM() { line_num_input+=count_newlines(fortran_text) ; PRINT_LINE_NUM(); } 10880 #define YY_USER_ACTION { if (increment_nbtokens !=0) token_since_endofstmt++; increment_nbtokens = 1; if (token_since_endofstmt>=1) lastwasendofstmt=0; /*printf("VALLIJSDFLSD = %d %d %s \n",lastwasendofstmt,token_since_endofstmt,fortran_text); */ if (firstpass) { strcpy(linebuf1, linebuf2); strncpy(linebuf2, fortran_text,80);} \ 10881 else {my_position_before=setposcur();/*printf("muposition = %d\n",my_position_before);*/ECHO;} } 10882 #define YY_BREAK {/*printf("VALL = %d %d\n",lastwasendofstmt,token_since_endofstmt);*/if (token_since_endofstmt>=1) lastwasendofstmt=0; break;} 8232 10883 8233 10884 void out_of_donottreat(void); 8234 10885 8235 #line 1826"fortran.yy.c"10886 #line 3485 "fortran.yy.c" 8236 10887 8237 10888 #define INITIAL 0 … … 8239 10890 #define character 2 8240 10891 #define donottreat 3 8241 #define fortran77style 4 8242 #define fortran90style 5 10892 #define includestate 4 10893 #define fortran77style 5 10894 #define fortran90style 6 8243 10895 8244 10896 #ifndef YY_NO_UNISTD_H … … 8423 11075 register int yy_act; 8424 11076 8425 #line 97"fortran.lex"11077 #line 100 "fortran.lex" 8426 11078 8427 11079 if (infixed) BEGIN(fortran77style) ; 8428 11080 if (infree) BEGIN(fortran90style) ; 8429 11081 8430 #line 2021 "fortran.yy.c"11082 #line 3681 "fortran.yy.c" 8431 11083 8432 11084 if ( !(yy_init) ) … … 8437 11089 YY_USER_INIT; 8438 11090 #endif 11091 11092 /* Create the reject buffer large enough to save one state per allowed character. */ 11093 if ( ! (yy_state_buf) ) 11094 (yy_state_buf) = (yy_state_type *)fortran_alloc(YY_STATE_BUF_SIZE ); 11095 if ( ! (yy_state_buf) ) 11096 YY_FATAL_ERROR( "out of dynamic memory in fortran_lex()" ); 8439 11097 8440 11098 if ( ! (yy_start) ) … … 8470 11128 yy_current_state = (yy_start); 8471 11129 yy_current_state += YY_AT_BOL(); 11130 11131 (yy_state_ptr) = (yy_state_buf); 11132 *(yy_state_ptr)++ = yy_current_state; 11133 8472 11134 yy_match: 8473 11135 do 8474 11136 { 8475 11137 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 8476 if ( yy_accept[yy_current_state] )8477 {8478 (yy_last_accepting_state) = yy_current_state;8479 (yy_last_accepting_cpos) = yy_cp;8480 }8481 11138 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 8482 11139 { 8483 11140 yy_current_state = (int) yy_def[yy_current_state]; 8484 if ( yy_current_state >= 1 132)11141 if ( yy_current_state >= 1887 ) 8485 11142 yy_c = yy_meta[(unsigned int) yy_c]; 8486 11143 } 8487 11144 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 11145 *(yy_state_ptr)++ = yy_current_state; 8488 11146 ++yy_cp; 8489 11147 } 8490 while ( yy_base[yy_current_state] != 4012);11148 while ( yy_base[yy_current_state] != 9419 ); 8491 11149 8492 11150 yy_find_action: 8493 yy_act = yy_accept[yy_current_state]; 8494 if ( yy_act == 0 ) 8495 { /* have to back up */ 8496 yy_cp = (yy_last_accepting_cpos); 8497 yy_current_state = (yy_last_accepting_state); 8498 yy_act = yy_accept[yy_current_state]; 11151 yy_current_state = *--(yy_state_ptr); 11152 (yy_lp) = yy_accept[yy_current_state]; 11153 goto find_rule; /* Shut up GCC warning -Wall */ 11154 find_rule: /* we branch to this label when backing up */ 11155 for ( ; ; ) /* until we find what rule we matched */ 11156 { 11157 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] ) 11158 { 11159 yy_act = yy_acclist[(yy_lp)]; 11160 if ( yy_act & YY_TRAILING_HEAD_MASK || 11161 (yy_looking_for_trail_begin) ) 11162 { 11163 if ( yy_act == (yy_looking_for_trail_begin) ) 11164 { 11165 (yy_looking_for_trail_begin) = 0; 11166 yy_act &= ~YY_TRAILING_HEAD_MASK; 11167 break; 11168 } 11169 } 11170 else if ( yy_act & YY_TRAILING_MASK ) 11171 { 11172 (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK; 11173 (yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK; 11174 } 11175 else 11176 { 11177 (yy_full_match) = yy_cp; 11178 (yy_full_state) = (yy_state_ptr); 11179 (yy_full_lp) = (yy_lp); 11180 break; 11181 } 11182 ++(yy_lp); 11183 goto find_rule; 11184 } 11185 --yy_cp; 11186 yy_current_state = *--(yy_state_ptr); 11187 (yy_lp) = yy_accept[yy_current_state]; 8499 11188 } 8500 11189 … … 8505 11194 switch ( yy_act ) 8506 11195 { /* beginning of action switch */ 8507 case 0: /* must back up */8508 /* undo the effects of YY_DO_BEFORE_ACTION */8509 *yy_cp = (yy_hold_char);8510 yy_cp = (yy_last_accepting_cpos);8511 yy_current_state = (yy_last_accepting_state);8512 goto yy_find_action;8513 8514 11196 case 1: 8515 11197 YY_RULE_SETUP 8516 #line 10 1"fortran.lex"8517 { return TOK_ REAL8; }11198 #line 104 "fortran.lex" 11199 { return TOK_SUBROUTINE; } 8518 11200 YY_BREAK 8519 11201 case 2: 8520 11202 YY_RULE_SETUP 8521 #line 10 2"fortran.lex"8522 { return TOK_ SUBROUTINE; }11203 #line 105 "fortran.lex" 11204 { return TOK_PROGRAM; } 8523 11205 YY_BREAK 8524 11206 case 3: 8525 11207 YY_RULE_SETUP 8526 #line 10 3"fortran.lex"8527 { return TOK_PROGRAM; }11208 #line 106 "fortran.lex" 11209 { inallocate = 1; return TOK_ALLOCATE; } 8528 11210 YY_BREAK 8529 11211 case 4: 8530 11212 YY_RULE_SETUP 8531 #line 10 4"fortran.lex"8532 { inallocate = 1; return TOK_ALLOCATE; }11213 #line 107 "fortran.lex" 11214 { return TOK_CONTINUE; } 8533 11215 YY_BREAK 8534 11216 case 5: 8535 11217 YY_RULE_SETUP 8536 #line 10 5"fortran.lex"11218 #line 108 "fortran.lex" 8537 11219 { return TOK_NULLIFY; } 8538 11220 YY_BREAK 8539 11221 case 6: 8540 11222 YY_RULE_SETUP 8541 #line 10 6"fortran.lex"8542 { return TOK_NULL_PTR; }11223 #line 109 "fortran.lex" 11224 { inallocate = 1; return TOK_DEALLOCATE; } 8543 11225 YY_BREAK 8544 11226 case 7: 8545 11227 YY_RULE_SETUP 8546 #line 1 07"fortran.lex"8547 { inallocate = 1; return TOK_DEALLOCATE; }11228 #line 110 "fortran.lex" 11229 { return TOK_RESULT; } 8548 11230 YY_BREAK 8549 11231 case 8: 8550 11232 YY_RULE_SETUP 8551 #line 1 08"fortran.lex"8552 { return TOK_ RESULT; }11233 #line 111 "fortran.lex" 11234 { return TOK_FUNCTION; } 8553 11235 YY_BREAK 8554 11236 case 9: 8555 11237 YY_RULE_SETUP 8556 #line 1 09"fortran.lex"8557 { return TOK_FUNCTION;}11238 #line 112 "fortran.lex" 11239 { strcpy(yylval.na,fortran_text); return TOK_ENDUNIT;} 8558 11240 YY_BREAK 8559 11241 case 10: 8560 11242 YY_RULE_SETUP 8561 #line 11 0"fortran.lex"8562 { strcpy(yylval.na,fortran_text); return TOK_ENDPROGRAM;}11243 #line 113 "fortran.lex" 11244 { pos_curinclude = setposcur()-9; BEGIN(includestate); } 8563 11245 YY_BREAK 8564 11246 case 11: 8565 11247 YY_RULE_SETUP 8566 #line 11 1"fortran.lex"8567 { strcpy(yylval.na,fortran_text); return TOK_ENDMODULE;}11248 #line 114 "fortran.lex" 11249 { return TOK_USE;} 8568 11250 YY_BREAK 8569 11251 case 12: 8570 11252 YY_RULE_SETUP 8571 #line 11 2"fortran.lex"8572 { strcpy(yylval.na,fortran_text); return TOK_ENDSUBROUTINE;}11253 #line 115 "fortran.lex" 11254 { return TOK_REWIND; } 8573 11255 YY_BREAK 8574 11256 case 13: 8575 11257 YY_RULE_SETUP 8576 #line 11 3"fortran.lex"8577 { strcpy(yylval.na,fortran_text); return TOK_ENDFUNCTION;}11258 #line 116 "fortran.lex" 11259 { return TOK_IMPLICIT; } 8578 11260 YY_BREAK 8579 11261 case 14: 8580 11262 YY_RULE_SETUP 8581 #line 11 4"fortran.lex"8582 { strcpy(yylval.na,fortran_text); return TOK_ENDUNIT;}11263 #line 117 "fortran.lex" 11264 { return TOK_NONE; } 8583 11265 YY_BREAK 8584 11266 case 15: 8585 11267 YY_RULE_SETUP 8586 #line 11 5"fortran.lex"8587 { pos_curinclude = setposcur()-9; return TOK_INCLUDE;}11268 #line 118 "fortran.lex" 11269 { return TOK_CALL; } 8588 11270 YY_BREAK 8589 11271 case 16: 8590 11272 YY_RULE_SETUP 8591 #line 116 "fortran.lex" 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; 11273 #line 119 "fortran.lex" 11274 { strcpy(yylval.na,fortran_text); return TOK_TRUE; } 11275 YY_BREAK 11276 case 17: 11277 YY_RULE_SETUP 11278 #line 120 "fortran.lex" 11279 { strcpy(yylval.na,fortran_text); return TOK_FALSE; } 11280 YY_BREAK 11281 case 18: 11282 YY_RULE_SETUP 11283 #line 121 "fortran.lex" 11284 { return TOK_POINT_TO; } 11285 YY_BREAK 11286 case 19: 11287 YY_RULE_SETUP 11288 #line 122 "fortran.lex" 11289 { strcpy(yylval.na,fortran_text); return TOK_ASSIGNTYPE;} 11290 YY_BREAK 11291 case 20: 11292 YY_RULE_SETUP 11293 #line 123 "fortran.lex" 11294 { strcpy(yylval.na,fortran_text); return TOK_DASTER; } 11295 YY_BREAK 11296 case 21: 11297 YY_RULE_SETUP 11298 #line 124 "fortran.lex" 11299 { strcpy(yylval.na,fortran_text); return TOK_EQV; } 11300 YY_BREAK 11301 case 22: 11302 YY_RULE_SETUP 11303 #line 125 "fortran.lex" 11304 { strcpy(yylval.na,fortran_text); return TOK_EQ; } 11305 YY_BREAK 11306 case 23: 11307 YY_RULE_SETUP 11308 #line 126 "fortran.lex" 11309 { strcpy(yylval.na,fortran_text); return TOK_GT; } 11310 YY_BREAK 11311 case 24: 11312 YY_RULE_SETUP 11313 #line 127 "fortran.lex" 11314 { strcpy(yylval.na,fortran_text); return TOK_GE; } 11315 YY_BREAK 11316 case 25: 11317 YY_RULE_SETUP 11318 #line 128 "fortran.lex" 11319 { strcpy(yylval.na,fortran_text); return TOK_LT; } 11320 YY_BREAK 11321 case 26: 11322 YY_RULE_SETUP 11323 #line 129 "fortran.lex" 11324 { strcpy(yylval.na,fortran_text); return TOK_LE; } 11325 YY_BREAK 11326 case 27: 11327 YY_RULE_SETUP 11328 #line 130 "fortran.lex" 11329 { strcpy(yylval.na,fortran_text); return TOK_NEQV;} 11330 YY_BREAK 11331 case 28: 11332 YY_RULE_SETUP 11333 #line 131 "fortran.lex" 11334 { strcpy(yylval.na,fortran_text); return TOK_NE; } 11335 YY_BREAK 11336 case 29: 11337 YY_RULE_SETUP 11338 #line 132 "fortran.lex" 11339 { strcpy(yylval.na,fortran_text); return TOK_NOT; } 11340 YY_BREAK 11341 case 30: 11342 YY_RULE_SETUP 11343 #line 133 "fortran.lex" 11344 { strcpy(yylval.na,fortran_text); return TOK_OR; } 11345 YY_BREAK 11346 case 31: 11347 YY_RULE_SETUP 11348 #line 134 "fortran.lex" 11349 { strcpy(yylval.na,fortran_text); return TOK_XOR; } 11350 YY_BREAK 11351 case 32: 11352 YY_RULE_SETUP 11353 #line 135 "fortran.lex" 11354 { strcpy(yylval.na,fortran_text); return TOK_AND; } 11355 YY_BREAK 11356 case 33: 11357 YY_RULE_SETUP 11358 #line 136 "fortran.lex" 11359 { strcpy(yylval.na,fortran_text); return TOK_EQUALEQUAL; } 11360 YY_BREAK 11361 case 34: 11362 YY_RULE_SETUP 11363 #line 137 "fortran.lex" 11364 { strcpy(yylval.na,fortran_text); return TOK_SLASHEQUAL; } 11365 YY_BREAK 11366 case 35: 11367 YY_RULE_SETUP 11368 #line 138 "fortran.lex" 11369 { strcpy(yylval.na,fortran_text); return TOK_INFEQUAL; } 11370 YY_BREAK 11371 case 36: 11372 YY_RULE_SETUP 11373 #line 139 "fortran.lex" 11374 { strcpy(yylval.na,fortran_text); return TOK_SUPEQUAL; } 11375 YY_BREAK 11376 case 37: 11377 YY_RULE_SETUP 11378 #line 140 "fortran.lex" 11379 { return TOK_MODULE; } 11380 YY_BREAK 11381 case 38: 11382 YY_RULE_SETUP 11383 #line 141 "fortran.lex" 11384 { return TOK_WHILE; } 11385 YY_BREAK 11386 case 39: 11387 YY_RULE_SETUP 11388 #line 142 "fortran.lex" 11389 { return TOK_CONCURRENT; } 11390 YY_BREAK 11391 case 40: 11392 YY_RULE_SETUP 11393 #line 143 "fortran.lex" 11394 { return TOK_ENDDO; } 11395 YY_BREAK 11396 case 41: 11397 YY_RULE_SETUP 11398 #line 144 "fortran.lex" 11399 { strcpy(yylval.na,&fortran_text[2]); 11400 if (testandextractfromlist(&List_Do_labels,&fortran_text[2]) == 1) 11401 { 11402 return TOK_PLAINDO_LABEL_DJVIEW; 11403 } 11404 else 11405 { 11406 List_Do_labels=Insertname(List_Do_labels,yylval.na,1); 11407 return TOK_PLAINDO_LABEL; 11408 } 11409 } 11410 YY_BREAK 11411 case 42: 11412 YY_RULE_SETUP 11413 #line 155 "fortran.lex" 11414 { increment_nbtokens = 0; return TOK_PLAINDO;} 11415 YY_BREAK 11416 case 43: 11417 YY_RULE_SETUP 11418 #line 156 "fortran.lex" 11419 { strcpy(yylval.na,fortran_text); return TOK_REAL; } 11420 YY_BREAK 11421 case 44: 11422 YY_RULE_SETUP 11423 #line 157 "fortran.lex" 11424 { strcpy(yylval.na,fortran_text); return TOK_INTEGER; } 11425 YY_BREAK 11426 case 45: 11427 YY_RULE_SETUP 11428 #line 158 "fortran.lex" 11429 { strcpy(yylval.na,fortran_text); return TOK_LOGICAL; } 11430 YY_BREAK 11431 case 46: 11432 YY_RULE_SETUP 11433 #line 159 "fortran.lex" 11434 { strcpy(yylval.na,fortran_text); return TOK_CHARACTER; } 11435 YY_BREAK 11436 case 47: 11437 YY_RULE_SETUP 11438 #line 160 "fortran.lex" 11439 { strcpy(yylval.na,fortran_text); return TOK_HEXA;} 11440 YY_BREAK 11441 case 48: 11442 YY_RULE_SETUP 11443 #line 161 "fortran.lex" 11444 { strcpy(yylval.na,fortran_text); return TOK_DOUBLEPRECISION; } 11445 YY_BREAK 11446 case 49: 11447 YY_RULE_SETUP 11448 #line 162 "fortran.lex" 11449 { strcpy(yylval.na,fortran_text); return TOK_DOUBLECOMPLEX; } 11450 YY_BREAK 11451 case 50: 11452 YY_RULE_SETUP 11453 #line 163 "fortran.lex" 11454 { strcpy(yylval.na,fortran_text); return TOK_COMPLEX; } 11455 YY_BREAK 11456 case 51: 11457 YY_RULE_SETUP 11458 #line 164 "fortran.lex" 11459 { return TOK_ALLOCATABLE; } 11460 YY_BREAK 11461 case 52: 11462 YY_RULE_SETUP 11463 #line 165 "fortran.lex" 11464 { return TOK_CLOSE; } 11465 YY_BREAK 11466 case 53: 11467 YY_RULE_SETUP 11468 #line 166 "fortran.lex" 11469 { return TOK_INQUIRE; } 11470 YY_BREAK 11471 case 54: 11472 YY_RULE_SETUP 11473 #line 167 "fortran.lex" 11474 { return TOK_DIMENSION; } 11475 YY_BREAK 11476 case 55: 11477 YY_RULE_SETUP 11478 #line 168 "fortran.lex" 11479 { return TOK_PAUSE; } 11480 YY_BREAK 11481 case 56: 11482 YY_RULE_SETUP 11483 #line 169 "fortran.lex" 11484 { return TOK_EQUIVALENCE; } 11485 YY_BREAK 11486 case 57: 11487 YY_RULE_SETUP 11488 #line 170 "fortran.lex" 11489 { return TOK_STOP; } 11490 YY_BREAK 11491 case 58: 11492 YY_RULE_SETUP 11493 #line 171 "fortran.lex" 11494 { return TOK_WHERE; } 11495 YY_BREAK 11496 case 59: 11497 YY_RULE_SETUP 11498 #line 172 "fortran.lex" 11499 { return TOK_ENDWHERE; } 11500 YY_BREAK 11501 case 60: 11502 YY_RULE_SETUP 11503 #line 173 "fortran.lex" 11504 { return TOK_ELSEWHEREPAR; } 11505 YY_BREAK 11506 case 61: 11507 YY_RULE_SETUP 11508 #line 174 "fortran.lex" 11509 { return TOK_ELSEWHERE; } 11510 YY_BREAK 11511 case 62: 11512 YY_RULE_SETUP 11513 #line 175 "fortran.lex" 11514 { return TOK_CONTAINS; } 11515 YY_BREAK 11516 case 63: 11517 YY_RULE_SETUP 11518 #line 176 "fortran.lex" 11519 { return TOK_ONLY; } 11520 YY_BREAK 11521 case 64: 11522 YY_RULE_SETUP 11523 #line 177 "fortran.lex" 11524 { return TOK_PARAMETER; } 11525 YY_BREAK 11526 case 65: 11527 YY_RULE_SETUP 11528 #line 178 "fortran.lex" 11529 { return TOK_RECURSIVE; } 11530 YY_BREAK 11531 case 66: 11532 YY_RULE_SETUP 11533 #line 179 "fortran.lex" 11534 { return TOK_COMMON; } 11535 YY_BREAK 11536 case 67: 11537 YY_RULE_SETUP 11538 #line 180 "fortran.lex" 11539 { return TOK_GLOBAL; } 11540 YY_BREAK 11541 case 68: 11542 YY_RULE_SETUP 11543 #line 181 "fortran.lex" 11544 { return TOK_EXTERNAL; } 11545 YY_BREAK 11546 case 69: 11547 YY_RULE_SETUP 11548 #line 182 "fortran.lex" 11549 { return TOK_INTENT; } 11550 YY_BREAK 11551 case 70: 11552 YY_RULE_SETUP 11553 #line 183 "fortran.lex" 11554 { return TOK_POINTER; } 11555 YY_BREAK 11556 case 71: 11557 YY_RULE_SETUP 11558 #line 184 "fortran.lex" 11559 { return TOK_OPTIONAL; } 11560 YY_BREAK 11561 case 72: 11562 YY_RULE_SETUP 11563 #line 185 "fortran.lex" 11564 { return TOK_SAVE; } 11565 YY_BREAK 11566 case 73: 11567 YY_RULE_SETUP 11568 #line 186 "fortran.lex" 11569 { pos_cur_decl = setposcur()-5; return TOK_TYPEPAR; } 11570 YY_BREAK 11571 case 74: 11572 YY_RULE_SETUP 11573 #line 187 "fortran.lex" 11574 { return TOK_TYPE; } 11575 YY_BREAK 11576 case 75: 11577 YY_RULE_SETUP 11578 #line 188 "fortran.lex" 11579 { return TOK_ENDTYPE; } 11580 YY_BREAK 11581 case 76: 11582 YY_RULE_SETUP 11583 #line 189 "fortran.lex" 11584 { if (inallocate == 1) return TOK_STAT; else { strcpy(yylval.na,fortran_text); return TOK_NAME; } } 11585 YY_BREAK 11586 case 77: 11587 YY_RULE_SETUP 11588 #line 190 "fortran.lex" 11589 { return TOK_OPEN; } 11590 YY_BREAK 11591 case 78: 11592 YY_RULE_SETUP 11593 #line 191 "fortran.lex" 11594 { return TOK_RETURN; } 11595 YY_BREAK 11596 case 79: 11597 YY_RULE_SETUP 11598 #line 192 "fortran.lex" 11599 { return TOK_EXIT; } 11600 YY_BREAK 11601 case 80: 11602 YY_RULE_SETUP 11603 #line 193 "fortran.lex" 11604 { return TOK_PRINT; } 11605 YY_BREAK 11606 case 81: 11607 YY_RULE_SETUP 11608 #line 194 "fortran.lex" 11609 { return TOK_PROCEDURE; } 11610 YY_BREAK 11611 case 82: 11612 YY_RULE_SETUP 11613 #line 195 "fortran.lex" 11614 { in_io_control_spec = 1; return TOK_READ_PAR; } 11615 YY_BREAK 11616 case 83: 11617 YY_RULE_SETUP 11618 #line 196 "fortran.lex" 11619 { return TOK_READ; } 11620 YY_BREAK 11621 case 84: 11622 YY_RULE_SETUP 11623 #line 197 "fortran.lex" 11624 { return TOK_NAMELIST; } 11625 YY_BREAK 11626 case 85: 11627 YY_RULE_SETUP 11628 #line 198 "fortran.lex" 11629 { in_io_control_spec = 1; return TOK_WRITE_PAR; } 11630 YY_BREAK 11631 case 86: 11632 YY_RULE_SETUP 11633 #line 199 "fortran.lex" 11634 { return TOK_WRITE; } 11635 YY_BREAK 11636 case 87: 11637 YY_RULE_SETUP 11638 #line 200 "fortran.lex" 11639 { strcpy(yylval.na,fortran_text); return TOK_FLUSH; } 11640 YY_BREAK 11641 case 88: 11642 YY_RULE_SETUP 11643 #line 201 "fortran.lex" 11644 { return TOK_TARGET; } 11645 YY_BREAK 11646 case 89: 11647 YY_RULE_SETUP 11648 #line 202 "fortran.lex" 11649 { return TOK_PUBLIC; } 11650 YY_BREAK 11651 case 90: 11652 YY_RULE_SETUP 11653 #line 203 "fortran.lex" 11654 { return TOK_PRIVATE; } 11655 YY_BREAK 11656 case 91: 11657 YY_RULE_SETUP 11658 #line 204 "fortran.lex" 11659 { strcpy(yylval.na,fortran_text); return TOK_IN; } 11660 YY_BREAK 11661 case 92: 11662 YY_RULE_SETUP 11663 #line 205 "fortran.lex" 11664 { pos_curdata = setposcur()-strlen(fortran_text); /*Init_List_Data_Var();*/ return TOK_DATA; } 11665 YY_BREAK 11666 case 93: 11667 YY_RULE_SETUP 11668 #line 206 "fortran.lex" 11669 { return TOK_PLAINGOTO; } 11670 YY_BREAK 11671 case 94: 11672 YY_RULE_SETUP 11673 #line 207 "fortran.lex" 11674 { strcpy(yylval.na,fortran_text); return TOK_OUT; } 11675 YY_BREAK 11676 case 95: 11677 YY_RULE_SETUP 11678 #line 208 "fortran.lex" 11679 { strcpy(yylval.na,fortran_text); return TOK_INOUT; } 11680 YY_BREAK 11681 case 96: 11682 YY_RULE_SETUP 11683 #line 209 "fortran.lex" 11684 { return TOK_INTRINSIC; } 11685 YY_BREAK 11686 case 97: 11687 YY_RULE_SETUP 11688 #line 210 "fortran.lex" 11689 { return TOK_THEN; } 11690 YY_BREAK 11691 case 98: 11692 YY_RULE_SETUP 11693 #line 211 "fortran.lex" 11694 { return TOK_ELSEIF; } 11695 YY_BREAK 11696 case 99: 11697 YY_RULE_SETUP 11698 #line 212 "fortran.lex" 11699 { return TOK_ELSE; } 11700 YY_BREAK 11701 case 100: 11702 YY_RULE_SETUP 11703 #line 213 "fortran.lex" 11704 { return TOK_ENDIF; } 11705 YY_BREAK 11706 case 101: 11707 YY_RULE_SETUP 11708 #line 214 "fortran.lex" 11709 {strcpy(yylval.na,fortran_text); 11710 return TOK_LOGICALIF_PAR; 8597 11711 } 8598 11712 YY_BREAK 8599 case 17:8600 YY_RULE_SETUP8601 #line 122 "fortran.lex"8602 { return TOK_REWIND; }8603 YY_BREAK8604 case 18:8605 YY_RULE_SETUP8606 #line 123 "fortran.lex"8607 { return TOK_IMPLICIT; }8608 YY_BREAK8609 case 19:8610 YY_RULE_SETUP8611 #line 124 "fortran.lex"8612 { return TOK_NONE; }8613 YY_BREAK8614 case 20:8615 YY_RULE_SETUP8616 #line 125 "fortran.lex"8617 { return TOK_CALL; }8618 YY_BREAK8619 case 21:8620 YY_RULE_SETUP8621 #line 126 "fortran.lex"8622 { return TOK_TRUE; }8623 YY_BREAK8624 case 22:8625 YY_RULE_SETUP8626 #line 127 "fortran.lex"8627 { return TOK_FALSE; }8628 YY_BREAK8629 case 23:8630 YY_RULE_SETUP8631 #line 128 "fortran.lex"8632 { return TOK_POINT_TO; }8633 YY_BREAK8634 case 24:8635 YY_RULE_SETUP8636 #line 129 "fortran.lex"8637 { strcpy(yylval.na,fortran_text); return TOK_ASSIGNTYPE;}8638 YY_BREAK8639 case 25:8640 YY_RULE_SETUP8641 #line 130 "fortran.lex"8642 { strcpy(yylval.na,fortran_text); return TOK_DASTER; }8643 YY_BREAK8644 case 26:8645 YY_RULE_SETUP8646 #line 131 "fortran.lex"8647 { strcpy(yylval.na,fortran_text); return TOK_EQV; }8648 YY_BREAK8649 case 27:8650 YY_RULE_SETUP8651 #line 132 "fortran.lex"8652 { strcpy(yylval.na,fortran_text); return TOK_EQ; }8653 YY_BREAK8654 case 28:8655 YY_RULE_SETUP8656 #line 133 "fortran.lex"8657 { strcpy(yylval.na,fortran_text); return TOK_GT; }8658 YY_BREAK8659 case 29:8660 YY_RULE_SETUP8661 #line 134 "fortran.lex"8662 { strcpy(yylval.na,fortran_text); return TOK_GE; }8663 YY_BREAK8664 case 30:8665 YY_RULE_SETUP8666 #line 135 "fortran.lex"8667 { strcpy(yylval.na,fortran_text); return TOK_LT; }8668 YY_BREAK8669 case 31:8670 YY_RULE_SETUP8671 #line 136 "fortran.lex"8672 { strcpy(yylval.na,fortran_text); return TOK_LE; }8673 YY_BREAK8674 case 32:8675 YY_RULE_SETUP8676 #line 137 "fortran.lex"8677 { strcpy(yylval.na,fortran_text); return TOK_NEQV;}8678 YY_BREAK8679 case 33:8680 YY_RULE_SETUP8681 #line 138 "fortran.lex"8682 { strcpy(yylval.na,fortran_text); return TOK_NE; }8683 YY_BREAK8684 case 34:8685 YY_RULE_SETUP8686 #line 139 "fortran.lex"8687 { strcpy(yylval.na,fortran_text); return TOK_NOT; }8688 YY_BREAK8689 case 35:8690 YY_RULE_SETUP8691 #line 140 "fortran.lex"8692 { strcpy(yylval.na,fortran_text); return TOK_OR; }8693 YY_BREAK8694 case 36:8695 YY_RULE_SETUP8696 #line 141 "fortran.lex"8697 { strcpy(yylval.na,fortran_text); return TOK_XOR; }8698 YY_BREAK8699 case 37:8700 YY_RULE_SETUP8701 #line 142 "fortran.lex"8702 { strcpy(yylval.na,fortran_text); return TOK_AND; }8703 YY_BREAK8704 case 38:8705 YY_RULE_SETUP8706 #line 143 "fortran.lex"8707 { return TOK_MODULE; }8708 YY_BREAK8709 case 39:8710 YY_RULE_SETUP8711 #line 144 "fortran.lex"8712 { return TOK_WHILE; }8713 YY_BREAK8714 case 40:8715 YY_RULE_SETUP8716 #line 145 "fortran.lex"8717 { return TOK_CONCURRENT; }8718 YY_BREAK8719 case 41:8720 YY_RULE_SETUP8721 #line 146 "fortran.lex"8722 { return TOK_ENDDO; }8723 YY_BREAK8724 case 42:8725 YY_RULE_SETUP8726 #line 147 "fortran.lex"8727 { return TOK_PLAINDO;}8728 YY_BREAK8729 case 43:8730 YY_RULE_SETUP8731 #line 148 "fortran.lex"8732 { strcpy(yylval.na,fortran_text); return TOK_REAL; }8733 YY_BREAK8734 case 44:8735 YY_RULE_SETUP8736 #line 149 "fortran.lex"8737 { strcpy(yylval.na,fortran_text); return TOK_INTEGER; }8738 YY_BREAK8739 case 45:8740 YY_RULE_SETUP8741 #line 150 "fortran.lex"8742 { strcpy(yylval.na,fortran_text); return TOK_LOGICAL; }8743 YY_BREAK8744 case 46:8745 YY_RULE_SETUP8746 #line 151 "fortran.lex"8747 { strcpy(yylval.na,fortran_text); return TOK_CHARACTER; }8748 YY_BREAK8749 case 47:8750 YY_RULE_SETUP8751 #line 152 "fortran.lex"8752 { strcpy(yylval.na,fortran_text); return TOK_HEXA;}8753 YY_BREAK8754 case 48:8755 YY_RULE_SETUP8756 #line 153 "fortran.lex"8757 { strcpy(yylval.na,fortran_text); return TOK_DOUBLEPRECISION; }8758 YY_BREAK8759 case 49:8760 YY_RULE_SETUP8761 #line 154 "fortran.lex"8762 { strcpy(yylval.na,fortran_text); return TOK_DOUBLECOMPLEX; }8763 YY_BREAK8764 case 50:8765 YY_RULE_SETUP8766 #line 155 "fortran.lex"8767 { return TOK_COMPLEX; }8768 YY_BREAK8769 case 51:8770 YY_RULE_SETUP8771 #line 156 "fortran.lex"8772 { return TOK_ALLOCATABLE; }8773 YY_BREAK8774 case 52:8775 YY_RULE_SETUP8776 #line 157 "fortran.lex"8777 { return TOK_CLOSE; }8778 YY_BREAK8779 case 53:8780 YY_RULE_SETUP8781 #line 158 "fortran.lex"8782 { return TOK_INQUIRE; }8783 YY_BREAK8784 case 54:8785 YY_RULE_SETUP8786 #line 159 "fortran.lex"8787 { return TOK_DIMENSION; }8788 YY_BREAK8789 case 55:8790 YY_RULE_SETUP8791 #line 160 "fortran.lex"8792 { return TOK_PAUSE; }8793 YY_BREAK8794 case 56:8795 YY_RULE_SETUP8796 #line 161 "fortran.lex"8797 { return TOK_EQUIVALENCE; }8798 YY_BREAK8799 case 57:8800 YY_RULE_SETUP8801 #line 162 "fortran.lex"8802 { return TOK_STOP; }8803 YY_BREAK8804 case 58:8805 YY_RULE_SETUP8806 #line 163 "fortran.lex"8807 { return TOK_WHERE; }8808 YY_BREAK8809 case 59:8810 YY_RULE_SETUP8811 #line 164 "fortran.lex"8812 { return TOK_ENDWHERE; }8813 YY_BREAK8814 case 60:8815 YY_RULE_SETUP8816 #line 165 "fortran.lex"8817 { return TOK_ELSEWHEREPAR; }8818 YY_BREAK8819 case 61:8820 YY_RULE_SETUP8821 #line 166 "fortran.lex"8822 { return TOK_ELSEWHERE; }8823 YY_BREAK8824 case 62:8825 YY_RULE_SETUP8826 #line 167 "fortran.lex"8827 { return TOK_CONTAINS; }8828 YY_BREAK8829 case 63:8830 YY_RULE_SETUP8831 #line 168 "fortran.lex"8832 { return TOK_ONLY; }8833 YY_BREAK8834 case 64:8835 YY_RULE_SETUP8836 #line 169 "fortran.lex"8837 { return TOK_PARAMETER; }8838 YY_BREAK8839 case 65:8840 YY_RULE_SETUP8841 #line 170 "fortran.lex"8842 { return TOK_RECURSIVE; }8843 YY_BREAK8844 case 66:8845 YY_RULE_SETUP8846 #line 171 "fortran.lex"8847 { return TOK_COMMON; }8848 YY_BREAK8849 case 67:8850 YY_RULE_SETUP8851 #line 172 "fortran.lex"8852 { return TOK_GLOBAL; }8853 YY_BREAK8854 case 68:8855 YY_RULE_SETUP8856 #line 173 "fortran.lex"8857 { return TOK_EXTERNAL; }8858 YY_BREAK8859 case 69:8860 YY_RULE_SETUP8861 #line 174 "fortran.lex"8862 { return TOK_INTENT; }8863 YY_BREAK8864 case 70:8865 YY_RULE_SETUP8866 #line 175 "fortran.lex"8867 { return TOK_POINTER; }8868 YY_BREAK8869 case 71:8870 YY_RULE_SETUP8871 #line 176 "fortran.lex"8872 { return TOK_OPTIONAL; }8873 YY_BREAK8874 case 72:8875 YY_RULE_SETUP8876 #line 177 "fortran.lex"8877 { return TOK_SAVE; }8878 YY_BREAK8879 case 73:8880 YY_RULE_SETUP8881 #line 178 "fortran.lex"8882 { pos_cur_decl = setposcur()-5; return TOK_TYPEPAR; }8883 YY_BREAK8884 case 74:8885 YY_RULE_SETUP8886 #line 179 "fortran.lex"8887 { return TOK_TYPE; }8888 YY_BREAK8889 case 75:8890 YY_RULE_SETUP8891 #line 180 "fortran.lex"8892 { return TOK_ENDTYPE; }8893 YY_BREAK8894 case 76:8895 YY_RULE_SETUP8896 #line 181 "fortran.lex"8897 { if (inallocate == 1) return TOK_STAT; else { strcpy(yylval.na,fortran_text); return TOK_NAME; } }8898 YY_BREAK8899 case 77:8900 YY_RULE_SETUP8901 #line 182 "fortran.lex"8902 { return TOK_OPEN; }8903 YY_BREAK8904 case 78:8905 YY_RULE_SETUP8906 #line 183 "fortran.lex"8907 { return TOK_RETURN; }8908 YY_BREAK8909 case 79:8910 /* rule 79 can match eol */8911 YY_RULE_SETUP8912 #line 184 "fortran.lex"8913 { return TOK_EXIT; }8914 YY_BREAK8915 case 80:8916 YY_RULE_SETUP8917 #line 185 "fortran.lex"8918 { return TOK_PRINT; }8919 YY_BREAK8920 case 81:8921 YY_RULE_SETUP8922 #line 186 "fortran.lex"8923 { return TOK_PROCEDURE; }8924 YY_BREAK8925 case 82:8926 YY_RULE_SETUP8927 #line 187 "fortran.lex"8928 { return TOK_READ; }8929 YY_BREAK8930 case 83:8931 YY_RULE_SETUP8932 #line 188 "fortran.lex"8933 { return TOK_NAMELIST; }8934 YY_BREAK8935 case 84:8936 YY_RULE_SETUP8937 #line 189 "fortran.lex"8938 { return TOK_WRITE; }8939 YY_BREAK8940 case 85:8941 YY_RULE_SETUP8942 #line 190 "fortran.lex"8943 { return TOK_FLUSH; }8944 YY_BREAK8945 case 86:8946 YY_RULE_SETUP8947 #line 191 "fortran.lex"8948 { return TOK_TARGET; }8949 YY_BREAK8950 case 87:8951 YY_RULE_SETUP8952 #line 192 "fortran.lex"8953 { return TOK_PUBLIC; }8954 YY_BREAK8955 case 88:8956 YY_RULE_SETUP8957 #line 193 "fortran.lex"8958 { return TOK_PRIVATE; }8959 YY_BREAK8960 case 89:8961 YY_RULE_SETUP8962 #line 194 "fortran.lex"8963 { strcpy(yylval.na,fortran_text); return TOK_IN; }8964 YY_BREAK8965 case 90:8966 YY_RULE_SETUP8967 #line 195 "fortran.lex"8968 { pos_curdata = setposcur()-strlen(fortran_text); Init_List_Data_Var(); return TOK_DATA; }8969 YY_BREAK8970 case 91:8971 YY_RULE_SETUP8972 #line 196 "fortran.lex"8973 { return TOK_CONTINUE; }8974 YY_BREAK8975 case 92:8976 YY_RULE_SETUP8977 #line 197 "fortran.lex"8978 { return TOK_PLAINGOTO; }8979 YY_BREAK8980 case 93:8981 YY_RULE_SETUP8982 #line 198 "fortran.lex"8983 { strcpy(yylval.na,fortran_text); return TOK_OUT; }8984 YY_BREAK8985 case 94:8986 YY_RULE_SETUP8987 #line 199 "fortran.lex"8988 { strcpy(yylval.na,fortran_text); return TOK_INOUT; }8989 YY_BREAK8990 case 95:8991 YY_RULE_SETUP8992 #line 200 "fortran.lex"8993 { return TOK_INTRINSIC; }8994 YY_BREAK8995 case 96:8996 YY_RULE_SETUP8997 #line 201 "fortran.lex"8998 { return TOK_THEN; }8999 YY_BREAK9000 case 97:9001 YY_RULE_SETUP9002 #line 202 "fortran.lex"9003 { return TOK_ELSEIF; }9004 YY_BREAK9005 case 98:9006 YY_RULE_SETUP9007 #line 203 "fortran.lex"9008 { return TOK_ELSE; }9009 YY_BREAK9010 case 99:9011 YY_RULE_SETUP9012 #line 204 "fortran.lex"9013 { return TOK_ENDIF; }9014 YY_BREAK9015 case 100:9016 YY_RULE_SETUP9017 #line 205 "fortran.lex"9018 { return TOK_LOGICALIF; }9019 YY_BREAK9020 case 101:9021 YY_RULE_SETUP9022 #line 206 "fortran.lex"9023 { return TOK_SUM; }9024 YY_BREAK9025 11713 case 102: 9026 YY_RULE_SETUP 9027 #line 207 "fortran.lex" 9028 { return TOK_MAX; } 11714 /* rule 102 can match eol */ 11715 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11716 (yy_c_buf_p) = yy_cp = yy_bp + 2; 11717 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11718 YY_RULE_SETUP 11719 #line 217 "fortran.lex" 11720 {strcpy(yylval.na,fortran_text); 11721 return TOK_NAME; 11722 } 9029 11723 YY_BREAK 9030 11724 case 103: 9031 11725 YY_RULE_SETUP 9032 #line 208 "fortran.lex" 9033 { return TOK_TANH; } 11726 #line 220 "fortran.lex" 11727 {strcpy(yylval.na,fortran_text); 11728 return TOK_LOGICALIF_PAR; 11729 } 9034 11730 YY_BREAK 9035 11731 case 104: 9036 11732 YY_RULE_SETUP 9037 #line 2 09"fortran.lex"9038 { return TOK_ MAXVAL; }11733 #line 223 "fortran.lex" 11734 { return TOK_SELECTCASE; } 9039 11735 YY_BREAK 9040 11736 case 105: 9041 11737 YY_RULE_SETUP 9042 #line 2 10"fortran.lex"9043 { return TOK_TRIM;}11738 #line 224 "fortran.lex" 11739 { if (in_select_case_stmt > 0) return TOK_CASE ; else return TOK_NAME;} 9044 11740 YY_BREAK 9045 11741 case 106: 9046 11742 YY_RULE_SETUP 9047 #line 2 11"fortran.lex"9048 { return TOK_ SQRT; }11743 #line 225 "fortran.lex" 11744 { return TOK_DEFAULT; } 9049 11745 YY_BREAK 9050 11746 case 107: 9051 11747 YY_RULE_SETUP 9052 #line 2 12"fortran.lex"9053 { return TOK_ SELECTCASE; }11748 #line 226 "fortran.lex" 11749 { return TOK_ENDSELECT; } 9054 11750 YY_BREAK 9055 11751 case 108: 9056 11752 YY_RULE_SETUP 9057 #line 2 13"fortran.lex"9058 { return TOK_ CASE; }11753 #line 227 "fortran.lex" 11754 { return TOK_FILE; } 9059 11755 YY_BREAK 9060 11756 case 109: 9061 11757 YY_RULE_SETUP 9062 #line 2 14"fortran.lex"9063 { return TOK_ DEFAULT; }11758 #line 228 "fortran.lex" 11759 { return TOK_ACCESS; } 9064 11760 YY_BREAK 9065 11761 case 110: 9066 11762 YY_RULE_SETUP 9067 #line 2 15"fortran.lex"9068 { return TOK_ ENDSELECT; }11763 #line 229 "fortran.lex" 11764 { return TOK_ACTION; } 9069 11765 YY_BREAK 9070 11766 case 111: 9071 11767 YY_RULE_SETUP 9072 #line 2 16"fortran.lex"9073 { return TOK_ FILE; }11768 #line 230 "fortran.lex" 11769 { return TOK_IOLENGTH; } 9074 11770 YY_BREAK 9075 11771 case 112: 9076 11772 YY_RULE_SETUP 9077 #line 2 17"fortran.lex"11773 #line 231 "fortran.lex" 9078 11774 { return TOK_UNIT; } 9079 11775 YY_BREAK 9080 11776 case 113: 9081 11777 YY_RULE_SETUP 9082 #line 218 "fortran.lex" 11778 #line 232 "fortran.lex" 11779 { return TOK_OPENED; } 11780 YY_BREAK 11781 case 114: 11782 YY_RULE_SETUP 11783 #line 233 "fortran.lex" 9083 11784 { return TOK_FMT; } 9084 11785 YY_BREAK 9085 case 11 4:9086 YY_RULE_SETUP 9087 #line 2 19"fortran.lex"11786 case 115: 11787 YY_RULE_SETUP 11788 #line 234 "fortran.lex" 9088 11789 { return TOK_NML; } 9089 11790 YY_BREAK 9090 case 11 5:9091 YY_RULE_SETUP 9092 #line 2 20"fortran.lex"11791 case 116: 11792 YY_RULE_SETUP 11793 #line 235 "fortran.lex" 9093 11794 { return TOK_END; } 9094 11795 YY_BREAK 9095 case 11 6:9096 YY_RULE_SETUP 9097 #line 2 21"fortran.lex"11796 case 117: 11797 YY_RULE_SETUP 11798 #line 236 "fortran.lex" 9098 11799 { return TOK_EOR; } 9099 11800 YY_BREAK 9100 case 117: 9101 YY_RULE_SETUP 9102 #line 222 "fortran.lex" 11801 case 118: 11802 YY_RULE_SETUP 11803 #line 237 "fortran.lex" 11804 { in_bind = 1; return TOK_BIND;} 11805 YY_BREAK 11806 case 119: 11807 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11808 (yy_c_buf_p) = yy_cp = yy_bp + 3; 11809 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11810 YY_RULE_SETUP 11811 #line 238 "fortran.lex" 11812 { 11813 if (in_char_selector ==1) 11814 return TOK_LEN; 11815 else 11816 { 11817 strcpy(yylval.na,fortran_text); return TOK_NAME; 11818 } 11819 } 11820 YY_BREAK 11821 case 120: 11822 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11823 (yy_c_buf_p) = yy_cp = yy_bp + 4; 11824 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11825 YY_RULE_SETUP 11826 #line 246 "fortran.lex" 11827 { 11828 if ((in_char_selector==1) || (in_kind_selector == 1)) 11829 return TOK_KIND; 11830 else 11831 { 11832 strcpy(yylval.na,fortran_text); return TOK_NAME; 11833 } 11834 } 11835 YY_BREAK 11836 case 121: 11837 YY_RULE_SETUP 11838 #line 254 "fortran.lex" 11839 { return TOK_ERRMSG; } 11840 YY_BREAK 11841 case 122: 11842 YY_RULE_SETUP 11843 #line 255 "fortran.lex" 11844 { return TOK_MOLD; } 11845 YY_BREAK 11846 case 123: 11847 YY_RULE_SETUP 11848 #line 256 "fortran.lex" 11849 { return TOK_SOURCE; } 11850 YY_BREAK 11851 case 124: 11852 YY_RULE_SETUP 11853 #line 257 "fortran.lex" 11854 { return TOK_POSITION; } 11855 YY_BREAK 11856 case 125: 11857 YY_RULE_SETUP 11858 #line 258 "fortran.lex" 11859 { return TOK_IOMSG; } 11860 YY_BREAK 11861 case 126: 11862 YY_RULE_SETUP 11863 #line 259 "fortran.lex" 11864 { return TOK_IOSTAT; } 11865 YY_BREAK 11866 case 127: 11867 YY_RULE_SETUP 11868 #line 260 "fortran.lex" 9103 11869 { return TOK_ERR; } 9104 11870 YY_BREAK 9105 case 118: 9106 YY_RULE_SETUP 9107 #line 223 "fortran.lex" 11871 case 128: 11872 YY_RULE_SETUP 11873 #line 261 "fortran.lex" 11874 { return TOK_FORM; } 11875 YY_BREAK 11876 case 129: 11877 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11878 (yy_c_buf_p) = yy_cp = yy_bp + 4; 11879 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11880 YY_RULE_SETUP 11881 #line 262 "fortran.lex" 11882 { 11883 if (in_inquire==1 || in_bind == 1) 11884 return TOK_NAME_EQ; 11885 else 11886 { 11887 strcpy(yylval.na,fortran_text); return TOK_NAME; 11888 } 11889 } 11890 YY_BREAK 11891 case 130: 11892 YY_RULE_SETUP 11893 #line 270 "fortran.lex" 11894 { return TOK_RECL; } 11895 YY_BREAK 11896 case 131: 11897 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11898 (yy_c_buf_p) = yy_cp = yy_bp + 3; 11899 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11900 YY_RULE_SETUP 11901 #line 271 "fortran.lex" 11902 { if (in_io_control_spec == 1) 11903 return TOK_REC; 11904 else 11905 { 11906 strcpy(yylval.na,fortran_text); return TOK_NAME; 11907 } 11908 } 11909 YY_BREAK 11910 case 132: 11911 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11912 (yy_c_buf_p) = yy_cp = yy_bp + 6; 11913 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11914 YY_RULE_SETUP 11915 #line 278 "fortran.lex" 11916 { if (close_or_connect == 1) 11917 return TOK_STATUS; 11918 else 11919 { 11920 strcpy(yylval.na,fortran_text); return TOK_NAME; 11921 } 11922 } 11923 YY_BREAK 11924 case 133: 11925 YY_RULE_SETUP 11926 #line 285 "fortran.lex" 11927 { strcpy(yylval.na,fortran_text); return TOK_NAME;} 11928 YY_BREAK 11929 case 134: 11930 YY_RULE_SETUP 11931 #line 286 "fortran.lex" 9108 11932 { return TOK_EXIST; } 9109 11933 YY_BREAK 9110 case 119: 9111 YY_RULE_SETUP 9112 #line 224 "fortran.lex" 9113 { return TOK_MIN; } 9114 YY_BREAK 9115 case 120: 9116 YY_RULE_SETUP 9117 #line 225 "fortran.lex" 9118 { return TOK_NINT; } 9119 YY_BREAK 9120 case 121: 9121 YY_RULE_SETUP 9122 #line 226 "fortran.lex" 9123 { return TOK_FLOAT; } 9124 YY_BREAK 9125 case 122: 9126 YY_RULE_SETUP 9127 #line 227 "fortran.lex" 9128 { return TOK_EXP; } 9129 YY_BREAK 9130 case 123: 9131 YY_RULE_SETUP 9132 #line 228 "fortran.lex" 9133 { return TOK_COS; } 9134 YY_BREAK 9135 case 124: 9136 YY_RULE_SETUP 9137 #line 229 "fortran.lex" 9138 { return TOK_COSH; } 9139 YY_BREAK 9140 case 125: 9141 YY_RULE_SETUP 9142 #line 230 "fortran.lex" 9143 { return TOK_ACOS; } 9144 YY_BREAK 9145 case 126: 9146 YY_RULE_SETUP 9147 #line 231 "fortran.lex" 9148 { return TOK_SIN; } 9149 YY_BREAK 9150 case 127: 9151 YY_RULE_SETUP 9152 #line 232 "fortran.lex" 9153 { return TOK_SINH; } 9154 YY_BREAK 9155 case 128: 9156 YY_RULE_SETUP 9157 #line 233 "fortran.lex" 9158 { return TOK_ASIN; } 9159 YY_BREAK 9160 case 129: 9161 YY_RULE_SETUP 9162 #line 234 "fortran.lex" 9163 { return TOK_LOG; } 9164 YY_BREAK 9165 case 130: 9166 YY_RULE_SETUP 9167 #line 235 "fortran.lex" 9168 { return TOK_TAN; } 9169 YY_BREAK 9170 case 131: 9171 YY_RULE_SETUP 9172 #line 236 "fortran.lex" 9173 { return TOK_ATAN; } 9174 YY_BREAK 9175 case 132: 9176 YY_RULE_SETUP 9177 #line 237 "fortran.lex" 11934 case 135: 11935 YY_RULE_SETUP 11936 #line 287 "fortran.lex" 9178 11937 { return TOK_CYCLE; } 9179 11938 YY_BREAK 9180 case 133:9181 YY_RULE_SETUP9182 #line 238 "fortran.lex"9183 { return TOK_ABS; }9184 YY_BREAK9185 case 134:9186 YY_RULE_SETUP9187 #line 239 "fortran.lex"9188 { return TOK_MOD; }9189 YY_BREAK9190 case 135:9191 YY_RULE_SETUP9192 #line 240 "fortran.lex"9193 { return TOK_SIGN; }9194 YY_BREAK9195 11939 case 136: 9196 11940 YY_RULE_SETUP 9197 #line 2 41"fortran.lex"9198 { return TOK_ MINLOC; }11941 #line 288 "fortran.lex" 11942 { return TOK_BACKSPACE; } 9199 11943 YY_BREAK 9200 11944 case 137: 9201 11945 YY_RULE_SETUP 9202 #line 2 42"fortran.lex"9203 { return TOK_ MAXLOC;}11946 #line 289 "fortran.lex" 11947 { return TOK_FOURDOTS; } 9204 11948 YY_BREAK 9205 11949 case 138: 9206 YY_RULE_SETUP 9207 #line 243 "fortran.lex" 9208 { return TOK_MINVAL; } 11950 /* rule 138 can match eol */ 11951 YY_RULE_SETUP 11952 #line 290 "fortran.lex" 11953 { strcpy(yylval.na,fortran_text); return TOK_DSLASH; } 9209 11954 YY_BREAK 9210 11955 case 139: 9211 11956 YY_RULE_SETUP 9212 #line 2 44"fortran.lex"9213 { return TOK_ BACKSPACE; }11957 #line 291 "fortran.lex" 11958 { return TOK_LEFTAB; } 9214 11959 YY_BREAK 9215 11960 case 140: 9216 11961 YY_RULE_SETUP 9217 #line 2 45"fortran.lex"9218 { return TOK_ FOURDOTS;}11962 #line 292 "fortran.lex" 11963 { return TOK_RIGHTAB; } 9219 11964 YY_BREAK 9220 11965 case 141: 9221 11966 YY_RULE_SETUP 9222 #line 2 46"fortran.lex"9223 { return TOK_LEFTAB; }11967 #line 293 "fortran.lex" 11968 { strcpy(yylval.na,fortran_text); return TOK_SLASH; } 9224 11969 YY_BREAK 9225 11970 case 142: 9226 YY_RULE_SETUP 9227 #line 247 "fortran.lex" 9228 { return TOK_RIGHTAB; } 11971 /* rule 142 can match eol */ 11972 YY_RULE_SETUP 11973 #line 294 "fortran.lex" 11974 { 11975 INCREMENT_LINE_NUM() ; strcpy(yylval.na,fortran_text); return TOK_CHAR_CUT; } 9229 11976 YY_BREAK 9230 11977 case 143: 9231 11978 /* rule 143 can match eol */ 9232 11979 YY_RULE_SETUP 9233 #line 248 "fortran.lex" 11980 #line 296 "fortran.lex" 11981 {Add_Include_1(fortran_text);} 11982 YY_BREAK 11983 case 144: 11984 YY_RULE_SETUP 11985 #line 297 "fortran.lex" 11986 {} 11987 YY_BREAK 11988 case 145: 11989 /* rule 145 can match eol */ 11990 YY_RULE_SETUP 11991 #line 298 "fortran.lex" 9234 11992 { 9235 return TOK_FORMAT; } 9236 YY_BREAK 9237 case 144: 9238 YY_RULE_SETUP 9239 #line 250 "fortran.lex" 9240 { strcpy(yylval.na,fortran_text); return TOK_SLASH; } 9241 YY_BREAK 9242 case 145: 9243 YY_RULE_SETUP 9244 #line 251 "fortran.lex" 9245 { strcpy(yylval.na,fortran_text); return TOK_DSLASH; } 11993 if (inmoduledeclare == 0 ) 11994 { 11995 pos_end=setposcur(); 11996 RemoveWordSET_0(fortran_out,pos_curinclude,pos_end-pos_curinclude); 11997 } 11998 out_of_donottreat(); 11999 } 9246 12000 YY_BREAK 9247 12001 case 146: 9248 12002 /* rule 146 can match eol */ 9249 12003 YY_RULE_SETUP 9250 #line 252 "fortran.lex" 9251 { 9252 strcpy(yylval.na,fortran_text); return TOK_CHAR_CUT; } 12004 #line 306 "fortran.lex" 12005 { strcpy(yylval.na,fortran_text);return TOK_CHAR_CONSTANT; } 9253 12006 YY_BREAK 9254 12007 case 147: 9255 12008 /* rule 147 can match eol */ 9256 12009 YY_RULE_SETUP 9257 #line 254"fortran.lex"9258 { strcpy(yylval.na,fortran_text);return TOK_CHAR_ CONSTANT; }12010 #line 307 "fortran.lex" 12011 { strcpy(yylval.na,fortran_text);return TOK_CHAR_MESSAGE; } 9259 12012 YY_BREAK 9260 12013 case 148: 9261 /* rule 148 can match eol */ 9262 YY_RULE_SETUP 9263 #line 255 "fortran.lex" 9264 { strcpy(yylval.na,fortran_text);return TOK_CHAR_MESSAGE; } 12014 YY_RULE_SETUP 12015 #line 308 "fortran.lex" 12016 { BEGIN(donottreat); } 9265 12017 YY_BREAK 9266 12018 case 149: 9267 YY_RULE_SETUP 9268 #line 256 "fortran.lex" 9269 { BEGIN(donottreat); } 12019 /* rule 149 can match eol */ 12020 YY_RULE_SETUP 12021 #line 309 "fortran.lex" 12022 { out_of_donottreat(); return '\n'; } 9270 12023 YY_BREAK 9271 12024 case 150: 9272 12025 /* rule 150 can match eol */ 9273 12026 YY_RULE_SETUP 9274 #line 257 "fortran.lex" 9275 { out_of_donottreat(); return '\n'; } 12027 #line 310 "fortran.lex" 12028 {strcpy(yylval.na,fortran_text); removenewline(yylval.na); 12029 return TOK_NAME; } 9276 12030 YY_BREAK 9277 12031 case 151: 9278 12032 YY_RULE_SETUP 9279 #line 258"fortran.lex"12033 #line 312 "fortran.lex" 9280 12034 { strcpy(yylval.na,fortran_text); return TOK_NAME; } 9281 12035 YY_BREAK 9282 12036 case 152: 9283 /* rule 152 can match eol */ 12037 YY_RULE_SETUP 12038 #line 313 "fortran.lex" 12039 {strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 12040 YY_BREAK 12041 case 153: 12042 /* rule 153 can match eol */ 9284 12043 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 9285 12044 (yy_c_buf_p) = yy_cp -= 1; 9286 12045 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 9287 12046 YY_RULE_SETUP 9288 #line 259"fortran.lex"12047 #line 314 "fortran.lex" 9289 12048 { // REAL1 9290 12049 strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 9291 12050 YY_BREAK 9292 case 15 3:9293 YY_RULE_SETUP 9294 #line 261"fortran.lex"12051 case 154: 12052 YY_RULE_SETUP 12053 #line 316 "fortran.lex" 9295 12054 { // REAL2 9296 12055 strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 9297 12056 YY_BREAK 9298 case 154:9299 YY_RULE_SETUP9300 #line 263 "fortran.lex"9301 { strcpy(yylval.na,fortran_text); return TOK_CSTINT; }9302 YY_BREAK9303 12057 case 155: 9304 12058 YY_RULE_SETUP 9305 #line 264 "fortran.lex" 12059 #line 318 "fortran.lex" 12060 { strcpy(yylval.na,fortran_text); 12061 if (lastwasendofstmt == 0) 12062 return TOK_CSTINT; 12063 else 12064 if (testandextractfromlist(&List_Do_labels,fortran_text) == 1) 12065 { 12066 removefromlist(&List_Do_labels,yylval.na); 12067 return TOK_LABEL_DJVIEW; 12068 } 12069 else 12070 { 12071 return TOK_LABEL; 12072 } 12073 } 12074 YY_BREAK 12075 case 156: 12076 YY_RULE_SETUP 12077 #line 332 "fortran.lex" 9306 12078 {} 9307 12079 YY_BREAK 9308 case 15 6:9309 YY_RULE_SETUP 9310 #line 265"fortran.lex"12080 case 157: 12081 YY_RULE_SETUP 12082 #line 333 "fortran.lex" 9311 12083 {} 9312 12084 YY_BREAK 9313 case 157: 9314 YY_RULE_SETUP 9315 #line 266 "fortran.lex" 12085 case 158: 12086 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 12087 (yy_c_buf_p) = yy_cp = yy_bp + 1; 12088 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 12089 YY_RULE_SETUP 12090 #line 334 "fortran.lex" 12091 { 12092 in_complex_literal = -1; 12093 return (int) *fortran_text; 12094 } 12095 YY_BREAK 12096 case 159: 12097 YY_RULE_SETUP 12098 #line 338 "fortran.lex" 9316 12099 { strcpy(yylval.na,fortran_text); return (int) *fortran_text; } 9317 12100 YY_BREAK 9318 case 1 58:9319 YY_RULE_SETUP 9320 #line 267"fortran.lex"12101 case 160: 12102 YY_RULE_SETUP 12103 #line 339 "fortran.lex" 9321 12104 { strcpy(yylval.na,fortran_text); return (int) *fortran_text; } 9322 12105 YY_BREAK 9323 case 159: 9324 YY_RULE_SETUP 9325 #line 268 "fortran.lex" 9326 { return TOK_SEMICOLON; } 9327 YY_BREAK 9328 case 160: 9329 YY_RULE_SETUP 9330 #line 269 "fortran.lex" 12106 case 161: 12107 YY_RULE_SETUP 12108 #line 340 "fortran.lex" 12109 { lastwasendofstmt=1; token_since_endofstmt = 0; return TOK_SEMICOLON; } 12110 YY_BREAK 12111 case 162: 12112 YY_RULE_SETUP 12113 #line 341 "fortran.lex" 12114 { if (in_complex_literal==-1) {return TOK_COMMACOMPLEX; in_complex_literal=0;} else; return (int) *fortran_text; } 12115 YY_BREAK 12116 case 163: 12117 YY_RULE_SETUP 12118 #line 342 "fortran.lex" 9331 12119 { return (int) *fortran_text; } 9332 12120 YY_BREAK 9333 case 16 1:9334 YY_RULE_SETUP 9335 #line 270"fortran.lex"12121 case 164: 12122 YY_RULE_SETUP 12123 #line 343 "fortran.lex" 9336 12124 { return (int) *fortran_text; } 9337 12125 YY_BREAK 9338 case 16 2:9339 YY_RULE_SETUP 9340 #line 271"fortran.lex"12126 case 165: 12127 YY_RULE_SETUP 12128 #line 344 "fortran.lex" 9341 12129 { return (int) *fortran_text; } 9342 12130 YY_BREAK 9343 case 163:9344 YY_RULE_SETUP9345 #line 272 "fortran.lex"9346 { return (int) *fortran_text; }9347 YY_BREAK9348 case 164:9349 /* rule 164 can match eol */9350 YY_RULE_SETUP9351 #line 273 "fortran.lex"9352 { INCREMENT_LINE_NUM() ; return '\n'; }9353 YY_BREAK9354 case 165:9355 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */9356 (yy_c_buf_p) = yy_cp -= 1;9357 YY_DO_BEFORE_ACTION; /* set up fortran_text again */9358 YY_RULE_SETUP9359 #line 274 "fortran.lex"9360 {}9361 YY_BREAK9362 12131 case 166: 9363 YY_RULE_SETUP 9364 #line 275 "fortran.lex" 9365 {} 12132 /* rule 166 can match eol */ 12133 YY_RULE_SETUP 12134 #line 345 "fortran.lex" 12135 { INCREMENT_LINE_NUM() ; lastwasendofstmt=1; token_since_endofstmt = 0; increment_nbtokens = 0; return '\n'; } 9366 12136 YY_BREAK 9367 12137 case 167: 9368 12138 YY_RULE_SETUP 9369 #line 276 "fortran.lex"9370 { if (newlinef90 == 0) return TOK_LABEL; else newlinef90 = 0;}12139 #line 346 "fortran.lex" 12140 {increment_nbtokens = 0;} 9371 12141 YY_BREAK 9372 12142 case 168: 9373 12143 /* rule 168 can match eol */ 9374 12144 YY_RULE_SETUP 9375 #line 277 "fortran.lex" 9376 { INCREMENT_LINE_NUM() ; newlinef90=1; } 12145 #line 347 "fortran.lex" 12146 { 12147 return TOK_LABEL_FORMAT; } 9377 12148 YY_BREAK 9378 12149 case 169: 9379 12150 /* rule 169 can match eol */ 9380 12151 YY_RULE_SETUP 9381 #line 278"fortran.lex"9382 { INCREMENT_LINE_NUM(); }12152 #line 349 "fortran.lex" 12153 {return TOK_LABEL_FORMAT; } 9383 12154 YY_BREAK 9384 12155 case 170: 9385 12156 /* rule 170 can match eol */ 9386 12157 YY_RULE_SETUP 9387 #line 280 "fortran.lex"9388 { INCREMENT_LINE_NUM() ; BEGIN(donottreat); }12158 #line 350 "fortran.lex" 12159 { INCREMENT_LINE_NUM() ; newlinef90=1; } 9389 12160 YY_BREAK 9390 12161 case 171: 9391 12162 /* rule 171 can match eol */ 9392 12163 YY_RULE_SETUP 9393 #line 281 "fortran.lex"9394 { out_of_donottreat(); return '\n';}12164 #line 351 "fortran.lex" 12165 { INCREMENT_LINE_NUM() ;} 9395 12166 YY_BREAK 9396 12167 case 172: 9397 12168 /* rule 172 can match eol */ 9398 12169 YY_RULE_SETUP 9399 #line 282"fortran.lex"9400 { INCREMENT_LINE_NUM() ; }12170 #line 353 "fortran.lex" 12171 { INCREMENT_LINE_NUM() ; BEGIN(donottreat); } 9401 12172 YY_BREAK 9402 12173 case 173: 9403 12174 /* rule 173 can match eol */ 9404 12175 YY_RULE_SETUP 9405 #line 283"fortran.lex"9406 { INCREMENT_LINE_NUM(); }12176 #line 354 "fortran.lex" 12177 { out_of_donottreat(); return '\n'; } 9407 12178 YY_BREAK 9408 12179 case 174: 9409 12180 /* rule 174 can match eol */ 9410 12181 YY_RULE_SETUP 9411 #line 284"fortran.lex"12182 #line 355 "fortran.lex" 9412 12183 { INCREMENT_LINE_NUM() ; } 9413 12184 YY_BREAK 9414 12185 case 175: 9415 YY_RULE_SETUP 9416 #line 285 "fortran.lex" 9417 {} 12186 /* rule 175 can match eol */ 12187 YY_RULE_SETUP 12188 #line 356 "fortran.lex" 12189 { INCREMENT_LINE_NUM() ; increment_nbtokens = 0;} 9418 12190 YY_BREAK 9419 12191 case 176: 9420 YY_RULE_SETUP 9421 #line 286 "fortran.lex" 9422 ECHO; 9423 YY_BREAK 9424 #line 3015 "fortran.yy.c" 12192 /* rule 176 can match eol */ 12193 YY_RULE_SETUP 12194 #line 357 "fortran.lex" 12195 { INCREMENT_LINE_NUM() ; increment_nbtokens = 0;} 12196 YY_BREAK 12197 case 177: 12198 YY_RULE_SETUP 12199 #line 358 "fortran.lex" 12200 {increment_nbtokens = 0;} 12201 YY_BREAK 9425 12202 case YY_STATE_EOF(INITIAL): 9426 12203 case YY_STATE_EOF(parameter): 9427 12204 case YY_STATE_EOF(character): 9428 12205 case YY_STATE_EOF(donottreat): 12206 case YY_STATE_EOF(includestate): 9429 12207 case YY_STATE_EOF(fortran77style): 9430 12208 case YY_STATE_EOF(fortran90style): 9431 yyterminate(); 12209 #line 359 "fortran.lex" 12210 {endoffile = 1; yyterminate();} 12211 YY_BREAK 12212 case 178: 12213 YY_RULE_SETUP 12214 #line 360 "fortran.lex" 12215 ECHO; 12216 YY_BREAK 12217 #line 4816 "fortran.yy.c" 9432 12218 9433 12219 case YY_END_OF_BUFFER: … … 9619 12405 { /* Not enough room in the buffer - grow it. */ 9620 12406 9621 /* just a shorter name for the current buffer */ 9622 YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 9623 9624 int yy_c_buf_p_offset = 9625 (int) ((yy_c_buf_p) - b->yy_ch_buf); 9626 9627 if ( b->yy_is_our_buffer ) 9628 { 9629 yy_size_t new_size = b->yy_buf_size * 2; 9630 9631 if ( new_size <= 0 ) 9632 b->yy_buf_size += b->yy_buf_size / 8; 9633 else 9634 b->yy_buf_size *= 2; 9635 9636 b->yy_ch_buf = (char *) 9637 /* Include room in for 2 EOB chars. */ 9638 fortran_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 9639 } 9640 else 9641 /* Can't grow it, we don't own it. */ 9642 b->yy_ch_buf = 0; 9643 9644 if ( ! b->yy_ch_buf ) 9645 YY_FATAL_ERROR( 9646 "fatal error - scanner input buffer overflow" ); 9647 9648 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 9649 9650 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 9651 number_to_move - 1; 12407 YY_FATAL_ERROR( 12408 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); 9652 12409 9653 12410 } … … 9709 12466 yy_current_state += YY_AT_BOL(); 9710 12467 12468 (yy_state_ptr) = (yy_state_buf); 12469 *(yy_state_ptr)++ = yy_current_state; 12470 9711 12471 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 9712 12472 { 9713 12473 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 9714 if ( yy_accept[yy_current_state] )9715 {9716 (yy_last_accepting_state) = yy_current_state;9717 (yy_last_accepting_cpos) = yy_cp;9718 }9719 12474 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 9720 12475 { 9721 12476 yy_current_state = (int) yy_def[yy_current_state]; 9722 if ( yy_current_state >= 1 132)12477 if ( yy_current_state >= 1887 ) 9723 12478 yy_c = yy_meta[(unsigned int) yy_c]; 9724 12479 } 9725 12480 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 12481 *(yy_state_ptr)++ = yy_current_state; 9726 12482 } 9727 12483 … … 9737 12493 { 9738 12494 register int yy_is_jam; 9739 register char *yy_cp = (yy_c_buf_p); 9740 12495 9741 12496 register YY_CHAR yy_c = 1; 9742 if ( yy_accept[yy_current_state] )9743 {9744 (yy_last_accepting_state) = yy_current_state;9745 (yy_last_accepting_cpos) = yy_cp;9746 }9747 12497 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 9748 12498 { 9749 12499 yy_current_state = (int) yy_def[yy_current_state]; 9750 if ( yy_current_state >= 1 132)12500 if ( yy_current_state >= 1887 ) 9751 12501 yy_c = yy_meta[(unsigned int) yy_c]; 9752 12502 } 9753 12503 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 9754 yy_is_jam = (yy_current_state == 1131); 12504 yy_is_jam = (yy_current_state == 1886); 12505 if ( ! yy_is_jam ) 12506 *(yy_state_ptr)++ = yy_current_state; 9755 12507 9756 12508 return yy_is_jam ? 0 : yy_current_state; … … 10342 13094 (yy_start) = 0; 10343 13095 13096 (yy_state_buf) = 0; 13097 (yy_state_ptr) = 0; 13098 (yy_full_match) = 0; 13099 (yy_lp) = 0; 13100 10344 13101 /* Defined in main.c */ 10345 13102 #ifdef YY_STDINIT … … 10371 13128 fortran_free((yy_buffer_stack) ); 10372 13129 (yy_buffer_stack) = NULL; 13130 13131 fortran_free ( (yy_state_buf) ); 13132 (yy_state_buf) = NULL; 10373 13133 10374 13134 /* Reset the globals. This is important in a non-reentrant scanner so the next time … … 10427 13187 #define YYTABLES_NAME "yytables" 10428 13188 10429 #line 286"fortran.lex"13189 #line 360 "fortran.lex" 10430 13190 10431 13191 -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/main.c
r5656 r8139 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 9 8 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 13 12 This program is distributed in the hope that it will be useful, 14 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 15 GNU General Public License for more details. 17 16 18 17 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/>. */ 22 19 23 20 /* As a special exception, you may create a larger work that contains … … 30 27 Bison output files to be licensed under the GNU General Public 31 28 License without this special exception. 32 29 33 30 This special exception was added by the Free Software Foundation in 34 31 version 2.2 of Bison. */ … … 48 45 49 46 /* Bison version. */ 50 #define YYBISON_VERSION "2. 3"47 #define YYBISON_VERSION "2.7" 51 48 52 49 /* Skeleton name. */ … … 56 53 #define YYPURE 0 57 54 58 /* Using locations. */ 59 #define YYLSP_NEEDED 0 55 /* Push parsers. */ 56 #define YYPUSH 0 57 58 /* Pull parsers. */ 59 #define YYPULL 1 60 60 61 61 62 /* Substitute the variable and function names. */ 62 #define yyparse convert_parse 63 #define yylex convert_lex 64 #define yyerror convert_error 65 #define yylval convert_lval 66 #define yychar convert_char 67 #define yydebug convert_debug 68 #define yynerrs convert_nerrs 69 63 #define yyparse convert_parse 64 #define yylex convert_lex 65 #define yyerror convert_error 66 #define yylval convert_lval 67 #define yychar convert_char 68 #define yydebug convert_debug 69 #define yynerrs convert_nerrs 70 71 /* Copy the first part of user declarations. */ 72 /* Line 371 of yacc.c */ 73 #line 35 "convert.y" 74 75 #include <stdlib.h> 76 #include <stdio.h> 77 #include <string.h> 78 #include "decl.h" 79 80 int line_num=1; 81 extern FILE * convert_in; 82 83 int convert_error(const char *s) 84 { 85 printf("##\n## ERROR in conv: '%s' (line %d, file: %s)\n##\n", s, line_num, config_file); 86 exit(0); 87 } 88 89 90 /* Line 371 of yacc.c */ 91 #line 92 "convert.tab.c" 92 93 # ifndef YY_NULL 94 # if defined __cplusplus && 201103L <= __cplusplus 95 # define YY_NULL nullptr 96 # else 97 # define YY_NULL 0 98 # endif 99 # endif 100 101 /* Enabling verbose error messages. */ 102 #ifdef YYERROR_VERBOSE 103 # undef YYERROR_VERBOSE 104 # define YYERROR_VERBOSE 1 105 #else 106 # define YYERROR_VERBOSE 0 107 #endif 108 109 110 /* Enabling traces. */ 111 #ifndef YYDEBUG 112 # define YYDEBUG 1 113 #endif 114 #if YYDEBUG 115 extern int convert_debug; 116 #endif 70 117 71 118 /* Tokens. */ … … 87 134 }; 88 135 #endif 89 /* Tokens. */ 90 #define TOK_SEP 258 91 #define TOK_KIND 259 92 #define TOK_EQUAL 260 93 #define TOK_USE 261 94 #define TOK_MODULEMAIN 262 95 #define TOK_NOTGRIDDEP 263 96 #define TOK_USEITEM 264 97 #define TOK_NAME 265 98 #define TOK_CSTINT 266 99 #define TOK_PROBTYPE 267 100 101 102 103 104 /* Copy the first part of user declarations. */ 105 #line 35 "convert.y" 106 107 #include <stdlib.h> 108 #include <stdio.h> 109 #include <string.h> 110 #include "decl.h" 111 112 int line_num=1; 113 extern FILE * convert_in; 114 115 int convert_error(const char *s) 116 { 117 printf("##\n## ERROR in conv: '%s' (line %d, file: %s)\n##\n", s, line_num, config_file); 118 exit(0); 119 } 120 121 122 123 /* Enabling traces. */ 124 #ifndef YYDEBUG 125 # define YYDEBUG 1 126 #endif 127 128 /* Enabling verbose error messages. */ 129 #ifdef YYERROR_VERBOSE 130 # undef YYERROR_VERBOSE 131 # define YYERROR_VERBOSE 1 132 #else 133 # define YYERROR_VERBOSE 0 134 #endif 135 136 /* Enabling the token table. */ 137 #ifndef YYTOKEN_TABLE 138 # define YYTOKEN_TABLE 0 139 #endif 136 140 137 141 138 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 142 139 typedef union YYSTYPE 140 { 141 /* Line 387 of yacc.c */ 143 142 #line 52 "convert.y" 144 { 143 145 144 char na[LONG_M]; 146 } 147 /* Line 193 of yacc.c. */ 145 146 147 /* Line 387 of yacc.c */ 148 148 #line 149 "convert.tab.c" 149 YYSTYPE; 149 } YYSTYPE; 150 # define YYSTYPE_IS_TRIVIAL 1 150 151 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 151 152 # define YYSTYPE_IS_DECLARED 1 152 # define YYSTYPE_IS_TRIVIAL 1 153 #endif 153 #endif 154 155 extern YYSTYPE convert_lval; 156 157 #ifdef YYPARSE_PARAM 158 #if defined __STDC__ || defined __cplusplus 159 int convert_parse (void *YYPARSE_PARAM); 160 #else 161 int convert_parse (); 162 #endif 163 #else /* ! YYPARSE_PARAM */ 164 #if defined __STDC__ || defined __cplusplus 165 int convert_parse (void); 166 #else 167 int convert_parse (); 168 #endif 169 #endif /* ! YYPARSE_PARAM */ 154 170 155 171 … … 157 173 /* Copy the second part of user declarations. */ 158 174 159 160 /* Line 216 of yacc.c. */ 161 #line 162 "convert.tab.c" 175 /* Line 390 of yacc.c */ 176 #line 177 "convert.tab.c" 162 177 163 178 #ifdef short … … 212 227 # if ENABLE_NLS 213 228 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 214 # define YY_( msgid) dgettext ("bison-runtime", msgid)229 # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 215 230 # endif 216 231 # endif 217 232 # ifndef YY_ 218 # define YY_( msgid) msgid233 # define YY_(Msgid) Msgid 219 234 # endif 220 235 #endif … … 222 237 /* Suppress unused-variable warnings by "using" E. */ 223 238 #if ! defined lint || defined __GNUC__ 224 # define YYUSE( e) ((void) (e))239 # define YYUSE(E) ((void) (E)) 225 240 #else 226 # define YYUSE( e) /* empty */241 # define YYUSE(E) /* empty */ 227 242 #endif 228 243 229 244 /* Identity function, used to suppress warnings about constant conditions. */ 230 245 #ifndef lint 231 # define YYID( n) (n)246 # define YYID(N) (N) 232 247 #else 233 248 #if (defined __STDC__ || defined __C99__FUNC__ \ 234 249 || defined __cplusplus || defined _MSC_VER) 235 250 static int 236 YYID (int i)251 YYID (int yyi) 237 252 #else 238 253 static int 239 YYID ( i)240 int i;241 #endif 242 { 243 return i;254 YYID (yyi) 255 int yyi; 256 #endif 257 { 258 return yyi; 244 259 } 245 260 #endif … … 262 277 # else 263 278 # define YYSTACK_ALLOC alloca 264 # if ! defined _ALLOCA_H && ! defined _STDLIB_H&& (defined __STDC__ || defined __C99__FUNC__ \279 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 265 280 || defined __cplusplus || defined _MSC_VER) 266 281 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 267 # ifndef _STDLIB_H 268 # define _STDLIB_H 1 282 /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 283 # ifndef EXIT_SUCCESS 284 # define EXIT_SUCCESS 0 269 285 # endif 270 286 # endif … … 289 305 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 290 306 # endif 291 # if (defined __cplusplus && ! defined _STDLIB_H\307 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 292 308 && ! ((defined YYMALLOC || defined malloc) \ 293 309 && (defined YYFREE || defined free))) 294 310 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 295 # ifndef _STDLIB_H296 # define _STDLIB_H 1311 # ifndef EXIT_SUCCESS 312 # define EXIT_SUCCESS 0 297 313 # endif 298 314 # endif 299 315 # ifndef YYMALLOC 300 316 # define YYMALLOC malloc 301 # if ! defined malloc && ! defined _STDLIB_H&& (defined __STDC__ || defined __C99__FUNC__ \317 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 302 318 || defined __cplusplus || defined _MSC_VER) 303 319 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ … … 306 322 # ifndef YYFREE 307 323 # define YYFREE free 308 # if ! defined free && ! defined _STDLIB_H&& (defined __STDC__ || defined __C99__FUNC__ \324 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 309 325 || defined __cplusplus || defined _MSC_VER) 310 326 void free (void *); /* INFRINGES ON USER NAME SPACE */ … … 322 338 union yyalloc 323 339 { 324 yytype_int16 yyss ;325 YYSTYPE yyvs ;326 340 yytype_int16 yyss_alloc; 341 YYSTYPE yyvs_alloc; 342 }; 327 343 328 344 /* The size of the maximum gap between one aligned stack and the next. */ … … 335 351 + YYSTACK_GAP_MAXIMUM) 336 352 337 /* Copy COUNT objects from FROM to TO. The source and destination do 338 not overlap. */ 339 # ifndef YYCOPY 340 # if defined __GNUC__ && 1 < __GNUC__ 341 # define YYCOPY(To, From, Count) \ 342 __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 343 # else 344 # define YYCOPY(To, From, Count) \ 345 do \ 346 { \ 347 YYSIZE_T yyi; \ 348 for (yyi = 0; yyi < (Count); yyi++) \ 349 (To)[yyi] = (From)[yyi]; \ 350 } \ 351 while (YYID (0)) 352 # endif 353 # endif 353 # define YYCOPY_NEEDED 1 354 354 355 355 /* Relocate STACK from its old location to the new one. The … … 358 358 stack. Advance YYPTR to a properly aligned location for the next 359 359 stack. */ 360 # define YYSTACK_RELOCATE(Stack )\360 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 361 361 do \ 362 362 { \ 363 363 YYSIZE_T yynewbytes; \ 364 YYCOPY (&yyptr->Stack , Stack, yysize);\365 Stack = &yyptr->Stack ;\364 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 365 Stack = &yyptr->Stack_alloc; \ 366 366 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 367 367 yyptr += yynewbytes / sizeof (*yyptr); \ … … 370 370 371 371 #endif 372 373 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 374 /* Copy COUNT objects from SRC to DST. The source and destination do 375 not overlap. */ 376 # ifndef YYCOPY 377 # if defined __GNUC__ && 1 < __GNUC__ 378 # define YYCOPY(Dst, Src, Count) \ 379 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 380 # else 381 # define YYCOPY(Dst, Src, Count) \ 382 do \ 383 { \ 384 YYSIZE_T yyi; \ 385 for (yyi = 0; yyi < (Count); yyi++) \ 386 (Dst)[yyi] = (Src)[yyi]; \ 387 } \ 388 while (YYID (0)) 389 # endif 390 # endif 391 #endif /* !YYCOPY_NEEDED */ 372 392 373 393 /* YYFINAL -- State number of the termination state. */ … … 451 471 #endif 452 472 453 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE473 #if YYDEBUG || YYERROR_VERBOSE || 0 454 474 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 455 475 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ … … 459 479 "TOK_USE", "TOK_MODULEMAIN", "TOK_NOTGRIDDEP", "TOK_USEITEM", "TOK_NAME", 460 480 "TOK_CSTINT", "TOK_PROBTYPE", "','", "';'", "'\\n'", "$accept", "input", 461 "line", 0481 "line", YY_NULL 462 482 }; 463 483 #endif … … 487 507 }; 488 508 489 /* YYDEFACT[STATE-NAME] -- Default r ule to reduce with in state490 STATE-NUMwhen YYTABLE doesn't specify something else to do. Zero509 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 510 Performed when YYTABLE doesn't specify something else to do. Zero 491 511 means the default is an error. */ 492 512 static const yytype_uint8 yydefact[] = … … 521 541 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 522 542 positive, shift that token. If negative, reduce the rule which 523 number is the opposite. If zero, do what YYDEFACT says. 524 If YYTABLE_NINF, syntax error. */ 543 number is the opposite. If YYTABLE_NINF, syntax error. */ 525 544 #define YYTABLE_NINF -1 526 545 static const yytype_uint8 yytable[] = … … 531 550 }; 532 551 552 #define yypact_value_is_default(Yystate) \ 553 (!!((Yystate) == (-13))) 554 555 #define yytable_value_is_error(Yytable_value) \ 556 YYID (0) 557 533 558 static const yytype_int8 yycheck[] = 534 559 { … … 559 584 /* Like YYERROR except do call yyerror. This remains here temporarily 560 585 to ease the transition to the new meaning of YYERROR, for GCC. 561 Once GCC version 2 has supplanted version 1, this can go. */ 586 Once GCC version 2 has supplanted version 1, this can go. However, 587 YYFAIL appears to be in use. Nevertheless, it is formally deprecated 588 in Bison 2.4.2's NEWS entry, where a plan to phase it out is 589 discussed. */ 562 590 563 591 #define YYFAIL goto yyerrlab 592 #if defined YYFAIL 593 /* This is here to suppress warnings from the GCC cpp's 594 -Wunused-macros. Normally we don't worry about that warning, but 595 some users do, and we want to make it easy for users to remove 596 YYFAIL uses, which will produce warnings from Bison 2.5. */ 597 #endif 564 598 565 599 #define YYRECOVERING() (!!yyerrstatus) 566 600 567 #define YYBACKUP(Token, Value) 568 do 569 if (yychar == YYEMPTY && yylen == 1)\570 { 571 yychar = (Token); 572 yylval = (Value); 573 yytoken = YYTRANSLATE (yychar);\574 YYPOPSTACK (1);\575 goto yybackup; 576 } 577 else 578 { 601 #define YYBACKUP(Token, Value) \ 602 do \ 603 if (yychar == YYEMPTY) \ 604 { \ 605 yychar = (Token); \ 606 yylval = (Value); \ 607 YYPOPSTACK (yylen); \ 608 yystate = *yyssp; \ 609 goto yybackup; \ 610 } \ 611 else \ 612 { \ 579 613 yyerror (YY_("syntax error: cannot back up")); \ 580 614 YYERROR; \ … … 582 616 while (YYID (0)) 583 617 584 618 /* Error token number */ 585 619 #define YYTERROR 1 586 620 #define YYERRCODE 256 587 621 588 622 589 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 590 If N is 0, then set CURRENT to the empty location which ends 591 the previous symbol: RHS[0] (always defined). */ 592 593 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 594 #ifndef YYLLOC_DEFAULT 595 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 596 do \ 597 if (YYID (N)) \ 598 { \ 599 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 600 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 601 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 602 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 603 } \ 604 else \ 605 { \ 606 (Current).first_line = (Current).last_line = \ 607 YYRHSLOC (Rhs, 0).last_line; \ 608 (Current).first_column = (Current).last_column = \ 609 YYRHSLOC (Rhs, 0).last_column; \ 610 } \ 611 while (YYID (0)) 612 #endif 613 614 615 /* YY_LOCATION_PRINT -- Print the location on the stream. 616 This macro was not mandated originally: define only if we know 617 we won't break user code: when these are the locations we know. */ 618 623 /* This macro is provided for backward compatibility. */ 619 624 #ifndef YY_LOCATION_PRINT 620 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL 621 # define YY_LOCATION_PRINT(File, Loc) \ 622 fprintf (File, "%d.%d-%d.%d", \ 623 (Loc).first_line, (Loc).first_column, \ 624 (Loc).last_line, (Loc).last_column) 625 # else 626 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 627 # endif 625 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 628 626 #endif 629 627 630 628 631 629 /* YYLEX -- calling `yylex' with the right arguments. */ 632 633 630 #ifdef YYLEX_PARAM 634 631 # define YYLEX yylex (YYLEX_PARAM) … … 680 677 #endif 681 678 { 679 FILE *yyo = yyoutput; 680 YYUSE (yyo); 682 681 if (!yyvaluep) 683 682 return; … … 691 690 { 692 691 default: 693 692 break; 694 693 } 695 694 } … … 729 728 || defined __cplusplus || defined _MSC_VER) 730 729 static void 731 yy_stack_print (yytype_int16 * bottom, yytype_int16 *top)730 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 732 731 #else 733 732 static void 734 yy_stack_print ( bottom,top)735 yytype_int16 * bottom;736 yytype_int16 * top;733 yy_stack_print (yybottom, yytop) 734 yytype_int16 *yybottom; 735 yytype_int16 *yytop; 737 736 #endif 738 737 { 739 738 YYFPRINTF (stderr, "Stack now"); 740 for (; bottom <= top; ++bottom) 741 YYFPRINTF (stderr, " %d", *bottom); 739 for (; yybottom <= yytop; yybottom++) 740 { 741 int yybot = *yybottom; 742 YYFPRINTF (stderr, " %d", yybot); 743 } 742 744 YYFPRINTF (stderr, "\n"); 743 745 } … … 773 775 for (yyi = 0; yyi < yynrhs; yyi++) 774 776 { 775 fprintf(stderr, " $%d = ", yyi + 1);777 YYFPRINTF (stderr, " $%d = ", yyi + 1); 776 778 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 777 779 &(yyvsp[(yyi + 1) - (yynrhs)]) 778 780 ); 779 fprintf(stderr, "\n");781 YYFPRINTF (stderr, "\n"); 780 782 } 781 783 } … … 813 815 # define YYMAXDEPTH 10000 814 816 #endif 815 816 817 817 818 818 … … 918 918 # endif 919 919 920 /* Copy into YYRESULT an error message about the unexpected token 921 YYCHAR while in state YYSTATE. Return the number of bytes copied, 922 including the terminating null byte. If YYRESULT is null, do not 923 copy anything; just return the number of bytes that would be 924 copied. As a special case, return 0 if an ordinary "syntax error" 925 message will do. Return YYSIZE_MAXIMUM if overflow occurs during 926 size calculation. */ 927 static YYSIZE_T 928 yysyntax_error (char *yyresult, int yystate, int yychar) 929 { 930 int yyn = yypact[yystate]; 931 932 if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) 933 return 0; 934 else 920 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message 921 about the unexpected token YYTOKEN for the state stack whose top is 922 YYSSP. 923 924 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is 925 not large enough to hold the message. In that case, also set 926 *YYMSG_ALLOC to the required number of bytes. Return 2 if the 927 required number of bytes is too large to store. */ 928 static int 929 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, 930 yytype_int16 *yyssp, int yytoken) 931 { 932 YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); 933 YYSIZE_T yysize = yysize0; 934 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 935 /* Internationalized format string. */ 936 const char *yyformat = YY_NULL; 937 /* Arguments of yyformat. */ 938 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 939 /* Number of reported tokens (one for the "unexpected", one per 940 "expected"). */ 941 int yycount = 0; 942 943 /* There are many possibilities here to consider: 944 - Assume YYFAIL is not used. It's too flawed to consider. See 945 <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> 946 for details. YYERROR is fine as it does not invoke this 947 function. 948 - If this state is a consistent state with a default action, then 949 the only way this function was invoked is if the default action 950 is an error action. In that case, don't check for expected 951 tokens because there are none. 952 - The only way there can be no lookahead present (in yychar) is if 953 this state is a consistent state with a default action. Thus, 954 detecting the absence of a lookahead is sufficient to determine 955 that there is no unexpected or expected token to report. In that 956 case, just report a simple "syntax error". 957 - Don't assume there isn't a lookahead just because this state is a 958 consistent state with a default action. There might have been a 959 previous inconsistent state, consistent state with a non-default 960 action, or user semantic action that manipulated yychar. 961 - Of course, the expected token list depends on states to have 962 correct lookahead information, and it depends on the parser not 963 to perform extra reductions after fetching a lookahead from the 964 scanner and before detecting a syntax error. Thus, state merging 965 (from LALR or IELR) and default reductions corrupt the expected 966 token list. However, the list is correct for canonical LR with 967 one exception: it will still contain any token that will not be 968 accepted due to an error action in a later state. 969 */ 970 if (yytoken != YYEMPTY) 935 971 { 936 int yytype = YYTRANSLATE (yychar); 937 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); 938 YYSIZE_T yysize = yysize0; 939 YYSIZE_T yysize1; 940 int yysize_overflow = 0; 941 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 942 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 943 int yyx; 944 945 # if 0 946 /* This is so xgettext sees the translatable formats that are 947 constructed on the fly. */ 948 YY_("syntax error, unexpected %s"); 949 YY_("syntax error, unexpected %s, expecting %s"); 950 YY_("syntax error, unexpected %s, expecting %s or %s"); 951 YY_("syntax error, unexpected %s, expecting %s or %s or %s"); 952 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); 953 # endif 954 char *yyfmt; 955 char const *yyf; 956 static char const yyunexpected[] = "syntax error, unexpected %s"; 957 static char const yyexpecting[] = ", expecting %s"; 958 static char const yyor[] = " or %s"; 959 char yyformat[sizeof yyunexpected 960 + sizeof yyexpecting - 1 961 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) 962 * (sizeof yyor - 1))]; 963 char const *yyprefix = yyexpecting; 964 965 /* Start YYX at -YYN if negative to avoid negative indexes in 966 YYCHECK. */ 967 int yyxbegin = yyn < 0 ? -yyn : 0; 968 969 /* Stay within bounds of both yycheck and yytname. */ 970 int yychecklim = YYLAST - yyn + 1; 971 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 972 int yycount = 1; 973 974 yyarg[0] = yytname[yytype]; 975 yyfmt = yystpcpy (yyformat, yyunexpected); 976 977 for (yyx = yyxbegin; yyx < yyxend; ++yyx) 978 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) 979 { 980 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 981 { 982 yycount = 1; 983 yysize = yysize0; 984 yyformat[sizeof yyunexpected - 1] = '\0'; 985 break; 986 } 987 yyarg[yycount++] = yytname[yyx]; 988 yysize1 = yysize + yytnamerr (0, yytname[yyx]); 989 yysize_overflow |= (yysize1 < yysize); 990 yysize = yysize1; 991 yyfmt = yystpcpy (yyfmt, yyprefix); 992 yyprefix = yyor; 993 } 994 995 yyf = YY_(yyformat); 996 yysize1 = yysize + yystrlen (yyf); 997 yysize_overflow |= (yysize1 < yysize); 998 yysize = yysize1; 999 1000 if (yysize_overflow) 1001 return YYSIZE_MAXIMUM; 1002 1003 if (yyresult) 1004 { 1005 /* Avoid sprintf, as that infringes on the user's name space. 1006 Don't have undefined behavior even if the translation 1007 produced a string with the wrong number of "%s"s. */ 1008 char *yyp = yyresult; 1009 int yyi = 0; 1010 while ((*yyp = *yyf) != '\0') 1011 { 1012 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) 1013 { 1014 yyp += yytnamerr (yyp, yyarg[yyi++]); 1015 yyf += 2; 1016 } 1017 else 1018 { 1019 yyp++; 1020 yyf++; 1021 } 1022 } 1023 } 1024 return yysize; 972 int yyn = yypact[*yyssp]; 973 yyarg[yycount++] = yytname[yytoken]; 974 if (!yypact_value_is_default (yyn)) 975 { 976 /* Start YYX at -YYN if negative to avoid negative indexes in 977 YYCHECK. In other words, skip the first -YYN actions for 978 this state because they are default actions. */ 979 int yyxbegin = yyn < 0 ? -yyn : 0; 980 /* Stay within bounds of both yycheck and yytname. */ 981 int yychecklim = YYLAST - yyn + 1; 982 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 983 int yyx; 984 985 for (yyx = yyxbegin; yyx < yyxend; ++yyx) 986 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR 987 && !yytable_value_is_error (yytable[yyx + yyn])) 988 { 989 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 990 { 991 yycount = 1; 992 yysize = yysize0; 993 break; 994 } 995 yyarg[yycount++] = yytname[yyx]; 996 { 997 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); 998 if (! (yysize <= yysize1 999 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 1000 return 2; 1001 yysize = yysize1; 1002 } 1003 } 1004 } 1025 1005 } 1006 1007 switch (yycount) 1008 { 1009 # define YYCASE_(N, S) \ 1010 case N: \ 1011 yyformat = S; \ 1012 break 1013 YYCASE_(0, YY_("syntax error")); 1014 YYCASE_(1, YY_("syntax error, unexpected %s")); 1015 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); 1016 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); 1017 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); 1018 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); 1019 # undef YYCASE_ 1020 } 1021 1022 { 1023 YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 1024 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 1025 return 2; 1026 yysize = yysize1; 1027 } 1028 1029 if (*yymsg_alloc < yysize) 1030 { 1031 *yymsg_alloc = 2 * yysize; 1032 if (! (yysize <= *yymsg_alloc 1033 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) 1034 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; 1035 return 1; 1036 } 1037 1038 /* Avoid sprintf, as that infringes on the user's name space. 1039 Don't have undefined behavior even if the translation 1040 produced a string with the wrong number of "%s"s. */ 1041 { 1042 char *yyp = *yymsg; 1043 int yyi = 0; 1044 while ((*yyp = *yyformat) != '\0') 1045 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) 1046 { 1047 yyp += yytnamerr (yyp, yyarg[yyi++]); 1048 yyformat += 2; 1049 } 1050 else 1051 { 1052 yyp++; 1053 yyformat++; 1054 } 1055 } 1056 return 0; 1026 1057 } 1027 1058 #endif /* YYERROR_VERBOSE */ 1028 1029 1030 1059 1031 1060 /*-----------------------------------------------. … … 1056 1085 1057 1086 default: 1058 1087 break; 1059 1088 } 1060 1089 } … … 1062 1091 1063 1092 1064 /* Prevent warnings from -Wmissing-prototypes. */ 1065 1066 #ifdef YYPARSE_PARAM 1067 #if defined __STDC__ || defined __cplusplus 1068 int yyparse (void *YYPARSE_PARAM); 1069 #else 1070 int yyparse (); 1071 #endif 1072 #else /* ! YYPARSE_PARAM */ 1073 #if defined __STDC__ || defined __cplusplus 1074 int yyparse (void); 1075 #else 1076 int yyparse (); 1077 #endif 1078 #endif /* ! YYPARSE_PARAM */ 1079 1080 1081 1082 /* The look-ahead symbol. */ 1093 1094 /* The lookahead symbol. */ 1083 1095 int yychar; 1084 1096 1085 /* The semantic value of the look-ahead symbol. */ 1086 YYSTYPE yylval; 1097 1098 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1099 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1100 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 1101 #endif 1102 #ifndef YY_INITIAL_VALUE 1103 # define YY_INITIAL_VALUE(Value) /* Nothing. */ 1104 #endif 1105 1106 /* The semantic value of the lookahead symbol. */ 1107 YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); 1087 1108 1088 1109 /* Number of syntax errors so far. */ 1089 1110 int yynerrs; 1090 1091 1111 1092 1112 … … 1117 1137 #endif 1118 1138 { 1119 1120 int yystate; 1139 int yystate; 1140 /* Number of tokens to shift before error messages enabled. */ 1141 int yyerrstatus; 1142 1143 /* The stacks and their tools: 1144 `yyss': related to states. 1145 `yyvs': related to semantic values. 1146 1147 Refer to the stacks through separate pointers, to allow yyoverflow 1148 to reallocate them elsewhere. */ 1149 1150 /* The state stack. */ 1151 yytype_int16 yyssa[YYINITDEPTH]; 1152 yytype_int16 *yyss; 1153 yytype_int16 *yyssp; 1154 1155 /* The semantic value stack. */ 1156 YYSTYPE yyvsa[YYINITDEPTH]; 1157 YYSTYPE *yyvs; 1158 YYSTYPE *yyvsp; 1159 1160 YYSIZE_T yystacksize; 1161 1121 1162 int yyn; 1122 1163 int yyresult; 1123 /* Number of tokens to shift before error messages enabled. */ 1124 int yyerrstatus; 1125 /* Look-ahead token as an internal (translated) token number. */ 1164 /* Lookahead token as an internal (translated) token number. */ 1126 1165 int yytoken = 0; 1166 /* The variables used to return semantic value and location from the 1167 action routines. */ 1168 YYSTYPE yyval; 1169 1127 1170 #if YYERROR_VERBOSE 1128 1171 /* Buffer for error messages, and its allocated size. */ … … 1132 1175 #endif 1133 1176 1134 /* Three stacks and their tools:1135 `yyss': related to states,1136 `yyvs': related to semantic values,1137 `yyls': related to locations.1138 1139 Refer to the stacks thru separate pointers, to allow yyoverflow1140 to reallocate them elsewhere. */1141 1142 /* The state stack. */1143 yytype_int16 yyssa[YYINITDEPTH];1144 yytype_int16 *yyss = yyssa;1145 yytype_int16 *yyssp;1146 1147 /* The semantic value stack. */1148 YYSTYPE yyvsa[YYINITDEPTH];1149 YYSTYPE *yyvs = yyvsa;1150 YYSTYPE *yyvsp;1151 1152 1153 1154 1177 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 1155 1156 YYSIZE_T yystacksize = YYINITDEPTH;1157 1158 /* The variables used to return semantic value and location from the1159 action routines. */1160 YYSTYPE yyval;1161 1162 1178 1163 1179 /* The number of symbols on the RHS of the reduced rule. … … 1165 1181 int yylen = 0; 1166 1182 1183 yyssp = yyss = yyssa; 1184 yyvsp = yyvs = yyvsa; 1185 yystacksize = YYINITDEPTH; 1186 1167 1187 YYDPRINTF ((stderr, "Starting parse\n")); 1168 1188 … … 1170 1190 yyerrstatus = 0; 1171 1191 yynerrs = 0; 1172 yychar = YYEMPTY; /* Cause a token to be read. */ 1173 1174 /* Initialize stack pointers. 1175 Waste one element of value and location stack 1176 so that they stay on the same level as the state stack. 1177 The wasted elements are never initialized. */ 1178 1179 yyssp = yyss; 1180 yyvsp = yyvs; 1181 1192 yychar = YYEMPTY; /* Cause a token to be read. */ 1182 1193 goto yysetstate; 1183 1194 … … 1206 1217 yytype_int16 *yyss1 = yyss; 1207 1218 1208 1209 1219 /* Each stack pointer address is followed by the size of the 1210 1220 data in use in that stack, in bytes. This used to be a … … 1214 1224 &yyss1, yysize * sizeof (*yyssp), 1215 1225 &yyvs1, yysize * sizeof (*yyvsp), 1216 1217 1226 &yystacksize); 1218 1227 … … 1237 1246 if (! yyptr) 1238 1247 goto yyexhaustedlab; 1239 YYSTACK_RELOCATE (yyss); 1240 YYSTACK_RELOCATE (yyvs); 1241 1248 YYSTACK_RELOCATE (yyss_alloc, yyss); 1249 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 1242 1250 # undef YYSTACK_RELOCATE 1243 1251 if (yyss1 != yyssa) … … 1250 1258 yyvsp = yyvs + yysize - 1; 1251 1259 1252 1253 1260 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 1254 1261 (unsigned long int) yystacksize)); … … 1259 1266 1260 1267 YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 1268 1269 if (yystate == YYFINAL) 1270 YYACCEPT; 1261 1271 1262 1272 goto yybackup; … … 1268 1278 1269 1279 /* Do appropriate processing given the current state. Read a 1270 look -ahead token if we need one and don't already have one. */1271 1272 /* First try to decide what to do without reference to look -ahead token. */1280 lookahead token if we need one and don't already have one. */ 1281 1282 /* First try to decide what to do without reference to lookahead token. */ 1273 1283 yyn = yypact[yystate]; 1274 if (yy n == YYPACT_NINF)1284 if (yypact_value_is_default (yyn)) 1275 1285 goto yydefault; 1276 1286 1277 /* Not known => get a look -ahead token if don't already have one. */1278 1279 /* YYCHAR is either YYEMPTY or YYEOF or a valid look -ahead symbol. */1287 /* Not known => get a lookahead token if don't already have one. */ 1288 1289 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 1280 1290 if (yychar == YYEMPTY) 1281 1291 { … … 1303 1313 if (yyn <= 0) 1304 1314 { 1305 if (yy n == 0 || yyn == YYTABLE_NINF)1306 1315 if (yytable_value_is_error (yyn)) 1316 goto yyerrlab; 1307 1317 yyn = -yyn; 1308 1318 goto yyreduce; 1309 1319 } 1310 1311 if (yyn == YYFINAL)1312 YYACCEPT;1313 1320 1314 1321 /* Count tokens shifted since error; after three, turn off error … … 1317 1324 yyerrstatus--; 1318 1325 1319 /* Shift the look -ahead token. */1326 /* Shift the lookahead token. */ 1320 1327 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1321 1328 1322 /* Discard the shifted token unless it is eof. */ 1323 if (yychar != YYEOF) 1324 yychar = YYEMPTY; 1329 /* Discard the shifted token. */ 1330 yychar = YYEMPTY; 1325 1331 1326 1332 yystate = yyn; 1333 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1327 1334 *++yyvsp = yylval; 1335 YY_IGNORE_MAYBE_UNINITIALIZED_END 1328 1336 1329 1337 goto yynewstate; … … 1362 1370 { 1363 1371 case 5: 1372 /* Line 1807 of yacc.c */ 1364 1373 #line 76 "convert.y" 1365 { initdimprob(1,(yyvsp[(2) - (3)].na),"0","0"); ;}1374 { initdimprob(1,(yyvsp[(2) - (3)].na),"0","0"); } 1366 1375 break; 1367 1376 1368 1377 case 6: 1378 /* Line 1807 of yacc.c */ 1369 1379 #line 77 "convert.y" 1370 { initdimprob(2,(yyvsp[(2) - (5)].na), (yyvsp[(4) - (5)].na),"0"); ;}1380 { initdimprob(2,(yyvsp[(2) - (5)].na), (yyvsp[(4) - (5)].na),"0"); } 1371 1381 break; 1372 1382 1373 1383 case 7: 1384 /* Line 1807 of yacc.c */ 1374 1385 #line 78 "convert.y" 1375 { initdimprob(3,(yyvsp[(2) - (7)].na), (yyvsp[(4) - (7)].na), (yyvsp[(6) - (7)].na)); ;}1386 { initdimprob(3,(yyvsp[(2) - (7)].na), (yyvsp[(4) - (7)].na), (yyvsp[(6) - (7)].na)); } 1376 1387 break; 1377 1388 1378 1389 case 8: 1390 /* Line 1807 of yacc.c */ 1379 1391 #line 80 "convert.y" 1380 1392 { 1381 1393 listofmodules = Addtolistnom((yyvsp[(2) - (3)].na),listofmodules,0); 1382 1394 Addmoduletothelist((yyvsp[(2) - (3)].na)); 1383 ;}1395 } 1384 1396 break; 1385 1397 1386 1398 case 9: 1399 /* Line 1807 of yacc.c */ 1387 1400 #line 85 "convert.y" 1388 1401 { … … 1400 1413 exit(0); 1401 1414 } 1402 ;}1415 } 1403 1416 break; 1404 1417 1405 1418 case 10: 1419 /* Line 1807 of yacc.c */ 1406 1420 #line 101 "convert.y" 1407 1421 { 1408 1422 Add_NotGridDepend_Var_1((yyvsp[(3) - (4)].na)); 1409 ;}1423 } 1410 1424 break; 1411 1425 1412 1426 case 11: 1427 /* Line 1807 of yacc.c */ 1413 1428 #line 105 "convert.y" 1414 1429 { 1415 1430 if (!strcasecmp((yyvsp[(2) - (3)].na),"FIXED_GRIDS")) fixedgrids = 1; 1416 1431 if (!strcasecmp((yyvsp[(2) - (3)].na),"ONLY_FIXED_GRIDS")) onlyfixedgrids = 1; 1417 ;}1432 } 1418 1433 break; 1419 1434 1420 1435 1421 /* Line 1 267 of yacc.c.*/1422 #line 14 20"convert.tab.c"1436 /* Line 1807 of yacc.c */ 1437 #line 1438 "convert.tab.c" 1423 1438 default: break; 1424 1439 } 1440 /* User semantic actions sometimes alter yychar, and that requires 1441 that yytoken be updated with the new translation. We take the 1442 approach of translating immediately before every use of yytoken. 1443 One alternative is translating here after every semantic action, 1444 but that translation would be missed if the semantic action invokes 1445 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 1446 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 1447 incorrect destructor might then be invoked immediately. In the 1448 case of YYERROR or YYBACKUP, subsequent parser actions might lead 1449 to an incorrect destructor call or verbose syntax error message 1450 before the lookahead is translated. */ 1425 1451 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 1426 1452 … … 1430 1456 1431 1457 *++yyvsp = yyval; 1432 1433 1458 1434 1459 /* Now `shift' the result of the reduction. Determine what state … … 1451 1476 `------------------------------------*/ 1452 1477 yyerrlab: 1478 /* Make sure we have latest lookahead translation. See comments at 1479 user semantic actions for why this is necessary. */ 1480 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); 1481 1453 1482 /* If not already recovering from an error, report this error. */ 1454 1483 if (!yyerrstatus) … … 1458 1487 yyerror (YY_("syntax error")); 1459 1488 #else 1489 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 1490 yyssp, yytoken) 1460 1491 { 1461 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); 1462 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) 1463 { 1464 YYSIZE_T yyalloc = 2 * yysize; 1465 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) 1466 yyalloc = YYSTACK_ALLOC_MAXIMUM; 1467 if (yymsg != yymsgbuf) 1468 YYSTACK_FREE (yymsg); 1469 yymsg = (char *) YYSTACK_ALLOC (yyalloc); 1470 if (yymsg) 1471 yymsg_alloc = yyalloc; 1472 else 1473 { 1474 yymsg = yymsgbuf; 1475 yymsg_alloc = sizeof yymsgbuf; 1476 } 1477 } 1478 1479 if (0 < yysize && yysize <= yymsg_alloc) 1480 { 1481 (void) yysyntax_error (yymsg, yystate, yychar); 1482 yyerror (yymsg); 1483 } 1484 else 1485 { 1486 yyerror (YY_("syntax error")); 1487 if (yysize != 0) 1488 goto yyexhaustedlab; 1489 } 1492 char const *yymsgp = YY_("syntax error"); 1493 int yysyntax_error_status; 1494 yysyntax_error_status = YYSYNTAX_ERROR; 1495 if (yysyntax_error_status == 0) 1496 yymsgp = yymsg; 1497 else if (yysyntax_error_status == 1) 1498 { 1499 if (yymsg != yymsgbuf) 1500 YYSTACK_FREE (yymsg); 1501 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); 1502 if (!yymsg) 1503 { 1504 yymsg = yymsgbuf; 1505 yymsg_alloc = sizeof yymsgbuf; 1506 yysyntax_error_status = 2; 1507 } 1508 else 1509 { 1510 yysyntax_error_status = YYSYNTAX_ERROR; 1511 yymsgp = yymsg; 1512 } 1513 } 1514 yyerror (yymsgp); 1515 if (yysyntax_error_status == 2) 1516 goto yyexhaustedlab; 1490 1517 } 1518 # undef YYSYNTAX_ERROR 1491 1519 #endif 1492 1520 } … … 1496 1524 if (yyerrstatus == 3) 1497 1525 { 1498 /* If just tried and failed to reuse look -ahead token after an1526 /* If just tried and failed to reuse lookahead token after an 1499 1527 error, discard it. */ 1500 1528 … … 1513 1541 } 1514 1542 1515 /* Else will try to reuse look -ahead token after shifting the error1543 /* Else will try to reuse lookahead token after shifting the error 1516 1544 token. */ 1517 1545 goto yyerrlab1; … … 1547 1575 { 1548 1576 yyn = yypact[yystate]; 1549 if ( yyn != YYPACT_NINF)1577 if (!yypact_value_is_default (yyn)) 1550 1578 { 1551 1579 yyn += YYTERROR; … … 1570 1598 } 1571 1599 1572 if (yyn == YYFINAL) 1573 YYACCEPT; 1574 1600 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1575 1601 *++yyvsp = yylval; 1602 YY_IGNORE_MAYBE_UNINITIALIZED_END 1576 1603 1577 1604 … … 1597 1624 goto yyreturn; 1598 1625 1599 #if ndef yyoverflow1626 #if !defined yyoverflow || YYERROR_VERBOSE 1600 1627 /*-------------------------------------------------. 1601 1628 | yyexhaustedlab -- memory exhaustion comes here. | … … 1608 1635 1609 1636 yyreturn: 1610 if (yychar != YYEOF && yychar != YYEMPTY) 1611 yydestruct ("Cleanup: discarding lookahead", 1612 yytoken, &yylval); 1637 if (yychar != YYEMPTY) 1638 { 1639 /* Make sure we have latest lookahead translation. See comments at 1640 user semantic actions for why this is necessary. */ 1641 yytoken = YYTRANSLATE (yychar); 1642 yydestruct ("Cleanup: discarding lookahead", 1643 yytoken, &yylval); 1644 } 1613 1645 /* Do not reclaim the symbols of the rule which action triggered 1614 1646 this YYABORT or YYACCEPT. */ … … 1634 1666 1635 1667 1668 /* Line 2055 of yacc.c */ 1636 1669 #line 110 "convert.y" 1637 1670 … … 1657 1690 int infreegiven ; 1658 1691 int infixedgiven ; 1659 int lengthmainfile;1660 1692 1661 1693 char filetoparse[LONG_FNAME]; … … 1687 1719 tmpuselocallist = (listusemodule *) NULL; 1688 1720 List_ContainsSubroutine = (listnom *) NULL; 1721 List_Do_labels = (listname *) NULL; 1689 1722 oldfortran_out = (FILE *) NULL; 1690 1723 1691 if (argc < 2) print_usage(); 1692 1724 if ( argc < 2 ) 1725 print_usage(); 1726 1693 1727 strcpy(config_file, argv[1]); 1694 1728 strcpy(work_dir, "."); … … 1784 1818 strcpy(filetoparse, argv[i+1]); 1785 1819 i++; 1786 lengthmainfile = strlen(filetoparse); 1787 if (!strcasecmp(&filetoparse[lengthmainfile-4], ".f90")) 1788 { 1789 infixed = 0; 1790 infree = 1; 1791 } 1792 else 1793 { 1794 infixed = 1; 1795 infree = 0; 1796 } 1820 infree = (strstr(filetoparse, ".f90") != NULL) || (strstr(filetoparse, ".F90") != NULL); 1821 infixed = ! infree; 1797 1822 } 1798 1823 else if (!strcasecmp(argv[i], "-free")) … … 1927 1952 /* Build new subroutines */ 1928 1953 firstpass = 0; 1954 /* 1955 printf("**********************************\n"); 1956 printf("SECOND PASSES \n"); 1957 printf("**********************************\n"); 1958 */ 1929 1959 process_fortran(filetoparse); 1930 1960 … … 1989 2019 return 0; 1990 2020 } 1991 1992 2021 #line 2 "convert.yy.c" 1993 2022 -
branches/2017/dev_r8126_UKMO_AGRIF_vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/toamr.c
r5656 r8139 47 47 "tabvars_i" // v_catvar == 4 48 48 }; 49 49 50 return tname[var->v_catvar]; // v_catvar should never be ouside the range [0:4]. 50 51 } … … 137 138 static char tname_1[LONG_C]; 138 139 static char tname_2[LONG_C]; 139 140 140 141 if ( iorindice == 0 ) sprintf(tname_1, "Agrif_Gr %% %s(%d)", tabvarsname(var), var->v_indicetabvars); 141 142 else sprintf(tname_1, "Agrif_Gr %% %s(i)", tabvarsname(var)); 142 143 143 if (!strcasecmp(var->v_typevar, " REAL"))144 if (!strcasecmp(var->v_typevar, "real")) 144 145 { 145 146 if ( !strcasecmp(var->v_nameinttypename,"8") ) sprintf(tname_2, "%% darray%d", var->v_nbdim); 146 147 else if ( !strcasecmp(var->v_nameinttypename,"4") ) sprintf(tname_2, "%% sarray%d", var->v_nbdim); 147 else sprintf(tname_2, "%% array%d", var->v_nbdim); 148 else if ( !strcasecmp(var->v_precision,"8") ) sprintf(tname_2, "%% darray%d", var->v_nbdim); 149 else if ( !strcasecmp(var->v_precision,"4") ) sprintf(tname_2, "%% sarray%d", var->v_nbdim); 150 else 151 { 152 sprintf(tname_2, "%% array%d", var->v_nbdim); 153 } 148 154 } 149 155 else if (!strcasecmp(var->v_typevar, "integer")) … … 195 201 if (!strcasecmp(var->v_typevar, "REAL")) 196 202 { 197 if ( !strcasecmp(var->v_nameinttypename,"8") ) sprintf(tname_2, "%% darray%d", var->v_nbdim); 198 else if ( !strcasecmp(var->v_nameinttypename,"4") ) sprintf(tname_2, "%% sarray%d", var->v_nbdim); 199 else sprintf(tname_2, "%% array%d", var->v_nbdim); 203 if ( !strcasecmp(var->v_nameinttypename,"8") ) sprintf(tname_2, "darray%d", var->v_nbdim); 204 else if ( !strcasecmp(var->v_nameinttypename,"4") ) sprintf(tname_2, "sarray%d", var->v_nbdim); 205 else if ( !strcasecmp(var->v_precision,"8") ) sprintf(tname_2, "darray%d", var->v_nbdim); 206 else if ( !strcasecmp(var->v_precision,"4") ) sprintf(tname_2, "sarray%d", var->v_nbdim); 207 else sprintf(tname_2, "array%d", var->v_nbdim); 200 208 } 201 209 else if (!strcasecmp(var->v_typevar, "INTEGER")) 202 210 { 203 sprintf(tname_2, " %%iarray%d", var->v_nbdim);211 sprintf(tname_2, "iarray%d", var->v_nbdim); 204 212 } 205 213 else if (!strcasecmp(var->v_typevar, "LOGICAL")) 206 214 { 207 sprintf(tname_2, " %%larray%d", var->v_nbdim);215 sprintf(tname_2, "larray%d", var->v_nbdim); 208 216 } 209 217 else if (!strcasecmp(var->v_typevar, "CHARACTER")) 210 218 { 211 219 WARNING_CharSize(var); 212 sprintf(tname_2, "%% carray%d", var->v_nbdim); 213 } 214 strcat(tname_1, tname_2); 220 sprintf(tname_2, "carray%d", var->v_nbdim); 221 } 222 if (var->v_pointerdeclare) 223 { 224 strcat(tname_1,"%p"); 225 strcat(tname_1, tname_2); 226 } 227 else 228 { 229 strcat(tname_1,"%"); 230 strcat(tname_1, tname_2); 231 } 215 232 } 216 233 Save_Length(tname_1, 46); … … 232 249 233 250 sprintf(tname_1, "(%d)", var->v_indicetabvars); 234 235 if (!strcasecmp (var->v_typevar, "REAL")) 236 { 237 if ( !strcasecmp(var->v_nameinttypename,"8") ) sprintf(tname_2, "%% darray%d", var->v_nbdim); 238 else if ( !strcasecmp(var->v_nameinttypename,"4") ) sprintf(tname_2, "%% sarray%d", var->v_nbdim); 239 else sprintf(tname_2, "%% array%d", var->v_nbdim); 240 } 241 else if (!strcasecmp(var->v_typevar, "INTEGER")) 242 { 243 sprintf(tname_2, "%% iarray%d", var->v_nbdim); 244 } 245 else if (!strcasecmp(var->v_typevar, "LOGICAL")) 246 { 247 sprintf(tname_2, "%% larray%d", var->v_nbdim); 248 } 249 else if (!strcasecmp(var->v_typevar, "CHARACTER")) 250 { 251 WARNING_CharSize(var); 252 sprintf(tname_2, "%% carray%d", var->v_nbdim); 253 } 254 255 strcat(tname_1, tname_2); 251 252 if (!strcasecmp(var->v_typevar, "REAL")) 253 { 254 if ( !strcasecmp(var->v_nameinttypename,"8") ) sprintf(tname_2, "darray%d", var->v_nbdim); 255 else if ( !strcasecmp(var->v_nameinttypename,"4") ) sprintf(tname_2, "sarray%d", var->v_nbdim); 256 else if ( !strcasecmp(var->v_precision,"8") ) sprintf(tname_2, "darray%d", var->v_nbdim); 257 else if ( !strcasecmp(var->v_precision,"4") ) sprintf(tname_2, "sarray%d", var->v_nbdim); 258 else sprintf(tname_2, "array%d", var->v_nbdim); 259 } 260 else if (!strcasecmp(var->v_typevar, "INTEGER")) 261 { 262 sprintf(tname_2, "iarray%d", var->v_nbdim); 263 } 264 else if (!strcasecmp(var->v_typevar, "LOGICAL")) 265 { 266 sprintf(tname_2, "larray%d", var->v_nbdim); 267 } 268 else if (!strcasecmp(var->v_typevar, "CHARACTER")) 269 { 270 WARNING_CharSize(var); 271 sprintf(tname_2, "carray%d", var->v_nbdim); 272 } 273 if (var->v_pointerdeclare) 274 { 275 strcat(tname_1,"%p"); 276 strcat(tname_1, tname_2); 277 } 278 else 279 { 280 strcat(tname_1,"%"); 281 strcat(tname_1, tname_2); 282 } 283 256 284 Save_Length(tname_1, 46); 257 285 … … 535 563 listvar *parcoursprec; 536 564 listvar *parcours1; 565 listname *parcours_name; 566 listname *parcours_name_array; 567 listdoloop *parcours_loop; 537 568 FILE *allocationagrif; 538 569 FILE *paramtoamr; 539 570 char ligne[LONG_M]; 540 571 char ligne2[LONG_M]; 572 char ligne3[LONG_M]; 541 573 variable *v; 542 574 int IndiceMax; … … 550 582 listindice *parcoursindic; 551 583 int i; 584 int nb_initial; 585 int is_parameter_local; 586 int global_check; 552 587 553 588 parcoursprec = (listvar *) NULL; … … 561 596 sprintf(ligne,"alloc_agrif_%s.h",parcours_nom->o_nom); 562 597 allocationagrif = open_for_write(ligne); 598 563 599 fprintf(allocationagrif,"#include \"Param_toamr_%s.h\" \n", parcours_nom->o_nom); 564 565 600 sprintf(ligne,"Param_toamr_%s.h",parcours_nom->o_nom); 566 601 paramtoamr = open_for_write(ligne); … … 568 603 list_indic = (listindice **) calloc(NB_CAT_VARIABLES,sizeof(listindice *)); 569 604 570 //shouldincludempif = 1 ;605 shouldincludempif = 1 ; 571 606 parcours = List_Common_Var; 572 607 while ( parcours ) … … 621 656 IndiceMin = parcours->var->v_indicetabvars; 622 657 IndiceMax = parcours->var->v_indicetabvars+compteur; 623 sprintf(ligne," allocate(%s", vargridnametabvars(v,1));658 sprintf(ligne," if (.not. allocated(%s)) allocate(%s", vargridnametabvars(v,1), vargridnametabvars(v,1)); 624 659 sprintf(ligne2,"%s)", vargridparam(v)); 625 660 strcat(ligne,ligne2); … … 639 674 else 640 675 { 641 sprintf(ligne," allocate(%s", vargridnametabvars(v,0));676 sprintf(ligne,"if (.not. allocated(%s)) allocate(%s", vargridnametabvars(v,0), vargridnametabvars(v,0)); 642 677 sprintf(ligne2,"%s)", vargridparam(v)); 643 678 strcat(ligne,ligne2); … … 648 683 list_indic[parcours->var->v_catvar] = parcoursindic; 649 684 } 650 neededparameter = writedeclarationintoamr(List_Parameter_Var, 651 paramtoamr,v,parcours_nom->o_nom,neededparameter,v->v_commonname); 685 686 global_check = 0; 687 is_parameter_local = writedeclarationintoamr(List_Parameter_Var, 688 paramtoamr,v,parcours_nom->o_nom,&neededparameter,v->v_commonname,global_check); 689 if (is_parameter_local == 0) 690 { 691 global_check = 1; 692 is_parameter_local = writedeclarationintoamr(List_GlobalParameter_Var, 693 paramtoamr,v,parcours_nom->o_nom,&neededparameter,v->v_commonname,global_check); 694 } 652 695 } 653 696 } /* end of the allocation part */ 654 697 /* INITIALISATION */ 655 if ( strcasecmp(v->v_initialvalue,"") ) 698 if ( v->v_initialvalue ) 699 { 700 parcours_name = v->v_initialvalue; 701 parcours_name_array = v->v_initialvalue_array; 702 if (parcours_name_array) 703 { 704 while (parcours_name) 656 705 { 657 706 strcpy(ligne, vargridnametabvars(v,0)); 707 if (parcours_name_array) 708 { 709 if (strcasecmp(parcours_name_array->n_name,"") ) 710 { 711 sprintf(ligne2,"(%s)",parcours_name_array->n_name); 712 strcat(ligne,ligne2); 713 } 714 } 658 715 /* We should modify the initialvalue in the case of variable has been defined with others variables */ 659 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName( v->v_initialvalue,List_Global_Var));660 if ( !strcasecmp(initialvalue, v->v_initialvalue) )661 { 662 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName( v->v_initialvalue,List_Common_Var));663 } 664 if ( !strcasecmp(initialvalue, v->v_initialvalue) )665 { 666 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName( v->v_initialvalue,List_ModuleUsed_Var));716 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Global_Var)); 717 if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 718 { 719 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Common_Var)); 720 } 721 if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 722 { 723 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_ModuleUsed_Var)); 667 724 } 668 725 strcat (ligne," = "); 669 726 670 if (v->v_nbdim == 0)727 if (v->v_nbdim >= 0) 671 728 { 672 729 strcpy(ligne2,initialvalue); … … 678 735 strcat(ligne,ligne2); 679 736 tofich(allocationagrif,ligne,1); 737 738 parcours_name = parcours_name->suiv; 739 if (parcours_name_array) parcours_name_array = parcours_name_array->suiv; 740 } 741 } 742 else 743 { 744 strcpy(ligne, vargridnametabvars(v,0)); 745 strcat (ligne," = "); 746 strcpy(ligne2,""); 747 nb_initial = 0; 748 749 while (parcours_name) 750 { 751 nb_initial = nb_initial + 1; 752 /* We should modify the initialvalue in the case of variable has been defined with others variables */ 753 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Global_Var)); 754 if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 755 { 756 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Common_Var)); 757 } 758 if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 759 { 760 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_ModuleUsed_Var)); 761 } 762 763 strcat(ligne2,initialvalue); 764 if (parcours_name->suiv) 765 { 766 strcat(ligne2,","); 767 } 768 769 parcours_name = parcours_name->suiv; 770 } 771 if (nb_initial > 1) 772 { 773 sprintf(ligne3,"reshape((/%s/),shape(%s))",ligne2,vargridnametabvars(v,0)); 774 } 775 else 776 { 777 strcpy(ligne3,ligne2); 778 } 779 strcat(ligne,ligne3); 780 tofich(allocationagrif,ligne,1); 781 } 680 782 } 681 783 } … … 705 807 char ligne[LONG_M]; 706 808 char ligne2[LONG_M]; 809 char ligne3[LONG_M]; 810 listname *parcours_name; 811 listname *parcours_name_array; 707 812 variable *v; 708 813 int IndiceMax; … … 714 819 char initialvalue[LONG_M]; 715 820 int typeiswritten ; 821 int nb_initial; 716 822 717 823 parcoursprec = (listvar *) NULL; … … 794 900 IndiceMin = parcours->var->v_indicetabvars; 795 901 IndiceMax = parcours->var->v_indicetabvars+compteur; 796 sprintf(ligne," allocate(%s", vargridnametabvars(v,1));902 sprintf(ligne," if (.not. allocated(%s)) allocate(%s", vargridnametabvars(v,1), vargridnametabvars(v,1)); 797 903 sprintf(ligne2,"%s)", vargridparam(v)); 798 904 strcat(ligne,ligne2); … … 803 909 else 804 910 { 805 sprintf(ligne," allocate(%s", vargridnametabvars(v,0));911 sprintf(ligne,"if (.not. allocated(%s)) allocate(%s", vargridnametabvars(v,0), vargridnametabvars(v,0)); 806 912 sprintf(ligne2,"%s)", vargridparam(v)); 807 913 strcat(ligne,ligne2); … … 811 917 } /* end of the allocation part */ 812 918 /* INITIALISATION */ 813 if ( strcasecmp(v->v_initialvalue,"") ) 919 920 if ( v->v_initialvalue ) 921 { 922 parcours_name = v->v_initialvalue; 923 parcours_name_array = v->v_initialvalue_array; 924 if (parcours_name_array) 925 { 926 while (parcours_name) 814 927 { 815 928 strcpy(ligne, vargridnametabvars(v,0)); 929 if (parcours_name_array) 930 { 931 if (strcasecmp(parcours_name_array->n_name,"") ) 932 { 933 sprintf(ligne2,"(%s)",parcours_name_array->n_name); 934 strcat(ligne,ligne2); 935 } 936 } 816 937 /* We should modify the initialvalue in the case of variable has been defined with others variables */ 817 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName( v->v_initialvalue,List_Global_Var));818 if ( !strcasecmp(initialvalue, v->v_initialvalue) )819 { 820 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName( v->v_initialvalue,List_Common_Var));821 } 822 if ( !strcasecmp(initialvalue, v->v_initialvalue) )823 { 824 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName( v->v_initialvalue,List_ModuleUsed_Var));938 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Global_Var)); 939 if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 940 { 941 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Common_Var)); 942 } 943 if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 944 { 945 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_ModuleUsed_Var)); 825 946 } 826 947 strcat (ligne," = "); 827 strcat (ligne,initialvalue); 828 Save_Length(ligne,48); 948 949 if (v->v_nbdim >= 0) 950 { 951 strcpy(ligne2,initialvalue); 952 } 953 else 954 { 955 sprintf(ligne2,"reshape(%s,shape(%s))",initialvalue,vargridnametabvars(v,0)); 956 } 957 strcat(ligne,ligne2); 829 958 tofich(allocationagrif,ligne,1); 959 960 parcours_name = parcours_name->suiv; 961 if (parcours_name_array) parcours_name_array = parcours_name_array->suiv; 962 } 963 } 964 else 965 { 966 strcpy(ligne, vargridnametabvars(v,0)); 967 strcat (ligne," = "); 968 strcpy(ligne2,""); 969 nb_initial = 0; 970 971 while (parcours_name) 972 { 973 nb_initial = nb_initial + 1; 974 /* We should modify the initialvalue in the case of variable has been defined with others variables */ 975 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Global_Var)); 976 if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 977 { 978 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Common_Var)); 979 } 980 if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 981 { 982 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_ModuleUsed_Var)); 983 } 984 985 strcat(ligne2,initialvalue); 986 if (parcours_name->suiv) 987 { 988 strcat(ligne2,","); 989 } 990 991 parcours_name = parcours_name->suiv; 992 } 993 if (nb_initial > 1) 994 { 995 sprintf(ligne3,"reshape((/%s/),shape(%s))",ligne2,vargridnametabvars(v,0)); 996 } 997 else 998 { 999 strcpy(ligne3,ligne2); 1000 } 1001 strcat(ligne,ligne3); 1002 tofich(allocationagrif,ligne,1); 1003 } 830 1004 } 831 1005 }
Note: See TracChangeset
for help on using the changeset viewer.