1 /* vi:set ts=8 sts=4 sw=4 noet: 2 * 3 * VIM - Vi IMproved by Bram Moolenaar 4 * 5 * Do ":help uganda" in Vim to read copying and usage conditions. 6 * Do ":help credits" in Vim to see a list of people who contributed. 7 * See README.txt for an overview of the Vim source code. 8 */ 9 10 #include "vim.h" 11 12 /* 13 * Vim originated from Stevie version 3.6 (Fish disk 217) by GRWalter (Fred) 14 * It has been changed beyond recognition since then. 15 * 16 * Differences between version 7.4 and 8.x can be found with ":help version8". 17 * Differences between version 6.4 and 7.x can be found with ":help version7". 18 * Differences between version 5.8 and 6.x can be found with ":help version6". 19 * Differences between version 4.x and 5.x can be found with ":help version5". 20 * Differences between version 3.0 and 4.x can be found with ":help version4". 21 * All the remarks about older versions have been removed, they are not very 22 * interesting. 23 */ 24 25 #include "version.h" 26 27 char *Version = VIM_VERSION_SHORT; 28 static char *mediumVersion = VIM_VERSION_MEDIUM; 29 30 #if defined(HAVE_DATE_TIME) || defined(PROTO) 31 # if (defined(VMS) && defined(VAXC)) || defined(PROTO) 32 char longVersion[sizeof(VIM_VERSION_LONG_DATE) + sizeof(__DATE__) 33 + sizeof(__TIME__) + 3]; 34 35 void 36 init_longVersion(void) 37 { 38 /* 39 * Construct the long version string. Necessary because 40 * VAX C can't concatenate strings in the preprocessor. 41 */ 42 strcpy(longVersion, VIM_VERSION_LONG_DATE); 43 #ifdef BUILD_DATE 44 strcat(longVersion, BUILD_DATE); 45 #else 46 strcat(longVersion, __DATE__); 47 strcat(longVersion, " "); 48 strcat(longVersion, __TIME__); 49 #endif 50 strcat(longVersion, ")"); 51 } 52 53 # else 54 void 55 init_longVersion(void) 56 { 57 if (longVersion == NULL) 58 { 59 #ifdef BUILD_DATE 60 char *date_time = BUILD_DATE; 61 #else 62 char *date_time = __DATE__ " " __TIME__; 63 #endif 64 char *msg = _("%s (%s, compiled %s)"); 65 size_t len = strlen(msg) 66 + strlen(VIM_VERSION_LONG_ONLY) 67 + strlen(VIM_VERSION_DATE_ONLY) 68 + strlen(date_time); 69 70 longVersion = alloc(len); 71 if (longVersion == NULL) 72 longVersion = VIM_VERSION_LONG; 73 else 74 vim_snprintf(longVersion, len, msg, 75 VIM_VERSION_LONG_ONLY, VIM_VERSION_DATE_ONLY, date_time); 76 } 77 } 78 # endif 79 #else 80 char *longVersion = VIM_VERSION_LONG; 81 82 void 83 init_longVersion(void) 84 { 85 // nothing to do 86 } 87 #endif 88 89 static char *(features[]) = 90 { 91 #ifdef HAVE_ACL 92 "+acl", 93 #else 94 "-acl", 95 #endif 96 #ifdef AMIGA // only for Amiga systems 97 # ifdef FEAT_ARP 98 "+ARP", 99 # else 100 "-ARP", 101 # endif 102 #endif 103 #ifdef FEAT_ARABIC 104 "+arabic", 105 #else 106 "-arabic", 107 #endif 108 "+autocmd", 109 #ifdef FEAT_AUTOCHDIR 110 "+autochdir", 111 #else 112 "-autochdir", 113 #endif 114 #ifdef FEAT_AUTOSERVERNAME 115 "+autoservername", 116 #else 117 "-autoservername", 118 #endif 119 #ifdef FEAT_BEVAL_GUI 120 "+balloon_eval", 121 #else 122 "-balloon_eval", 123 #endif 124 #ifdef FEAT_BEVAL_TERM 125 "+balloon_eval_term", 126 #else 127 "-balloon_eval_term", 128 #endif 129 #ifdef FEAT_BROWSE 130 "+browse", 131 #else 132 "-browse", 133 #endif 134 #ifdef NO_BUILTIN_TCAPS 135 "-builtin_terms", 136 #endif 137 #ifdef SOME_BUILTIN_TCAPS 138 "+builtin_terms", 139 #endif 140 #ifdef ALL_BUILTIN_TCAPS 141 "++builtin_terms", 142 #endif 143 #ifdef FEAT_BYTEOFF 144 "+byte_offset", 145 #else 146 "-byte_offset", 147 #endif 148 #ifdef FEAT_JOB_CHANNEL 149 "+channel", 150 #else 151 "-channel", 152 #endif 153 #ifdef FEAT_CINDENT 154 "+cindent", 155 #else 156 "-cindent", 157 #endif 158 #ifdef FEAT_CLIENTSERVER 159 "+clientserver", 160 #else 161 "-clientserver", 162 #endif 163 #ifdef FEAT_CLIPBOARD 164 "+clipboard", 165 #else 166 "-clipboard", 167 #endif 168 "+cmdline_compl", 169 "+cmdline_hist", 170 #ifdef FEAT_CMDL_INFO 171 "+cmdline_info", 172 #else 173 "-cmdline_info", 174 #endif 175 "+comments", 176 #ifdef FEAT_CONCEAL 177 "+conceal", 178 #else 179 "-conceal", 180 #endif 181 #ifdef FEAT_CRYPT 182 "+cryptv", 183 #else 184 "-cryptv", 185 #endif 186 #ifdef FEAT_CSCOPE 187 "+cscope", 188 #else 189 "-cscope", 190 #endif 191 "+cursorbind", 192 #ifdef CURSOR_SHAPE 193 "+cursorshape", 194 #else 195 "-cursorshape", 196 #endif 197 #if defined(FEAT_CON_DIALOG) && defined(FEAT_GUI_DIALOG) 198 "+dialog_con_gui", 199 #else 200 # if defined(FEAT_CON_DIALOG) 201 "+dialog_con", 202 # else 203 # if defined(FEAT_GUI_DIALOG) 204 "+dialog_gui", 205 # else 206 "-dialog", 207 # endif 208 # endif 209 #endif 210 #ifdef FEAT_DIFF 211 "+diff", 212 #else 213 "-diff", 214 #endif 215 #ifdef FEAT_DIGRAPHS 216 "+digraphs", 217 #else 218 "-digraphs", 219 #endif 220 #ifdef FEAT_GUI_MSWIN 221 # ifdef FEAT_DIRECTX 222 "+directx", 223 # else 224 "-directx", 225 # endif 226 #endif 227 #ifdef FEAT_DND 228 "+dnd", 229 #else 230 "-dnd", 231 #endif 232 #ifdef EBCDIC 233 "+ebcdic", 234 #else 235 "-ebcdic", 236 #endif 237 #ifdef FEAT_EMACS_TAGS 238 "+emacs_tags", 239 #else 240 "-emacs_tags", 241 #endif 242 #ifdef FEAT_EVAL 243 "+eval", 244 #else 245 "-eval", 246 #endif 247 "+ex_extra", 248 #ifdef FEAT_SEARCH_EXTRA 249 "+extra_search", 250 #else 251 "-extra_search", 252 #endif 253 "-farsi", 254 #ifdef FEAT_SEARCHPATH 255 "+file_in_path", 256 #else 257 "-file_in_path", 258 #endif 259 #ifdef FEAT_FIND_ID 260 "+find_in_path", 261 #else 262 "-find_in_path", 263 #endif 264 #ifdef FEAT_FLOAT 265 "+float", 266 #else 267 "-float", 268 #endif 269 #ifdef FEAT_FOLDING 270 "+folding", 271 #else 272 "-folding", 273 #endif 274 #ifdef FEAT_FOOTER 275 "+footer", 276 #else 277 "-footer", 278 #endif 279 // only interesting on Unix systems 280 #if !defined(USE_SYSTEM) && defined(UNIX) 281 "+fork()", 282 #endif 283 #ifdef FEAT_GETTEXT 284 # ifdef DYNAMIC_GETTEXT 285 "+gettext/dyn", 286 # else 287 "+gettext", 288 # endif 289 #else 290 "-gettext", 291 #endif 292 "-hangul_input", 293 #if (defined(HAVE_ICONV_H) && defined(USE_ICONV)) || defined(DYNAMIC_ICONV) 294 # ifdef DYNAMIC_ICONV 295 "+iconv/dyn", 296 # else 297 "+iconv", 298 # endif 299 #else 300 "-iconv", 301 #endif 302 "+insert_expand", 303 #ifdef FEAT_IPV6 304 "+ipv6", 305 #else 306 "-ipv6", 307 #endif 308 #ifdef FEAT_JOB_CHANNEL 309 "+job", 310 #else 311 "-job", 312 #endif 313 #ifdef FEAT_JUMPLIST 314 "+jumplist", 315 #else 316 "-jumplist", 317 #endif 318 #ifdef FEAT_KEYMAP 319 "+keymap", 320 #else 321 "-keymap", 322 #endif 323 #ifdef FEAT_EVAL 324 "+lambda", 325 #else 326 "-lambda", 327 #endif 328 #ifdef FEAT_LANGMAP 329 "+langmap", 330 #else 331 "-langmap", 332 #endif 333 #ifdef FEAT_LIBCALL 334 "+libcall", 335 #else 336 "-libcall", 337 #endif 338 #ifdef FEAT_LINEBREAK 339 "+linebreak", 340 #else 341 "-linebreak", 342 #endif 343 #ifdef FEAT_LISP 344 "+lispindent", 345 #else 346 "-lispindent", 347 #endif 348 "+listcmds", 349 "+localmap", 350 #ifdef FEAT_LUA 351 # ifdef DYNAMIC_LUA 352 "+lua/dyn", 353 # else 354 "+lua", 355 # endif 356 #else 357 "-lua", 358 #endif 359 #ifdef FEAT_MENU 360 "+menu", 361 #else 362 "-menu", 363 #endif 364 #ifdef FEAT_SESSION 365 "+mksession", 366 #else 367 "-mksession", 368 #endif 369 "+modify_fname", 370 "+mouse", 371 #ifdef FEAT_MOUSESHAPE 372 "+mouseshape", 373 #else 374 "-mouseshape", 375 #endif 376 377 #if defined(UNIX) || defined(VMS) 378 # ifdef FEAT_MOUSE_DEC 379 "+mouse_dec", 380 # else 381 "-mouse_dec", 382 # endif 383 # ifdef FEAT_MOUSE_GPM 384 "+mouse_gpm", 385 # else 386 "-mouse_gpm", 387 # endif 388 # ifdef FEAT_MOUSE_JSB 389 "+mouse_jsbterm", 390 # else 391 "-mouse_jsbterm", 392 # endif 393 # ifdef FEAT_MOUSE_NET 394 "+mouse_netterm", 395 # else 396 "-mouse_netterm", 397 # endif 398 #endif 399 400 #ifdef __QNX__ 401 # ifdef FEAT_MOUSE_PTERM 402 "+mouse_pterm", 403 # else 404 "-mouse_pterm", 405 # endif 406 #endif 407 408 #if defined(UNIX) || defined(VMS) 409 "+mouse_sgr", 410 # ifdef FEAT_SYSMOUSE 411 "+mouse_sysmouse", 412 # else 413 "-mouse_sysmouse", 414 # endif 415 # ifdef FEAT_MOUSE_URXVT 416 "+mouse_urxvt", 417 # else 418 "-mouse_urxvt", 419 # endif 420 "+mouse_xterm", 421 #endif 422 423 #ifdef FEAT_MBYTE_IME 424 # ifdef DYNAMIC_IME 425 "+multi_byte_ime/dyn", 426 # else 427 "+multi_byte_ime", 428 # endif 429 #else 430 "+multi_byte", 431 #endif 432 #ifdef FEAT_MULTI_LANG 433 "+multi_lang", 434 #else 435 "-multi_lang", 436 #endif 437 #ifdef FEAT_MZSCHEME 438 # ifdef DYNAMIC_MZSCHEME 439 "+mzscheme/dyn", 440 # else 441 "+mzscheme", 442 # endif 443 #else 444 "-mzscheme", 445 #endif 446 #ifdef FEAT_NETBEANS_INTG 447 "+netbeans_intg", 448 #else 449 "-netbeans_intg", 450 #endif 451 "+num64", 452 #ifdef FEAT_GUI_MSWIN 453 # ifdef FEAT_OLE 454 "+ole", 455 # else 456 "-ole", 457 # endif 458 #endif 459 #ifdef FEAT_EVAL 460 "+packages", 461 #else 462 "-packages", 463 #endif 464 #ifdef FEAT_PATH_EXTRA 465 "+path_extra", 466 #else 467 "-path_extra", 468 #endif 469 #ifdef FEAT_PERL 470 # ifdef DYNAMIC_PERL 471 "+perl/dyn", 472 # else 473 "+perl", 474 # endif 475 #else 476 "-perl", 477 #endif 478 #ifdef FEAT_PERSISTENT_UNDO 479 "+persistent_undo", 480 #else 481 "-persistent_undo", 482 #endif 483 #ifdef FEAT_PROP_POPUP 484 "+popupwin", 485 #else 486 "-popupwin", 487 #endif 488 #ifdef FEAT_PRINTER 489 # ifdef FEAT_POSTSCRIPT 490 "+postscript", 491 # else 492 "-postscript", 493 # endif 494 "+printer", 495 #else 496 "-printer", 497 #endif 498 #ifdef FEAT_PROFILE 499 "+profile", 500 #else 501 "-profile", 502 #endif 503 #ifdef FEAT_PYTHON 504 # ifdef DYNAMIC_PYTHON 505 "+python/dyn", 506 # else 507 "+python", 508 # endif 509 #else 510 "-python", 511 #endif 512 #ifdef FEAT_PYTHON3 513 # ifdef DYNAMIC_PYTHON3 514 "+python3/dyn", 515 # else 516 "+python3", 517 # endif 518 #else 519 "-python3", 520 #endif 521 #ifdef FEAT_QUICKFIX 522 "+quickfix", 523 #else 524 "-quickfix", 525 #endif 526 #ifdef FEAT_RELTIME 527 "+reltime", 528 #else 529 "-reltime", 530 #endif 531 #ifdef FEAT_RIGHTLEFT 532 "+rightleft", 533 #else 534 "-rightleft", 535 #endif 536 #ifdef FEAT_RUBY 537 # ifdef DYNAMIC_RUBY 538 "+ruby/dyn", 539 # else 540 "+ruby", 541 # endif 542 #else 543 "-ruby", 544 #endif 545 "+scrollbind", 546 #ifdef FEAT_SIGNS 547 "+signs", 548 #else 549 "-signs", 550 #endif 551 #ifdef FEAT_SMARTINDENT 552 "+smartindent", 553 #else 554 "-smartindent", 555 #endif 556 #ifdef FEAT_SOUND 557 "+sound", 558 #else 559 "-sound", 560 #endif 561 #ifdef FEAT_SPELL 562 "+spell", 563 #else 564 "-spell", 565 #endif 566 #ifdef STARTUPTIME 567 "+startuptime", 568 #else 569 "-startuptime", 570 #endif 571 #ifdef FEAT_STL_OPT 572 "+statusline", 573 #else 574 "-statusline", 575 #endif 576 "-sun_workshop", 577 #ifdef FEAT_SYN_HL 578 "+syntax", 579 #else 580 "-syntax", 581 #endif 582 // only interesting on Unix systems 583 #if defined(USE_SYSTEM) && defined(UNIX) 584 "+system()", 585 #endif 586 #ifdef FEAT_TAG_BINS 587 "+tag_binary", 588 #else 589 "-tag_binary", 590 #endif 591 "-tag_old_static", 592 "-tag_any_white", 593 #ifdef FEAT_TCL 594 # ifdef DYNAMIC_TCL 595 "+tcl/dyn", 596 # else 597 "+tcl", 598 # endif 599 #else 600 "-tcl", 601 #endif 602 #ifdef FEAT_TERMGUICOLORS 603 "+termguicolors", 604 #else 605 "-termguicolors", 606 #endif 607 #ifdef FEAT_TERMINAL 608 "+terminal", 609 #else 610 "-terminal", 611 #endif 612 #if defined(UNIX) 613 // only Unix can have terminfo instead of termcap 614 # ifdef TERMINFO 615 "+terminfo", 616 # else 617 "-terminfo", 618 # endif 619 #endif 620 #ifdef FEAT_TERMRESPONSE 621 "+termresponse", 622 #else 623 "-termresponse", 624 #endif 625 #ifdef FEAT_TEXTOBJ 626 "+textobjects", 627 #else 628 "-textobjects", 629 #endif 630 #ifdef FEAT_PROP_POPUP 631 "+textprop", 632 #else 633 "-textprop", 634 #endif 635 #if !defined(UNIX) 636 // unix always includes termcap support 637 # ifdef HAVE_TGETENT 638 "+tgetent", 639 # else 640 "-tgetent", 641 # endif 642 #endif 643 #ifdef FEAT_TIMERS 644 "+timers", 645 #else 646 "-timers", 647 #endif 648 #ifdef FEAT_TITLE 649 "+title", 650 #else 651 "-title", 652 #endif 653 #ifdef FEAT_TOOLBAR 654 "+toolbar", 655 #else 656 "-toolbar", 657 #endif 658 "+user_commands", 659 #ifdef FEAT_VARTABS 660 "+vartabs", 661 #else 662 "-vartabs", 663 #endif 664 "+vertsplit", 665 "+virtualedit", 666 "+visual", 667 "+visualextra", 668 #ifdef FEAT_VIMINFO 669 "+viminfo", 670 #else 671 "-viminfo", 672 #endif 673 "+vreplace", 674 #ifdef MSWIN 675 # ifdef FEAT_VTP 676 "+vtp", 677 # else 678 "-vtp", 679 # endif 680 #endif 681 #ifdef FEAT_WILDIGN 682 "+wildignore", 683 #else 684 "-wildignore", 685 #endif 686 #ifdef FEAT_WILDMENU 687 "+wildmenu", 688 #else 689 "-wildmenu", 690 #endif 691 "+windows", 692 #ifdef FEAT_WRITEBACKUP 693 "+writebackup", 694 #else 695 "-writebackup", 696 #endif 697 #if defined(UNIX) || defined(VMS) 698 # ifdef FEAT_X11 699 "+X11", 700 # else 701 "-X11", 702 # endif 703 #endif 704 #ifdef FEAT_XFONTSET 705 "+xfontset", 706 #else 707 "-xfontset", 708 #endif 709 #ifdef FEAT_XIM 710 "+xim", 711 #else 712 "-xim", 713 #endif 714 #ifdef MSWIN 715 # ifdef FEAT_XPM_W32 716 "+xpm_w32", 717 # else 718 "-xpm_w32", 719 # endif 720 #else 721 # ifdef HAVE_XPM 722 "+xpm", 723 # else 724 "-xpm", 725 # endif 726 #endif 727 #if defined(UNIX) || defined(VMS) 728 # ifdef USE_XSMP_INTERACT 729 "+xsmp_interact", 730 # else 731 # ifdef USE_XSMP 732 "+xsmp", 733 # else 734 "-xsmp", 735 # endif 736 # endif 737 # ifdef FEAT_XCLIPBOARD 738 "+xterm_clipboard", 739 # else 740 "-xterm_clipboard", 741 # endif 742 #endif 743 #ifdef FEAT_XTERM_SAVE 744 "+xterm_save", 745 #else 746 "-xterm_save", 747 #endif 748 NULL 749 }; 750 751 static int included_patches[] = 752 { /* Add new patch number below this line */ 753 /**/ 754 2733, 755 /**/ 756 2732, 757 /**/ 758 2731, 759 /**/ 760 2730, 761 /**/ 762 2729, 763 /**/ 764 2728, 765 /**/ 766 2727, 767 /**/ 768 2726, 769 /**/ 770 2725, 771 /**/ 772 2724, 773 /**/ 774 2723, 775 /**/ 776 2722, 777 /**/ 778 2721, 779 /**/ 780 2720, 781 /**/ 782 2719, 783 /**/ 784 2718, 785 /**/ 786 2717, 787 /**/ 788 2716, 789 /**/ 790 2715, 791 /**/ 792 2714, 793 /**/ 794 2713, 795 /**/ 796 2712, 797 /**/ 798 2711, 799 /**/ 800 2710, 801 /**/ 802 2709, 803 /**/ 804 2708, 805 /**/ 806 2707, 807 /**/ 808 2706, 809 /**/ 810 2705, 811 /**/ 812 2704, 813 /**/ 814 2703, 815 /**/ 816 2702, 817 /**/ 818 2701, 819 /**/ 820 2700, 821 /**/ 822 2699, 823 /**/ 824 2698, 825 /**/ 826 2697, 827 /**/ 828 2696, 829 /**/ 830 2695, 831 /**/ 832 2694, 833 /**/ 834 2693, 835 /**/ 836 2692, 837 /**/ 838 2691, 839 /**/ 840 2690, 841 /**/ 842 2689, 843 /**/ 844 2688, 845 /**/ 846 2687, 847 /**/ 848 2686, 849 /**/ 850 2685, 851 /**/ 852 2684, 853 /**/ 854 2683, 855 /**/ 856 2682, 857 /**/ 858 2681, 859 /**/ 860 2680, 861 /**/ 862 2679, 863 /**/ 864 2678, 865 /**/ 866 2677, 867 /**/ 868 2676, 869 /**/ 870 2675, 871 /**/ 872 2674, 873 /**/ 874 2673, 875 /**/ 876 2672, 877 /**/ 878 2671, 879 /**/ 880 2670, 881 /**/ 882 2669, 883 /**/ 884 2668, 885 /**/ 886 2667, 887 /**/ 888 2666, 889 /**/ 890 2665, 891 /**/ 892 2664, 893 /**/ 894 2663, 895 /**/ 896 2662, 897 /**/ 898 2661, 899 /**/ 900 2660, 901 /**/ 902 2659, 903 /**/ 904 2658, 905 /**/ 906 2657, 907 /**/ 908 2656, 909 /**/ 910 2655, 911 /**/ 912 2654, 913 /**/ 914 2653, 915 /**/ 916 2652, 917 /**/ 918 2651, 919 /**/ 920 2650, 921 /**/ 922 2649, 923 /**/ 924 2648, 925 /**/ 926 2647, 927 /**/ 928 2646, 929 /**/ 930 2645, 931 /**/ 932 2644, 933 /**/ 934 2643, 935 /**/ 936 2642, 937 /**/ 938 2641, 939 /**/ 940 2640, 941 /**/ 942 2639, 943 /**/ 944 2638, 945 /**/ 946 2637, 947 /**/ 948 2636, 949 /**/ 950 2635, 951 /**/ 952 2634, 953 /**/ 954 2633, 955 /**/ 956 2632, 957 /**/ 958 2631, 959 /**/ 960 2630, 961 /**/ 962 2629, 963 /**/ 964 2628, 965 /**/ 966 2627, 967 /**/ 968 2626, 969 /**/ 970 2625, 971 /**/ 972 2624, 973 /**/ 974 2623, 975 /**/ 976 2622, 977 /**/ 978 2621, 979 /**/ 980 2620, 981 /**/ 982 2619, 983 /**/ 984 2618, 985 /**/ 986 2617, 987 /**/ 988 2616, 989 /**/ 990 2615, 991 /**/ 992 2614, 993 /**/ 994 2613, 995 /**/ 996 2612, 997 /**/ 998 2611, 999 /**/ 1000 2610, 1001 /**/ 1002 2609, 1003 /**/ 1004 2608, 1005 /**/ 1006 2607, 1007 /**/ 1008 2606, 1009 /**/ 1010 2605, 1011 /**/ 1012 2604, 1013 /**/ 1014 2603, 1015 /**/ 1016 2602, 1017 /**/ 1018 2601, 1019 /**/ 1020 2600, 1021 /**/ 1022 2599, 1023 /**/ 1024 2598, 1025 /**/ 1026 2597, 1027 /**/ 1028 2596, 1029 /**/ 1030 2595, 1031 /**/ 1032 2594, 1033 /**/ 1034 2593, 1035 /**/ 1036 2592, 1037 /**/ 1038 2591, 1039 /**/ 1040 2590, 1041 /**/ 1042 2589, 1043 /**/ 1044 2588, 1045 /**/ 1046 2587, 1047 /**/ 1048 2586, 1049 /**/ 1050 2585, 1051 /**/ 1052 2584, 1053 /**/ 1054 2583, 1055 /**/ 1056 2582, 1057 /**/ 1058 2581, 1059 /**/ 1060 2580, 1061 /**/ 1062 2579, 1063 /**/ 1064 2578, 1065 /**/ 1066 2577, 1067 /**/ 1068 2576, 1069 /**/ 1070 2575, 1071 /**/ 1072 2574, 1073 /**/ 1074 2573, 1075 /**/ 1076 2572, 1077 /**/ 1078 2571, 1079 /**/ 1080 2570, 1081 /**/ 1082 2569, 1083 /**/ 1084 2568, 1085 /**/ 1086 2567, 1087 /**/ 1088 2566, 1089 /**/ 1090 2565, 1091 /**/ 1092 2564, 1093 /**/ 1094 2563, 1095 /**/ 1096 2562, 1097 /**/ 1098 2561, 1099 /**/ 1100 2560, 1101 /**/ 1102 2559, 1103 /**/ 1104 2558, 1105 /**/ 1106 2557, 1107 /**/ 1108 2556, 1109 /**/ 1110 2555, 1111 /**/ 1112 2554, 1113 /**/ 1114 2553, 1115 /**/ 1116 2552, 1117 /**/ 1118 2551, 1119 /**/ 1120 2550, 1121 /**/ 1122 2549, 1123 /**/ 1124 2548, 1125 /**/ 1126 2547, 1127 /**/ 1128 2546, 1129 /**/ 1130 2545, 1131 /**/ 1132 2544, 1133 /**/ 1134 2543, 1135 /**/ 1136 2542, 1137 /**/ 1138 2541, 1139 /**/ 1140 2540, 1141 /**/ 1142 2539, 1143 /**/ 1144 2538, 1145 /**/ 1146 2537, 1147 /**/ 1148 2536, 1149 /**/ 1150 2535, 1151 /**/ 1152 2534, 1153 /**/ 1154 2533, 1155 /**/ 1156 2532, 1157 /**/ 1158 2531, 1159 /**/ 1160 2530, 1161 /**/ 1162 2529, 1163 /**/ 1164 2528, 1165 /**/ 1166 2527, 1167 /**/ 1168 2526, 1169 /**/ 1170 2525, 1171 /**/ 1172 2524, 1173 /**/ 1174 2523, 1175 /**/ 1176 2522, 1177 /**/ 1178 2521, 1179 /**/ 1180 2520, 1181 /**/ 1182 2519, 1183 /**/ 1184 2518, 1185 /**/ 1186 2517, 1187 /**/ 1188 2516, 1189 /**/ 1190 2515, 1191 /**/ 1192 2514, 1193 /**/ 1194 2513, 1195 /**/ 1196 2512, 1197 /**/ 1198 2511, 1199 /**/ 1200 2510, 1201 /**/ 1202 2509, 1203 /**/ 1204 2508, 1205 /**/ 1206 2507, 1207 /**/ 1208 2506, 1209 /**/ 1210 2505, 1211 /**/ 1212 2504, 1213 /**/ 1214 2503, 1215 /**/ 1216 2502, 1217 /**/ 1218 2501, 1219 /**/ 1220 2500, 1221 /**/ 1222 2499, 1223 /**/ 1224 2498, 1225 /**/ 1226 2497, 1227 /**/ 1228 2496, 1229 /**/ 1230 2495, 1231 /**/ 1232 2494, 1233 /**/ 1234 2493, 1235 /**/ 1236 2492, 1237 /**/ 1238 2491, 1239 /**/ 1240 2490, 1241 /**/ 1242 2489, 1243 /**/ 1244 2488, 1245 /**/ 1246 2487, 1247 /**/ 1248 2486, 1249 /**/ 1250 2485, 1251 /**/ 1252 2484, 1253 /**/ 1254 2483, 1255 /**/ 1256 2482, 1257 /**/ 1258 2481, 1259 /**/ 1260 2480, 1261 /**/ 1262 2479, 1263 /**/ 1264 2478, 1265 /**/ 1266 2477, 1267 /**/ 1268 2476, 1269 /**/ 1270 2475, 1271 /**/ 1272 2474, 1273 /**/ 1274 2473, 1275 /**/ 1276 2472, 1277 /**/ 1278 2471, 1279 /**/ 1280 2470, 1281 /**/ 1282 2469, 1283 /**/ 1284 2468, 1285 /**/ 1286 2467, 1287 /**/ 1288 2466, 1289 /**/ 1290 2465, 1291 /**/ 1292 2464, 1293 /**/ 1294 2463, 1295 /**/ 1296 2462, 1297 /**/ 1298 2461, 1299 /**/ 1300 2460, 1301 /**/ 1302 2459, 1303 /**/ 1304 2458, 1305 /**/ 1306 2457, 1307 /**/ 1308 2456, 1309 /**/ 1310 2455, 1311 /**/ 1312 2454, 1313 /**/ 1314 2453, 1315 /**/ 1316 2452, 1317 /**/ 1318 2451, 1319 /**/ 1320 2450, 1321 /**/ 1322 2449, 1323 /**/ 1324 2448, 1325 /**/ 1326 2447, 1327 /**/ 1328 2446, 1329 /**/ 1330 2445, 1331 /**/ 1332 2444, 1333 /**/ 1334 2443, 1335 /**/ 1336 2442, 1337 /**/ 1338 2441, 1339 /**/ 1340 2440, 1341 /**/ 1342 2439, 1343 /**/ 1344 2438, 1345 /**/ 1346 2437, 1347 /**/ 1348 2436, 1349 /**/ 1350 2435, 1351 /**/ 1352 2434, 1353 /**/ 1354 2433, 1355 /**/ 1356 2432, 1357 /**/ 1358 2431, 1359 /**/ 1360 2430, 1361 /**/ 1362 2429, 1363 /**/ 1364 2428, 1365 /**/ 1366 2427, 1367 /**/ 1368 2426, 1369 /**/ 1370 2425, 1371 /**/ 1372 2424, 1373 /**/ 1374 2423, 1375 /**/ 1376 2422, 1377 /**/ 1378 2421, 1379 /**/ 1380 2420, 1381 /**/ 1382 2419, 1383 /**/ 1384 2418, 1385 /**/ 1386 2417, 1387 /**/ 1388 2416, 1389 /**/ 1390 2415, 1391 /**/ 1392 2414, 1393 /**/ 1394 2413, 1395 /**/ 1396 2412, 1397 /**/ 1398 2411, 1399 /**/ 1400 2410, 1401 /**/ 1402 2409, 1403 /**/ 1404 2408, 1405 /**/ 1406 2407, 1407 /**/ 1408 2406, 1409 /**/ 1410 2405, 1411 /**/ 1412 2404, 1413 /**/ 1414 2403, 1415 /**/ 1416 2402, 1417 /**/ 1418 2401, 1419 /**/ 1420 2400, 1421 /**/ 1422 2399, 1423 /**/ 1424 2398, 1425 /**/ 1426 2397, 1427 /**/ 1428 2396, 1429 /**/ 1430 2395, 1431 /**/ 1432 2394, 1433 /**/ 1434 2393, 1435 /**/ 1436 2392, 1437 /**/ 1438 2391, 1439 /**/ 1440 2390, 1441 /**/ 1442 2389, 1443 /**/ 1444 2388, 1445 /**/ 1446 2387, 1447 /**/ 1448 2386, 1449 /**/ 1450 2385, 1451 /**/ 1452 2384, 1453 /**/ 1454 2383, 1455 /**/ 1456 2382, 1457 /**/ 1458 2381, 1459 /**/ 1460 2380, 1461 /**/ 1462 2379, 1463 /**/ 1464 2378, 1465 /**/ 1466 2377, 1467 /**/ 1468 2376, 1469 /**/ 1470 2375, 1471 /**/ 1472 2374, 1473 /**/ 1474 2373, 1475 /**/ 1476 2372, 1477 /**/ 1478 2371, 1479 /**/ 1480 2370, 1481 /**/ 1482 2369, 1483 /**/ 1484 2368, 1485 /**/ 1486 2367, 1487 /**/ 1488 2366, 1489 /**/ 1490 2365, 1491 /**/ 1492 2364, 1493 /**/ 1494 2363, 1495 /**/ 1496 2362, 1497 /**/ 1498 2361, 1499 /**/ 1500 2360, 1501 /**/ 1502 2359, 1503 /**/ 1504 2358, 1505 /**/ 1506 2357, 1507 /**/ 1508 2356, 1509 /**/ 1510 2355, 1511 /**/ 1512 2354, 1513 /**/ 1514 2353, 1515 /**/ 1516 2352, 1517 /**/ 1518 2351, 1519 /**/ 1520 2350, 1521 /**/ 1522 2349, 1523 /**/ 1524 2348, 1525 /**/ 1526 2347, 1527 /**/ 1528 2346, 1529 /**/ 1530 2345, 1531 /**/ 1532 2344, 1533 /**/ 1534 2343, 1535 /**/ 1536 2342, 1537 /**/ 1538 2341, 1539 /**/ 1540 2340, 1541 /**/ 1542 2339, 1543 /**/ 1544 2338, 1545 /**/ 1546 2337, 1547 /**/ 1548 2336, 1549 /**/ 1550 2335, 1551 /**/ 1552 2334, 1553 /**/ 1554 2333, 1555 /**/ 1556 2332, 1557 /**/ 1558 2331, 1559 /**/ 1560 2330, 1561 /**/ 1562 2329, 1563 /**/ 1564 2328, 1565 /**/ 1566 2327, 1567 /**/ 1568 2326, 1569 /**/ 1570 2325, 1571 /**/ 1572 2324, 1573 /**/ 1574 2323, 1575 /**/ 1576 2322, 1577 /**/ 1578 2321, 1579 /**/ 1580 2320, 1581 /**/ 1582 2319, 1583 /**/ 1584 2318, 1585 /**/ 1586 2317, 1587 /**/ 1588 2316, 1589 /**/ 1590 2315, 1591 /**/ 1592 2314, 1593 /**/ 1594 2313, 1595 /**/ 1596 2312, 1597 /**/ 1598 2311, 1599 /**/ 1600 2310, 1601 /**/ 1602 2309, 1603 /**/ 1604 2308, 1605 /**/ 1606 2307, 1607 /**/ 1608 2306, 1609 /**/ 1610 2305, 1611 /**/ 1612 2304, 1613 /**/ 1614 2303, 1615 /**/ 1616 2302, 1617 /**/ 1618 2301, 1619 /**/ 1620 2300, 1621 /**/ 1622 2299, 1623 /**/ 1624 2298, 1625 /**/ 1626 2297, 1627 /**/ 1628 2296, 1629 /**/ 1630 2295, 1631 /**/ 1632 2294, 1633 /**/ 1634 2293, 1635 /**/ 1636 2292, 1637 /**/ 1638 2291, 1639 /**/ 1640 2290, 1641 /**/ 1642 2289, 1643 /**/ 1644 2288, 1645 /**/ 1646 2287, 1647 /**/ 1648 2286, 1649 /**/ 1650 2285, 1651 /**/ 1652 2284, 1653 /**/ 1654 2283, 1655 /**/ 1656 2282, 1657 /**/ 1658 2281, 1659 /**/ 1660 2280, 1661 /**/ 1662 2279, 1663 /**/ 1664 2278, 1665 /**/ 1666 2277, 1667 /**/ 1668 2276, 1669 /**/ 1670 2275, 1671 /**/ 1672 2274, 1673 /**/ 1674 2273, 1675 /**/ 1676 2272, 1677 /**/ 1678 2271, 1679 /**/ 1680 2270, 1681 /**/ 1682 2269, 1683 /**/ 1684 2268, 1685 /**/ 1686 2267, 1687 /**/ 1688 2266, 1689 /**/ 1690 2265, 1691 /**/ 1692 2264, 1693 /**/ 1694 2263, 1695 /**/ 1696 2262, 1697 /**/ 1698 2261, 1699 /**/ 1700 2260, 1701 /**/ 1702 2259, 1703 /**/ 1704 2258, 1705 /**/ 1706 2257, 1707 /**/ 1708 2256, 1709 /**/ 1710 2255, 1711 /**/ 1712 2254, 1713 /**/ 1714 2253, 1715 /**/ 1716 2252, 1717 /**/ 1718 2251, 1719 /**/ 1720 2250, 1721 /**/ 1722 2249, 1723 /**/ 1724 2248, 1725 /**/ 1726 2247, 1727 /**/ 1728 2246, 1729 /**/ 1730 2245, 1731 /**/ 1732 2244, 1733 /**/ 1734 2243, 1735 /**/ 1736 2242, 1737 /**/ 1738 2241, 1739 /**/ 1740 2240, 1741 /**/ 1742 2239, 1743 /**/ 1744 2238, 1745 /**/ 1746 2237, 1747 /**/ 1748 2236, 1749 /**/ 1750 2235, 1751 /**/ 1752 2234, 1753 /**/ 1754 2233, 1755 /**/ 1756 2232, 1757 /**/ 1758 2231, 1759 /**/ 1760 2230, 1761 /**/ 1762 2229, 1763 /**/ 1764 2228, 1765 /**/ 1766 2227, 1767 /**/ 1768 2226, 1769 /**/ 1770 2225, 1771 /**/ 1772 2224, 1773 /**/ 1774 2223, 1775 /**/ 1776 2222, 1777 /**/ 1778 2221, 1779 /**/ 1780 2220, 1781 /**/ 1782 2219, 1783 /**/ 1784 2218, 1785 /**/ 1786 2217, 1787 /**/ 1788 2216, 1789 /**/ 1790 2215, 1791 /**/ 1792 2214, 1793 /**/ 1794 2213, 1795 /**/ 1796 2212, 1797 /**/ 1798 2211, 1799 /**/ 1800 2210, 1801 /**/ 1802 2209, 1803 /**/ 1804 2208, 1805 /**/ 1806 2207, 1807 /**/ 1808 2206, 1809 /**/ 1810 2205, 1811 /**/ 1812 2204, 1813 /**/ 1814 2203, 1815 /**/ 1816 2202, 1817 /**/ 1818 2201, 1819 /**/ 1820 2200, 1821 /**/ 1822 2199, 1823 /**/ 1824 2198, 1825 /**/ 1826 2197, 1827 /**/ 1828 2196, 1829 /**/ 1830 2195, 1831 /**/ 1832 2194, 1833 /**/ 1834 2193, 1835 /**/ 1836 2192, 1837 /**/ 1838 2191, 1839 /**/ 1840 2190, 1841 /**/ 1842 2189, 1843 /**/ 1844 2188, 1845 /**/ 1846 2187, 1847 /**/ 1848 2186, 1849 /**/ 1850 2185, 1851 /**/ 1852 2184, 1853 /**/ 1854 2183, 1855 /**/ 1856 2182, 1857 /**/ 1858 2181, 1859 /**/ 1860 2180, 1861 /**/ 1862 2179, 1863 /**/ 1864 2178, 1865 /**/ 1866 2177, 1867 /**/ 1868 2176, 1869 /**/ 1870 2175, 1871 /**/ 1872 2174, 1873 /**/ 1874 2173, 1875 /**/ 1876 2172, 1877 /**/ 1878 2171, 1879 /**/ 1880 2170, 1881 /**/ 1882 2169, 1883 /**/ 1884 2168, 1885 /**/ 1886 2167, 1887 /**/ 1888 2166, 1889 /**/ 1890 2165, 1891 /**/ 1892 2164, 1893 /**/ 1894 2163, 1895 /**/ 1896 2162, 1897 /**/ 1898 2161, 1899 /**/ 1900 2160, 1901 /**/ 1902 2159, 1903 /**/ 1904 2158, 1905 /**/ 1906 2157, 1907 /**/ 1908 2156, 1909 /**/ 1910 2155, 1911 /**/ 1912 2154, 1913 /**/ 1914 2153, 1915 /**/ 1916 2152, 1917 /**/ 1918 2151, 1919 /**/ 1920 2150, 1921 /**/ 1922 2149, 1923 /**/ 1924 2148, 1925 /**/ 1926 2147, 1927 /**/ 1928 2146, 1929 /**/ 1930 2145, 1931 /**/ 1932 2144, 1933 /**/ 1934 2143, 1935 /**/ 1936 2142, 1937 /**/ 1938 2141, 1939 /**/ 1940 2140, 1941 /**/ 1942 2139, 1943 /**/ 1944 2138, 1945 /**/ 1946 2137, 1947 /**/ 1948 2136, 1949 /**/ 1950 2135, 1951 /**/ 1952 2134, 1953 /**/ 1954 2133, 1955 /**/ 1956 2132, 1957 /**/ 1958 2131, 1959 /**/ 1960 2130, 1961 /**/ 1962 2129, 1963 /**/ 1964 2128, 1965 /**/ 1966 2127, 1967 /**/ 1968 2126, 1969 /**/ 1970 2125, 1971 /**/ 1972 2124, 1973 /**/ 1974 2123, 1975 /**/ 1976 2122, 1977 /**/ 1978 2121, 1979 /**/ 1980 2120, 1981 /**/ 1982 2119, 1983 /**/ 1984 2118, 1985 /**/ 1986 2117, 1987 /**/ 1988 2116, 1989 /**/ 1990 2115, 1991 /**/ 1992 2114, 1993 /**/ 1994 2113, 1995 /**/ 1996 2112, 1997 /**/ 1998 2111, 1999 /**/ 2000 2110, 2001 /**/ 2002 2109, 2003 /**/ 2004 2108, 2005 /**/ 2006 2107, 2007 /**/ 2008 2106, 2009 /**/ 2010 2105, 2011 /**/ 2012 2104, 2013 /**/ 2014 2103, 2015 /**/ 2016 2102, 2017 /**/ 2018 2101, 2019 /**/ 2020 2100, 2021 /**/ 2022 2099, 2023 /**/ 2024 2098, 2025 /**/ 2026 2097, 2027 /**/ 2028 2096, 2029 /**/ 2030 2095, 2031 /**/ 2032 2094, 2033 /**/ 2034 2093, 2035 /**/ 2036 2092, 2037 /**/ 2038 2091, 2039 /**/ 2040 2090, 2041 /**/ 2042 2089, 2043 /**/ 2044 2088, 2045 /**/ 2046 2087, 2047 /**/ 2048 2086, 2049 /**/ 2050 2085, 2051 /**/ 2052 2084, 2053 /**/ 2054 2083, 2055 /**/ 2056 2082, 2057 /**/ 2058 2081, 2059 /**/ 2060 2080, 2061 /**/ 2062 2079, 2063 /**/ 2064 2078, 2065 /**/ 2066 2077, 2067 /**/ 2068 2076, 2069 /**/ 2070 2075, 2071 /**/ 2072 2074, 2073 /**/ 2074 2073, 2075 /**/ 2076 2072, 2077 /**/ 2078 2071, 2079 /**/ 2080 2070, 2081 /**/ 2082 2069, 2083 /**/ 2084 2068, 2085 /**/ 2086 2067, 2087 /**/ 2088 2066, 2089 /**/ 2090 2065, 2091 /**/ 2092 2064, 2093 /**/ 2094 2063, 2095 /**/ 2096 2062, 2097 /**/ 2098 2061, 2099 /**/ 2100 2060, 2101 /**/ 2102 2059, 2103 /**/ 2104 2058, 2105 /**/ 2106 2057, 2107 /**/ 2108 2056, 2109 /**/ 2110 2055, 2111 /**/ 2112 2054, 2113 /**/ 2114 2053, 2115 /**/ 2116 2052, 2117 /**/ 2118 2051, 2119 /**/ 2120 2050, 2121 /**/ 2122 2049, 2123 /**/ 2124 2048, 2125 /**/ 2126 2047, 2127 /**/ 2128 2046, 2129 /**/ 2130 2045, 2131 /**/ 2132 2044, 2133 /**/ 2134 2043, 2135 /**/ 2136 2042, 2137 /**/ 2138 2041, 2139 /**/ 2140 2040, 2141 /**/ 2142 2039, 2143 /**/ 2144 2038, 2145 /**/ 2146 2037, 2147 /**/ 2148 2036, 2149 /**/ 2150 2035, 2151 /**/ 2152 2034, 2153 /**/ 2154 2033, 2155 /**/ 2156 2032, 2157 /**/ 2158 2031, 2159 /**/ 2160 2030, 2161 /**/ 2162 2029, 2163 /**/ 2164 2028, 2165 /**/ 2166 2027, 2167 /**/ 2168 2026, 2169 /**/ 2170 2025, 2171 /**/ 2172 2024, 2173 /**/ 2174 2023, 2175 /**/ 2176 2022, 2177 /**/ 2178 2021, 2179 /**/ 2180 2020, 2181 /**/ 2182 2019, 2183 /**/ 2184 2018, 2185 /**/ 2186 2017, 2187 /**/ 2188 2016, 2189 /**/ 2190 2015, 2191 /**/ 2192 2014, 2193 /**/ 2194 2013, 2195 /**/ 2196 2012, 2197 /**/ 2198 2011, 2199 /**/ 2200 2010, 2201 /**/ 2202 2009, 2203 /**/ 2204 2008, 2205 /**/ 2206 2007, 2207 /**/ 2208 2006, 2209 /**/ 2210 2005, 2211 /**/ 2212 2004, 2213 /**/ 2214 2003, 2215 /**/ 2216 2002, 2217 /**/ 2218 2001, 2219 /**/ 2220 2000, 2221 /**/ 2222 1999, 2223 /**/ 2224 1998, 2225 /**/ 2226 1997, 2227 /**/ 2228 1996, 2229 /**/ 2230 1995, 2231 /**/ 2232 1994, 2233 /**/ 2234 1993, 2235 /**/ 2236 1992, 2237 /**/ 2238 1991, 2239 /**/ 2240 1990, 2241 /**/ 2242 1989, 2243 /**/ 2244 1988, 2245 /**/ 2246 1987, 2247 /**/ 2248 1986, 2249 /**/ 2250 1985, 2251 /**/ 2252 1984, 2253 /**/ 2254 1983, 2255 /**/ 2256 1982, 2257 /**/ 2258 1981, 2259 /**/ 2260 1980, 2261 /**/ 2262 1979, 2263 /**/ 2264 1978, 2265 /**/ 2266 1977, 2267 /**/ 2268 1976, 2269 /**/ 2270 1975, 2271 /**/ 2272 1974, 2273 /**/ 2274 1973, 2275 /**/ 2276 1972, 2277 /**/ 2278 1971, 2279 /**/ 2280 1970, 2281 /**/ 2282 1969, 2283 /**/ 2284 1968, 2285 /**/ 2286 1967, 2287 /**/ 2288 1966, 2289 /**/ 2290 1965, 2291 /**/ 2292 1964, 2293 /**/ 2294 1963, 2295 /**/ 2296 1962, 2297 /**/ 2298 1961, 2299 /**/ 2300 1960, 2301 /**/ 2302 1959, 2303 /**/ 2304 1958, 2305 /**/ 2306 1957, 2307 /**/ 2308 1956, 2309 /**/ 2310 1955, 2311 /**/ 2312 1954, 2313 /**/ 2314 1953, 2315 /**/ 2316 1952, 2317 /**/ 2318 1951, 2319 /**/ 2320 1950, 2321 /**/ 2322 1949, 2323 /**/ 2324 1948, 2325 /**/ 2326 1947, 2327 /**/ 2328 1946, 2329 /**/ 2330 1945, 2331 /**/ 2332 1944, 2333 /**/ 2334 1943, 2335 /**/ 2336 1942, 2337 /**/ 2338 1941, 2339 /**/ 2340 1940, 2341 /**/ 2342 1939, 2343 /**/ 2344 1938, 2345 /**/ 2346 1937, 2347 /**/ 2348 1936, 2349 /**/ 2350 1935, 2351 /**/ 2352 1934, 2353 /**/ 2354 1933, 2355 /**/ 2356 1932, 2357 /**/ 2358 1931, 2359 /**/ 2360 1930, 2361 /**/ 2362 1929, 2363 /**/ 2364 1928, 2365 /**/ 2366 1927, 2367 /**/ 2368 1926, 2369 /**/ 2370 1925, 2371 /**/ 2372 1924, 2373 /**/ 2374 1923, 2375 /**/ 2376 1922, 2377 /**/ 2378 1921, 2379 /**/ 2380 1920, 2381 /**/ 2382 1919, 2383 /**/ 2384 1918, 2385 /**/ 2386 1917, 2387 /**/ 2388 1916, 2389 /**/ 2390 1915, 2391 /**/ 2392 1914, 2393 /**/ 2394 1913, 2395 /**/ 2396 1912, 2397 /**/ 2398 1911, 2399 /**/ 2400 1910, 2401 /**/ 2402 1909, 2403 /**/ 2404 1908, 2405 /**/ 2406 1907, 2407 /**/ 2408 1906, 2409 /**/ 2410 1905, 2411 /**/ 2412 1904, 2413 /**/ 2414 1903, 2415 /**/ 2416 1902, 2417 /**/ 2418 1901, 2419 /**/ 2420 1900, 2421 /**/ 2422 1899, 2423 /**/ 2424 1898, 2425 /**/ 2426 1897, 2427 /**/ 2428 1896, 2429 /**/ 2430 1895, 2431 /**/ 2432 1894, 2433 /**/ 2434 1893, 2435 /**/ 2436 1892, 2437 /**/ 2438 1891, 2439 /**/ 2440 1890, 2441 /**/ 2442 1889, 2443 /**/ 2444 1888, 2445 /**/ 2446 1887, 2447 /**/ 2448 1886, 2449 /**/ 2450 1885, 2451 /**/ 2452 1884, 2453 /**/ 2454 1883, 2455 /**/ 2456 1882, 2457 /**/ 2458 1881, 2459 /**/ 2460 1880, 2461 /**/ 2462 1879, 2463 /**/ 2464 1878, 2465 /**/ 2466 1877, 2467 /**/ 2468 1876, 2469 /**/ 2470 1875, 2471 /**/ 2472 1874, 2473 /**/ 2474 1873, 2475 /**/ 2476 1872, 2477 /**/ 2478 1871, 2479 /**/ 2480 1870, 2481 /**/ 2482 1869, 2483 /**/ 2484 1868, 2485 /**/ 2486 1867, 2487 /**/ 2488 1866, 2489 /**/ 2490 1865, 2491 /**/ 2492 1864, 2493 /**/ 2494 1863, 2495 /**/ 2496 1862, 2497 /**/ 2498 1861, 2499 /**/ 2500 1860, 2501 /**/ 2502 1859, 2503 /**/ 2504 1858, 2505 /**/ 2506 1857, 2507 /**/ 2508 1856, 2509 /**/ 2510 1855, 2511 /**/ 2512 1854, 2513 /**/ 2514 1853, 2515 /**/ 2516 1852, 2517 /**/ 2518 1851, 2519 /**/ 2520 1850, 2521 /**/ 2522 1849, 2523 /**/ 2524 1848, 2525 /**/ 2526 1847, 2527 /**/ 2528 1846, 2529 /**/ 2530 1845, 2531 /**/ 2532 1844, 2533 /**/ 2534 1843, 2535 /**/ 2536 1842, 2537 /**/ 2538 1841, 2539 /**/ 2540 1840, 2541 /**/ 2542 1839, 2543 /**/ 2544 1838, 2545 /**/ 2546 1837, 2547 /**/ 2548 1836, 2549 /**/ 2550 1835, 2551 /**/ 2552 1834, 2553 /**/ 2554 1833, 2555 /**/ 2556 1832, 2557 /**/ 2558 1831, 2559 /**/ 2560 1830, 2561 /**/ 2562 1829, 2563 /**/ 2564 1828, 2565 /**/ 2566 1827, 2567 /**/ 2568 1826, 2569 /**/ 2570 1825, 2571 /**/ 2572 1824, 2573 /**/ 2574 1823, 2575 /**/ 2576 1822, 2577 /**/ 2578 1821, 2579 /**/ 2580 1820, 2581 /**/ 2582 1819, 2583 /**/ 2584 1818, 2585 /**/ 2586 1817, 2587 /**/ 2588 1816, 2589 /**/ 2590 1815, 2591 /**/ 2592 1814, 2593 /**/ 2594 1813, 2595 /**/ 2596 1812, 2597 /**/ 2598 1811, 2599 /**/ 2600 1810, 2601 /**/ 2602 1809, 2603 /**/ 2604 1808, 2605 /**/ 2606 1807, 2607 /**/ 2608 1806, 2609 /**/ 2610 1805, 2611 /**/ 2612 1804, 2613 /**/ 2614 1803, 2615 /**/ 2616 1802, 2617 /**/ 2618 1801, 2619 /**/ 2620 1800, 2621 /**/ 2622 1799, 2623 /**/ 2624 1798, 2625 /**/ 2626 1797, 2627 /**/ 2628 1796, 2629 /**/ 2630 1795, 2631 /**/ 2632 1794, 2633 /**/ 2634 1793, 2635 /**/ 2636 1792, 2637 /**/ 2638 1791, 2639 /**/ 2640 1790, 2641 /**/ 2642 1789, 2643 /**/ 2644 1788, 2645 /**/ 2646 1787, 2647 /**/ 2648 1786, 2649 /**/ 2650 1785, 2651 /**/ 2652 1784, 2653 /**/ 2654 1783, 2655 /**/ 2656 1782, 2657 /**/ 2658 1781, 2659 /**/ 2660 1780, 2661 /**/ 2662 1779, 2663 /**/ 2664 1778, 2665 /**/ 2666 1777, 2667 /**/ 2668 1776, 2669 /**/ 2670 1775, 2671 /**/ 2672 1774, 2673 /**/ 2674 1773, 2675 /**/ 2676 1772, 2677 /**/ 2678 1771, 2679 /**/ 2680 1770, 2681 /**/ 2682 1769, 2683 /**/ 2684 1768, 2685 /**/ 2686 1767, 2687 /**/ 2688 1766, 2689 /**/ 2690 1765, 2691 /**/ 2692 1764, 2693 /**/ 2694 1763, 2695 /**/ 2696 1762, 2697 /**/ 2698 1761, 2699 /**/ 2700 1760, 2701 /**/ 2702 1759, 2703 /**/ 2704 1758, 2705 /**/ 2706 1757, 2707 /**/ 2708 1756, 2709 /**/ 2710 1755, 2711 /**/ 2712 1754, 2713 /**/ 2714 1753, 2715 /**/ 2716 1752, 2717 /**/ 2718 1751, 2719 /**/ 2720 1750, 2721 /**/ 2722 1749, 2723 /**/ 2724 1748, 2725 /**/ 2726 1747, 2727 /**/ 2728 1746, 2729 /**/ 2730 1745, 2731 /**/ 2732 1744, 2733 /**/ 2734 1743, 2735 /**/ 2736 1742, 2737 /**/ 2738 1741, 2739 /**/ 2740 1740, 2741 /**/ 2742 1739, 2743 /**/ 2744 1738, 2745 /**/ 2746 1737, 2747 /**/ 2748 1736, 2749 /**/ 2750 1735, 2751 /**/ 2752 1734, 2753 /**/ 2754 1733, 2755 /**/ 2756 1732, 2757 /**/ 2758 1731, 2759 /**/ 2760 1730, 2761 /**/ 2762 1729, 2763 /**/ 2764 1728, 2765 /**/ 2766 1727, 2767 /**/ 2768 1726, 2769 /**/ 2770 1725, 2771 /**/ 2772 1724, 2773 /**/ 2774 1723, 2775 /**/ 2776 1722, 2777 /**/ 2778 1721, 2779 /**/ 2780 1720, 2781 /**/ 2782 1719, 2783 /**/ 2784 1718, 2785 /**/ 2786 1717, 2787 /**/ 2788 1716, 2789 /**/ 2790 1715, 2791 /**/ 2792 1714, 2793 /**/ 2794 1713, 2795 /**/ 2796 1712, 2797 /**/ 2798 1711, 2799 /**/ 2800 1710, 2801 /**/ 2802 1709, 2803 /**/ 2804 1708, 2805 /**/ 2806 1707, 2807 /**/ 2808 1706, 2809 /**/ 2810 1705, 2811 /**/ 2812 1704, 2813 /**/ 2814 1703, 2815 /**/ 2816 1702, 2817 /**/ 2818 1701, 2819 /**/ 2820 1700, 2821 /**/ 2822 1699, 2823 /**/ 2824 1698, 2825 /**/ 2826 1697, 2827 /**/ 2828 1696, 2829 /**/ 2830 1695, 2831 /**/ 2832 1694, 2833 /**/ 2834 1693, 2835 /**/ 2836 1692, 2837 /**/ 2838 1691, 2839 /**/ 2840 1690, 2841 /**/ 2842 1689, 2843 /**/ 2844 1688, 2845 /**/ 2846 1687, 2847 /**/ 2848 1686, 2849 /**/ 2850 1685, 2851 /**/ 2852 1684, 2853 /**/ 2854 1683, 2855 /**/ 2856 1682, 2857 /**/ 2858 1681, 2859 /**/ 2860 1680, 2861 /**/ 2862 1679, 2863 /**/ 2864 1678, 2865 /**/ 2866 1677, 2867 /**/ 2868 1676, 2869 /**/ 2870 1675, 2871 /**/ 2872 1674, 2873 /**/ 2874 1673, 2875 /**/ 2876 1672, 2877 /**/ 2878 1671, 2879 /**/ 2880 1670, 2881 /**/ 2882 1669, 2883 /**/ 2884 1668, 2885 /**/ 2886 1667, 2887 /**/ 2888 1666, 2889 /**/ 2890 1665, 2891 /**/ 2892 1664, 2893 /**/ 2894 1663, 2895 /**/ 2896 1662, 2897 /**/ 2898 1661, 2899 /**/ 2900 1660, 2901 /**/ 2902 1659, 2903 /**/ 2904 1658, 2905 /**/ 2906 1657, 2907 /**/ 2908 1656, 2909 /**/ 2910 1655, 2911 /**/ 2912 1654, 2913 /**/ 2914 1653, 2915 /**/ 2916 1652, 2917 /**/ 2918 1651, 2919 /**/ 2920 1650, 2921 /**/ 2922 1649, 2923 /**/ 2924 1648, 2925 /**/ 2926 1647, 2927 /**/ 2928 1646, 2929 /**/ 2930 1645, 2931 /**/ 2932 1644, 2933 /**/ 2934 1643, 2935 /**/ 2936 1642, 2937 /**/ 2938 1641, 2939 /**/ 2940 1640, 2941 /**/ 2942 1639, 2943 /**/ 2944 1638, 2945 /**/ 2946 1637, 2947 /**/ 2948 1636, 2949 /**/ 2950 1635, 2951 /**/ 2952 1634, 2953 /**/ 2954 1633, 2955 /**/ 2956 1632, 2957 /**/ 2958 1631, 2959 /**/ 2960 1630, 2961 /**/ 2962 1629, 2963 /**/ 2964 1628, 2965 /**/ 2966 1627, 2967 /**/ 2968 1626, 2969 /**/ 2970 1625, 2971 /**/ 2972 1624, 2973 /**/ 2974 1623, 2975 /**/ 2976 1622, 2977 /**/ 2978 1621, 2979 /**/ 2980 1620, 2981 /**/ 2982 1619, 2983 /**/ 2984 1618, 2985 /**/ 2986 1617, 2987 /**/ 2988 1616, 2989 /**/ 2990 1615, 2991 /**/ 2992 1614, 2993 /**/ 2994 1613, 2995 /**/ 2996 1612, 2997 /**/ 2998 1611, 2999 /**/ 3000 1610, 3001 /**/ 3002 1609, 3003 /**/ 3004 1608, 3005 /**/ 3006 1607, 3007 /**/ 3008 1606, 3009 /**/ 3010 1605, 3011 /**/ 3012 1604, 3013 /**/ 3014 1603, 3015 /**/ 3016 1602, 3017 /**/ 3018 1601, 3019 /**/ 3020 1600, 3021 /**/ 3022 1599, 3023 /**/ 3024 1598, 3025 /**/ 3026 1597, 3027 /**/ 3028 1596, 3029 /**/ 3030 1595, 3031 /**/ 3032 1594, 3033 /**/ 3034 1593, 3035 /**/ 3036 1592, 3037 /**/ 3038 1591, 3039 /**/ 3040 1590, 3041 /**/ 3042 1589, 3043 /**/ 3044 1588, 3045 /**/ 3046 1587, 3047 /**/ 3048 1586, 3049 /**/ 3050 1585, 3051 /**/ 3052 1584, 3053 /**/ 3054 1583, 3055 /**/ 3056 1582, 3057 /**/ 3058 1581, 3059 /**/ 3060 1580, 3061 /**/ 3062 1579, 3063 /**/ 3064 1578, 3065 /**/ 3066 1577, 3067 /**/ 3068 1576, 3069 /**/ 3070 1575, 3071 /**/ 3072 1574, 3073 /**/ 3074 1573, 3075 /**/ 3076 1572, 3077 /**/ 3078 1571, 3079 /**/ 3080 1570, 3081 /**/ 3082 1569, 3083 /**/ 3084 1568, 3085 /**/ 3086 1567, 3087 /**/ 3088 1566, 3089 /**/ 3090 1565, 3091 /**/ 3092 1564, 3093 /**/ 3094 1563, 3095 /**/ 3096 1562, 3097 /**/ 3098 1561, 3099 /**/ 3100 1560, 3101 /**/ 3102 1559, 3103 /**/ 3104 1558, 3105 /**/ 3106 1557, 3107 /**/ 3108 1556, 3109 /**/ 3110 1555, 3111 /**/ 3112 1554, 3113 /**/ 3114 1553, 3115 /**/ 3116 1552, 3117 /**/ 3118 1551, 3119 /**/ 3120 1550, 3121 /**/ 3122 1549, 3123 /**/ 3124 1548, 3125 /**/ 3126 1547, 3127 /**/ 3128 1546, 3129 /**/ 3130 1545, 3131 /**/ 3132 1544, 3133 /**/ 3134 1543, 3135 /**/ 3136 1542, 3137 /**/ 3138 1541, 3139 /**/ 3140 1540, 3141 /**/ 3142 1539, 3143 /**/ 3144 1538, 3145 /**/ 3146 1537, 3147 /**/ 3148 1536, 3149 /**/ 3150 1535, 3151 /**/ 3152 1534, 3153 /**/ 3154 1533, 3155 /**/ 3156 1532, 3157 /**/ 3158 1531, 3159 /**/ 3160 1530, 3161 /**/ 3162 1529, 3163 /**/ 3164 1528, 3165 /**/ 3166 1527, 3167 /**/ 3168 1526, 3169 /**/ 3170 1525, 3171 /**/ 3172 1524, 3173 /**/ 3174 1523, 3175 /**/ 3176 1522, 3177 /**/ 3178 1521, 3179 /**/ 3180 1520, 3181 /**/ 3182 1519, 3183 /**/ 3184 1518, 3185 /**/ 3186 1517, 3187 /**/ 3188 1516, 3189 /**/ 3190 1515, 3191 /**/ 3192 1514, 3193 /**/ 3194 1513, 3195 /**/ 3196 1512, 3197 /**/ 3198 1511, 3199 /**/ 3200 1510, 3201 /**/ 3202 1509, 3203 /**/ 3204 1508, 3205 /**/ 3206 1507, 3207 /**/ 3208 1506, 3209 /**/ 3210 1505, 3211 /**/ 3212 1504, 3213 /**/ 3214 1503, 3215 /**/ 3216 1502, 3217 /**/ 3218 1501, 3219 /**/ 3220 1500, 3221 /**/ 3222 1499, 3223 /**/ 3224 1498, 3225 /**/ 3226 1497, 3227 /**/ 3228 1496, 3229 /**/ 3230 1495, 3231 /**/ 3232 1494, 3233 /**/ 3234 1493, 3235 /**/ 3236 1492, 3237 /**/ 3238 1491, 3239 /**/ 3240 1490, 3241 /**/ 3242 1489, 3243 /**/ 3244 1488, 3245 /**/ 3246 1487, 3247 /**/ 3248 1486, 3249 /**/ 3250 1485, 3251 /**/ 3252 1484, 3253 /**/ 3254 1483, 3255 /**/ 3256 1482, 3257 /**/ 3258 1481, 3259 /**/ 3260 1480, 3261 /**/ 3262 1479, 3263 /**/ 3264 1478, 3265 /**/ 3266 1477, 3267 /**/ 3268 1476, 3269 /**/ 3270 1475, 3271 /**/ 3272 1474, 3273 /**/ 3274 1473, 3275 /**/ 3276 1472, 3277 /**/ 3278 1471, 3279 /**/ 3280 1470, 3281 /**/ 3282 1469, 3283 /**/ 3284 1468, 3285 /**/ 3286 1467, 3287 /**/ 3288 1466, 3289 /**/ 3290 1465, 3291 /**/ 3292 1464, 3293 /**/ 3294 1463, 3295 /**/ 3296 1462, 3297 /**/ 3298 1461, 3299 /**/ 3300 1460, 3301 /**/ 3302 1459, 3303 /**/ 3304 1458, 3305 /**/ 3306 1457, 3307 /**/ 3308 1456, 3309 /**/ 3310 1455, 3311 /**/ 3312 1454, 3313 /**/ 3314 1453, 3315 /**/ 3316 1452, 3317 /**/ 3318 1451, 3319 /**/ 3320 1450, 3321 /**/ 3322 1449, 3323 /**/ 3324 1448, 3325 /**/ 3326 1447, 3327 /**/ 3328 1446, 3329 /**/ 3330 1445, 3331 /**/ 3332 1444, 3333 /**/ 3334 1443, 3335 /**/ 3336 1442, 3337 /**/ 3338 1441, 3339 /**/ 3340 1440, 3341 /**/ 3342 1439, 3343 /**/ 3344 1438, 3345 /**/ 3346 1437, 3347 /**/ 3348 1436, 3349 /**/ 3350 1435, 3351 /**/ 3352 1434, 3353 /**/ 3354 1433, 3355 /**/ 3356 1432, 3357 /**/ 3358 1431, 3359 /**/ 3360 1430, 3361 /**/ 3362 1429, 3363 /**/ 3364 1428, 3365 /**/ 3366 1427, 3367 /**/ 3368 1426, 3369 /**/ 3370 1425, 3371 /**/ 3372 1424, 3373 /**/ 3374 1423, 3375 /**/ 3376 1422, 3377 /**/ 3378 1421, 3379 /**/ 3380 1420, 3381 /**/ 3382 1419, 3383 /**/ 3384 1418, 3385 /**/ 3386 1417, 3387 /**/ 3388 1416, 3389 /**/ 3390 1415, 3391 /**/ 3392 1414, 3393 /**/ 3394 1413, 3395 /**/ 3396 1412, 3397 /**/ 3398 1411, 3399 /**/ 3400 1410, 3401 /**/ 3402 1409, 3403 /**/ 3404 1408, 3405 /**/ 3406 1407, 3407 /**/ 3408 1406, 3409 /**/ 3410 1405, 3411 /**/ 3412 1404, 3413 /**/ 3414 1403, 3415 /**/ 3416 1402, 3417 /**/ 3418 1401, 3419 /**/ 3420 1400, 3421 /**/ 3422 1399, 3423 /**/ 3424 1398, 3425 /**/ 3426 1397, 3427 /**/ 3428 1396, 3429 /**/ 3430 1395, 3431 /**/ 3432 1394, 3433 /**/ 3434 1393, 3435 /**/ 3436 1392, 3437 /**/ 3438 1391, 3439 /**/ 3440 1390, 3441 /**/ 3442 1389, 3443 /**/ 3444 1388, 3445 /**/ 3446 1387, 3447 /**/ 3448 1386, 3449 /**/ 3450 1385, 3451 /**/ 3452 1384, 3453 /**/ 3454 1383, 3455 /**/ 3456 1382, 3457 /**/ 3458 1381, 3459 /**/ 3460 1380, 3461 /**/ 3462 1379, 3463 /**/ 3464 1378, 3465 /**/ 3466 1377, 3467 /**/ 3468 1376, 3469 /**/ 3470 1375, 3471 /**/ 3472 1374, 3473 /**/ 3474 1373, 3475 /**/ 3476 1372, 3477 /**/ 3478 1371, 3479 /**/ 3480 1370, 3481 /**/ 3482 1369, 3483 /**/ 3484 1368, 3485 /**/ 3486 1367, 3487 /**/ 3488 1366, 3489 /**/ 3490 1365, 3491 /**/ 3492 1364, 3493 /**/ 3494 1363, 3495 /**/ 3496 1362, 3497 /**/ 3498 1361, 3499 /**/ 3500 1360, 3501 /**/ 3502 1359, 3503 /**/ 3504 1358, 3505 /**/ 3506 1357, 3507 /**/ 3508 1356, 3509 /**/ 3510 1355, 3511 /**/ 3512 1354, 3513 /**/ 3514 1353, 3515 /**/ 3516 1352, 3517 /**/ 3518 1351, 3519 /**/ 3520 1350, 3521 /**/ 3522 1349, 3523 /**/ 3524 1348, 3525 /**/ 3526 1347, 3527 /**/ 3528 1346, 3529 /**/ 3530 1345, 3531 /**/ 3532 1344, 3533 /**/ 3534 1343, 3535 /**/ 3536 1342, 3537 /**/ 3538 1341, 3539 /**/ 3540 1340, 3541 /**/ 3542 1339, 3543 /**/ 3544 1338, 3545 /**/ 3546 1337, 3547 /**/ 3548 1336, 3549 /**/ 3550 1335, 3551 /**/ 3552 1334, 3553 /**/ 3554 1333, 3555 /**/ 3556 1332, 3557 /**/ 3558 1331, 3559 /**/ 3560 1330, 3561 /**/ 3562 1329, 3563 /**/ 3564 1328, 3565 /**/ 3566 1327, 3567 /**/ 3568 1326, 3569 /**/ 3570 1325, 3571 /**/ 3572 1324, 3573 /**/ 3574 1323, 3575 /**/ 3576 1322, 3577 /**/ 3578 1321, 3579 /**/ 3580 1320, 3581 /**/ 3582 1319, 3583 /**/ 3584 1318, 3585 /**/ 3586 1317, 3587 /**/ 3588 1316, 3589 /**/ 3590 1315, 3591 /**/ 3592 1314, 3593 /**/ 3594 1313, 3595 /**/ 3596 1312, 3597 /**/ 3598 1311, 3599 /**/ 3600 1310, 3601 /**/ 3602 1309, 3603 /**/ 3604 1308, 3605 /**/ 3606 1307, 3607 /**/ 3608 1306, 3609 /**/ 3610 1305, 3611 /**/ 3612 1304, 3613 /**/ 3614 1303, 3615 /**/ 3616 1302, 3617 /**/ 3618 1301, 3619 /**/ 3620 1300, 3621 /**/ 3622 1299, 3623 /**/ 3624 1298, 3625 /**/ 3626 1297, 3627 /**/ 3628 1296, 3629 /**/ 3630 1295, 3631 /**/ 3632 1294, 3633 /**/ 3634 1293, 3635 /**/ 3636 1292, 3637 /**/ 3638 1291, 3639 /**/ 3640 1290, 3641 /**/ 3642 1289, 3643 /**/ 3644 1288, 3645 /**/ 3646 1287, 3647 /**/ 3648 1286, 3649 /**/ 3650 1285, 3651 /**/ 3652 1284, 3653 /**/ 3654 1283, 3655 /**/ 3656 1282, 3657 /**/ 3658 1281, 3659 /**/ 3660 1280, 3661 /**/ 3662 1279, 3663 /**/ 3664 1278, 3665 /**/ 3666 1277, 3667 /**/ 3668 1276, 3669 /**/ 3670 1275, 3671 /**/ 3672 1274, 3673 /**/ 3674 1273, 3675 /**/ 3676 1272, 3677 /**/ 3678 1271, 3679 /**/ 3680 1270, 3681 /**/ 3682 1269, 3683 /**/ 3684 1268, 3685 /**/ 3686 1267, 3687 /**/ 3688 1266, 3689 /**/ 3690 1265, 3691 /**/ 3692 1264, 3693 /**/ 3694 1263, 3695 /**/ 3696 1262, 3697 /**/ 3698 1261, 3699 /**/ 3700 1260, 3701 /**/ 3702 1259, 3703 /**/ 3704 1258, 3705 /**/ 3706 1257, 3707 /**/ 3708 1256, 3709 /**/ 3710 1255, 3711 /**/ 3712 1254, 3713 /**/ 3714 1253, 3715 /**/ 3716 1252, 3717 /**/ 3718 1251, 3719 /**/ 3720 1250, 3721 /**/ 3722 1249, 3723 /**/ 3724 1248, 3725 /**/ 3726 1247, 3727 /**/ 3728 1246, 3729 /**/ 3730 1245, 3731 /**/ 3732 1244, 3733 /**/ 3734 1243, 3735 /**/ 3736 1242, 3737 /**/ 3738 1241, 3739 /**/ 3740 1240, 3741 /**/ 3742 1239, 3743 /**/ 3744 1238, 3745 /**/ 3746 1237, 3747 /**/ 3748 1236, 3749 /**/ 3750 1235, 3751 /**/ 3752 1234, 3753 /**/ 3754 1233, 3755 /**/ 3756 1232, 3757 /**/ 3758 1231, 3759 /**/ 3760 1230, 3761 /**/ 3762 1229, 3763 /**/ 3764 1228, 3765 /**/ 3766 1227, 3767 /**/ 3768 1226, 3769 /**/ 3770 1225, 3771 /**/ 3772 1224, 3773 /**/ 3774 1223, 3775 /**/ 3776 1222, 3777 /**/ 3778 1221, 3779 /**/ 3780 1220, 3781 /**/ 3782 1219, 3783 /**/ 3784 1218, 3785 /**/ 3786 1217, 3787 /**/ 3788 1216, 3789 /**/ 3790 1215, 3791 /**/ 3792 1214, 3793 /**/ 3794 1213, 3795 /**/ 3796 1212, 3797 /**/ 3798 1211, 3799 /**/ 3800 1210, 3801 /**/ 3802 1209, 3803 /**/ 3804 1208, 3805 /**/ 3806 1207, 3807 /**/ 3808 1206, 3809 /**/ 3810 1205, 3811 /**/ 3812 1204, 3813 /**/ 3814 1203, 3815 /**/ 3816 1202, 3817 /**/ 3818 1201, 3819 /**/ 3820 1200, 3821 /**/ 3822 1199, 3823 /**/ 3824 1198, 3825 /**/ 3826 1197, 3827 /**/ 3828 1196, 3829 /**/ 3830 1195, 3831 /**/ 3832 1194, 3833 /**/ 3834 1193, 3835 /**/ 3836 1192, 3837 /**/ 3838 1191, 3839 /**/ 3840 1190, 3841 /**/ 3842 1189, 3843 /**/ 3844 1188, 3845 /**/ 3846 1187, 3847 /**/ 3848 1186, 3849 /**/ 3850 1185, 3851 /**/ 3852 1184, 3853 /**/ 3854 1183, 3855 /**/ 3856 1182, 3857 /**/ 3858 1181, 3859 /**/ 3860 1180, 3861 /**/ 3862 1179, 3863 /**/ 3864 1178, 3865 /**/ 3866 1177, 3867 /**/ 3868 1176, 3869 /**/ 3870 1175, 3871 /**/ 3872 1174, 3873 /**/ 3874 1173, 3875 /**/ 3876 1172, 3877 /**/ 3878 1171, 3879 /**/ 3880 1170, 3881 /**/ 3882 1169, 3883 /**/ 3884 1168, 3885 /**/ 3886 1167, 3887 /**/ 3888 1166, 3889 /**/ 3890 1165, 3891 /**/ 3892 1164, 3893 /**/ 3894 1163, 3895 /**/ 3896 1162, 3897 /**/ 3898 1161, 3899 /**/ 3900 1160, 3901 /**/ 3902 1159, 3903 /**/ 3904 1158, 3905 /**/ 3906 1157, 3907 /**/ 3908 1156, 3909 /**/ 3910 1155, 3911 /**/ 3912 1154, 3913 /**/ 3914 1153, 3915 /**/ 3916 1152, 3917 /**/ 3918 1151, 3919 /**/ 3920 1150, 3921 /**/ 3922 1149, 3923 /**/ 3924 1148, 3925 /**/ 3926 1147, 3927 /**/ 3928 1146, 3929 /**/ 3930 1145, 3931 /**/ 3932 1144, 3933 /**/ 3934 1143, 3935 /**/ 3936 1142, 3937 /**/ 3938 1141, 3939 /**/ 3940 1140, 3941 /**/ 3942 1139, 3943 /**/ 3944 1138, 3945 /**/ 3946 1137, 3947 /**/ 3948 1136, 3949 /**/ 3950 1135, 3951 /**/ 3952 1134, 3953 /**/ 3954 1133, 3955 /**/ 3956 1132, 3957 /**/ 3958 1131, 3959 /**/ 3960 1130, 3961 /**/ 3962 1129, 3963 /**/ 3964 1128, 3965 /**/ 3966 1127, 3967 /**/ 3968 1126, 3969 /**/ 3970 1125, 3971 /**/ 3972 1124, 3973 /**/ 3974 1123, 3975 /**/ 3976 1122, 3977 /**/ 3978 1121, 3979 /**/ 3980 1120, 3981 /**/ 3982 1119, 3983 /**/ 3984 1118, 3985 /**/ 3986 1117, 3987 /**/ 3988 1116, 3989 /**/ 3990 1115, 3991 /**/ 3992 1114, 3993 /**/ 3994 1113, 3995 /**/ 3996 1112, 3997 /**/ 3998 1111, 3999 /**/ 4000 1110, 4001 /**/ 4002 1109, 4003 /**/ 4004 1108, 4005 /**/ 4006 1107, 4007 /**/ 4008 1106, 4009 /**/ 4010 1105, 4011 /**/ 4012 1104, 4013 /**/ 4014 1103, 4015 /**/ 4016 1102, 4017 /**/ 4018 1101, 4019 /**/ 4020 1100, 4021 /**/ 4022 1099, 4023 /**/ 4024 1098, 4025 /**/ 4026 1097, 4027 /**/ 4028 1096, 4029 /**/ 4030 1095, 4031 /**/ 4032 1094, 4033 /**/ 4034 1093, 4035 /**/ 4036 1092, 4037 /**/ 4038 1091, 4039 /**/ 4040 1090, 4041 /**/ 4042 1089, 4043 /**/ 4044 1088, 4045 /**/ 4046 1087, 4047 /**/ 4048 1086, 4049 /**/ 4050 1085, 4051 /**/ 4052 1084, 4053 /**/ 4054 1083, 4055 /**/ 4056 1082, 4057 /**/ 4058 1081, 4059 /**/ 4060 1080, 4061 /**/ 4062 1079, 4063 /**/ 4064 1078, 4065 /**/ 4066 1077, 4067 /**/ 4068 1076, 4069 /**/ 4070 1075, 4071 /**/ 4072 1074, 4073 /**/ 4074 1073, 4075 /**/ 4076 1072, 4077 /**/ 4078 1071, 4079 /**/ 4080 1070, 4081 /**/ 4082 1069, 4083 /**/ 4084 1068, 4085 /**/ 4086 1067, 4087 /**/ 4088 1066, 4089 /**/ 4090 1065, 4091 /**/ 4092 1064, 4093 /**/ 4094 1063, 4095 /**/ 4096 1062, 4097 /**/ 4098 1061, 4099 /**/ 4100 1060, 4101 /**/ 4102 1059, 4103 /**/ 4104 1058, 4105 /**/ 4106 1057, 4107 /**/ 4108 1056, 4109 /**/ 4110 1055, 4111 /**/ 4112 1054, 4113 /**/ 4114 1053, 4115 /**/ 4116 1052, 4117 /**/ 4118 1051, 4119 /**/ 4120 1050, 4121 /**/ 4122 1049, 4123 /**/ 4124 1048, 4125 /**/ 4126 1047, 4127 /**/ 4128 1046, 4129 /**/ 4130 1045, 4131 /**/ 4132 1044, 4133 /**/ 4134 1043, 4135 /**/ 4136 1042, 4137 /**/ 4138 1041, 4139 /**/ 4140 1040, 4141 /**/ 4142 1039, 4143 /**/ 4144 1038, 4145 /**/ 4146 1037, 4147 /**/ 4148 1036, 4149 /**/ 4150 1035, 4151 /**/ 4152 1034, 4153 /**/ 4154 1033, 4155 /**/ 4156 1032, 4157 /**/ 4158 1031, 4159 /**/ 4160 1030, 4161 /**/ 4162 1029, 4163 /**/ 4164 1028, 4165 /**/ 4166 1027, 4167 /**/ 4168 1026, 4169 /**/ 4170 1025, 4171 /**/ 4172 1024, 4173 /**/ 4174 1023, 4175 /**/ 4176 1022, 4177 /**/ 4178 1021, 4179 /**/ 4180 1020, 4181 /**/ 4182 1019, 4183 /**/ 4184 1018, 4185 /**/ 4186 1017, 4187 /**/ 4188 1016, 4189 /**/ 4190 1015, 4191 /**/ 4192 1014, 4193 /**/ 4194 1013, 4195 /**/ 4196 1012, 4197 /**/ 4198 1011, 4199 /**/ 4200 1010, 4201 /**/ 4202 1009, 4203 /**/ 4204 1008, 4205 /**/ 4206 1007, 4207 /**/ 4208 1006, 4209 /**/ 4210 1005, 4211 /**/ 4212 1004, 4213 /**/ 4214 1003, 4215 /**/ 4216 1002, 4217 /**/ 4218 1001, 4219 /**/ 4220 1000, 4221 /**/ 4222 999, 4223 /**/ 4224 998, 4225 /**/ 4226 997, 4227 /**/ 4228 996, 4229 /**/ 4230 995, 4231 /**/ 4232 994, 4233 /**/ 4234 993, 4235 /**/ 4236 992, 4237 /**/ 4238 991, 4239 /**/ 4240 990, 4241 /**/ 4242 989, 4243 /**/ 4244 988, 4245 /**/ 4246 987, 4247 /**/ 4248 986, 4249 /**/ 4250 985, 4251 /**/ 4252 984, 4253 /**/ 4254 983, 4255 /**/ 4256 982, 4257 /**/ 4258 981, 4259 /**/ 4260 980, 4261 /**/ 4262 979, 4263 /**/ 4264 978, 4265 /**/ 4266 977, 4267 /**/ 4268 976, 4269 /**/ 4270 975, 4271 /**/ 4272 974, 4273 /**/ 4274 973, 4275 /**/ 4276 972, 4277 /**/ 4278 971, 4279 /**/ 4280 970, 4281 /**/ 4282 969, 4283 /**/ 4284 968, 4285 /**/ 4286 967, 4287 /**/ 4288 966, 4289 /**/ 4290 965, 4291 /**/ 4292 964, 4293 /**/ 4294 963, 4295 /**/ 4296 962, 4297 /**/ 4298 961, 4299 /**/ 4300 960, 4301 /**/ 4302 959, 4303 /**/ 4304 958, 4305 /**/ 4306 957, 4307 /**/ 4308 956, 4309 /**/ 4310 955, 4311 /**/ 4312 954, 4313 /**/ 4314 953, 4315 /**/ 4316 952, 4317 /**/ 4318 951, 4319 /**/ 4320 950, 4321 /**/ 4322 949, 4323 /**/ 4324 948, 4325 /**/ 4326 947, 4327 /**/ 4328 946, 4329 /**/ 4330 945, 4331 /**/ 4332 944, 4333 /**/ 4334 943, 4335 /**/ 4336 942, 4337 /**/ 4338 941, 4339 /**/ 4340 940, 4341 /**/ 4342 939, 4343 /**/ 4344 938, 4345 /**/ 4346 937, 4347 /**/ 4348 936, 4349 /**/ 4350 935, 4351 /**/ 4352 934, 4353 /**/ 4354 933, 4355 /**/ 4356 932, 4357 /**/ 4358 931, 4359 /**/ 4360 930, 4361 /**/ 4362 929, 4363 /**/ 4364 928, 4365 /**/ 4366 927, 4367 /**/ 4368 926, 4369 /**/ 4370 925, 4371 /**/ 4372 924, 4373 /**/ 4374 923, 4375 /**/ 4376 922, 4377 /**/ 4378 921, 4379 /**/ 4380 920, 4381 /**/ 4382 919, 4383 /**/ 4384 918, 4385 /**/ 4386 917, 4387 /**/ 4388 916, 4389 /**/ 4390 915, 4391 /**/ 4392 914, 4393 /**/ 4394 913, 4395 /**/ 4396 912, 4397 /**/ 4398 911, 4399 /**/ 4400 910, 4401 /**/ 4402 909, 4403 /**/ 4404 908, 4405 /**/ 4406 907, 4407 /**/ 4408 906, 4409 /**/ 4410 905, 4411 /**/ 4412 904, 4413 /**/ 4414 903, 4415 /**/ 4416 902, 4417 /**/ 4418 901, 4419 /**/ 4420 900, 4421 /**/ 4422 899, 4423 /**/ 4424 898, 4425 /**/ 4426 897, 4427 /**/ 4428 896, 4429 /**/ 4430 895, 4431 /**/ 4432 894, 4433 /**/ 4434 893, 4435 /**/ 4436 892, 4437 /**/ 4438 891, 4439 /**/ 4440 890, 4441 /**/ 4442 889, 4443 /**/ 4444 888, 4445 /**/ 4446 887, 4447 /**/ 4448 886, 4449 /**/ 4450 885, 4451 /**/ 4452 884, 4453 /**/ 4454 883, 4455 /**/ 4456 882, 4457 /**/ 4458 881, 4459 /**/ 4460 880, 4461 /**/ 4462 879, 4463 /**/ 4464 878, 4465 /**/ 4466 877, 4467 /**/ 4468 876, 4469 /**/ 4470 875, 4471 /**/ 4472 874, 4473 /**/ 4474 873, 4475 /**/ 4476 872, 4477 /**/ 4478 871, 4479 /**/ 4480 870, 4481 /**/ 4482 869, 4483 /**/ 4484 868, 4485 /**/ 4486 867, 4487 /**/ 4488 866, 4489 /**/ 4490 865, 4491 /**/ 4492 864, 4493 /**/ 4494 863, 4495 /**/ 4496 862, 4497 /**/ 4498 861, 4499 /**/ 4500 860, 4501 /**/ 4502 859, 4503 /**/ 4504 858, 4505 /**/ 4506 857, 4507 /**/ 4508 856, 4509 /**/ 4510 855, 4511 /**/ 4512 854, 4513 /**/ 4514 853, 4515 /**/ 4516 852, 4517 /**/ 4518 851, 4519 /**/ 4520 850, 4521 /**/ 4522 849, 4523 /**/ 4524 848, 4525 /**/ 4526 847, 4527 /**/ 4528 846, 4529 /**/ 4530 845, 4531 /**/ 4532 844, 4533 /**/ 4534 843, 4535 /**/ 4536 842, 4537 /**/ 4538 841, 4539 /**/ 4540 840, 4541 /**/ 4542 839, 4543 /**/ 4544 838, 4545 /**/ 4546 837, 4547 /**/ 4548 836, 4549 /**/ 4550 835, 4551 /**/ 4552 834, 4553 /**/ 4554 833, 4555 /**/ 4556 832, 4557 /**/ 4558 831, 4559 /**/ 4560 830, 4561 /**/ 4562 829, 4563 /**/ 4564 828, 4565 /**/ 4566 827, 4567 /**/ 4568 826, 4569 /**/ 4570 825, 4571 /**/ 4572 824, 4573 /**/ 4574 823, 4575 /**/ 4576 822, 4577 /**/ 4578 821, 4579 /**/ 4580 820, 4581 /**/ 4582 819, 4583 /**/ 4584 818, 4585 /**/ 4586 817, 4587 /**/ 4588 816, 4589 /**/ 4590 815, 4591 /**/ 4592 814, 4593 /**/ 4594 813, 4595 /**/ 4596 812, 4597 /**/ 4598 811, 4599 /**/ 4600 810, 4601 /**/ 4602 809, 4603 /**/ 4604 808, 4605 /**/ 4606 807, 4607 /**/ 4608 806, 4609 /**/ 4610 805, 4611 /**/ 4612 804, 4613 /**/ 4614 803, 4615 /**/ 4616 802, 4617 /**/ 4618 801, 4619 /**/ 4620 800, 4621 /**/ 4622 799, 4623 /**/ 4624 798, 4625 /**/ 4626 797, 4627 /**/ 4628 796, 4629 /**/ 4630 795, 4631 /**/ 4632 794, 4633 /**/ 4634 793, 4635 /**/ 4636 792, 4637 /**/ 4638 791, 4639 /**/ 4640 790, 4641 /**/ 4642 789, 4643 /**/ 4644 788, 4645 /**/ 4646 787, 4647 /**/ 4648 786, 4649 /**/ 4650 785, 4651 /**/ 4652 784, 4653 /**/ 4654 783, 4655 /**/ 4656 782, 4657 /**/ 4658 781, 4659 /**/ 4660 780, 4661 /**/ 4662 779, 4663 /**/ 4664 778, 4665 /**/ 4666 777, 4667 /**/ 4668 776, 4669 /**/ 4670 775, 4671 /**/ 4672 774, 4673 /**/ 4674 773, 4675 /**/ 4676 772, 4677 /**/ 4678 771, 4679 /**/ 4680 770, 4681 /**/ 4682 769, 4683 /**/ 4684 768, 4685 /**/ 4686 767, 4687 /**/ 4688 766, 4689 /**/ 4690 765, 4691 /**/ 4692 764, 4693 /**/ 4694 763, 4695 /**/ 4696 762, 4697 /**/ 4698 761, 4699 /**/ 4700 760, 4701 /**/ 4702 759, 4703 /**/ 4704 758, 4705 /**/ 4706 757, 4707 /**/ 4708 756, 4709 /**/ 4710 755, 4711 /**/ 4712 754, 4713 /**/ 4714 753, 4715 /**/ 4716 752, 4717 /**/ 4718 751, 4719 /**/ 4720 750, 4721 /**/ 4722 749, 4723 /**/ 4724 748, 4725 /**/ 4726 747, 4727 /**/ 4728 746, 4729 /**/ 4730 745, 4731 /**/ 4732 744, 4733 /**/ 4734 743, 4735 /**/ 4736 742, 4737 /**/ 4738 741, 4739 /**/ 4740 740, 4741 /**/ 4742 739, 4743 /**/ 4744 738, 4745 /**/ 4746 737, 4747 /**/ 4748 736, 4749 /**/ 4750 735, 4751 /**/ 4752 734, 4753 /**/ 4754 733, 4755 /**/ 4756 732, 4757 /**/ 4758 731, 4759 /**/ 4760 730, 4761 /**/ 4762 729, 4763 /**/ 4764 728, 4765 /**/ 4766 727, 4767 /**/ 4768 726, 4769 /**/ 4770 725, 4771 /**/ 4772 724, 4773 /**/ 4774 723, 4775 /**/ 4776 722, 4777 /**/ 4778 721, 4779 /**/ 4780 720, 4781 /**/ 4782 719, 4783 /**/ 4784 718, 4785 /**/ 4786 717, 4787 /**/ 4788 716, 4789 /**/ 4790 715, 4791 /**/ 4792 714, 4793 /**/ 4794 713, 4795 /**/ 4796 712, 4797 /**/ 4798 711, 4799 /**/ 4800 710, 4801 /**/ 4802 709, 4803 /**/ 4804 708, 4805 /**/ 4806 707, 4807 /**/ 4808 706, 4809 /**/ 4810 705, 4811 /**/ 4812 704, 4813 /**/ 4814 703, 4815 /**/ 4816 702, 4817 /**/ 4818 701, 4819 /**/ 4820 700, 4821 /**/ 4822 699, 4823 /**/ 4824 698, 4825 /**/ 4826 697, 4827 /**/ 4828 696, 4829 /**/ 4830 695, 4831 /**/ 4832 694, 4833 /**/ 4834 693, 4835 /**/ 4836 692, 4837 /**/ 4838 691, 4839 /**/ 4840 690, 4841 /**/ 4842 689, 4843 /**/ 4844 688, 4845 /**/ 4846 687, 4847 /**/ 4848 686, 4849 /**/ 4850 685, 4851 /**/ 4852 684, 4853 /**/ 4854 683, 4855 /**/ 4856 682, 4857 /**/ 4858 681, 4859 /**/ 4860 680, 4861 /**/ 4862 679, 4863 /**/ 4864 678, 4865 /**/ 4866 677, 4867 /**/ 4868 676, 4869 /**/ 4870 675, 4871 /**/ 4872 674, 4873 /**/ 4874 673, 4875 /**/ 4876 672, 4877 /**/ 4878 671, 4879 /**/ 4880 670, 4881 /**/ 4882 669, 4883 /**/ 4884 668, 4885 /**/ 4886 667, 4887 /**/ 4888 666, 4889 /**/ 4890 665, 4891 /**/ 4892 664, 4893 /**/ 4894 663, 4895 /**/ 4896 662, 4897 /**/ 4898 661, 4899 /**/ 4900 660, 4901 /**/ 4902 659, 4903 /**/ 4904 658, 4905 /**/ 4906 657, 4907 /**/ 4908 656, 4909 /**/ 4910 655, 4911 /**/ 4912 654, 4913 /**/ 4914 653, 4915 /**/ 4916 652, 4917 /**/ 4918 651, 4919 /**/ 4920 650, 4921 /**/ 4922 649, 4923 /**/ 4924 648, 4925 /**/ 4926 647, 4927 /**/ 4928 646, 4929 /**/ 4930 645, 4931 /**/ 4932 644, 4933 /**/ 4934 643, 4935 /**/ 4936 642, 4937 /**/ 4938 641, 4939 /**/ 4940 640, 4941 /**/ 4942 639, 4943 /**/ 4944 638, 4945 /**/ 4946 637, 4947 /**/ 4948 636, 4949 /**/ 4950 635, 4951 /**/ 4952 634, 4953 /**/ 4954 633, 4955 /**/ 4956 632, 4957 /**/ 4958 631, 4959 /**/ 4960 630, 4961 /**/ 4962 629, 4963 /**/ 4964 628, 4965 /**/ 4966 627, 4967 /**/ 4968 626, 4969 /**/ 4970 625, 4971 /**/ 4972 624, 4973 /**/ 4974 623, 4975 /**/ 4976 622, 4977 /**/ 4978 621, 4979 /**/ 4980 620, 4981 /**/ 4982 619, 4983 /**/ 4984 618, 4985 /**/ 4986 617, 4987 /**/ 4988 616, 4989 /**/ 4990 615, 4991 /**/ 4992 614, 4993 /**/ 4994 613, 4995 /**/ 4996 612, 4997 /**/ 4998 611, 4999 /**/ 5000 610, 5001 /**/ 5002 609, 5003 /**/ 5004 608, 5005 /**/ 5006 607, 5007 /**/ 5008 606, 5009 /**/ 5010 605, 5011 /**/ 5012 604, 5013 /**/ 5014 603, 5015 /**/ 5016 602, 5017 /**/ 5018 601, 5019 /**/ 5020 600, 5021 /**/ 5022 599, 5023 /**/ 5024 598, 5025 /**/ 5026 597, 5027 /**/ 5028 596, 5029 /**/ 5030 595, 5031 /**/ 5032 594, 5033 /**/ 5034 593, 5035 /**/ 5036 592, 5037 /**/ 5038 591, 5039 /**/ 5040 590, 5041 /**/ 5042 589, 5043 /**/ 5044 588, 5045 /**/ 5046 587, 5047 /**/ 5048 586, 5049 /**/ 5050 585, 5051 /**/ 5052 584, 5053 /**/ 5054 583, 5055 /**/ 5056 582, 5057 /**/ 5058 581, 5059 /**/ 5060 580, 5061 /**/ 5062 579, 5063 /**/ 5064 578, 5065 /**/ 5066 577, 5067 /**/ 5068 576, 5069 /**/ 5070 575, 5071 /**/ 5072 574, 5073 /**/ 5074 573, 5075 /**/ 5076 572, 5077 /**/ 5078 571, 5079 /**/ 5080 570, 5081 /**/ 5082 569, 5083 /**/ 5084 568, 5085 /**/ 5086 567, 5087 /**/ 5088 566, 5089 /**/ 5090 565, 5091 /**/ 5092 564, 5093 /**/ 5094 563, 5095 /**/ 5096 562, 5097 /**/ 5098 561, 5099 /**/ 5100 560, 5101 /**/ 5102 559, 5103 /**/ 5104 558, 5105 /**/ 5106 557, 5107 /**/ 5108 556, 5109 /**/ 5110 555, 5111 /**/ 5112 554, 5113 /**/ 5114 553, 5115 /**/ 5116 552, 5117 /**/ 5118 551, 5119 /**/ 5120 550, 5121 /**/ 5122 549, 5123 /**/ 5124 548, 5125 /**/ 5126 547, 5127 /**/ 5128 546, 5129 /**/ 5130 545, 5131 /**/ 5132 544, 5133 /**/ 5134 543, 5135 /**/ 5136 542, 5137 /**/ 5138 541, 5139 /**/ 5140 540, 5141 /**/ 5142 539, 5143 /**/ 5144 538, 5145 /**/ 5146 537, 5147 /**/ 5148 536, 5149 /**/ 5150 535, 5151 /**/ 5152 534, 5153 /**/ 5154 533, 5155 /**/ 5156 532, 5157 /**/ 5158 531, 5159 /**/ 5160 530, 5161 /**/ 5162 529, 5163 /**/ 5164 528, 5165 /**/ 5166 527, 5167 /**/ 5168 526, 5169 /**/ 5170 525, 5171 /**/ 5172 524, 5173 /**/ 5174 523, 5175 /**/ 5176 522, 5177 /**/ 5178 521, 5179 /**/ 5180 520, 5181 /**/ 5182 519, 5183 /**/ 5184 518, 5185 /**/ 5186 517, 5187 /**/ 5188 516, 5189 /**/ 5190 515, 5191 /**/ 5192 514, 5193 /**/ 5194 513, 5195 /**/ 5196 512, 5197 /**/ 5198 511, 5199 /**/ 5200 510, 5201 /**/ 5202 509, 5203 /**/ 5204 508, 5205 /**/ 5206 507, 5207 /**/ 5208 506, 5209 /**/ 5210 505, 5211 /**/ 5212 504, 5213 /**/ 5214 503, 5215 /**/ 5216 502, 5217 /**/ 5218 501, 5219 /**/ 5220 500, 5221 /**/ 5222 499, 5223 /**/ 5224 498, 5225 /**/ 5226 497, 5227 /**/ 5228 496, 5229 /**/ 5230 495, 5231 /**/ 5232 494, 5233 /**/ 5234 493, 5235 /**/ 5236 492, 5237 /**/ 5238 491, 5239 /**/ 5240 490, 5241 /**/ 5242 489, 5243 /**/ 5244 488, 5245 /**/ 5246 487, 5247 /**/ 5248 486, 5249 /**/ 5250 485, 5251 /**/ 5252 484, 5253 /**/ 5254 483, 5255 /**/ 5256 482, 5257 /**/ 5258 481, 5259 /**/ 5260 480, 5261 /**/ 5262 479, 5263 /**/ 5264 478, 5265 /**/ 5266 477, 5267 /**/ 5268 476, 5269 /**/ 5270 475, 5271 /**/ 5272 474, 5273 /**/ 5274 473, 5275 /**/ 5276 472, 5277 /**/ 5278 471, 5279 /**/ 5280 470, 5281 /**/ 5282 469, 5283 /**/ 5284 468, 5285 /**/ 5286 467, 5287 /**/ 5288 466, 5289 /**/ 5290 465, 5291 /**/ 5292 464, 5293 /**/ 5294 463, 5295 /**/ 5296 462, 5297 /**/ 5298 461, 5299 /**/ 5300 460, 5301 /**/ 5302 459, 5303 /**/ 5304 458, 5305 /**/ 5306 457, 5307 /**/ 5308 456, 5309 /**/ 5310 455, 5311 /**/ 5312 454, 5313 /**/ 5314 453, 5315 /**/ 5316 452, 5317 /**/ 5318 451, 5319 /**/ 5320 450, 5321 /**/ 5322 449, 5323 /**/ 5324 448, 5325 /**/ 5326 447, 5327 /**/ 5328 446, 5329 /**/ 5330 445, 5331 /**/ 5332 444, 5333 /**/ 5334 443, 5335 /**/ 5336 442, 5337 /**/ 5338 441, 5339 /**/ 5340 440, 5341 /**/ 5342 439, 5343 /**/ 5344 438, 5345 /**/ 5346 437, 5347 /**/ 5348 436, 5349 /**/ 5350 435, 5351 /**/ 5352 434, 5353 /**/ 5354 433, 5355 /**/ 5356 432, 5357 /**/ 5358 431, 5359 /**/ 5360 430, 5361 /**/ 5362 429, 5363 /**/ 5364 428, 5365 /**/ 5366 427, 5367 /**/ 5368 426, 5369 /**/ 5370 425, 5371 /**/ 5372 424, 5373 /**/ 5374 423, 5375 /**/ 5376 422, 5377 /**/ 5378 421, 5379 /**/ 5380 420, 5381 /**/ 5382 419, 5383 /**/ 5384 418, 5385 /**/ 5386 417, 5387 /**/ 5388 416, 5389 /**/ 5390 415, 5391 /**/ 5392 414, 5393 /**/ 5394 413, 5395 /**/ 5396 412, 5397 /**/ 5398 411, 5399 /**/ 5400 410, 5401 /**/ 5402 409, 5403 /**/ 5404 408, 5405 /**/ 5406 407, 5407 /**/ 5408 406, 5409 /**/ 5410 405, 5411 /**/ 5412 404, 5413 /**/ 5414 403, 5415 /**/ 5416 402, 5417 /**/ 5418 401, 5419 /**/ 5420 400, 5421 /**/ 5422 399, 5423 /**/ 5424 398, 5425 /**/ 5426 397, 5427 /**/ 5428 396, 5429 /**/ 5430 395, 5431 /**/ 5432 394, 5433 /**/ 5434 393, 5435 /**/ 5436 392, 5437 /**/ 5438 391, 5439 /**/ 5440 390, 5441 /**/ 5442 389, 5443 /**/ 5444 388, 5445 /**/ 5446 387, 5447 /**/ 5448 386, 5449 /**/ 5450 385, 5451 /**/ 5452 384, 5453 /**/ 5454 383, 5455 /**/ 5456 382, 5457 /**/ 5458 381, 5459 /**/ 5460 380, 5461 /**/ 5462 379, 5463 /**/ 5464 378, 5465 /**/ 5466 377, 5467 /**/ 5468 376, 5469 /**/ 5470 375, 5471 /**/ 5472 374, 5473 /**/ 5474 373, 5475 /**/ 5476 372, 5477 /**/ 5478 371, 5479 /**/ 5480 370, 5481 /**/ 5482 369, 5483 /**/ 5484 368, 5485 /**/ 5486 367, 5487 /**/ 5488 366, 5489 /**/ 5490 365, 5491 /**/ 5492 364, 5493 /**/ 5494 363, 5495 /**/ 5496 362, 5497 /**/ 5498 361, 5499 /**/ 5500 360, 5501 /**/ 5502 359, 5503 /**/ 5504 358, 5505 /**/ 5506 357, 5507 /**/ 5508 356, 5509 /**/ 5510 355, 5511 /**/ 5512 354, 5513 /**/ 5514 353, 5515 /**/ 5516 352, 5517 /**/ 5518 351, 5519 /**/ 5520 350, 5521 /**/ 5522 349, 5523 /**/ 5524 348, 5525 /**/ 5526 347, 5527 /**/ 5528 346, 5529 /**/ 5530 345, 5531 /**/ 5532 344, 5533 /**/ 5534 343, 5535 /**/ 5536 342, 5537 /**/ 5538 341, 5539 /**/ 5540 340, 5541 /**/ 5542 339, 5543 /**/ 5544 338, 5545 /**/ 5546 337, 5547 /**/ 5548 336, 5549 /**/ 5550 335, 5551 /**/ 5552 334, 5553 /**/ 5554 333, 5555 /**/ 5556 332, 5557 /**/ 5558 331, 5559 /**/ 5560 330, 5561 /**/ 5562 329, 5563 /**/ 5564 328, 5565 /**/ 5566 327, 5567 /**/ 5568 326, 5569 /**/ 5570 325, 5571 /**/ 5572 324, 5573 /**/ 5574 323, 5575 /**/ 5576 322, 5577 /**/ 5578 321, 5579 /**/ 5580 320, 5581 /**/ 5582 319, 5583 /**/ 5584 318, 5585 /**/ 5586 317, 5587 /**/ 5588 316, 5589 /**/ 5590 315, 5591 /**/ 5592 314, 5593 /**/ 5594 313, 5595 /**/ 5596 312, 5597 /**/ 5598 311, 5599 /**/ 5600 310, 5601 /**/ 5602 309, 5603 /**/ 5604 308, 5605 /**/ 5606 307, 5607 /**/ 5608 306, 5609 /**/ 5610 305, 5611 /**/ 5612 304, 5613 /**/ 5614 303, 5615 /**/ 5616 302, 5617 /**/ 5618 301, 5619 /**/ 5620 300, 5621 /**/ 5622 299, 5623 /**/ 5624 298, 5625 /**/ 5626 297, 5627 /**/ 5628 296, 5629 /**/ 5630 295, 5631 /**/ 5632 294, 5633 /**/ 5634 293, 5635 /**/ 5636 292, 5637 /**/ 5638 291, 5639 /**/ 5640 290, 5641 /**/ 5642 289, 5643 /**/ 5644 288, 5645 /**/ 5646 287, 5647 /**/ 5648 286, 5649 /**/ 5650 285, 5651 /**/ 5652 284, 5653 /**/ 5654 283, 5655 /**/ 5656 282, 5657 /**/ 5658 281, 5659 /**/ 5660 280, 5661 /**/ 5662 279, 5663 /**/ 5664 278, 5665 /**/ 5666 277, 5667 /**/ 5668 276, 5669 /**/ 5670 275, 5671 /**/ 5672 274, 5673 /**/ 5674 273, 5675 /**/ 5676 272, 5677 /**/ 5678 271, 5679 /**/ 5680 270, 5681 /**/ 5682 269, 5683 /**/ 5684 268, 5685 /**/ 5686 267, 5687 /**/ 5688 266, 5689 /**/ 5690 265, 5691 /**/ 5692 264, 5693 /**/ 5694 263, 5695 /**/ 5696 262, 5697 /**/ 5698 261, 5699 /**/ 5700 260, 5701 /**/ 5702 259, 5703 /**/ 5704 258, 5705 /**/ 5706 257, 5707 /**/ 5708 256, 5709 /**/ 5710 255, 5711 /**/ 5712 254, 5713 /**/ 5714 253, 5715 /**/ 5716 252, 5717 /**/ 5718 251, 5719 /**/ 5720 250, 5721 /**/ 5722 249, 5723 /**/ 5724 248, 5725 /**/ 5726 247, 5727 /**/ 5728 246, 5729 /**/ 5730 245, 5731 /**/ 5732 244, 5733 /**/ 5734 243, 5735 /**/ 5736 242, 5737 /**/ 5738 241, 5739 /**/ 5740 240, 5741 /**/ 5742 239, 5743 /**/ 5744 238, 5745 /**/ 5746 237, 5747 /**/ 5748 236, 5749 /**/ 5750 235, 5751 /**/ 5752 234, 5753 /**/ 5754 233, 5755 /**/ 5756 232, 5757 /**/ 5758 231, 5759 /**/ 5760 230, 5761 /**/ 5762 229, 5763 /**/ 5764 228, 5765 /**/ 5766 227, 5767 /**/ 5768 226, 5769 /**/ 5770 225, 5771 /**/ 5772 224, 5773 /**/ 5774 223, 5775 /**/ 5776 222, 5777 /**/ 5778 221, 5779 /**/ 5780 220, 5781 /**/ 5782 219, 5783 /**/ 5784 218, 5785 /**/ 5786 217, 5787 /**/ 5788 216, 5789 /**/ 5790 215, 5791 /**/ 5792 214, 5793 /**/ 5794 213, 5795 /**/ 5796 212, 5797 /**/ 5798 211, 5799 /**/ 5800 210, 5801 /**/ 5802 209, 5803 /**/ 5804 208, 5805 /**/ 5806 207, 5807 /**/ 5808 206, 5809 /**/ 5810 205, 5811 /**/ 5812 204, 5813 /**/ 5814 203, 5815 /**/ 5816 202, 5817 /**/ 5818 201, 5819 /**/ 5820 200, 5821 /**/ 5822 199, 5823 /**/ 5824 198, 5825 /**/ 5826 197, 5827 /**/ 5828 196, 5829 /**/ 5830 195, 5831 /**/ 5832 194, 5833 /**/ 5834 193, 5835 /**/ 5836 192, 5837 /**/ 5838 191, 5839 /**/ 5840 190, 5841 /**/ 5842 189, 5843 /**/ 5844 188, 5845 /**/ 5846 187, 5847 /**/ 5848 186, 5849 /**/ 5850 185, 5851 /**/ 5852 184, 5853 /**/ 5854 183, 5855 /**/ 5856 182, 5857 /**/ 5858 181, 5859 /**/ 5860 180, 5861 /**/ 5862 179, 5863 /**/ 5864 178, 5865 /**/ 5866 177, 5867 /**/ 5868 176, 5869 /**/ 5870 175, 5871 /**/ 5872 174, 5873 /**/ 5874 173, 5875 /**/ 5876 172, 5877 /**/ 5878 171, 5879 /**/ 5880 170, 5881 /**/ 5882 169, 5883 /**/ 5884 168, 5885 /**/ 5886 167, 5887 /**/ 5888 166, 5889 /**/ 5890 165, 5891 /**/ 5892 164, 5893 /**/ 5894 163, 5895 /**/ 5896 162, 5897 /**/ 5898 161, 5899 /**/ 5900 160, 5901 /**/ 5902 159, 5903 /**/ 5904 158, 5905 /**/ 5906 157, 5907 /**/ 5908 156, 5909 /**/ 5910 155, 5911 /**/ 5912 154, 5913 /**/ 5914 153, 5915 /**/ 5916 152, 5917 /**/ 5918 151, 5919 /**/ 5920 150, 5921 /**/ 5922 149, 5923 /**/ 5924 148, 5925 /**/ 5926 147, 5927 /**/ 5928 146, 5929 /**/ 5930 145, 5931 /**/ 5932 144, 5933 /**/ 5934 143, 5935 /**/ 5936 142, 5937 /**/ 5938 141, 5939 /**/ 5940 140, 5941 /**/ 5942 139, 5943 /**/ 5944 138, 5945 /**/ 5946 137, 5947 /**/ 5948 136, 5949 /**/ 5950 135, 5951 /**/ 5952 134, 5953 /**/ 5954 133, 5955 /**/ 5956 132, 5957 /**/ 5958 131, 5959 /**/ 5960 130, 5961 /**/ 5962 129, 5963 /**/ 5964 128, 5965 /**/ 5966 127, 5967 /**/ 5968 126, 5969 /**/ 5970 125, 5971 /**/ 5972 124, 5973 /**/ 5974 123, 5975 /**/ 5976 122, 5977 /**/ 5978 121, 5979 /**/ 5980 120, 5981 /**/ 5982 119, 5983 /**/ 5984 118, 5985 /**/ 5986 117, 5987 /**/ 5988 116, 5989 /**/ 5990 115, 5991 /**/ 5992 114, 5993 /**/ 5994 113, 5995 /**/ 5996 112, 5997 /**/ 5998 111, 5999 /**/ 6000 110, 6001 /**/ 6002 109, 6003 /**/ 6004 108, 6005 /**/ 6006 107, 6007 /**/ 6008 106, 6009 /**/ 6010 105, 6011 /**/ 6012 104, 6013 /**/ 6014 103, 6015 /**/ 6016 102, 6017 /**/ 6018 101, 6019 /**/ 6020 100, 6021 /**/ 6022 99, 6023 /**/ 6024 98, 6025 /**/ 6026 97, 6027 /**/ 6028 96, 6029 /**/ 6030 95, 6031 /**/ 6032 94, 6033 /**/ 6034 93, 6035 /**/ 6036 92, 6037 /**/ 6038 91, 6039 /**/ 6040 90, 6041 /**/ 6042 89, 6043 /**/ 6044 88, 6045 /**/ 6046 87, 6047 /**/ 6048 86, 6049 /**/ 6050 85, 6051 /**/ 6052 84, 6053 /**/ 6054 83, 6055 /**/ 6056 82, 6057 /**/ 6058 81, 6059 /**/ 6060 80, 6061 /**/ 6062 79, 6063 /**/ 6064 78, 6065 /**/ 6066 77, 6067 /**/ 6068 76, 6069 /**/ 6070 75, 6071 /**/ 6072 74, 6073 /**/ 6074 73, 6075 /**/ 6076 72, 6077 /**/ 6078 71, 6079 /**/ 6080 70, 6081 /**/ 6082 69, 6083 /**/ 6084 68, 6085 /**/ 6086 67, 6087 /**/ 6088 66, 6089 /**/ 6090 65, 6091 /**/ 6092 64, 6093 /**/ 6094 63, 6095 /**/ 6096 62, 6097 /**/ 6098 61, 6099 /**/ 6100 60, 6101 /**/ 6102 59, 6103 /**/ 6104 58, 6105 /**/ 6106 57, 6107 /**/ 6108 56, 6109 /**/ 6110 55, 6111 /**/ 6112 54, 6113 /**/ 6114 53, 6115 /**/ 6116 52, 6117 /**/ 6118 51, 6119 /**/ 6120 50, 6121 /**/ 6122 49, 6123 /**/ 6124 48, 6125 /**/ 6126 47, 6127 /**/ 6128 46, 6129 /**/ 6130 45, 6131 /**/ 6132 44, 6133 /**/ 6134 43, 6135 /**/ 6136 42, 6137 /**/ 6138 41, 6139 /**/ 6140 40, 6141 /**/ 6142 39, 6143 /**/ 6144 38, 6145 /**/ 6146 37, 6147 /**/ 6148 36, 6149 /**/ 6150 35, 6151 /**/ 6152 34, 6153 /**/ 6154 33, 6155 /**/ 6156 32, 6157 /**/ 6158 31, 6159 /**/ 6160 30, 6161 /**/ 6162 29, 6163 /**/ 6164 28, 6165 /**/ 6166 27, 6167 /**/ 6168 26, 6169 /**/ 6170 25, 6171 /**/ 6172 24, 6173 /**/ 6174 23, 6175 /**/ 6176 22, 6177 /**/ 6178 21, 6179 /**/ 6180 20, 6181 /**/ 6182 19, 6183 /**/ 6184 18, 6185 /**/ 6186 17, 6187 /**/ 6188 16, 6189 /**/ 6190 15, 6191 /**/ 6192 14, 6193 /**/ 6194 13, 6195 /**/ 6196 12, 6197 /**/ 6198 11, 6199 /**/ 6200 10, 6201 /**/ 6202 9, 6203 /**/ 6204 8, 6205 /**/ 6206 7, 6207 /**/ 6208 6, 6209 /**/ 6210 5, 6211 /**/ 6212 4, 6213 /**/ 6214 3, 6215 /**/ 6216 2, 6217 /**/ 6218 1, 6219 /**/ 6220 0 6221 }; 6222 6223 /* 6224 * Place to put a short description when adding a feature with a patch. 6225 * Keep it short, e.g.,: "relative numbers", "persistent undo". 6226 * Also add a comment marker to separate the lines. 6227 * See the official Vim patches for the diff format: It must use a context of 6228 * one line only. Create it by hand or use "diff -C2" and edit the patch. 6229 */ 6230 static char *(extra_patches[]) = 6231 { /* Add your patch description below this line */ 6232 /**/ 6233 NULL 6234 }; 6235 6236 int 6237 highest_patch(void) 6238 { 6239 // this relies on the highest patch number to be the first entry 6240 return included_patches[0]; 6241 } 6242 6243 #if defined(FEAT_EVAL) || defined(PROTO) 6244 /* 6245 * Return TRUE if patch "n" has been included. 6246 */ 6247 int 6248 has_patch(int n) 6249 { 6250 int h, m, l; 6251 6252 // Perform a binary search. 6253 l = 0; 6254 h = (int)(sizeof(included_patches) / sizeof(included_patches[0])) - 1; 6255 while (l < h) 6256 { 6257 m = (l + h) / 2; 6258 if (included_patches[m] == n) 6259 return TRUE; 6260 if (included_patches[m] < n) 6261 h = m; 6262 else 6263 l = m + 1; 6264 } 6265 return FALSE; 6266 } 6267 #endif 6268 6269 void 6270 ex_version(exarg_T *eap) 6271 { 6272 /* 6273 * Ignore a ":version 9.99" command. 6274 */ 6275 if (*eap->arg == NUL) 6276 { 6277 msg_putchar('\n'); 6278 list_version(); 6279 } 6280 } 6281 6282 /* 6283 * Output a string for the version message. If it's going to wrap, output a 6284 * newline, unless the message is too long to fit on the screen anyway. 6285 * When "wrap" is TRUE wrap the string in []. 6286 */ 6287 static void 6288 version_msg_wrap(char_u *s, int wrap) 6289 { 6290 int len = (int)vim_strsize(s) + (wrap ? 2 : 0); 6291 6292 if (!got_int && len < (int)Columns && msg_col + len >= (int)Columns 6293 && *s != '\n') 6294 msg_putchar('\n'); 6295 if (!got_int) 6296 { 6297 if (wrap) 6298 msg_puts("["); 6299 msg_puts((char *)s); 6300 if (wrap) 6301 msg_puts("]"); 6302 } 6303 } 6304 6305 static void 6306 version_msg(char *s) 6307 { 6308 version_msg_wrap((char_u *)s, FALSE); 6309 } 6310 6311 /* 6312 * List all features aligned in columns, dictionary style. 6313 */ 6314 static void 6315 list_features(void) 6316 { 6317 list_in_columns((char_u **)features, -1, -1); 6318 } 6319 6320 /* 6321 * List string items nicely aligned in columns. 6322 * When "size" is < 0 then the last entry is marked with NULL. 6323 * The entry with index "current" is inclosed in []. 6324 */ 6325 void 6326 list_in_columns(char_u **items, int size, int current) 6327 { 6328 int i; 6329 int ncol; 6330 int nrow; 6331 int cur_row = 1; 6332 int item_count = 0; 6333 int width = 0; 6334 #ifdef FEAT_SYN_HL 6335 int use_highlight = (items == (char_u **)features); 6336 #endif 6337 6338 // Find the length of the longest item, use that + 1 as the column 6339 // width. 6340 for (i = 0; size < 0 ? items[i] != NULL : i < size; ++i) 6341 { 6342 int l = (int)vim_strsize(items[i]) + (i == current ? 2 : 0); 6343 6344 if (l > width) 6345 width = l; 6346 ++item_count; 6347 } 6348 width += 1; 6349 6350 if (Columns < width) 6351 { 6352 // Not enough screen columns - show one per line 6353 for (i = 0; i < item_count; ++i) 6354 { 6355 version_msg_wrap(items[i], i == current); 6356 if (msg_col > 0 && i < item_count - 1) 6357 msg_putchar('\n'); 6358 } 6359 return; 6360 } 6361 6362 // The rightmost column doesn't need a separator. 6363 // Sacrifice it to fit in one more column if possible. 6364 ncol = (int) (Columns + 1) / width; 6365 nrow = item_count / ncol + (item_count % ncol ? 1 : 0); 6366 6367 // "i" counts columns then rows. "idx" counts rows then columns. 6368 for (i = 0; !got_int && i < nrow * ncol; ++i) 6369 { 6370 int idx = (i / ncol) + (i % ncol) * nrow; 6371 6372 if (idx < item_count) 6373 { 6374 int last_col = (i + 1) % ncol == 0; 6375 6376 if (idx == current) 6377 msg_putchar('['); 6378 #ifdef FEAT_SYN_HL 6379 if (use_highlight && items[idx][0] == '-') 6380 msg_puts_attr((char *)items[idx], HL_ATTR(HLF_W)); 6381 else 6382 #endif 6383 msg_puts((char *)items[idx]); 6384 if (idx == current) 6385 msg_putchar(']'); 6386 if (last_col) 6387 { 6388 if (msg_col > 0 && cur_row < nrow) 6389 msg_putchar('\n'); 6390 ++cur_row; 6391 } 6392 else 6393 { 6394 while (msg_col % width) 6395 msg_putchar(' '); 6396 } 6397 } 6398 else 6399 { 6400 // this row is out of items, thus at the end of the row 6401 if (msg_col > 0) 6402 { 6403 if (cur_row < nrow) 6404 msg_putchar('\n'); 6405 ++cur_row; 6406 } 6407 } 6408 } 6409 } 6410 6411 void 6412 list_version(void) 6413 { 6414 int i; 6415 int first; 6416 char *s = ""; 6417 6418 /* 6419 * When adding features here, don't forget to update the list of 6420 * internal variables in eval.c! 6421 */ 6422 init_longVersion(); 6423 msg(longVersion); 6424 #ifdef MSWIN 6425 # ifdef FEAT_GUI_MSWIN 6426 # ifdef VIMDLL 6427 # ifdef _WIN64 6428 msg_puts(_("\nMS-Windows 64-bit GUI/console version")); 6429 # else 6430 msg_puts(_("\nMS-Windows 32-bit GUI/console version")); 6431 # endif 6432 # else 6433 # ifdef _WIN64 6434 msg_puts(_("\nMS-Windows 64-bit GUI version")); 6435 # else 6436 msg_puts(_("\nMS-Windows 32-bit GUI version")); 6437 # endif 6438 # endif 6439 # ifdef FEAT_OLE 6440 msg_puts(_(" with OLE support")); 6441 # endif 6442 # else 6443 # ifdef _WIN64 6444 msg_puts(_("\nMS-Windows 64-bit console version")); 6445 # else 6446 msg_puts(_("\nMS-Windows 32-bit console version")); 6447 # endif 6448 # endif 6449 #endif 6450 #if defined(MACOS_X) 6451 # if defined(MACOS_X_DARWIN) 6452 msg_puts(_("\nmacOS version")); 6453 # else 6454 msg_puts(_("\nmacOS version w/o darwin feat.")); 6455 # endif 6456 # if defined(__arm64__) 6457 msg_puts(" - arm64"); 6458 # elif defined(__x86_64__) 6459 msg_puts(" - x86_64"); 6460 # endif 6461 #endif 6462 6463 #ifdef VMS 6464 msg_puts(_("\nOpenVMS version")); 6465 # ifdef HAVE_PATHDEF 6466 if (*compiled_arch != NUL) 6467 { 6468 msg_puts(" - "); 6469 msg_puts((char *)compiled_arch); 6470 } 6471 # endif 6472 6473 #endif 6474 6475 // Print the list of patch numbers if there is at least one. 6476 // Print a range when patches are consecutive: "1-10, 12, 15-40, 42-45" 6477 if (included_patches[0] != 0) 6478 { 6479 msg_puts(_("\nIncluded patches: ")); 6480 first = -1; 6481 i = (int)(sizeof(included_patches) / sizeof(included_patches[0])) - 1; 6482 while (--i >= 0) 6483 { 6484 if (first < 0) 6485 first = included_patches[i]; 6486 if (i == 0 || included_patches[i - 1] != included_patches[i] + 1) 6487 { 6488 msg_puts(s); 6489 s = ", "; 6490 msg_outnum((long)first); 6491 if (first != included_patches[i]) 6492 { 6493 msg_puts("-"); 6494 msg_outnum((long)included_patches[i]); 6495 } 6496 first = -1; 6497 } 6498 } 6499 } 6500 6501 // Print the list of extra patch descriptions if there is at least one. 6502 if (extra_patches[0] != NULL) 6503 { 6504 msg_puts(_("\nExtra patches: ")); 6505 s = ""; 6506 for (i = 0; extra_patches[i] != NULL; ++i) 6507 { 6508 msg_puts(s); 6509 s = ", "; 6510 msg_puts(extra_patches[i]); 6511 } 6512 } 6513 6514 #ifdef MODIFIED_BY 6515 msg_puts("\n"); 6516 msg_puts(_("Modified by ")); 6517 msg_puts(MODIFIED_BY); 6518 #endif 6519 6520 #ifdef HAVE_PATHDEF 6521 if (*compiled_user != NUL || *compiled_sys != NUL) 6522 { 6523 msg_puts(_("\nCompiled ")); 6524 if (*compiled_user != NUL) 6525 { 6526 msg_puts(_("by ")); 6527 msg_puts((char *)compiled_user); 6528 } 6529 if (*compiled_sys != NUL) 6530 { 6531 msg_puts("@"); 6532 msg_puts((char *)compiled_sys); 6533 } 6534 } 6535 #endif 6536 6537 #ifdef FEAT_HUGE 6538 msg_puts(_("\nHuge version ")); 6539 #else 6540 # ifdef FEAT_BIG 6541 msg_puts(_("\nBig version ")); 6542 # else 6543 # ifdef FEAT_NORMAL 6544 msg_puts(_("\nNormal version ")); 6545 # else 6546 # ifdef FEAT_SMALL 6547 msg_puts(_("\nSmall version ")); 6548 # else 6549 msg_puts(_("\nTiny version ")); 6550 # endif 6551 # endif 6552 # endif 6553 #endif 6554 #ifndef FEAT_GUI 6555 msg_puts(_("without GUI.")); 6556 #else 6557 # ifdef FEAT_GUI_GTK 6558 # ifdef USE_GTK3 6559 msg_puts(_("with GTK3 GUI.")); 6560 # else 6561 # ifdef FEAT_GUI_GNOME 6562 msg_puts(_("with GTK2-GNOME GUI.")); 6563 # else 6564 msg_puts(_("with GTK2 GUI.")); 6565 # endif 6566 # endif 6567 # else 6568 # ifdef FEAT_GUI_MOTIF 6569 msg_puts(_("with X11-Motif GUI.")); 6570 # else 6571 # ifdef FEAT_GUI_ATHENA 6572 # ifdef FEAT_GUI_NEXTAW 6573 msg_puts(_("with X11-neXtaw GUI.")); 6574 # else 6575 msg_puts(_("with X11-Athena GUI.")); 6576 # endif 6577 # else 6578 # ifdef FEAT_GUI_HAIKU 6579 msg_puts(_("with Haiku GUI.")); 6580 # else 6581 # ifdef FEAT_GUI_PHOTON 6582 msg_puts(_("with Photon GUI.")); 6583 # else 6584 # if defined(MSWIN) 6585 msg_puts(_("with GUI.")); 6586 # endif 6587 # endif 6588 # endif 6589 # endif 6590 # endif 6591 # endif 6592 #endif 6593 version_msg(_(" Features included (+) or not (-):\n")); 6594 6595 list_features(); 6596 if (msg_col > 0) 6597 msg_putchar('\n'); 6598 6599 #ifdef SYS_VIMRC_FILE 6600 version_msg(_(" system vimrc file: \"")); 6601 version_msg(SYS_VIMRC_FILE); 6602 version_msg("\"\n"); 6603 #endif 6604 #ifdef USR_VIMRC_FILE 6605 version_msg(_(" user vimrc file: \"")); 6606 version_msg(USR_VIMRC_FILE); 6607 version_msg("\"\n"); 6608 #endif 6609 #ifdef USR_VIMRC_FILE2 6610 version_msg(_(" 2nd user vimrc file: \"")); 6611 version_msg(USR_VIMRC_FILE2); 6612 version_msg("\"\n"); 6613 #endif 6614 #ifdef USR_VIMRC_FILE3 6615 version_msg(_(" 3rd user vimrc file: \"")); 6616 version_msg(USR_VIMRC_FILE3); 6617 version_msg("\"\n"); 6618 #endif 6619 #ifdef USR_EXRC_FILE 6620 version_msg(_(" user exrc file: \"")); 6621 version_msg(USR_EXRC_FILE); 6622 version_msg("\"\n"); 6623 #endif 6624 #ifdef USR_EXRC_FILE2 6625 version_msg(_(" 2nd user exrc file: \"")); 6626 version_msg(USR_EXRC_FILE2); 6627 version_msg("\"\n"); 6628 #endif 6629 #ifdef FEAT_GUI 6630 # ifdef SYS_GVIMRC_FILE 6631 version_msg(_(" system gvimrc file: \"")); 6632 version_msg(SYS_GVIMRC_FILE); 6633 version_msg("\"\n"); 6634 # endif 6635 version_msg(_(" user gvimrc file: \"")); 6636 version_msg(USR_GVIMRC_FILE); 6637 version_msg("\"\n"); 6638 # ifdef USR_GVIMRC_FILE2 6639 version_msg(_("2nd user gvimrc file: \"")); 6640 version_msg(USR_GVIMRC_FILE2); 6641 version_msg("\"\n"); 6642 # endif 6643 # ifdef USR_GVIMRC_FILE3 6644 version_msg(_("3rd user gvimrc file: \"")); 6645 version_msg(USR_GVIMRC_FILE3); 6646 version_msg("\"\n"); 6647 # endif 6648 #endif 6649 version_msg(_(" defaults file: \"")); 6650 version_msg(VIM_DEFAULTS_FILE); 6651 version_msg("\"\n"); 6652 #ifdef FEAT_GUI 6653 # ifdef SYS_MENU_FILE 6654 version_msg(_(" system menu file: \"")); 6655 version_msg(SYS_MENU_FILE); 6656 version_msg("\"\n"); 6657 # endif 6658 #endif 6659 #ifdef HAVE_PATHDEF 6660 if (*default_vim_dir != NUL) 6661 { 6662 version_msg(_(" fall-back for $VIM: \"")); 6663 version_msg((char *)default_vim_dir); 6664 version_msg("\"\n"); 6665 } 6666 if (*default_vimruntime_dir != NUL) 6667 { 6668 version_msg(_(" f-b for $VIMRUNTIME: \"")); 6669 version_msg((char *)default_vimruntime_dir); 6670 version_msg("\"\n"); 6671 } 6672 version_msg(_("Compilation: ")); 6673 version_msg((char *)all_cflags); 6674 version_msg("\n"); 6675 #ifdef VMS 6676 if (*compiler_version != NUL) 6677 { 6678 version_msg(_("Compiler: ")); 6679 version_msg((char *)compiler_version); 6680 version_msg("\n"); 6681 } 6682 #endif 6683 version_msg(_("Linking: ")); 6684 version_msg((char *)all_lflags); 6685 #endif 6686 #ifdef DEBUG 6687 version_msg("\n"); 6688 version_msg(_(" DEBUG BUILD")); 6689 #endif 6690 } 6691 6692 static void do_intro_line(int row, char_u *mesg, int add_version, int attr); 6693 static void intro_message(int colon); 6694 6695 /* 6696 * Show the intro message when not editing a file. 6697 */ 6698 void 6699 maybe_intro_message(void) 6700 { 6701 if (BUFEMPTY() 6702 && curbuf->b_fname == NULL 6703 && firstwin->w_next == NULL 6704 && vim_strchr(p_shm, SHM_INTRO) == NULL) 6705 intro_message(FALSE); 6706 } 6707 6708 /* 6709 * Give an introductory message about Vim. 6710 * Only used when starting Vim on an empty file, without a file name. 6711 * Or with the ":intro" command (for Sven :-). 6712 */ 6713 static void 6714 intro_message( 6715 int colon) // TRUE for ":intro" 6716 { 6717 int i; 6718 int row; 6719 int blanklines; 6720 int sponsor; 6721 char *p; 6722 static char *(lines[]) = 6723 { 6724 N_("VIM - Vi IMproved"), 6725 "", 6726 N_("version "), 6727 N_("by Bram Moolenaar et al."), 6728 #ifdef MODIFIED_BY 6729 " ", 6730 #endif 6731 N_("Vim is open source and freely distributable"), 6732 "", 6733 N_("Help poor children in Uganda!"), 6734 N_("type :help iccf<Enter> for information "), 6735 "", 6736 N_("type :q<Enter> to exit "), 6737 N_("type :help<Enter> or <F1> for on-line help"), 6738 N_("type :help version8<Enter> for version info"), 6739 NULL, 6740 "", 6741 N_("Running in Vi compatible mode"), 6742 N_("type :set nocp<Enter> for Vim defaults"), 6743 N_("type :help cp-default<Enter> for info on this"), 6744 }; 6745 #ifdef FEAT_GUI 6746 static char *(gui_lines[]) = 6747 { 6748 NULL, 6749 NULL, 6750 NULL, 6751 NULL, 6752 #ifdef MODIFIED_BY 6753 NULL, 6754 #endif 6755 NULL, 6756 NULL, 6757 NULL, 6758 N_("menu Help->Orphans for information "), 6759 NULL, 6760 N_("Running modeless, typed text is inserted"), 6761 N_("menu Edit->Global Settings->Toggle Insert Mode "), 6762 N_(" for two modes "), 6763 NULL, 6764 NULL, 6765 NULL, 6766 N_("menu Edit->Global Settings->Toggle Vi Compatible"), 6767 N_(" for Vim defaults "), 6768 }; 6769 #endif 6770 6771 // blanklines = screen height - # message lines 6772 blanklines = (int)Rows - ((sizeof(lines) / sizeof(char *)) - 1); 6773 if (!p_cp) 6774 blanklines += 4; // add 4 for not showing "Vi compatible" message 6775 6776 // Don't overwrite a statusline. Depends on 'cmdheight'. 6777 if (p_ls > 1) 6778 blanklines -= Rows - topframe->fr_height; 6779 if (blanklines < 0) 6780 blanklines = 0; 6781 6782 // Show the sponsor and register message one out of four times, the Uganda 6783 // message two out of four times. 6784 sponsor = (int)time(NULL); 6785 sponsor = ((sponsor & 2) == 0) - ((sponsor & 4) == 0); 6786 6787 // start displaying the message lines after half of the blank lines 6788 row = blanklines / 2; 6789 if ((row >= 2 && Columns >= 50) || colon) 6790 { 6791 for (i = 0; i < (int)(sizeof(lines) / sizeof(char *)); ++i) 6792 { 6793 p = lines[i]; 6794 #ifdef FEAT_GUI 6795 if (p_im && gui.in_use && gui_lines[i] != NULL) 6796 p = gui_lines[i]; 6797 #endif 6798 if (p == NULL) 6799 { 6800 if (!p_cp) 6801 break; 6802 continue; 6803 } 6804 if (sponsor != 0) 6805 { 6806 if (strstr(p, "children") != NULL) 6807 p = sponsor < 0 6808 ? N_("Sponsor Vim development!") 6809 : N_("Become a registered Vim user!"); 6810 else if (strstr(p, "iccf") != NULL) 6811 p = sponsor < 0 6812 ? N_("type :help sponsor<Enter> for information ") 6813 : N_("type :help register<Enter> for information "); 6814 else if (strstr(p, "Orphans") != NULL) 6815 p = N_("menu Help->Sponsor/Register for information "); 6816 } 6817 if (*p != NUL) 6818 do_intro_line(row, (char_u *)_(p), i == 2, 0); 6819 ++row; 6820 } 6821 } 6822 6823 // Make the wait-return message appear just below the text. 6824 if (colon) 6825 msg_row = row; 6826 } 6827 6828 static void 6829 do_intro_line( 6830 int row, 6831 char_u *mesg, 6832 int add_version, 6833 int attr) 6834 { 6835 char_u vers[20]; 6836 int col; 6837 char_u *p; 6838 int l; 6839 int clen; 6840 #ifdef MODIFIED_BY 6841 # define MODBY_LEN 150 6842 char_u modby[MODBY_LEN]; 6843 6844 if (*mesg == ' ') 6845 { 6846 vim_strncpy(modby, (char_u *)_("Modified by "), MODBY_LEN - 1); 6847 l = (int)STRLEN(modby); 6848 vim_strncpy(modby + l, (char_u *)MODIFIED_BY, MODBY_LEN - l - 1); 6849 mesg = modby; 6850 } 6851 #endif 6852 6853 // Center the message horizontally. 6854 col = vim_strsize(mesg); 6855 if (add_version) 6856 { 6857 STRCPY(vers, mediumVersion); 6858 if (highest_patch()) 6859 { 6860 // Check for 9.9x or 9.9xx, alpha/beta version 6861 if (isalpha((int)vers[3])) 6862 { 6863 int len = (isalpha((int)vers[4])) ? 5 : 4; 6864 sprintf((char *)vers + len, ".%d%s", highest_patch(), 6865 mediumVersion + len); 6866 } 6867 else 6868 sprintf((char *)vers + 3, ".%d", highest_patch()); 6869 } 6870 col += (int)STRLEN(vers); 6871 } 6872 col = (Columns - col) / 2; 6873 if (col < 0) 6874 col = 0; 6875 6876 // Split up in parts to highlight <> items differently. 6877 for (p = mesg; *p != NUL; p += l) 6878 { 6879 clen = 0; 6880 for (l = 0; p[l] != NUL 6881 && (l == 0 || (p[l] != '<' && p[l - 1] != '>')); ++l) 6882 { 6883 if (has_mbyte) 6884 { 6885 clen += ptr2cells(p + l); 6886 l += (*mb_ptr2len)(p + l) - 1; 6887 } 6888 else 6889 clen += byte2cells(p[l]); 6890 } 6891 screen_puts_len(p, l, row, col, *p == '<' ? HL_ATTR(HLF_8) : attr); 6892 col += clen; 6893 } 6894 6895 // Add the version number to the version line. 6896 if (add_version) 6897 screen_puts(vers, row, col, 0); 6898 } 6899 6900 /* 6901 * ":intro": clear screen, display intro screen and wait for return. 6902 */ 6903 void 6904 ex_intro(exarg_T *eap UNUSED) 6905 { 6906 screenclear(); 6907 intro_message(TRUE); 6908 wait_return(TRUE); 6909 } 6910