cddlib-0.94j/ 0000755 0001750 0001750 00000000000 13312731233 010040 5 0000000 0000000 cddlib-0.94j/examples/ 0000755 0001750 0001750 00000000000 13312731233 011656 5 0000000 0000000 cddlib-0.94j/examples/project1.ine 0000644 0001750 0001750 00000001272 13270061057 014027 0000000 0000000 * Try to project on (x1, x2, x3) by eliminating the last
* three variables using cddlib "fourier" or "projection" programs.
* The correct result is project1res.ine.
H-representation
begin
20 7 integer
1 0 0 0 1 0 0
1 0 0 0 0 1 0
1 0 0 0 0 0 1
1 0 0 0 -1 0 0
1 0 0 0 0 -1 0
1 0 0 0 0 0 -1
1 1 0 0 -1 0 0
1 0 1 0 0 -1 0
1 0 0 1 0 0 -1
1 -1 0 0 1 0 0
1 0 -1 0 0 1 0
1 0 0 -1 0 0 1
2 1 1 1 -1 -1 -1
2 -1 1 1 1 -1 -1
2 1 -1 1 -1 1 -1
2 1 1 -1 -1 -1 1
2 -1 -1 1 1 1 -1
2 1 -1 -1 -1 1 1
2 -1 1 -1 1 -1 1
2 -1 -1 -1 1 1 1
end
project 3 1 2 3
cddlib-0.94j/examples/project1res.ine 0000644 0001750 0001750 00000000357 13270061057 014544 0000000 0000000 H-representation
begin
14 4 integer
5 -1 -1 1
2 0 0 1
5 -1 1 1
5 1 -1 1
2 1 0 0
5 1 1 1
5 1 1 -1
5 1 -1 -1
2 0 1 0
5 -1 1 -1
2 0 0 -1
5 -1 -1 -1
2 0 -1 0
2 -1 0 0
end
cddlib-0.94j/examples/project2.ine 0000644 0001750 0001750 00000003502 13270061057 014026 0000000 0000000 * Projection example: project2.ine
* Project on the 3-space (x1, x2, x3) by eliminating the last
* three variables (x4,x5,x6). The result is project2res.ine .
* This appears to be a very hard example to compute by
* the straighforward Fourier or Block elimination because they
* generate so many redundant inequalities.
H-representation
begin
62 7 integer
7 0 0 0 -3 1 -2
9 0 0 0 -2 -1 -3
7 0 0 0 -2 1 -3
9 0 0 0 -3 -1 -2
3 0 0 0 -2 3 -1
1 0 0 0 -2 3 1
5 0 0 0 -3 2 -1
3 0 0 0 -3 2 1
3 0 0 0 1 -3 2
1 0 0 0 1 -2 3
5 0 0 0 -1 -3 2
3 0 0 0 -1 -2 3
-3 0 0 0 1 2 3
-3 0 0 0 1 3 2
-1 0 0 0 -1 2 3
-1 0 0 0 -1 3 2
1 0 0 0 3 1 -2
5 0 0 0 2 -1 -3
3 0 0 0 3 -1 -2
3 0 0 0 2 1 -3
-1 0 0 0 2 3 -1
-1 0 0 0 3 2 -1
-3 0 0 0 2 3 1
-3 0 0 0 3 2 1
-3 0 0 0 2 1 3
-1 0 0 0 3 -1 2
-1 0 0 0 2 -1 3
-3 0 0 0 3 1 2
3 0 0 0 2 -3 1
5 0 0 0 2 -3 -1
1 0 0 0 3 -2 1
3 0 0 0 3 -2 -1
3 0 0 0 -1 3 -2
5 0 0 0 -1 2 -3
1 0 0 0 1 3 -2
3 0 0 0 1 2 -3
9 0 0 0 -1 -2 -3
9 0 0 0 -1 -3 -2
7 0 0 0 1 -2 -3
7 0 0 0 1 -3 -2
5 0 0 0 -3 -1 2
1 0 0 0 -2 1 3
3 0 0 0 -2 -1 3
3 0 0 0 -3 1 2
7 0 0 0 -2 -3 1
9 0 0 0 -2 -3 -1
7 0 0 0 -3 -2 1
9 0 0 0 -3 -2 -1
0 1 0 0 -1 0 0
0 0 1 0 0 -1 0
0 0 0 1 0 0 -1
2 -1 0 0 1 0 0
2 0 -1 0 0 1 0
2 0 0 -1 0 0 1
-1 1 1 1 -1 -1 -1
1 -1 1 1 1 -1 -1
1 1 -1 1 -1 1 -1
1 1 1 -1 -1 -1 1
3 -1 -1 1 1 1 -1
3 1 -1 -1 -1 1 1
3 -1 1 -1 1 -1 1
5 -1 -1 -1 1 1 1
end
project 3 1 2 3
cddlib-0.94j/examples/project2res.ine 0000644 0001750 0001750 00000002443 13270061057 014543 0000000 0000000 H-representation
begin
86 4 integer
9 -2 1 -1
16 -3 1 -2
20 -3 -1 -2
12 -3 2 -1
8 -3 2 1
8 -2 -1 3
4 -2 1 3
8 -2 3 -1
4 -2 3 1
9 -1 -2 1
11 -2 -2 2
5 -1 -1 2
1 -1 1 2
3 -2 2 2
1 -1 2 1
4 0 0 -1
0 0 1 0
8 -1 -2 3
12 -1 -3 2
0 -1 2 3
0 -1 3 2
5 1 -2 1
8 1 -3 2
4 1 -2 3
1 1 -1 2
-3 1 1 2
-4 1 2 3
-4 1 3 2
-3 1 2 1
3 2 -2 2
-5 2 2 2
8 2 1 -3
12 2 -1 -3
0 2 3 -1
-4 2 3 1
1 2 -1 1
4 3 -2 1
0 3 -1 2
-3 2 1 1
-4 3 1 2
-4 3 2 1
0 1 0 0
0 3 2 -1
4 3 1 -2
1 2 1 -1
8 3 -1 -2
8 3 -2 -1
5 2 -1 -1
0 2 -1 3
-4 2 1 3
8 2 -3 1
12 2 -3 -1
3 2 2 -2
11 2 -2 -2
1 1 2 -1
4 1 3 -2
8 1 2 -3
5 1 1 -2
9 1 -1 -2
16 1 -2 -3
16 1 -3 -2
9 1 -2 -1
12 -1 2 -3
8 -1 3 -2
20 -1 -2 -3
20 -1 -3 -2
0 0 0 1
4 0 -1 0
5 -1 2 -1
11 -2 2 -2
9 -1 1 -2
13 -1 -1 -2
19 -2 -2 -2
13 -1 -2 -1
16 -2 1 -3
20 -2 -1 -3
16 -2 -3 1
20 -2 -3 -1
12 -3 -1 2
8 -3 1 2
5 -2 1 1
16 -3 -2 1
20 -3 -2 -1
9 -2 -1 1
13 -2 -1 -1
4 -1 0 0
end
cddlib-0.94j/examples/redcheck.ext 0000644 0001750 0001750 00000000134 13270061057 014071 0000000 0000000 V-representation
begin
7 3 integer
1 0 0
1 2 0
1 0 2
1 1 1
1 2 1
1 1 2
1 2 2
end
cddlib-0.94j/examples/sampleh1.ine 0000644 0001750 0001750 00000000237 13270061057 014012 0000000 0000000 * file name: sampleh1.ine
* a 3-D cone containing no vertices and a line
H-representation
begin
3 4 integer
2 -1 -1 0
0 1 0 0
0 0 1 0
end
cddlib-0.94j/examples/sampleh2.ine 0000644 0001750 0001750 00000000200 13270061057 014001 0000000 0000000 * file name: sampleh2.ine
* a hyperplane with no vertices and rays
H-representation
begin
1 4 integer
-1 0 0 1
end
cddlib-0.94j/examples/sampleh3.ine 0000644 0001750 0001750 00000000216 13270061057 014011 0000000 0000000 * file name: sampleh3.ine
* a 3-D homogeneous cone with no vertices
H-representation
begin
2 4 integer
0 1 1 0
0 0 1 0
end
cddlib-0.94j/examples/sampleh4.ine 0000644 0001750 0001750 00000000317 13270061057 014014 0000000 0000000 * File name: sampleh4.ine
* trivial inequalities: the polyhedron is the whole space.
H-representation
begin
6 4 integer
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
end
cddlib-0.94j/examples/sampleh5.ine 0000644 0001750 0001750 00000000333 13270061057 014013 0000000 0000000 * file name: sampleh5.ine
* test file for redundancy removal
H-representation
linearity 1 3
begin
8 4 integer
0 1 0 0
0 0 1 0
0 0 0 1
1 -1 -1 -1
1 -1 -1 0
1 0 -1 -1
1 -1 0 -1
2 -1 -1 -1
end
cddlib-0.94j/examples/sampleh6.ine 0000644 0001750 0001750 00000000260 13270061057 014013 0000000 0000000 * file name: sampleh6.ine
* test file for forced-equality checking
H-representation
begin
5 4 integer
0 1 0 0
0 0 1 0
0 0 0 1
1 -1 -1 -1
-1 1 1 0
end
cddlib-0.94j/examples/sampleh7.ine 0000644 0001750 0001750 00000000440 13270061057 014014 0000000 0000000 * test file for redundancy removal
* the redundant rows are
* 3 4 5 9 10
* LP type = 1 Seed = 123
H-representation
begin
10 3 integer
0 1 0
0 0 1
-10000 651 693
-10000 697 637
-10000 368 824
-10000 87 725
-10000 387 219
-10000 430 202
-10000 356 988
-10000 674 979
end
cddlib-0.94j/examples/sampleh8.ine 0000644 0001750 0001750 00000010410 13270061057 014013 0000000 0000000 * test file for redundancy removal
* the redundant rows are
* 10 11 12 14 21 23 26 32 39 40 41 44 46
* 50 51 54 56 57 59 62 63 64 69 76 77 78
* 79 83 84 85 87 88 91 94 97
* LP type = 1 Seed = 123
H-representation
begin
100 10 integer
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1
-10000 651 693 84 697 637 340 368 824 663
-10000 725 742 387 219 751 430 202 745 356
-10000 377 674 979 167 815 988 412 676 475
-10000 710 275 949 284 629 1 422 974 510
-10000 692 945 725 488 271 430 724 225 726
-10000 465 258 450 343 87 168 161 103 919
-10000 86 79 656 493 832 514 791 506 29
-10000 63 630 874 918 877 272 992 119 480
-10000 598 926 42 378 288 66 927 919 99
-10000 256 354 106 979 641 160 395 225 837
-10000 202 388 900 471 160 751 300 731 818
-10000 342 502 825 563 639 261 194 984 990
-10000 266 406 364 216 448 675 145 694 866
-10000 362 983 732 378 134 902 946 877 205
-10000 926 125 949 888 234 630 275 707 67
-10000 634 81 192 768 652 822 311 961 895
-10000 983 597 743 314 696 585 367 396 826
-10000 511 545 539 97 111 996 477 35 372
-10000 474 103 152 753 159 120 929 161 563
-10000 549 793 307 456 444 184 149 792 894
-10000 839 488 917 192 168 788 959 245 25
-10000 750 165 338 182 392 381 962 117 713
-10000 738 827 943 507 914 814 951 663 815
-10000 493 339 225 351 450 788 992 167 792
-10000 174 773 247 247 180 517 445 599 596
-10000 303 26 967 39 535 4 7 335 217
-10000 772 173 189 291 668 191 610 677 544
-10000 848 642 40 125 865 100 259 534 648
-10000 501 622 398 624 118 416 30 17 236
-10000 218 602 697 892 322 314 361 573 985
-10000 958 856 608 492 563 478 311 614 740
-10000 582 913 938 949 715 338 39 726 998
-10000 521 805 708 221 624 316 24 127 322
-10000 491 189 412 774 418 200 193 633 315
-10000 144 679 383 447 989 939 441 631 482
-10000 940 241 153 215 149 457 254 207 125
-10000 80 873 207 904 684 600 940 431 825
-10000 75 100 353 637 432 377 940 758 164
-10000 627 721 915 710 8 786 96 17 576
-10000 247 104 607 432 540 164 597 282 317
-10000 553 787 881 942 152 318 44 509 518
-10000 181 772 942 993 916 900 713 694 812
-10000 625 26 638 261 385 196 676 717 572
-10000 11 911 296 761 658 631 757 817 400
-10000 964 989 879 491 490 751 490 97 405
-10000 28 461 343 452 480 504 411 242 892
-10000 768 746 347 352 724 487 185 767 287
-10000 924 228 958 554 352 460 765 742 430
-10000 737 986 499 993 721 29 821 416 813
-10000 483 458 249 781 584 321 779 209 570
-10000 222 166 975 53 765 256 859 469 164
-10000 82 696 181 166 375 145 415 496 261
-10000 540 309 526 918 439 489 846 417 775
-10000 699 145 327 873 467 866 711 393 603
-10000 445 668 729 224 654 970 279 789 680
-10000 28 659 365 306 186 520 427 176 191
-10000 919 58 859 436 105 35 560 716 14
-10000 641 238 340 524 205 255 272 14 472
-10000 817 22 904 782 573 847 649 100 280
-10000 925 277 930 495 736 960 276 726 657
-10000 336 54 357 979 941 765 593 630 286
-10000 65 113 104 915 222 158 580 520 188
-10000 42 617 904 414 588 857 416 94 988
-10000 716 49 849 67 607 99 934 184 217
-10000 458 32 500 552 108 980 255 998 935
-10000 860 936 115 268 231 281 948 209 766
-10000 293 330 940 570 857 421 574 481 364
-10000 959 949 372 757 306 757 752 312 137
-10000 769 303 737 260 187 695 946 723 433
-10000 980 564 605 363 776 893 558 616 603
-10000 945 23 632 820 54 677 795 616 625
-10000 629 692 585 33 674 703 304 489 949
-10000 52 903 723 746 692 232 917 933 211
-10000 367 566 364 318 607 818 424 234 605
-10000 915 305 354 829 469 447 925 188 799
-10000 387 596 946 888 751 614 539 295 299
-10000 969 902 10 739 289 923 808 28 151
-10000 537 152 546 442 182 301 258 265 762
-10000 671 288 343 199 694 391 457 947 250
-10000 415 734 423 435 696 111 53 227 784
-10000 800 992 720 76 40 419 608 182 683
-10000 619 627 278 526 453 960 772 992 86
-10000 836 623 0 21 371 4 676 964 658
-10000 258 677 64 968 62 219 587 308 299
-10000 224 823 258 449 575 526 908 585 405
-10000 593 660 663 341 36 79 50 242 293
-10000 80 761 270 460 82 133 874 559 41
-10000 169 539 257 827 222 743 873 929 523
-10000 403 167 259 377 76 160 749 448 902
-10000 290 5 276 509 342 909 193 443 552
-10000 928 326 757 405 598 765 143 833 150
end
cddlib-0.94j/examples/sample.ine 0000644 0001750 0001750 00000000255 13270061057 013561 0000000 0000000 * file name: sample.ine
* 3-cube
H-representation
begin
6 4 rational
10/3 1 0 0
10/3 0 1 0
10/3 0 0 1
10/3 -1 0 0
10/3 0 -1 0
10/3 0 0 -1
end
cddlib-0.94j/examples/samplelp1.ine 0000644 0001750 0001750 00000000257 13270061057 014200 0000000 0000000 * file name: samplelp1.ine
* LP
H-representation
begin
6 4 integer
1 1 0 0
1 0 1 0
1 0 0 1
1 -1 0 0
1 0 -1 0
1 0 0 -1
end
maximize
0 1 1 1
cddlib-0.94j/examples/samplelp2.ine 0000644 0001750 0001750 00000000277 13270061057 014203 0000000 0000000 * file name: samplelp2.ine
* LP
H-representation
linearity 2 3 4
begin
4 5 rational
0 1 1 0 0
0 0 2 0 0
3 0 -1 0 0
9/2 0 0 -1 -1
end
minimize
0 2 3/5 0 0
cddlib-0.94j/examples/samplelp3.ine 0000644 0001750 0001750 00000014444 13270061057 014205 0000000 0000000 * file name: samplelp3.ine
* LP given by floating-point real numbers
H-representation
begin
120 5 real
2.618033989E+00 1 0 0 0
8.472135943E+00 2.618033984E+00 1.618033988E+00 -1 0
8.472135943E+00 2.618033984E+00 1.618033988E+00 1 0
8.472135945E+00 2.618033984E+00 1 0 1.618033990E+00
8.472135945E+00 2.618033984E+00 1 0 -1.618033990E+00
8.472135946E+00 2.618033985E+00 0 1.618033990E+00 1
8.472135946E+00 2.618033985E+00 0 1.618033990E+00 -1
8.472135946E+00 2.618033985E+00 0 -1.618033990E+00 1
8.472135946E+00 2.618033985E+00 0 -1.618033990E+00 -1
8.472135960E+00 2.618033990E+00 -1 0 1.618033991E+00
8.472135954E+00 2.618033988E+00 -1 0 -1.618033990E+00
8.472135941E+00 2.618033984E+00 -1.618033987E+00 1 0
8.472135946E+00 2.618033984E+00 -1.618033992E+00 -1 0
8.472135966E+00 1.618033989E+00 2.618033995E+00 0 1
8.472135966E+00 1.618033989E+00 2.618033995E+00 0 -1
5.236067982E+00 1 1 1 1
5.236067982E+00 1 1 1 -1
5.236067980E+00 1 1 -1 1
5.236067980E+00 1 1 -1 -1
8.472135941E+00 1.618033989E+00 1 2.618033982E+00 0
8.472135936E+00 1.618033985E+00 1 -2.618033983E+00 0
8.472135965E+00 1.618033992E+00 0 1 2.618033991E+00
8.472135965E+00 1.618033992E+00 0 1 -2.618033991E+00
8.472135967E+00 1.618033992E+00 0 -1 2.618033993E+00
8.472135967E+00 1.618033992E+00 0 -1 -2.618033993E+00
8.472135996E+00 1.618034002E+00 -1 2.618033998E+00 0
8.472135985E+00 1.618033997E+00 -1 -2.618033998E+00 0
5.236067982E+00 1 -1 1 1
5.236067987E+00 1 -1 1 -1
5.236067983E+00 1 -1 -1 1
5.236067984E+00 1 -1 -1 -1
8.472135981E+00 1.618033999E+00 -2.618033991E+00 0 1
8.472135972E+00 1.618033998E+00 -2.618033988E+00 0 -1
8.472135864E+00 1 2.618033957E+00 1.618033969E+00 0
8.472135874E+00 1 2.618033960E+00 -1.618033969E+00 0
8.472135841E+00 1 1.618033964E+00 0 2.618033948E+00
8.472135864E+00 1 1.618033970E+00 0 -2.618033956E+00
8.472135865E+00 1 0 2.618033957E+00 1.618033968E+00
8.472135880E+00 1 0 2.618033963E+00 -1.618033971E+00
8.472135921E+00 1 0 -2.618033977E+00 1.618033982E+00
8.472135936E+00 1 0 -2.618033982E+00 -1.618033984E+00
8.472135950E+00 1 -1.618033984E+00 0 2.618033987E+00
8.472135975E+00 1 -1.618033991E+00 0 -2.618033996E+00
8.472135940E+00 1 -2.618033980E+00 1.618033987E+00 0
8.472135918E+00 1 -2.618033977E+00 -1.618033979E+00 0
2.618033992E+00 0 1 0 0
8.472135970E+00 0 2.618033994E+00 1 1.618033987E+00
8.472135966E+00 0 2.618033993E+00 1 -1.618033986E+00
8.472135969E+00 0 2.618033993E+00 -1 1.618033989E+00
8.472135965E+00 0 2.618033993E+00 -1 -1.618033988E+00
8.472135978E+00 0 1.618033994E+00 2.618033994E+00 1
8.472136017E+00 0 1.618034002E+00 2.618034006E+00 -1
8.472135962E+00 0 1.618033993E+00 -2.618033988E+00 1
8.472135995E+00 0 1.618033999E+00 -2.618033998E+00 -1
8.472135946E+00 0 1 1.618033984E+00 2.618033986E+00
8.472135944E+00 0 1 1.618033985E+00 -2.618033986E+00
8.472135922E+00 0 1 -1.618033980E+00 2.618033979E+00
2.618033990E+00 0 0 0 1
8.472135919E+00 0 1 -1.618033980E+00 -2.618033979E+00
2.618033989E+00 0 0 0 -1
2.618033988E+00 0 0 1 0
2.618033987E+00 0 0 -1 0
8.472135960E+00 0 -1 1.618033993E+00 2.618033991E+00
8.472135908E+00 0 -1.618033977E+00 2.618033974E+00 1
8.472135958E+00 0 -1 1.618033994E+00 -2.618033991E+00
8.472135901E+00 0 -1.618033978E+00 2.618033974E+00 -1
8.472135954E+00 0 -1 -1.618033990E+00 2.618033990E+00
8.472135908E+00 0 -1.618033976E+00 -2.618033974E+00 1
8.472135952E+00 0 -1 -1.618033991E+00 -2.618033990E+00
8.472135907E+00 0 -1.618033978E+00 -2.618033975E+00 -1
8.472135946E+00 0 -2.618033995E+00 1 1.618033991E+00
8.472135953E+00 0 -2.618033995E+00 -1 1.618033994E+00
8.472135953E+00 0 -2.618033998E+00 1 -1.618033992E+00
8.472135955E+00 0 -2.618033996E+00 -1 -1.618033994E+00
2.618033981E+00 0 -1 0 0
8.472135799E+00 -1 2.618033936E+00 1.618033957E+00 0
8.472135806E+00 -1 2.618033939E+00 -1.618033956E+00 0
8.472135741E+00 -1 1.618033945E+00 0 2.618033918E+00
8.472135889E+00 -1.618033990E+00 2.618033960E+00 0 1
8.472135767E+00 -1 1.618033951E+00 0 -2.618033925E+00
8.472135878E+00 -1.618033996E+00 2.618033953E+00 0 -1
8.472135831E+00 -1 0 2.618033947E+00 1.618033962E+00
5.236068004E+00 -1 1 1 1
8.472135830E+00 -1 0 2.618033948E+00 -1.618033961E+00
5.236067998E+00 -1 1 1 -1
8.472135931E+00 -1 0 -2.618033980E+00 1.618033984E+00
5.236067998E+00 -1 1 -1 1
8.472135930E+00 -1 0 -2.618033980E+00 -1.618033982E+00
5.236067992E+00 -1 1 -1 -1
8.472135952E+00 -1.618033993E+00 1 2.618033986E+00 0
8.472135960E+00 -1.618033995E+00 1 -2.618033988E+00 0
8.472135973E+00 -1 -1.618033989E+00 0 2.618033995E+00
8.472135979E+00 -1.618033991E+00 0 1 2.618033997E+00
8.472135996E+00 -1 -1.618033995E+00 0 -2.618034002E+00
8.472135951E+00 -1.618033985E+00 0 1 -2.618033988E+00
8.472135999E+00 -1.618033998E+00 0 -1 2.618034003E+00
8.472135970E+00 -1.618033992E+00 0 -1 -2.618033994E+00
8.472135949E+00 -1 -2.618033984E+00 1.618033989E+00 0
8.472135976E+00 -1.618033990E+00 -1 2.618033998E+00 0
8.472135886E+00 -1 -2.618033968E+00 -1.618033973E+00 0
8.472136008E+00 -1.618034002E+00 -1 -2.618034009E+00 0
5.236068025E+00 -1 -1 1 1
5.236068045E+00 -1 -1 1 -1
5.236067992E+00 -1 -1 -1 1
5.236067996E+00 -1 -1 -1 -1
8.472135733E+00 -1.618033890E+00 -2.618033931E+00 0 1
8.472135716E+00 -1.618033884E+00 -2.618033926E+00 0 -1
8.472135892E+00 -2.618033958E+00 1.618033988E+00 1 0
8.472135949E+00 -2.618033975E+00 1.618033999E+00 -1 0
8.472135850E+00 -2.618033938E+00 1 0 1.618033982E+00
8.472135860E+00 -2.618033944E+00 1 0 -1.618033981E+00
8.472135925E+00 -2.618033969E+00 0 1.618033991E+00 1
8.472135937E+00 -2.618033972E+00 0 1.618033995E+00 -1
8.472135998E+00 -2.618034011E+00 0 -1.618033985E+00 1
8.472136011E+00 -2.618034015E+00 0 -1.618033988E+00 -1
8.472136073E+00 -2.618034037E+00 -1 0 1.618034000E+00
8.472136082E+00 -2.618034044E+00 -1 0 -1.618033997E+00
8.472135976E+00 -2.618034005E+00 -1.618033977E+00 1 0
8.472136051E+00 -2.618034034E+00 -1.618033992E+00 -1 0
2.618033989E+00 -1 0 0 0
end
maximize
0 1 2.1 3.1 4.5
cddlib-0.94j/examples/samplelp4.ine 0000644 0001750 0001750 00000014365 13270061057 014210 0000000 0000000 * file name: lpmintest.ine
H-representation
begin
120 5 real
2.618033989E+00 1 0 0 0
8.472135943E+00 2.618033984E+00 1.618033988E+00 -1 0
8.472135943E+00 2.618033984E+00 1.618033988E+00 1 0
8.472135945E+00 2.618033984E+00 1 0 1.618033990E+00
8.472135945E+00 2.618033984E+00 1 0 -1.618033990E+00
8.472135946E+00 2.618033985E+00 0 1.618033990E+00 1
8.472135946E+00 2.618033985E+00 0 1.618033990E+00 -1
8.472135946E+00 2.618033985E+00 0 -1.618033990E+00 1
8.472135946E+00 2.618033985E+00 0 -1.618033990E+00 -1
8.472135960E+00 2.618033990E+00 -1 0 1.618033991E+00
8.472135954E+00 2.618033988E+00 -1 0 -1.618033990E+00
8.472135941E+00 2.618033984E+00 -1.618033987E+00 1 0
8.472135946E+00 2.618033984E+00 -1.618033992E+00 -1 0
8.472135966E+00 1.618033989E+00 2.618033995E+00 0 1
8.472135966E+00 1.618033989E+00 2.618033995E+00 0 -1
5.236067982E+00 1 1 1 1
5.236067982E+00 1 1 1 -1
5.236067980E+00 1 1 -1 1
5.236067980E+00 1 1 -1 -1
8.472135941E+00 1.618033989E+00 1 2.618033982E+00 0
8.472135936E+00 1.618033985E+00 1 -2.618033983E+00 0
8.472135965E+00 1.618033992E+00 0 1 2.618033991E+00
8.472135965E+00 1.618033992E+00 0 1 -2.618033991E+00
8.472135967E+00 1.618033992E+00 0 -1 2.618033993E+00
8.472135967E+00 1.618033992E+00 0 -1 -2.618033993E+00
8.472135996E+00 1.618034002E+00 -1 2.618033998E+00 0
8.472135985E+00 1.618033997E+00 -1 -2.618033998E+00 0
5.236067982E+00 1 -1 1 1
5.236067987E+00 1 -1 1 -1
5.236067983E+00 1 -1 -1 1
5.236067984E+00 1 -1 -1 -1
8.472135981E+00 1.618033999E+00 -2.618033991E+00 0 1
8.472135972E+00 1.618033998E+00 -2.618033988E+00 0 -1
8.472135864E+00 1 2.618033957E+00 1.618033969E+00 0
8.472135874E+00 1 2.618033960E+00 -1.618033969E+00 0
8.472135841E+00 1 1.618033964E+00 0 2.618033948E+00
8.472135864E+00 1 1.618033970E+00 0 -2.618033956E+00
8.472135865E+00 1 0 2.618033957E+00 1.618033968E+00
8.472135880E+00 1 0 2.618033963E+00 -1.618033971E+00
8.472135921E+00 1 0 -2.618033977E+00 1.618033982E+00
8.472135936E+00 1 0 -2.618033982E+00 -1.618033984E+00
8.472135950E+00 1 -1.618033984E+00 0 2.618033987E+00
8.472135975E+00 1 -1.618033991E+00 0 -2.618033996E+00
8.472135940E+00 1 -2.618033980E+00 1.618033987E+00 0
8.472135918E+00 1 -2.618033977E+00 -1.618033979E+00 0
2.618033992E+00 0 1 0 0
8.472135970E+00 0 2.618033994E+00 1 1.618033987E+00
8.472135966E+00 0 2.618033993E+00 1 -1.618033986E+00
8.472135969E+00 0 2.618033993E+00 -1 1.618033989E+00
8.472135965E+00 0 2.618033993E+00 -1 -1.618033988E+00
8.472135978E+00 0 1.618033994E+00 2.618033994E+00 1
8.472136017E+00 0 1.618034002E+00 2.618034006E+00 -1
8.472135962E+00 0 1.618033993E+00 -2.618033988E+00 1
8.472135995E+00 0 1.618033999E+00 -2.618033998E+00 -1
8.472135946E+00 0 1 1.618033984E+00 2.618033986E+00
8.472135944E+00 0 1 1.618033985E+00 -2.618033986E+00
8.472135922E+00 0 1 -1.618033980E+00 2.618033979E+00
2.618033990E+00 0 0 0 1
8.472135919E+00 0 1 -1.618033980E+00 -2.618033979E+00
2.618033989E+00 0 0 0 -1
2.618033988E+00 0 0 1 0
2.618033987E+00 0 0 -1 0
8.472135960E+00 0 -1 1.618033993E+00 2.618033991E+00
8.472135908E+00 0 -1.618033977E+00 2.618033974E+00 1
8.472135958E+00 0 -1 1.618033994E+00 -2.618033991E+00
8.472135901E+00 0 -1.618033978E+00 2.618033974E+00 -1
8.472135954E+00 0 -1 -1.618033990E+00 2.618033990E+00
8.472135908E+00 0 -1.618033976E+00 -2.618033974E+00 1
8.472135952E+00 0 -1 -1.618033991E+00 -2.618033990E+00
8.472135907E+00 0 -1.618033978E+00 -2.618033975E+00 -1
8.472135946E+00 0 -2.618033995E+00 1 1.618033991E+00
8.472135953E+00 0 -2.618033995E+00 -1 1.618033994E+00
8.472135953E+00 0 -2.618033998E+00 1 -1.618033992E+00
8.472135955E+00 0 -2.618033996E+00 -1 -1.618033994E+00
2.618033981E+00 0 -1 0 0
8.472135799E+00 -1 2.618033936E+00 1.618033957E+00 0
8.472135806E+00 -1 2.618033939E+00 -1.618033956E+00 0
8.472135741E+00 -1 1.618033945E+00 0 2.618033918E+00
8.472135889E+00 -1.618033990E+00 2.618033960E+00 0 1
8.472135767E+00 -1 1.618033951E+00 0 -2.618033925E+00
8.472135878E+00 -1.618033996E+00 2.618033953E+00 0 -1
8.472135831E+00 -1 0 2.618033947E+00 1.618033962E+00
5.236068004E+00 -1 1 1 1
8.472135830E+00 -1 0 2.618033948E+00 -1.618033961E+00
5.236067998E+00 -1 1 1 -1
8.472135931E+00 -1 0 -2.618033980E+00 1.618033984E+00
5.236067998E+00 -1 1 -1 1
8.472135930E+00 -1 0 -2.618033980E+00 -1.618033982E+00
5.236067992E+00 -1 1 -1 -1
8.472135952E+00 -1.618033993E+00 1 2.618033986E+00 0
8.472135960E+00 -1.618033995E+00 1 -2.618033988E+00 0
8.472135973E+00 -1 -1.618033989E+00 0 2.618033995E+00
8.472135979E+00 -1.618033991E+00 0 1 2.618033997E+00
8.472135996E+00 -1 -1.618033995E+00 0 -2.618034002E+00
8.472135951E+00 -1.618033985E+00 0 1 -2.618033988E+00
8.472135999E+00 -1.618033998E+00 0 -1 2.618034003E+00
8.472135970E+00 -1.618033992E+00 0 -1 -2.618033994E+00
8.472135949E+00 -1 -2.618033984E+00 1.618033989E+00 0
8.472135976E+00 -1.618033990E+00 -1 2.618033998E+00 0
8.472135886E+00 -1 -2.618033968E+00 -1.618033973E+00 0
8.472136008E+00 -1.618034002E+00 -1 -2.618034009E+00 0
5.236068025E+00 -1 -1 1 1
5.236068045E+00 -1 -1 1 -1
5.236067992E+00 -1 -1 -1 1
5.236067996E+00 -1 -1 -1 -1
8.472135733E+00 -1.618033890E+00 -2.618033931E+00 0 1
8.472135716E+00 -1.618033884E+00 -2.618033926E+00 0 -1
8.472135892E+00 -2.618033958E+00 1.618033988E+00 1 0
8.472135949E+00 -2.618033975E+00 1.618033999E+00 -1 0
8.472135850E+00 -2.618033938E+00 1 0 1.618033982E+00
8.472135860E+00 -2.618033944E+00 1 0 -1.618033981E+00
8.472135925E+00 -2.618033969E+00 0 1.618033991E+00 1
8.472135937E+00 -2.618033972E+00 0 1.618033995E+00 -1
8.472135998E+00 -2.618034011E+00 0 -1.618033985E+00 1
8.472136011E+00 -2.618034015E+00 0 -1.618033988E+00 -1
8.472136073E+00 -2.618034037E+00 -1 0 1.618034000E+00
8.472136082E+00 -2.618034044E+00 -1 0 -1.618033997E+00
8.472135976E+00 -2.618034005E+00 -1.618033977E+00 1 0
8.472136051E+00 -2.618034034E+00 -1.618033992E+00 -1 0
2.618033989E+00 -1 0 0 0
end
minimize
0 1 1 1 1
cddlib-0.94j/examples/samplelp_big_dualinfeas.ine 0000644 0001750 0001750 00001507535 13270061057 017147 0000000 0000000 Dual Inconsistent LP
H-representation
begin
9991 10 integer
-10000 651 693 84 697 637 340 368 824 663
-10000 725 742 387 219 751 430 202 745 356
-10000 377 674 979 167 815 988 412 676 475
-10000 710 275 949 284 629 1 422 974 510
-10000 692 945 725 488 271 430 724 225 726
-10000 465 258 450 343 87 168 161 103 919
-10000 86 79 656 493 832 514 791 506 29
-10000 63 630 874 918 877 272 992 119 480
-10000 598 926 42 378 288 66 927 919 99
-10000 256 354 106 979 641 160 395 225 837
-10000 202 388 900 471 160 751 300 731 818
-10000 342 502 825 563 639 261 194 984 990
-10000 266 406 364 216 448 675 145 694 866
-10000 362 983 732 378 134 902 946 877 205
-10000 926 125 949 888 234 630 275 707 67
-10000 634 81 192 768 652 822 311 961 895
-10000 983 597 743 314 696 585 367 396 826
-10000 511 545 539 97 111 996 477 35 372
-10000 474 103 152 753 159 120 929 161 563
-10000 549 793 307 456 444 184 149 792 894
-10000 839 488 917 192 168 788 959 245 25
-10000 750 165 338 182 392 381 962 117 713
-10000 738 827 943 507 914 814 951 663 815
-10000 493 339 225 351 450 788 992 167 792
-10000 174 773 247 247 180 517 445 599 596
-10000 303 26 967 39 535 4 7 335 217
-10000 772 173 189 291 668 191 610 677 544
-10000 848 642 40 125 865 100 259 534 648
-10000 501 622 398 624 118 416 30 17 236
-10000 218 602 697 892 322 314 361 573 985
-10000 958 856 608 492 563 478 311 614 740
-10000 582 913 938 949 715 338 39 726 998
-10000 521 805 708 221 624 316 24 127 322
-10000 491 189 412 774 418 200 193 633 315
-10000 144 679 383 447 989 939 441 631 482
-10000 940 241 153 215 149 457 254 207 125
-10000 80 873 207 904 684 600 940 431 825
-10000 75 100 353 637 432 377 940 758 164
-10000 627 721 915 710 8 786 96 17 576
-10000 247 104 607 432 540 164 597 282 317
-10000 553 787 881 942 152 318 44 509 518
-10000 181 772 942 993 916 900 713 694 812
-10000 625 26 638 261 385 196 676 717 572
-10000 11 911 296 761 658 631 757 817 400
-10000 964 989 879 491 490 751 490 97 405
-10000 28 461 343 452 480 504 411 242 892
-10000 768 746 347 352 724 487 185 767 287
-10000 924 228 958 554 352 460 765 742 430
-10000 737 986 499 993 721 29 821 416 813
-10000 483 458 249 781 584 321 779 209 570
-10000 222 166 975 53 765 256 859 469 164
-10000 82 696 181 166 375 145 415 496 261
-10000 540 309 526 918 439 489 846 417 775
-10000 699 145 327 873 467 866 711 393 603
-10000 445 668 729 224 654 970 279 789 680
-10000 28 659 365 306 186 520 427 176 191
-10000 919 58 859 436 105 35 560 716 14
-10000 641 238 340 524 205 255 272 14 472
-10000 817 22 904 782 573 847 649 100 280
-10000 925 277 930 495 736 960 276 726 657
-10000 336 54 357 979 941 765 593 630 286
-10000 65 113 104 915 222 158 580 520 188
-10000 42 617 904 414 588 857 416 94 988
-10000 716 49 849 67 607 99 934 184 217
-10000 458 32 500 552 108 980 255 998 935
-10000 860 936 115 268 231 281 948 209 766
-10000 293 330 940 570 857 421 574 481 364
-10000 959 949 372 757 306 757 752 312 137
-10000 769 303 737 260 187 695 946 723 433
-10000 980 564 605 363 776 893 558 616 603
-10000 945 23 632 820 54 677 795 616 625
-10000 629 692 585 33 674 703 304 489 949
-10000 52 903 723 746 692 232 917 933 211
-10000 367 566 364 318 607 818 424 234 605
-10000 915 305 354 829 469 447 925 188 799
-10000 387 596 946 888 751 614 539 295 299
-10000 969 902 10 739 289 923 808 28 151
-10000 537 152 546 442 182 301 258 265 762
-10000 671 288 343 199 694 391 457 947 250
-10000 415 734 423 435 696 111 53 227 784
-10000 800 992 720 76 40 419 608 182 683
-10000 619 627 278 526 453 960 772 992 86
-10000 836 623 0 21 371 4 676 964 658
-10000 258 677 64 968 62 219 587 308 299
-10000 224 823 258 449 575 526 908 585 405
-10000 593 660 663 341 36 79 50 242 293
-10000 80 761 270 460 82 133 874 559 41
-10000 169 539 257 827 222 743 873 929 523
-10000 403 167 259 377 76 160 749 448 902
-10000 290 5 276 509 342 909 193 443 552
-10000 928 326 757 405 598 765 143 833 150
-10000 980 57 636 651 219 232 88 486 918
-10000 497 765 499 464 558 377 2 973 249
-10000 515 282 55 576 464 532 575 180 363
-10000 364 958 202 876 867 738 626 474 998
-10000 568 905 231 136 80 320 525 113 263
-10000 544 823 341 402 593 289 248 928 649
-10000 933 338 757 771 671 811 610 138 31
-10000 460 185 660 628 321 350 46 944 444
-10000 71 824 884 313 938 572 685 825 382
-10000 793 750 63 112 309 360 490 435 964
-10000 78 228 800 657 708 3 806 551 738
-10000 940 612 1000 136 897 98 301 169 453
-10000 622 731 111 813 606 90 909 272 319
-10000 86 544 118 257 317 831 90 817 236
-10000 585 919 232 848 794 806 343 335 829
-10000 377 606 349 399 913 171 571 616 800
-10000 682 428 30 101 974 945 600 399 502
-10000 296 793 418 28 591 660 445 26 496
-10000 387 389 533 927 500 96 946 191 298
-10000 585 201 36 877 289 768 485 248 593
-10000 811 70 801 255 538 112 190 464 880
-10000 140 329 863 237 44 600 946 766 472
-10000 288 987 463 359 777 245 559 75 584
-10000 599 918 820 636 458 477 884 249 324
-10000 268 669 503 151 851 965 12 962 421
-10000 886 810 370 680 300 192 160 41 978
-10000 911 866 827 610 267 579 728 735 865
-10000 812 307 646 415 323 865 727 419 825
-10000 907 515 473 962 463 617 10 295 380
-10000 195 257 576 495 533 872 756 930 963
-10000 600 87 210 845 983 743 853 67 647
-10000 917 353 7 655 892 882 266 922 414
-10000 183 740 375 18 710 301 952 62 442
-10000 266 287 679 727 674 681 493 782 785
-10000 405 399 10 102 193 816 763 67 188
-10000 379 904 872 592 812 505 532 332 293
-10000 799 767 946 648 329 915 94 208 947
-10000 325 157 957 330 115 669 488 876 388
-10000 347 600 60 885 372 10 932 71 662
-10000 126 27 782 868 129 796 249 129 961
-10000 47 758 192 754 275 38 979 817 851
-10000 343 571 331 621 971 777 476 748 674
-10000 809 899 306 498 353 605 388 830 537
-10000 738 956 364 819 546 568 806 391 634
-10000 485 24 645 86 748 685 599 771 910
-10000 180 446 81 859 355 361 268 563 185
-10000 690 786 940 318 90 910 439 711 321
-10000 402 465 459 973 442 263 985 935 412
-10000 263 51 654 405 989 273 463 954 598
-10000 426 464 295 965 676 968 904 405 986
-10000 685 420 652 710 156 848 86 802 138
-10000 544 708 753 677 881 507 438 209 797
-10000 968 104 528 84 650 955 414 654 177
-10000 883 177 230 921 38 263 134 11 371
-10000 706 7 105 771 148 739 88 619 428
-10000 500 411 938 101 40 321 140 14 599
-10000 769 211 579 855 310 475 194 796 195
-10000 292 516 654 968 875 866 394 544 637
-10000 356 145 384 307 242 837 335 95 863
-10000 342 354 470 826 726 878 987 660 800
-10000 767 658 978 534 588 387 297 231 130
-10000 88 21 710 369 618 685 551 520 677
-10000 73 398 733 465 628 452 106 179 482
-10000 131 908 760 799 67 598 274 260 796
-10000 481 617 828 798 996 323 657 858 158
-10000 701 692 978 258 527 187 524 639 326
-10000 348 290 514 805 91 926 644 230 188
-10000 79 946 505 743 681 936 190 474 934
-10000 843 150 316 559 631 261 458 868 685
-10000 193 793 226 49 488 768 853 955 301
-10000 205 459 596 58 816 18 367 744 981
-10000 238 33 698 381 183 602 418 65 236
-10000 811 797 577 102 538 447 403 444 379
-10000 837 971 600 411 389 971 962 376 357
-10000 452 154 338 712 682 676 785 945 194
-10000 310 679 608 871 620 687 724 220 134
-10000 632 150 799 565 737 689 170 207 45
-10000 14 189 90 397 287 917 307 108 806
-10000 143 730 654 241 266 401 526 921 4
-10000 605 264 55 155 939 701 690 305 628
-10000 415 26 454 957 161 334 187 629 402
-10000 63 253 610 926 670 625 601 943 11
-10000 310 649 405 751 100 358 139 32 3
-10000 808 256 663 357 994 725 640 522 117
-10000 969 618 817 528 267 975 47 534 291
-10000 996 941 661 798 722 636 701 991 106
-10000 241 5 42 477 245 775 773 625 591
-10000 443 238 944 397 908 720 259 554 763
-10000 332 237 839 679 166 929 480 234 416
-10000 748 413 366 515 22 530 625 75 63
-10000 789 656 197 145 128 99 620 704 58
-10000 530 794 202 273 724 41 956 798 201
-10000 360 503 723 593 121 214 415 298 367
-10000 650 928 97 805 461 199 950 43 679
-10000 989 697 970 220 5 815 346 916 628
-10000 765 568 582 330 894 230 650 206 865
-10000 734 446 138 485 471 991 531 119 78
-10000 393 203 321 395 750 634 400 280 223
-10000 802 246 336 600 995 171 254 492 113
-10000 993 419 160 353 267 413 573 479 823
-10000 670 105 823 362 489 965 826 96 289
-10000 695 401 876 118 749 9 446 122 1
-10000 454 428 778 515 327 127 287 45 156
-10000 277 677 575 415 230 219 324 243 510
-10000 821 212 232 919 958 314 193 398 339
-10000 774 927 394 573 176 432 850 810 271
-10000 64 420 574 969 819 40 320 543 988
-10000 712 942 387 70 129 211 245 990 147
-10000 321 292 31 875 675 150 121 721 898
-10000 424 509 850 565 59 54 290 545 690
-10000 491 16 78 354 936 326 573 679 26
-10000 65 159 284 948 748 688 747 282 904
-10000 505 688 153 449 464 397 677 560 885
-10000 998 272 175 516 854 256 658 643 811
-10000 608 944 450 473 55 276 718 665 912
-10000 410 450 712 520 618 1 640 653 36
-10000 671 858 795 275 471 974 949 997 991
-10000 984 488 767 4 400 719 946 238 559
-10000 419 380 266 969 41 533 560 251 819
-10000 797 69 963 37 455 940 899 937 942
-10000 925 286 674 70 609 419 62 546 962
-10000 20 747 680 680 313 563 953 703 473
-10000 532 399 212 682 8 769 794 165 378
-10000 78 363 76 494 977 380 91 433 490
-10000 904 741 364 962 123 33 511 141 148
-10000 673 669 20 381 205 311 231 169 519
-10000 539 517 201 354 927 525 499 568 119
-10000 474 448 888 207 674 179 960 963 345
-10000 577 520 368 590 615 460 365 560 59
-10000 90 892 791 939 581 913 510 597 600
-10000 759 403 402 489 894 159 165 211 107
-10000 39 505 741 603 829 405 426 772 949
-10000 95 75 480 14 943 784 704 364 797
-10000 221 48 785 941 710 663 837 873 948
-10000 576 865 485 12 387 404 217 92 584
-10000 189 134 496 752 863 182 513 619 414
-10000 1 360 747 226 62 550 119 906 186
-10000 190 643 774 732 479 187 198 454 829
-10000 618 966 298 93 43 58 855 427 801
-10000 604 678 584 422 1 814 476 948 330
-10000 967 718 957 487 509 582 247 534 721
-10000 780 366 528 829 153 177 74 429 204
-10000 814 828 71 549 868 266 394 855 380
-10000 709 222 827 265 441 583 680 717 922
-10000 126 596 700 40 643 887 610 727 170
-10000 243 168 340 114 663 21 802 665 775
-10000 839 708 980 836 280 24 971 945 274
-10000 301 47 70 613 970 382 762 675 881
-10000 777 916 674 551 497 979 511 398 199
-10000 125 844 5 832 153 739 85 135 74
-10000 609 447 233 891 524 729 553 191 703
-10000 465 39 655 692 782 163 562 386 416
-10000 809 291 321 702 744 815 218 845 936
-10000 724 608 161 45 161 258 703 409 856
-10000 755 603 220 9 49 91 985 479 832
-10000 155 574 242 379 298 763 697 82 210
-10000 388 287 783 999 428 625 887 942 687
-10000 105 403 535 523 600 620 211 412 141
-10000 693 999 554 26 428 361 576 273 527
-10000 71 197 936 543 176 71 996 196 497
-10000 801 596 352 228 131 114 796 427 184
-10000 4 982 932 606 343 380 468 325 115
-10000 367 432 482 699 315 580 413 902 230
-10000 438 920 614 517 468 915 341 622 596
-10000 709 110 768 699 424 943 993 295 399
-10000 700 407 369 384 719 532 128 473 753
-10000 137 662 132 845 631 832 838 84 51
-10000 456 189 318 257 828 561 65 64 878
-10000 813 512 935 275 775 361 416 658 602
-10000 658 168 573 358 670 417 911 489 668
-10000 859 215 499 376 862 244 332 935 912
-10000 732 47 545 84 628 941 916 498 185
-10000 827 540 32 267 31 722 427 405 66
-10000 607 806 139 261 825 533 52 853 322
-10000 37 500 336 873 677 267 649 472 523
-10000 305 609 829 108 674 900 859 854 138
-10000 957 85 196 43 289 72 891 335 539
-10000 280 124 918 15 378 855 534 322 450
-10000 728 500 341 953 879 251 821 653 38
-10000 515 962 374 238 729 828 174 54 751
-10000 524 38 201 115 426 791 903 631 687
-10000 926 877 370 415 216 697 111 217 844
-10000 335 296 626 805 977 232 700 222 680
-10000 817 819 455 184 593 658 908 662 932
-10000 260 101 482 639 761 829 521 89 597
-10000 6 313 603 589 446 684 46 261 737
-10000 471 579 858 376 24 850 404 941 726
-10000 154 163 624 975 348 594 920 656 132
-10000 650 833 14 908 95 924 689 34 40
-10000 670 133 613 190 549 951 479 441 406
-10000 644 985 618 552 392 327 194 943 576
-10000 285 930 830 986 395 307 85 181 44
-10000 731 276 80 290 189 801 614 814 0
-10000 263 543 515 818 275 619 734 356 894
-10000 239 88 811 540 560 659 498 612 6
-10000 800 773 373 656 443 790 755 144 443
-10000 325 34 701 682 592 510 818 359 443
-10000 832 924 128 853 278 886 890 727 876
-10000 621 177 289 770 229 477 674 828 263
-10000 714 399 744 404 27 580 908 226 533
-10000 488 404 145 709 933 348 544 191 422
-10000 832 636 161 77 825 767 44 249 201
-10000 378 129 771 642 172 887 613 868 514
-10000 66 675 772 371 865 884 980 509 751
-10000 315 97 563 67 880 82 385 938 189
-10000 586 98 853 329 936 214 81 443 410
-10000 863 525 731 217 132 220 461 400 758
-10000 89 701 972 83 708 997 117 163 236
-10000 279 336 901 306 840 69 888 985 115
-10000 123 407 876 598 435 916 582 83 919
-10000 465 724 347 92 729 69 417 726 997
-10000 311 951 103 534 40 383 892 174 283
-10000 925 318 660 503 184 437 827 432 758
-10000 353 992 318 736 49 129 479 555 974
-10000 968 934 901 356 457 378 723 728 31
-10000 756 542 333 875 368 296 439 678 459
-10000 852 30 83 554 385 400 628 394 669
-10000 482 263 642 894 582 443 619 552 487
-10000 230 174 916 494 410 290 800 239 761
-10000 934 714 991 552 560 743 372 360 872
-10000 680 603 941 47 960 90 290 291 493
-10000 4 327 310 427 40 664 850 771 638
-10000 670 615 829 710 475 892 365 403 456
-10000 237 223 448 648 408 203 641 895 557
-10000 848 699 459 582 803 831 456 277 520
-10000 78 110 86 982 390 676 922 426 594
-10000 523 43 849 930 154 86 837 165 806
-10000 962 781 767 664 547 343 949 919 704
-10000 224 827 449 146 330 400 460 180 120
-10000 163 199 168 905 426 838 224 592 930
-10000 974 614 370 10 127 323 406 212 78
-10000 63 166 10 439 209 309 430 596 619
-10000 487 237 503 777 148 647 738 507 328
-10000 974 785 754 289 6 798 503 605 687
-10000 613 442 792 251 171 881 712 183 886
-10000 43 720 992 751 794 399 548 694 839
-10000 691 503 6 753 465 712 381 580 951
-10000 552 980 372 415 742 398 864 602 751
-10000 906 549 268 940 158 242 800 43 232
-10000 141 725 782 190 889 387 206 581 672
-10000 462 63 606 832 886 457 505 190 870
-10000 943 199 98 85 805 829 757 953 36
-10000 776 557 35 59 315 818 683 254 95
-10000 414 618 584 412 966 319 463 191 960
-10000 526 692 416 784 782 28 141 3 491
-10000 222 57 843 620 197 418 250 994 584
-10000 721 759 740 416 178 346 260 175 814
-10000 961 570 724 587 122 655 434 813 434
-10000 930 547 517 203 497 862 351 27 100
-10000 609 394 380 627 829 294 901 729 251
-10000 666 81 30 301 289 815 454 290 863
-10000 506 892 266 157 283 233 893 796 818
-10000 314 288 597 241 80 60 457 357 722
-10000 522 368 599 884 359 895 603 380 6
-10000 655 423 848 815 559 58 325 947 583
-10000 656 192 895 488 209 851 609 539 759
-10000 477 466 478 303 140 742 113 220 290
-10000 888 444 417 518 856 62 110 116 340
-10000 521 123 140 869 89 88 930 921 152
-10000 225 124 317 101 347 423 979 369 437
-10000 221 692 957 740 226 372 45 919 468
-10000 777 371 369 253 284 347 701 562 63
-10000 297 329 254 15 186 127 870 664 821
-10000 522 739 130 764 966 283 559 510 148
-10000 114 438 286 193 260 238 77 832 466
-10000 739 438 29 1000 982 465 344 581 918
-10000 154 423 776 339 758 515 108 374 911
-10000 944 116 706 537 652 159 36 992 487
-10000 677 715 596 795 425 122 139 555 295
-10000 185 29 176 676 725 558 637 886 401
-10000 557 63 497 622 524 844 169 581 249
-10000 767 992 870 655 407 430 269 577 127
-10000 408 137 880 87 864 660 111 933 927
-10000 62 458 173 928 232 63 95 398 576
-10000 230 93 218 122 826 919 457 555 127
-10000 393 722 987 10 339 371 522 488 726
-10000 721 561 753 873 215 282 550 392 501
-10000 812 98 711 668 120 99 881 294 782
-10000 965 87 290 940 198 542 415 258 308
-10000 335 37 287 681 645 607 777 361 137
-10000 686 965 639 569 512 462 729 794 305
-10000 0 487 765 682 220 841 527 394 400
-10000 327 838 684 820 209 360 734 783 112
-10000 420 279 911 682 952 625 784 98 276
-10000 925 805 865 538 983 614 181 103 630
-10000 170 724 535 985 493 933 554 474 837
-10000 877 478 730 336 991 987 156 19 837
-10000 663 486 118 1000 567 185 472 853 600
-10000 99 335 973 189 216 226 222 581 704
-10000 593 78 743 454 65 897 915 163 792
-10000 691 929 146 584 892 45 503 81 106
-10000 428 139 773 994 637 32 436 766 857
-10000 906 299 774 574 164 340 164 198 678
-10000 909 421 766 147 581 838 423 214 200
-10000 229 216 46 388 351 492 435 72 659
-10000 500 519 341 315 353 262 685 460 980
-10000 759 207 690 137 881 949 178 166 207
-10000 699 955 894 989 742 640 471 357 461
-10000 749 497 162 886 747 995 437 87 867
-10000 202 334 261 579 831 611 945 735 818
-10000 913 536 861 129 862 52 229 311 394
-10000 702 364 970 804 521 561 413 767 954
-10000 52 95 430 621 534 141 849 417 266
-10000 355 418 452 858 680 639 56 86 750
-10000 866 893 515 457 675 638 921 727 256
-10000 963 676 985 348 689 935 480 734 393
-10000 554 201 934 395 54 20 973 338 39
-10000 973 175 566 241 842 810 618 531 63
-10000 56 863 727 459 805 309 911 490 557
-10000 626 674 606 396 53 174 742 302 67
-10000 533 700 854 488 110 765 755 444 261
-10000 248 925 148 290 641 419 745 702 695
-10000 467 132 531 788 930 605 573 271 852
-10000 115 478 588 726 326 150 669 996 149
-10000 538 755 822 678 182 18 922 322 746
-10000 999 924 538 552 915 942 503 940 947
-10000 276 843 89 451 726 376 991 866 656
-10000 362 397 400 309 36 984 983 31 298
-10000 148 74 756 899 271 609 405 914 943
-10000 296 528 152 450 94 608 487 38 424
-10000 350 909 313 892 890 131 574 381 308
-10000 942 774 454 972 878 1000 103 768 72
-10000 25 285 101 386 171 493 748 6 502
-10000 872 6 346 520 984 329 138 223 21
-10000 783 473 225 987 422 373 943 489 406
-10000 570 105 238 610 438 959 960 733 489
-10000 872 633 936 196 102 865 938 554 988
-10000 324 64 345 495 655 471 43 402 816
-10000 725 662 302 323 157 68 120 738 7
-10000 890 538 335 191 815 658 632 339 801
-10000 368 624 94 716 108 298 248 125 257
-10000 410 688 540 500 877 355 688 863 559
-10000 431 925 33 538 412 324 375 762 883
-10000 91 183 611 336 231 500 430 111 465
-10000 473 446 616 519 958 336 652 421 586
-10000 832 5 520 334 517 372 402 580 531
-10000 357 509 770 408 446 125 992 863 293
-10000 658 810 500 106 610 912 567 809 880
-10000 627 284 994 146 880 927 378 921 624
-10000 102 427 183 552 999 370 384 703 919
-10000 545 999 931 458 857 136 236 34 583
-10000 634 808 295 405 457 179 980 398 167
-10000 486 221 267 397 973 110 763 426 645
-10000 604 747 587 465 590 274 842 58 697
-10000 465 674 430 771 856 468 922 264 844
-10000 257 148 797 342 561 517 962 445 799
-10000 157 680 235 588 446 36 765 288 153
-10000 480 26 227 969 296 52 663 765 444
-10000 431 938 843 649 454 437 806 134 322
-10000 736 546 631 282 358 27 13 877 25
-10000 509 591 742 972 128 465 773 75 781
-10000 58 277 946 643 941 435 756 764 491
-10000 400 324 335 765 174 769 805 869 115
-10000 836 64 787 26 305 799 982 356 842
-10000 673 484 85 192 836 812 390 519 399
-10000 83 371 476 15 871 626 296 321 455
-10000 132 573 791 780 193 695 971 415 535
-10000 378 716 202 199 584 133 724 385 853
-10000 171 782 26 734 766 848 57 999 595
-10000 476 468 1000 931 928 289 716 899 515
-10000 91 2 318 310 703 734 829 237 238
-10000 812 857 569 388 812 700 349 326 814
-10000 68 228 321 500 277 631 486 826 741
-10000 73 647 889 459 181 529 837 708 523
-10000 491 994 263 266 869 676 837 355 241
-10000 189 913 734 585 182 242 390 392 218
-10000 54 762 67 363 28 164 238 927 356
-10000 276 600 910 155 335 834 366 683 928
-10000 11 702 747 253 769 392 848 165 698
-10000 628 352 533 426 586 929 238 246 963
-10000 484 901 746 490 95 905 287 703 137
-10000 126 390 784 235 180 633 60 851 463
-10000 424 906 421 940 762 565 75 537 729
-10000 650 369 81 521 876 806 585 117 272
-10000 658 742 523 157 998 378 316 362 515
-10000 771 794 418 649 817 129 416 571 269
-10000 717 748 37 345 170 836 587 732 850
-10000 504 744 493 889 184 318 886 571 874
-10000 509 996 251 107 703 506 475 906 261
-10000 878 325 283 48 756 362 792 555 539
-10000 535 160 470 335 918 803 845 936 377
-10000 704 864 128 173 672 199 307 59 879
-10000 772 942 278 870 373 488 186 487 76
-10000 607 848 602 226 28 758 606 922 215
-10000 194 184 409 79 239 366 396 827 53
-10000 713 20 512 801 206 186 938 510 914
-10000 245 351 404 3 495 918 621 978 322
-10000 675 104 375 731 866 461 36 174 907
-10000 389 733 795 911 446 64 374 446 411
-10000 344 79 538 9 140 631 665 975 440
-10000 921 20 889 378 822 889 10 832 876
-10000 211 287 387 333 73 942 628 215 90
-10000 163 966 16 122 355 926 73 511 45
-10000 572 424 655 204 880 792 61 724 984
-10000 441 890 747 63 914 972 701 300 821
-10000 402 526 499 770 291 424 426 900 57
-10000 887 391 854 95 798 310 28 4 796
-10000 747 513 888 87 856 571 841 856 580
-10000 568 915 643 355 897 517 732 183 570
-10000 304 273 612 857 325 1 783 485 622
-10000 661 341 394 221 79 553 238 305 905
-10000 888 951 432 66 433 145 150 515 343
-10000 696 764 693 75 270 448 849 311 372
-10000 304 823 228 358 842 23 590 977 953
-10000 396 676 481 128 756 622 131 425 228
-10000 643 763 803 725 79 971 775 221 418
-10000 799 577 77 795 243 593 899 255 463
-10000 963 891 231 582 491 787 281 773 2
-10000 724 978 280 112 909 886 607 97 974
-10000 540 45 314 187 230 538 767 285 435
-10000 452 859 661 19 500 674 490 244 150
-10000 359 712 94 302 727 49 812 446 466
-10000 269 356 853 869 951 563 719 760 33
-10000 524 508 19 788 346 479 918 714 182
-10000 905 886 491 372 423 217 347 595 710
-10000 134 508 1000 623 507 512 449 179 166
-10000 904 937 370 571 408 926 985 122 444
-10000 475 867 866 941 975 829 276 585 257
-10000 200 868 757 356 366 811 476 586 641
-10000 793 232 101 310 71 147 951 362 900
-10000 213 312 97 562 684 86 434 206 226
-10000 705 798 971 909 145 255 506 769 865
-10000 66 552 246 113 596 280 787 324 308
-10000 702 615 675 640 530 188 170 224 90
-10000 710 442 211 629 727 89 399 941 801
-10000 981 289 737 110 391 734 982 712 878
-10000 613 32 49 696 142 835 837 196 155
-10000 212 414 718 591 979 487 336 771 665
-10000 496 921 883 271 372 585 139 778 26
-10000 218 29 86 846 507 43 484 213 523
-10000 869 861 355 542 486 511 792 215 304
-10000 686 872 153 128 523 770 712 612 70
-10000 744 71 434 244 279 878 687 107 884
-10000 917 407 320 251 742 877 185 309 258
-10000 988 122 873 636 818 515 986 527 966
-10000 50 328 462 594 734 122 212 928 869
-10000 8 866 167 94 229 108 882 210 541
-10000 737 167 381 152 994 294 159 865 486
-10000 743 507 613 800 303 5 77 263 616
-10000 238 398 842 398 628 894 405 733 22
-10000 523 903 169 209 951 21 794 630 784
-10000 753 680 52 667 959 244 395 35 628
-10000 0 962 410 501 540 632 712 529 366
-10000 318 543 656 847 249 519 871 109 996
-10000 780 286 26 763 613 653 265 323 730
-10000 299 792 896 14 595 72 886 199 106
-10000 411 647 280 484 399 586 182 381 406
-10000 989 372 242 171 990 789 923 811 378
-10000 163 493 589 510 921 604 671 158 525
-10000 870 673 238 628 778 308 767 853 997
-10000 531 479 449 632 750 717 837 703 189
-10000 119 555 868 624 436 843 785 690 803
-10000 730 135 333 381 565 139 586 546 17
-10000 542 317 690 920 101 275 506 952 585
-10000 401 114 979 317 569 780 912 521 907
-10000 894 318 255 943 199 564 269 882 218
-10000 655 859 872 234 966 587 957 62 960
-10000 764 275 255 41 112 242 167 625 289
-10000 175 617 133 913 553 890 754 697 558
-10000 785 6 46 236 99 700 292 880 693
-10000 423 540 654 956 158 703 274 969 569
-10000 975 42 809 397 308 62 868 92 414
-10000 418 782 443 816 876 657 232 582 933
-10000 966 86 835 887 810 807 678 224 956
-10000 163 143 195 861 805 100 943 862 760
-10000 730 369 236 430 948 902 690 407 409
-10000 239 1000 97 821 997 528 156 596 19
-10000 935 665 966 9 692 355 251 396 848
-10000 654 257 72 372 799 361 410 320 591
-10000 281 297 345 94 78 694 956 118 512
-10000 860 467 276 198 235 570 646 389 565
-10000 812 761 219 767 16 633 982 55 610
-10000 306 456 632 928 712 802 185 824 694
-10000 136 47 274 840 93 350 787 424 132
-10000 323 151 671 25 370 317 578 139 680
-10000 613 401 46 883 66 259 962 300 52
-10000 748 796 873 686 739 543 476 426 989
-10000 668 873 813 278 167 579 956 340 285
-10000 640 294 152 294 719 443 703 912 45
-10000 982 399 899 985 244 214 128 102 801
-10000 144 301 901 322 720 784 91 182 689
-10000 489 664 556 509 629 362 23 359 791
-10000 385 166 871 677 482 16 739 151 718
-10000 802 789 112 697 372 550 130 356 210
-10000 528 252 672 480 593 137 110 709 286
-10000 402 620 111 672 356 805 78 100 214
-10000 872 530 881 283 686 990 65 693 220
-10000 268 180 366 178 829 138 315 59 642
-10000 768 106 812 117 64 173 290 878 203
-10000 112 431 664 468 35 498 522 333 786
-10000 875 67 677 694 961 961 467 759 687
-10000 555 392 903 174 45 199 865 320 644
-10000 236 362 316 704 639 712 2 335 904
-10000 851 978 759 53 515 185 694 585 846
-10000 762 324 229 914 60 381 332 307 532
-10000 914 764 492 822 221 626 360 877 424
-10000 287 201 400 73 938 181 839 774 503
-10000 807 329 303 136 21 845 856 813 723
-10000 176 954 715 53 530 516 665 609 481
-10000 991 746 755 207 706 612 185 229 681
-10000 499 97 944 31 164 872 885 266 838
-10000 400 21 617 377 188 861 464 208 687
-10000 364 618 369 481 943 537 862 791 56
-10000 51 339 799 512 362 271 288 810 200
-10000 730 487 59 404 72 630 594 257 653
-10000 149 775 152 63 204 304 732 899 164
-10000 124 430 8 770 693 131 991 991 327
-10000 256 643 881 146 528 365 542 380 407
-10000 700 265 737 532 78 549 808 785 558
-10000 352 134 433 539 587 514 97 806 579
-10000 714 432 7 808 193 102 836 859 43
-10000 461 12 763 20 265 189 704 328 158
-10000 482 344 986 207 355 622 728 287 102
-10000 700 910 209 75 767 502 125 686 454
-10000 65 756 637 182 244 936 373 981 60
-10000 832 734 48 709 828 117 114 857 801
-10000 113 106 438 196 45 840 133 855 69
-10000 677 462 425 808 722 803 482 399 211
-10000 580 537 141 79 808 357 774 575 883
-10000 772 68 19 58 10 136 544 714 64
-10000 663 922 691 993 100 520 861 613 368
-10000 443 580 403 635 688 456 794 552 160
-10000 302 654 965 865 25 407 766 184 45
-10000 804 195 407 409 53 206 88 961 175
-10000 39 35 793 297 761 124 48 791 356
-10000 908 415 796 42 990 195 200 247 255
-10000 981 980 262 37 429 575 596 260 786
-10000 145 976 497 469 949 276 664 730 468
-10000 18 806 997 350 424 545 124 443 548
-10000 162 244 179 820 709 866 720 995 901
-10000 369 78 227 293 57 211 279 883 452
-10000 168 329 930 325 301 318 99 119 314
-10000 627 478 683 988 943 977 8 786 205
-10000 62 745 344 291 474 641 211 515 737
-10000 936 204 729 364 793 241 828 471 682
-10000 862 578 240 684 144 301 209 910 74
-10000 366 309 999 240 67 374 367 44 384
-10000 405 262 944 231 706 19 866 61 714
-10000 573 645 285 517 746 321 6 152 389
-10000 106 160 928 219 448 15 224 104 604
-10000 246 921 190 279 776 70 943 199 341
-10000 300 354 122 912 222 548 126 110 312
-10000 291 129 972 113 860 32 973 669 590
-10000 310 862 713 392 130 30 60 155 330
-10000 967 689 369 972 841 811 216 340 849
-10000 475 635 434 664 514 155 687 569 956
-10000 339 538 828 685 873 855 466 704 587
-10000 356 106 734 65 596 548 638 80 478
-10000 75 748 492 642 807 470 245 298 559
-10000 603 516 737 957 546 383 821 425 880
-10000 473 648 866 1000 880 175 717 438 753
-10000 886 75 763 210 802 938 36 26 344
-10000 109 195 943 419 447 763 212 960 826
-10000 566 771 617 703 681 368 195 771 361
-10000 585 110 985 405 802 53 665 621 602
-10000 276 266 287 409 515 929 534 204 170
-10000 401 363 232 672 316 679 982 784 407
-10000 290 90 243 986 297 269 399 862 855
-10000 310 775 555 234 286 665 993 155 151
-10000 741 568 996 590 27 891 268 409 544
-10000 105 291 87 384 546 771 323 75 865
-10000 276 607 58 704 981 589 784 957 179
-10000 162 552 292 654 302 953 303 818 260
-10000 192 709 196 275 849 54 91 223 610
-10000 895 336 37 620 834 167 640 80 463
-10000 82 646 520 663 170 726 188 884 543
-10000 789 6 347 648 379 863 111 278 568
-10000 921 838 288 416 998 60 22 424 358
-10000 872 701 841 573 267 748 7 144 837
-10000 362 517 440 701 167 254 49 360 306
-10000 993 178 447 825 541 669 909 159 411
-10000 557 691 111 147 105 925 847 144 794
-10000 604 452 579 131 891 423 27 386 86
-10000 615 916 853 595 978 125 632 924 965
-10000 876 610 325 907 910 237 660 634 410
-10000 806 370 162 438 834 138 526 96 731
-10000 614 938 732 815 35 197 658 124 475
-10000 872 219 1 766 419 834 167 900 109
-10000 199 649 678 566 358 619 208 680 512
-10000 677 87 71 256 554 309 137 142 921
-10000 229 310 468 845 154 788 572 819 411
-10000 882 538 236 451 712 124 973 982 988
-10000 343 220 242 421 72 201 730 17 845
-10000 556 449 298 35 795 147 719 644 184
-10000 722 974 607 731 872 192 806 764 31
-10000 898 827 365 607 852 499 785 395 110
-10000 624 397 641 140 330 569 644 871 860
-10000 634 229 735 178 667 587 236 229 596
-10000 425 613 558 609 562 197 526 537 692
-10000 679 965 270 801 610 881 838 675 391
-10000 832 821 656 396 711 161 646 862 241
-10000 625 232 669 339 29 899 698 4 334
-10000 451 528 931 333 49 664 184 961 268
-10000 163 64 218 858 272 484 84 167 260
-10000 126 468 793 94 833 543 195 350 627
-10000 942 262 965 195 183 246 246 233 133
-10000 4 383 600 153 764 90 482 888 225
-10000 429 439 602 783 357 342 231 385 451
-10000 603 340 371 48 760 426 196 525 926
-10000 823 253 293 68 472 971 922 267 642
-10000 128 46 823 694 397 690 863 671 43
-10000 634 559 899 985 623 612 538 397 622
-10000 242 497 285 95 626 421 754 81 164
-10000 776 746 582 512 314 652 712 946 521
-10000 764 776 474 137 948 697 54 145 626
-10000 244 596 370 84 912 297 429 760 551
-10000 816 323 504 967 380 495 289 200 74
-10000 831 497 751 581 143 139 202 580 930
-10000 905 919 599 853 573 474 69 507 994
-10000 792 578 147 718 495 274 491 414 194
-10000 484 69 648 982 227 990 636 732 515
-10000 631 632 810 616 185 404 204 312 723
-10000 545 844 536 917 592 16 704 731 198
-10000 750 820 959 540 186 521 732 407 148
-10000 828 838 376 638 21 728 183 894 17
-10000 264 902 864 471 46 455 982 57 443
-10000 269 218 427 177 677 635 566 407 667
-10000 319 797 172 818 502 100 155 224 46
-10000 856 939 302 741 355 158 408 271 167
-10000 312 173 96 495 210 699 766 820 645
-10000 680 588 919 354 290 418 632 499 381
-10000 289 392 581 109 874 206 909 88 147
-10000 781 144 578 570 317 872 215 784 894
-10000 187 505 663 788 300 743 12 141 986
-10000 423 541 319 200 836 113 231 614 38
-10000 303 419 853 195 865 866 123 941 761
-10000 677 695 386 38 443 560 569 261 570
-10000 831 283 941 998 676 474 352 997 56
-10000 194 246 427 348 814 928 703 99 952
-10000 917 994 893 787 650 181 331 245 652
-10000 593 986 102 366 147 492 340 59 572
-10000 246 805 690 465 202 750 184 508 51
-10000 793 434 336 49 337 533 125 893 644
-10000 679 395 492 821 22 851 192 620 877
-10000 336 984 436 887 393 980 134 834 885
-10000 466 753 883 740 424 531 587 179 556
-10000 562 582 221 430 6 898 480 193 779
-10000 911 779 266 960 238 818 488 598 551
-10000 234 493 789 227 82 500 407 660 618
-10000 352 356 511 159 673 124 36 428 31
-10000 474 854 651 666 2 798 862 891 952
-10000 983 90 262 321 290 679 117 3 405
-10000 425 936 973 694 781 812 320 909 811
-10000 520 301 471 395 57 371 275 324 253
-10000 457 482 20 505 468 606 457 814 577
-10000 289 498 164 627 472 151 977 124 511
-10000 28 167 837 408 207 822 603 492 285
-10000 957 371 161 919 530 466 60 604 824
-10000 366 595 753 92 10 381 573 426 568
-10000 486 504 408 580 159 127 675 664 582
-10000 872 4 563 31 156 110 747 625 648
-10000 902 794 564 744 382 175 848 153 975
-10000 269 937 928 379 448 854 643 583 420
-10000 802 24 344 139 570 29 469 730 490
-10000 238 237 870 648 565 306 515 100 721
-10000 734 768 349 161 721 162 46 290 800
-10000 925 200 511 143 722 234 213 325 300
-10000 711 318 930 476 193 513 628 435 1
-10000 3 946 575 445 321 187 883 177 811
-10000 119 530 915 820 471 163 804 515 325
-10000 166 327 111 48 219 325 696 72 876
-10000 204 23 850 656 128 399 14 154 562
-10000 128 878 378 317 981 395 956 885 408
-10000 95 7 758 275 668 820 695 751 868
-10000 56 868 928 622 813 216 763 614 361
-10000 110 426 96 412 400 884 648 321 370
-10000 133 485 691 982 390 281 107 796 963
-10000 796 914 854 341 869 812 155 982 824
-10000 990 406 11 58 902 425 987 711 687
-10000 943 932 978 955 636 738 243 953 980
-10000 790 498 305 539 434 721 786 149 921
-10000 944 216 702 596 571 29 130 689 535
-10000 112 881 413 990 648 551 361 904 742
-10000 36 672 272 913 818 475 280 404 20
-10000 551 228 422 168 545 466 917 724 769
-10000 872 431 494 238 964 833 632 829 726
-10000 936 895 782 102 596 89 732 72 739
-10000 356 174 889 580 607 510 501 91 689
-10000 202 412 348 335 956 466 669 393 126
-10000 805 570 48 315 612 179 727 465 494
-10000 91 375 398 726 485 567 61 822 416
-10000 970 998 287 54 435 761 246 894 355
-10000 108 19 411 302 239 940 675 579 650
-10000 528 179 174 322 574 844 362 324 778
-10000 71 772 43 930 518 552 509 237 670
-10000 51 216 884 202 645 217 912 310 702
-10000 440 436 854 987 378 892 514 836 871
-10000 344 176 183 841 327 671 860 386 614
-10000 394 150 919 165 609 296 964 610 23
-10000 175 564 953 614 539 741 409 655 600
-10000 832 469 16 428 952 693 750 499 677
-10000 842 916 522 574 630 895 79 16 731
-10000 778 563 90 14 61 775 629 389 457
-10000 416 398 466 216 27 758 582 338 372
-10000 424 487 190 392 782 315 991 468 871
-10000 739 532 312 13 574 828 731 374 836
-10000 647 196 679 167 13 72 968 413 454
-10000 77 588 885 426 706 469 385 258 318
-10000 958 3 376 247 629 418 956 192 14
-10000 849 966 38 433 617 518 875 643 404
-10000 883 319 261 226 693 285 721 653 479
-10000 753 57 95 720 8 502 665 493 6
-10000 676 633 644 836 246 471 281 961 88
-10000 882 191 427 539 451 946 121 565 235
-10000 526 602 876 94 368 200 49 878 912
-10000 701 11 568 674 936 174 439 197 855
-10000 164 83 922 477 511 178 997 536 223
-10000 297 512 91 706 161 327 330 560 509
-10000 796 286 454 666 634 917 344 286 721
-10000 32 676 11 803 403 485 183 802 450
-10000 832 620 480 797 747 108 216 22 245
-10000 64 746 918 62 194 200 526 597 848
-10000 750 295 642 101 939 173 492 821 357
-10000 806 791 799 176 166 717 618 248 88
-10000 157 253 441 68 884 5 362 936 987
-10000 782 335 739 615 22 305 344 200 402
-10000 881 51 880 96 66 406 264 65 75
-10000 719 238 439 836 270 553 784 457 530
-10000 157 542 78 859 216 829 26 239 646
-10000 253 112 847 671 0 937 977 900 420
-10000 354 642 490 424 243 724 541 448 643
-10000 402 494 580 678 27 328 194 378 257
-10000 732 979 904 256 903 880 629 162 270
-10000 257 198 624 398 297 713 193 122 600
-10000 111 355 576 471 576 613 896 406 620
-10000 521 522 199 68 808 723 250 487 428
-10000 469 439 686 927 299 968 548 503 861
-10000 80 132 323 349 400 957 796 983 617
-10000 65 353 136 668 45 731 778 785 26
-10000 503 352 804 756 283 901 39 33 401
-10000 668 386 593 86 347 637 736 403 50
-10000 102 730 587 216 864 519 357 990 913
-10000 923 857 471 912 214 878 985 581 368
-10000 909 4 366 299 415 781 568 424 266
-10000 170 967 931 587 556 910 285 540 931
-10000 359 550 255 101 81 189 111 104 702
-10000 124 775 254 25 177 128 182 441 163
-10000 878 715 385 251 347 824 208 119 877
-10000 32 482 861 776 515 329 596 859 925
-10000 634 570 321 132 754 477 652 788 817
-10000 627 636 517 378 395 311 194 79 24
-10000 865 604 258 163 208 881 127 213 789
-10000 864 994 647 777 216 971 926 270 501
-10000 908 301 316 97 405 599 539 181 743
-10000 420 246 989 88 674 26 99 424 763
-10000 185 242 538 726 655 796 693 288 730
-10000 765 130 331 310 524 823 133 342 316
-10000 789 350 985 90 119 6 364 495 660
-10000 956 269 895 196 576 83 168 445 117
-10000 329 516 954 41 702 594 788 572 186
-10000 245 892 247 931 313 234 21 335 194
-10000 231 803 866 723 86 473 76 75 365
-10000 863 9 328 613 597 477 850 665 819
-10000 561 911 625 892 249 280 485 609 520
-10000 429 32 894 734 898 706 824 639 538
-10000 90 982 475 895 534 579 4 60 724
-10000 334 641 5 488 153 641 664 15 514
-10000 23 884 352 38 704 56 630 827 301
-10000 168 824 166 101 436 842 886 147 195
-10000 799 860 535 797 781 163 238 955 957
-10000 659 187 1 570 98 524 315 617 957
-10000 536 274 265 449 82 246 91 94 144
-10000 278 325 978 437 938 29 350 33 377
-10000 951 324 423 427 197 839 751 312 429
-10000 946 399 677 8 526 828 305 831 102
-10000 894 776 762 343 69 399 232 34 619
-10000 467 723 446 798 555 350 725 870 243
-10000 724 787 290 622 766 471 47 820 969
-10000 614 692 539 744 244 873 932 306 44
-10000 314 852 495 136 911 5 357 371 591
-10000 148 870 545 827 238 454 906 50 707
-10000 183 786 86 698 999 821 33 937 398
-10000 244 458 676 506 538 342 789 612 377
-10000 935 95 199 65 525 656 592 439 783
-10000 400 891 418 653 535 881 322 562 217
-10000 590 484 947 512 766 219 1 865 502
-10000 717 965 717 401 148 417 654 549 88
-10000 835 175 804 18 428 714 839 38 382
-10000 903 921 986 853 821 680 468 291 452
-10000 830 229 103 372 411 930 147 457 899
-10000 19 693 702 630 994 787 636 670 812
-10000 563 630 977 667 731 52 781 902 799
-10000 165 667 528 785 128 309 623 302 819
-10000 203 558 231 532 156 19 64 765 441
-10000 513 433 381 199 726 600 949 240 986
-10000 286 461 436 14 330 376 628 506 470
-10000 423 344 870 129 195 975 102 174 272
-10000 601 23 937 821 175 228 837 142 48
-10000 839 822 591 290 410 576 947 955 683
-10000 202 888 72 107 796 224 938 428 337
-10000 201 957 469 252 560 343 106 404 85
-10000 488 849 298 335 576 250 181 895 135
-10000 619 322 892 165 898 701 618 404 348
-10000 99 826 907 18 137 419 867 43 538
-10000 958 668 11 11 567 843 236 463 695
-10000 561 951 316 337 122 727 48 747 879
-10000 943 172 450 185 152 296 294 893 204
-10000 275 839 338 586 340 337 92 529 699
-10000 534 661 626 557 280 261 611 706 526
-10000 168 480 791 523 963 107 412 449 605
-10000 785 801 946 294 583 54 243 721 257
-10000 603 266 133 666 329 767 810 379 586
-10000 660 918 364 95 827 624 652 625 940
-10000 473 805 135 808 689 671 66 276 86
-10000 618 732 410 542 566 614 27 818 590
-10000 98 442 870 758 391 925 991 127 426
-10000 78 204 518 409 648 441 777 168 563
-10000 593 697 356 553 94 512 685 829 364
-10000 99 341 331 909 665 791 80 506 706
-10000 945 639 191 454 97 271 959 989 994
-10000 627 48 463 366 208 472 381 740 743
-10000 30 442 442 309 289 211 574 109 311
-10000 641 125 450 333 421 564 856 498 949
-10000 946 315 522 404 374 176 846 538 579
-10000 773 824 314 778 276 480 180 235 286
-10000 940 605 780 169 556 18 620 522 104
-10000 53 628 371 877 912 52 361 1000 113
-10000 748 948 827 651 551 931 505 693 654
-10000 510 162 108 557 590 644 769 550 730
-10000 823 928 954 469 211 241 239 596 55
-10000 172 835 460 567 46 529 983 735 276
-10000 872 93 663 411 699 298 164 136 107
-10000 783 928 586 250 955 652 158 121 658
-10000 827 770 357 479 801 865 974 562 589
-10000 983 607 818 591 323 284 498 415 460
-10000 342 252 520 822 708 868 536 328 798
-10000 720 416 641 57 628 168 296 226 239
-10000 327 656 881 302 608 207 708 274 341
-10000 750 176 136 956 773 528 789 793 422
-10000 156 887 377 297 131 110 809 887 676
-10000 565 4 751 179 543 957 871 340 194
-10000 660 744 790 763 285 189 462 815 716
-10000 963 704 464 948 52 902 599 87 659
-10000 491 719 691 331 771 309 25 34 56
-10000 179 762 934 654 652 684 25 941 838
-10000 114 188 681 261 392 876 497 231 321
-10000 182 662 44 824 447 505 346 547 390
-10000 438 400 840 263 619 956 892 701 487
-10000 0 602 516 733 726 409 124 134 242
-10000 243 497 247 312 222 11 134 410 342
-10000 492 112 110 325 681 509 459 832 761
-10000 241 146 690 38 500 494 801 854 977
-10000 219 474 287 986 347 488 42 180 692
-10000 982 923 192 215 991 763 369 701 555
-10000 614 215 62 87 806 618 623 843 163
-10000 157 843 759 791 733 58 840 418 274
-10000 529 544 464 492 526 948 818 313 280
-10000 985 325 502 480 476 900 267 508 728
-10000 316 774 627 112 591 950 456 613 17
-10000 270 327 765 489 657 723 463 328 153
-10000 189 510 183 285 960 517 591 11 393
-10000 15 762 387 597 858 43 536 733 381
-10000 37 772 825 614 989 527 785 784 909
-10000 691 835 271 240 493 815 456 22 267
-10000 282 52 664 431 988 102 454 922 814
-10000 719 67 372 588 244 499 428 490 288
-10000 251 355 16 448 100 213 994 764 396
-10000 878 335 52 442 518 505 44 241 914
-10000 734 417 347 978 668 253 277 83 472
-10000 727 642 576 904 778 459 31 30 742
-10000 358 17 617 678 292 994 90 21 349
-10000 485 77 315 902 812 8 506 622 565
-10000 838 203 256 825 70 285 205 600 128
-10000 391 537 927 835 502 963 299 655 180
-10000 938 849 620 129 667 416 945 964 332
-10000 190 434 403 779 319 680 619 764 281
-10000 545 693 333 348 169 14 62 511 80
-10000 945 892 471 464 211 748 607 71 936
-10000 908 918 749 463 375 620 406 734 589
-10000 190 642 454 140 556 863 89 498 579
-10000 113 286 827 608 94 77 355 421 424
-10000 642 668 167 36 968 788 431 720 294
-10000 664 860 249 520 189 327 715 908 935
-10000 225 56 204 862 628 253 578 504 279
-10000 426 932 207 691 982 933 86 260 577
-10000 118 521 10 869 907 411 103 635 132
-10000 507 385 998 519 630 997 126 462 627
-10000 724 948 10 448 443 947 465 944 477
-10000 289 164 991 975 802 138 504 560 258
-10000 489 565 234 225 333 796 376 348 77
-10000 430 896 871 600 665 871 828 215 597
-10000 23 783 444 824 309 67 694 106 825
-10000 877 636 371 428 718 552 563 340 519
-10000 904 129 492 497 104 525 896 400 817
-10000 672 880 122 120 317 371 521 303 969
-10000 474 671 820 111 103 775 494 932 78
-10000 534 421 4 285 872 565 632 343 680
-10000 533 793 468 796 922 801 203 438 669
-10000 152 35 880 564 800 201 607 719 34
-10000 164 10 296 547 828 780 873 540 101
-10000 704 53 767 19 79 880 772 259 248
-10000 844 646 946 878 982 577 167 997 851
-10000 985 696 618 556 390 318 727 295 353
-10000 364 414 53 359 905 547 464 94 536
-10000 546 791 423 427 54 561 852 86 53
-10000 710 283 615 6 297 899 561 482 413
-10000 726 838 784 730 905 755 71 132 825
-10000 519 792 41 500 762 771 669 768 765
-10000 679 847 798 870 751 532 954 4 883
-10000 956 786 719 596 785 445 833 912 679
-10000 609 323 848 798 8 27 262 848 604
-10000 56 924 664 793 14 605 462 322 160
-10000 519 996 19 793 544 513 375 73 122
-10000 425 386 509 508 542 65 811 785 924
-10000 229 629 336 517 338 607 928 270 63
-10000 623 192 724 549 628 504 38 274 4
-10000 529 691 56 998 462 785 373 782 592
-10000 412 481 469 964 274 448 121 780 81
-10000 734 974 559 338 150 212 781 650 284
-10000 635 210 517 604 296 863 269 51 935
-10000 515 176 752 427 563 253 53 225 523
-10000 998 325 658 560 318 65 161 442 145
-10000 918 173 50 497 260 931 154 477 47
-10000 22 962 523 724 253 434 544 115 750
-10000 762 253 245 635 814 552 763 162 590
-10000 56 479 129 617 167 802 22 290 999
-10000 87 250 565 311 268 398 585 340 451
-10000 500 316 837 935 300 405 805 625 196
-10000 598 349 135 839 45 755 414 389 848
-10000 483 390 925 462 312 572 803 10 11
-10000 497 962 644 540 456 116 686 84 479
-10000 506 59 508 339 671 915 346 827 351
-10000 799 482 0 586 720 604 837 133 649
-10000 846 870 830 806 343 49 728 999 903
-10000 239 127 950 258 281 282 309 414 647
-10000 51 364 719 404 159 15 808 438 223
-10000 348 526 377 146 151 562 892 246 850
-10000 118 632 733 772 58 934 39 34 984
-10000 117 428 100 174 470 991 306 771 458
-10000 308 707 151 522 182 319 790 783 786
-10000 109 204 788 445 542 236 115 5 614
-10000 294 206 482 682 835 351 75 331 74
-10000 876 548 511 940 470 642 886 513 246
-10000 964 227 814 88 723 606 423 751 535
-10000 545 242 819 510 400 389 484 672 196
-10000 74 435 129 593 693 224 44 787 398
-10000 267 1 185 566 49 103 713 611 138
-10000 315 293 153 881 802 808 85 34 410
-10000 965 176 274 195 533 249 537 392 705
-10000 298 653 915 969 104 630 994 849 214
-10000 243 403 205 552 469 623 846 474 687
-10000 797 56 221 951 929 435 645 834 549
-10000 752 226 451 897 734 409 125 643 532
-10000 971 523 919 555 467 603 993 796 459
-10000 527 322 269 807 278 18 650 533 959
-10000 747 976 124 413 460 447 205 359 475
-10000 260 230 82 329 971 475 494 569 172
-10000 889 33 935 559 36 764 85 941 27
-10000 832 130 280 256 232 99 144 787 745
-10000 273 640 935 226 318 707 689 948 192
-10000 689 927 668 582 31 161 749 527 63
-10000 318 840 557 101 121 460 885 586 61
-10000 322 292 701 823 950 672 42 439 298
-10000 981 418 480 867 998 48 636 239 188
-10000 32 705 375 234 291 208 755 931 290
-10000 746 50 462 734 141 281 861 637 358
-10000 649 312 719 298 645 821 365 404 359
-10000 650 311 212 306 790 930 507 703 797
-10000 367 13 709 607 934 983 181 61 242
-10000 274 697 74 398 780 468 682 134 616
-10000 438 913 941 43 222 900 440 662 160
-10000 686 249 504 646 749 527 751 390 158
-10000 759 592 538 385 224 43 358 802 108
-10000 262 334 354 902 1000 243 772 445 181
-10000 523 106 63 917 108 842 402 580 863
-10000 923 1000 474 121 493 515 612 968 161
-10000 603 74 794 208 143 773 588 332 279
-10000 536 682 731 764 12 870 678 682 111
-10000 773 714 146 0 852 798 150 776 996
-10000 338 492 172 482 677 500 86 810 599
-10000 634 348 694 490 164 615 438 584 109
-10000 367 661 849 888 14 629 135 90 879
-10000 68 12 550 871 914 812 355 848 399
-10000 819 66 363 955 822 686 449 847 758
-10000 390 806 637 966 774 116 844 372 278
-10000 953 159 388 436 280 386 704 189 320
-10000 161 522 475 687 155 940 63 744 455
-10000 521 162 597 961 985 266 715 997 82
-10000 943 351 766 780 447 434 215 806 439
-10000 970 241 698 80 928 837 408 663 921
-10000 297 612 480 180 826 121 593 690 845
-10000 72 666 571 968 237 216 983 280 102
-10000 796 469 439 541 268 500 739 760 919
-10000 872 347 955 693 138 267 262 78 480
-10000 820 341 597 704 696 807 715 587 286
-10000 582 487 159 332 151 404 687 690 293
-10000 574 569 682 57 31 249 893 411 182
-10000 783 80 612 553 571 141 559 47 762
-10000 204 857 426 725 696 404 506 446 322
-10000 107 413 971 180 164 269 687 22 581
-10000 952 632 544 278 367 601 803 979 111
-10000 60 56 208 379 229 128 900 520 880
-10000 478 429 520 72 485 555 419 53 634
-10000 244 954 645 208 855 751 166 326 542
-10000 775 300 819 297 944 334 789 597 116
-10000 387 195 703 971 692 124 513 833 213
-10000 521 668 675 150 737 922 402 292 25
-10000 861 532 680 760 673 756 371 240 963
-10000 330 695 359 801 409 266 987 635 611
-10000 291 910 551 577 248 0 101 962 922
-10000 134 967 343 380 357 516 165 146 316
-10000 883 528 305 133 865 381 635 780 519
-10000 974 941 374 481 171 777 401 314 774
-10000 435 284 308 499 706 201 737 528 887
-10000 158 224 51 921 896 446 569 219 973
-10000 607 976 576 999 231 243 74 873 773
-10000 46 251 632 991 917 492 177 127 529
-10000 94 771 212 894 865 619 355 868 185
-10000 879 488 80 450 173 964 919 554 197
-10000 515 324 754 661 178 826 574 31 118
-10000 153 103 953 100 37 77 540 344 647
-10000 714 706 435 474 831 601 540 995 779
-10000 341 942 912 153 749 336 98 251 139
-10000 402 644 739 604 363 315 57 849 427
-10000 824 66 441 897 969 951 332 626 540
-10000 893 202 623 751 378 641 594 247 12
-10000 26 267 724 10 575 544 515 487 321
-10000 78 583 28 403 82 740 980 626 191
-10000 437 457 557 613 643 509 533 419 632
-10000 279 316 584 690 911 344 590 592 574
-10000 432 761 107 361 113 968 569 876 975
-10000 837 292 275 606 187 860 627 66 436
-10000 605 295 163 785 24 111 302 289 182
-10000 754 825 548 983 401 696 20 704 880
-10000 253 199 138 222 427 804 415 968 736
-10000 350 580 655 701 978 263 496 792 60
-10000 150 465 865 802 71 954 908 440 782
-10000 280 280 431 68 860 533 426 609 229
-10000 304 56 670 669 13 260 11 810 701
-10000 169 271 1 717 74 597 30 372 778
-10000 829 771 84 736 368 7 205 625 825
-10000 286 676 292 815 612 913 622 653 842
-10000 967 877 54 419 23 549 838 259 937
-10000 985 224 612 460 202 167 789 660 583
-10000 575 914 219 374 834 23 906 75 511
-10000 402 528 485 807 725 329 213 100 967
-10000 927 687 633 483 52 729 902 502 662
-10000 842 54 719 930 19 129 68 158 31
-10000 111 745 985 173 312 737 941 87 968
-10000 250 48 382 844 30 660 471 992 737
-10000 582 710 343 325 78 825 274 324 930
-10000 744 108 944 202 96 285 820 242 975
-10000 463 581 145 941 930 208 927 120 898
-10000 310 805 627 187 271 482 805 938 238
-10000 356 902 167 400 928 700 674 899 934
-10000 231 908 586 116 395 540 369 33 583
-10000 452 34 821 985 190 228 632 748 829
-10000 905 230 151 635 10 73 693 6 940
-10000 134 384 318 654 622 752 791 563 507
-10000 83 797 654 353 825 349 530 340 253
-10000 481 216 482 994 983 544 733 405 339
-10000 93 650 457 726 975 759 947 25 720
-10000 633 250 644 256 112 982 856 874 529
-10000 95 487 873 7 537 681 833 39 997
-10000 295 763 2 286 562 292 762 440 25
-10000 928 651 352 11 683 416 146 424 114
-10000 554 361 11 538 443 958 684 32 859
-10000 286 973 460 460 511 421 974 904 373
-10000 343 67 136 816 444 663 60 154 855
-10000 469 925 978 530 916 782 412 353 753
-10000 533 632 218 584 442 462 821 447 461
-10000 395 199 164 551 736 843 623 321 840
-10000 45 886 694 927 656 599 615 573 780
-10000 2 383 812 33 231 295 249 247 730
-10000 729 335 475 987 844 723 783 115 848
-10000 525 249 617 242 682 39 761 320 739
-10000 875 692 598 459 967 560 276 825 980
-10000 84 481 35 279 153 769 755 140 931
-10000 632 203 133 494 176 398 232 454 328
-10000 358 38 496 59 752 592 443 796 126
-10000 821 242 708 632 885 277 793 347 51
-10000 571 529 424 286 194 22 421 496 812
-10000 639 212 56 244 462 483 654 189 2
-10000 997 7 980 189 710 269 644 633 197
-10000 597 342 692 724 227 94 679 535 829
-10000 554 522 218 132 930 370 371 339 781
-10000 890 48 995 991 443 394 248 143 997
-10000 374 16 34 641 639 892 289 370 761
-10000 896 463 570 295 837 823 205 974 531
-10000 967 411 665 479 670 212 598 425 387
-10000 800 851 772 461 407 214 735 774 102
-10000 746 374 518 159 328 300 128 590 934
-10000 720 468 713 66 443 827 84 904 230
-10000 619 819 846 326 732 409 777 19 589
-10000 23 706 762 233 62 71 894 776 43
-10000 677 0 354 35 808 248 203 230 122
-10000 526 258 342 407 171 147 37 723 986
-10000 549 959 34 424 759 70 224 503 69
-10000 706 207 129 290 321 864 707 270 550
-10000 800 582 451 287 313 426 368 863 294
-10000 966 243 869 340 362 617 509 98 860
-10000 565 309 174 916 808 28 598 490 533
-10000 952 218 645 233 681 906 956 984 963
-10000 930 763 48 356 159 762 407 891 297
-10000 463 707 447 131 753 798 741 905 490
-10000 76 589 502 15 8 373 600 701 289
-10000 35 698 193 106 275 18 390 942 886
-10000 540 497 1000 796 450 643 990 405 399
-10000 154 855 724 561 159 365 373 745 373
-10000 763 148 532 611 538 192 86 587 126
-10000 688 732 166 354 834 276 285 679 607
-10000 837 198 386 306 290 724 436 31 424
-10000 255 616 350 187 403 314 858 395 393
-10000 291 594 329 137 547 375 420 161 21
-10000 333 556 478 746 761 673 807 129 160
-10000 288 979 830 381 454 247 393 672 869
-10000 435 100 785 28 880 229 255 214 542
-10000 634 926 70 447 331 71 944 892 352
-10000 644 474 295 149 841 65 454 723 252
-10000 109 995 613 158 174 907 654 239 997
-10000 834 668 836 545 966 449 846 306 309
-10000 983 570 514 643 216 860 742 727 636
-10000 905 290 321 724 966 419 314 543 831
-10000 679 787 568 24 937 196 100 978 984
-10000 632 130 421 615 572 223 335 985 696
-10000 23 24 519 143 687 855 693 19 797
-10000 905 663 962 651 488 327 985 763 421
-10000 529 300 156 734 678 852 244 534 448
-10000 956 541 308 927 890 145 211 965 323
-10000 120 397 854 23 707 285 46 989 243
-10000 189 805 708 214 766 905 120 619 512
-10000 102 943 554 209 87 706 675 405 102
-10000 546 974 141 912 662 577 599 476 786
-10000 405 460 150 250 639 967 194 670 93
-10000 911 485 429 419 543 505 697 734 87
-10000 9 563 379 310 693 158 487 38 454
-10000 648 127 378 954 985 897 573 200 815
-10000 609 386 911 7 0 907 64 886 68
-10000 275 927 404 338 621 191 275 429 41
-10000 911 636 975 520 499 849 307 475 202
-10000 470 827 656 660 227 644 521 793 660
-10000 182 309 321 580 961 666 779 153 366
-10000 663 75 810 380 197 411 10 625 979
-10000 803 579 403 291 891 773 750 958 207
-10000 961 131 615 577 792 274 104 946 140
-10000 491 399 934 87 434 612 147 613 203
-10000 342 75 711 142 566 354 256 660 373
-10000 479 824 688 311 300 534 259 363 535
-10000 393 414 391 39 610 571 579 940 675
-10000 965 619 128 734 156 95 691 442 434
-10000 166 115 507 256 582 896 149 839 470
-10000 942 91 243 805 236 657 764 867 171
-10000 481 739 920 224 480 287 501 904 839
-10000 321 377 753 641 975 973 473 361 431
-10000 796 862 668 198 868 150 102 520 641
-10000 341 280 906 687 600 796 236 641 238
-10000 922 515 863 506 71 516 77 182 662
-10000 701 314 782 843 118 119 843 6 423
-10000 112 192 970 713 759 64 585 861 100
-10000 374 79 871 372 361 6 235 239 143
-10000 87 525 491 159 909 290 520 76 73
-10000 680 9 914 458 521 461 560 774 431
-10000 640 446 427 891 636 928 716 481 602
-10000 322 124 159 27 1 772 282 112 302
-10000 6 394 880 221 715 388 521 265 228
-10000 291 868 738 23 667 373 328 937 493
-10000 845 947 276 98 687 19 480 167 492
-10000 336 427 36 817 148 611 431 568 388
-10000 773 505 747 151 141 653 637 195 77
-10000 617 332 740 411 800 740 879 448 390
-10000 443 377 386 706 338 913 518 114 842
-10000 673 179 602 731 285 302 843 865 561
-10000 794 258 608 962 450 375 509 771 653
-10000 624 278 214 500 277 862 867 708 378
-10000 351 502 57 663 524 5 442 825 78
-10000 937 451 96 552 34 761 932 511 223
-10000 398 351 980 693 510 48 728 248 286
-10000 95 326 228 672 427 401 127 321 659
-10000 950 951 703 282 314 952 752 70 456
-10000 203 881 522 429 303 218 589 175 588
-10000 971 997 394 645 677 542 108 957 329
-10000 806 670 873 440 931 248 937 993 282
-10000 469 64 842 226 522 841 418 228 955
-10000 530 951 764 561 595 608 145 943 321
-10000 207 301 349 979 128 362 894 769 782
-10000 506 658 732 452 424 734 986 862 744
-10000 665 569 48 867 839 586 376 819 256
-10000 656 636 168 659 42 11 552 492 688
-10000 448 159 900 833 489 642 368 257 519
-10000 128 580 22 696 841 763 529 807 83
-10000 638 139 667 778 89 63 67 560 914
-10000 851 496 243 756 607 2 611 551 533
-10000 890 279 326 575 575 50 665 886 807
-10000 39 135 92 841 970 534 867 216 822
-10000 228 579 432 54 255 244 129 104 903
-10000 671 352 193 78 449 361 805 30 172
-10000 495 796 854 496 667 121 1 50 176
-10000 751 558 65 641 685 632 591 560 946
-10000 33 582 976 454 616 363 586 909 58
-10000 837 957 55 434 874 924 653 437 93
-10000 404 733 968 638 239 359 613 160 137
-10000 511 520 227 163 153 323 123 189 803
-10000 618 631 263 459 110 8 43 999 277
-10000 17 486 25 899 181 875 809 134 423
-10000 872 193 949 65 643 383 733 326 701
-10000 213 525 629 530 880 226 611 654 284
-10000 631 505 368 138 606 798 149 107 387
-10000 764 240 99 90 668 316 374 93 374
-10000 113 541 528 582 172 373 626 637 288
-10000 875 602 740 652 562 566 730 221 916
-10000 523 587 867 478 597 44 817 877 689
-10000 941 952 836 649 124 996 264 112 574
-10000 273 96 761 339 184 171 838 737 452
-10000 882 372 629 168 334 420 230 390 759
-10000 480 568 737 439 432 82 738 93 785
-10000 308 512 787 563 175 832 790 383 947
-10000 537 826 736 369 433 234 352 750 885
-10000 286 392 195 591 580 100 867 678 700
-10000 859 571 545 175 759 820 328 17 626
-10000 462 790 458 989 834 602 838 669 548
-10000 535 375 97 843 527 312 109 434 193
-10000 700 869 546 749 823 499 209 711 167
-10000 698 265 399 669 159 259 198 196 299
-10000 371 553 246 774 939 355 722 448 787
-10000 866 718 785 488 771 430 883 994 558
-10000 547 889 494 439 666 976 604 519 520
-10000 590 496 474 667 483 392 843 511 271
-10000 896 696 356 544 598 366 702 431 908
-10000 314 4 679 737 509 2 922 119 845
-10000 85 21 656 592 260 901 419 345 510
-10000 602 286 542 753 989 605 450 427 133
-10000 903 288 697 566 752 365 101 759 28
-10000 24 788 920 862 68 463 26 140 8
-10000 308 817 695 356 654 191 34 136 9
-10000 724 734 385 241 705 770 932 308 184
-10000 671 760 996 268 644 902 573 929 511
-10000 605 902 892 487 85 27 982 952 617
-10000 922 674 376 674 385 51 356 550 122
-10000 606 42 665 207 390 610 547 5 230
-10000 965 837 271 444 963 151 244 952 407
-10000 497 573 428 136 548 830 994 981 449
-10000 754 227 769 182 29 846 860 93 275
-10000 275 784 460 268 851 438 820 749 196
-10000 396 684 287 349 199 645 632 953 265
-10000 491 737 684 701 10 882 845 526 526
-10000 762 794 568 366 202 346 586 17 119
-10000 211 27 94 810 548 958 812 171 575
-10000 936 109 460 792 57 174 223 188 154
-10000 840 247 917 732 833 548 909 159 739
-10000 185 715 804 417 612 565 0 724 199
-10000 259 801 13 106 353 720 997 611 163
-10000 683 833 412 188 698 861 729 83 809
-10000 41 390 628 248 733 154 429 783 766
-10000 964 72 431 583 569 507 567 855 290
-10000 903 415 47 435 493 122 660 641 470
-10000 884 718 626 541 415 44 312 135 920
-10000 674 600 302 368 462 207 565 847 898
-10000 395 848 377 437 68 722 874 39 405
-10000 515 264 7 463 643 63 802 329 410
-10000 589 690 955 380 151 143 898 670 96
-10000 612 311 54 170 768 31 937 56 603
-10000 442 284 257 902 186 492 404 181 710
-10000 210 658 145 177 618 659 43 347 599
-10000 390 23 996 80 59 49 500 181 116
-10000 891 944 327 45 264 567 248 96 860
-10000 419 5 380 927 358 724 383 90 869
-10000 911 958 876 993 424 642 798 44 554
-10000 824 979 346 310 975 564 729 498 153
-10000 120 188 496 206 903 823 580 294 59
-10000 804 194 493 400 114 784 983 109 705
-10000 845 227 96 877 979 490 204 658 88
-10000 64 356 316 615 174 824 625 177 915
-10000 165 93 383 403 871 464 800 684 226
-10000 813 48 532 24 866 373 506 563 885
-10000 645 947 276 275 667 21 665 131 949
-10000 359 570 690 444 118 791 193 390 828
-10000 39 166 511 844 950 631 123 415 117
-10000 170 538 635 946 906 988 482 31 846
-10000 210 380 352 27 260 958 188 664 94
-10000 226 302 777 383 857 708 747 274 755
-10000 640 36 884 867 540 864 892 846 90
-10000 953 987 682 64 154 84 355 378 58
-10000 523 107 846 416 502 1000 503 487 437
-10000 777 391 442 306 895 856 86 183 996
-10000 982 516 127 988 499 880 849 147 782
-10000 552 238 673 935 358 191 679 219 532
-10000 469 279 338 590 841 588 289 229 174
-10000 491 374 283 327 250 896 352 902 411
-10000 127 459 159 149 221 76 949 117 551
-10000 551 817 155 102 481 173 623 981 201
-10000 710 176 93 643 284 415 798 962 557
-10000 188 94 999 769 968 585 852 328 243
-10000 691 542 286 798 434 124 308 149 976
-10000 122 527 82 130 721 254 292 183 294
-10000 293 592 420 375 162 594 802 829 421
-10000 71 990 522 381 680 936 107 508 506
-10000 485 177 140 328 998 738 423 764 705
-10000 861 644 366 586 859 526 715 78 703
-10000 412 38 394 46 416 987 722 124 913
-10000 512 36 137 650 10 197 334 487 72
-10000 9 633 976 48 64 748 698 156 842
-10000 831 401 171 332 995 715 596 581 69
-10000 141 17 276 857 8 331 846 287 597
-10000 744 689 713 450 785 426 373 708 644
-10000 509 594 251 584 981 167 859 616 613
-10000 977 137 640 714 952 888 574 410 45
-10000 845 255 573 347 792 910 411 695 380
-10000 535 567 702 383 698 903 986 894 33
-10000 108 789 745 417 880 222 752 30 18
-10000 677 673 0 44 279 389 933 434 574
-10000 870 718 722 388 185 729 881 618 958
-10000 840 114 504 628 963 898 887 331 474
-10000 998 438 474 490 303 826 23 121 221
-10000 421 652 800 893 377 151 434 555 868
-10000 222 805 969 86 931 908 576 140 861
-10000 357 866 185 235 458 500 165 952 479
-10000 834 290 697 773 683 806 496 979 12
-10000 394 258 970 695 695 421 228 631 818
-10000 698 464 462 802 346 126 698 452 625
-10000 761 990 345 557 813 579 967 642 896
-10000 885 745 792 992 705 816 735 872 708
-10000 898 64 87 548 672 266 644 80 859
-10000 274 370 877 12 731 830 157 275 724
-10000 215 444 104 46 750 428 798 142 317
-10000 699 988 764 155 344 972 382 292 332
-10000 654 85 880 613 276 190 365 311 787
-10000 821 67 226 458 125 324 315 496 172
-10000 803 788 621 26 270 447 27 697 120
-10000 64 382 393 933 904 649 922 32 403
-10000 734 444 129 962 903 287 420 902 441
-10000 688 177 64 272 984 559 629 859 251
-10000 617 292 203 67 434 983 292 766 907
-10000 18 970 389 994 696 7 350 185 312
-10000 128 73 758 9 107 291 696 988 28
-10000 684 597 663 774 582 801 731 342 927
-10000 838 260 165 642 120 206 191 635 807
-10000 73 721 45 416 421 366 449 801 376
-10000 15 340 309 250 323 212 52 951 285
-10000 933 44 453 177 507 372 892 955 151
-10000 713 477 827 700 838 295 200 86 429
-10000 113 782 42 154 595 304 724 463 867
-10000 696 182 300 956 694 131 487 763 95
-10000 46 287 641 200 23 763 747 616 934
-10000 209 415 635 662 991 816 944 585 193
-10000 747 303 299 783 335 685 943 835 568
-10000 30 71 902 726 295 413 205 13 753
-10000 323 742 83 564 519 157 337 840 383
-10000 573 573 434 643 648 242 517 765 94
-10000 993 24 663 852 987 644 273 501 3
-10000 813 179 316 600 858 220 673 690 227
-10000 425 970 765 274 379 673 723 645 570
-10000 176 257 713 810 6 539 816 645 924
-10000 139 371 480 209 795 429 851 782 93
-10000 92 395 897 422 945 472 884 161 411
-10000 844 758 418 152 151 464 982 363 458
-10000 798 499 353 14 356 565 195 694 132
-10000 248 474 102 935 489 799 349 844 197
-10000 648 450 552 529 491 458 59 609 556
-10000 918 599 579 764 475 919 710 819 509
-10000 976 555 553 730 23 233 138 861 799
-10000 421 606 655 617 153 57 269 18 278
-10000 365 344 753 455 82 923 806 897 716
-10000 662 110 856 74 274 30 599 784 716
-10000 484 879 604 188 11 255 661 359 378
-10000 429 849 951 867 767 891 16 183 284
-10000 978 216 134 365 309 185 698 888 620
-10000 957 853 560 719 336 792 584 426 713
-10000 26 651 843 347 592 877 317 205 531
-10000 320 346 4 101 652 952 75 107 890
-10000 164 348 841 240 862 706 156 584 215
-10000 812 875 865 543 559 834 546 200 387
-10000 908 638 723 153 664 748 184 508 406
-10000 244 549 287 705 974 990 808 649 454
-10000 797 444 14 746 985 330 779 19 46
-10000 133 180 11 450 701 86 490 14 947
-10000 685 609 627 156 711 308 134 416 639
-10000 948 186 196 390 694 776 61 298 31
-10000 614 70 338 924 78 672 172 668 995
-10000 708 161 427 140 993 617 825 699 728
-10000 347 914 445 422 879 686 396 606 522
-10000 937 947 817 627 648 641 928 404 526
-10000 666 203 482 541 351 458 625 222 686
-10000 22 712 818 366 845 698 356 369 913
-10000 305 955 513 891 200 827 644 115 820
-10000 169 717 350 892 838 75 307 604 969
-10000 328 387 532 528 67 727 134 271 118
-10000 279 96 863 107 250 320 597 473 152
-10000 838 484 600 700 490 352 659 28 968
-10000 797 292 382 362 395 987 626 627 631
-10000 632 337 157 594 778 60 276 36 196
-10000 864 856 577 94 405 982 266 421 313
-10000 517 893 353 49 597 718 234 648 774
-10000 502 361 30 675 692 876 456 612 189
-10000 165 747 93 313 455 812 882 555 766
-10000 794 419 582 632 591 847 247 972 678
-10000 375 535 864 793 425 196 343 828 816
-10000 988 4 28 28 712 292 21 488 416
-10000 123 919 648 248 992 463 172 375 346
-10000 838 969 45 318 683 352 284 607 436
-10000 526 596 68 258 216 375 453 821 28
-10000 795 736 761 377 978 970 707 941 540
-10000 193 698 761 374 913 882 946 316 363
-10000 540 80 530 828 229 564 898 257 367
-10000 980 852 203 658 457 575 820 91 511
-10000 226 29 756 492 810 236 307 59 37
-10000 394 61 469 708 832 876 357 742 218
-10000 678 334 581 446 608 501 969 15 456
-10000 700 565 473 247 668 447 450 360 621
-10000 434 248 157 493 973 278 638 50 48
-10000 921 939 544 0 361 265 994 587 28
-10000 723 293 391 953 231 380 541 987 153
-10000 829 514 701 931 29 899 974 923 287
-10000 680 58 795 346 369 579 361 293 125
-10000 347 758 701 945 144 539 923 209 654
-10000 946 691 657 591 422 136 745 580 20
-10000 941 155 337 379 608 196 802 32 373
-10000 168 386 993 734 25 68 722 320 678
-10000 572 845 407 824 34 431 653 303 14
-10000 216 369 271 148 506 936 104 317 354
-10000 392 88 306 904 9 682 958 728 17
-10000 27 578 528 439 363 70 22 691 157
-10000 217 547 909 988 84 155 452 18 386
-10000 474 662 616 97 884 582 420 463 932
-10000 128 938 592 389 493 860 884 862 885
-10000 409 386 709 865 380 241 698 238 150
-10000 842 209 234 318 613 179 574 213 914
-10000 7 840 903 349 701 679 964 578 593
-10000 946 775 352 506 512 832 397 816 251
-10000 976 16 837 924 501 501 225 211 521
-10000 847 495 800 973 391 797 464 318 174
-10000 741 212 423 663 950 304 937 798 732
-10000 16 56 392 913 94 724 456 418 46
-10000 888 762 553 135 787 692 467 169 701
-10000 27 771 751 878 47 789 254 237 340
-10000 20 532 778 499 955 988 5 796 526
-10000 873 75 617 973 343 246 763 996 826
-10000 320 866 21 165 982 848 991 250 409
-10000 367 793 144 289 451 503 546 241 557
-10000 692 460 942 484 671 653 886 46 76
-10000 604 617 941 225 12 698 36 798 556
-10000 266 424 329 808 539 908 465 714 901
-10000 474 191 799 245 3 305 172 685 445
-10000 250 70 522 602 651 315 834 507 764
-10000 941 465 458 371 515 484 885 627 70
-10000 81 207 698 412 7 14 321 858 573
-10000 334 664 122 11 361 642 869 96 676
-10000 566 823 473 617 326 459 881 148 797
-10000 650 947 932 700 288 699 343 911 599
-10000 104 448 843 825 395 877 105 377 482
-10000 16 727 781 112 924 902 922 925 49
-10000 445 23 789 701 313 2 521 834 75
-10000 744 918 708 272 237 601 706 528 561
-10000 398 312 310 702 920 121 646 549 456
-10000 932 796 244 735 824 746 869 515 29
-10000 719 687 485 265 724 944 452 879 556
-10000 356 672 304 617 59 82 500 770 364
-10000 470 503 795 409 473 757 675 168 330
-10000 805 825 342 26 303 786 654 673 398
-10000 763 263 942 405 287 663 363 294 523
-10000 76 266 594 108 884 652 726 193 323
-10000 139 690 434 532 259 722 262 691 948
-10000 964 105 937 6 590 943 834 740 988
-10000 615 77 842 689 548 386 420 828 771
-10000 333 387 828 312 553 551 409 89 868
-10000 525 761 394 42 384 164 706 127 139
-10000 747 723 266 751 302 250 142 282 674
-10000 1 254 330 560 946 374 393 641 214
-10000 447 182 86 321 603 76 896 224 897
-10000 871 687 361 458 593 782 471 2 516
-10000 130 241 676 92 142 173 204 55 925
-10000 413 185 150 253 971 414 409 309 887
-10000 211 705 713 226 599 132 575 955 635
-10000 659 494 704 444 296 844 110 827 24
-10000 333 118 608 863 640 439 367 30 60
-10000 947 652 211 916 441 826 205 839 127
-10000 522 703 199 101 905 510 300 857 707
-10000 155 395 543 382 646 420 710 703 104
-10000 711 39 981 168 661 481 921 555 522
-10000 720 798 302 338 546 601 911 410 680
-10000 226 402 888 122 455 779 309 109 667
-10000 481 817 562 479 758 814 695 757 726
-10000 319 457 376 662 729 849 888 28 567
-10000 982 281 95 345 460 988 257 425 554
-10000 950 661 505 678 102 692 983 630 412
-10000 521 631 964 532 746 675 306 870 742
-10000 386 884 687 706 634 990 272 570 495
-10000 342 135 509 555 965 826 488 828 533
-10000 973 852 60 136 799 345 342 175 51
-10000 96 450 167 757 832 179 222 447 433
-10000 691 460 810 220 428 856 977 961 542
-10000 293 426 358 514 808 89 526 37 924
-10000 804 523 959 535 377 993 387 986 825
-10000 761 604 34 59 957 934 302 729 819
-10000 64 374 631 664 444 883 626 269 133
-10000 183 832 915 177 806 801 840 539 879
-10000 156 549 854 304 693 569 479 81 859
-10000 478 844 833 61 539 969 857 755 158
-10000 967 936 679 600 177 625 444 612 976
-10000 696 427 135 859 19 839 810 773 176
-10000 337 749 961 773 982 845 565 246 425
-10000 448 516 348 19 903 532 588 943 150
-10000 253 165 544 565 812 932 346 877 887
-10000 544 602 800 359 743 741 933 851 501
-10000 110 472 557 231 578 287 902 211 584
-10000 601 774 428 809 993 421 57 11 631
-10000 712 926 871 522 440 159 701 538 465
-10000 694 351 386 805 327 780 313 476 658
-10000 806 8 491 14 923 961 856 214 257
-10000 761 469 431 349 451 662 965 518 110
-10000 645 396 735 616 167 616 691 721 808
-10000 708 532 716 733 677 32 827 546 502
-10000 928 299 642 762 477 797 754 763 592
-10000 957 871 205 166 841 729 572 525 980
-10000 363 304 142 966 218 279 653 973 207
-10000 926 280 407 817 341 964 640 649 182
-10000 602 924 314 767 237 621 402 150 540
-10000 234 515 258 776 988 421 420 857 384
-10000 108 527 985 926 237 580 945 834 997
-10000 695 987 548 769 38 142 118 244 745
-10000 143 769 896 506 58 452 824 727 560
-10000 235 740 241 821 91 492 20 345 938
-10000 672 899 494 456 425 78 3 568 894
-10000 749 219 276 235 875 94 687 118 476
-10000 699 594 661 947 985 34 284 62 633
-10000 896 874 697 105 718 651 670 973 173
-10000 895 80 539 103 35 373 101 239 734
-10000 705 278 410 374 444 906 384 761 155
-10000 11 277 484 891 150 25 58 486 302
-10000 602 37 191 168 866 150 269 695 596
-10000 76 636 134 425 89 426 219 161 773
-10000 161 75 296 398 77 270 779 16 72
-10000 93 958 52 932 760 175 963 375 28
-10000 87 912 259 273 324 676 574 161 259
-10000 460 478 74 309 759 48 140 171 925
-10000 942 266 637 801 68 815 624 563 689
-10000 496 168 776 376 184 163 698 413 904
-10000 998 353 494 392 841 200 874 807 537
-10000 669 212 92 47 419 113 212 967 94
-10000 148 17 57 96 880 271 660 998 614
-10000 631 318 506 158 829 213 31 457 867
-10000 531 121 308 871 816 522 678 218 827
-10000 149 781 690 471 540 70 708 885 923
-10000 56 25 369 4 17 689 776 892 392
-10000 857 331 476 507 258 197 27 230 163
-10000 344 905 434 511 836 555 283 354 969
-10000 806 72 803 291 5 904 164 650 314
-10000 984 313 404 696 125 87 460 908 127
-10000 448 85 526 340 881 661 424 290 759
-10000 150 100 429 124 636 586 488 869 908
-10000 710 216 40 574 582 675 942 40 593
-10000 521 64 927 935 985 963 469 979 848
-10000 641 250 380 439 341 672 203 537 968
-10000 369 420 586 740 733 762 285 288 548
-10000 313 698 478 206 506 369 280 451 466
-10000 363 69 355 593 326 659 997 764 707
-10000 417 993 380 588 543 804 475 139 541
-10000 516 388 945 876 513 543 225 224 134
-10000 115 539 853 329 911 86 295 208 517
-10000 283 375 632 60 481 904 158 25 617
-10000 579 843 268 919 407 633 695 550 255
-10000 668 524 709 636 443 601 377 197 374
-10000 692 825 314 142 539 703 993 711 677
-10000 992 760 70 646 556 474 359 352 337
-10000 660 766 711 867 754 919 435 460 718
-10000 49 587 978 869 426 707 578 905 635
-10000 10 628 748 773 199 259 601 12 55
-10000 379 270 254 183 493 282 877 803 755
-10000 337 818 207 642 498 297 419 321 10
-10000 838 858 48 840 589 206 662 215 644
-10000 728 184 553 799 56 794 24 540 920
-10000 883 274 152 82 133 478 283 517 99
-10000 921 723 811 355 347 872 463 187 906
-10000 15 890 36 39 978 247 216 874 24
-10000 773 776 544 935 593 714 894 873 482
-10000 757 504 524 512 163 40 750 628 873
-10000 271 346 446 163 477 341 875 336 396
-10000 302 988 303 673 399 832 220 691 263
-10000 459 721 306 132 549 348 524 728 147
-10000 255 137 922 408 446 361 354 449 472
-10000 390 681 66 425 45 168 973 786 728
-10000 727 678 937 114 217 550 236 729 682
-10000 718 978 222 676 461 897 235 150 498
-10000 481 419 815 474 926 200 821 655 33
-10000 11 207 239 494 995 428 204 254 959
-10000 755 694 926 46 391 281 6 166 743
-10000 477 570 619 337 108 488 888 482 808
-10000 596 177 409 456 465 609 1000 665 917
-10000 220 387 641 930 664 791 553 15 497
-10000 368 953 837 660 777 124 603 822 50
-10000 162 910 609 119 461 779 778 270 295
-10000 487 926 38 863 328 152 41 472 53
-10000 384 290 530 771 99 329 90 55 0
-10000 912 569 708 821 886 437 840 286 331
-10000 893 38 745 442 252 278 133 886 215
-10000 554 124 251 295 737 720 765 605 631
-10000 897 666 58 802 554 318 174 434 730
-10000 679 791 851 539 312 583 213 644 534
-10000 629 528 199 248 814 835 897 557 1000
-10000 333 241 399 887 788 635 168 152 87
-10000 67 980 464 855 444 70 127 781 405
-10000 717 67 83 22 140 619 680 14 698
-10000 638 131 67 600 367 467 486 17 686
-10000 863 280 62 519 659 804 686 994 993
-10000 443 158 888 653 47 694 321 233 209
-10000 538 85 181 723 258 620 553 18 940
-10000 528 738 983 743 295 951 86 285 566
-10000 645 38 836 459 103 22 586 90 692
-10000 965 967 524 0 728 673 956 440 460
-10000 24 343 474 586 103 182 930 827 208
-10000 361 673 376 447 152 394 59 99 121
-10000 66 355 640 534 543 322 113 676 383
-10000 175 470 326 823 590 345 817 528 571
-10000 647 764 15 127 723 539 546 176 231
-10000 744 301 814 101 442 474 572 898 80
-10000 700 494 847 725 210 615 609 362 339
-10000 957 467 353 74 521 680 466 992 611
-10000 184 919 520 189 237 808 19 95 917
-10000 109 453 309 631 825 279 61 307 932
-10000 61 970 717 229 58 235 776 668 942
-10000 73 982 193 597 184 21 195 96 914
-10000 43 146 277 283 169 64 282 877 44
-10000 626 126 309 168 924 432 894 603 726
-10000 420 888 553 181 933 545 448 13 481
-10000 107 200 438 914 18 827 483 559 905
-10000 414 735 46 925 653 169 161 831 770
-10000 294 969 36 860 110 511 166 466 1000
-10000 752 730 406 194 676 742 364 445 698
-10000 128 996 444 496 596 224 527 146 456
-10000 236 236 0 934 241 107 629 315 749
-10000 885 937 600 803 127 820 732 497 774
-10000 196 891 283 826 188 900 583 659 992
-10000 727 988 3 615 793 19 278 863 814
-10000 934 298 436 967 863 773 721 278 671
-10000 613 879 225 120 831 316 410 623 54
-10000 661 659 334 78 181 497 525 541 87
-10000 883 406 684 945 654 974 932 817 148
-10000 958 556 915 704 586 506 364 723 963
-10000 654 559 394 787 461 960 899 639 409
-10000 402 474 185 824 743 105 896 150 753
-10000 194 40 456 62 379 243 395 366 680
-10000 789 40 692 100 915 75 493 899 64
-10000 324 888 962 658 274 978 873 813 115
-10000 588 104 775 499 740 973 374 836 944
-10000 706 678 541 560 527 929 261 634 257
-10000 678 959 436 9 989 934 453 344 616
-10000 315 523 182 185 318 29 853 552 244
-10000 457 29 192 179 652 740 424 796 957
-10000 403 321 757 48 268 231 21 707 228
-10000 605 988 93 772 907 324 385 966 548
-10000 1 750 716 334 712 503 883 728 696
-10000 529 337 783 91 99 674 631 154 463
-10000 929 444 181 370 787 677 686 872 739
-10000 979 84 635 416 435 187 969 727 155
-10000 632 659 681 254 690 803 594 300 692
-10000 961 755 14 643 86 129 948 408 690
-10000 274 689 6 730 110 63 885 152 560
-10000 411 978 809 375 669 224 931 545 457
-10000 596 151 406 466 459 295 461 77 557
-10000 643 601 328 966 655 810 752 698 889
-10000 835 176 681 864 160 571 375 911 133
-10000 66 792 155 476 937 238 57 9 917
-10000 502 457 585 729 130 175 275 990 169
-10000 206 155 344 690 85 187 288 214 927
-10000 749 91 509 749 469 145 243 412 427
-10000 83 950 718 472 659 919 42 784 309
-10000 331 787 151 875 772 989 765 115 80
-10000 624 950 359 827 891 581 994 118 262
-10000 627 402 301 588 426 88 394 385 558
-10000 288 684 182 540 663 378 623 902 19
-10000 783 977 393 493 59 455 788 915 162
-10000 865 572 299 810 70 534 516 453 113
-10000 373 261 143 1000 955 497 473 784 225
-10000 789 684 928 460 405 205 457 818 867
-10000 386 789 786 794 838 189 220 690 544
-10000 765 297 316 884 205 159 618 641 10
-10000 109 684 482 748 405 501 695 614 601
-10000 122 398 123 142 696 579 148 281 670
-10000 43 514 541 488 347 101 895 228 358
-10000 878 469 867 795 909 24 82 44 923
-10000 743 526 20 820 48 661 510 203 269
-10000 809 258 215 552 880 588 939 202 651
-10000 790 17 922 539 672 384 587 771 494
-10000 923 16 576 66 426 215 955 661 7
-10000 751 669 665 184 237 92 392 747 75
-10000 74 346 433 193 925 853 141 484 506
-10000 771 822 845 381 997 563 223 230 851
-10000 903 104 346 338 737 728 955 569 315
-10000 875 336 785 66 857 752 843 773 404
-10000 984 789 472 374 703 183 342 989 76
-10000 794 278 845 797 870 919 232 500 499
-10000 821 227 275 457 110 348 916 653 948
-10000 721 236 117 664 373 828 65 886 153
-10000 430 551 127 816 347 779 338 663 139
-10000 741 157 945 164 348 947 851 727 132
-10000 375 437 174 84 405 525 297 175 436
-10000 102 315 57 547 553 675 168 190 281
-10000 155 27 766 255 968 701 57 534 204
-10000 697 610 196 842 360 596 434 99 735
-10000 563 85 684 436 202 304 58 459 311
-10000 360 237 377 476 88 642 725 922 809
-10000 389 936 776 944 656 793 386 935 501
-10000 463 192 439 753 905 306 437 868 680
-10000 23 487 368 466 992 159 439 179 987
-10000 449 96 403 236 203 104 4 207 421
-10000 993 342 617 515 231 350 213 101 495
-10000 49 25 107 587 992 966 895 469 977
-10000 458 381 99 423 644 885 100 29 977
-10000 908 403 695 103 928 38 422 204 261
-10000 819 754 467 372 991 236 668 501 453
-10000 456 920 328 344 942 312 909 506 636
-10000 622 172 349 63 794 383 865 113 48
-10000 832 63 560 947 900 773 965 439 347
-10000 52 243 300 133 792 511 360 696 775
-10000 265 349 474 182 142 302 946 928 804
-10000 702 899 220 94 270 376 672 879 185
-10000 802 944 168 200 909 759 527 211 181
-10000 148 46 421 976 382 885 125 176 755
-10000 859 84 218 708 855 779 662 797 705
-10000 815 430 6 894 986 78 348 945 218
-10000 124 878 406 616 894 139 750 822 649
-10000 677 505 740 969 369 92 675 495 85
-10000 587 886 188 232 998 275 159 359 353
-10000 343 324 350 362 634 7 450 135 535
-10000 886 287 877 430 825 309 790 695 62
-10000 362 692 264 686 196 997 84 366 364
-10000 635 331 695 331 842 714 7 246 144
-10000 941 363 831 389 228 404 849 434 360
-10000 292 528 332 836 970 609 44 352 948
-10000 364 622 572 807 621 990 404 67 102
-10000 769 399 414 226 611 476 696 263 143
-10000 896 225 80 353 306 380 603 903 112
-10000 160 848 323 586 520 82 714 493 45
-10000 894 384 21 853 338 842 556 46 643
-10000 88 253 766 612 966 227 304 169 422
-10000 715 290 118 926 495 536 502 665 811
-10000 215 549 446 42 649 200 269 306 437
-10000 213 239 350 199 585 824 999 661 365
-10000 972 712 30 376 349 397 533 353 828
-10000 923 959 185 698 534 376 684 714 389
-10000 538 525 260 738 262 504 212 367 362
-10000 379 161 82 390 244 60 893 362 490
-10000 855 611 757 314 740 510 21 500 136
-10000 434 344 655 943 346 885 516 782 61
-10000 442 380 875 833 324 836 644 908 921
-10000 819 681 227 584 814 922 485 562 863
-10000 64 302 385 976 716 172 814 845 18
-10000 791 720 65 819 160 757 553 654 213
-10000 427 853 61 663 567 702 219 290 159
-10000 411 765 122 207 468 953 90 916 405
-10000 486 71 994 858 882 122 325 558 912
-10000 110 690 609 400 160 694 543 138 654
-10000 704 894 730 845 12 629 463 927 422
-10000 953 618 470 50 437 533 743 314 787
-10000 591 355 428 999 104 724 457 435 421
-10000 423 762 811 148 972 832 33 506 85
-10000 725 977 307 612 641 175 204 187 943
-10000 743 999 68 736 433 385 374 746 383
-10000 134 46 626 57 65 593 69 860 842
-10000 915 335 906 138 100 161 575 728 933
-10000 287 444 481 596 799 174 398 659 81
-10000 79 358 974 462 748 810 495 6 285
-10000 761 289 155 698 3 431 363 211 897
-10000 433 373 715 870 308 367 975 873 770
-10000 331 705 467 501 516 13 377 392 329
-10000 351 496 711 670 186 462 570 307 216
-10000 827 361 523 342 366 778 311 646 314
-10000 930 207 50 928 176 825 316 471 108
-10000 239 467 709 462 350 145 702 905 598
-10000 490 825 944 673 193 475 514 323 357
-10000 655 426 123 274 369 801 237 700 977
-10000 710 167 719 824 890 946 934 632 260
-10000 593 345 414 368 803 564 680 768 563
-10000 261 221 740 733 913 503 859 378 150
-10000 386 924 885 352 154 388 825 790 73
-10000 975 273 263 925 999 753 317 674 463
-10000 430 768 380 656 670 654 342 186 603
-10000 364 83 411 817 581 41 684 381 154
-10000 979 279 893 546 759 64 653 704 997
-10000 959 61 545 799 399 183 833 368 82
-10000 508 374 559 352 585 102 301 854 958
-10000 990 616 286 559 307 571 51 349 806
-10000 398 943 136 990 779 40 93 227 664
-10000 739 687 302 103 673 312 108 528 483
-10000 448 119 770 135 850 468 65 108 245
-10000 666 464 56 977 521 551 515 470 638
-10000 886 843 400 786 536 87 805 353 850
-10000 118 565 760 819 95 90 260 900 569
-10000 27 487 222 433 102 670 882 987 650
-10000 297 649 197 79 471 903 892 583 453
-10000 964 907 754 255 390 164 205 104 15
-10000 535 600 146 783 793 598 405 949 923
-10000 211 933 426 273 656 372 220 646 254
-10000 826 707 582 402 871 31 278 890 189
-10000 41 570 855 390 863 108 475 703 430
-10000 903 998 359 432 708 979 295 638 542
-10000 641 54 220 579 575 813 505 66 805
-10000 776 654 480 262 974 746 640 632 457
-10000 691 944 635 299 456 291 987 898 126
-10000 194 619 891 295 24 961 409 863 628
-10000 624 854 163 836 521 384 653 362 383
-10000 946 632 297 560 868 928 997 690 816
-10000 137 282 490 930 665 577 645 712 838
-10000 74 920 761 691 260 440 21 496 828
-10000 820 863 928 415 717 801 904 988 988
-10000 458 450 674 782 677 28 447 908 268
-10000 42 38 615 399 133 414 64 490 816
-10000 678 474 189 347 790 747 394 950 290
-10000 878 53 647 510 749 806 938 459 853
-10000 171 499 421 971 574 699 482 579 974
-10000 334 528 8 295 554 823 318 461 441
-10000 510 660 318 749 754 637 972 558 629
-10000 80 402 340 274 419 296 211 617 989
-10000 785 870 436 856 489 719 798 279 389
-10000 947 632 219 107 92 134 1 673 309
-10000 733 379 9 475 160 756 459 407 341
-10000 37 516 385 335 887 59 33 685 246
-10000 278 535 977 329 390 728 496 832 632
-10000 86 420 95 129 483 415 107 203 631
-10000 22 223 836 221 371 899 809 296 801
-10000 809 85 280 653 645 643 478 251 957
-10000 596 356 534 295 879 662 715 433 56
-10000 311 670 869 372 31 473 119 673 302
-10000 504 249 455 166 541 50 662 763 635
-10000 724 398 315 539 621 429 37 3 502
-10000 663 913 925 653 738 990 166 339 716
-10000 825 447 792 353 48 0 845 962 715
-10000 115 102 560 332 611 773 603 2 843
-10000 83 988 911 22 492 774 423 428 533
-10000 336 14 430 103 557 249 894 710 756
-10000 229 202 871 755 359 17 633 751 403
-10000 500 370 520 387 564 414 392 91 272
-10000 317 867 866 207 220 277 867 813 808
-10000 238 110 227 640 645 340 528 898 692
-10000 231 620 8 765 695 662 167 747 671
-10000 187 353 456 34 970 552 584 554 103
-10000 120 993 346 596 708 571 498 453 295
-10000 117 138 655 383 63 88 3 464 594
-10000 971 601 5 409 89 591 22 871 577
-10000 204 306 913 632 843 781 27 233 735
-10000 331 148 19 954 909 95 534 303 974
-10000 497 130 982 959 118 115 870 355 179
-10000 923 761 661 160 849 898 271 989 520
-10000 834 716 199 228 217 563 514 224 844
-10000 335 915 930 829 61 464 162 379 200
-10000 924 260 941 768 209 601 344 734 194
-10000 496 609 589 990 905 231 620 679 350
-10000 41 570 880 761 34 763 474 534 709
-10000 688 128 900 136 379 961 140 57 327
-10000 645 477 314 155 969 800 965 113 536
-10000 583 934 731 791 672 220 354 992 912
-10000 503 142 70 669 461 526 893 521 370
-10000 548 955 985 185 549 28 876 295 719
-10000 674 59 736 878 69 311 838 768 140
-10000 973 940 606 10 980 480 981 722 493
-10000 369 220 579 359 736 10 203 443 148
-10000 639 329 832 839 619 346 150 958 706
-10000 425 136 303 395 562 244 107 894 992
-10000 169 210 472 721 505 64 440 747 186
-10000 799 466 709 707 517 844 90 545 931
-10000 427 130 950 189 146 655 922 615 659
-10000 356 270 578 370 949 755 543 766 348
-10000 145 494 154 755 735 290 17 496 605
-10000 993 532 284 407 545 120 793 112 99
-10000 732 819 407 537 662 650 313 306 41
-10000 872 484 324 918 717 26 655 548 640
-10000 284 482 473 118 763 837 442 698 510
-10000 684 380 485 125 186 128 412 208 15
-10000 552 495 751 402 634 457 923 55 610
-10000 852 112 608 919 63 528 99 406 962
-10000 162 482 960 633 661 76 445 356 106
-10000 989 594 448 807 506 924 653 304 143
-10000 182 189 759 700 342 792 700 212 424
-10000 443 335 42 849 4 119 372 516 405
-10000 1000 606 171 233 545 824 57 242 937
-10000 925 656 157 571 938 943 921 594 563
-10000 308 115 387 331 659 942 903 236 5
-10000 998 748 394 430 677 887 861 134 34
-10000 398 879 747 330 762 933 674 733 444
-10000 78 527 526 742 623 536 258 822 221
-10000 699 227 863 696 499 264 243 783 545
-10000 537 472 547 347 25 658 425 184 33
-10000 991 74 917 615 293 171 760 808 684
-10000 153 812 793 9 731 397 261 244 783
-10000 260 361 994 409 250 987 731 968 328
-10000 101 91 615 405 302 964 338 523 807
-10000 827 784 446 308 760 230 803 944 224
-10000 833 915 801 276 303 505 733 346 77
-10000 235 130 52 153 420 350 395 579 211
-10000 482 623 865 274 782 130 514 866 918
-10000 289 375 485 853 783 102 74 282 125
-10000 454 783 352 157 842 679 415 69 219
-10000 285 884 284 282 953 369 16 229 243
-10000 385 268 334 846 386 819 335 250 5
-10000 297 91 946 881 16 359 133 650 967
-10000 734 330 755 23 111 860 913 106 322
-10000 506 558 915 249 214 792 808 977 409
-10000 504 512 714 172 120 836 769 468 611
-10000 489 518 452 103 947 37 261 613 925
-10000 735 448 754 389 925 171 452 707 886
-10000 397 214 377 790 198 816 792 841 591
-10000 809 973 613 234 823 728 80 247 741
-10000 455 708 535 715 570 564 614 526 237
-10000 0 6 275 984 593 780 551 167 708
-10000 358 468 900 617 707 8 539 835 127
-10000 337 6 948 935 248 933 360 261 891
-10000 427 85 778 70 390 671 67 404 239
-10000 171 371 6 336 527 292 426 358 468
-10000 571 363 237 872 203 600 645 988 42
-10000 62 447 475 513 87 710 672 819 568
-10000 708 530 420 598 746 685 43 929 784
-10000 102 744 407 354 27 743 0 719 49
-10000 977 548 908 706 883 528 44 333 182
-10000 190 166 378 261 556 38 156 68 892
-10000 389 379 870 983 73 472 384 587 785
-10000 31 947 415 246 843 91 438 291 628
-10000 425 488 120 929 720 141 926 201 712
-10000 914 391 900 992 681 267 520 480 2
-10000 288 806 405 487 362 995 755 185 978
-10000 752 269 487 988 324 645 108 54 191
-10000 708 361 661 309 569 132 453 713 900
-10000 48 533 601 471 920 828 24 103 621
-10000 243 231 956 263 516 142 787 327 968
-10000 118 831 572 511 155 62 389 535 277
-10000 116 564 397 39 790 675 498 719 741
-10000 437 10 25 397 262 914 863 7 273
-10000 7 661 859 869 554 558 438 122 949
-10000 489 455 277 750 13 948 899 790 379
-10000 362 87 289 614 91 528 630 874 390
-10000 949 418 987 719 667 701 726 569 950
-10000 813 532 359 678 931 355 882 314 329
-10000 976 850 872 716 734 218 185 762 642
-10000 403 911 997 631 259 539 494 80 52
-10000 291 545 595 21 713 914 518 346 456
-10000 460 78 325 215 765 211 275 495 409
-10000 365 58 719 190 762 728 848 292 775
-10000 179 121 12 799 195 705 620 593 232
-10000 591 812 957 594 640 693 669 707 269
-10000 771 447 873 764 286 664 918 811 441
-10000 879 598 406 238 133 522 491 53 705
-10000 469 171 850 456 842 394 447 348 33
-10000 781 557 397 151 721 120 948 589 608
-10000 396 568 420 416 713 470 454 825 26
-10000 527 488 446 379 195 967 806 138 138
-10000 511 671 894 13 941 154 401 265 606
-10000 996 51 46 790 258 523 973 15 103
-10000 704 539 891 119 513 791 61 800 826
-10000 350 727 195 847 162 414 482 952 30
-10000 57 983 23 813 703 963 807 846 571
-10000 681 672 712 286 774 335 532 885 520
-10000 236 454 273 375 693 508 851 139 8
-10000 209 686 230 27 344 457 33 234 414
-10000 645 355 114 907 216 849 160 430 807
-10000 494 802 659 702 724 51 51 920 2
-10000 555 294 854 932 875 296 390 105 994
-10000 984 614 224 679 493 863 741 55 208
-10000 224 262 545 283 72 866 692 686 903
-10000 991 725 443 117 744 596 563 798 923
-10000 515 94 973 920 471 136 234 120 95
-10000 630 132 42 635 395 784 743 653 483
-10000 939 565 658 365 352 529 905 441 1000
-10000 864 962 268 26 774 471 989 368 917
-10000 138 412 453 955 793 416 786 540 984
-10000 887 342 745 531 247 962 248 311 296
-10000 472 118 154 882 830 364 334 130 273
-10000 757 811 324 507 880 776 67 907 858
-10000 705 620 698 469 38 21 711 533 455
-10000 52 729 949 849 826 682 443 613 536
-10000 954 441 442 804 465 995 356 135 352
-10000 842 644 484 811 505 693 979 433 90
-10000 893 784 313 941 361 873 999 263 400
-10000 125 227 790 837 750 148 660 681 955
-10000 884 208 749 484 256 886 903 188 307
-10000 518 573 219 15 11 252 12 92 503
-10000 899 772 474 634 54 425 786 825 365
-10000 611 253 482 62 919 875 243 839 659
-10000 828 21 835 311 380 81 86 981 98
-10000 569 464 875 670 127 157 533 49 817
-10000 705 781 816 406 28 21 161 71 334
-10000 167 177 927 194 662 254 607 741 651
-10000 327 957 206 666 170 74 566 214 452
-10000 438 802 399 713 685 125 297 828 997
-10000 85 952 376 885 51 41 950 963 489
-10000 62 411 468 466 134 743 366 468 896
-10000 241 672 25 772 907 261 198 576 504
-10000 343 209 30 76 97 672 543 162 499
-10000 974 544 995 372 183 521 853 66 639
-10000 396 291 81 178 735 793 592 209 581
-10000 377 224 210 752 370 9 78 578 874
-10000 59 32 914 254 914 267 958 155 499
-10000 523 820 592 460 737 428 360 554 868
-10000 993 743 467 502 6 374 282 341 692
-10000 338 684 922 153 210 620 602 729 407
-10000 753 366 840 29 252 770 723 86 857
-10000 123 653 147 272 837 311 230 803 922
-10000 794 218 53 105 324 868 432 758 396
-10000 661 288 932 724 458 493 772 262 758
-10000 198 906 35 1 314 540 991 597 89
-10000 801 203 556 346 959 462 977 755 434
-10000 187 222 980 606 824 401 844 289 28
-10000 1 183 139 965 18 146 387 575 255
-10000 882 861 409 653 634 690 815 175 678
-10000 739 653 802 312 136 522 546 98 820
-10000 216 686 817 775 143 772 703 157 744
-10000 851 368 304 581 904 410 379 843 896
-10000 246 74 846 931 930 465 36 822 376
-10000 496 456 83 565 698 461 764 106 457
-10000 768 998 438 876 144 670 37 423 937
-10000 607 490 590 756 612 331 577 797 407
-10000 611 896 721 103 552 523 652 39 954
-10000 627 415 16 688 120 142 899 873 612
-10000 767 478 176 757 397 417 181 949 233
-10000 869 748 327 176 558 637 240 776 437
-10000 756 184 845 540 983 131 274 626 844
-10000 95 437 504 153 654 330 65 347 365
-10000 704 918 412 528 931 529 119 493 870
-10000 85 25 232 576 410 526 713 221 647
-10000 275 381 553 1 408 23 912 144 702
-10000 332 806 968 254 612 1000 988 744 184
-10000 858 176 690 921 606 101 981 801 499
-10000 879 922 960 958 97 19 984 307 334
-10000 193 471 848 520 629 555 174 150 774
-10000 509 348 105 71 856 993 738 630 500
-10000 258 131 742 710 682 499 128 726 909
-10000 128 912 517 713 725 781 847 561 938
-10000 274 391 136 578 139 136 701 241 340
-10000 270 523 701 744 831 977 7 841 403
-10000 487 235 943 484 979 319 373 969 644
-10000 252 574 254 494 157 973 40 522 475
-10000 73 120 189 112 233 587 943 931 521
-10000 966 474 958 872 318 226 44 49 250
-10000 49 518 291 335 188 800 950 255 444
-10000 941 20 449 911 203 274 55 250 936
-10000 277 665 837 33 42 596 548 204 200
-10000 410 457 886 506 49 992 641 498 868
-10000 921 174 992 993 307 909 235 794 373
-10000 251 319 40 217 85 768 470 872 127
-10000 21 486 955 877 290 583 654 734 576
-10000 314 90 595 678 34 405 268 73 495
-10000 566 834 773 374 284 400 67 960 452
-10000 684 883 173 39 272 532 956 735 434
-10000 738 683 288 828 527 666 608 9 42
-10000 240 359 949 726 205 47 953 758 806
-10000 826 34 47 537 340 792 419 781 128
-10000 852 158 509 639 456 584 641 534 763
-10000 359 378 325 572 390 621 767 680 8
-10000 610 133 673 93 490 955 677 831 118
-10000 991 71 500 283 123 617 842 821 486
-10000 682 285 37 74 652 24 695 592 116
-10000 195 97 838 968 940 286 105 714 47
-10000 70 59 588 402 485 379 834 587 446
-10000 95 47 751 42 677 812 409 98 221
-10000 497 600 275 258 133 344 507 11 500
-10000 716 733 262 853 282 861 425 698 292
-10000 867 727 508 109 106 544 896 258 763
-10000 883 59 212 462 481 403 809 833 191
-10000 102 251 35 623 419 837 228 607 70
-10000 241 641 439 606 317 814 779 434 402
-10000 236 446 527 637 769 503 64 476 152
-10000 983 686 473 628 69 163 863 727 277
-10000 303 116 823 994 476 4 600 801 239
-10000 685 972 330 460 247 142 805 266 57
-10000 120 613 806 916 685 162 661 532 582
-10000 764 821 208 613 268 256 887 361 129
-10000 782 709 251 975 522 337 0 894 161
-10000 201 104 646 401 521 239 323 255 362
-10000 233 444 958 233 2 196 519 418 938
-10000 162 119 593 514 699 850 647 126 679
-10000 431 575 327 18 329 365 543 920 725
-10000 816 387 450 679 373 966 415 321 606
-10000 944 299 581 977 921 859 715 665 136
-10000 109 410 99 720 356 268 128 742 150
-10000 119 399 63 700 533 706 79 112 927
-10000 650 627 435 44 131 858 906 519 5
-10000 470 614 984 55 93 715 228 578 908
-10000 938 646 178 693 237 493 69 527 771
-10000 291 526 791 432 681 75 185 958 130
-10000 438 96 414 387 547 397 543 926 664
-10000 269 799 983 152 776 340 178 725 385
-10000 625 655 634 647 639 33 236 188 288
-10000 690 475 208 939 402 603 361 378 329
-10000 783 293 412 620 369 866 227 874 818
-10000 21 130 826 866 973 772 514 820 634
-10000 611 289 501 145 983 172 535 907 471
-10000 226 350 104 237 583 897 355 984 361
-10000 796 665 949 965 731 431 838 177 826
-10000 454 538 569 846 994 952 756 265 581
-10000 237 62 450 427 238 247 625 152 443
-10000 518 551 223 689 42 458 943 381 821
-10000 312 804 874 273 752 341 348 802 303
-10000 905 71 885 445 419 517 193 447 739
-10000 380 327 480 892 921 402 227 590 308
-10000 406 69 253 249 737 16 64 525 329
-10000 180 369 919 962 883 897 994 808 378
-10000 102 956 849 813 542 893 727 472 23
-10000 300 419 591 622 567 375 245 231 586
-10000 452 230 962 95 12 449 946 534 546
-10000 911 382 561 669 85 532 511 909 332
-10000 1000 16 875 121 433 206 261 731 888
-10000 711 412 435 208 311 731 863 227 32
-10000 962 494 69 765 937 312 191 547 636
-10000 375 583 701 7 613 437 264 231 434
-10000 510 552 7 930 438 959 603 523 884
-10000 657 840 567 468 81 322 409 838 893
-10000 368 465 655 739 650 791 341 951 477
-10000 273 755 865 801 980 454 824 282 681
-10000 396 716 267 677 892 348 715 578 755
-10000 470 718 982 918 680 481 656 703 440
-10000 667 272 986 160 823 426 995 360 86
-10000 408 898 388 480 176 108 907 835 686
-10000 107 36 139 933 501 67 48 257 266
-10000 845 915 561 308 558 890 471 488 426
-10000 543 845 428 304 896 953 12 806 95
-10000 562 129 578 520 981 251 535 782 68
-10000 935 689 115 779 89 825 377 201 254
-10000 441 990 22 747 403 897 551 494 197
-10000 144 489 239 562 325 435 318 290 443
-10000 137 960 853 794 367 48 934 123 229
-10000 975 138 522 16 796 239 466 322 344
-10000 158 831 801 809 704 967 724 20 722
-10000 478 123 52 490 118 780 889 553 668
-10000 681 174 30 514 15 342 336 255 78
-10000 242 823 187 817 705 109 341 957 887
-10000 386 452 954 927 391 883 878 961 975
-10000 308 884 937 372 178 210 513 586 940
-10000 863 830 189 618 821 75 319 533 7
-10000 904 373 990 433 457 956 59 985 253
-10000 784 518 383 319 52 916 842 645 541
-10000 343 31 460 606 797 879 840 594 238
-10000 197 856 842 595 145 922 947 900 434
-10000 35 422 29 572 243 866 103 392 421
-10000 180 789 177 99 912 533 343 252 890
-10000 188 280 566 391 745 15 783 779 654
-10000 601 343 611 998 670 667 61 957 564
-10000 604 473 757 851 824 997 38 277 84
-10000 622 80 789 400 788 74 324 851 624
-10000 181 351 426 313 104 499 598 567 142
-10000 999 868 435 989 150 727 867 168 371
-10000 944 356 481 196 410 306 627 919 959
-10000 16 430 715 679 104 490 237 598 261
-10000 303 115 61 893 317 725 486 591 713
-10000 840 185 130 429 537 177 626 963 247
-10000 3 295 243 572 191 872 301 49 398
-10000 352 943 874 182 426 903 249 76 824
-10000 591 728 464 462 903 991 795 255 832
-10000 593 541 172 313 451 468 131 441 81
-10000 23 870 117 811 625 721 236 956 898
-10000 87 843 171 758 354 543 805 975 123
-10000 555 727 937 435 84 563 31 224 426
-10000 219 83 766 362 48 269 841 987 655
-10000 596 420 827 823 327 657 329 184 358
-10000 637 590 145 966 21 341 97 618 621
-10000 240 817 269 451 706 782 572 947 627
-10000 625 131 35 488 765 976 444 312 608
-10000 442 659 694 484 465 907 300 672 546
-10000 100 818 800 87 495 297 831 86 979
-10000 912 93 799 79 814 633 250 720 659
-10000 189 334 913 656 207 59 198 26 315
-10000 361 511 906 492 533 664 560 959 175
-10000 184 787 135 888 919 411 266 226 496
-10000 1 714 782 445 603 740 716 722 161
-10000 8 728 212 783 97 10 691 499 217
-10000 752 373 970 832 180 315 126 584 15
-10000 30 140 253 747 183 702 323 583 622
-10000 993 912 412 678 365 275 911 795 346
-10000 310 712 549 319 669 479 131 764 654
-10000 351 222 175 899 779 109 211 951 932
-10000 573 936 533 142 577 883 443 539 515
-10000 704 793 391 806 533 769 933 983 515
-10000 442 302 850 655 949 722 3 892 844
-10000 883 71 771 614 65 102 334 845 46
-10000 325 117 481 980 102 790 337 37 895
-10000 60 787 522 853 135 977 161 583 246
-10000 77 828 989 38 733 943 695 471 295
-10000 753 798 310 983 217 23 796 329 953
-10000 4 986 319 649 14 183 429 536 250
-10000 267 684 309 238 348 337 770 572 729
-10000 710 308 807 490 374 386 274 700 293
-10000 967 653 576 166 594 417 59 151 1000
-10000 587 627 29 625 716 515 108 307 198
-10000 917 70 989 905 120 38 666 233 526
-10000 436 109 14 608 167 876 771 301 958
-10000 712 120 407 691 938 538 493 213 703
-10000 509 721 210 721 251 997 583 280 818
-10000 598 634 465 842 328 980 582 231 868
-10000 648 589 479 820 882 245 218 574 307
-10000 852 694 127 476 313 309 327 486 60
-10000 849 717 318 335 401 493 878 370 868
-10000 654 78 540 172 501 176 355 818 992
-10000 153 328 13 76 724 384 822 266 516
-10000 777 240 881 789 718 175 975 199 849
-10000 627 49 482 594 443 311 645 826 488
-10000 128 104 187 326 553 992 213 30 774
-10000 136 46 242 991 41 937 889 132 5
-10000 165 808 707 993 837 709 566 953 755
-10000 495 203 703 174 894 909 883 65 375
-10000 410 282 597 941 325 117 943 620 816
-10000 714 649 729 107 890 924 954 836 517
-10000 32 424 145 77 540 899 537 101 392
-10000 614 53 103 95 706 330 180 506 201
-10000 616 680 409 63 727 312 512 515 342
-10000 304 240 967 692 453 20 48 631 782
-10000 138 243 508 846 358 95 51 827 320
-10000 228 340 228 668 420 805 705 692 775
-10000 263 4 25 800 22 651 367 876 78
-10000 692 919 775 577 642 517 882 225 241
-10000 544 993 130 612 414 258 546 98 185
-10000 885 135 109 623 869 68 714 914 10
-10000 612 737 421 614 2 600 393 517 823
-10000 973 56 8 767 498 340 447 180 295
-10000 358 554 151 134 166 716 40 393 841
-10000 822 36 143 20 523 681 500 225 145
-10000 533 230 32 483 157 465 166 920 42
-10000 576 194 700 624 271 424 161 447 218
-10000 490 441 413 512 60 752 260 164 613
-10000 766 759 496 123 918 713 792 879 596
-10000 118 733 386 777 425 663 734 612 24
-10000 408 306 487 669 22 930 431 487 676
-10000 974 196 437 215 17 253 905 447 380
-10000 111 597 725 405 123 162 274 369 654
-10000 747 444 777 297 253 197 442 926 597
-10000 212 793 882 416 897 430 535 766 289
-10000 297 897 973 419 424 183 585 977 106
-10000 391 666 593 931 820 840 568 377 18
-10000 341 495 21 117 685 748 55 478 69
-10000 838 324 346 131 613 922 220 380 658
-10000 377 438 479 992 579 497 503 680 807
-10000 33 559 269 632 345 289 637 772 831
-10000 322 60 335 960 927 723 472 124 10
-10000 939 269 519 32 147 444 233 129 812
-10000 83 858 323 165 189 501 205 443 349
-10000 313 547 959 886 347 84 105 820 163
-10000 443 128 804 398 322 377 729 566 216
-10000 511 638 108 146 969 669 971 791 953
-10000 100 718 839 272 14 799 458 800 927
-10000 855 433 369 747 339 495 864 386 872
-10000 701 881 75 648 950 682 295 402 65
-10000 408 636 146 158 368 859 800 387 723
-10000 792 793 29 753 462 156 721 204 578
-10000 159 329 372 174 760 430 962 411 493
-10000 368 446 793 34 410 89 346 626 995
-10000 906 566 79 634 345 891 527 421 834
-10000 877 243 659 920 667 264 838 440 857
-10000 758 850 595 701 346 754 792 68 223
-10000 172 833 480 909 765 911 394 421 191
-10000 343 340 839 587 62 697 605 339 673
-10000 324 429 78 22 665 393 779 709 859
-10000 934 775 729 997 390 806 942 749 13
-10000 595 116 314 836 139 37 998 377 267
-10000 409 507 340 970 760 342 939 343 820
-10000 465 971 36 350 191 901 599 67 539
-10000 905 370 700 187 521 462 883 176 575
-10000 628 570 900 636 309 278 971 5 909
-10000 979 554 823 56 336 423 600 884 850
-10000 605 971 394 182 600 846 828 334 388
-10000 602 460 483 235 707 756 161 350 124
-10000 651 642 855 913 501 277 501 558 436
-10000 905 299 93 964 673 794 902 287 498
-10000 23 512 679 921 380 524 173 412 875
-10000 260 253 993 453 376 825 976 858 825
-10000 765 760 997 670 316 427 557 643 33
-10000 576 843 824 920 31 781 760 137 41
-10000 475 528 591 476 893 208 942 224 460
-10000 775 64 712 294 67 348 943 83 36
-10000 556 719 124 37 110 366 130 692 194
-10000 143 677 204 911 574 939 894 550 349
-10000 74 496 444 739 916 571 769 234 548
-10000 417 576 542 374 296 595 873 100 310
-10000 78 372 330 466 352 229 292 11 289
-10000 797 73 677 742 170 80 908 893 532
-10000 756 647 488 853 887 143 334 339 457
-10000 221 969 319 838 233 534 876 766 693
-10000 195 526 191 481 722 342 155 899 590
-10000 188 462 166 117 354 62 617 735 190
-10000 116 165 998 191 265 555 574 826 18
-10000 277 70 931 958 911 673 21 260 536
-10000 448 969 659 694 357 979 985 960 653
-10000 597 394 842 971 88 941 468 47 92
-10000 692 977 172 804 255 951 971 983 675
-10000 3 304 99 79 884 675 954 691 593
-10000 285 943 996 443 911 393 808 422 611
-10000 309 641 164 882 59 22 132 970 929
-10000 829 595 184 994 984 116 583 395 797
-10000 328 174 78 488 918 84 959 659 23
-10000 890 991 144 835 301 466 174 413 276
-10000 981 212 917 844 259 53 672 514 567
-10000 466 488 203 484 348 475 604 923 527
-10000 229 101 942 620 227 283 15 369 998
-10000 985 527 412 890 349 694 654 538 558
-10000 975 794 208 781 166 465 923 124 385
-10000 586 122 473 336 607 240 658 641 507
-10000 945 868 616 507 599 961 204 705 658
-10000 929 429 796 542 176 721 410 736 142
-10000 372 413 702 749 357 377 858 817 865
-10000 953 214 605 549 112 467 6 158 537
-10000 567 28 822 567 659 169 261 746 682
-10000 99 877 4 293 418 527 419 365 869
-10000 437 694 887 31 574 185 167 313 119
-10000 450 495 470 626 97 616 663 756 641
-10000 283 174 469 553 192 374 636 660 60
-10000 876 662 603 859 511 608 240 17 987
-10000 893 99 643 751 462 521 819 452 616
-10000 470 468 141 133 368 800 555 660 233
-10000 618 991 388 683 751 252 624 179 999
-10000 598 846 300 89 482 740 431 942 180
-10000 726 835 261 708 47 35 355 970 802
-10000 756 991 673 774 286 235 598 309 71
-10000 417 858 542 928 406 771 1 69 962
-10000 509 264 981 887 504 117 728 673 262
-10000 351 739 35 952 51 557 33 106 22
-10000 677 130 1000 902 801 138 364 967 522
-10000 812 37 24 815 77 326 665 111 773
-10000 292 214 402 559 262 865 134 35 225
-10000 922 241 860 339 494 904 249 277 418
-10000 793 874 604 103 7 372 113 633 878
-10000 708 922 231 507 172 567 293 290 166
-10000 899 156 592 75 468 963 203 39 824
-10000 140 284 398 159 657 237 632 945 275
-10000 253 630 994 814 927 920 40 166 272
-10000 88 414 984 732 420 181 256 594 985
-10000 43 597 574 142 41 957 392 912 203
-10000 149 546 260 651 264 383 499 7 23
-10000 10 136 945 330 542 490 192 703 336
-10000 10 138 179 889 161 678 22 850 547
-10000 540 892 722 511 964 320 780 738 440
-10000 609 631 987 345 94 593 77 350 785
-10000 797 231 247 317 705 569 54 113 308
-10000 794 87 902 485 759 751 476 29 44
-10000 134 802 994 12 346 572 142 142 987
-10000 783 490 394 401 357 991 225 950 876
-10000 843 406 288 850 751 912 355 144 197
-10000 737 718 789 441 154 948 832 735 557
-10000 107 397 552 204 862 597 486 889 859
-10000 576 427 237 144 812 603 682 72 76
-10000 194 14 160 113 742 861 87 859 233
-10000 742 797 791 625 477 231 600 389 715
-10000 545 429 196 531 461 819 80 445 111
-10000 197 690 201 741 864 144 845 128 569
-10000 8 234 655 26 900 107 413 805 677
-10000 369 835 976 903 248 987 79 610 294
-10000 969 811 82 690 930 550 950 163 390
-10000 84 531 211 3 189 173 48 586 234
-10000 757 92 329 207 115 516 262 106 325
-10000 349 891 314 632 186 850 758 811 766
-10000 564 89 900 918 253 813 102 732 745
-10000 905 67 933 192 720 835 681 403 478
-10000 789 766 244 864 31 604 983 829 351
-10000 214 750 994 670 299 221 904 247 86
-10000 938 221 478 4 513 505 291 311 520
-10000 606 370 37 159 675 665 206 760 725
-10000 423 41 132 887 128 182 38 645 838
-10000 769 758 469 754 408 674 855 649 277
-10000 374 143 65 539 616 179 820 256 986
-10000 376 759 974 487 602 841 931 136 201
-10000 779 647 951 530 552 33 858 399 291
-10000 227 957 116 396 676 803 736 293 483
-10000 790 506 370 47 670 25 569 519 184
-10000 32 921 117 379 368 943 363 695 79
-10000 133 358 555 940 61 651 36 183 896
-10000 23 735 410 294 469 450 466 73 605
-10000 496 300 415 578 531 129 693 115 450
-10000 106 402 740 376 919 90 417 483 766
-10000 642 385 354 100 912 352 525 335 364
-10000 455 231 914 41 83 895 364 770 770
-10000 563 690 991 417 685 821 221 629 833
-10000 572 996 498 36 13 665 420 154 861
-10000 653 199 180 324 378 597 100 473 939
-10000 760 634 655 43 874 272 662 597 921
-10000 470 145 253 251 584 580 714 635 264
-10000 127 427 288 87 15 950 963 679 929
-10000 934 186 688 774 740 128 988 381 890
-10000 790 160 313 329 7 343 758 531 793
-10000 595 234 757 771 203 725 130 569 872
-10000 191 463 5 303 824 501 415 401 273
-10000 325 290 395 147 168 798 742 73 474
-10000 452 554 385 354 890 871 689 815 630
-10000 513 571 460 479 97 62 682 871 339
-10000 762 33 593 375 619 439 974 639 834
-10000 545 695 519 161 49 593 447 495 632
-10000 483 261 45 247 157 585 200 623 641
-10000 754 636 574 113 914 986 898 119 179
-10000 680 296 760 606 685 872 896 938 59
-10000 658 284 213 883 521 421 34 783 592
-10000 85 647 342 953 850 210 866 694 913
-10000 749 994 767 483 575 631 195 756 363
-10000 447 790 298 428 660 595 123 627 313
-10000 527 902 193 647 610 95 890 757 4
-10000 900 58 396 815 981 626 734 953 612
-10000 714 476 39 86 442 553 836 414 168
-10000 234 862 618 986 458 95 885 653 633
-10000 243 910 339 420 419 4 297 236 337
-10000 360 548 651 156 737 160 336 410 999
-10000 174 262 819 146 454 221 237 531 6
-10000 489 612 91 539 647 66 176 473 92
-10000 153 814 39 914 461 606 77 489 133
-10000 31 585 792 512 106 330 602 125 514
-10000 948 878 267 256 106 439 102 707 610
-10000 761 137 547 386 946 129 182 634 451
-10000 415 471 992 284 803 434 918 815 295
-10000 445 284 192 473 176 92 132 850 921
-10000 413 399 548 231 621 250 858 511 365
-10000 576 52 669 83 561 786 192 314 162
-10000 435 672 122 995 667 481 825 643 681
-10000 561 839 101 499 28 399 384 566 490
-10000 692 936 260 713 740 555 596 111 77
-10000 460 692 209 944 883 167 190 932 220
-10000 931 926 657 613 83 162 176 313 584
-10000 802 563 738 650 92 169 450 304 959
-10000 397 197 830 978 854 904 998 586 23
-10000 151 899 657 357 538 876 209 812 746
-10000 564 620 997 180 830 895 990 990 289
-10000 304 213 913 284 70 660 510 665 222
-10000 249 625 425 739 63 70 637 200 461
-10000 200 43 335 965 142 238 116 992 29
-10000 414 313 294 827 898 639 310 540 749
-10000 318 60 153 821 939 324 951 973 392
-10000 23 58 93 533 576 425 623 678 640
-10000 309 842 578 6 764 248 377 369 528
-10000 356 303 911 618 773 55 369 267 405
-10000 106 25 523 633 378 283 632 138 305
-10000 193 470 325 98 963 393 793 984 650
-10000 341 569 857 144 489 876 347 562 723
-10000 562 45 327 227 479 76 407 986 135
-10000 682 20 82 627 354 549 275 869 86
-10000 385 423 147 410 61 95 549 481 939
-10000 166 766 533 937 847 965 853 944 313
-10000 76 919 180 360 435 186 692 160 342
-10000 524 804 836 856 434 524 759 627 379
-10000 741 72 886 946 407 76 702 436 427
-10000 558 101 422 617 712 645 582 292 104
-10000 896 743 610 525 696 572 88 421 94
-10000 274 995 150 364 466 803 250 39 484
-10000 117 59 764 917 807 831 503 680 915
-10000 377 966 25 219 403 213 792 883 16
-10000 191 361 703 584 696 122 583 659 176
-10000 29 338 422 549 882 248 151 364 25
-10000 408 851 75 183 108 489 827 619 533
-10000 285 600 459 863 68 574 347 92 1
-10000 205 355 419 340 210 14 333 807 735
-10000 234 989 789 723 784 371 879 925 119
-10000 700 901 290 373 355 161 329 928 277
-10000 887 196 405 453 979 458 935 142 869
-10000 813 965 781 188 986 671 557 896 47
-10000 694 899 966 742 207 293 624 776 688
-10000 171 568 112 372 511 32 278 135 489
-10000 89 748 999 307 109 681 59 661 159
-10000 684 690 588 589 826 994 302 341 367
-10000 282 513 847 696 643 465 855 335 753
-10000 590 475 545 712 812 521 981 516 584
-10000 64 963 763 361 704 248 598 479 169
-10000 593 409 114 225 252 829 842 577 125
-10000 462 213 156 565 636 756 510 77 18
-10000 574 692 216 18 998 572 188 562 41
-10000 254 312 738 371 121 953 850 224 543
-10000 370 9 711 675 859 158 91 680 948
-10000 473 801 628 487 578 509 78 982 814
-10000 809 744 641 216 835 845 795 903 613
-10000 529 665 542 771 978 366 570 454 421
-10000 717 701 77 976 715 452 893 200 292
-10000 526 67 684 921 884 210 584 564 871
-10000 958 302 123 935 332 893 676 976 986
-10000 844 291 626 688 571 324 387 65 613
-10000 664 463 516 875 893 817 937 294 663
-10000 20 857 812 251 288 740 28 213 845
-10000 623 150 668 669 912 548 176 141 639
-10000 591 482 124 831 600 877 864 6 773
-10000 106 79 89 831 926 545 75 963 276
-10000 387 973 441 771 292 68 26 39 432
-10000 977 451 769 766 343 440 458 313 538
-10000 145 344 236 82 238 968 562 573 7
-10000 388 161 70 220 983 533 515 380 852
-10000 741 56 38 932 178 256 586 237 15
-10000 298 910 898 90 41 196 802 29 115
-10000 626 66 273 442 978 35 541 148 153
-10000 174 378 440 679 976 167 251 881 476
-10000 132 765 349 665 272 868 869 513 430
-10000 112 690 872 660 579 919 55 280 232
-10000 495 390 830 480 41 199 70 78 438
-10000 614 59 843 194 789 488 221 766 971
-10000 257 674 282 690 776 857 549 716 186
-10000 375 535 227 959 940 32 372 848 809
-10000 350 665 577 405 806 888 85 156 787
-10000 28 312 42 335 176 485 769 177 404
-10000 426 584 39 170 437 179 603 771 123
-10000 117 810 928 317 610 890 926 19 982
-10000 410 826 630 336 99 841 788 597 61
-10000 103 342 146 922 879 387 230 32 657
-10000 922 311 746 673 581 398 935 888 661
-10000 971 579 623 567 720 336 677 888 622
-10000 193 26 512 88 583 7 297 28 874
-10000 464 697 257 140 336 607 49 854 821
-10000 715 91 58 710 46 349 911 142 578
-10000 387 679 174 757 853 131 907 639 212
-10000 653 885 506 403 246 816 592 735 233
-10000 444 855 345 936 73 368 631 972 101
-10000 160 117 543 514 724 85 325 263 152
-10000 673 231 253 243 861 403 869 812 419
-10000 51 382 338 479 745 336 666 534 487
-10000 549 116 717 249 752 706 651 694 487
-10000 981 901 621 921 831 263 893 170 349
-10000 546 983 513 437 394 476 661 22 999
-10000 745 617 487 541 785 440 808 288 164
-10000 492 391 916 990 750 122 870 634 705
-10000 848 767 213 480 336 450 790 197 395
-10000 986 847 624 709 436 453 75 942 17
-10000 873 352 232 329 417 541 265 431 945
-10000 306 975 388 920 413 475 19 147 990
-10000 565 414 124 324 434 850 655 970 306
-10000 820 60 784 784 816 240 809 597 195
-10000 100 416 444 865 620 710 721 603 461
-10000 887 603 271 823 664 971 194 619 999
-10000 678 367 475 450 996 568 779 965 349
-10000 390 375 20 296 462 228 56 166 463
-10000 268 997 900 206 240 924 55 207 13
-10000 299 570 707 730 757 869 696 95 254
-10000 232 803 212 473 549 225 61 445 766
-10000 479 27 519 930 876 753 62 691 192
-10000 400 69 437 484 83 900 951 172 91
-10000 42 597 516 281 466 364 549 602 540
-10000 822 200 430 966 930 419 949 810 644
-10000 861 890 953 1000 889 353 433 993 403
-10000 860 962 611 472 813 780 849 226 974
-10000 934 598 401 80 490 319 377 901 229
-10000 684 55 908 691 979 675 488 962 316
-10000 735 540 6 171 714 643 50 585 809
-10000 556 666 565 341 687 923 274 856 138
-10000 806 366 578 155 454 342 876 455 737
-10000 467 869 627 67 699 176 844 927 331
-10000 307 636 668 1 734 623 726 691 601
-10000 509 601 814 119 205 617 301 468 441
-10000 423 678 245 199 964 788 122 76 18
-10000 692 436 818 671 532 391 407 561 500
-10000 420 536 875 90 986 581 380 659 214
-10000 252 265 2 951 565 929 141 308 863
-10000 65 246 724 539 946 962 700 84 529
-10000 856 345 504 346 91 423 411 676 161
-10000 710 560 215 343 598 602 585 107 308
-10000 595 193 337 894 263 824 809 127 813
-10000 401 332 574 23 447 220 654 744 157
-10000 853 604 436 455 707 622 1000 703 709
-10000 505 595 84 80 925 425 81 751 657
-10000 983 807 612 307 681 212 356 128 217
-10000 959 656 622 499 935 754 503 99 594
-10000 895 643 214 469 496 203 515 325 814
-10000 562 597 960 974 417 222 757 430 160
-10000 456 160 836 749 953 649 188 522 399
-10000 196 585 345 346 121 430 704 442 534
-10000 340 832 108 342 965 649 740 482 317
-10000 540 13 134 636 167 271 502 827 2
-10000 351 468 838 485 198 263 663 598 672
-10000 313 314 476 222 703 226 928 101 480
-10000 51 581 449 611 416 620 1000 196 863
-10000 4 101 954 826 597 453 766 309 859
-10000 764 497 542 278 281 419 884 71 559
-10000 205 941 655 796 212 793 245 347 665
-10000 181 985 24 867 962 838 530 537 365
-10000 790 998 814 92 577 51 990 127 11
-10000 588 813 460 616 616 603 428 590 895
-10000 163 601 540 446 334 319 840 592 670
-10000 107 357 120 982 294 123 752 715 841
-10000 960 304 524 8 456 899 429 385 65
-10000 107 299 853 623 885 208 718 657 762
-10000 407 53 109 505 576 57 458 489 377
-10000 868 47 423 778 276 856 382 170 453
-10000 367 428 336 774 687 132 787 670 91
-10000 682 982 419 249 662 835 465 858 338
-10000 431 464 109 986 920 765 463 22 94
-10000 601 553 947 734 814 420 978 699 682
-10000 884 362 263 263 741 158 300 577 848
-10000 987 123 559 760 779 197 98 839 483
-10000 426 255 721 19 691 494 101 873 704
-10000 941 317 345 328 950 341 313 806 185
-10000 606 983 545 661 73 675 23 704 431
-10000 134 78 878 499 906 313 548 633 922
-10000 822 399 798 93 859 686 203 703 196
-10000 652 945 515 394 555 141 884 648 236
-10000 282 27 925 13 617 974 112 442 669
-10000 325 514 574 410 113 821 319 836 958
-10000 356 605 660 586 792 704 338 244 947
-10000 364 717 77 182 141 121 789 37 233
-10000 26 972 524 752 942 161 302 381 444
-10000 474 601 736 164 724 291 785 366 235
-10000 196 428 599 749 445 956 91 89 825
-10000 405 792 726 80 678 203 812 961 643
-10000 773 414 485 273 326 348 222 465 45
-10000 367 434 854 89 67 817 836 433 552
-10000 895 106 9 893 74 696 488 593 119
-10000 730 58 667 776 432 882 405 539 850
-10000 257 699 874 279 878 136 761 425 212
-10000 319 419 74 877 983 279 822 183 294
-10000 86 627 21 255 620 34 847 384 918
-10000 164 675 616 791 55 954 443 365 224
-10000 289 880 970 316 798 76 505 895 539
-10000 597 722 602 15 841 516 328 103 660
-10000 95 68 279 836 759 7 852 536 463
-10000 9 429 674 223 789 215 856 422 2
-10000 0 59 845 1000 532 424 516 348 620
-10000 202 923 909 149 242 95 216 316 672
-10000 828 246 461 149 105 91 152 584 326
-10000 455 545 112 1 718 912 791 757 860
-10000 455 792 204 894 543 722 346 174 580
-10000 325 902 714 397 239 130 836 392 836
-10000 264 12 778 640 913 923 154 892 198
-10000 309 931 306 679 486 700 303 145 438
-10000 715 138 20 242 966 36 869 812 868
-10000 704 141 702 667 440 12 642 10 944
-10000 623 859 857 631 849 770 267 8 329
-10000 610 322 547 27 366 987 785 867 809
-10000 97 578 331 665 409 596 156 851 292
-10000 203 951 910 794 358 41 819 419 167
-10000 570 32 198 386 205 760 60 994 660
-10000 383 349 553 172 382 88 753 803 195
-10000 439 260 522 57 881 604 676 915 155
-10000 896 273 190 192 785 808 951 434 821
-10000 437 408 231 19 84 308 921 970 386
-10000 451 255 99 620 817 527 335 551 155
-10000 0 944 561 654 713 977 505 171 556
-10000 525 109 559 572 786 709 54 716 100
-10000 701 251 682 371 422 232 165 263 430
-10000 768 302 247 40 982 457 327 102 740
-10000 617 827 70 956 516 903 175 101 958
-10000 785 663 685 547 200 981 68 727 975
-10000 299 738 348 876 301 759 446 369 891
-10000 805 68 170 565 63 158 85 770 322
-10000 110 612 617 680 684 538 254 445 212
-10000 121 339 53 97 667 29 80 585 262
-10000 166 703 189 15 837 285 271 977 92
-10000 154 669 962 454 950 493 20 966 26
-10000 469 366 192 506 161 834 739 761 635
-10000 828 781 36 589 699 803 607 599 790
-10000 578 330 464 838 853 966 225 750 304
-10000 564 702 347 663 483 523 688 185 443
-10000 837 161 940 504 289 498 2 569 55
-10000 495 442 11 811 908 627 567 699 596
-10000 883 408 468 533 416 216 760 3 55
-10000 975 117 70 87 485 235 690 505 14
-10000 579 132 973 936 149 402 767 346 710
-10000 994 822 9 812 966 226 829 239 808
-10000 44 215 11 291 853 473 751 441 51
-10000 203 600 635 16 588 808 34 451 568
-10000 399 75 369 641 987 358 147 388 179
-10000 192 828 722 658 858 449 522 7 733
-10000 474 425 353 148 955 823 726 336 67
-10000 702 465 194 717 835 221 402 695 730
-10000 194 703 498 798 441 244 61 142 239
-10000 207 374 725 704 41 482 20 604 241
-10000 6 879 184 348 548 576 140 610 202
-10000 293 620 493 10 780 794 914 190 726
-10000 368 270 350 505 548 741 161 365 828
-10000 8 14 516 999 205 677 354 98 197
-10000 930 447 282 147 446 70 802 829 899
-10000 508 276 714 199 46 608 45 207 851
-10000 193 648 992 190 308 129 270 315 329
-10000 245 638 174 896 838 439 627 847 37
-10000 371 311 691 755 904 537 652 549 225
-10000 421 630 66 219 244 74 72 976 58
-10000 702 525 995 80 194 129 203 417 431
-10000 431 777 44 895 421 464 77 175 851
-10000 214 472 500 94 289 73 220 34 165
-10000 184 461 523 762 174 938 153 534 319
-10000 386 129 636 806 228 345 90 891 507
-10000 107 403 665 590 579 513 74 776 82
-10000 230 918 817 251 285 256 985 656 644
-10000 919 630 842 76 14 34 971 165 335
-10000 667 319 286 519 968 467 84 585 599
-10000 774 814 959 89 750 846 64 896 644
-10000 474 711 50 502 660 382 19 256 845
-10000 727 635 783 980 341 259 490 752 617
-10000 410 189 947 458 948 128 642 353 998
-10000 461 791 881 160 318 955 525 523 884
-10000 233 114 10 99 283 489 936 580 577
-10000 92 447 949 854 343 519 223 716 706
-10000 424 121 454 190 6 374 880 83 563
-10000 549 348 44 606 557 956 109 181 823
-10000 550 876 291 810 787 963 105 454 27
-10000 89 646 816 304 802 656 352 24 828
-10000 793 348 667 133 615 954 982 864 644
-10000 846 709 88 369 238 519 629 904 465
-10000 340 1000 185 513 537 586 321 414 395
-10000 810 999 365 498 359 51 497 17 454
-10000 91 820 867 829 468 198 894 138 72
-10000 53 176 428 726 631 767 13 295 300
-10000 661 540 27 221 563 724 767 224 362
-10000 8 315 169 875 218 294 393 369 81
-10000 156 345 521 588 535 441 928 70 874
-10000 45 212 891 727 308 994 491 634 120
-10000 717 641 995 805 107 330 943 461 93
-10000 251 987 51 133 679 503 572 184 512
-10000 568 178 24 654 254 232 343 346 457
-10000 50 815 877 278 626 1000 577 652 791
-10000 227 356 336 516 441 949 357 779 498
-10000 65 965 369 593 343 262 828 86 759
-10000 520 285 968 256 373 336 361 495 762
-10000 985 482 49 781 275 8 211 381 476
-10000 488 55 514 436 62 678 578 593 735
-10000 355 639 322 446 301 71 786 723 904
-10000 668 888 455 208 172 764 181 582 1000
-10000 665 931 455 238 338 720 184 655 705
-10000 386 34 939 505 257 821 571 853 290
-10000 201 395 814 245 843 309 495 669 793
-10000 646 689 23 921 599 488 573 724 164
-10000 409 494 550 714 489 113 231 220 386
-10000 801 737 757 616 469 976 568 230 274
-10000 21 378 813 806 981 189 787 821 879
-10000 874 543 466 646 281 603 231 359 282
-10000 756 870 828 396 317 8 797 366 451
-10000 744 632 405 772 914 714 125 994 553
-10000 470 938 76 29 741 373 993 18 635
-10000 651 710 398 1000 549 67 875 174 91
-10000 712 166 114 323 35 207 636 755 686
-10000 719 395 426 208 598 249 498 941 693
-10000 104 39 19 554 502 813 810 255 666
-10000 470 482 970 162 955 752 249 738 728
-10000 50 706 463 646 451 250 847 866 21
-10000 129 912 909 509 583 241 585 611 432
-10000 172 599 562 605 243 941 429 568 628
-10000 831 876 627 217 942 998 804 836 983
-10000 446 99 646 309 561 447 739 715 635
-10000 906 175 430 163 438 183 332 417 441
-10000 617 159 337 532 913 471 978 133 297
-10000 678 906 855 71 944 383 510 303 255
-10000 659 388 387 894 720 661 682 708 745
-10000 800 490 978 330 152 784 495 814 681
-10000 370 112 117 930 491 25 10 117 449
-10000 865 615 134 60 630 791 567 867 79
-10000 699 865 672 183 645 536 74 485 671
-10000 209 636 635 664 618 790 308 387 192
-10000 245 645 670 750 558 414 125 348 742
-10000 478 405 573 997 582 749 799 74 963
-10000 827 552 317 36 639 789 318 42 659
-10000 121 648 81 345 667 468 516 150 652
-10000 569 226 308 0 384 387 651 433 935
-10000 879 856 439 660 116 147 865 194 179
-10000 986 913 478 8 4 83 984 845 995
-10000 965 108 618 485 442 936 620 972 47
-10000 651 62 707 746 3 733 386 9 659
-10000 675 251 130 637 539 158 306 554 260
-10000 69 285 796 632 393 591 884 833 477
-10000 537 406 933 972 463 837 486 446 502
-10000 613 922 410 762 645 128 248 368 523
-10000 579 146 216 867 926 767 954 874 530
-10000 933 552 242 236 558 752 676 495 872
-10000 268 845 253 903 503 393 551 593 908
-10000 436 856 224 114 310 816 421 352 222
-10000 720 683 983 818 954 339 621 946 696
-10000 926 630 14 806 971 483 513 143 890
-10000 796 718 71 391 613 136 626 543 326
-10000 748 843 614 703 403 507 748 629 79
-10000 696 732 122 302 499 423 781 925 893
-10000 792 238 478 66 319 67 984 490 218
-10000 352 447 323 433 886 367 370 955 59
-10000 136 776 671 485 717 780 767 24 874
-10000 846 957 788 779 878 583 385 133 778
-10000 471 968 878 922 606 318 340 811 769
-10000 610 234 549 361 748 846 983 518 840
-10000 755 444 469 528 188 631 895 515 959
-10000 498 364 929 957 258 396 188 72 295
-10000 574 553 168 736 390 187 256 312 283
-10000 717 396 794 981 301 616 633 329 96
-10000 44 28 230 882 154 688 827 377 908
-10000 200 875 541 153 100 867 216 41 968
-10000 763 211 445 108 224 676 703 40 231
-10000 27 665 512 981 192 105 802 352 964
-10000 465 350 327 135 444 340 439 518 209
-10000 165 450 274 548 668 689 286 346 237
-10000 493 182 900 426 165 710 353 64 924
-10000 646 410 878 577 841 527 457 228 575
-10000 105 634 646 941 380 218 76 132 703
-10000 219 383 637 496 592 309 673 400 956
-10000 973 953 518 381 646 79 276 626 224
-10000 876 136 886 811 647 556 113 148 268
-10000 132 334 166 835 972 283 580 610 948
-10000 994 481 491 670 892 387 586 677 443
-10000 409 755 305 934 776 822 609 617 526
-10000 889 353 168 910 418 619 896 549 77
-10000 218 95 283 580 421 883 55 221 378
-10000 521 693 765 332 256 983 866 628 414
-10000 760 750 941 97 959 46 827 378 827
-10000 895 30 197 403 153 77 104 181 966
-10000 948 226 654 326 134 37 337 842 561
-10000 457 871 356 602 333 187 205 496 305
-10000 653 962 199 338 532 658 64 896 973
-10000 245 595 774 61 666 307 690 75 585
-10000 441 928 335 217 637 766 333 595 856
-10000 731 355 662 757 446 58 114 598 990
-10000 857 178 495 698 652 997 965 344 454
-10000 252 33 20 278 397 627 943 186 565
-10000 101 583 661 60 470 637 137 83 81
-10000 414 624 297 457 292 136 170 95 89
-10000 469 84 330 841 749 209 504 623 394
-10000 249 538 69 968 236 25 545 245 372
-10000 124 325 575 510 305 673 882 371 614
-10000 402 764 486 103 96 788 559 307 339
-10000 131 48 655 614 441 540 420 95 993
-10000 607 44 870 214 912 979 220 506 485
-10000 60 905 396 766 36 861 496 100 390
-10000 98 6 765 851 647 159 762 916 927
-10000 79 284 585 813 498 754 376 464 853
-10000 372 978 213 607 77 443 742 270 451
-10000 355 142 800 573 614 560 138 123 202
-10000 363 921 401 782 97 860 745 927 362
-10000 31 384 719 247 711 457 965 326 242
-10000 551 845 502 917 903 251 88 592 329
-10000 488 66 469 808 23 974 222 745 971
-10000 85 763 747 189 58 109 55 764 17
-10000 268 580 52 85 433 241 379 77 617
-10000 86 390 899 388 115 373 722 903 324
-10000 710 872 655 577 937 752 282 311 304
-10000 399 557 20 708 499 310 376 257 404
-10000 98 92 254 568 339 367 66 594 671
-10000 506 696 122 926 240 268 700 151 878
-10000 830 775 404 168 648 182 792 412 42
-10000 594 785 141 30 344 915 579 864 147
-10000 445 208 157 858 232 176 905 403 535
-10000 380 532 488 961 769 894 841 317 809
-10000 459 171 387 799 444 921 535 737 632
-10000 76 661 399 832 955 811 379 542 152
-10000 340 801 922 93 761 876 503 776 928
-10000 405 558 207 906 735 465 724 817 983
-10000 757 998 394 593 907 66 932 91 696
-10000 691 401 32 920 992 79 374 383 678
-10000 17 771 794 55 733 694 720 261 859
-10000 820 418 457 361 82 733 812 116 790
-10000 631 916 359 839 690 995 747 595 609
-10000 186 766 309 807 474 337 106 922 247
-10000 746 597 537 177 791 695 636 499 978
-10000 517 901 878 4 819 559 719 124 631
-10000 300 492 815 782 20 486 613 964 644
-10000 425 285 682 750 912 451 60 794 752
-10000 357 664 459 550 994 370 553 331 997
-10000 445 301 909 755 791 461 840 522 44
-10000 835 412 803 910 53 517 388 142 504
-10000 188 310 994 588 248 388 471 556 868
-10000 419 318 968 989 68 171 474 49 164
-10000 580 159 794 691 442 838 647 423 769
-10000 914 855 287 85 949 800 565 1000 47
-10000 891 195 353 741 644 579 730 540 427
-10000 101 607 7 136 881 680 537 679 338
-10000 762 199 946 652 141 328 445 212 376
-10000 324 833 262 887 804 626 516 845 326
-10000 34 546 538 482 163 344 9 390 484
-10000 713 459 814 419 572 646 46 660 344
-10000 936 405 838 494 755 67 627 543 54
-10000 297 358 122 697 451 676 480 630 649
-10000 431 121 136 347 348 765 629 496 120
-10000 668 1 855 584 59 426 272 258 698
-10000 946 16 566 268 410 552 146 992 367
-10000 893 289 419 454 684 581 75 807 197
-10000 613 207 147 604 102 66 325 346 612
-10000 601 770 614 754 681 981 58 108 90
-10000 973 323 8 603 931 472 830 394 373
-10000 913 692 906 798 223 168 935 343 215
-10000 322 716 391 237 80 829 745 157 50
-10000 459 840 350 783 580 578 651 678 138
-10000 977 309 345 362 964 607 116 388 584
-10000 245 335 845 846 833 743 414 300 105
-10000 191 348 137 307 912 185 674 709 707
-10000 264 616 217 268 310 609 813 78 66
-10000 951 192 795 464 372 783 89 946 280
-10000 355 560 799 919 100 838 736 665 673
-10000 738 821 881 272 475 921 487 717 682
-10000 474 993 912 794 178 320 300 870 725
-10000 702 407 641 45 703 655 723 944 879
-10000 514 112 205 133 131 3 416 814 490
-10000 932 153 759 783 82 699 265 246 156
-10000 392 958 369 208 44 134 795 376 850
-10000 373 102 999 690 393 695 179 514 64
-10000 869 590 435 847 49 278 604 65 860
-10000 290 757 835 414 569 357 512 805 239
-10000 655 951 920 447 553 342 407 449 968
-10000 40 321 346 860 888 240 255 191 355
-10000 630 91 945 755 505 863 326 270 925
-10000 262 85 712 657 195 22 158 809 175
-10000 839 186 12 388 271 619 116 290 375
-10000 883 695 870 179 733 298 255 672 953
-10000 98 311 292 605 64 788 926 10 350
-10000 448 683 154 85 936 672 857 87 461
-10000 427 590 329 321 427 365 161 242 718
-10000 46 962 23 897 270 863 466 326 742
-10000 599 528 488 563 437 548 122 697 631
-10000 83 554 900 900 195 517 324 236 249
-10000 544 556 564 550 315 491 889 500 69
-10000 323 619 620 885 1000 986 228 297 172
-10000 916 825 277 121 300 346 339 798 279
-10000 767 885 856 77 819 452 453 246 733
-10000 427 603 636 961 302 263 890 717 779
-10000 42 568 38 397 539 52 226 41 525
-10000 804 655 687 425 794 924 721 442 542
-10000 830 895 872 255 3 777 541 648 507
-10000 500 19 977 511 191 286 807 745 675
-10000 565 343 34 241 495 50 589 482 848
-10000 861 711 719 137 64 143 36 607 715
-10000 403 993 132 529 886 460 120 576 841
-10000 423 406 248 306 353 139 118 438 562
-10000 444 166 3 659 762 111 828 269 12
-10000 518 758 952 201 887 398 348 607 507
-10000 294 277 267 770 722 60 696 491 306
-10000 743 970 112 665 429 484 142 351 2
-10000 567 302 128 386 968 47 302 130 610
-10000 968 699 572 806 93 700 38 479 243
-10000 320 651 251 835 361 89 460 273 557
-10000 520 190 622 843 730 517 779 810 389
-10000 203 690 602 635 901 401 568 398 990
-10000 421 606 935 963 607 665 127 191 735
-10000 453 756 711 389 767 748 680 69 916
-10000 867 766 18 367 516 868 710 354 686
-10000 963 256 209 827 365 9 109 628 564
-10000 446 194 481 50 305 633 878 844 581
-10000 350 807 544 695 232 796 299 416 561
-10000 913 997 393 648 213 487 340 291 387
-10000 562 506 651 674 494 251 814 633 879
-10000 971 980 186 40 630 849 69 454 857
-10000 147 105 113 700 313 8 212 903 410
-10000 539 94 609 127 31 813 96 644 766
-10000 671 961 941 730 421 117 733 440 351
-10000 958 710 365 856 172 468 112 188 921
-10000 948 689 683 23 931 243 134 252 405
-10000 471 908 132 301 137 997 493 138 551
-10000 566 396 616 47 933 558 444 212 848
-10000 607 410 457 245 97 937 969 892 441
-10000 359 182 949 75 428 162 833 253 663
-10000 802 877 560 65 781 886 319 635 993
-10000 553 312 165 449 336 679 700 782 212
-10000 988 392 720 483 617 95 771 37 472
-10000 704 406 363 547 466 807 575 107 578
-10000 972 886 549 553 354 208 43 240 878
-10000 509 534 745 620 761 905 365 769 350
-10000 817 327 211 606 132 305 775 146 747
-10000 513 283 244 417 514 277 176 248 621
-10000 728 247 612 271 858 132 197 936 101
-10000 333 781 111 336 913 966 716 144 573
-10000 289 382 131 141 454 200 484 932 189
-10000 862 236 127 783 12 957 477 816 638
-10000 133 751 864 613 917 409 357 98 881
-10000 686 84 750 136 572 948 263 546 401
-10000 576 179 71 446 282 390 108 676 928
-10000 442 602 859 752 443 387 657 955 297
-10000 723 534 845 403 921 128 486 566 114
-10000 255 316 693 197 378 715 869 36 726
-10000 398 652 482 36 74 791 550 955 1
-10000 927 605 118 89 519 70 458 796 967
-10000 540 470 704 678 212 369 112 186 653
-10000 907 182 774 822 142 608 358 449 259
-10000 555 891 952 266 343 975 84 661 24
-10000 619 350 91 140 691 232 290 571 666
-10000 730 856 741 357 733 435 630 7 616
-10000 765 638 476 963 210 896 382 582 965
-10000 75 816 942 757 100 247 137 474 398
-10000 323 684 355 743 295 961 269 242 593
-10000 224 446 95 52 478 870 744 167 310
-10000 250 531 382 359 804 218 608 882 12
-10000 872 982 191 510 113 97 304 985 551
-10000 883 595 960 347 89 787 519 885 34
-10000 983 101 939 866 270 30 968 731 435
-10000 572 523 982 426 509 378 369 357 479
-10000 681 206 172 536 307 160 110 359 492
-10000 77 751 964 127 455 162 620 893 17
-10000 112 877 358 296 553 372 337 254 887
-10000 198 381 387 489 267 812 152 557 260
-10000 845 25 1000 304 837 794 131 592 556
-10000 670 308 260 128 652 928 966 941 559
-10000 830 148 127 786 191 217 485 174 851
-10000 618 786 269 632 821 364 36 202 347
-10000 138 66 153 949 208 70 20 269 224
-10000 260 26 142 574 980 985 311 767 585
-10000 86 902 859 583 12 688 622 117 636
-10000 769 510 982 368 829 171 376 193 628
-10000 198 460 278 987 97 932 64 327 448
-10000 910 585 14 211 86 414 256 711 377
-10000 488 983 730 698 254 292 569 485 964
-10000 376 876 311 446 653 773 438 58 740
-10000 548 935 863 30 809 376 621 13 46
-10000 192 725 536 958 541 346 370 75 69
-10000 499 724 144 60 302 195 246 483 307
-10000 650 129 873 478 50 48 113 86 520
-10000 54 353 996 155 122 572 871 984 368
-10000 157 693 291 512 98 105 84 312 362
-10000 557 465 416 575 858 383 902 284 211
-10000 438 166 506 633 847 742 609 256 674
-10000 771 456 172 497 429 933 762 459 816
-10000 197 31 439 438 17 827 183 199 977
-10000 236 756 387 927 491 820 699 183 518
-10000 263 865 416 223 276 522 330 876 945
-10000 589 905 80 888 676 186 410 902 775
-10000 348 600 341 495 356 320 725 366 566
-10000 391 763 238 762 6 880 763 789 883
-10000 815 625 51 905 782 155 8 256 217
-10000 802 601 602 412 78 721 1 129 477
-10000 45 942 479 297 866 264 179 668 128
-10000 994 360 827 1 95 392 965 374 578
-10000 659 734 679 601 74 836 90 213 957
-10000 953 832 486 789 193 778 389 568 126
-10000 621 954 660 462 483 816 167 597 424
-10000 996 566 383 812 65 341 996 338 419
-10000 212 410 530 210 439 933 965 796 100
-10000 284 953 381 406 349 827 573 874 339
-10000 397 380 511 298 254 664 175 687 36
-10000 816 448 666 113 523 177 588 514 933
-10000 578 436 644 489 372 519 167 744 172
-10000 857 871 13 830 535 647 875 594 777
-10000 71 440 192 460 953 5 871 740 438
-10000 398 758 997 298 131 405 308 445 0
-10000 405 471 591 334 535 6 497 248 443
-10000 954 687 416 416 790 969 685 536 686
-10000 317 349 300 284 269 247 227 879 797
-10000 515 316 372 529 277 543 355 343 297
-10000 516 260 273 245 899 153 248 773 762
-10000 16 304 756 87 48 132 977 695 657
-10000 887 693 396 641 461 939 586 972 70
-10000 164 12 627 962 929 527 860 942 989
-10000 750 526 465 565 345 994 452 603 915
-10000 80 480 830 523 419 547 107 412 742
-10000 28 287 107 848 977 981 667 571 81
-10000 521 148 573 552 569 939 260 101 720
-10000 999 444 332 376 9 874 759 795 33
-10000 905 560 160 582 535 829 433 979 480
-10000 859 200 375 479 442 588 730 367 808
-10000 150 775 359 998 872 437 632 791 370
-10000 939 732 98 914 148 721 946 372 461
-10000 295 178 999 1 170 624 235 441 975
-10000 736 48 371 858 866 314 403 634 34
-10000 537 162 189 741 973 804 187 959 547
-10000 573 82 523 135 440 515 616 162 498
-10000 194 260 996 397 861 16 674 854 495
-10000 448 46 704 131 510 901 350 950 294
-10000 637 167 258 798 270 261 254 853 130
-10000 62 211 215 473 670 586 426 261 226
-10000 651 157 855 228 334 69 221 281 370
-10000 999 811 603 581 674 20 127 220 715
-10000 603 589 809 339 418 547 44 471 655
-10000 13 797 929 432 749 592 982 756 692
-10000 655 750 581 447 852 739 263 699 930
-10000 227 748 251 345 213 945 738 669 847
-10000 844 41 193 787 321 739 137 5 909
-10000 267 794 833 397 906 155 260 767 137
-10000 828 779 710 661 73 993 420 121 735
-10000 626 745 379 758 830 863 376 54 159
-10000 158 651 890 423 15 906 588 322 725
-10000 74 643 766 571 212 658 467 510 621
-10000 143 145 444 287 47 302 725 151 886
-10000 776 684 483 818 549 268 631 930 136
-10000 922 814 210 162 3 201 917 673 229
-10000 604 542 704 738 185 143 725 465 968
-10000 196 821 460 436 415 29 903 447 280
-10000 430 232 927 794 277 645 736 269 898
-10000 247 852 515 951 259 783 556 301 687
-10000 624 471 900 89 818 833 196 155 204
-10000 500 173 2 261 525 805 675 396 951
-10000 672 554 117 33 96 570 349 712 704
-10000 919 897 117 733 212 481 586 183 468
-10000 446 422 71 185 377 391 592 372 470
-10000 642 76 578 730 216 872 138 852 377
-10000 360 606 185 836 849 359 525 217 85
-10000 271 574 526 360 20 297 351 140 783
-10000 87 763 668 117 777 162 630 54 408
-10000 921 981 7 551 962 43 886 764 163
-10000 698 498 117 695 390 606 928 337 163
-10000 81 536 548 967 131 270 942 608 224
-10000 340 282 253 357 951 394 502 400 893
-10000 7 882 317 594 156 935 581 183 308
-10000 565 677 943 202 540 855 70 618 568
-10000 504 129 346 550 442 1 697 565 80
-10000 582 752 182 46 40 908 389 943 69
-10000 852 210 439 84 840 565 800 90 387
-10000 283 934 515 249 124 98 870 209 886
-10000 60 480 333 210 438 29 716 881 455
-10000 352 380 563 325 801 352 717 549 660
-10000 228 926 227 77 942 408 421 285 92
-10000 598 404 276 673 813 888 8 536 84
-10000 464 596 354 786 311 241 248 582 227
-10000 430 571 676 367 672 142 248 145 269
-10000 673 123 188 825 510 954 664 245 753
-10000 329 225 235 869 597 476 901 102 751
-10000 734 649 468 739 366 967 711 636 990
-10000 59 194 967 666 382 839 85 983 578
-10000 775 17 455 373 678 403 269 523 1000
-10000 861 493 379 324 108 268 490 742 641
-10000 739 487 779 370 955 134 107 698 965
-10000 843 993 423 719 980 733 100 558 918
-10000 211 125 262 129 15 49 282 490 864
-10000 891 354 850 118 152 91 553 760 805
-10000 890 352 794 282 220 706 242 258 211
-10000 685 500 384 58 81 567 275 459 659
-10000 167 517 330 487 766 311 812 764 852
-10000 356 374 2 342 673 291 4 309 405
-10000 809 421 762 241 611 98 337 659 500
-10000 504 956 636 107 723 936 950 934 436
-10000 566 817 847 278 845 308 150 458 168
-10000 762 135 400 556 626 200 849 182 490
-10000 431 649 751 76 820 125 273 29 644
-10000 682 490 656 264 183 892 428 239 112
-10000 969 862 809 598 964 784 422 116 990
-10000 513 182 900 788 690 573 753 834 389
-10000 801 339 492 952 255 830 24 669 713
-10000 874 926 287 336 794 377 115 172 272
-10000 170 210 511 523 136 18 899 682 94
-10000 229 888 843 639 167 560 814 298 612
-10000 510 565 965 80 251 478 548 940 633
-10000 966 612 773 344 101 336 462 375 312
-10000 749 617 536 895 831 640 366 698 955
-10000 939 665 650 718 654 411 471 172 964
-10000 2 555 959 957 733 353 414 988 907
-10000 462 803 484 462 112 32 987 681 653
-10000 927 330 200 615 362 733 497 333 253
-10000 826 31 110 84 375 98 541 490 330
-10000 590 453 237 646 694 848 655 834 551
-10000 950 999 223 709 725 191 347 689 717
-10000 388 694 361 626 242 226 936 63 313
-10000 624 160 722 332 885 454 636 972 992
-10000 545 282 226 904 512 240 352 981 944
-10000 203 281 291 846 1000 133 464 138 408
-10000 720 952 511 855 221 724 938 441 813
-10000 773 759 8 158 359 823 85 335 54
-10000 341 901 133 425 242 890 302 462 861
-10000 848 925 295 336 410 875 407 371 907
-10000 352 638 471 79 142 635 582 115 481
-10000 626 888 58 404 41 157 766 336 963
-10000 607 304 667 230 199 588 181 337 378
-10000 970 687 866 440 691 838 476 69 105
-10000 100 128 373 381 13 34 749 871 11
-10000 567 250 348 583 255 178 146 514 197
-10000 943 89 662 421 280 810 239 698 939
-10000 498 928 971 131 425 839 595 270 124
-10000 303 679 763 729 678 372 289 772 95
-10000 343 996 999 808 425 976 387 809 55
-10000 930 643 615 524 983 236 352 49 210
-10000 634 478 590 79 90 137 40 539 803
-10000 560 863 946 8 844 457 820 922 222
-10000 591 726 558 206 669 577 272 27 928
-10000 47 633 100 825 685 821 222 897 900
-10000 187 335 298 835 844 240 485 561 241
-10000 757 568 739 44 332 958 469 494 911
-10000 437 639 313 497 634 438 646 277 343
-10000 809 86 741 359 3 199 389 701 400
-10000 895 251 516 77 595 909 470 964 873
-10000 833 703 227 347 995 441 82 688 466
-10000 79 972 721 601 809 136 924 8 375
-10000 395 697 510 755 580 334 697 424 660
-10000 714 244 599 0 919 849 168 33 510
-10000 383 318 260 331 989 903 714 27 170
-10000 798 480 437 175 866 580 273 335 475
-10000 299 549 113 108 634 192 883 755 931
-10000 719 313 809 206 847 749 54 258 756
-10000 171 32 785 641 822 382 788 275 546
-10000 111 80 185 733 240 899 297 798 313
-10000 467 456 107 166 780 727 312 777 761
-10000 592 119 218 286 286 405 625 931 628
-10000 832 41 300 707 205 690 550 619 122
-10000 607 907 744 513 122 540 268 809 262
-10000 659 740 166 709 157 301 74 224 322
-10000 166 137 570 295 939 26 956 267 475
-10000 649 430 912 817 436 982 807 471 420
-10000 124 289 771 179 90 428 460 64 434
-10000 789 525 470 68 684 390 365 38 122
-10000 806 843 590 50 268 460 929 139 251
-10000 316 379 148 391 137 681 953 996 462
-10000 782 630 299 197 583 88 31 497 741
-10000 482 620 309 712 904 200 850 890 76
-10000 834 653 592 280 787 480 890 601 699
-10000 744 506 356 12 909 83 907 723 96
-10000 48 338 210 489 39 552 483 334 961
-10000 754 175 599 645 198 329 243 931 248
-10000 252 241 821 22 218 113 0 887 129
-10000 846 649 784 756 192 95 789 654 85
-10000 418 974 615 770 569 748 880 9 615
-10000 143 904 132 953 763 893 632 968 119
-10000 297 675 562 351 574 506 93 686 255
-10000 93 333 552 937 333 105 433 976 696
-10000 750 760 905 89 978 817 504 348 612
-10000 829 315 52 91 392 141 249 100 288
-10000 185 757 754 591 133 994 52 550 548
-10000 571 895 699 781 332 300 261 529 294
-10000 376 924 782 56 776 630 418 816 391
-10000 241 515 922 387 558 237 446 400 936
-10000 557 361 745 692 335 758 555 673 576
-10000 247 594 274 847 31 876 444 483 586
-10000 474 167 817 957 545 990 933 281 596
-10000 926 87 151 595 250 996 354 649 482
-10000 420 43 722 712 168 94 30 566 392
-10000 777 866 724 795 278 168 352 832 168
-10000 511 966 675 5 619 105 436 844 893
-10000 112 328 340 523 631 309 743 143 11
-10000 241 953 807 388 950 195 670 416 759
-10000 491 701 942 77 616 373 915 264 205
-10000 671 854 774 904 479 444 513 482 123
-10000 536 539 280 622 666 469 331 632 364
-10000 706 638 371 578 150 445 200 338 41
-10000 396 544 470 144 645 536 27 169 80
-10000 19 444 326 737 155 402 279 459 322
-10000 204 385 563 566 834 927 842 146 970
-10000 599 991 20 97 965 542 233 381 463
-10000 671 253 511 781 433 255 109 844 507
-10000 437 150 123 799 296 42 458 620 923
-10000 245 529 163 278 716 359 270 136 136
-10000 931 867 176 598 952 159 378 597 123
-10000 73 504 83 651 693 13 229 693 139
-10000 432 161 678 760 359 965 674 993 325
-10000 351 565 552 160 43 81 756 879 392
-10000 84 677 638 886 801 95 335 695 282
-10000 566 778 541 453 769 527 97 779 331
-10000 961 265 965 996 807 831 654 44 231
-10000 105 779 928 146 414 139 260 640 492
-10000 113 206 432 614 313 583 968 688 266
-10000 369 582 68 731 463 513 771 837 944
-10000 127 737 548 333 184 982 861 170 646
-10000 4 492 287 678 987 467 254 141 575
-10000 111 472 23 729 434 255 733 53 258
-10000 784 326 706 295 220 139 124 400 681
-10000 654 22 804 99 106 230 652 836 692
-10000 530 18 546 25 775 9 284 60 750
-10000 680 811 219 571 360 724 261 409 924
-10000 513 332 422 614 911 537 160 847 476
-10000 85 444 242 683 389 436 38 332 48
-10000 890 896 423 364 301 457 377 143 971
-10000 806 313 479 589 601 812 365 631 325
-10000 442 765 478 811 521 659 889 339 94
-10000 288 461 237 469 924 495 874 570 104
-10000 667 108 972 840 707 875 663 904 678
-10000 525 871 707 186 283 89 265 203 198
-10000 848 219 697 632 348 538 904 830 787
-10000 92 952 759 51 599 633 498 720 903
-10000 378 208 971 531 362 394 498 622 703
-10000 830 735 687 154 170 925 106 128 62
-10000 64 372 404 94 54 866 843 197 780
-10000 127 743 466 363 230 451 435 131 561
-10000 532 185 652 236 697 492 737 2 176
-10000 457 593 666 787 234 46 142 853 525
-10000 653 384 276 888 270 136 469 591 817
-10000 423 850 541 536 130 248 65 75 246
-10000 2 784 121 632 795 569 910 751 630
-10000 516 15 844 128 420 412 900 683 900
-10000 643 819 477 121 537 42 398 144 677
-10000 371 512 668 610 376 24 519 859 269
-10000 905 22 902 255 323 663 833 426 863
-10000 21 418 985 429 8 109 107 981 636
-10000 589 3 606 163 106 719 590 755 222
-10000 665 391 373 208 506 929 927 382 229
-10000 448 17 1 2 777 819 435 358 549
-10000 240 157 104 518 958 730 581 846 108
-10000 772 145 580 35 913 263 440 898 424
-10000 909 804 273 586 364 291 890 595 616
-10000 939 699 727 618 80 618 875 77 134
-10000 874 690 350 357 320 229 419 889 482
-10000 140 269 540 209 736 559 230 912 438
-10000 613 948 682 882 136 579 690 10 699
-10000 829 423 566 459 314 816 13 47 569
-10000 77 936 645 542 996 879 323 491 78
-10000 782 672 0 819 35 372 939 701 279
-10000 523 332 887 124 462 695 336 286 610
-10000 438 817 959 635 132 829 350 744 232
-10000 54 634 144 742 104 392 204 226 890
-10000 750 677 643 794 169 894 196 668 262
-10000 572 201 812 922 906 581 281 459 120
-10000 440 514 901 277 995 117 834 654 935
-10000 32 736 318 610 486 765 389 866 70
-10000 183 356 804 890 565 582 295 232 705
-10000 645 541 943 184 97 25 116 961 468
-10000 921 791 768 256 375 154 993 934 206
-10000 983 266 506 970 102 598 353 589 171
-10000 332 934 84 850 826 43 412 173 778
-10000 561 841 327 703 163 223 246 882 234
-10000 132 809 188 100 430 623 16 294 160
-10000 936 604 886 372 112 727 956 807 208
-10000 181 703 417 321 409 143 264 274 502
-10000 105 59 698 449 992 780 781 946 297
-10000 751 517 967 599 713 582 534 927 527
-10000 969 372 465 861 854 840 440 568 402
-10000 267 318 12 215 833 11 221 552 8
-10000 828 442 669 730 620 229 96 828 357
-10000 586 403 701 609 321 3 510 656 474
-10000 647 845 912 486 184 586 557 30 826
-10000 47 51 313 581 788 563 228 621 493
-10000 341 824 126 686 842 998 306 919 848
-10000 965 352 975 306 359 134 672 372 981
-10000 349 485 457 648 662 702 451 517 792
-10000 675 589 448 542 303 10 43 429 602
-10000 150 856 74 784 409 736 159 79 968
-10000 232 46 313 809 41 611 533 905 21
-10000 668 930 898 808 462 935 290 802 77
-10000 635 556 834 439 747 272 571 128 416
-10000 767 985 912 893 907 312 779 124 479
-10000 642 331 501 456 423 469 299 578 732
-10000 240 485 696 717 206 268 634 744 819
-10000 407 963 587 964 637 513 676 530 653
-10000 804 16 164 973 913 272 997 702 388
-10000 291 882 567 630 10 766 638 44 478
-10000 417 237 416 468 458 354 807 532 764
-10000 131 163 13 257 221 988 882 862 989
-10000 980 435 31 419 760 859 49 44 391
-10000 111 837 369 230 901 547 161 108 529
-10000 361 578 998 682 437 553 154 276 364
-10000 324 713 456 314 796 540 427 420 147
-10000 551 472 385 329 894 359 253 260 681
-10000 1 353 636 215 518 737 535 826 705
-10000 984 200 864 684 403 84 827 449 916
-10000 264 522 954 277 621 166 328 906 421
-10000 823 932 512 804 352 943 966 66 971
-10000 394 197 960 203 641 922 848 144 76
-10000 168 894 915 578 709 647 469 293 536
-10000 596 530 215 488 367 259 12 342 96
-10000 849 361 72 100 941 797 5 180 329
-10000 587 877 867 280 477 649 297 33 431
-10000 499 45 214 524 309 693 654 434 716
-10000 983 270 96 600 751 128 791 441 171
-10000 209 621 800 133 908 329 336 631 92
-10000 957 738 415 250 958 337 377 391 549
-10000 609 775 870 627 844 77 149 652 422
-10000 907 739 672 657 937 584 236 957 670
-10000 600 393 656 345 530 334 61 656 824
-10000 248 747 745 640 629 533 972 538 7
-10000 414 702 605 411 32 602 548 142 155
-10000 972 777 838 784 849 964 376 937 697
-10000 566 329 728 332 605 461 996 662 945
-10000 225 545 633 216 214 708 810 987 345
-10000 564 827 599 668 956 478 254 557 534
-10000 589 968 724 701 363 222 887 488 640
-10000 979 756 722 985 612 578 547 318 964
-10000 368 116 28 569 535 854 926 751 372
-10000 490 89 17 197 788 139 930 841 25
-10000 477 907 802 824 506 59 862 534 731
-10000 657 541 127 760 783 818 246 475 232
-10000 30 660 469 205 197 406 212 932 602
-10000 744 64 977 995 274 735 296 850 941
-10000 377 56 184 975 152 205 728 156 205
-10000 492 165 528 639 292 280 588 144 823
-10000 645 976 741 90 162 178 459 746 281
-10000 3 98 103 356 663 756 62 76 742
-10000 58 833 834 750 873 603 138 240 513
-10000 337 378 723 119 73 585 684 66 861
-10000 979 534 873 559 10 552 31 618 257
-10000 680 963 387 95 518 798 853 606 163
-10000 922 107 916 428 900 866 776 84 54
-10000 877 394 376 678 347 389 825 817 51
-10000 465 440 755 884 327 156 318 787 275
-10000 500 187 317 368 611 74 639 347 859
-10000 342 873 966 296 481 275 274 694 136
-10000 306 508 575 579 776 111 950 401 139
-10000 728 389 639 74 67 921 227 736 184
-10000 310 53 621 562 479 828 771 186 97
-10000 852 321 201 825 495 507 290 897 189
-10000 399 940 507 438 47 886 165 250 81
-10000 489 970 166 954 67 117 210 997 742
-10000 618 743 670 842 345 729 843 247 752
-10000 917 158 647 190 1000 134 790 905 849
-10000 693 193 215 537 59 100 865 392 846
-10000 981 816 924 674 987 373 407 395 396
-10000 662 907 246 997 635 866 682 693 358
-10000 219 428 642 29 806 2 289 698 750
-10000 823 623 163 273 460 453 681 333 640
-10000 953 798 809 610 848 360 867 956 49
-10000 151 917 624 802 92 412 793 970 513
-10000 324 925 782 990 986 71 960 162 257
-10000 47 749 18 53 28 686 635 809 429
-10000 68 442 926 73 34 313 960 272 728
-10000 675 417 124 753 805 502 303 89 893
-10000 394 835 527 679 261 774 63 362 767
-10000 780 639 724 81 104 146 287 73 51
-10000 943 389 386 995 622 751 867 681 611
-10000 255 366 776 837 727 166 987 71 704
-10000 957 107 960 273 781 99 398 15 82
-10000 928 733 478 67 926 172 152 326 3
-10000 564 152 162 692 880 808 498 970 661
-10000 717 404 543 82 832 785 404 420 184
-10000 126 364 350 708 846 699 549 202 606
-10000 525 12 837 665 635 610 499 410 824
-10000 770 250 847 822 729 463 10 605 468
-10000 198 472 609 910 904 290 195 906 489
-10000 188 394 111 28 193 784 51 870 672
-10000 199 333 198 757 195 14 581 744 3
-10000 937 756 772 248 35 353 614 233 838
-10000 336 900 970 256 336 508 488 788 77
-10000 610 474 943 471 302 91 461 497 172
-10000 450 410 864 18 975 437 85 980 90
-10000 102 386 968 977 884 435 285 103 594
-10000 116 698 841 505 813 318 456 767 700
-10000 750 370 121 771 12 79 783 347 373
-10000 313 178 409 375 928 344 490 583 796
-10000 545 36 788 432 756 687 462 74 434
-10000 635 818 805 20 992 191 617 953 530
-10000 67 926 846 199 958 680 118 541 283
-10000 217 977 13 238 449 769 301 927 985
-10000 791 660 657 352 73 800 476 616 859
-10000 527 498 963 59 693 1000 276 703 729
-10000 551 950 102 71 833 0 435 815 48
-10000 987 174 99 993 753 330 537 828 503
-10000 151 139 132 882 26 4 62 845 54
-10000 925 863 277 27 445 58 855 621 677
-10000 433 72 897 49 404 896 958 553 421
-10000 203 624 166 190 611 892 853 671 914
-10000 620 152 229 41 310 102 61 412 21
-10000 153 917 826 728 275 897 458 972 593
-10000 196 903 769 608 426 838 275 743 899
-10000 98 555 771 784 143 467 672 762 280
-10000 675 452 511 92 461 559 195 47 724
-10000 338 889 197 53 284 255 782 805 415
-10000 867 459 911 83 395 162 144 655 390
-10000 562 462 246 109 993 217 890 27 862
-10000 444 1000 469 32 384 971 967 713 865
-10000 917 947 84 885 156 364 90 90 377
-10000 357 215 260 310 567 279 198 995 145
-10000 682 409 952 246 690 173 581 328 855
-10000 396 752 94 396 53 949 464 175 163
-10000 654 427 329 668 99 590 868 39 86
-10000 888 109 195 486 908 184 230 160 547
-10000 500 184 807 268 860 261 901 735 594
-10000 391 442 73 710 68 21 387 598 88
-10000 211 128 330 581 383 528 444 435 749
-10000 286 617 896 553 236 868 100 734 927
-10000 509 731 570 870 92 461 130 418 873
-10000 330 875 485 249 622 787 810 379 783
-10000 500 427 667 451 237 680 295 673 372
-10000 748 196 304 854 276 855 835 554 76
-10000 508 950 332 886 106 551 776 123 481
-10000 474 353 96 692 873 532 543 534 994
-10000 588 148 845 975 206 813 486 218 20
-10000 952 10 377 160 304 49 632 785 430
-10000 845 708 539 424 437 153 881 779 272
-10000 670 934 257 832 943 371 645 828 194
-10000 108 402 116 354 5 72 165 915 285
-10000 707 640 241 625 708 305 779 18 674
-10000 87 839 824 415 628 676 321 405 491
-10000 557 669 463 500 105 36 812 185 615
-10000 577 198 424 477 143 682 801 398 355
-10000 99 0 473 598 664 464 854 540 195
-10000 819 869 58 249 497 625 769 63 36
-10000 371 439 375 787 193 831 536 164 728
-10000 377 551 940 678 45 702 489 674 756
-10000 24 706 143 847 964 505 600 556 130
-10000 672 834 242 214 835 124 942 962 846
-10000 728 225 413 228 841 616 243 871 927
-10000 894 503 823 184 183 546 627 37 448
-10000 149 181 603 500 817 852 778 249 460
-10000 11 894 891 853 628 258 694 669 17
-10000 455 446 42 988 158 175 789 628 422
-10000 766 595 649 910 156 319 702 609 694
-10000 785 675 485 605 635 788 234 825 325
-10000 451 177 572 524 716 334 225 562 632
-10000 813 118 254 690 458 257 552 613 595
-10000 740 680 887 94 850 361 779 522 422
-10000 806 187 139 959 484 723 23 379 772
-10000 207 523 733 960 211 565 199 475 761
-10000 283 533 359 348 601 966 821 961 611
-10000 358 137 70 535 500 401 178 35 433
-10000 720 131 832 933 755 663 983 738 811
-10000 266 972 954 615 43 290 698 484 6
-10000 439 612 496 228 990 691 82 47 41
-10000 389 27 998 706 334 989 922 920 581
-10000 94 530 374 502 502 957 500 831 192
-10000 767 84 661 350 718 93 678 754 949
-10000 550 161 694 661 707 149 366 626 986
-10000 616 572 788 113 903 57 605 906 245
-10000 654 181 664 718 73 272 431 274 805
-10000 292 395 199 289 55 123 885 971 330
-10000 479 807 745 174 492 130 111 782 338
-10000 631 124 206 687 392 102 564 579 472
-10000 594 267 510 694 646 160 921 228 122
-10000 212 543 644 910 912 337 434 767 153
-10000 487 894 437 956 289 803 158 859 729
-10000 273 61 585 89 440 81 494 96 713
-10000 947 573 130 134 121 59 728 865 85
-10000 242 754 927 337 731 780 826 970 611
-10000 945 930 625 967 801 491 433 613 199
-10000 452 498 748 235 644 479 953 37 472
-10000 401 53 175 111 622 817 556 970 674
-10000 291 480 988 846 604 404 890 745 972
-10000 927 753 897 27 542 37 825 954 649
-10000 400 207 342 320 191 477 628 699 314
-10000 627 773 182 789 653 129 955 512 745
-10000 741 459 550 897 91 929 519 42 638
-10000 50 241 745 298 43 368 351 507 638
-10000 694 843 32 225 89 976 206 452 469
-10000 433 286 868 15 724 404 678 62 184
-10000 419 311 778 358 96 305 265 247 538
-10000 887 750 50 558 483 600 330 173 623
-10000 155 887 27 54 992 890 121 997 416
-10000 217 777 397 770 160 466 22 9 322
-10000 838 175 247 432 407 322 125 653 354
-10000 277 706 450 787 775 326 264 959 887
-10000 592 69 232 877 313 509 308 365 377
-10000 393 466 87 878 63 925 454 866 351
-10000 123 575 324 308 696 553 476 1000 279
-10000 182 624 920 261 779 230 350 418 40
-10000 372 63 282 531 327 372 698 374 478
-10000 797 948 422 176 247 221 283 300 248
-10000 142 250 642 262 19 704 890 145 823
-10000 957 660 577 23 348 568 729 137 293
-10000 504 143 343 495 857 274 381 826 890
-10000 382 175 782 740 537 883 560 235 604
-10000 629 673 985 746 467 831 194 252 667
-10000 392 751 153 244 807 881 475 443 699
-10000 550 245 413 338 638 196 991 987 186
-10000 134 64 728 238 213 765 876 4 979
-10000 267 3 246 681 405 96 487 344 528
-10000 954 960 896 30 502 843 593 9 454
-10000 831 514 319 929 972 413 60 607 684
-10000 794 367 859 503 888 264 215 336 690
-10000 469 326 298 269 606 281 984 761 732
-10000 469 50 783 605 861 694 654 909 414
-10000 679 152 287 322 592 690 57 47 827
-10000 585 541 122 773 666 521 27 470 818
-10000 581 874 357 103 309 91 396 913 581
-10000 872 101 5 381 351 44 440 174 277
-10000 530 333 897 999 586 64 318 495 413
-10000 829 893 560 836 459 135 344 98 737
-10000 381 387 740 934 786 415 122 693 508
-10000 397 37 903 411 594 363 18 979 297
-10000 63 77 776 566 149 906 896 738 489
-10000 700 404 505 234 486 19 189 680 602
-10000 413 920 118 737 880 518 271 190 472
-10000 425 750 637 728 973 572 413 224 497
-10000 632 744 967 336 535 130 216 959 602
-10000 106 312 595 223 90 621 683 958 6
-10000 130 605 853 300 388 399 668 918 166
-10000 183 348 328 990 82 350 566 919 197
-10000 838 103 126 297 315 220 814 946 201
-10000 884 273 309 313 201 112 239 231 665
-10000 117 587 584 248 491 732 528 243 205
-10000 24 406 307 781 778 617 277 343 117
-10000 301 168 470 123 527 397 802 366 780
-10000 631 972 726 496 799 503 630 763 409
-10000 502 747 73 584 88 797 350 746 458
-10000 301 481 897 524 959 864 744 75 694
-10000 576 82 239 248 964 384 947 413 302
-10000 315 339 708 605 810 334 236 935 449
-10000 515 138 994 293 117 142 787 533 122
-10000 78 317 552 287 957 72 5 285 546
-10000 352 598 151 310 516 62 718 36 854
-10000 854 813 689 188 603 510 212 685 256
-10000 267 435 795 774 919 715 565 696 778
-10000 586 634 601 34 687 768 823 785 753
-10000 950 925 278 254 42 358 318 477 646
-10000 604 892 676 447 152 500 864 792 91
-10000 99 872 384 946 608 334 245 63 656
-10000 579 835 581 320 372 822 390 593 347
-10000 931 332 311 594 907 95 861 766 623
-10000 737 211 541 757 38 366 148 957 776
-10000 175 197 880 780 782 854 959 925 129
-10000 297 754 866 46 414 12 411 111 28
-10000 719 267 327 852 876 984 737 596 45
-10000 782 59 744 731 189 304 563 666 176
-10000 409 408 556 535 608 523 193 431 773
-10000 474 323 961 496 243 788 8 337 686
-10000 99 365 11 398 856 835 371 568 603
-10000 648 336 891 320 220 939 291 90 865
-10000 87 64 486 483 896 415 110 135 47
-10000 563 135 778 428 387 90 518 377 378
-10000 557 693 311 638 57 961 167 90 26
-10000 818 28 893 667 682 680 978 428 489
-10000 542 52 64 626 525 987 837 113 179
-10000 563 449 438 95 659 80 906 25 603
-10000 592 267 67 400 929 587 149 512 398
-10000 423 57 554 187 977 978 453 858 152
-10000 181 479 368 715 856 772 428 628 873
-10000 894 329 743 130 183 467 758 759 686
-10000 255 398 653 489 587 447 175 981 651
-10000 991 20 927 526 636 326 467 769 530
-10000 289 320 425 377 282 902 360 138 384
-10000 488 540 385 830 402 117 728 820 937
-10000 875 642 323 652 91 606 918 772 216
-10000 882 616 547 836 673 334 229 196 586
-10000 14 274 533 93 530 375 139 374 815
-10000 245 882 858 476 987 108 723 719 235
-10000 405 793 884 539 621 418 512 35 341
-10000 545 272 988 928 507 68 480 725 959
-10000 508 988 867 760 310 84 371 541 451
-10000 630 422 932 962 252 461 928 967 217
-10000 352 795 405 417 154 762 806 844 693
-10000 127 221 981 581 275 320 991 261 493
-10000 658 414 923 74 742 425 258 901 15
-10000 153 792 974 687 269 150 188 152 295
-10000 532 859 229 158 227 193 726 372 253
-10000 232 634 618 438 263 146 759 278 346
-10000 326 1000 775 226 894 208 175 555 204
-10000 861 851 790 452 21 798 756 635 492
-10000 120 403 714 841 47 68 653 597 883
-10000 276 341 743 104 555 235 158 332 25
-10000 210 379 167 930 855 158 196 745 515
-10000 938 322 972 934 998 187 175 437 421
-10000 991 368 363 934 971 726 748 53 791
-10000 967 858 966 169 590 193 92 25 691
-10000 276 759 897 1000 783 783 7 69 672
-10000 988 37 317 81 476 607 537 275 6
-10000 410 734 771 237 122 424 283 801 226
-10000 306 370 13 884 842 488 268 722 603
-10000 100 739 171 274 384 757 729 434 172
-10000 384 456 755 244 694 561 84 341 731
-10000 647 172 159 885 523 32 25 67 48
-10000 197 267 466 138 572 764 761 466 170
-10000 358 104 23 290 88 752 998 918 839
-10000 577 940 341 906 851 760 352 218 171
-10000 792 2 139 309 977 448 808 484 232
-10000 714 157 469 339 86 672 723 206 427
-10000 433 227 795 498 344 707 296 846 942
-10000 951 708 453 864 332 339 901 312 587
-10000 703 871 517 825 631 341 896 616 327
-10000 663 976 118 795 518 383 668 982 276
-10000 554 291 195 37 655 544 233 307 471
-10000 708 1000 983 997 363 808 863 654 102
-10000 477 282 10 958 968 531 209 844 611
-10000 506 437 203 265 137 376 687 482 235
-10000 601 103 368 912 549 398 209 114 625
-10000 138 509 486 781 950 534 876 527 111
-10000 520 790 565 578 177 760 408 93 816
-10000 976 554 787 761 165 527 547 744 638
-10000 891 207 144 817 574 219 895 968 870
-10000 176 292 338 731 968 271 444 229 348
-10000 976 482 646 358 657 123 787 604 789
-10000 405 976 765 667 41 404 389 596 815
-10000 489 820 446 106 56 341 473 612 936
-10000 388 400 77 398 993 842 662 348 629
-10000 373 821 583 410 865 946 150 996 796
-10000 614 11 786 49 52 768 262 3 395
-10000 955 43 739 748 700 590 697 890 384
-10000 488 194 447 7 417 619 320 28 811
-10000 706 326 60 392 563 644 527 234 591
-10000 983 311 387 119 940 681 398 783 685
-10000 609 931 631 934 444 979 469 545 12
-10000 833 487 699 201 238 170 207 135 110
-10000 274 230 348 795 561 633 0 278 85
-10000 437 83 873 43 343 586 84 450 784
-10000 716 963 45 235 641 987 24 163 857
-10000 133 744 592 227 540 866 626 170 641
-10000 271 262 679 554 986 768 310 619 136
-10000 31 973 646 367 439 994 65 896 302
-10000 471 762 16 102 110 70 851 244 554
-10000 360 181 823 667 380 619 438 392 998
-10000 35 427 127 224 531 373 952 576 483
-10000 509 759 904 93 580 517 373 810 127
-10000 830 7 987 425 274 760 65 718 995
-10000 580 548 123 652 851 242 612 168 372
-10000 452 130 256 931 68 96 353 345 662
-10000 772 838 69 993 819 829 828 934 885
-10000 861 247 322 469 480 196 296 524 571
-10000 819 108 437 241 471 146 463 125 646
-10000 474 82 501 357 402 443 555 561 591
-10000 471 711 374 878 889 201 472 63 42
-10000 293 700 880 706 641 427 945 849 26
-10000 167 382 665 2 516 723 88 768 603
-10000 100 762 774 419 75 136 653 302 133
-10000 293 352 105 944 162 112 172 640 403
-10000 139 121 336 706 137 592 953 209 902
-10000 460 15 799 559 987 170 637 134 769
-10000 475 277 497 67 847 62 364 852 879
-10000 127 825 766 930 661 983 391 187 572
-10000 437 709 404 165 867 32 787 268 553
-10000 480 168 175 988 967 455 178 66 272
-10000 203 958 953 848 311 827 430 660 903
-10000 309 818 732 655 351 738 81 242 858
-10000 140 924 49 448 580 438 950 186 274
-10000 383 512 257 182 339 475 694 990 571
-10000 196 242 34 43 716 515 68 992 197
-10000 747 247 228 378 830 816 321 370 939
-10000 440 140 974 570 819 674 612 323 583
-10000 552 955 393 42 172 908 451 591 962
-10000 16 778 556 432 778 279 954 848 699
-10000 671 132 113 433 29 234 23 290 650
-10000 231 190 790 486 972 601 82 930 441
-10000 287 907 628 891 322 261 572 870 883
-10000 60 266 748 386 625 295 627 428 914
-10000 648 224 23 785 171 937 768 612 679
-10000 82 516 941 104 97 624 17 664 216
-10000 239 203 970 619 396 991 56 869 551
-10000 579 139 975 826 95 616 674 773 834
-10000 430 318 213 720 287 747 849 395 407
-10000 519 983 665 531 418 469 397 242 2
-10000 677 948 777 827 934 745 857 373 293
-10000 340 675 430 588 875 87 402 111 282
-10000 643 150 349 503 510 531 995 154 396
-10000 570 681 970 209 551 167 383 843 87
-10000 115 390 984 402 947 822 859 433 760
-10000 776 176 670 27 850 709 977 250 955
-10000 354 429 688 406 484 253 303 67 736
-10000 842 174 6 575 579 933 563 93 541
-10000 925 40 684 928 749 684 224 355 214
-10000 221 739 406 512 727 506 914 402 31
-10000 720 167 544 348 852 953 848 247 346
-10000 358 402 551 941 409 580 624 984 880
-10000 844 983 4 290 312 538 260 635 493
-10000 91 386 237 51 893 88 626 770 488
-10000 369 982 640 24 2 305 641 457 736
-10000 44 742 885 179 562 362 6 48 684
-10000 786 156 887 213 745 500 957 216 84
-10000 937 343 498 991 157 552 42 502 355
-10000 628 453 389 434 447 11 438 960 739
-10000 835 109 64 187 727 417 705 1000 78
-10000 311 729 226 754 295 442 575 550 524
-10000 576 441 540 525 477 542 350 616 154
-10000 623 172 443 586 763 865 589 881 373
-10000 662 742 861 764 57 969 116 726 928
-10000 80 953 614 624 886 425 313 572 813
-10000 280 657 17 423 991 353 23 911 808
-10000 631 510 313 914 997 334 107 636 323
-10000 214 422 674 722 447 874 633 572 415
-10000 143 947 291 744 836 743 852 268 318
-10000 695 716 294 358 461 92 72 86 721
-10000 761 167 805 249 46 664 721 181 375
-10000 432 601 741 275 711 640 926 227 843
-10000 660 920 229 140 353 241 356 541 842
-10000 910 970 209 517 962 143 340 236 748
-10000 260 454 216 196 403 962 39 327 380
-10000 292 819 9 798 987 621 423 200 381
-10000 457 431 353 910 74 82 79 492 787
-10000 437 195 991 962 61 668 638 161 755
-10000 847 9 661 610 799 184 280 327 674
-10000 431 94 471 406 327 611 626 46 375
-10000 17 741 746 932 203 499 774 34 352
-10000 1 742 527 744 922 409 549 272 711
-10000 830 374 223 618 526 257 846 8 998
-10000 888 926 683 678 608 547 90 730 291
-10000 614 576 282 720 558 516 179 515 801
-10000 856 215 550 225 607 319 664 721 829
-10000 329 49 168 298 594 875 935 9 398
-10000 755 254 129 883 5 442 11 357 742
-10000 184 891 269 94 48 115 634 664 16
-10000 935 203 554 770 901 320 271 498 304
-10000 808 479 437 348 385 577 318 868 443
-10000 358 425 110 445 554 975 474 950 488
-10000 115 449 728 299 611 251 900 582 254
-10000 272 990 936 569 743 580 958 905 964
-10000 414 473 290 959 8 820 599 693 840
-10000 175 348 511 205 511 999 613 302 874
-10000 553 233 371 872 882 424 589 791 442
-10000 42 22 970 984 622 18 88 536 270
-10000 93 528 143 441 224 247 183 284 608
-10000 973 415 887 459 181 20 752 333 715
-10000 595 223 633 718 160 415 259 35 579
-10000 792 660 738 398 423 684 676 711 1
-10000 198 900 168 919 64 720 570 762 135
-10000 372 859 501 796 170 668 831 973 240
-10000 179 72 674 941 210 464 487 364 996
-10000 509 524 922 236 946 455 986 582 0
-10000 628 48 254 982 335 474 997 499 140
-10000 115 7 298 716 94 433 813 256 940
-10000 93 775 297 731 870 484 230 747 878
-10000 55 133 618 225 257 925 672 284 191
-10000 494 51 948 336 434 799 899 642 472
-10000 588 772 899 356 864 720 379 315 842
-10000 439 679 533 773 500 817 719 732 556
-10000 121 978 160 989 932 130 414 242 599
-10000 980 315 681 897 811 11 444 451 341
-10000 40 927 458 136 589 713 152 285 179
-10000 361 972 821 235 653 883 394 333 607
-10000 995 203 371 197 360 254 558 896 871
-10000 582 113 910 701 432 783 356 947 459
-10000 621 175 551 229 991 524 420 183 174
-10000 329 960 552 542 618 656 829 335 29
-10000 23 648 482 741 735 693 568 584 15
-10000 788 329 919 722 369 70 929 518 465
-10000 314 559 58 236 95 950 555 466 873
-10000 443 272 379 701 667 892 553 757 853
-10000 654 625 131 765 699 262 78 540 671
-10000 345 570 226 290 291 570 45 217 953
-10000 29 548 487 545 772 671 316 173 604
-10000 363 127 406 413 347 417 100 282 722
-10000 850 703 243 871 287 537 614 352 871
-10000 135 416 39 722 869 988 12 805 235
-10000 950 410 195 963 694 802 608 684 465
-10000 742 705 145 768 516 7 935 64 12
-10000 16 998 53 280 775 703 385 225 580
-10000 403 184 474 840 535 448 296 451 880
-10000 195 428 290 270 144 667 836 746 118
-10000 253 228 525 831 140 325 620 113 614
-10000 930 431 424 683 884 783 348 20 279
-10000 134 134 277 418 609 204 481 981 48
-10000 611 225 431 434 176 475 145 190 91
-10000 461 846 875 465 457 541 326 225 310
-10000 376 150 899 287 138 306 29 332 457
-10000 245 48 387 211 111 764 37 460 992
-10000 838 322 994 498 134 126 215 301 533
-10000 496 120 368 498 873 373 719 781 593
-10000 661 673 142 317 483 564 259 628 843
-10000 608 706 90 187 607 795 857 710 657
-10000 296 588 380 540 252 82 382 654 400
-10000 811 728 348 570 320 215 518 490 549
-10000 613 263 717 880 452 855 787 451 95
-10000 675 110 611 993 527 521 764 470 378
-10000 767 64 833 355 752 680 914 682 863
-10000 745 214 36 46 356 682 799 388 489
-10000 262 657 407 418 675 627 591 519 925
-10000 915 162 225 382 970 205 152 560 683
-10000 781 757 701 228 540 410 118 997 377
-10000 999 200 126 897 165 455 56 990 936
-10000 424 84 432 539 4 303 551 122 737
-10000 943 844 978 404 981 50 75 790 460
-10000 17 344 380 743 363 120 887 8 598
-10000 324 930 929 873 164 27 775 719 687
-10000 740 741 872 352 290 690 547 562 333
-10000 463 86 682 407 98 783 696 910 753
-10000 893 96 300 33 462 419 971 205 99
-10000 196 837 373 895 965 126 449 23 834
-10000 671 219 454 875 774 378 327 745 515
-10000 500 536 737 350 426 608 25 338 955
-10000 984 65 989 102 135 906 890 350 626
-10000 603 435 42 879 624 582 590 143 20
-10000 808 248 419 258 368 351 735 508 216
-10000 775 448 945 840 372 133 263 999 560
-10000 815 676 397 578 760 773 98 718 559
-10000 842 223 299 628 426 613 537 730 278
-10000 60 180 334 151 322 414 365 173 209
-10000 514 578 212 326 158 282 111 695 868
-10000 551 636 234 608 621 614 301 942 506
-10000 889 938 800 1000 90 750 898 431 456
-10000 855 138 845 575 457 998 919 829 744
-10000 928 35 329 338 351 412 452 145 69
-10000 980 486 417 648 414 745 126 304 35
-10000 152 248 296 373 819 7 9 302 729
-10000 590 844 377 720 789 165 745 79 449
-10000 0 752 865 17 495 736 480 317 389
-10000 852 946 742 241 750 375 18 304 843
-10000 801 209 250 634 11 528 957 826 367
-10000 555 55 609 781 200 925 844 837 622
-10000 70 292 284 240 221 540 957 727 581
-10000 752 800 294 624 302 960 109 143 372
-10000 641 461 761 289 654 569 538 660 203
-10000 751 880 917 783 474 262 678 168 396
-10000 197 520 354 659 601 732 991 281 575
-10000 397 204 317 533 654 708 449 322 871
-10000 785 328 445 100 299 104 3 166 217
-10000 525 786 494 231 399 413 680 523 227
-10000 867 987 906 852 928 945 870 847 553
-10000 704 770 127 389 570 300 454 253 968
-10000 797 290 86 325 962 81 148 426 722
-10000 592 41 688 206 523 642 403 539 330
-10000 769 624 746 943 241 113 38 118 552
-10000 974 62 11 541 181 498 716 744 376
-10000 866 586 260 688 987 217 768 105 384
-10000 935 378 144 209 456 540 846 536 50
-10000 938 571 70 496 237 397 888 244 46
-10000 608 408 411 928 766 126 575 18 290
-10000 982 22 630 890 282 834 497 217 440
-10000 163 693 962 977 820 385 940 902 641
-10000 559 824 262 617 367 92 690 104 581
-10000 563 138 325 68 960 740 720 328 663
-10000 853 86 841 324 458 683 605 707 603
-10000 783 291 723 833 199 15 762 851 139
-10000 306 19 881 662 635 753 134 202 549
-10000 260 494 382 684 665 705 577 240 322
-10000 492 401 83 759 562 527 172 480 784
-10000 30 167 678 10 670 767 220 628 723
-10000 416 665 728 226 727 299 744 380 642
-10000 309 688 271 333 529 372 35 515 305
-10000 331 105 805 795 106 374 250 496 410
-10000 580 824 593 343 16 233 294 677 924
-10000 912 497 106 433 695 788 534 668 37
-10000 686 314 321 161 952 46 699 354 383
-10000 694 366 919 436 525 254 209 993 272
-10000 27 438 580 923 386 163 536 969 419
-10000 946 289 773 258 832 549 628 27 45
-10000 962 822 199 566 548 878 283 93 902
-10000 868 618 856 340 324 962 643 988 729
-10000 863 642 143 156 918 798 960 438 968
-10000 672 409 391 16 215 320 325 709 493
-10000 821 119 758 140 495 957 518 99 193
-10000 155 511 210 60 188 479 604 321 892
-10000 81 264 658 455 280 32 49 342 394
-10000 334 963 206 884 949 33 461 881 18
-10000 176 556 239 299 94 93 573 730 137
-10000 524 38 748 707 18 989 989 44 409
-10000 947 68 612 318 430 574 297 131 485
-10000 928 549 934 411 733 286 505 564 654
-10000 336 555 533 418 412 562 13 117 388
-10000 162 823 80 695 305 253 66 490 919
-10000 656 2 973 386 868 511 788 385 409
-10000 794 363 460 865 304 707 807 983 457
-10000 554 410 435 417 251 907 328 708 131
-10000 159 439 730 364 745 63 965 477 336
-10000 751 823 458 626 281 596 3 93 21
-10000 27 147 622 6 585 241 272 241 220
-10000 153 569 314 407 440 742 80 931 652
-10000 329 280 832 996 809 958 84 340 816
-10000 123 373 409 819 1 84 918 789 243
-10000 314 251 483 463 148 477 568 15 60
-10000 179 5 879 302 240 827 181 766 977
-10000 396 147 847 555 770 626 473 21 900
-10000 932 477 258 465 913 45 136 883 420
-10000 320 161 619 943 425 197 232 497 466
-10000 506 701 729 663 903 584 212 231 400
-10000 326 453 391 430 636 829 508 57 533
-10000 422 271 120 159 245 876 499 659 731
-10000 869 67 114 871 268 973 980 209 84
-10000 588 354 463 886 414 681 514 527 15
-10000 612 177 286 752 586 377 775 248 721
-10000 636 888 769 240 304 470 178 355 123
-10000 669 802 354 637 285 602 699 53 275
-10000 765 680 427 624 321 125 86 480 746
-10000 110 170 825 327 481 319 852 842 22
-10000 667 604 422 336 148 863 858 805 301
-10000 166 531 908 356 742 592 884 940 546
-10000 209 838 397 936 222 425 875 957 904
-10000 144 996 610 158 736 498 933 541 955
-10000 635 412 369 141 347 213 99 405 998
-10000 514 654 348 454 781 317 660 29 63
-10000 881 165 907 210 310 951 627 885 801
-10000 440 429 19 94 930 5 570 886 753
-10000 974 889 404 539 858 238 790 27 16
-10000 787 690 574 315 452 173 412 707 286
-10000 359 877 268 966 823 362 519 172 123
-10000 354 952 790 166 184 938 946 456 113
-10000 148 889 577 645 48 633 323 563 537
-10000 149 515 36 375 102 528 770 87 363
-10000 138 513 336 732 401 170 138 379 881
-10000 770 63 889 197 973 877 430 974 462
-10000 664 374 897 127 393 389 386 719 802
-10000 552 448 497 488 150 141 120 115 724
-10000 205 768 557 594 428 430 66 902 47
-10000 520 186 749 405 834 773 192 941 892
-10000 288 305 801 971 594 318 338 594 237
-10000 643 373 213 215 983 482 864 483 816
-10000 361 896 929 867 34 640 440 222 639
-10000 242 724 195 829 379 3 646 79 221
-10000 328 807 533 229 20 113 334 530 411
-10000 803 855 34 9 209 938 192 472 440
-10000 760 114 390 452 156 872 802 912 72
-10000 140 921 327 650 276 45 946 240 299
-10000 812 637 784 441 172 521 903 477 729
-10000 183 76 785 603 687 637 472 283 137
-10000 354 902 526 712 526 8 929 596 439
-10000 584 23 545 126 831 518 392 727 329
-10000 960 861 193 29 75 981 264 971 420
-10000 80 534 865 317 589 929 432 765 171
-10000 83 354 365 473 67 452 880 847 443
-10000 519 815 726 491 619 193 125 711 654
-10000 636 276 809 151 800 683 559 74 982
-10000 621 241 974 339 529 400 122 797 111
-10000 277 753 282 549 297 938 473 655 941
-10000 787 731 351 843 506 760 487 206 65
-10000 397 356 758 439 717 549 361 697 811
-10000 952 762 288 750 758 4 540 571 394
-10000 39 428 303 561 155 819 840 969 76
-10000 208 115 879 933 927 267 672 203 928
-10000 901 561 380 806 382 104 936 349 988
-10000 194 231 382 235 624 347 305 30 102
-10000 540 974 106 36 603 770 478 54 781
-10000 3 845 447 323 312 87 287 626 134
-10000 841 238 311 384 441 416 569 110 34
-10000 832 657 362 526 969 939 795 417 937
-10000 737 379 73 880 172 99 217 994 554
-10000 72 777 277 371 737 840 201 566 358
-10000 864 133 119 839 850 544 713 344 966
-10000 71 136 746 853 92 200 466 49 810
-10000 865 370 248 976 452 508 708 930 89
-10000 611 335 51 34 612 406 751 438 418
-10000 914 556 587 714 526 436 34 408 385
-10000 48 567 795 724 250 915 568 377 325
-10000 735 641 36 690 453 501 891 142 707
-10000 111 607 795 814 51 435 237 481 964
-10000 583 849 447 562 981 196 996 161 734
-10000 696 681 208 721 744 117 591 646 782
-10000 801 319 671 670 813 343 969 564 933
-10000 724 432 451 685 764 766 952 109 181
-10000 797 60 720 560 474 699 551 800 274
-10000 976 260 938 259 994 887 387 671 86
-10000 726 87 178 851 978 979 692 739 59
-10000 285 389 510 308 613 367 247 754 56
-10000 741 754 478 214 535 672 376 941 986
-10000 708 583 624 626 280 742 818 938 479
-10000 407 676 494 595 365 704 455 989 756
-10000 258 533 754 991 88 721 833 99 205
-10000 52 494 380 865 766 199 382 106 985
-10000 237 382 681 104 13 248 450 643 261
-10000 740 180 554 586 505 214 302 188 202
-10000 958 958 700 400 896 718 493 52 927
-10000 778 686 394 489 318 214 210 387 210
-10000 911 392 71 971 741 278 783 586 98
-10000 528 443 128 616 707 545 291 580 208
-10000 65 492 164 797 932 929 269 769 470
-10000 68 259 598 501 445 55 706 811 42
-10000 391 124 516 957 684 360 449 122 468
-10000 898 328 421 915 779 145 315 196 687
-10000 578 79 114 944 692 697 67 746 45
-10000 407 322 29 274 695 370 609 202 40
-10000 643 300 989 682 945 375 542 846 397
-10000 475 60 790 657 34 256 806 110 277
-10000 446 360 667 295 727 748 34 739 359
-10000 191 947 206 349 731 177 367 274 733
-10000 132 585 50 527 690 148 944 880 178
-10000 926 246 374 869 899 13 441 508 88
-10000 719 150 970 558 794 860 196 191 510
-10000 297 637 482 251 342 658 333 611 863
-10000 532 598 996 500 625 891 847 544 65
-10000 161 2 252 680 730 331 356 895 660
-10000 213 842 778 3 271 288 411 729 794
-10000 480 74 905 107 292 866 774 717 613
-10000 47 605 70 830 924 606 494 437 638
-10000 838 794 97 91 455 273 880 746 831
-10000 235 386 532 988 889 86 133 476 486
-10000 586 402 389 422 455 786 477 650 332
-10000 699 34 578 648 182 252 516 608 622
-10000 306 448 912 903 661 275 631 530 659
-10000 827 725 822 983 27 868 86 57 986
-10000 530 998 153 510 312 171 888 195 195
-10000 57 509 365 160 476 798 557 216 523
-10000 831 23 880 197 353 261 144 78 939
-10000 302 970 802 461 861 561 533 253 32
-10000 705 645 300 540 47 631 672 838 197
-10000 892 487 52 358 890 126 571 43 786
-10000 117 879 60 158 768 275 544 495 936
-10000 216 409 233 267 18 132 215 338 571
-10000 607 505 928 926 931 423 430 202 152
-10000 933 323 861 4 532 52 787 278 242
-10000 347 710 57 60 637 104 196 962 863
-10000 96 339 717 839 447 369 584 793 855
-10000 442 316 501 947 609 599 840 463 123
-10000 168 798 798 304 955 946 749 986 301
-10000 806 367 500 494 196 178 440 748 573
-10000 917 265 452 704 271 656 935 671 125
-10000 400 490 470 26 759 897 15 264 760
-10000 736 754 373 397 123 490 311 851 832
-10000 280 779 459 413 171 79 578 213 232
-10000 240 620 597 352 540 478 905 198 748
-10000 457 961 838 622 716 461 398 874 995
-10000 482 204 291 437 344 959 566 225 381
-10000 409 176 816 769 290 19 325 705 971
-10000 129 233 986 619 499 776 807 98 155
-10000 537 548 806 387 633 484 214 682 960
-10000 195 857 123 831 573 930 414 378 17
-10000 656 145 467 754 157 760 857 135 751
-10000 626 389 826 513 81 334 845 77 802
-10000 653 314 780 402 307 714 252 384 880
-10000 53 868 340 965 848 448 452 189 912
-10000 165 118 750 323 486 142 213 840 288
-10000 548 421 924 489 758 24 263 347 374
-10000 956 265 114 153 367 602 448 987 946
-10000 981 255 490 854 628 320 49 359 350
-10000 147 383 294 87 26 207 378 421 187
-10000 549 107 197 472 746 843 761 830 774
-10000 762 594 554 29 987 248 1000 946 95
-10000 505 541 428 782 662 471 574 609 134
-10000 97 463 716 959 447 585 499 733 128
-10000 491 464 311 468 57 728 358 425 765
-10000 490 579 626 260 268 409 291 61 155
-10000 3 119 143 430 284 888 976 777 719
-10000 900 703 976 453 672 48 161 134 892
-10000 462 717 457 857 215 36 8 555 913
-10000 27 786 659 680 607 878 754 505 269
-10000 65 478 255 857 2 935 279 738 781
-10000 315 917 481 154 817 652 711 909 121
-10000 727 433 734 437 257 532 353 459 953
-10000 863 924 373 792 960 999 747 669 165
-10000 4 144 799 919 230 494 127 316 414
-10000 902 861 573 593 485 834 581 237 618
-10000 179 239 958 821 792 914 528 794 473
-10000 720 243 928 942 405 387 828 462 544
-10000 562 173 466 41 761 168 540 402 276
-10000 220 220 132 47 352 991 335 505 679
-10000 155 743 309 913 819 144 19 887 171
-10000 579 662 636 579 754 402 309 739 373
-10000 925 220 111 219 910 998 893 273 572
-10000 572 208 548 241 968 87 882 401 278
-10000 559 375 341 953 362 177 526 674 17
-10000 888 738 352 556 994 371 628 790 712
-10000 5 819 570 981 114 310 396 218 184
-10000 711 820 378 792 678 641 641 943 56
-10000 704 582 583 335 249 241 843 842 255
-10000 610 993 74 799 477 402 98 38 583
-10000 110 269 669 275 726 18 32 675 378
-10000 60 840 657 413 626 145 932 773 386
-10000 708 243 54 15 701 835 991 961 763
-10000 874 605 527 493 946 735 98 872 206
-10000 654 424 456 709 804 46 160 882 579
-10000 173 463 753 85 180 634 813 833 559
-10000 460 751 901 739 617 447 537 275 773
-10000 978 239 483 643 293 129 613 461 378
-10000 306 295 266 458 486 822 719 355 822
-10000 834 331 323 693 344 133 427 405 881
-10000 735 147 101 23 745 414 134 35 501
-10000 377 556 783 143 859 699 474 242 449
-10000 455 655 598 941 814 591 791 216 249
-10000 617 800 60 841 0 661 253 576 984
-10000 355 330 303 969 613 623 37 864 922
-10000 127 449 995 607 457 972 554 314 565
-10000 620 983 518 69 845 321 765 76 448
-10000 738 30 152 833 589 327 265 785 260
-10000 885 768 177 433 586 15 529 424 495
-10000 278 444 320 394 178 372 33 114 771
-10000 562 572 45 429 889 212 715 12 453
-10000 568 49 128 543 619 291 310 102 63
-10000 58 661 519 731 376 394 705 607 521
-10000 443 752 834 708 758 242 650 848 67
-10000 515 675 824 869 747 343 210 127 493
-10000 132 965 375 112 543 370 368 501 336
-10000 362 928 803 910 676 599 548 155 302
-10000 772 695 654 130 952 518 685 358 616
-10000 705 88 10 184 285 284 273 386 431
-10000 824 291 321 398 228 642 126 18 221
-10000 731 942 859 501 627 652 840 808 216
-10000 929 268 70 605 414 399 409 755 610
-10000 15 664 360 361 562 631 75 231 778
-10000 405 128 601 557 788 943 817 916 747
-10000 85 333 457 448 960 893 191 741 457
-10000 120 524 55 1 341 914 338 551 57
-10000 86 161 239 142 287 503 544 67 780
-10000 134 371 675 72 868 46 987 37 774
-10000 158 447 349 813 110 319 985 360 923
-10000 794 399 134 676 686 474 564 248 231
-10000 388 97 977 778 909 346 875 525 10
-10000 964 845 22 606 508 50 294 690 640
-10000 439 101 332 520 248 992 529 392 986
-10000 860 297 688 161 689 19 659 744 789
-10000 755 487 837 383 268 628 476 690 966
-10000 169 643 960 291 627 583 929 817 995
-10000 506 29 106 165 350 20 890 419 959
-10000 898 804 258 137 530 911 895 801 729
-10000 418 959 567 363 717 597 990 848 992
-10000 201 291 98 402 6 314 220 835 639
-10000 169 810 847 814 424 97 73 381 610
-10000 790 677 119 247 339 197 653 653 709
-10000 808 2 710 871 897 938 572 769 459
-10000 509 43 814 747 949 433 710 7 939
-10000 832 504 850 455 853 131 124 618 419
-10000 431 689 922 644 593 853 673 123 101
-10000 91 425 275 355 433 726 803 720 818
-10000 109 551 829 80 696 186 575 238 73
-10000 137 404 89 452 884 46 746 638 670
-10000 251 814 387 217 774 999 969 116 676
-10000 75 794 702 671 127 661 163 539 488
-10000 159 356 949 458 284 481 418 783 886
-10000 220 79 655 502 861 616 734 738 141
-10000 502 97 294 195 34 885 105 3 374
-10000 109 87 177 893 83 670 593 322 494
-10000 552 210 676 676 303 382 891 406 707
-10000 692 559 883 662 982 598 868 349 159
-10000 117 733 440 400 364 524 863 73 260
-10000 15 933 726 240 478 575 784 456 862
-10000 686 525 140 369 15 292 748 577 474
-10000 466 647 850 649 106 76 540 616 6
-10000 198 507 441 426 662 869 849 735 41
-10000 952 928 867 304 407 488 837 23 519
-10000 639 577 912 173 314 717 599 369 586
-10000 254 824 296 372 474 174 295 628 28
-10000 689 454 654 784 577 332 812 614 879
-10000 466 598 899 95 91 914 302 963 33
-10000 276 847 506 328 420 712 372 614 144
-10000 348 688 315 120 326 662 657 886 764
-10000 341 880 314 655 373 304 71 335 892
-10000 390 608 517 849 681 411 484 120 328
-10000 550 110 538 416 797 465 952 211 78
-10000 692 53 782 813 343 628 934 802 627
-10000 447 901 584 304 656 108 788 506 308
-10000 89 293 294 411 108 346 57 919 687
-10000 636 808 495 305 44 153 768 957 964
-10000 623 873 71 622 394 666 624 123 235
-10000 70 809 338 412 362 236 279 145 999
-10000 624 450 946 862 472 59 641 365 47
-10000 669 259 634 704 464 340 225 571 103
-10000 141 7 306 874 931 742 490 321 980
-10000 808 116 99 63 827 883 250 866 750
-10000 196 445 768 929 634 957 992 749 36
-10000 980 373 785 752 147 649 38 725 998
-10000 919 491 340 628 385 958 540 279 999
-10000 146 259 473 729 730 305 67 188 378
-10000 341 343 579 115 82 493 774 706 698
-10000 646 130 896 462 499 331 236 26 168
-10000 143 567 34 394 691 377 298 810 708
-10000 945 77 207 760 741 389 422 755 652
-10000 499 763 18 696 38 222 93 563 414
-10000 307 36 653 890 524 996 908 694 587
-10000 799 909 369 361 709 57 126 133 591
-10000 225 166 348 567 521 894 636 148 290
-10000 544 413 684 798 443 48 82 743 807
-10000 293 778 603 221 998 443 22 288 910
-10000 85 785 295 380 635 452 381 901 686
-10000 614 77 806 144 538 284 281 231 154
-10000 936 146 866 905 163 542 152 994 21
-10000 396 728 802 690 330 115 374 725 339
-10000 896 307 876 391 624 949 932 798 263
-10000 852 33 706 896 265 557 232 828 133
-10000 62 692 23 39 797 389 395 230 135
-10000 577 181 62 454 173 986 48 965 749
-10000 265 794 573 674 535 611 656 287 342
-10000 908 539 437 833 432 577 75 496 913
-10000 423 976 169 631 764 976 343 865 303
-10000 315 341 563 710 765 34 324 221 262
-10000 44 593 109 232 372 604 84 482 804
-10000 973 912 606 502 633 241 906 338 818
-10000 547 264 540 35 141 103 160 843 910
-10000 583 536 671 386 350 100 959 612 885
-10000 857 95 332 242 988 513 616 11 555
-10000 387 231 183 451 393 85 766 252 160
-10000 372 469 487 362 953 462 528 171 222
-10000 630 856 199 214 345 171 736 560 660
-10000 107 375 128 394 170 346 738 234 601
-10000 142 378 728 209 427 953 20 868 279
-10000 434 699 178 191 506 303 723 605 334
-10000 748 469 739 763 476 192 711 23 879
-10000 521 229 151 847 857 431 297 682 715
-10000 527 249 38 926 972 177 541 65 534
-10000 130 522 375 977 24 489 842 678 943
-10000 633 243 490 703 209 626 884 928 504
-10000 346 565 791 909 486 375 202 849 158
-10000 134 755 336 475 479 284 940 110 924
-10000 558 956 330 102 562 674 696 730 178
-10000 586 781 935 660 328 456 401 518 647
-10000 922 300 857 570 479 850 890 213 239
-10000 158 922 113 603 742 678 190 200 587
-10000 355 136 904 102 209 691 684 516 343
-10000 452 687 484 889 701 707 260 752 879
-10000 317 735 579 380 791 818 461 225 228
-10000 907 157 273 751 20 538 680 795 760
-10000 736 365 658 294 208 311 24 48 6
-10000 230 662 108 941 195 785 326 228 975
-10000 238 99 656 557 346 515 942 665 946
-10000 364 551 938 16 126 849 618 671 472
-10000 599 568 861 336 496 137 375 855 391
-10000 520 559 253 297 122 433 923 848 494
-10000 244 956 734 823 242 636 542 517 184
-10000 665 404 473 319 198 871 524 972 463
-10000 521 847 848 679 635 391 642 157 215
-10000 708 673 355 996 11 271 498 9 721
-10000 230 561 892 161 1000 272 494 599 255
-10000 471 180 496 937 220 677 596 458 456
-10000 372 447 54 841 386 313 698 879 727
-10000 301 853 407 316 489 229 103 468 130
-10000 533 537 78 90 31 296 342 250 607
-10000 235 614 476 105 828 273 154 445 961
-10000 647 958 434 986 456 839 9 158 955
-10000 693 652 910 270 561 594 707 489 430
-10000 370 812 866 66 784 496 524 370 328
-10000 945 785 770 659 783 783 589 250 434
-10000 277 235 208 466 718 25 242 316 727
-10000 213 948 846 723 972 498 487 902 772
-10000 524 245 81 405 232 988 762 543 656
-10000 650 256 731 824 216 1 619 539 423
-10000 160 492 553 979 535 236 154 877 22
-10000 641 145 519 696 541 757 416 284 989
-10000 668 460 592 813 219 237 78 414 435
-10000 381 37 11 984 823 160 888 590 612
-10000 762 346 785 135 800 144 89 489 567
-10000 593 660 965 973 482 625 511 142 979
-10000 317 353 61 335 839 671 838 393 514
-10000 590 989 560 266 298 962 562 837 470
-10000 246 389 456 436 356 493 900 220 1000
-10000 232 555 887 836 696 759 755 672 616
-10000 734 194 311 86 969 654 718 846 472
-10000 474 360 189 433 352 705 362 233 20
-10000 943 292 358 36 164 59 254 291 808
-10000 307 221 957 249 666 551 22 36 473
-10000 525 787 179 775 66 297 187 587 592
-10000 759 86 533 43 316 592 500 160 303
-10000 981 402 574 439 611 372 831 398 1
-10000 125 116 567 245 641 121 412 877 690
-10000 674 71 935 389 828 467 960 819 94
-10000 386 902 740 612 520 191 286 820 340
-10000 811 425 58 78 702 801 581 26 76
-10000 720 187 397 683 416 158 509 474 202
-10000 477 556 714 232 558 787 142 820 210
-10000 706 591 529 731 168 249 575 98 389
-10000 393 768 650 660 570 612 48 589 814
-10000 161 950 267 141 545 868 81 980 880
-10000 772 496 416 636 861 153 102 363 160
-10000 122 65 702 805 365 874 400 780 964
-10000 843 773 156 942 865 256 44 768 892
-10000 683 106 378 328 627 391 64 775 91
-10000 212 973 124 119 826 698 192 152 876
-10000 31 48 12 990 258 400 998 55 735
-10000 124 734 945 651 217 382 161 230 644
-10000 808 586 504 930 406 572 523 277 661
-10000 313 890 338 754 604 330 50 125 865
-10000 806 870 160 956 951 224 186 624 820
-10000 657 470 746 295 279 80 336 407 487
-10000 742 118 881 144 398 783 142 499 629
-10000 64 629 114 659 315 445 118 681 582
-10000 69 419 406 714 532 697 491 470 570
-10000 966 609 609 514 384 24 632 617 17
-10000 531 18 214 874 805 507 78 500 307
-10000 791 147 665 422 439 496 686 657 492
-10000 430 306 451 576 568 81 100 231 818
-10000 935 286 187 538 92 744 998 422 946
-10000 579 863 599 522 408 816 238 595 478
-10000 34 377 216 935 610 969 747 896 15
-10000 401 985 463 9 780 408 806 484 862
-10000 205 600 818 118 883 270 388 570 150
-10000 382 849 651 74 896 74 805 862 95
-10000 515 520 805 839 417 390 2 251 241
-10000 543 107 152 414 420 699 918 829 671
-10000 767 294 694 945 583 441 412 997 882
-10000 76 909 765 94 118 139 856 448 753
-10000 686 857 784 800 565 713 534 590 379
-10000 680 779 614 935 150 327 472 612 758
-10000 622 242 594 770 950 981 28 345 392
-10000 679 407 135 759 374 642 227 968 510
-10000 652 309 816 221 82 139 692 375 49
-10000 831 247 361 434 445 654 725 279 650
-10000 575 469 632 406 56 761 81 238 717
-10000 211 903 591 814 766 620 188 861 80
-10000 446 305 887 165 680 154 178 768 74
-10000 313 425 507 646 285 441 244 888 340
-10000 617 999 252 189 70 913 265 993 812
-10000 520 972 192 187 849 593 93 32 855
-10000 453 369 87 264 536 928 754 576 655
-10000 181 779 995 33 831 827 745 61 26
-10000 77 977 798 28 909 212 307 158 672
-10000 738 618 24 762 18 248 564 269 45
-10000 883 635 64 599 613 232 205 694 287
-10000 358 115 355 449 71 768 615 986 139
-10000 39 405 843 41 352 531 58 884 118
-10000 920 365 683 324 665 235 648 692 528
-10000 842 253 998 498 259 736 82 700 731
-10000 199 122 756 403 77 69 780 177 278
-10000 901 152 719 40 830 347 706 960 662
-10000 82 553 261 988 898 739 339 343 13
-10000 75 863 79 684 935 566 411 802 360
-10000 965 279 547 87 156 167 187 57 888
-10000 701 574 975 54 108 535 59 452 318
-10000 560 316 558 506 278 780 935 768 86
-10000 856 264 452 959 939 799 529 12 710
-10000 268 736 746 435 132 424 416 441 151
-10000 855 481 239 463 487 835 342 325 359
-10000 97 840 499 486 52 508 892 415 265
-10000 751 399 812 618 22 673 616 673 927
-10000 438 492 542 650 10 799 571 163 724
-10000 56 29 570 787 232 147 54 340 706
-10000 926 295 373 589 530 629 1 319 378
-10000 401 362 923 405 528 655 416 656 608
-10000 304 92 739 82 213 101 397 529 104
-10000 377 194 583 398 730 964 102 17 17
-10000 433 293 762 558 514 344 515 318 750
-10000 796 957 561 812 744 470 798 325 735
-10000 755 454 4 169 132 860 754 347 185
-10000 340 307 378 128 640 164 169 901 450
-10000 127 16 732 760 639 666 964 621 296
-10000 76 834 987 990 73 125 601 388 707
-10000 722 209 174 887 562 460 376 817 132
-10000 525 489 177 317 723 479 970 237 535
-10000 504 630 653 718 377 315 482 55 218
-10000 631 838 12 868 589 279 536 121 91
-10000 695 350 867 434 40 424 236 829 723
-10000 149 694 348 377 785 793 171 892 515
-10000 656 133 348 302 25 543 898 762 984
-10000 926 200 54 474 466 842 299 802 68
-10000 665 77 743 27 959 295 192 119 281
-10000 941 648 97 660 700 562 15 842 349
-10000 100 827 179 912 457 57 249 398 48
-10000 415 915 229 869 186 89 907 819 305
-10000 906 616 462 993 239 873 927 150 595
-10000 747 374 834 359 792 9 125 669 697
-10000 205 120 633 98 827 661 215 863 276
-10000 643 507 601 352 27 986 529 993 49
-10000 353 499 448 922 404 437 863 529 950
-10000 534 877 819 193 26 808 225 704 500
-10000 974 339 815 328 591 445 139 245 998
-10000 108 608 166 357 55 562 93 96 511
-10000 416 820 40 35 831 801 752 466 480
-10000 265 242 36 647 830 851 386 22 235
-10000 737 39 304 14 649 76 797 507 386
-10000 946 682 750 925 812 817 935 539 984
-10000 3 66 671 440 706 110 96 154 164
-10000 617 283 422 230 166 825 321 931 73
-10000 899 80 775 165 462 498 546 461 336
-10000 987 175 495 553 431 913 354 606 113
-10000 771 429 521 233 480 546 314 972 752
-10000 532 287 69 538 6 319 41 156 328
-10000 63 900 735 783 321 172 124 268 176
-10000 708 444 27 110 429 723 540 720 457
-10000 105 522 134 339 540 772 429 649 954
-10000 727 857 657 608 292 904 206 222 335
-10000 499 90 248 680 424 361 377 305 673
-10000 13 930 285 403 636 678 703 879 850
-10000 402 790 245 334 98 1000 503 671 471
-10000 441 475 161 344 742 125 117 977 646
-10000 152 326 182 77 100 636 798 689 153
-10000 856 593 807 975 251 437 883 874 230
-10000 484 666 135 97 205 850 285 260 551
-10000 761 756 384 667 872 235 408 781 555
-10000 1000 134 744 857 325 664 428 651 707
-10000 737 288 901 871 356 765 734 925 65
-10000 526 556 492 214 596 682 79 807 352
-10000 778 825 100 680 591 834 712 70 323
-10000 19 88 756 565 43 677 215 950 433
-10000 669 296 821 397 855 17 528 617 203
-10000 434 645 581 275 518 653 493 739 769
-10000 729 217 472 850 39 651 212 979 140
-10000 741 611 81 556 500 286 728 583 362
-10000 40 62 442 462 944 49 446 282 636
-10000 895 457 301 786 157 935 430 459 374
-10000 42 839 607 441 69 913 367 305 926
-10000 483 530 478 883 522 387 470 87 972
-10000 676 760 536 291 12 826 371 584 479
-10000 163 241 839 423 494 349 418 245 131
-10000 197 987 97 60 112 78 106 958 9
-10000 552 602 908 324 736 551 699 758 231
-10000 899 985 501 277 310 666 306 546 312
-10000 550 728 156 905 544 306 630 763 986
-10000 895 30 919 333 96 23 895 497 751
-10000 678 25 349 928 46 649 412 975 841
-10000 97 135 357 653 351 125 674 955 497
-10000 927 852 154 751 864 874 717 782 771
-10000 184 393 402 502 342 44 985 227 796
-10000 336 90 67 541 884 370 194 311 780
-10000 509 758 984 608 301 675 763 345 23
-10000 28 707 880 111 369 53 718 648 619
-10000 596 665 163 682 367 619 889 629 33
-10000 357 721 932 384 258 494 783 678 52
-10000 290 190 690 159 962 371 605 743 96
-10000 159 466 883 416 586 979 470 648 37
-10000 151 543 414 416 49 750 830 24 982
-10000 372 320 571 88 825 915 490 838 648
-10000 498 345 864 536 971 973 309 704 320
-10000 353 745 4 158 19 598 618 367 373
-10000 454 595 874 199 629 541 99 901 389
-10000 930 512 342 154 896 942 38 677 861
-10000 190 835 836 387 675 568 516 156 411
-10000 302 576 692 433 841 761 698 562 157
-10000 208 84 943 301 138 190 848 221 271
-10000 590 323 514 640 152 212 489 679 307
-10000 293 878 7 293 812 579 689 258 650
-10000 1000 493 981 679 692 647 796 165 218
-10000 957 622 49 415 363 71 948 256 948
-10000 690 192 528 886 786 809 104 152 346
-10000 828 933 604 242 435 418 385 505 242
-10000 864 463 78 722 233 331 661 808 533
-10000 867 258 402 892 159 375 362 614 796
-10000 253 660 664 19 616 818 94 212 362
-10000 567 633 617 479 795 998 958 236 349
-10000 888 334 927 786 4 340 560 258 58
-10000 976 784 983 894 610 769 968 124 797
-10000 404 263 878 640 359 787 508 656 551
-10000 389 688 277 798 52 823 260 870 263
-10000 864 869 740 946 929 794 898 284 329
-10000 244 567 185 827 372 615 187 902 866
-10000 474 256 593 349 325 410 414 831 684
-10000 822 705 434 39 287 362 618 436 468
-10000 897 458 74 121 822 610 648 50 246
-10000 450 954 390 523 411 899 632 875 426
-10000 373 391 187 182 403 562 513 398 470
-10000 42 526 675 272 789 958 632 10 392
-10000 38 282 708 251 404 153 765 795 775
-10000 748 302 177 869 402 572 71 666 486
-10000 656 144 361 479 194 392 514 850 376
-10000 1 531 353 246 330 939 133 825 284
-10000 999 673 903 624 458 779 598 876 717
-10000 520 509 549 875 945 581 33 9 241
-10000 327 147 963 890 266 414 944 157 327
-10000 690 480 215 80 39 13 709 966 306
-10000 284 540 864 487 965 676 713 645 128
-10000 897 834 890 572 161 717 902 588 729
-10000 938 680 101 205 314 249 862 868 626
-10000 768 633 386 676 630 891 611 827 986
-10000 321 933 961 28 361 610 574 143 360
-10000 421 550 358 731 38 840 852 860 627
-10000 347 297 3 490 231 53 557 639 638
-10000 172 311 502 670 849 175 791 171 886
-10000 29 423 381 872 495 105 420 241 671
-10000 528 349 213 572 53 68 767 189 557
-10000 17 211 702 940 538 768 150 293 740
-10000 252 524 345 737 834 20 386 303 255
-10000 973 626 312 705 6 764 428 770 226
-10000 477 949 854 444 163 892 273 85 80
-10000 902 637 468 901 29 432 558 693 963
-10000 643 727 315 190 972 530 402 158 347
-10000 821 708 790 593 834 644 785 761 910
-10000 789 382 863 183 178 554 91 669 649
-10000 216 989 391 617 473 394 743 466 446
-10000 430 237 428 100 141 677 706 531 645
-10000 936 936 599 946 961 228 667 395 969
-10000 995 567 723 607 708 745 649 585 417
-10000 148 114 696 206 904 891 113 674 421
-10000 771 49 817 854 770 975 45 123 688
-10000 624 383 870 406 118 310 891 439 332
-10000 721 791 580 760 944 394 460 572 151
-10000 753 141 40 675 757 453 114 423 480
-10000 705 827 139 848 962 43 933 110 327
-10000 299 56 244 16 324 918 992 292 597
-10000 326 236 916 508 661 487 175 331 71
-10000 68 977 271 710 813 828 654 349 827
-10000 424 435 374 80 894 337 787 696 438
-10000 481 249 954 684 327 468 309 169 540
-10000 944 737 818 221 30 366 990 150 194
-10000 284 39 58 342 668 197 58 329 886
-10000 281 133 637 900 523 118 918 254 372
-10000 295 865 278 684 557 580 645 797 993
-10000 695 426 611 944 817 265 959 493 754
-10000 671 890 228 769 495 59 840 949 58
-10000 255 613 243 931 177 834 557 917 247
-10000 121 348 583 944 625 495 685 862 1
-10000 549 594 14 414 767 499 915 199 573
-10000 944 439 215 689 783 25 678 4 601
-10000 299 836 33 855 150 383 586 838 48
-10000 910 206 949 193 611 467 784 525 971
-10000 637 462 970 745 147 884 670 963 61
-10000 675 706 423 846 983 967 243 931 647
-10000 73 723 82 702 631 427 357 669 185
-10000 166 39 500 207 284 762 727 590 638
-10000 474 307 516 709 260 194 270 798 333
-10000 21 914 945 702 587 80 590 665 902
-10000 38 738 912 38 566 330 619 545 409
-10000 778 496 377 320 64 933 852 592 175
-10000 756 195 507 66 317 473 467 715 684
-10000 95 894 429 416 974 925 173 174 75
-10000 979 985 777 457 716 807 82 754 328
-10000 263 883 782 529 652 540 175 403 124
-10000 706 992 922 670 843 754 96 836 835
-10000 720 71 690 477 370 680 751 449 464
-10000 601 368 147 722 856 132 898 610 974
-10000 247 386 623 516 876 792 855 41 382
-10000 307 982 298 747 126 709 580 335 917
-10000 926 136 219 638 37 522 118 746 437
-10000 876 748 882 455 718 987 585 392 130
-10000 219 332 664 806 831 672 723 472 405
-10000 583 840 696 273 584 810 501 64 814
-10000 356 225 445 366 360 463 828 88 189
-10000 44 268 974 480 461 622 88 414 242
-10000 893 294 745 268 135 849 424 684 773
-10000 191 899 802 835 25 551 373 760 654
-10000 961 240 61 879 58 539 881 328 45
-10000 848 639 686 297 190 594 808 681 940
-10000 684 239 365 163 194 859 670 759 898
-10000 523 172 373 266 45 711 484 624 659
-10000 427 610 482 336 786 60 714 815 27
-10000 969 662 804 101 3 579 15 776 140
-10000 578 524 316 770 653 876 570 836 618
-10000 777 416 542 640 798 81 170 112 974
-10000 2 494 200 456 989 236 400 440 950
-10000 360 230 416 668 779 539 919 23 369
-10000 805 689 770 768 450 259 227 376 485
-10000 873 656 382 695 343 785 381 92 403
-10000 813 122 891 187 701 763 662 720 731
-10000 506 363 366 256 799 950 724 167 532
-10000 662 412 869 827 638 973 195 157 482
-10000 725 755 624 951 73 173 698 135 510
-10000 472 577 443 927 672 334 198 724 448
-10000 324 90 991 623 44 542 134 658 574
-10000 459 49 703 423 844 779 30 425 721
-10000 493 972 418 24 113 653 307 705 238
-10000 149 469 855 603 428 119 657 354 297
-10000 457 446 147 715 539 967 755 837 593
-10000 990 998 406 457 906 785 159 703 977
-10000 433 724 247 83 845 160 218 336 278
-10000 755 228 842 232 288 230 60 615 152
-10000 611 621 152 808 838 874 474 635 242
-10000 600 120 542 719 222 47 34 354 963
-10000 965 724 958 287 124 803 51 712 959
-10000 654 286 786 57 383 847 382 15 485
-10000 184 152 455 397 569 225 138 263 945
-10000 549 691 397 941 178 553 792 518 203
-10000 169 390 699 30 457 54 975 418 808
-10000 122 775 517 822 868 430 692 560 811
-10000 495 726 223 746 192 883 202 798 420
-10000 177 633 874 531 549 400 745 939 125
-10000 508 800 82 441 791 354 379 288 94
-10000 948 907 5 105 518 187 450 37 566
-10000 295 871 74 281 497 185 598 208 168
-10000 392 492 50 656 813 570 717 549 579
-10000 134 748 318 890 195 286 323 427 276
-10000 699 561 793 558 282 313 710 447 752
-10000 27 100 308 269 318 45 344 761 335
-10000 414 636 104 169 966 474 564 188 506
-10000 951 277 162 588 688 38 236 822 737
-10000 739 551 951 50 74 509 58 388 769
-10000 156 806 428 1 161 627 303 3 940
-10000 911 350 998 821 650 992 155 382 969
-10000 47 936 800 463 36 471 869 182 573
-10000 71 167 710 627 522 945 778 372 328
-10000 621 281 48 285 567 184 748 127 150
-10000 559 998 46 356 927 117 784 17 846
-10000 789 714 59 404 615 629 884 582 910
-10000 479 94 306 163 98 283 983 29 794
-10000 957 887 684 208 312 391 4 149 710
-10000 518 71 497 400 982 54 962 391 749
-10000 138 287 16 475 93 220 216 494 503
-10000 638 699 18 206 67 602 429 760 741
-10000 803 412 375 897 734 446 289 850 788
-10000 259 933 981 896 404 820 790 152 535
-10000 632 125 953 978 109 707 721 629 84
-10000 594 45 760 351 884 684 470 135 876
-10000 292 365 986 476 436 598 857 604 292
-10000 545 989 117 14 613 294 783 167 632
-10000 352 549 606 932 678 669 177 71 541
-10000 837 383 73 135 714 755 511 891 482
-10000 278 675 23 239 572 591 865 827 682
-10000 837 220 790 963 570 478 434 801 57
-10000 717 656 400 787 129 473 969 172 695
-10000 139 977 444 446 415 185 924 141 608
-10000 159 866 277 973 199 5 482 762 234
-10000 922 869 12 990 616 976 167 47 871
-10000 102 168 581 719 266 835 141 644 584
-10000 733 621 658 752 634 353 318 642 780
-10000 445 268 596 842 307 352 46 193 985
-10000 589 706 93 10 0 208 240 941 362
-10000 590 104 403 370 639 204 183 99 438
-10000 413 671 142 875 122 923 796 272 386
-10000 158 603 579 677 582 919 104 743 332
-10000 72 893 223 264 915 930 415 402 560
-10000 95 964 535 582 421 146 591 727 156
-10000 842 513 595 942 273 736 727 253 731
-10000 217 936 767 914 320 893 314 299 247
-10000 375 376 71 131 740 873 847 228 759
-10000 693 285 61 234 361 303 462 24 241
-10000 921 792 280 495 775 599 962 521 923
-10000 557 671 908 48 702 787 63 371 384
-10000 980 634 954 680 587 914 853 66 913
-10000 83 722 847 414 66 803 855 52 473
-10000 121 530 785 809 723 751 948 138 816
-10000 708 634 345 325 41 997 711 617 245
-10000 369 100 837 893 123 678 69 358 671
-10000 425 936 495 523 842 968 434 507 253
-10000 367 552 582 27 854 846 304 318 929
-10000 805 712 553 387 568 254 949 393 634
-10000 316 347 252 649 760 900 968 726 251
-10000 379 178 291 164 861 752 551 478 644
-10000 248 181 125 131 233 141 660 412 581
-10000 123 513 99 754 324 145 144 792 873
-10000 742 228 950 839 293 916 107 661 460
-10000 898 766 739 306 653 27 466 101 49
-10000 863 932 301 582 67 369 946 821 700
-10000 977 205 140 980 524 378 591 527 976
-10000 581 567 457 683 743 673 471 798 594
-10000 228 305 697 197 711 218 173 274 976
-10000 609 853 408 173 969 738 907 560 534
-10000 518 514 891 566 649 258 664 169 444
-10000 7 569 242 186 880 109 605 702 799
-10000 828 987 877 107 457 305 415 885 75
-10000 294 37 187 17 724 71 664 820 108
-10000 216 66 74 840 763 917 339 991 326
-10000 851 86 470 513 711 430 51 889 26
-10000 14 529 246 201 216 825 392 414 938
-10000 505 236 761 521 449 223 325 36 826
-10000 236 658 45 823 496 981 761 775 590
-10000 946 609 191 707 516 755 857 260 494
-10000 531 979 414 405 521 594 834 435 90
-10000 912 11 858 780 625 959 744 410 498
-10000 871 244 363 617 389 379 122 241 450
-10000 366 866 369 166 599 210 960 773 527
-10000 703 161 682 548 732 667 879 862 225
-10000 597 168 401 753 757 255 875 554 526
-10000 428 715 942 161 241 282 264 362 9
-10000 495 252 813 492 973 227 800 308 73
-10000 888 891 864 328 469 566 271 883 230
-10000 9 319 622 402 440 978 943 589 127
-10000 623 772 752 265 244 864 894 504 783
-10000 143 81 303 157 236 971 71 752 719
-10000 283 236 58 820 262 816 510 241 442
-10000 728 369 842 37 598 302 757 371 926
-10000 421 732 690 562 528 56 165 252 605
-10000 198 658 344 4 600 71 289 299 15
-10000 263 1000 737 467 107 442 931 746 974
-10000 442 109 235 272 601 208 934 544 924
-10000 937 603 476 571 730 726 73 440 804
-10000 559 35 245 564 28 397 952 873 385
-10000 834 870 949 860 145 464 432 55 756
-10000 916 971 882 184 366 313 621 963 741
-10000 235 463 29 778 401 169 919 1 305
-10000 574 670 140 676 463 980 471 386 96
-10000 475 237 439 162 487 900 279 601 753
-10000 996 122 413 992 293 249 989 323 926
-10000 499 43 86 583 561 248 135 436 622
-10000 103 133 507 148 853 433 57 287 603
-10000 486 858 434 990 637 286 884 425 200
-10000 9 185 263 99 799 697 388 927 938
-10000 26 207 10 482 131 607 98 381 749
-10000 773 965 665 576 94 80 916 471 1
-10000 474 241 333 342 418 122 945 752 159
-10000 44 598 274 664 662 28 563 433 179
-10000 45 278 511 760 830 549 217 583 968
-10000 825 412 111 885 501 257 874 470 115
-10000 967 275 692 679 593 727 569 856 571
-10000 992 596 903 597 517 920 314 965 795
-10000 601 477 198 699 349 596 320 666 559
-10000 499 410 146 250 699 848 61 494 911
-10000 169 882 563 572 294 948 848 447 77
-10000 402 706 404 255 635 641 669 437 39
-10000 183 279 641 90 590 250 326 203 707
-10000 152 971 307 8 744 954 284 268 847
-10000 13 526 366 524 985 909 934 429 416
-10000 801 753 856 856 373 795 123 169 37
-10000 407 978 117 711 798 131 897 232 717
-10000 906 736 500 531 526 149 39 651 561
-10000 252 692 807 653 775 987 576 240 437
-10000 357 312 59 741 296 327 699 935 826
-10000 765 617 322 861 921 6 233 282 46
-10000 651 878 12 855 844 729 468 739 726
-10000 537 179 393 466 961 683 776 570 3
-10000 538 534 381 540 442 461 833 4 281
-10000 812 896 4 658 777 575 139 848 314
-10000 347 369 913 994 385 156 497 62 381
-10000 950 325 172 291 299 81 588 207 729
-10000 666 171 922 845 710 214 250 540 53
-10000 330 917 871 464 679 625 705 995 145
-10000 844 80 949 216 690 582 581 889 750
-10000 656 330 825 460 743 156 903 95 312
-10000 148 53 384 947 155 982 195 212 236
-10000 91 117 633 826 728 85 564 720 449
-10000 204 557 906 316 88 250 971 754 315
-10000 467 676 809 626 292 116 967 687 376
-10000 686 1 921 329 124 391 188 481 400
-10000 74 218 586 859 395 832 539 64 771
-10000 347 454 83 705 551 593 341 583 427
-10000 690 268 892 144 999 51 742 194 547
-10000 316 569 169 54 506 12 835 173 771
-10000 328 969 756 5 465 385 23 263 598
-10000 327 512 540 950 204 764 400 252 886
-10000 194 335 872 969 465 474 243 737 941
-10000 891 535 298 522 585 791 470 578 458
-10000 458 885 53 688 575 83 797 293 600
-10000 934 639 456 206 519 521 712 834 363
-10000 293 315 137 368 665 924 546 645 892
-10000 147 222 407 433 421 712 307 434 664
-10000 853 742 931 402 212 881 462 601 130
-10000 479 773 408 644 262 508 883 186 708
-10000 387 713 897 331 401 85 461 255 565
-10000 623 878 432 747 589 886 278 842 798
-10000 341 651 801 808 975 714 148 299 115
-10000 45 471 549 2 714 784 34 88 562
-10000 660 255 623 551 392 592 908 484 23
-10000 374 257 364 912 586 718 688 447 501
-10000 927 747 963 542 214 190 358 91 62
-10000 160 492 219 118 816 752 186 335 934
-10000 62 254 933 786 619 719 689 508 727
-10000 538 966 350 470 769 189 775 763 482
-10000 950 533 599 886 44 984 485 736 978
-10000 620 510 564 989 656 126 925 209 11
-10000 205 172 299 972 368 906 441 296 867
-10000 179 308 179 487 268 438 872 789 46
-10000 399 147 968 13 632 194 239 237 881
-10000 52 35 172 111 266 581 504 466 4
-10000 681 39 366 682 86 888 846 798 62
-10000 118 66 723 732 335 784 925 981 510
-10000 415 45 668 760 231 298 123 580 920
-10000 80 17 33 962 471 840 644 71 676
-10000 462 119 761 56 71 555 297 502 35
-10000 808 379 617 684 381 338 850 138 67
-10000 247 392 958 685 605 562 435 735 605
-10000 80 651 851 837 236 45 897 384 857
-10000 732 452 294 77 904 901 693 753 811
-10000 46 856 829 673 282 298 320 882 951
-10000 813 322 429 418 634 568 940 802 120
-10000 613 246 96 219 263 739 854 542 80
-10000 71 788 211 598 405 218 297 647 349
-10000 603 513 820 772 998 301 391 567 87
-10000 303 51 833 683 76 40 211 763 684
-10000 689 686 214 343 535 661 498 531 293
-10000 416 778 109 505 578 8 109 926 637
-10000 409 227 857 514 760 818 864 889 76
-10000 81 573 640 526 686 806 813 963 648
-10000 848 800 871 991 629 452 820 459 375
-10000 440 725 75 875 521 302 686 380 895
-10000 309 319 133 745 413 84 868 135 972
-10000 175 177 896 611 927 886 904 510 677
-10000 453 18 805 946 770 103 507 583 499
-10000 851 183 492 92 16 525 775 81 5
-10000 451 131 110 535 969 623 352 58 737
-10000 300 204 908 95 980 416 378 194 354
-10000 755 469 968 511 100 781 236 850 158
-10000 661 384 513 728 573 779 646 673 541
-10000 515 953 311 991 351 511 387 945 538
-10000 763 902 366 360 726 318 671 916 459
-10000 665 824 879 229 241 783 773 120 484
-10000 751 315 686 90 350 664 373 868 456
-10000 399 553 762 53 843 718 541 132 633
-10000 370 586 372 845 19 794 542 107 939
-10000 16 283 174 525 590 536 528 980 540
-10000 408 653 314 62 160 306 51 248 693
-10000 548 854 435 889 335 165 308 663 453
-10000 460 796 63 185 559 574 700 196 284
-10000 776 694 161 313 387 918 167 917 527
-10000 396 659 800 923 829 899 657 412 524
-10000 215 872 55 643 874 809 897 373 310
-10000 219 862 601 726 427 683 925 841 391
-10000 781 107 110 51 904 589 125 261 656
-10000 762 521 821 685 843 305 221 38 734
-10000 228 896 572 719 584 275 542 815 55
-10000 840 17 301 445 159 883 268 897 990
-10000 770 166 290 235 535 276 100 465 309
-10000 242 376 12 332 432 871 580 922 778
-10000 350 389 301 802 935 283 802 234 363
-10000 866 787 652 594 623 395 995 518 746
-10000 627 241 458 886 805 159 528 162 802
-10000 580 680 272 281 273 150 814 305 231
-10000 241 434 837 20 3 478 518 140 38
-10000 857 432 951 891 972 996 498 797 58
-10000 58 83 19 73 727 13 963 410 739
-10000 506 736 397 193 837 58 503 732 669
-10000 18 69 149 933 104 809 999 100 188
-10000 932 778 898 496 722 169 441 130 356
-10000 487 159 238 365 457 724 128 326 806
-10000 323 572 728 397 191 937 199 96 619
-10000 103 835 145 882 773 871 867 885 345
-10000 531 449 884 645 356 545 250 201 374
-10000 234 190 283 473 853 863 879 455 323
-10000 848 260 293 277 97 757 185 764 259
-10000 811 686 273 631 660 621 271 363 428
-10000 397 440 779 960 596 389 140 541 888
-10000 612 897 254 420 320 304 585 958 614
-10000 188 228 31 345 78 219 595 57 401
-10000 83 594 349 537 716 608 934 14 231
-10000 914 692 488 39 653 404 188 538 495
-10000 824 43 639 316 404 450 222 961 755
-10000 957 847 512 373 472 914 680 25 452
-10000 588 561 813 212 661 884 793 542 485
-10000 424 928 628 972 699 252 76 367 761
-10000 253 311 154 171 141 208 407 705 973
-10000 623 318 805 565 770 923 578 578 907
-10000 478 796 58 967 817 882 152 269 780
-10000 388 667 420 736 385 763 602 407 886
-10000 492 370 782 320 298 868 59 924 593
-10000 924 223 399 506 865 561 777 68 958
-10000 306 165 960 524 394 907 975 883 585
-10000 729 851 184 506 509 130 307 747 46
-10000 417 89 256 981 231 486 638 426 943
-10000 627 367 341 221 349 318 459 461 803
-10000 365 471 777 565 282 209 320 998 583
-10000 185 982 119 562 252 700 89 800 644
-10000 726 47 608 397 11 129 211 886 398
-10000 375 70 349 535 340 723 376 37 285
-10000 8 716 640 20 365 434 814 265 982
-10000 858 326 205 335 974 335 957 78 910
-10000 830 628 681 597 385 670 58 549 343
-10000 28 426 289 493 283 624 868 903 468
-10000 47 958 654 120 747 652 590 588 328
-10000 207 323 491 182 24 569 214 696 732
-10000 418 940 109 801 333 531 149 673 937
-10000 917 477 869 132 497 13 764 579 329
-10000 720 845 648 265 335 4 265 874 329
-10000 489 124 122 486 642 930 800 549 911
-10000 239 419 486 827 920 683 251 740 576
-10000 928 360 928 171 484 53 363 89 817
-10000 806 46 930 32 335 935 294 377 551
-10000 400 128 110 76 57 429 426 495 871
-10000 241 638 676 938 499 868 368 233 243
-10000 27 61 90 834 672 617 913 510 50
-10000 581 127 160 697 171 168 376 794 197
-10000 18 790 104 600 800 326 565 564 42
-10000 931 172 420 583 904 198 424 121 998
-10000 378 828 86 329 753 583 401 178 503
-10000 103 413 448 362 487 213 770 177 698
-10000 339 491 47 447 523 953 26 473 675
-10000 781 59 680 514 706 174 900 687 756
-10000 363 499 217 494 312 885 378 36 301
-10000 602 513 800 750 884 157 38 302 443
-10000 241 168 740 531 984 434 900 585 342
-10000 478 102 436 723 434 167 854 562 124
-10000 283 188 494 229 365 452 15 585 223
-10000 650 835 101 669 19 815 801 87 641
-10000 221 451 549 270 827 404 471 141 715
-10000 669 355 230 205 794 944 66 233 758
-10000 650 501 585 409 562 76 742 493 959
-10000 725 542 148 1 856 483 814 536 177
-10000 247 316 312 15 282 160 672 108 24
-10000 641 767 64 97 699 488 710 725 76
-10000 148 792 78 64 373 1 333 582 992
-10000 605 789 583 441 22 906 372 259 812
-10000 760 664 934 752 458 859 264 917 31
-10000 409 650 306 15 832 414 997 441 203
-10000 128 413 938 772 563 126 364 561 749
-10000 409 254 812 293 882 606 447 90 376
-10000 103 930 554 961 303 176 556 645 758
-10000 355 806 618 460 491 985 809 286 330
-10000 215 27 792 33 190 32 327 278 512
-10000 261 193 211 624 231 259 184 328 335
-10000 867 999 345 829 27 322 93 28 961
-10000 129 189 820 424 800 550 615 536 851
-10000 688 575 349 483 40 454 900 176 0
-10000 385 930 933 186 707 844 240 618 395
-10000 439 563 18 972 164 38 715 78 585
-10000 939 851 635 64 201 696 56 534 924
-10000 286 853 815 223 274 644 641 288 313
-10000 559 554 64 908 541 137 787 321 712
-10000 619 136 506 316 878 498 511 809 124
-10000 716 700 511 817 794 329 991 761 635
-10000 929 919 189 990 366 111 288 961 88
-10000 717 615 635 393 684 660 185 807 174
-10000 128 918 976 92 79 335 695 123 199
-10000 224 193 633 715 93 474 344 417 138
-10000 96 80 859 375 21 43 341 569 262
-10000 910 704 733 468 450 366 260 946 403
-10000 489 621 231 196 598 908 210 670 327
-10000 256 367 11 393 398 723 877 903 253
-10000 367 186 186 262 382 833 793 367 257
-10000 936 794 467 924 145 714 479 360 611
-10000 114 440 855 785 350 737 799 445 7
-10000 624 623 313 984 57 583 850 454 705
-10000 138 430 131 935 831 4 433 160 938
-10000 569 21 524 113 433 386 493 187 966
-10000 1 4 873 358 158 728 327 775 379
-10000 865 816 287 75 962 603 367 653 538
-10000 809 671 490 85 464 943 849 422 375
-10000 626 675 155 897 157 317 586 595 312
-10000 543 992 928 384 571 665 600 878 263
-10000 952 928 863 500 292 57 313 641 245
-10000 557 435 19 269 546 225 923 474 143
-10000 532 791 765 644 216 231 863 361 352
-10000 105 970 762 435 114 150 25 183 88
-10000 124 946 463 868 518 722 269 515 590
-10000 242 433 257 726 416 406 721 251 829
-10000 36 481 189 997 414 245 443 730 872
-10000 277 827 274 531 763 58 696 22 201
-10000 248 971 610 620 271 683 720 191 408
-10000 451 661 222 409 972 999 331 130 353
-10000 906 418 767 140 150 437 370 948 569
-10000 928 785 344 855 528 981 560 283 537
-10000 222 673 957 144 753 381 857 545 222
-10000 904 972 644 150 153 285 566 821 134
-10000 976 738 814 523 611 574 452 555 170
-10000 580 192 775 840 746 566 842 989 791
-10000 535 430 708 404 735 141 123 374 931
-10000 769 135 957 884 935 429 759 770 534
-10000 423 793 199 634 344 19 225 953 286
-10000 668 426 313 366 624 616 410 78 453
-10000 702 909 231 249 685 650 455 427 856
-10000 28 440 9 76 216 860 496 83 595
-10000 635 562 543 990 268 349 445 650 272
-10000 628 545 934 355 415 1 465 158 249
-10000 947 779 196 766 895 443 471 563 844
-10000 370 877 639 462 180 413 779 819 519
-10000 507 814 223 252 728 454 77 577 114
-10000 281 104 53 90 162 335 414 717 274
-10000 287 15 621 93 181 724 744 666 510
-10000 748 698 742 499 905 154 473 410 601
-10000 582 641 295 722 866 185 296 743 487
-10000 956 291 704 293 662 395 658 380 487
-10000 175 120 969 972 116 214 737 454 225
-10000 232 872 710 991 364 927 740 921 903
-10000 164 511 625 31 328 584 362 744 286
-10000 373 244 775 809 573 206 903 540 804
-10000 708 309 463 205 91 143 31 42 319
-10000 460 217 939 50 411 299 682 426 836
-10000 726 140 145 217 285 244 888 309 885
-10000 660 696 931 329 29 901 833 734 860
-10000 295 311 72 408 195 225 914 807 644
-10000 441 55 839 442 256 695 41 844 413
-10000 979 812 569 753 261 980 603 458 862
-10000 882 82 265 800 88 446 452 301 441
-10000 70 205 472 878 309 844 558 665 355
-10000 966 373 303 289 885 56 735 442 409
-10000 238 64 149 744 255 524 721 170 668
-10000 11 861 104 196 86 465 954 581 683
-10000 515 797 916 703 729 750 360 900 673
-10000 848 600 916 825 495 100 507 79 117
-10000 695 971 113 922 937 156 997 24 791
-10000 973 27 787 270 808 709 18 525 148
-10000 64 269 14 979 288 372 460 256 0
-10000 671 421 827 608 254 251 735 601 230
-10000 901 163 859 867 174 838 192 853 67
-10000 802 633 876 975 799 46 192 163 986
-10000 2 591 328 561 870 163 31 652 263
-10000 990 822 327 851 792 162 207 202 794
-10000 212 168 653 437 430 244 95 97 738
-10000 102 568 757 644 972 304 142 415 823
-10000 24 53 411 408 795 868 383 683 534
-10000 271 96 373 593 53 609 719 928 593
-10000 405 222 932 260 555 412 347 806 715
-10000 644 274 808 69 877 974 611 892 263
-10000 18 255 148 54 221 303 135 150 639
-10000 676 542 568 845 303 825 905 778 136
-10000 550 110 362 810 379 967 632 970 525
-10000 152 871 263 17 264 247 941 524 740
-10000 826 528 522 148 422 39 137 74 432
-10000 575 974 743 552 173 424 863 237 548
-10000 489 421 790 164 467 796 942 381 847
-10000 798 750 201 811 625 925 605 14 754
-10000 670 878 524 743 210 996 744 939 979
-10000 360 685 897 103 75 245 186 651 819
-10000 458 935 640 211 355 858 32 99 647
-10000 872 521 127 353 638 476 1 41 759
-10000 495 989 429 552 654 75 929 591 645
-10000 398 303 425 254 687 850 544 495 657
-10000 830 552 991 434 52 289 958 192 368
-10000 303 326 157 431 289 145 489 527 358
-10000 353 671 427 439 220 725 68 66 311
-10000 726 566 638 733 939 394 599 235 317
-10000 3 642 623 2 688 623 791 161 953
-10000 773 670 489 625 898 211 138 632 695
-10000 868 274 331 560 688 692 705 614 969
-10000 486 753 804 529 912 566 476 33 267
-10000 727 308 981 138 898 783 46 261 296
-10000 185 241 472 736 119 738 108 149 607
-10000 960 261 168 880 487 613 524 928 198
-10000 678 491 387 769 880 413 401 873 355
-10000 943 934 559 92 289 427 982 263 851
-10000 433 83 108 417 623 174 523 626 524
-10000 269 508 917 442 570 971 768 752 489
-10000 860 314 219 102 925 308 532 222 124
-10000 307 334 991 849 548 44 663 830 274
-10000 65 612 319 559 51 90 805 235 652
-10000 628 287 150 154 710 327 791 309 9
-10000 858 115 73 14 176 524 388 360 727
-10000 926 881 702 227 407 803 85 997 753
-10000 700 742 642 355 133 256 129 406 756
-10000 269 4 187 324 257 99 358 102 96
-10000 427 283 794 409 696 917 808 376 957
-10000 898 372 27 928 952 461 198 816 396
-10000 818 103 455 646 984 264 718 202 852
-10000 808 449 311 783 327 440 400 991 224
-10000 777 662 545 329 912 7 25 0 50
-10000 560 212 684 899 378 629 981 344 207
-10000 824 437 944 943 171 807 177 528 638
-10000 957 178 664 858 513 590 28 949 619
-10000 879 787 493 739 151 244 827 805 228
-10000 229 693 460 198 283 875 44 554 818
-10000 180 838 281 38 839 565 61 608 764
-10000 154 346 878 835 580 647 798 341 947
-10000 951 280 180 368 346 111 893 439 212
-10000 854 986 340 12 833 491 909 589 653
-10000 593 824 31 230 106 303 27 628 529
-10000 551 594 306 508 589 256 848 569 505
-10000 821 284 403 596 378 827 913 340 584
-10000 882 313 391 472 7 252 488 323 484
-10000 412 62 359 506 699 238 115 31 39
-10000 211 217 641 839 335 125 716 300 109
-10000 271 265 855 420 123 100 126 475 571
-10000 801 732 843 869 829 828 86 53 933
-10000 86 255 699 105 308 188 793 641 484
-10000 989 874 861 844 120 814 464 75 790
-10000 148 644 651 298 687 409 394 697 672
-10000 35 666 863 288 703 355 393 396 670
-10000 213 440 163 143 177 591 120 460 868
-10000 996 778 878 70 840 444 139 45 777
-10000 593 416 241 767 22 784 245 137 20
-10000 683 959 834 998 534 51 982 938 47
-10000 808 835 480 580 351 610 995 922 556
-10000 365 987 542 134 499 929 239 463 15
-10000 560 192 370 336 55 67 668 379 898
-10000 297 126 538 132 886 576 716 638 255
-10000 621 336 906 970 75 279 651 719 657
-10000 370 650 626 151 473 160 298 831 419
-10000 795 635 397 901 712 875 593 806 744
-10000 584 916 179 662 121 386 65 58 910
-10000 128 322 262 79 768 329 484 10 381
-10000 1000 847 477 711 387 746 382 828 889
-10000 691 384 74 520 715 355 332 351 558
-10000 452 444 216 415 73 59 18 414 789
-10000 213 728 288 907 303 527 129 760 692
-10000 798 891 128 27 333 942 181 416 286
-10000 534 525 826 956 644 279 91 428 417
-10000 905 25 413 933 141 917 186 378 928
-10000 803 114 251 112 492 700 789 135 242
-10000 948 53 219 182 471 868 82 726 271
-10000 867 329 791 100 69 592 392 635 975
-10000 669 269 728 761 609 540 152 951 1
-10000 341 253 328 68 84 414 961 880 54
-10000 926 971 825 329 609 951 600 286 541
-10000 761 370 611 163 738 314 756 500 34
-10000 735 101 631 119 107 426 464 983 999
-10000 411 843 344 798 374 886 33 597 893
-10000 65 729 192 416 595 333 955 702 5
-10000 308 152 503 606 354 985 942 599 8
-10000 182 132 474 606 103 320 81 241 871
-10000 855 49 110 359 471 236 594 389 900
-10000 959 372 698 518 714 967 773 939 774
-10000 161 804 861 594 274 137 137 43 519
-10000 368 636 864 679 488 827 734 441 22
-10000 423 733 502 915 553 982 216 961 619
-10000 905 186 753 516 585 907 552 338 47
-10000 433 973 667 202 626 393 988 938 362
-10000 879 423 846 249 261 631 397 27 62
-10000 24 563 302 142 25 484 38 592 828
-10000 412 640 195 7 39 984 628 863 375
-10000 983 717 912 754 888 204 458 825 379
-10000 746 780 140 503 221 687 609 24 727
-10000 21 513 96 501 351 470 891 203 136
-10000 84 840 395 492 693 56 669 544 982
-10000 512 740 272 291 278 762 274 960 926
-10000 978 989 453 689 13 468 71 777 828
-10000 747 936 216 530 406 990 306 383 709
-10000 698 908 434 310 160 499 78 829 50
-10000 23 857 631 184 532 8 363 714 391
-10000 590 11 835 899 539 591 305 374 348
-10000 617 632 831 452 958 891 370 2 271
-10000 116 323 886 717 659 173 687 463 12
-10000 661 356 48 179 175 956 417 186 7
-10000 166 112 712 672 891 714 520 591 374
-10000 677 816 15 290 669 357 856 228 507
-10000 806 258 715 397 277 422 324 176 263
-10000 983 496 692 822 402 60 746 664 113
-10000 467 355 515 185 339 47 465 720 218
-10000 911 69 254 499 322 580 792 786 475
-10000 467 878 635 427 607 930 877 453 861
-10000 284 823 456 916 95 191 966 641 301
-10000 495 804 906 603 227 212 878 566 0
-10000 673 266 395 207 543 562 416 381 963
-10000 128 251 204 367 590 743 437 103 59
-10000 378 102 637 143 280 34 500 238 259
-10000 373 359 291 985 81 397 601 620 517
-10000 338 794 968 498 219 128 320 639 649
-10000 524 852 522 561 417 258 842 374 896
-10000 351 980 963 722 484 184 537 588 877
-10000 58 85 10 213 916 652 300 9 230
-10000 239 363 168 299 804 858 741 624 177
-10000 905 43 831 355 883 201 805 955 440
-10000 754 866 702 980 767 199 726 661 282
-10000 726 385 116 960 159 624 158 489 335
-10000 584 811 995 409 691 740 521 595 516
-10000 446 539 99 46 931 190 794 878 199
-10000 626 724 34 901 969 579 712 610 146
-10000 130 593 138 88 229 260 860 110 636
-10000 351 484 568 487 406 756 50 795 988
-10000 424 846 966 750 897 435 503 891 256
-10000 502 367 498 350 937 16 101 724 58
-10000 569 968 62 201 105 431 101 958 570
-10000 715 692 226 585 251 281 184 542 517
-10000 271 848 585 471 322 976 855 385 9
-10000 705 679 413 434 802 786 335 418 96
-10000 58 934 671 789 958 687 917 227 592
-10000 898 978 903 264 1000 695 929 838 168
-10000 710 973 700 624 774 790 811 106 892
-10000 618 869 979 754 21 739 398 457 401
-10000 636 341 241 110 583 672 524 780 917
-10000 863 695 936 298 570 740 459 654 802
-10000 76 589 447 370 925 920 952 67 305
-10000 938 412 35 963 615 31 412 761 252
-10000 566 214 393 306 778 78 706 487 719
-10000 435 381 478 224 610 949 3 640 426
-10000 342 441 455 643 261 466 414 119 538
-10000 833 982 49 908 854 699 924 36 123
-10000 935 420 532 163 662 567 997 122 454
-10000 500 220 291 553 676 963 987 537 815
-10000 324 75 87 826 743 363 880 372 418
-10000 703 485 381 764 313 577 932 21 432
-10000 337 472 557 805 460 129 328 454 707
-10000 702 852 873 420 535 915 82 772 364
-10000 974 330 569 973 465 880 18 200 807
-10000 367 885 226 204 451 908 585 72 624
-10000 49 157 431 343 572 64 797 234 708
-10000 742 552 279 541 782 255 34 590 358
-10000 545 791 736 755 827 41 746 764 689
-10000 400 51 464 661 687 76 168 127 500
-10000 771 440 85 528 1 60 575 729 140
-10000 752 622 0 582 97 784 666 395 475
-10000 391 928 739 639 913 640 624 830 4
-10000 136 994 865 452 939 104 164 660 188
-10000 966 763 709 667 75 748 566 44 474
-10000 311 74 740 692 586 361 179 292 416
-10000 471 988 132 269 95 302 554 561 388
-10000 35 456 586 692 448 796 959 670 500
-10000 423 669 707 779 379 908 823 236 180
-10000 17 360 245 238 88 138 81 242 274
-10000 341 470 84 746 448 387 588 367 506
-10000 503 869 817 854 585 355 240 215 265
-10000 344 372 91 164 362 124 611 141 573
-10000 151 633 979 891 238 679 582 493 908
-10000 861 977 733 513 852 394 507 748 683
-10000 904 523 612 708 81 352 453 361 790
-10000 762 124 327 517 613 430 25 205 149
-10000 134 220 904 792 973 241 857 834 505
-10000 282 122 663 525 986 604 450 792 888
-10000 340 956 113 844 343 199 534 527 768
-10000 444 956 466 238 422 605 489 371 602
-10000 10 60 662 218 403 622 741 390 130
-10000 632 415 842 92 464 827 211 359 628
-10000 793 535 963 42 881 862 561 84 865
-10000 441 96 164 339 422 89 849 386 595
-10000 384 298 319 330 809 324 543 528 582
-10000 209 124 602 554 953 381 685 468 132
-10000 236 732 98 829 197 842 140 663 349
-10000 707 677 253 191 250 792 691 126 902
-10000 886 919 189 98 322 908 555 57 966
-10000 926 286 986 533 572 278 430 983 442
-10000 738 903 128 420 560 989 703 182 802
-10000 533 797 333 767 766 338 945 791 352
-10000 519 62 707 774 358 877 611 811 583
-10000 168 912 163 425 43 539 145 267 932
-10000 9 137 633 95 464 609 565 569 395
-10000 129 111 612 586 910 768 535 325 787
-10000 85 405 899 108 19 155 768 566 250
-10000 930 878 117 471 529 575 979 905 739
-10000 154 1 804 554 530 234 325 675 632
-10000 874 790 457 535 189 980 564 291 820
-10000 896 882 215 925 864 315 61 512 906
-10000 558 333 948 654 424 464 959 475 341
-10000 939 31 778 99 307 309 574 810 609
-10000 850 296 502 152 736 75 851 9 512
-10000 54 262 509 365 745 866 242 440 673
-10000 12 309 60 349 847 599 335 852 253
-10000 973 603 330 887 509 846 34 309 926
-10000 55 759 944 572 126 695 70 457 642
-10000 228 74 442 446 467 201 11 166 569
-10000 715 250 576 38 866 159 827 9 703
-10000 180 694 618 444 252 140 922 405 384
-10000 138 257 509 458 329 625 182 705 955
-10000 507 827 184 26 36 709 263 779 765
-10000 238 273 952 918 18 338 918 827 73
-10000 700 711 450 117 179 865 350 849 856
-10000 561 7 47 907 103 22 145 986 462
-10000 652 127 877 700 821 601 828 230 108
-10000 738 896 967 568 427 462 994 471 920
-10000 310 901 467 479 488 740 962 500 939
-10000 914 679 287 196 140 673 924 638 819
-10000 251 557 47 819 307 743 51 712 105
-10000 358 252 995 762 893 414 526 850 606
-10000 697 302 821 491 179 275 529 910 641
-10000 277 536 314 338 493 718 470 300 889
-10000 688 674 344 796 602 993 809 823 949
-10000 790 91 636 711 970 713 236 121 209
-10000 288 736 550 970 213 21 161 343 448
-10000 184 883 74 785 533 182 690 335 389
-10000 252 774 4 15 145 224 588 521 456
-10000 15 188 355 901 257 131 406 485 187
-10000 789 474 148 157 237 124 247 392 60
-10000 249 852 333 415 338 971 931 459 726
-10000 236 163 759 261 337 937 80 562 608
-10000 373 609 594 84 361 354 1000 30 167
-10000 141 428 207 695 248 917 236 886 871
-10000 255 116 374 964 918 660 523 53 594
-10000 75 187 427 36 901 995 987 787 513
-10000 880 391 534 837 213 5 2 582 431
-10000 470 254 561 79 66 49 948 388 517
-10000 814 497 704 272 486 74 991 133 630
-10000 19 79 709 188 775 674 39 306 452
-10000 12 76 97 53 159 290 290 888 662
-10000 168 330 268 666 859 591 903 760 9
-10000 719 772 160 536 576 896 335 927 971
-10000 91 877 738 116 747 981 79 128 732
-10000 780 898 810 774 618 813 615 421 458
-10000 419 749 503 322 357 877 760 470 861
-10000 733 28 266 132 961 645 586 277 792
-10000 477 919 449 664 470 724 726 300 447
-10000 149 959 164 328 435 724 360 458 516
-10000 312 969 946 937 270 424 773 187 718
-10000 660 434 11 205 724 801 662 325 897
-10000 610 959 402 904 816 32 719 422 771
-10000 768 690 134 286 980 808 248 455 172
-10000 180 430 489 31 601 361 15 289 523
-10000 638 925 377 692 238 359 498 35 761
-10000 829 550 415 988 778 935 408 987 364
-10000 205 535 566 944 907 897 220 13 403
-10000 365 190 208 680 803 989 657 29 271
-10000 99 791 864 554 335 838 176 145 937
-10000 491 496 204 749 331 212 52 160 935
-10000 943 54 816 227 450 774 340 907 14
-10000 750 187 476 103 676 715 763 936 580
-10000 783 326 663 932 860 174 558 342 198
-10000 828 433 357 961 56 630 266 772 843
-10000 335 499 102 619 73 307 84 860 910
-10000 412 904 987 308 242 958 839 314 573
-10000 819 991 454 403 967 548 443 407 143
-10000 873 477 239 374 743 534 206 980 308
-10000 965 491 722 398 29 860 682 987 95
-10000 877 615 830 331 458 275 519 155 647
-10000 319 254 463 335 705 616 19 661 773
-10000 656 216 93 245 422 730 286 457 214
-10000 632 556 285 595 970 690 122 696 979
-10000 894 605 854 692 666 465 67 906 836
-10000 422 791 526 30 510 531 361 614 883
-10000 401 794 737 401 479 420 179 19 891
-10000 47 0 654 527 390 630 313 324 259
-10000 649 850 626 216 26 724 24 20 942
-10000 838 518 965 797 366 757 383 131 151
-10000 606 477 715 893 262 588 252 766 256
-10000 260 783 542 303 58 684 355 142 114
-10000 811 119 302 447 646 633 143 173 858
-10000 471 988 130 530 637 733 989 280 37
-10000 817 460 957 400 462 132 145 903 109
-10000 925 135 551 487 869 663 276 114 288
-10000 937 311 856 425 797 516 757 527 37
-10000 785 455 25 51 663 196 911 0 205
-10000 286 249 267 82 609 971 22 774 86
-10000 449 846 970 416 845 51 647 171 375
-10000 478 128 665 916 623 692 600 830 14
-10000 689 705 663 29 932 806 366 601 691
-10000 707 352 490 179 480 680 419 332 432
-10000 460 146 624 275 742 149 129 858 346
-10000 765 300 869 529 35 409 374 264 68
-10000 313 149 858 823 13 969 307 769 143
-10000 374 2 957 270 724 797 521 366 465
-10000 457 741 87 303 149 657 290 944 338
-10000 277 839 151 834 659 57 218 741 774
-10000 333 231 404 360 96 565 891 120 640
-10000 950 736 155 2 463 107 138 310 93
-10000 925 723 37 62 289 943 630 578 351
-10000 518 597 817 293 162 370 850 13 172
-10000 939 720 993 872 21 211 617 931 885
-10000 440 621 902 618 19 214 943 287 690
-10000 565 560 42 843 244 516 69 168 402
-10000 862 962 79 479 22 141 852 312 209
-10000 640 761 105 655 634 180 829 951 530
-10000 538 245 441 639 404 94 88 878 255
-10000 368 210 496 650 857 14 629 492 561
-10000 74 440 97 514 645 697 224 656 554
-10000 602 680 893 215 467 74 976 573 334
-10000 630 692 268 211 787 792 887 429 730
-10000 971 993 672 497 153 253 633 392 682
-10000 600 931 841 792 252 569 798 681 303
-10000 718 300 503 398 671 252 761 440 989
-10000 333 553 569 891 15 314 836 22 734
-10000 63 971 926 590 441 958 825 918 636
-10000 178 506 249 449 203 164 741 222 1000
-10000 42 775 227 176 512 389 364 664 304
-10000 321 104 93 39 44 284 420 120 598
-10000 781 782 327 195 619 532 840 907 381
-10000 639 261 202 282 219 778 313 171 221
-10000 612 339 930 192 92 552 405 463 307
-10000 579 277 699 643 30 652 481 349 611
-10000 91 289 59 94 683 751 587 633 82
-10000 335 126 563 416 41 385 739 492 320
-10000 764 412 555 291 524 647 123 961 861
-10000 425 719 38 593 887 684 902 415 246
-10000 287 846 318 719 474 653 300 728 688
-10000 37 149 583 249 713 997 57 346 66
-10000 366 377 590 950 366 691 991 327 98
-10000 965 652 682 81 408 564 174 225 439
-10000 953 355 740 562 761 190 949 94 387
-10000 875 648 357 320 193 717 576 520 486
-10000 645 499 838 218 759 908 397 679 625
-10000 830 274 833 533 474 889 425 0 629
-10000 649 734 737 822 396 81 32 956 456
-10000 352 450 425 830 742 915 226 294 632
-10000 609 664 695 658 295 577 842 204 526
-10000 449 434 885 743 848 987 177 593 995
-10000 152 549 884 699 145 727 953 797 531
-10000 394 101 422 84 896 622 284 758 379
-10000 526 182 885 478 875 398 576 472 908
-10000 676 368 788 600 859 540 334 247 145
-10000 406 367 520 68 492 569 144 301 411
-10000 248 896 329 907 191 590 996 158 535
-10000 926 107 763 121 772 536 681 206 652
-10000 705 884 562 41 400 624 759 496 792
-10000 645 41 404 666 42 586 263 180 672
-10000 964 659 702 797 31 576 252 581 689
-10000 271 686 486 981 757 562 741 29 604
-10000 659 745 551 663 808 453 595 808 155
-10000 925 947 274 264 290 299 968 757 593
-10000 395 216 187 469 53 738 345 566 41
-10000 302 873 276 869 362 839 284 887 357
-10000 632 742 442 940 815 308 806 369 837
-10000 896 463 247 819 217 225 681 301 349
-10000 498 444 570 521 574 737 359 197 213
-10000 593 50 857 4 961 968 177 365 566
-10000 924 965 549 176 938 73 0 143 422
-10000 148 932 409 602 636 629 572 884 729
-10000 910 526 317 759 83 710 813 847 509
-10000 711 741 984 441 299 751 713 387 999
-10000 731 520 409 235 460 527 170 707 380
-10000 706 192 933 235 748 694 966 48 308
-10000 892 60 822 373 100 472 179 768 755
-10000 805 972 770 557 775 907 129 106 427
-10000 818 312 502 992 706 598 234 956 175
-10000 495 639 962 402 373 234 829 792 199
-10000 490 204 215 391 482 163 937 941 831
-10000 30 947 103 753 306 370 969 178 329
-10000 236 408 327 852 600 163 972 281 122
-10000 417 264 519 75 158 992 210 194 182
-10000 603 189 879 952 236 790 975 553 944
-10000 336 229 0 210 426 754 242 163 665
-10000 955 395 177 884 758 192 384 403 6
-10000 848 912 969 641 931 923 925 738 340
-10000 169 663 762 573 410 208 461 519 569
-10000 394 990 459 237 802 677 987 516 775
-10000 703 634 865 125 766 953 38 192 276
-10000 904 39 358 560 935 216 116 993 388
-10000 195 330 542 316 408 175 279 202 921
-10000 105 526 150 843 833 184 387 566 496
-10000 489 193 142 531 848 280 315 391 241
-10000 450 408 291 690 694 779 735 724 266
-10000 139 705 903 701 671 909 399 751 89
-10000 109 400 851 659 892 512 530 633 877
-10000 926 371 247 786 271 674 877 776 391
-10000 396 493 157 117 205 685 605 396 117
-10000 755 638 507 135 358 332 583 875 852
-10000 414 155 400 546 738 844 104 966 940
-10000 109 897 970 423 734 522 565 931 73
-10000 279 820 820 153 449 144 408 857 386
-10000 194 194 545 721 676 358 476 352 4
-10000 935 480 641 950 955 725 182 815 665
-10000 907 719 773 243 275 846 899 201 487
-10000 377 503 494 195 18 79 402 798 684
-10000 120 592 45 497 207 328 606 4 752
-10000 10 362 24 534 463 636 738 330 951
-10000 862 25 680 220 622 723 96 976 79
-10000 631 230 465 919 278 978 359 947 846
-10000 555 584 620 656 747 802 954 947 307
-10000 832 901 437 808 705 984 313 140 863
-10000 227 370 493 498 987 918 771 833 808
-10000 954 449 640 97 953 498 793 557 754
-10000 89 976 281 365 279 336 220 352 548
-10000 223 489 765 883 804 12 187 827 864
-10000 283 578 806 733 299 883 361 163 662
-10000 421 95 364 63 551 451 854 415 591
-10000 932 655 216 36 10 162 454 211 195
-10000 339 682 916 748 326 613 380 461 640
-10000 182 760 109 499 346 727 24 135 955
-10000 229 191 243 653 82 52 754 670 932
-10000 622 545 182 630 615 923 726 292 284
-10000 715 407 343 57 20 571 805 277 527
-10000 227 318 215 448 888 414 194 32 422
-10000 81 460 394 455 510 170 310 655 883
-10000 729 664 405 738 462 782 643 928 444
-10000 157 410 646 79 225 573 443 547 56
-10000 294 255 416 362 613 929 571 346 401
-10000 342 49 915 505 972 467 327 57 823
-10000 142 796 385 86 274 575 603 793 804
-10000 376 43 287 893 735 724 385 829 507
-10000 306 207 937 891 668 121 187 692 746
-10000 693 938 784 490 263 223 266 318 740
-10000 728 154 993 649 479 186 194 269 921
-10000 521 598 534 364 546 438 369 589 958
-10000 996 853 363 110 736 143 906 0 175
-10000 314 401 218 400 877 438 276 235 238
-10000 125 845 399 963 683 442 337 943 644
-10000 700 741 993 641 682 607 992 551 9
-10000 264 931 291 911 523 489 202 109 866
-10000 668 69 770 932 369 469 60 845 764
-10000 362 413 964 271 504 899 713 91 98
-10000 714 663 886 226 994 376 444 274 275
-10000 834 678 261 821 488 697 481 673 755
-10000 17 971 949 786 811 161 626 841 568
-10000 849 196 289 659 863 242 411 382 719
-10000 223 165 857 740 464 820 540 868 607
-10000 873 806 887 282 763 971 125 20 234
-10000 717 543 589 269 900 756 967 582 201
-10000 329 830 687 769 320 655 318 148 49
-10000 441 455 992 190 827 366 28 598 614
-10000 605 824 845 364 601 838 150 885 510
-10000 618 498 431 170 748 72 700 302 294
-10000 456 793 881 276 708 862 961 831 285
-10000 424 977 413 313 756 501 721 632 779
-10000 754 213 272 683 186 658 691 978 871
-10000 78 480 683 317 574 590 708 933 78
-10000 556 876 287 805 43 3 470 834 29
-10000 415 307 119 731 133 248 240 390 623
-10000 107 19 95 314 588 788 682 83 77
-10000 257 267 799 651 686 374 351 509 55
-10000 853 612 131 285 738 23 76 375 864
-10000 92 425 155 628 56 831 655 557 568
-10000 683 744 241 672 597 809 925 497 901
-10000 557 797 761 813 512 115 139 23 405
-10000 191 12 160 211 708 665 960 88 851
-10000 37 943 719 490 132 561 708 224 511
-10000 966 300 687 926 188 579 583 551 945
-10000 329 846 674 653 781 706 309 719 541
-10000 458 266 718 195 541 196 319 830 133
-10000 84 642 600 524 754 247 195 195 263
-10000 483 628 726 909 245 277 588 871 523
-10000 133 111 624 466 749 712 524 756 858
-10000 501 51 416 39 257 58 805 309 706
-10000 223 835 865 567 830 662 465 848 180
-10000 2 534 427 42 740 103 92 382 132
-10000 781 612 302 768 790 51 100 537 173
-10000 269 52 717 392 909 644 853 334 447
-10000 908 927 491 943 399 356 132 776 152
-10000 540 884 479 512 273 971 1 312 72
-10000 170 33 299 798 58 974 524 952 674
-10000 240 371 942 325 751 43 694 88 993
-10000 225 44 701 567 630 565 705 399 289
-10000 516 91 464 148 454 21 75 154 19
-10000 769 496 758 493 276 170 324 515 313
-10000 446 479 740 568 969 953 578 262 513
-10000 93 417 483 214 319 289 637 944 798
-10000 103 747 661 349 157 279 108 317 153
-10000 856 762 173 879 256 618 96 23 335
-10000 478 897 296 591 806 446 739 671 996
-10000 387 961 574 439 851 539 222 317 76
-10000 270 825 277 513 99 431 157 526 547
-10000 200 126 315 69 673 53 335 820 632
-10000 923 865 137 559 939 391 196 581 219
-10000 331 617 416 109 892 613 84 979 719
-10000 253 198 520 324 914 676 59 571 393
-10000 956 825 675 858 855 154 485 334 772
-10000 421 459 465 302 732 729 609 455 853
-10000 277 517 167 216 928 919 168 390 185
-10000 320 356 954 694 825 466 477 835 210
-10000 770 260 274 912 654 974 829 451 6
-10000 63 149 372 85 641 438 724 759 148
-10000 912 826 237 55 918 378 428 464 145
-10000 511 253 599 906 470 623 825 618 957
-10000 19 918 931 11 365 864 186 795 496
-10000 477 323 302 608 665 350 45 450 857
-10000 132 553 254 233 406 800 945 664 727
-10000 216 987 179 302 913 585 440 386 264
-10000 880 931 93 135 482 83 142 673 273
-10000 346 971 843 279 946 522 625 745 259
-10000 622 977 37 426 756 958 713 266 293
-10000 496 391 797 938 110 862 469 841 680
-10000 443 882 377 272 193 396 561 392 666
-10000 769 857 594 868 249 841 615 945 279
-10000 372 30 212 34 837 231 266 731 103
-10000 997 745 445 363 365 169 614 814 166
-10000 297 567 524 156 239 705 151 779 600
-10000 114 93 708 663 834 310 256 638 783
-10000 357 996 592 520 837 715 590 371 666
-10000 847 322 884 96 750 772 906 988 753
-10000 602 63 656 587 392 990 490 620 909
-10000 578 819 24 702 985 375 772 176 266
-10000 352 394 467 185 528 362 225 399 834
-10000 772 916 799 294 515 574 100 987 401
-10000 385 833 363 430 412 998 783 213 452
-10000 163 248 259 509 292 236 930 214 355
-10000 396 710 707 540 345 674 309 315 259
-10000 877 37 564 250 165 970 959 603 995
-10000 366 223 986 206 415 900 606 696 455
-10000 408 29 97 590 766 539 444 931 830
-10000 808 789 245 38 300 801 566 911 615
-10000 408 709 670 885 301 964 670 608 853
-10000 138 604 588 670 335 868 246 480 514
-10000 422 942 507 58 997 479 807 597 10
-10000 464 517 831 191 186 117 304 784 5
-10000 496 478 681 128 343 907 568 174 536
-10000 92 133 748 283 631 618 949 541 893
-10000 570 898 101 779 540 998 25 448 362
-10000 297 109 89 93 70 213 987 991 147
-10000 732 238 623 823 642 744 585 575 9
-10000 105 329 870 445 945 947 452 359 345
-10000 468 532 171 499 896 12 963 996 766
-10000 557 674 20 971 216 495 875 829 597
-10000 868 443 899 539 780 158 543 563 334
-10000 590 247 169 161 767 470 648 998 370
-10000 173 780 793 952 298 785 651 165 771
-10000 407 839 230 976 774 613 725 375 268
-10000 973 120 181 746 258 17 425 887 408
-10000 283 557 947 541 292 499 932 28 682
-10000 590 661 197 254 895 514 209 402 64
-10000 695 204 863 454 899 783 81 228 549
-10000 709 808 288 658 997 403 5 460 616
-10000 422 989 456 44 352 976 748 259 971
-10000 22 579 529 517 971 353 808 552 611
-10000 815 167 792 105 710 28 931 862 395
-10000 827 72 962 839 428 706 78 623 76
-10000 871 986 448 557 919 163 972 139 642
-10000 993 231 269 272 989 272 469 854 149
-10000 746 950 820 277 987 772 500 395 24
-10000 877 334 9 388 54 782 905 198 941
-10000 492 39 307 905 543 65 650 89 535
-10000 989 104 93 588 489 340 612 470 149
-10000 732 451 615 155 154 723 490 836 970
-10000 352 963 736 432 190 385 17 543 597
-10000 473 991 409 505 748 479 890 318 168
-10000 550 865 183 385 777 857 49 127 958
-10000 799 95 461 113 728 977 593 45 968
-10000 50 438 516 268 546 664 389 279 786
-10000 725 940 979 461 494 442 938 419 106
-10000 905 599 519 199 541 760 871 463 259
-10000 109 951 941 861 945 862 159 11 281
-10000 341 647 947 362 408 27 362 64 72
-10000 404 365 333 479 460 866 336 313 473
-10000 249 92 982 456 597 96 636 552 183
-10000 129 842 810 201 547 614 986 869 547
-10000 556 929 308 451 871 840 703 281 920
-10000 582 64 177 159 635 487 820 636 134
-10000 868 408 461 358 845 78 526 354 102
-10000 320 49 543 237 542 803 318 269 912
-10000 144 19 531 188 903 457 943 933 47
-10000 652 157 636 873 316 602 809 44 861
-10000 705 742 156 810 898 679 806 225 102
-10000 812 381 644 776 941 272 148 984 910
-10000 570 297 687 993 537 667 557 981 845
-10000 886 605 54 389 662 621 193 634 467
-10000 204 269 712 952 380 646 169 535 954
-10000 53 995 696 490 476 765 174 395 487
-10000 805 611 913 792 897 852 885 438 474
-10000 871 100 850 810 672 43 786 822 172
-10000 531 437 23 140 753 748 162 613 15
-10000 303 808 11 214 540 820 602 440 766
-10000 803 245 648 760 128 669 955 737 312
-10000 882 475 28 224 672 831 229 651 937
-10000 844 600 334 655 426 603 104 635 95
-10000 688 662 22 372 859 665 756 299 264
-10000 501 186 277 186 839 890 292 706 13
-10000 896 379 306 601 350 434 170 13 849
-10000 547 747 546 110 996 263 88 217 692
-10000 818 476 674 468 936 2 909 986 691
-10000 322 424 255 171 605 966 324 65 75
-10000 373 672 371 260 57 339 745 699 351
-10000 761 477 34 362 862 551 171 119 430
-10000 806 368 843 474 757 859 877 304 51
-10000 992 415 946 214 537 38 762 435 932
-10000 257 131 31 484 395 601 805 336 825
-10000 149 233 778 19 662 910 570 867 503
-10000 840 529 620 589 120 185 949 876 20
-10000 378 343 84 34 508 801 964 23 714
-10000 545 493 128 44 880 274 957 20 771
-10000 420 235 748 714 300 389 500 889 64
-10000 327 88 235 131 468 48 439 124 555
-10000 128 469 507 47 913 915 516 666 232
-10000 483 595 809 532 728 837 152 142 974
-10000 898 671 688 22 124 384 640 623 247
-10000 187 638 749 709 624 498 983 641 604
-10000 155 969 808 214 94 831 173 640 386
-10000 717 516 86 533 621 887 376 210 880
-10000 361 446 701 695 604 435 95 637 754
-10000 883 54 101 475 132 262 948 225 991
-10000 921 311 644 715 133 572 777 280 721
-10000 754 157 693 322 377 285 503 19 789
-10000 196 715 604 250 155 376 202 141 903
-10000 908 530 765 18 265 576 95 898 938
-10000 979 773 806 994 89 103 701 133 655
-10000 548 958 144 521 461 600 182 361 740
-10000 810 826 165 304 327 953 68 70 345
-10000 398 734 369 268 627 452 333 971 979
-10000 668 985 575 391 748 100 350 459 447
-10000 134 193 2 535 756 133 416 769 279
-10000 739 190 966 195 512 546 715 960 761
-10000 959 38 240 747 668 778 20 495 609
-10000 924 572 443 219 821 347 564 582 930
-10000 29 201 448 861 579 157 116 495 996
-10000 263 976 282 915 470 440 363 887 531
-10000 778 499 366 266 9 473 87 672 607
-10000 475 591 809 447 509 534 1000 732 291
-10000 301 185 667 862 32 377 474 765 103
-10000 783 381 529 213 929 743 845 715 561
-10000 414 249 130 378 83 855 512 875 811
-10000 855 886 131 734 352 330 805 902 220
-10000 379 157 524 130 357 743 784 400 317
-10000 935 529 266 419 302 610 988 753 673
-10000 418 536 95 886 343 62 254 568 326
-10000 315 270 968 906 57 281 579 265 575
-10000 82 871 456 54 27 562 868 412 632
-10000 71 318 740 50 321 54 80 194 934
-10000 837 312 836 12 3 239 621 359 23
-10000 345 916 773 282 928 698 313 64 32
-10000 175 480 723 924 135 508 930 371 154
-10000 815 201 708 662 878 57 909 285 626
-10000 652 752 847 732 378 367 86 733 251
-10000 854 108 993 563 887 892 858 772 718
-10000 734 982 257 144 824 691 317 957 772
-10000 800 378 557 513 922 25 556 863 224
-10000 172 588 336 583 196 644 997 751 911
-10000 573 454 584 111 485 952 891 77 740
-10000 349 999 734 376 415 552 812 356 560
-10000 187 388 468 585 336 479 186 958 492
-10000 501 205 91 959 828 64 347 364 437
-10000 511 736 64 897 955 867 273 178 158
-10000 1 392 137 801 113 203 348 632 720
-10000 296 953 658 685 650 16 255 602 557
-10000 123 7 396 286 628 659 853 0 762
-10000 383 863 850 258 29 880 835 32 27
-10000 841 173 648 287 852 209 334 387 944
-10000 72 144 813 659 179 341 417 389 754
-10000 262 635 927 176 360 509 825 453 561
-10000 739 377 951 974 269 187 756 916 630
-10000 327 620 787 549 119 574 425 400 167
-10000 228 737 49 597 319 422 75 859 348
-10000 353 671 556 730 47 493 198 426 866
-10000 803 361 127 600 147 633 241 253 788
-10000 901 837 711 957 149 720 872 488 276
-10000 670 783 475 791 643 789 177 14 718
-10000 809 437 518 502 113 402 847 692 437
-10000 941 450 306 119 952 603 481 135 914
-10000 149 211 414 821 251 982 944 479 363
-10000 594 18 34 897 770 650 651 145 131
-10000 549 516 718 911 50 811 875 762 405
-10000 865 6 620 310 450 226 590 345 421
-10000 605 100 289 163 886 65 403 273 773
-10000 493 162 480 232 592 695 157 682 649
-10000 104 265 234 706 519 151 272 143 150
-10000 128 783 570 898 369 300 75 141 592
-10000 870 553 358 410 26 908 506 702 247
-10000 68 205 965 756 241 790 416 736 859
-10000 175 537 518 956 903 91 786 757 210
-10000 600 291 619 51 708 686 116 174 803
-10000 989 335 411 526 122 91 885 927 787
-10000 193 978 969 630 823 188 915 632 594
-10000 409 389 471 22 365 17 77 149 810
-10000 534 354 26 327 651 812 608 226 182
-10000 845 780 744 356 346 735 294 115 585
-10000 855 326 232 159 578 903 120 166 247
-10000 59 453 532 268 984 538 865 12 893
-10000 933 122 90 670 603 718 327 395 965
-10000 489 459 493 720 753 33 144 490 564
-10000 623 808 570 242 648 323 459 96 135
-10000 961 913 23 227 311 235 728 70 682
-10000 885 131 941 933 679 375 866 31 342
-10000 972 993 784 328 558 106 203 269 720
-10000 410 727 618 194 672 238 652 144 391
-10000 73 688 576 889 540 436 136 865 598
-10000 814 39 667 387 244 688 753 500 539
-10000 390 536 571 766 493 116 255 843 615
-10000 349 264 297 229 960 438 865 587 525
-10000 489 753 291 137 260 851 73 362 325
-10000 776 119 691 271 364 461 346 455 861
-10000 299 618 984 366 280 454 285 814 159
-10000 58 642 901 719 216 905 410 766 275
-10000 339 587 744 853 891 372 781 698 140
-10000 594 645 161 257 921 910 462 418 964
-10000 646 135 886 390 16 294 120 299 681
-10000 408 40 610 11 363 613 855 874 437
-10000 280 1000 722 68 945 771 651 457 414
-10000 805 650 904 364 19 823 843 11 244
-10000 375 387 966 479 465 428 954 550 496
-10000 814 581 683 270 530 537 440 184 290
-10000 911 849 948 959 489 212 408 828 517
-10000 919 822 392 526 925 863 745 113 925
-10000 14 860 636 552 87 87 394 899 726
-10000 128 820 167 178 692 790 936 965 554
-10000 70 443 254 575 298 601 649 841 111
-10000 705 599 587 462 493 94 746 359 399
-10000 166 935 771 4 603 354 356 267 63
-10000 895 378 285 735 691 206 327 972 605
-10000 669 600 884 959 438 152 671 338 351
-10000 100 952 865 991 997 623 387 874 39
-10000 431 704 422 874 456 252 138 73 380
-10000 885 325 414 777 379 991 389 323 868
-10000 800 243 72 668 210 75 520 482 273
-10000 550 56 193 857 683 390 9 350 216
-10000 25 15 515 65 95 664 890 173 619
-10000 168 242 429 565 289 327 189 263 991
-10000 766 278 95 15 863 174 158 370 265
-10000 634 655 738 456 387 9 354 360 823
-10000 593 34 451 97 89 450 195 868 216
-10000 922 467 572 671 974 606 238 919 575
-10000 294 218 810 484 420 966 637 742 583
-10000 676 996 825 408 219 592 834 629 874
-10000 302 627 381 71 150 493 572 351 787
-10000 833 904 370 520 943 779 572 881 25
-10000 377 17 727 372 114 167 912 791 776
-10000 949 389 435 857 753 325 543 64 988
-10000 332 498 528 516 899 465 941 606 50
-10000 798 773 154 689 582 684 549 753 450
-10000 613 824 302 265 270 917 594 280 543
-10000 717 490 986 143 360 19 417 540 111
-10000 309 464 824 866 154 519 628 189 954
-10000 763 593 794 503 668 671 511 858 707
-10000 146 769 36 20 835 765 34 101 356
-10000 543 357 850 473 909 574 749 810 651
-10000 750 929 952 190 970 564 488 253 76
-10000 519 605 481 53 623 980 15 601 430
-10000 588 60 32 195 150 330 31 107 822
-10000 217 694 336 616 53 719 924 869 224
-10000 314 971 942 13 807 462 171 290 260
-10000 742 782 116 301 467 84 977 349 106
-10000 389 208 222 920 850 704 350 488 952
-10000 499 176 168 221 892 130 276 517 157
-10000 659 779 648 238 839 714 443 872 832
-10000 983 140 670 981 31 412 333 539 297
-10000 791 454 954 521 560 369 150 181 794
-10000 837 200 278 885 452 680 403 297 647
-10000 125 317 683 233 324 852 720 449 878
-10000 46 19 71 733 629 360 458 752 673
-10000 466 646 103 45 162 424 703 658 351
-10000 855 167 935 942 236 958 835 255 452
-10000 480 647 853 575 866 632 346 741 428
-10000 110 659 222 897 12 495 713 232 503
-10000 976 414 242 79 384 459 775 6 577
-10000 102 189 566 41 977 887 377 836 636
-10000 393 620 598 853 743 767 328 872 618
-10000 510 293 772 458 4 697 886 851 817
-10000 988 74 325 919 157 46 543 199 393
-10000 428 953 253 758 205 657 982 220 214
-10000 233 947 6 989 57 313 187 886 447
-10000 674 451 396 489 794 244 253 366 612
-10000 762 762 433 587 576 506 557 613 954
-10000 925 548 582 571 139 916 282 110 475
-10000 195 919 283 549 574 53 652 224 901
-10000 107 936 844 436 380 59 596 489 903
-10000 186 78 112 964 354 662 300 871 408
-10000 642 435 473 605 827 757 495 333 753
-10000 52 434 198 642 202 390 779 436 144
-10000 666 559 410 614 140 157 527 412 125
-10000 529 18 933 999 290 495 350 774 265
-10000 349 398 90 949 679 153 533 201 538
-10000 791 537 896 567 797 685 151 232 745
-10000 186 604 251 284 921 920 395 237 835
-10000 122 122 784 107 612 239 517 889 973
-10000 276 778 701 899 815 931 340 458 688
-10000 9 19 228 219 694 421 960 845 752
-10000 196 994 817 585 108 121 262 678 616
-10000 861 837 392 35 708 159 652 126 547
-10000 692 75 920 620 312 537 36 763 112
-10000 62 610 525 388 301 49 465 588 354
-10000 814 950 49 257 684 473 2 301 119
-10000 55 149 815 759 121 986 983 908 733
-10000 913 1 316 204 226 976 590 523 85
-10000 487 843 813 357 833 799 659 556 372
-10000 865 643 707 843 178 463 858 357 480
-10000 988 766 913 926 789 269 189 319 590
-10000 601 728 618 599 560 772 326 480 915
-10000 652 443 780 400 93 479 614 0 109
-10000 148 526 828 536 374 238 184 120 619
-10000 340 941 352 716 991 634 938 547 539
-10000 138 894 654 74 692 172 701 977 662
-10000 764 84 337 410 173 419 410 986 733
-10000 274 322 392 172 460 95 516 606 692
-10000 851 683 417 550 787 850 912 681 456
-10000 643 675 65 828 260 0 5 500 391
-10000 92 421 779 353 429 298 755 724 773
-10000 504 387 915 826 547 106 888 728 446
-10000 489 404 587 836 617 662 376 202 508
-10000 229 748 208 169 381 503 266 218 156
-10000 316 804 610 643 135 971 104 428 9
-10000 786 753 681 63 614 639 927 43 388
-10000 687 391 856 254 312 611 885 199 612
-10000 985 626 59 704 180 712 120 29 685
-10000 944 57 666 552 806 804 934 606 932
-10000 554 137 60 264 220 869 684 729 337
-10000 926 102 959 704 202 651 941 431 228
-10000 44 892 77 94 757 940 770 436 155
-10000 785 917 757 306 279 532 124 727 890
-10000 341 18 560 308 578 258 922 590 861
-10000 401 838 959 615 847 786 974 430 611
-10000 908 730 687 440 363 28 435 172 317
-10000 163 451 744 622 619 482 671 927 442
-10000 465 769 332 853 221 266 283 758 786
-10000 880 302 289 781 196 575 746 144 203
-10000 89 737 716 689 327 804 719 966 226
-10000 895 246 213 758 918 242 478 872 777
-10000 908 377 639 290 108 713 778 135 451
-10000 701 163 680 179 115 108 738 546 679
-10000 252 412 148 973 429 448 495 741 12
-10000 384 788 298 559 393 298 263 208 253
-10000 961 782 176 602 798 518 527 360 557
-10000 760 263 156 833 359 709 752 373 915
-10000 269 926 449 766 781 675 850 960 742
-10000 493 670 310 919 81 208 242 908 854
-10000 611 168 735 273 436 574 660 829 304
-10000 229 992 712 445 673 174 494 865 157
-10000 861 115 583 630 781 990 1000 92 832
-10000 905 797 590 328 819 746 679 292 851
-10000 835 952 553 964 203 370 43 688 751
-10000 978 146 407 530 347 678 207 389 26
-10000 164 452 537 259 810 369 119 225 872
-10000 399 859 646 465 893 484 387 55 907
-10000 489 341 174 70 258 514 897 366 741
-10000 9 956 238 697 585 348 450 518 186
-10000 711 136 750 422 976 863 77 419 616
-10000 585 801 511 843 673 64 310 459 9
-10000 325 139 69 977 70 624 169 691 626
-10000 81 683 673 665 14 986 926 852 68
-10000 642 499 378 274 554 848 601 584 239
-10000 131 186 911 214 698 740 529 168 769
-10000 697 885 689 572 944 356 282 209 533
-10000 649 749 998 437 944 982 219 741 980
-10000 431 56 995 639 311 137 970 106 430
-10000 529 934 887 872 334 529 108 647 309
-10000 79 58 424 7 234 256 535 193 43
-10000 510 463 361 201 379 993 896 238 711
-10000 441 488 883 65 664 576 927 921 533
-10000 829 327 711 245 512 99 374 711 454
-10000 188 355 167 485 905 292 662 396 277
-10000 641 723 558 223 620 915 813 469 126
-10000 292 269 551 829 508 342 162 22 768
-10000 289 881 609 90 368 428 26 430 887
-10000 695 776 230 969 557 806 508 395 601
-10000 416 154 861 874 234 276 487 301 137
-10000 236 297 987 565 576 122 41 570 401
-10000 455 306 561 116 843 261 233 189 601
-10000 922 546 481 862 493 481 233 307 528
-10000 331 867 310 408 779 171 605 390 558
-10000 793 650 746 87 914 62 903 665 543
-10000 0 25 532 298 448 734 153 618 260
-10000 756 478 150 677 610 564 256 638 766
-10000 491 932 55 714 114 849 655 879 108
-10000 771 240 95 742 815 447 647 889 205
-10000 314 26 230 154 133 335 155 609 606
-10000 993 85 236 148 753 98 894 25 932
-10000 910 715 982 977 632 151 16 89 158
-10000 412 463 752 657 876 610 331 352 676
-10000 753 571 535 16 631 248 228 304 83
-10000 826 212 578 382 640 723 953 216 629
-10000 647 624 317 863 907 445 551 732 927
-10000 371 736 218 200 507 190 405 641 154
-10000 41 629 974 123 898 822 610 213 448
-10000 388 106 528 714 173 865 780 696 670
-10000 615 16 770 596 191 396 267 481 731
-10000 364 723 412 284 256 621 785 681 465
-10000 796 305 966 539 420 796 323 14 659
-10000 891 865 914 817 871 43 528 454 729
-10000 292 145 400 26 507 264 109 524 668
-10000 940 525 30 850 897 962 383 500 819
-10000 189 710 497 514 162 972 72 12 752
-10000 430 845 906 208 824 404 925 362 594
-10000 488 334 406 905 474 400 962 335 990
-10000 802 100 684 750 256 345 142 814 793
-10000 673 723 83 530 209 918 47 446 311
-10000 254 998 938 484 708 526 115 205 876
-10000 634 952 504 217 742 425 871 800 218
-10000 229 31 459 121 336 318 44 434 432
-10000 290 61 951 70 912 3 397 833 611
-10000 909 547 914 853 557 534 630 708 358
-10000 816 713 360 730 255 377 461 948 694
-10000 499 904 81 917 97 935 818 601 116
-10000 594 623 575 242 487 684 301 686 592
-10000 840 209 253 877 802 246 183 382 214
-10000 262 851 479 280 333 707 664 273 505
-10000 908 960 675 710 944 674 906 278 858
-10000 920 509 823 602 291 703 331 915 32
-10000 287 521 748 346 2 172 910 893 864
-10000 335 207 903 137 512 381 328 428 543
-10000 56 365 501 949 918 112 893 966 435
-10000 950 947 997 877 519 982 790 880 723
-10000 536 184 802 836 943 787 360 863 668
-10000 214 150 818 944 582 457 741 117 462
-10000 1000 202 988 28 833 38 528 120 961
-10000 352 270 3 58 291 161 959 822 141
-10000 385 353 628 226 461 317 4 984 773
-10000 226 623 310 650 938 143 221 990 549
-10000 34 622 664 670 214 81 251 95 281
-10000 135 588 218 561 243 972 396 592 349
-10000 739 769 996 149 743 144 187 231 833
-10000 107 17 621 346 191 261 361 562 22
-10000 641 272 218 331 770 475 32 351 742
-10000 483 554 609 342 260 686 763 800 172
-10000 892 959 622 86 38 406 135 482 501
-10000 77 113 548 225 624 813 887 236 170
-10000 16 242 560 473 908 503 94 900 545
-10000 925 541 868 568 953 900 696 882 364
-10000 6 162 711 151 532 258 253 306 661
-10000 583 457 209 468 782 160 94 873 394
-10000 664 377 524 549 475 220 162 333 782
-10000 652 229 734 454 39 325 212 685 675
-10000 119 418 399 626 328 844 327 923 183
-10000 497 709 784 927 647 793 363 453 446
-10000 814 347 892 298 855 786 312 368 989
-10000 53 879 153 675 570 624 781 494 662
-10000 433 375 944 390 659 821 17 499 665
-10000 130 840 89 587 883 391 715 20 361
-10000 589 612 912 721 899 832 178 309 755
-10000 609 353 657 544 716 301 753 573 957
-10000 209 338 745 487 997 671 91 303 285
-10000 699 55 903 139 129 482 736 203 129
-10000 457 447 969 231 293 684 689 551 929
-10000 833 422 619 71 260 975 942 388 342
-10000 401 277 111 298 147 734 183 723 981
-10000 531 642 565 709 208 223 955 590 799
-10000 520 105 301 450 522 928 541 0 492
-10000 365 291 523 890 827 917 11 418 908
-10000 813 139 933 376 465 163 773 923 879
-10000 565 14 189 622 685 802 340 69 512
-10000 854 421 9 864 976 657 895 466 512
-10000 113 410 347 29 706 281 563 645 83
-10000 858 507 258 339 689 159 283 371 191
-10000 992 974 703 786 650 629 328 997 878
-10000 827 309 279 335 253 476 425 967 115
-10000 920 484 548 43 42 153 551 631 63
-10000 987 35 620 520 115 191 399 979 705
-10000 780 260 152 32 551 555 135 419 416
-10000 708 186 37 510 922 87 833 78 17
-10000 660 336 643 120 479 733 567 517 657
-10000 545 450 498 438 776 808 671 988 772
-10000 588 318 325 695 170 952 815 989 56
-10000 730 47 684 807 251 942 544 513 242
-10000 180 187 772 644 681 652 383 748 429
-10000 256 942 220 716 733 437 28 379 618
-10000 344 569 109 909 414 335 147 907 851
-10000 106 606 13 878 934 951 870 970 60
-10000 593 618 237 956 867 356 95 337 370
-10000 347 909 768 509 907 155 416 102 912
-10000 18 680 524 527 868 815 133 413 667
-10000 984 425 597 868 537 787 522 361 287
-10000 860 141 883 562 221 690 32 100 613
-10000 750 453 108 620 259 64 121 438 409
-10000 949 798 728 407 853 505 674 239 623
-10000 963 778 900 975 39 793 421 865 417
-10000 595 266 351 404 3 234 166 497 130
-10000 282 939 342 505 959 185 58 354 269
-10000 499 323 485 185 489 100 807 195 596
-10000 80 45 239 692 721 238 99 175 118
-10000 918 27 971 952 607 400 670 582 961
-10000 641 134 302 346 308 627 985 757 870
-10000 487 483 752 761 90 866 37 298 924
-10000 769 704 483 469 866 569 395 683 397
-10000 592 484 900 501 936 485 595 45 720
-10000 16 280 897 636 321 915 360 946 796
-10000 826 372 861 125 804 548 914 78 491
-10000 934 441 653 842 162 408 195 994 979
-10000 5 279 41 467 901 201 627 910 928
-10000 664 188 358 135 537 427 905 991 996
-10000 120 891 614 328 511 875 410 976 9
-10000 731 269 820 288 913 144 636 445 668
-10000 959 645 245 878 825 311 960 668 717
-10000 928 576 402 37 411 63 201 74 488
-10000 128 27 665 812 498 423 223 151 132
-10000 843 291 286 628 388 130 422 755 761
-10000 910 920 700 623 897 254 78 249 355
-10000 867 674 124 883 852 115 282 899 121
-10000 171 162 259 883 101 315 805 224 789
-10000 592 79 749 526 928 990 367 253 149
-10000 962 821 952 909 392 838 904 975 843
-10000 309 969 117 680 115 654 882 842 523
-10000 385 307 265 77 858 736 90 518 328
-10000 796 20 367 398 632 321 839 969 71
-10000 65 540 424 392 396 893 318 97 772
-10000 745 866 875 568 541 288 146 633 603
-10000 187 56 350 210 205 895 422 896 503
-10000 386 891 265 493 968 753 326 889 245
-10000 894 903 917 452 672 471 30 99 883
-10000 815 461 484 36 855 369 86 159 772
-10000 556 955 659 865 973 671 66 515 668
-10000 293 158 727 445 110 196 84 313 364
-10000 311 350 249 114 890 150 751 118 979
-10000 304 162 371 784 339 777 456 336 712
-10000 384 165 949 780 347 914 572 860 552
-10000 262 828 344 244 365 646 588 862 570
-10000 827 57 268 758 144 808 37 440 271
-10000 830 205 189 63 97 391 569 801 172
-10000 646 346 464 991 180 44 866 452 275
-10000 553 247 863 56 467 11 513 234 764
-10000 641 945 901 236 381 431 716 504 112
-10000 647 375 450 23 560 6 66 741 699
-10000 89 585 721 650 366 174 258 843 317
-10000 547 983 455 319 650 565 8 178 489
-10000 55 849 356 375 871 303 88 424 536
-10000 57 29 681 107 494 831 904 928 935
-10000 219 542 196 197 200 354 47 830 633
-10000 883 131 524 352 144 590 636 685 439
-10000 409 804 999 148 522 868 2 811 399
-10000 343 397 13 41 921 906 792 599 308
-10000 638 894 71 449 860 269 552 406 606
-10000 640 774 244 579 514 928 598 532 466
-10000 683 693 576 203 316 251 18 249 360
-10000 511 869 229 504 630 565 452 140 913
-10000 534 813 880 512 887 758 531 628 335
-10000 504 626 704 24 660 682 566 582 808
-10000 84 822 50 235 125 779 913 390 358
-10000 185 182 234 380 366 813 778 68 150
-10000 363 370 826 664 937 321 796 306 404
-10000 386 926 811 566 495 723 486 760 984
-10000 922 290 264 399 414 1 707 243 788
-10000 789 292 753 318 850 597 284 386 500
-10000 914 380 942 393 672 982 658 285 984
-10000 997 425 844 556 527 492 913 928 289
-10000 693 214 727 93 778 99 465 607 556
-10000 773 893 1000 491 371 217 778 595 978
-10000 493 663 124 928 803 59 357 21 701
-10000 901 305 317 793 109 800 534 202 890
-10000 299 533 310 46 79 939 662 320 286
-10000 757 483 641 181 10 725 454 938 312
-10000 643 945 728 161 772 609 87 678 869
-10000 431 152 968 579 912 420 393 26 510
-10000 642 259 853 510 566 670 698 818 430
-10000 194 399 354 120 977 287 144 368 295
-10000 212 769 868 690 372 11 382 422 622
-10000 702 973 266 340 748 85 229 993 939
-10000 411 794 431 994 963 222 13 721 571
-10000 302 216 437 651 306 999 682 992 391
-10000 30 664 113 146 939 750 789 337 795
-10000 885 126 364 713 314 278 108 704 915
-10000 784 133 613 513 928 72 634 660 352
-10000 853 358 635 191 20 919 725 301 567
-10000 177 942 158 744 543 269 690 58 874
-10000 775 469 182 527 286 254 510 654 447
-10000 816 834 616 664 273 864 98 301 48
-10000 299 458 495 809 401 221 940 958 339
-10000 233 823 850 498 214 949 936 190 213
-10000 122 553 863 995 13 961 296 736 422
-10000 620 343 686 518 307 62 964 960 452
-10000 598 403 914 570 724 573 543 80 109
-10000 889 361 746 657 260 920 74 521 877
-10000 466 416 507 508 433 707 757 79 47
-10000 336 543 427 203 844 226 762 441 951
-10000 220 34 829 240 493 406 753 127 1
-10000 9 50 485 953 755 234 40 87 357
-10000 112 672 205 406 652 351 394 67 418
-10000 745 181 306 378 219 476 249 472 61
-10000 862 840 512 425 753 327 75 693 13
-10000 205 422 159 227 269 953 962 587 519
-10000 857 184 662 182 269 168 688 511 370
-10000 956 158 728 459 333 483 13 22 778
-10000 31 850 840 323 208 206 786 273 361
-10000 543 371 641 573 34 577 947 90 684
-10000 850 736 491 925 156 303 625 792 340
-10000 909 848 399 292 311 829 298 99 609
-10000 410 528 684 207 424 162 863 405 730
-10000 860 642 533 915 10 479 19 961 671
-10000 276 731 802 243 285 287 803 447 629
-10000 951 171 532 649 672 427 259 719 814
-10000 255 936 619 826 594 372 905 937 363
-10000 887 421 74 37 768 699 794 523 700
-10000 109 680 1000 669 85 999 298 748 289
-10000 222 667 94 164 258 604 987 108 541
-10000 168 649 891 628 387 872 785 433 893
-10000 449 20 358 438 302 471 364 872 628
-10000 366 410 19 86 993 375 516 622 374
-10000 574 759 971 340 433 858 647 354 808
-10000 866 360 771 195 83 562 692 717 526
-10000 787 738 432 238 565 602 320 498 643
-10000 510 29 15 711 931 94 396 810 305
-10000 840 306 480 822 827 303 774 942 979
-10000 664 754 103 806 519 39 434 850 2
-10000 21 258 237 304 545 50 73 674 865
-10000 594 121 480 789 128 173 220 985 937
-10000 330 620 735 287 729 772 678 50 560
-10000 900 445 237 919 418 489 128 250 979
-10000 746 500 144 499 305 476 138 277 758
-10000 169 189 892 532 631 464 636 246 120
-10000 924 897 736 684 627 593 385 674 709
-10000 851 363 388 769 297 711 940 254 321
-10000 758 115 469 237 785 326 489 514 239
-10000 387 978 412 16 480 664 110 678 180
-10000 968 646 68 242 653 511 173 348 294
-10000 113 887 981 739 613 972 489 809 691
-10000 537 294 108 386 961 820 36 870 359
-10000 245 803 492 73 326 175 914 558 603
-10000 257 870 887 361 389 44 87 682 771
-10000 172 946 588 220 314 299 100 991 864
-10000 867 10 421 397 918 134 182 550 676
-10000 506 284 74 385 877 907 388 876 398
-10000 63 208 114 31 654 741 505 353 101
-10000 665 283 329 635 639 531 786 588 750
-10000 958 235 202 475 969 897 254 320 204
-10000 902 350 778 24 943 18 509 598 510
-10000 139 627 698 14 575 733 610 384 66
-10000 767 516 218 350 101 876 830 196 364
-10000 958 1000 593 978 372 947 637 691 369
-10000 939 448 438 57 155 780 564 904 684
-10000 326 138 145 676 120 190 632 477 144
-10000 557 43 519 801 938 610 211 67 112
-10000 653 875 109 90 508 95 475 618 459
-10000 371 677 799 421 113 795 148 719 383
-10000 137 448 667 502 272 835 801 627 17
-10000 839 615 530 291 431 147 908 712 268
-10000 555 994 892 566 4 849 382 124 919
-10000 273 646 630 32 153 746 423 767 66
-10000 561 635 530 990 63 729 402 655 411
-10000 152 817 969 934 174 2 202 848 669
-10000 870 108 0 905 491 289 721 817 1000
-10000 89 113 137 935 145 747 448 442 921
-10000 912 231 228 190 949 608 309 256 557
-10000 174 597 953 789 973 437 496 58 938
-10000 542 499 934 51 852 830 198 606 701
-10000 594 113 518 53 222 734 637 438 24
-10000 281 934 415 488 941 867 377 324 158
-10000 617 330 32 452 753 692 334 390 447
-10000 661 227 119 846 697 673 415 421 927
-10000 519 623 875 851 391 396 739 127 111
-10000 278 640 197 721 656 299 410 194 954
-10000 275 229 990 941 975 591 963 347 642
-10000 914 455 10 294 194 380 108 818 74
-10000 472 434 323 348 982 835 729 528 549
-10000 365 906 860 677 170 903 966 94 736
-10000 53 58 135 927 878 900 384 926 747
-10000 878 444 846 838 357 432 517 578 80
-10000 832 851 892 48 73 141 199 881 369
-10000 795 152 594 511 22 885 137 108 946
-10000 731 361 520 654 709 958 873 638 596
-10000 982 593 701 343 833 852 964 277 514
-10000 862 137 895 156 213 493 757 883 277
-10000 977 417 420 721 195 664 247 584 959
-10000 565 512 906 917 689 614 846 743 131
-10000 755 634 138 948 148 413 35 533 32
-10000 494 723 623 528 419 689 300 533 737
-10000 681 351 15 831 458 907 347 532 875
-10000 494 522 694 695 675 367 956 538 119
-10000 747 796 765 176 698 294 506 697 983
-10000 162 678 773 709 164 273 757 873 7
-10000 531 166 452 423 926 33 36 922 383
-10000 459 597 548 330 776 639 611 477 775
-10000 974 791 980 125 325 721 402 371 51
-10000 711 735 403 150 31 580 557 239 188
-10000 165 831 532 923 287 834 923 870 129
-10000 493 210 65 668 973 420 25 110 364
-10000 414 865 278 848 437 887 813 130 827
-10000 114 414 323 897 131 981 638 62 71
-10000 688 734 244 443 944 310 396 442 609
-10000 311 381 119 332 240 503 556 89 311
-10000 796 529 269 112 926 627 295 234 715
-10000 107 240 7 927 786 99 425 147 524
-10000 97 247 678 530 193 349 217 279 970
-10000 597 873 347 614 817 395 328 614 926
-10000 526 20 696 608 858 154 810 785 459
-10000 410 517 180 179 214 808 865 428 849
-10000 245 490 294 966 567 736 10 187 864
-10000 169 977 521 13 521 748 914 465 253
-10000 507 540 508 39 524 620 464 920 184
-10000 625 740 618 164 963 15 292 687 504
-10000 222 466 108 947 972 950 428 199 589
-10000 608 812 853 538 671 609 152 340 357
-10000 335 360 985 671 609 568 25 166 253
-10000 660 949 381 874 379 385 352 26 591
-10000 894 956 610 299 292 306 461 434 376
-10000 236 925 12 990 527 287 97 82 222
-10000 241 952 311 167 675 623 172 0 889
-10000 273 169 195 589 240 869 63 787 602
-10000 173 992 831 854 43 543 561 567 249
-10000 776 546 321 220 620 324 725 974 304
-10000 700 287 519 405 839 212 34 60 607
-10000 765 822 499 823 353 69 458 284 104
-10000 588 709 224 546 309 157 218 53 200
-10000 455 698 346 69 701 245 836 231 153
-10000 805 617 472 343 356 973 952 903 728
-10000 646 570 924 251 280 809 844 926 448
-10000 677 566 860 751 901 499 662 248 175
-10000 932 408 51 53 265 729 964 880 328
-10000 146 349 383 720 114 456 281 271 75
-10000 50 928 778 304 378 542 258 286 645
-10000 824 294 329 890 945 66 776 658 659
-10000 120 466 210 93 533 5 925 62 119
-10000 978 403 547 431 794 708 425 334 136
-10000 602 305 104 436 170 955 142 420 654
-10000 996 6 520 102 548 867 163 566 857
-10000 932 143 655 331 478 915 612 13 970
-10000 384 287 265 185 318 479 214 769 196
-10000 401 334 885 80 964 717 920 445 981
-10000 9 963 719 123 725 599 164 102 167
-10000 916 217 363 744 386 190 743 496 775
-10000 170 480 157 530 595 930 442 885 908
-10000 161 421 530 331 798 444 937 262 326
-10000 682 16 31 769 948 353 186 278 633
-10000 100 579 499 608 843 476 682 660 572
-10000 988 635 902 632 161 942 659 48 933
-10000 393 197 735 545 711 171 763 648 907
-10000 291 579 304 80 581 539 777 251 678
-10000 143 595 386 1 868 188 314 820 418
-10000 416 299 575 953 192 638 211 623 17
-10000 878 554 927 697 434 891 566 550 369
-10000 473 332 882 843 843 613 54 248 757
-10000 365 222 293 226 100 418 898 199 35
-10000 672 626 520 677 796 273 783 420 736
-10000 48 837 935 463 757 293 919 758 618
-10000 234 841 105 161 983 656 359 408 432
-10000 621 257 198 196 654 824 823 668 197
-10000 575 812 404 204 597 91 984 767 998
-10000 733 910 469 393 728 814 344 85 69
-10000 283 82 960 700 892 536 809 662 528
-10000 770 169 390 748 354 277 281 300 21
-10000 285 244 283 846 160 342 17 296 751
-10000 39 166 606 880 288 330 559 380 294
-10000 170 17 837 384 620 515 597 844 476
-10000 504 166 810 605 624 716 365 381 863
-10000 397 518 167 272 603 96 708 591 449
-10000 129 242 224 359 289 166 215 593 540
-10000 718 77 70 907 111 918 509 387 117
-10000 157 535 300 409 751 197 383 995 635
-10000 13 61 113 409 593 983 644 481 259
-10000 371 603 449 789 224 989 172 603 402
-10000 738 550 660 841 990 696 797 465 794
-10000 350 496 145 430 64 807 85 534 901
-10000 347 757 297 843 160 676 643 406 177
-10000 166 763 595 353 373 695 436 388 473
-10000 588 717 689 890 941 676 891 573 249
-10000 65 290 206 243 996 50 629 799 700
-10000 443 667 445 982 34 354 545 149 123
-10000 896 974 257 351 111 341 317 285 971
-10000 538 577 628 889 76 700 853 795 299
-10000 252 992 108 709 901 30 999 914 668
-10000 47 232 31 351 580 216 252 848 635
-10000 631 498 453 99 393 537 19 738 965
-10000 283 39 402 463 825 831 356 867 167
-10000 98 241 646 226 867 345 621 241 371
-10000 456 195 740 952 473 302 30 64 229
-10000 207 637 360 945 877 568 685 275 583
-10000 508 676 509 918 249 0 787 569 493
-10000 282 878 475 982 804 912 53 880 454
-10000 412 64 166 581 596 970 267 545 675
-10000 894 199 274 267 746 511 249 697 267
-10000 286 251 44 950 208 173 419 225 627
-10000 132 8 96 708 898 134 724 842 410
-10000 222 306 549 9 458 123 590 318 621
-10000 183 559 377 691 962 793 375 79 653
-10000 984 151 159 18 943 261 95 646 144
-10000 386 528 887 581 661 925 958 892 377
-10000 781 77 810 261 500 128 201 29 446
-10000 591 941 891 211 493 714 814 468 615
-10000 235 394 211 947 120 174 980 682 719
-10000 68 5 968 248 201 756 366 470 557
-10000 404 543 719 746 92 687 646 859 14
-10000 20 434 732 816 385 133 818 151 726
-10000 665 563 108 33 933 4 122 746 354
-10000 376 993 435 921 612 712 691 869 446
-10000 52 17 586 737 656 948 413 643 695
-10000 520 168 5 499 257 261 869 691 46
-10000 820 15 251 757 166 653 245 395 694
-10000 896 347 186 979 365 669 697 184 355
-10000 981 790 382 391 999 32 830 850 171
-10000 918 593 786 628 639 610 47 251 374
-10000 228 775 241 83 258 591 812 979 521
-10000 445 118 726 93 732 372 498 478 695
-10000 749 222 8 876 252 652 311 968 731
-10000 82 920 947 819 355 54 171 730 779
-10000 462 696 542 677 113 65 388 248 716
-10000 967 519 570 579 753 815 196 590 905
-10000 620 773 925 654 239 589 593 198 412
-10000 519 601 521 737 750 52 839 283 570
-10000 531 864 694 237 187 437 913 513 953
-10000 610 6 321 851 474 511 474 734 626
-10000 528 671 685 739 676 654 417 664 419
-10000 967 110 109 100 790 901 285 273 721
-10000 523 408 553 525 263 343 465 518 996
-10000 990 285 650 426 709 905 572 509 66
-10000 814 898 596 389 665 914 412 986 680
-10000 429 237 816 341 414 222 697 274 961
-10000 435 789 845 730 970 304 42 556 141
-10000 226 442 565 891 566 768 317 595 344
-10000 9 750 379 178 167 985 118 830 695
-10000 423 205 853 663 526 111 953 693 918
-10000 674 807 909 691 276 393 765 473 234
-10000 543 358 425 475 2 328 821 198 216
-10000 772 157 786 268 834 530 303 994 745
-10000 275 164 126 279 751 959 444 114 790
-10000 561 609 901 392 900 419 821 189 66
-10000 51 732 25 218 310 485 392 15 381
-10000 766 374 837 126 743 440 635 909 6
-10000 638 196 109 192 554 721 538 571 684
-10000 792 826 974 353 305 245 419 592 138
-10000 138 687 567 264 32 513 434 328 617
-10000 104 253 396 997 979 287 194 685 648
-10000 603 455 622 246 887 467 282 394 554
-10000 350 533 269 179 451 550 693 872 469
-10000 68 754 630 602 861 307 625 162 448
-10000 979 205 918 574 88 12 869 49 831
-10000 866 440 663 483 642 845 304 751 738
-10000 713 658 225 530 58 341 608 684 172
-10000 496 746 792 107 128 833 461 271 3
-10000 957 742 976 673 308 649 59 491 764
-10000 487 643 78 464 568 751 927 73 614
-10000 341 828 73 769 481 56 374 824 225
-10000 549 246 798 694 905 159 566 13 260
-10000 360 630 350 860 75 727 512 324 664
-10000 564 88 590 584 541 589 643 554 645
-10000 295 43 317 296 4 274 693 655 2
-10000 156 443 375 240 446 967 261 81 337
-10000 522 394 924 388 283 672 433 101 5
-10000 879 630 181 589 436 66 430 771 160
-10000 161 106 595 610 293 940 984 220 170
-10000 949 645 504 248 177 226 834 408 910
-10000 739 48 555 959 61 0 898 707 989
-10000 217 306 634 158 48 719 421 450 571
-10000 934 559 735 453 506 556 280 319 941
-10000 685 861 596 490 101 737 781 783 248
-10000 797 485 793 443 918 224 473 823 507
-10000 907 976 110 0 781 975 246 361 206
-10000 351 308 27 142 772 608 416 957 852
-10000 279 894 174 791 286 551 939 645 140
-10000 192 164 398 80 476 242 274 52 885
-10000 710 560 719 82 141 257 593 345 487
-10000 73 215 407 746 502 498 426 546 529
-10000 186 711 870 635 233 539 854 968 99
-10000 93 391 254 779 745 655 475 726 899
-10000 11 566 603 852 222 318 744 26 101
-10000 188 296 992 465 825 689 309 698 734
-10000 314 592 57 526 703 323 107 9 341
-10000 40 272 396 649 884 211 250 76 615
-10000 530 287 83 805 491 845 785 871 923
-10000 203 508 531 914 93 908 699 309 462
-10000 988 457 812 861 518 179 26 776 261
-10000 33 570 710 504 739 462 936 767 990
-10000 150 212 87 286 678 131 340 783 285
-10000 131 527 597 315 208 175 964 859 190
-10000 580 354 49 937 729 168 966 586 59
-10000 811 547 88 971 808 855 857 262 759
-10000 524 805 105 564 836 886 358 672 719
-10000 750 874 466 288 535 589 694 215 862
-10000 532 222 132 262 613 925 453 874 414
-10000 513 158 948 875 661 512 66 624 902
-10000 860 559 508 347 43 237 875 769 492
-10000 263 578 958 215 661 857 1000 821 780
-10000 322 408 828 523 798 436 122 332 445
-10000 230 22 862 72 865 667 61 150 585
-10000 410 978 603 368 495 980 234 6 924
-10000 521 501 36 392 511 800 406 624 721
-10000 753 316 319 610 910 410 196 982 133
-10000 4 642 134 963 671 708 548 57 894
-10000 770 514 387 407 18 608 503 606 123
-10000 115 578 15 975 585 775 969 292 928
-10000 808 193 294 21 751 560 544 201 694
-10000 431 881 83 513 827 359 904 698 495
-10000 461 818 181 593 814 829 957 414 403
-10000 79 168 807 537 508 992 435 414 657
-10000 206 356 222 470 358 929 814 995 262
-10000 762 453 259 183 532 207 663 818 805
-10000 668 15 30 315 549 343 70 997 453
-10000 731 425 843 836 394 345 629 907 751
-10000 529 101 710 312 138 204 67 359 943
-10000 703 359 546 148 136 387 246 806 299
-10000 399 773 535 31 295 146 896 314 879
-10000 327 603 454 254 878 789 118 415 975
-10000 658 414 46 42 982 790 110 820 45
-10000 334 260 28 36 745 544 811 695 879
-10000 942 843 209 828 271 508 626 12 619
-10000 869 385 297 144 673 885 628 130 262
-10000 28 313 137 159 115 75 774 544 571
-10000 627 802 290 182 731 620 530 59 518
-10000 459 395 581 422 355 397 312 986 848
-10000 569 699 522 371 112 135 214 314 322
-10000 312 757 556 139 868 157 202 665 644
-10000 869 256 238 943 300 393 190 666 136
-10000 474 763 746 755 26 182 246 694 589
-10000 67 70 325 328 284 280 326 3 983
-10000 271 87 886 429 575 378 263 213 406
-10000 830 185 669 836 33 700 48 566 897
-10000 593 179 354 117 526 634 562 855 98
-10000 646 567 5 822 218 35 177 946 232
-10000 470 373 518 926 64 480 101 398 888
-10000 695 828 289 364 194 693 695 635 962
-10000 326 271 195 701 304 440 338 718 844
-10000 779 109 856 114 911 898 2 357 215
-10000 159 811 23 378 831 866 577 355 857
-10000 878 480 861 183 230 570 870 3 610
-10000 462 373 690 683 139 858 87 714 915
-10000 999 62 33 555 778 842 150 889 158
-10000 281 24 527 685 23 18 17 456 29
-10000 459 773 249 882 110 100 284 722 402
-10000 942 429 742 973 925 877 985 307 510
-10000 882 54 173 270 949 631 155 31 181
-10000 595 596 514 633 893 819 853 325 356
-10000 269 247 314 585 642 72 492 530 183
-10000 332 124 428 566 912 997 694 151 377
-10000 252 835 383 753 225 854 479 518 15
-10000 117 772 997 631 43 444 324 203 950
-10000 426 971 678 695 695 494 500 790 446
-10000 209 293 189 868 385 349 866 590 185
-10000 746 361 123 440 333 430 779 377 320
-10000 65 190 206 478 459 883 317 445 187
-10000 711 619 191 522 858 760 837 762 220
-10000 207 460 787 695 936 123 541 389 711
-10000 900 545 233 189 840 226 226 221 908
-10000 396 716 816 364 23 960 170 79 218
-10000 826 670 831 150 239 739 599 876 394
-10000 979 754 929 344 711 194 535 817 0
-10000 675 987 555 195 291 280 735 951 637
-10000 946 264 111 836 121 498 491 123 164
-10000 728 205 191 648 250 280 381 443 252
-10000 202 336 566 386 576 125 729 642 134
-10000 124 226 989 901 639 90 855 998 668
-10000 476 144 341 683 358 375 65 410 611
-10000 464 158 271 960 124 427 997 337 303
-10000 431 894 858 929 181 827 101 721 515
-10000 111 749 694 943 404 561 888 396 933
-10000 82 461 775 864 117 809 251 622 218
-10000 631 455 924 315 968 499 364 593 85
-10000 57 94 902 776 222 683 289 25 588
-10000 626 501 723 21 682 939 50 817 825
-10000 959 653 841 349 930 610 13 244 170
-10000 929 910 146 9 405 406 640 283 882
-10000 357 587 38 314 943 789 124 426 89
-10000 700 164 728 593 193 574 237 522 80
-10000 859 234 481 554 846 880 656 486 841
-10000 198 873 493 6 589 96 849 316 173
-10000 653 964 89 966 42 487 772 607 654
-10000 372 250 623 145 105 126 619 909 665
-10000 893 291 388 830 383 458 815 953 341
-10000 412 704 630 129 493 518 283 721 171
-10000 767 478 999 411 831 349 606 426 19
-10000 110 569 179 780 803 593 744 421 159
-10000 636 278 627 92 238 127 77 382 766
-10000 500 68 563 481 737 786 165 641 680
-10000 0 516 648 383 568 981 926 861 142
-10000 43 593 813 994 665 400 786 671 677
-10000 289 614 927 584 739 19 412 968 484
-10000 85 536 605 521 600 198 551 366 62
-10000 165 580 626 254 577 30 957 873 50
-10000 412 264 349 909 894 81 771 308 446
-10000 269 675 164 767 585 467 957 909 866
-10000 341 286 108 134 972 363 808 807 684
-10000 139 27 142 690 615 504 905 170 845
-10000 237 794 177 943 9 566 783 338 995
-10000 804 278 712 663 47 608 193 1 319
-10000 922 524 940 286 943 313 310 721 356
-10000 546 253 232 292 490 39 607 174 440
-10000 38 187 902 685 947 52 458 880 0
-10000 170 944 496 636 47 433 316 291 594
-10000 86 763 240 668 164 306 43 5 694
-10000 198 75 9 521 941 417 20 976 906
-10000 841 242 665 384 436 17 840 200 983
-10000 560 643 446 998 2 39 434 716 609
-10000 210 578 479 167 186 280 256 192 660
-10000 975 805 67 676 971 795 903 46 402
-10000 399 270 166 163 608 286 998 292 419
-10000 822 330 228 57 723 946 825 956 119
-10000 103 326 720 616 82 992 571 838 569
-10000 911 208 0 323 926 555 877 60 790
-10000 855 432 252 704 332 166 150 723 157
-10000 665 127 102 998 215 922 264 558 814
-10000 240 999 941 384 508 596 976 2 760
-10000 653 156 382 237 25 286 929 348 692
-10000 775 968 343 657 540 309 625 0 278
-10000 911 24 234 118 777 121 310 603 8
-10000 206 375 641 706 71 435 511 52 866
-10000 57 854 244 23 398 659 812 604 893
-10000 838 869 699 428 0 970 174 623 153
-10000 271 120 368 601 517 942 589 263 323
-10000 885 146 977 613 420 505 770 786 445
-10000 672 444 252 398 260 984 501 442 598
-10000 70 616 946 715 839 444 515 568 268
-10000 321 210 168 472 268 421 204 570 191
-10000 480 96 635 456 880 510 231 217 520
-10000 531 368 452 8 77 594 414 778 197
-10000 420 429 919 416 412 599 532 681 95
-10000 402 197 88 492 615 226 674 240 803
-10000 974 40 618 36 285 599 28 568 332
-10000 216 306 713 219 774 124 443 483 386
-10000 640 652 625 31 955 266 464 123 947
-10000 791 354 600 698 212 699 605 879 954
-10000 33 896 314 465 101 926 480 174 601
-10000 229 494 671 32 398 18 895 274 124
-10000 367 580 185 626 30 39 687 577 733
-10000 13 622 400 700 323 489 208 763 495
-10000 738 957 169 562 689 104 124 55 547
-10000 318 482 511 619 602 384 267 16 575
-10000 348 352 924 806 827 725 785 721 323
-10000 211 352 767 280 94 110 171 383 451
-10000 443 544 406 771 692 206 210 471 586
-10000 429 480 107 887 573 602 911 427 330
-10000 713 737 576 784 875 688 221 251 263
-10000 270 732 485 648 910 460 820 736 735
-10000 13 477 892 419 263 863 857 304 0
-10000 300 552 311 971 781 164 690 648 928
-10000 777 671 28 29 849 360 59 318 472
-10000 835 31 399 446 314 92 187 129 153
-10000 958 919 125 688 29 910 953 268 282
-10000 300 299 501 688 798 384 771 978 486
-10000 584 863 414 53 795 783 829 502 86
-10000 467 59 155 62 16 485 446 436 82
-10000 305 257 445 520 202 308 824 247 691
-10000 910 704 377 534 241 811 384 951 967
-10000 286 599 356 706 409 212 203 66 807
-10000 406 297 473 285 319 651 314 24 978
-10000 561 840 140 858 431 366 710 9 483
-10000 969 938 709 477 314 64 427 576 696
-10000 954 376 404 15 393 481 828 274 628
-10000 995 240 775 571 317 743 922 730 77
-10000 920 598 856 57 253 997 8 435 669
-10000 833 544 467 912 182 663 805 445 36
-10000 841 143 545 518 238 871 740 527 763
-10000 847 492 34 588 358 30 867 364 732
-10000 797 501 804 156 524 207 330 258 269
-10000 721 754 388 889 854 290 680 929 417
-10000 465 892 765 814 300 359 606 949 402
-10000 21 301 605 371 127 915 659 122 62
-10000 480 140 55 103 993 725 80 873 960
-10000 67 625 516 98 204 272 321 959 199
-10000 451 545 970 880 400 763 412 722 383
-10000 839 304 23 824 305 862 43 192 940
-10000 831 998 499 364 451 344 21 199 905
-10000 67 316 201 368 222 875 311 86 356
-10000 185 56 673 967 237 560 134 320 908
-10000 700 259 107 830 991 544 92 977 698
-10000 299 297 229 969 198 989 51 760 909
-10000 57 734 221 771 824 452 972 81 607
-10000 619 257 875 10 807 992 459 732 620
-10000 269 747 957 191 484 352 965 590 903
-10000 966 614 323 454 4 637 104 334 899
-10000 877 453 188 532 603 847 148 495 602
-10000 119 911 707 895 150 462 650 578 690
-10000 847 791 77 461 50 874 955 110 263
-10000 203 541 807 420 294 31 197 399 413
-10000 206 252 415 265 536 805 596 288 15
-10000 851 997 819 128 662 146 607 605 229
-10000 603 827 512 766 350 983 592 273 215
-10000 465 875 459 810 308 803 146 363 521
-10000 198 541 972 766 69 430 578 903 999
-10000 273 485 361 829 344 349 550 141 404
-10000 530 520 229 526 947 515 887 228 243
-10000 666 622 286 661 173 134 643 414 268
-10000 11 994 198 726 640 701 971 846 158
-10000 411 889 498 906 214 69 655 406 596
-10000 396 763 903 238 76 7 625 883 589
-10000 236 71 522 275 403 85 786 261 865
-10000 708 103 199 894 411 190 680 649 660
-10000 168 471 419 240 616 628 456 162 91
-10000 131 618 188 391 806 188 644 687 461
-10000 632 618 750 308 403 213 806 870 88
-10000 747 323 384 986 681 329 322 721 21
-10000 386 519 429 519 963 667 538 745 34
-10000 431 655 700 825 616 984 634 342 153
-10000 725 242 171 754 310 473 175 780 360
-10000 459 409 919 325 576 465 290 954 794
-10000 595 438 157 679 8 497 37 911 861
-10000 99 781 625 676 828 108 300 616 761
-10000 891 152 235 683 146 799 840 419 964
-10000 738 306 393 953 966 153 320 631 455
-10000 959 221 605 248 408 675 771 444 446
-10000 850 773 277 244 145 748 814 697 113
-10000 978 531 244 115 474 438 45 141 839
-10000 89 832 541 247 114 963 826 515 765
-10000 746 193 480 441 325 236 765 585 642
-10000 845 829 840 754 968 176 550 136 903
-10000 661 754 561 407 508 634 78 354 380
-10000 664 757 245 660 244 723 972 571 759
-10000 400 676 35 74 499 471 271 210 930
-10000 216 845 635 628 199 707 427 853 431
-10000 848 715 341 247 968 465 599 303 737
-10000 502 758 454 700 313 670 417 560 919
-10000 660 690 601 550 502 805 424 221 152
-10000 422 685 65 138 140 126 913 959 316
-10000 202 693 459 384 527 34 479 132 878
-10000 143 456 74 935 225 510 445 864 435
-10000 896 889 475 39 73 221 424 541 57
-10000 342 656 152 878 494 435 629 795 269
-10000 987 874 818 581 174 29 574 342 469
-10000 761 566 226 316 949 832 43 752 25
-10000 427 386 248 353 503 200 561 220 818
-10000 355 354 672 985 975 266 557 813 234
-10000 782 794 400 467 620 726 136 117 660
-10000 106 202 953 616 780 199 373 997 323
-10000 748 99 963 83 684 930 666 323 248
-10000 490 718 32 575 61 344 600 256 506
-10000 739 750 299 452 303 887 998 815 323
-10000 844 916 431 231 181 310 285 718 724
-10000 490 83 489 121 383 678 543 468 357
-10000 841 832 299 926 636 934 54 835 136
-10000 736 891 656 606 857 273 727 106 180
-10000 690 338 953 605 934 737 127 433 662
-10000 989 141 788 856 111 656 477 503 520
-10000 366 557 196 30 622 662 681 7 869
-10000 276 204 505 389 522 431 771 116 762
-10000 86 35 19 751 859 422 839 551 725
-10000 300 46 792 408 422 37 74 173 537
-10000 121 462 922 743 891 307 823 758 192
-10000 224 187 433 349 882 920 571 70 896
-10000 539 110 282 321 692 858 262 379 365
-10000 726 730 554 481 668 566 277 374 766
-10000 325 242 275 50 479 960 745 764 926
-10000 280 28 621 331 91 224 971 390 388
-10000 626 322 525 259 170 298 889 195 805
-10000 239 150 160 648 568 985 20 847 995
-10000 549 157 742 654 310 935 259 750 777
-10000 364 236 698 610 880 945 529 301 399
-10000 774 268 179 204 934 446 507 523 634
-10000 445 680 622 610 161 149 727 557 365
-10000 433 887 506 128 202 202 402 545 433
-10000 217 90 814 678 428 664 816 434 319
-10000 605 390 507 270 570 553 3 638 771
-10000 275 240 578 64 642 37 780 660 301
-10000 931 66 183 221 334 330 566 392 532
-10000 434 537 309 716 949 644 373 771 174
-10000 981 42 523 170 404 133 732 253 160
-10000 214 266 624 87 889 508 454 216 770
-10000 52 342 413 211 212 347 134 584 947
-10000 21 766 55 197 1000 653 278 442 629
-10000 545 528 304 263 50 502 198 675 692
-10000 574 420 592 30 640 507 799 974 477
-10000 760 483 786 402 94 335 192 969 573
-10000 247 134 82 388 853 237 612 491 729
-10000 727 53 800 42 229 516 320 89 333
-10000 366 822 527 481 840 716 525 421 947
-10000 835 702 84 440 463 251 357 305 335
-10000 228 704 496 386 316 127 669 150 792
-10000 480 891 168 663 517 761 378 271 626
-10000 84 341 855 666 699 404 15 387 744
-10000 421 586 648 766 168 716 899 134 479
-10000 285 979 994 650 918 777 934 41 418
-10000 314 671 95 7 49 657 232 448 539
-10000 464 406 76 750 451 346 861 743 60
-10000 544 136 783 438 647 412 625 924 225
-10000 799 19 668 616 136 726 9 959 268
-10000 852 885 88 960 611 675 853 301 160
-10000 292 491 541 126 469 180 684 957 969
-10000 395 276 181 163 93 452 341 134 260
-10000 522 142 862 114 93 958 721 858 270
-10000 364 922 991 427 153 781 971 693 57
-10000 294 644 0 223 740 903 468 234 130
-10000 882 635 602 839 257 114 3 494 896
-10000 944 369 549 254 671 839 929 76 807
-10000 120 599 234 715 534 467 399 934 998
-10000 282 482 579 512 868 875 436 483 249
-10000 250 156 935 326 811 26 374 472 969
-10000 558 872 625 35 779 504 733 591 668
-10000 739 469 933 675 922 776 191 184 195
-10000 1000 845 454 200 747 585 25 338 260
-10000 310 461 78 645 103 170 204 749 198
-10000 496 71 697 192 814 375 343 574 958
-10000 41 784 400 824 421 597 467 824 469
-10000 14 650 545 678 593 163 107 253 836
-10000 157 270 656 464 728 403 15 889 974
-10000 373 732 642 73 193 671 0 87 243
-10000 817 902 751 425 199 340 910 737 659
-10000 284 531 391 237 742 100 16 246 915
-10000 45 965 86 279 993 208 169 767 906
-10000 426 945 143 133 870 574 354 980 588
-10000 108 378 448 591 235 49 861 570 528
-10000 936 413 107 549 949 339 870 877 786
-10000 94 179 879 625 614 936 58 891 645
-10000 80 419 277 177 273 390 270 845 561
-10000 937 331 99 12 953 32 633 668 759
-10000 96 417 460 818 215 882 102 808 743
-10000 642 728 281 660 386 820 373 333 11
-10000 284 46 697 953 785 841 238 188 635
-10000 235 489 513 400 450 934 634 144 263
-10000 564 181 160 764 907 839 675 574 577
-10000 839 464 223 984 282 727 37 561 247
-10000 201 527 965 971 114 631 66 203 393
-10000 460 753 902 30 189 560 495 468 854
-10000 523 627 66 880 464 304 947 508 500
-10000 436 926 853 321 321 60 957 777 246
-10000 335 512 456 605 112 798 414 893 788
-10000 342 131 375 454 254 842 844 730 33
-10000 553 334 887 989 861 292 79 227 763
-10000 481 942 363 679 485 537 840 945 623
-10000 968 357 960 872 35 998 516 113 402
-10000 906 262 173 930 235 997 319 257 794
-10000 853 505 197 246 583 117 419 758 775
-10000 920 614 730 393 615 598 693 19 520
-10000 311 603 706 104 5 812 363 348 525
-10000 728 685 975 541 686 377 303 79 291
-10000 515 129 653 729 902 742 617 288 203
-10000 250 884 946 625 596 763 361 240 706
-10000 526 376 235 312 92 89 172 875 894
-10000 153 416 86 687 726 142 823 667 674
-10000 400 73 484 773 431 281 589 181 529
-10000 634 328 573 748 69 690 909 866 127
-10000 307 306 838 432 731 663 286 805 965
-10000 584 944 93 846 4 824 787 115 956
-10000 155 753 763 618 429 0 383 686 412
-10000 576 66 558 658 886 726 428 186 346
-10000 1 956 545 25 141 648 459 664 783
-10000 508 759 173 714 882 122 299 845 729
-10000 569 10 788 86 243 707 929 906 445
-10000 233 753 740 740 464 544 689 529 740
-10000 82 933 387 586 183 905 95 795 901
-10000 749 786 703 787 587 124 712 598 617
-10000 25 536 139 564 427 942 719 257 167
-10000 293 59 481 515 133 271 763 633 63
-10000 82 280 175 25 424 677 423 966 515
-10000 452 563 771 836 811 365 895 337 15
-10000 56 10 501 805 215 403 758 539 156
-10000 309 629 897 114 760 846 701 63 610
-10000 336 476 574 799 569 391 929 351 34
-10000 531 10 813 376 990 170 415 653 290
-10000 967 245 982 561 837 25 33 204 788
-10000 15 443 681 885 903 818 666 547 419
-10000 632 17 151 586 179 661 559 719 342
-10000 851 47 702 651 93 511 599 165 928
-10000 297 72 824 895 567 908 758 79 284
-10000 763 424 604 367 162 808 257 891 15
-10000 80 141 649 827 609 876 283 677 321
-10000 773 388 819 437 702 89 144 512 549
-10000 624 441 375 145 690 40 630 834 815
-10000 649 549 846 934 914 194 531 204 363
-10000 654 535 990 839 609 783 943 367 385
-10000 395 356 552 988 846 772 761 326 639
-10000 216 337 64 200 366 194 654 274 359
-10000 461 550 760 271 708 78 521 779 393
-10000 83 13 505 309 603 131 389 743 891
-10000 745 258 875 654 41 774 192 421 969
-10000 271 386 188 517 243 391 147 465 146
-10000 836 607 236 286 487 310 598 646 465
-10000 285 880 141 372 870 354 294 457 697
-10000 976 847 422 715 472 529 221 869 618
-10000 673 589 917 493 592 892 39 218 716
-10000 778 793 973 237 874 340 187 202 782
-10000 765 417 954 987 634 98 794 648 13
-10000 138 509 336 99 217 381 792 238 260
-10000 112 644 205 686 803 245 315 410 242
-10000 708 485 32 384 129 514 86 418 499
-10000 0 518 508 591 278 724 874 546 228
-10000 957 379 921 961 942 242 448 14 310
-10000 665 641 140 379 720 713 581 572 246
-10000 559 770 456 531 855 49 379 489 957
-10000 497 444 716 59 631 863 735 146 93
-10000 31 795 514 976 463 411 798 103 95
-10000 247 128 499 522 786 345 467 952 496
-10000 91 979 15 633 835 741 711 481 507
-10000 365 412 813 934 755 495 543 943 750
-10000 479 295 510 639 399 499 908 66 653
-10000 82 837 458 660 23 293 390 682 915
-10000 877 360 92 394 626 203 400 250 563
-10000 572 933 318 717 193 15 584 7 872
-10000 500 276 950 450 171 135 893 346 168
-10000 354 632 255 974 927 845 604 561 750
-10000 570 647 392 213 980 323 362 807 3
-10000 860 211 115 923 266 266 210 925 817
-10000 665 326 809 952 370 542 961 6 279
-10000 80 507 856 478 160 240 849 728 129
-10000 472 232 947 120 386 531 488 289 560
-10000 192 136 536 566 654 872 432 995 490
-10000 513 458 717 16 957 816 959 846 401
-10000 204 804 668 807 649 979 599 949 47
-10000 308 625 548 538 76 138 3 48 348
-10000 633 18 637 311 270 468 654 647 762
-10000 822 953 34 464 895 9 615 475 440
-10000 735 400 549 439 854 661 51 11 258
-10000 509 894 949 176 72 570 639 890 974
-10000 987 323 75 780 974 758 391 392 76
-10000 686 929 627 473 931 63 663 939 626
-10000 105 200 550 443 890 732 570 281 769
-10000 806 79 872 992 527 587 423 210 570
-10000 636 440 131 204 849 484 966 191 590
-10000 674 2 590 226 41 773 660 59 731
-10000 273 900 666 829 168 902 941 768 71
-10000 88 528 169 419 42 96 431 724 101
-10000 452 373 850 146 114 753 108 56 666
-10000 104 888 672 831 624 367 69 708 170
-10000 965 432 920 629 924 987 84 161 143
-10000 721 569 269 839 517 953 988 794 811
-10000 136 255 401 586 222 727 995 856 661
-10000 89 250 125 300 520 295 38 964 942
-10000 41 623 70 211 122 76 129 169 256
-10000 763 426 122 75 40 33 469 593 957
-10000 780 758 41 668 864 144 281 323 857
-10000 769 506 468 292 642 142 295 652 540
-10000 564 904 133 104 116 643 532 296 934
-10000 4 403 466 823 389 620 847 538 530
-10000 401 253 740 989 814 830 171 681 584
-10000 1 705 912 48 336 922 504 845 94
-10000 185 471 807 99 582 45 966 209 719
-10000 147 823 349 30 499 740 756 955 330
-10000 226 900 166 539 277 550 720 987 112
-10000 36 834 700 160 967 330 812 593 623
-10000 172 722 879 512 749 146 19 406 329
-10000 654 790 663 215 467 434 616 399 187
-10000 281 593 757 711 691 103 332 882 281
-10000 613 970 115 565 785 857 160 935 54
-10000 856 847 923 552 776 775 355 848 931
-10000 196 637 172 116 363 989 278 282 616
-10000 9 319 968 55 504 63 791 588 347
-10000 447 469 14 268 852 996 650 656 62
-10000 440 294 830 304 79 848 363 203 320
-10000 846 265 457 654 118 919 652 77 66
-10000 204 162 750 558 81 515 20 994 192
-10000 220 460 792 60 344 2 809 186 735
-10000 271 633 223 844 597 864 897 681 469
-10000 336 619 759 401 605 256 70 593 324
-10000 61 65 169 283 920 305 622 395 679
-10000 785 157 634 436 886 306 534 247 843
-10000 223 69 259 865 550 530 54 991 902
-10000 451 532 499 882 30 945 44 687 99
-10000 760 726 600 679 817 738 524 303 576
-10000 587 383 159 745 49 460 940 324 540
-10000 233 792 786 373 498 214 324 921 745
-10000 768 90 14 858 667 321 967 497 765
-10000 782 243 230 347 809 711 165 0 111
-10000 593 770 320 211 506 512 945 964 590
-10000 957 994 553 965 538 149 872 330 827
-10000 98 508 794 966 512 19 441 424 0
-10000 71 974 144 306 775 679 415 686 786
-10000 528 406 832 593 936 605 247 442 190
-10000 188 724 641 642 315 391 952 612 923
-10000 813 614 648 582 525 552 806 177 251
-10000 552 373 167 720 641 749 641 920 191
-10000 999 521 749 777 372 162 252 641 849
-10000 96 941 104 122 801 362 465 953 50
-10000 307 616 906 275 317 266 871 477 329
-10000 622 120 381 975 634 839 207 965 23
-10000 832 565 544 395 313 828 693 292 785
-10000 362 176 49 543 260 77 186 683 746
-10000 835 68 923 81 203 267 876 917 926
-10000 179 299 690 129 753 351 741 260 619
-10000 704 400 642 930 951 847 303 192 73
-10000 87 931 927 273 609 885 730 425 864
-10000 932 691 712 772 541 331 878 933 314
-10000 696 265 532 809 458 910 657 890 92
-10000 296 863 74 355 1000 203 399 574 625
-10000 965 532 494 650 196 577 283 162 431
-10000 134 532 863 706 598 644 976 76 59
-10000 960 859 643 920 172 680 312 702 834
-10000 953 698 212 680 817 722 650 968 214
-10000 903 799 618 296 571 401 391 131 717
-10000 675 579 297 677 611 363 895 588 988
-10000 204 538 486 503 308 684 348 356 221
-10000 31 319 759 689 355 328 714 532 39
-10000 562 788 884 505 10 890 407 540 41
-10000 774 47 386 723 159 625 550 457 401
-10000 572 790 832 338 133 938 562 22 697
-10000 141 915 678 610 621 491 898 41 709
-10000 700 103 664 755 696 924 926 108 664
-10000 223 878 876 310 492 302 828 646 318
-10000 438 220 385 991 208 103 757 73 127
-10000 903 880 695 364 205 680 272 626 757
-10000 902 844 307 289 748 523 909 984 930
-10000 949 673 678 510 478 660 274 205 406
-10000 142 91 84 445 448 205 190 530 386
-10000 476 191 634 712 700 383 697 884 758
-10000 194 486 713 43 598 629 217 167 735
-10000 548 463 756 210 130 239 48 907 966
-10000 892 893 235 971 137 168 383 854 292
-10000 425 632 425 248 735 906 583 199 490
-10000 45 792 167 39 54 19 316 8 252
-10000 122 460 13 631 276 542 356 484 203
-10000 687 932 386 91 641 111 454 589 149
-10000 893 837 949 127 352 131 567 195 627
-10000 793 198 878 819 870 980 240 350 592
-10000 942 469 475 972 206 563 289 915 103
-10000 636 484 802 649 925 225 506 281 573
-10000 518 928 761 777 932 421 400 937 549
-10000 743 824 314 628 383 245 470 147 414
-10000 922 983 584 265 303 839 360 309 968
-10000 316 555 774 589 153 501 991 219 367
-10000 333 687 445 56 521 882 30 960 232
-10000 727 533 11 907 286 871 573 431 70
-10000 940 647 411 914 649 390 86 8 554
-10000 975 251 433 885 932 256 768 550 788
-10000 567 529 606 313 30 770 929 364 186
-10000 86 972 179 121 675 59 107 96 201
-10000 127 385 629 808 469 348 102 361 434
-10000 919 714 328 618 407 273 261 837 758
-10000 118 943 487 736 379 171 747 110 823
-10000 187 971 80 211 559 990 151 302 525
-10000 835 512 748 60 79 784 463 849 851
-10000 294 306 744 621 638 238 786 513 779
-10000 629 969 91 677 337 841 125 998 209
-10000 53 635 529 309 874 222 474 837 464
-10000 190 983 810 85 217 220 643 441 271
-10000 364 505 999 516 557 431 757 89 511
-10000 152 290 590 347 941 528 956 990 565
-10000 77 849 917 765 398 795 713 475 131
-10000 572 775 919 668 875 732 585 157 443
-10000 792 976 199 793 13 671 428 352 546
-10000 185 528 948 883 601 157 666 10 494
-10000 852 250 288 753 441 445 600 852 463
-10000 54 167 104 789 659 103 800 521 285
-10000 258 39 807 257 386 60 989 599 351
-10000 605 48 458 377 336 519 611 467 226
-10000 527 102 184 945 98 734 620 537 472
-10000 670 939 980 344 752 126 992 246 450
-10000 395 89 108 926 272 865 186 415 381
-10000 586 766 709 598 910 237 626 834 810
-10000 221 509 675 313 658 537 672 726 100
-10000 601 150 180 618 157 265 664 342 173
-10000 456 111 220 741 989 238 694 487 671
-10000 807 218 835 835 257 279 134 540 689
-10000 956 721 921 763 602 984 685 582 909
-10000 257 137 743 197 70 672 943 686 103
-10000 659 580 518 114 147 372 309 265 1
-10000 253 257 848 263 824 500 687 204 953
-10000 640 478 953 511 280 526 858 504 505
-10000 330 107 599 23 631 49 591 704 658
-10000 435 726 286 770 354 631 279 355 355
-10000 2 391 539 992 638 800 930 860 12
-10000 277 106 191 606 251 907 542 47 335
-10000 995 637 672 885 108 864 29 904 882
-10000 898 770 657 312 503 134 7 209 374
-10000 365 813 147 0 988 556 198 694 738
-10000 456 366 565 505 151 115 750 219 476
-10000 709 610 879 734 66 926 167 442 620
-10000 810 768 836 960 671 163 645 644 225
-10000 795 799 77 529 240 978 135 472 330
-10000 583 745 154 1 614 172 853 145 454
-10000 588 291 874 140 744 348 70 234 644
-10000 559 732 999 309 610 460 136 108 708
-10000 369 456 216 211 166 876 622 997 346
-10000 262 955 650 310 96 114 499 13 927
-10000 400 462 319 114 34 778 131 719 543
-10000 84 362 786 717 600 379 247 160 172
-10000 587 79 539 278 718 524 450 35 220
-10000 726 112 193 429 997 975 58 8 77
-10000 685 522 374 516 279 69 554 376 144
-10000 118 817 776 331 828 766 19 73 729
-10000 116 404 2 485 548 698 45 289 555
-10000 480 815 412 86 747 346 258 213 637
-10000 540 751 64 767 752 884 29 930 957
-10000 549 711 796 599 268 206 614 128 291
-10000 789 160 38 128 749 182 575 109 841
-10000 313 275 290 848 818 320 825 741 22
-10000 866 678 730 908 957 700 702 512 715
-10000 452 703 424 328 500 32 654 37 744
-10000 615 975 786 410 567 318 627 210 704
-10000 662 978 328 569 842 937 697 832 769
-10000 109 63 378 197 525 442 208 63 641
-10000 580 142 879 461 544 459 406 716 944
-10000 498 953 470 625 790 158 658 895 824
-10000 983 629 301 294 742 699 555 325 865
-10000 468 323 613 296 639 548 674 837 88
-10000 351 233 716 644 637 546 702 141 83
-10000 925 946 453 960 38 139 728 316 758
-10000 457 842 519 835 504 603 683 24 690
-10000 139 538 255 345 575 623 329 301 619
-10000 226 20 987 577 648 985 624 84 963
-10000 396 853 641 329 661 958 46 380 197
-10000 703 665 639 934 884 610 764 984 381
-10000 792 456 946 895 706 467 11 226 915
-10000 275 227 513 233 429 185 386 855 927
-10000 769 464 801 993 292 818 977 893 680
-10000 914 843 955 423 684 252 869 140 656
-10000 83 390 627 632 861 546 121 614 432
-10000 892 723 383 786 429 22 979 298 716
-10000 120 270 786 727 467 125 254 322 41
-10000 980 853 96 967 491 303 972 13 685
-10000 400 177 272 888 426 595 701 527 202
-10000 176 246 973 22 72 951 243 503 53
-10000 810 644 119 711 616 694 783 863 397
-10000 754 742 207 173 150 341 754 390 325
-10000 642 273 875 870 833 428 897 432 442
-10000 610 310 158 232 118 184 788 302 310
-10000 469 226 249 206 945 84 501 294 861
-10000 59 645 982 228 149 997 77 600 739
-10000 467 670 584 960 543 501 687 844 2
-10000 633 334 919 507 450 83 257 938 360
-10000 712 306 948 89 389 630 161 4 102
-10000 986 605 276 584 839 784 748 994 583
-10000 967 877 203 931 186 84 302 244 106
-10000 347 364 672 275 701 981 968 831 584
-10000 774 93 762 348 72 804 679 285 337
-10000 161 359 870 858 225 235 493 581 38
-10000 317 106 833 344 195 927 388 448 64
-10000 913 235 667 40 98 834 303 824 922
-10000 656 817 134 714 837 750 105 1 459
-10000 869 950 960 101 80 621 65 229 985
-10000 963 524 775 345 66 4 765 576 661
-10000 206 417 687 705 501 561 618 147 382
-10000 104 433 741 213 968 849 105 537 226
-10000 894 635 118 276 620 420 37 188 817
-10000 82 319 304 804 574 383 618 138 447
-10000 797 134 158 123 819 580 281 620 816
-10000 331 64 425 830 614 967 410 660 735
-10000 287 627 750 719 880 238 170 104 819
-10000 874 533 532 210 440 163 695 898 634
-10000 871 480 433 244 556 552 395 192 930
-10000 642 975 186 322 18 838 658 665 729
-10000 104 102 621 25 593 166 239 956 177
-10000 765 398 132 395 985 60 1 838 724
-10000 785 804 403 382 572 47 560 105 257
-10000 592 512 763 632 37 652 187 578 484
-10000 813 517 897 955 285 345 838 191 2
-10000 345 123 23 930 682 859 789 675 600
-10000 118 712 812 245 129 487 717 632 274
-10000 263 355 124 182 568 253 836 185 315
-10000 538 743 940 888 587 593 231 697 158
-10000 609 360 433 42 220 186 136 263 426
-10000 706 343 995 477 923 907 491 501 732
-10000 378 32 254 792 813 615 548 125 204
-10000 360 340 231 761 286 715 669 58 73
-10000 248 15 776 50 876 690 685 205 694
-10000 124 708 839 189 84 334 754 838 802
-10000 844 887 360 99 808 518 585 876 479
-10000 207 725 130 723 290 921 194 486 246
-10000 688 677 677 542 457 625 629 764 558
-10000 685 88 101 462 792 823 472 926 368
-10000 682 960 472 197 264 701 878 41 257
-10000 419 875 300 954 494 641 845 417 465
-10000 814 170 117 314 710 918 956 359 293
-10000 807 408 708 525 779 785 86 414 989
-10000 532 676 612 944 222 496 503 301 632
-10000 838 455 115 519 80 451 110 565 820
-10000 656 705 274 444 697 785 396 750 588
-10000 896 209 434 383 972 293 390 827 834
-10000 539 305 659 171 922 389 448 653 454
-10000 639 555 47 289 967 297 950 862 499
-10000 695 937 3 254 921 992 241 797 675
-10000 57 838 996 27 818 303 245 868 226
-10000 52 533 335 890 342 20 521 866 95
-10000 691 867 578 229 920 546 587 703 212
-10000 812 142 258 510 521 669 180 221 34
-10000 553 69 236 567 188 78 517 508 778
-10000 544 810 481 140 272 463 693 304 809
-10000 272 141 471 966 342 97 415 778 971
-10000 172 791 459 104 45 600 765 948 555
-10000 399 253 414 707 427 274 438 657 575
-10000 361 880 857 706 878 492 37 719 997
-10000 389 637 335 893 346 154 991 33 608
-10000 303 841 489 381 915 783 373 127 910
-10000 259 134 109 839 307 38 191 108 895
-10000 674 779 924 543 586 298 580 576 291
-10000 309 389 544 769 354 532 654 631 831
-10000 837 174 332 468 628 507 394 680 436
-10000 596 884 255 787 419 433 781 339 587
-10000 877 799 56 591 233 858 814 426 330
-10000 288 237 543 90 441 934 581 486 794
-10000 571 951 26 248 329 423 388 965 91
-10000 616 951 146 333 395 803 643 962 748
-10000 41 824 902 880 978 151 126 883 32
-10000 230 505 800 123 203 909 813 946 320
-10000 864 615 809 678 209 364 848 518 909
-10000 620 528 595 684 184 83 263 931 60
-10000 827 562 24 676 881 661 275 877 93
-10000 992 842 68 687 58 706 193 383 914
-10000 411 592 25 689 578 276 556 685 529
-10000 738 744 136 571 855 439 817 123 284
-10000 959 79 226 240 541 378 771 833 77
-10000 450 29 776 691 1 189 287 594 865
-10000 697 873 165 943 915 166 66 622 856
-10000 333 774 595 916 135 76 742 194 554
-10000 479 990 601 790 873 498 478 572 800
-10000 174 925 4 427 482 198 895 969 292
-10000 490 523 418 168 208 468 497 746 996
-10000 77 779 486 579 868 982 817 422 827
-10000 902 874 287 593 935 864 959 446 138
-10000 212 842 767 897 357 421 165 394 66
-10000 181 300 594 707 205 231 348 766 277
-10000 932 46 779 841 292 790 143 310 449
-10000 178 48 413 510 978 759 410 676 542
-10000 957 621 494 536 107 642 214 767 879
-10000 478 48 499 426 16 782 946 18 222
-10000 178 887 566 108 910 170 659 295 39
-10000 123 325 567 524 612 550 515 514 109
-10000 582 351 959 432 367 883 671 89 290
-10000 388 131 264 10 323 249 933 7 282
-10000 840 899 785 735 965 345 529 92 465
-10000 577 522 868 761 51 295 887 161 436
-10000 417 324 722 697 647 989 801 252 761
-10000 493 618 918 286 801 947 193 386 103
-10000 809 825 393 233 503 980 786 911 921
-10000 167 633 704 766 168 725 708 507 510
-10000 340 335 562 640 822 205 917 17 655
-10000 748 770 529 16 43 882 923 836 674
-10000 83 847 429 983 886 969 298 278 412
-10000 291 537 213 792 314 188 303 932 826
-10000 37 285 190 340 121 342 794 67 848
-10000 163 185 883 495 495 617 604 103 617
-10000 95 565 74 400 661 286 820 313 245
-10000 763 54 387 795 643 381 904 935 238
-10000 47 608 947 15 267 449 109 948 929
-10000 113 697 677 990 570 288 870 600 703
-10000 734 182 911 224 727 278 633 197 325
-10000 823 614 197 467 961 249 389 276 345
-10000 526 591 783 933 517 796 197 311 765
-10000 213 188 916 771 303 661 676 705 862
-10000 658 202 321 646 711 159 6 785 842
-10000 746 195 39 262 103 435 489 182 466
-10000 868 619 775 354 211 675 303 821 282
-10000 966 522 376 275 908 868 288 800 201
-10000 111 119 564 716 160 884 489 441 598
-10000 905 265 367 554 436 547 412 302 53
-10000 190 453 516 956 706 100 226 279 607
-10000 145 695 55 21 142 830 867 293 979
-10000 361 314 512 887 429 839 110 132 583
-10000 406 607 21 761 949 705 766 252 941
-10000 11 742 445 420 495 259 533 38 423
-10000 475 891 809 970 687 475 958 922 956
-10000 850 463 303 927 755 674 944 390 116
-10000 113 594 514 631 500 697 622 151 568
-10000 833 187 746 814 31 645 847 230 382
-10000 755 214 541 14 777 976 656 900 116
-10000 831 559 588 968 103 953 716 287 521
-10000 98 456 4 635 874 270 394 361 880
-10000 561 634 465 616 808 777 568 991 38
-10000 947 392 804 65 917 782 436 179 672
-10000 409 589 136 448 586 177 806 503 12
-10000 383 272 639 137 669 459 933 670 508
-10000 813 121 539 504 753 363 432 197 145
-10000 883 154 325 665 642 340 130 320 734
-10000 515 584 354 119 738 949 122 664 711
-10000 518 123 556 128 863 0 527 539 486
-10000 842 383 107 200 821 837 116 414 239
-10000 94 991 662 264 880 183 647 112 898
-10000 450 732 848 734 203 709 131 747 488
-10000 210 211 183 282 350 479 889 936 700
-10000 491 645 569 905 106 94 756 825 132
-10000 240 251 519 944 908 605 977 166 804
-10000 510 75 756 79 735 169 479 688 415
-10000 312 111 131 815 393 533 873 227 249
-10000 8 9 712 648 250 682 508 63 765
-10000 583 481 218 813 434 88 799 494 297
-10000 37 894 273 627 2 490 47 363 949
-10000 956 398 996 642 357 124 657 69 478
-10000 124 356 417 63 822 801 886 728 584
-10000 543 97 906 928 993 108 995 534 948
-10000 693 977 941 690 171 735 847 465 25
-10000 737 785 589 53 499 323 280 329 841
-10000 37 231 128 247 372 619 589 547 665
-10000 63 921 667 101 289 898 972 381 95
-10000 704 203 984 720 359 868 195 990 66
-10000 810 16 703 830 591 154 541 621 271
-10000 858 183 229 106 945 236 176 401 428
-10000 573 811 623 327 937 135 613 150 569
-10000 165 466 322 735 481 928 22 451 719
-10000 648 588 394 421 595 101 41 737 247
-10000 931 825 303 319 775 94 785 67 195
-10000 786 155 313 95 688 292 250 642 760
-10000 344 825 417 572 143 912 174 877 676
-10000 95 904 536 785 936 699 735 760 45
-10000 238 221 708 668 830 927 926 888 866
-10000 694 323 368 846 677 896 571 424 536
-10000 388 628 856 61 898 695 674 669 139
-10000 16 954 922 309 991 684 476 381 144
-10000 540 603 651 337 564 196 234 330 500
-10000 183 180 470 171 611 523 97 315 896
-10000 518 626 85 379 402 394 295 487 145
-10000 853 671 82 370 11 857 837 733 367
-10000 40 401 555 967 106 386 605 377 433
-10000 985 670 222 468 349 193 433 734 147
-10000 624 979 649 417 40 414 91 378 914
-10000 682 113 40 142 573 429 304 450 481
-10000 560 395 188 384 355 181 995 522 816
-10000 937 47 759 96 531 699 558 209 380
-10000 725 397 565 953 564 459 475 545 202
-10000 211 851 491 352 619 294 603 533 918
-10000 18 469 678 617 981 478 516 805 756
-10000 683 277 952 679 493 264 723 97 744
-10000 71 207 929 118 216 705 704 364 403
-10000 485 103 797 428 631 49 161 367 782
-10000 493 264 979 893 168 764 652 839 296
-10000 35 225 75 388 165 75 322 190 735
-10000 396 901 82 317 883 840 610 874 686
-10000 525 637 845 379 872 295 81 950 627
-10000 40 585 632 537 820 12 783 901 824
-10000 558 943 354 202 495 206 56 319 984
-10000 690 394 32 30 624 194 521 536 839
-10000 474 26 999 665 59 687 732 80 112
-10000 952 867 645 243 872 404 288 296 695
-10000 746 436 583 842 681 725 621 471 640
-10000 481 779 578 310 261 218 709 445 61
-10000 576 722 985 199 331 288 55 405 427
-10000 532 921 64 857 836 726 175 408 222
-10000 877 361 181 530 413 197 206 730 906
-10000 261 298 614 165 869 329 197 596 454
-10000 896 128 279 941 42 343 121 422 72
-10000 863 980 434 983 935 979 234 878 188
-10000 220 467 535 890 757 62 837 280 68
-10000 509 843 148 941 625 825 718 669 245
-10000 567 107 644 711 760 206 868 935 5
-10000 610 19 778 277 289 808 315 992 789
-10000 705 938 413 590 39 93 305 856 683
-10000 525 337 14 971 264 832 546 948 620
-10000 400 848 470 673 257 860 62 565 929
-10000 292 312 731 253 252 687 442 822 963
-10000 394 556 100 510 790 588 470 80 730
-10000 343 742 252 607 125 34 654 300 906
-10000 397 181 892 179 15 14 864 855 700
-10000 597 705 934 599 553 403 667 357 294
-10000 112 552 631 35 34 789 219 876 446
-10000 382 256 850 999 799 130 53 365 287
-10000 866 724 256 756 628 444 357 214 510
-10000 437 892 120 251 589 31 380 363 753
-10000 428 583 116 967 195 412 202 928 823
-10000 695 801 392 767 204 348 978 109 119
-10000 964 457 266 217 735 521 145 52 251
-10000 394 58 568 151 6 998 743 400 649
-10000 927 300 771 844 131 504 443 742 799
-10000 888 346 0 434 126 268 491 902 741
-10000 390 757 98 610 769 340 11 374 581
-10000 281 874 904 346 712 487 406 570 261
-10000 462 217 603 885 64 927 339 379 550
-10000 257 831 629 225 798 680 178 99 984
-10000 437 553 600 143 466 763 776 274 868
-10000 305 710 512 321 338 538 618 183 584
-10000 246 783 89 675 509 624 472 397 189
-10000 216 732 199 144 773 120 952 939 804
-10000 257 5 127 781 499 807 298 16 594
-10000 827 451 850 609 835 27 662 12 388
-10000 439 587 516 443 465 473 945 163 252
-10000 769 967 96 734 709 717 457 627 200
-10000 254 791 391 820 875 197 151 33 428
-10000 480 434 739 150 821 341 231 297 237
-10000 815 322 776 90 926 198 627 755 736
-10000 584 732 21 968 888 134 80 333 281
-10000 929 806 659 918 906 716 962 131 275
-10000 440 762 20 100 132 176 65 433 126
-10000 549 877 120 211 957 871 594 778 781
-10000 217 575 994 659 813 376 240 788 831
-10000 703 413 9 11 806 88 898 590 236
-10000 119 131 355 767 374 311 972 77 145
-10000 224 633 155 842 543 709 187 916 359
-10000 213 147 781 621 689 548 351 849 333
-10000 868 891 805 682 167 842 280 564 617
-10000 464 868 834 612 733 224 587 654 5
-10000 743 688 336 748 795 776 960 397 82
-10000 213 375 169 581 739 306 314 299 738
-10000 604 14 449 747 37 78 170 1000 154
-10000 467 186 426 841 939 751 430 655 829
-10000 670 490 444 610 60 428 455 289 227
-10000 16 790 973 680 357 439 748 62 369
-10000 54 157 439 726 69 220 272 374 152
-10000 422 805 338 741 373 279 240 866 845
-10000 415 256 589 650 853 280 422 304 502
-10000 885 586 186 583 456 343 197 266 30
-10000 136 688 462 773 557 193 932 571 737
-10000 395 615 799 15 130 747 845 793 855
-10000 392 257 262 773 468 780 339 50 579
-10000 109 530 647 557 648 182 40 965 802
-10000 48 407 261 743 305 296 377 125 568
-10000 223 730 755 82 11 103 908 917 958
-10000 609 121 537 772 348 891 346 36 748
-10000 178 285 764 849 646 871 726 541 959
-10000 351 145 383 987 481 654 703 677 293
-10000 86 114 475 745 163 52 614 937 281
-10000 883 627 78 906 490 866 38 189 477
-10000 946 588 994 720 857 880 397 937 800
-10000 122 14 239 924 752 43 971 173 288
-10000 774 280 203 377 341 544 234 982 525
-10000 459 34 993 203 694 817 143 436 193
-10000 517 389 292 713 216 799 116 11 834
-10000 544 485 502 33 22 164 318 210 164
-10000 620 42 888 723 434 783 980 813 100
-10000 876 457 963 548 99 135 485 109 252
-10000 379 750 405 812 502 339 278 40 803
-10000 396 74 744 387 533 803 879 884 229
-10000 562 243 624 489 996 680 621 160 800
-10000 326 8 436 249 153 570 716 868 463
-10000 100 179 897 498 365 162 720 271 66
-10000 460 311 649 525 172 59 368 325 953
-10000 272 15 511 31 966 606 612 336 824
-10000 934 822 29 14 652 294 239 607 17
-10000 489 418 850 728 840 532 261 998 274
-10000 661 452 682 17 153 641 751 62 933
-10000 412 774 672 75 540 872 47 767 479
-10000 240 846 221 718 595 252 280 959 424
-10000 110 43 641 565 94 720 845 146 87
-10000 357 953 496 469 905 425 404 654 559
-10000 103 126 137 500 780 510 983 41 403
-10000 820 609 24 471 258 734 243 469 111
-10000 713 520 527 426 306 784 32 477 907
-10000 752 762 250 275 632 950 193 484 8
-10000 999 373 542 185 367 431 588 236 219
-10000 344 807 948 519 864 606 812 746 772
-10000 774 693 210 601 583 312 272 436 933
-10000 449 751 834 727 859 626 1 357 795
-10000 400 375 869 64 483 924 498 849 578
-10000 12 810 935 126 990 298 193 453 852
-10000 671 796 480 765 963 851 353 4 923
-10000 753 275 140 273 255 424 594 870 270
-10000 528 249 270 238 140 458 163 247 770
-10000 27 900 594 954 677 851 487 726 92
-10000 567 832 807 147 152 81 629 750 306
-10000 491 420 252 133 615 665 584 962 586
-10000 668 196 702 915 949 243 14 875 796
-10000 459 116 955 379 940 405 125 194 359
-10000 539 778 490 862 628 970 361 631 351
-10000 821 210 601 207 92 662 255 176 558
-10000 635 463 390 552 166 820 295 106 416
-10000 751 859 343 382 687 663 509 143 688
-10000 970 375 521 30 188 830 210 247 95
-10000 81 194 347 645 687 711 176 99 727
-10000 668 748 282 925 521 122 591 580 488
-10000 399 902 98 726 430 573 788 566 692
-10000 253 79 449 693 323 908 776 912 90
-10000 487 90 882 264 57 761 148 576 111
-10000 754 359 544 463 290 891 310 941 43
-10000 799 743 335 824 615 916 240 590 638
-10000 527 499 228 198 35 237 425 166 52
-10000 867 638 782 78 35 839 229 36 394
-10000 958 270 586 800 79 140 242 819 133
-10000 809 197 856 572 383 400 775 658 598
-10000 573 303 565 691 786 729 31 124 41
-10000 934 582 128 291 805 59 427 363 84
-10000 634 164 759 855 339 80 93 153 722
-10000 414 534 181 244 695 135 576 983 625
-10000 746 548 961 80 512 222 1000 182 70
-10000 985 412 111 20 513 247 62 31 210
-10000 476 686 576 888 862 782 454 437 320
-10000 463 674 803 69 526 544 732 614 30
-10000 595 471 495 795 532 915 341 319 552
-10000 746 925 995 323 30 284 110 315 59
-10000 163 515 438 64 185 432 842 165 388
-10000 622 497 718 155 568 242 839 472 758
-10000 537 705 660 567 211 539 970 697 175
-10000 889 777 227 425 687 238 999 625 448
-10000 368 816 123 635 288 273 626 491 713
-10000 522 167 879 24 454 390 347 682 830
-10000 507 100 28 597 992 201 901 536 550
-10000 976 459 988 13 58 599 668 290 730
-10000 742 197 948 315 570 672 268 251 981
-10000 983 397 759 974 275 148 532 803 706
-10000 589 828 144 536 87 66 576 365 40
-10000 101 356 180 664 283 815 187 547 22
-10000 357 120 974 256 955 14 515 367 973
-10000 593 730 687 638 765 509 557 502 689
-10000 412 396 982 464 331 10 952 784 678
-10000 36 606 700 781 974 894 392 826 414
-10000 414 55 678 552 618 427 976 280 333
-10000 345 550 611 238 391 737 93 601 691
-10000 882 952 720 904 208 97 17 217 811
-10000 968 189 935 983 250 350 598 387 76
-10000 569 227 738 785 978 176 751 930 724
-10000 794 537 771 413 191 848 750 396 456
-10000 391 16 641 64 899 286 916 19 45
-10000 76 225 465 549 614 693 604 808 500
-10000 766 971 417 802 830 586 660 314 168
-10000 433 39 588 662 299 389 99 593 143
-10000 511 674 694 913 890 937 275 495 475
-10000 549 709 120 693 343 878 365 192 734
-10000 666 671 789 218 226 538 517 880 856
-10000 958 868 987 445 427 806 688 275 649
-10000 398 504 517 276 666 474 909 437 125
-10000 802 454 40 656 156 825 334 689 268
-10000 915 459 7 772 47 825 174 516 301
-10000 526 316 622 967 113 416 948 655 4
-10000 752 966 891 350 138 641 485 631 452
-10000 998 649 310 248 116 688 20 136 543
-10000 290 349 943 951 908 608 757 664 798
-10000 767 82 327 399 569 356 783 309 588
-10000 252 432 478 308 363 881 423 756 435
-10000 921 65 741 451 870 329 529 538 336
-10000 406 271 957 448 66 348 353 819 774
-10000 904 938 920 935 954 585 442 650 240
-10000 572 389 404 908 787 476 833 227 892
-10000 379 644 630 985 819 928 768 738 921
-10000 198 335 44 298 390 842 687 834 512
-10000 816 532 986 729 180 573 920 596 221
-10000 223 907 574 847 613 201 914 438 981
-10000 658 138 882 346 558 198 183 639 721
-10000 276 131 642 145 601 417 145 834 537
-10000 741 405 264 697 318 408 476 239 666
-10000 76 6 661 88 936 347 927 35 951
-10000 808 969 344 718 766 650 236 910 666
-10000 775 23 651 790 196 550 409 954 78
-10000 435 917 940 106 806 991 68 308 497
-10000 94 952 480 725 683 570 479 120 842
-10000 127 585 365 652 385 833 404 398 734
-10000 185 885 445 654 586 708 368 901 417
-10000 861 214 601 641 289 884 927 649 8
-10000 880 119 315 568 398 326 693 864 94
-10000 889 65 229 724 855 341 234 487 23
-10000 24 800 854 215 898 329 567 580 687
-10000 445 814 254 570 795 441 941 195 187
-10000 606 630 250 592 691 467 758 831 545
-10000 847 510 291 628 938 782 925 14 44
-10000 552 928 815 50 72 840 841 615 727
-10000 417 72 409 390 214 642 647 99 422
-10000 381 487 312 101 595 11 367 866 63
-10000 162 524 468 646 698 972 573 587 818
-10000 778 400 485 845 558 518 337 550 532
-10000 741 418 357 883 675 175 361 969 93
-10000 589 332 832 131 668 8 920 516 507
-10000 180 500 162 391 739 723 167 458 123
-10000 377 665 161 465 981 186 899 878 541
-10000 861 949 527 783 292 305 51 644 240
-10000 758 925 712 813 546 817 80 591 865
-10000 619 59 642 164 376 832 891 897 347
-10000 895 129 419 406 797 938 564 270 877
-10000 594 379 30 893 46 80 642 493 37
-10000 480 924 818 420 1 615 942 925 859
-10000 474 531 398 275 383 298 759 307 447
-10000 998 10 540 511 233 642 457 113 760
-10000 621 220 285 470 565 467 870 908 420
-10000 859 43 132 864 75 879 231 512 286
-10000 380 421 626 285 883 273 335 272 687
-10000 567 459 538 685 374 490 34 315 566
-10000 167 541 997 299 575 898 547 554 758
-10000 384 555 963 456 951 539 290 921 579
-10000 188 328 708 668 599 546 43 941 490
-10000 839 154 164 813 510 290 454 869 481
-10000 931 795 570 896 503 600 518 997 56
-10000 268 708 814 982 184 346 620 313 341
-10000 285 442 342 939 327 307 840 27 202
-10000 833 387 343 502 493 447 19 787 471
-10000 339 851 910 845 886 653 285 287 972
-10000 208 810 864 279 398 296 436 366 558
-10000 271 274 605 131 453 737 5 542 691
-10000 310 612 541 436 141 836 55 242 967
-10000 889 326 27 584 998 34 686 786 516
-10000 59 846 583 890 16 120 653 250 401
-10000 644 877 894 267 1000 202 805 603 755
-10000 471 727 231 74 384 739 310 532 862
-10000 146 266 251 80 388 494 715 707 580
-10000 796 134 547 738 986 502 917 578 182
-10000 124 388 780 169 724 424 615 983 63
-10000 869 894 222 345 792 989 718 723 944
-10000 736 434 198 429 16 939 88 518 429
-10000 69 596 395 835 780 1 25 439 950
-10000 299 140 7 987 122 83 923 93 383
-10000 304 705 247 161 679 862 139 503 301
-10000 228 116 393 107 888 431 406 64 660
-10000 750 605 149 609 246 231 851 377 327
-10000 834 924 685 37 415 42 510 277 783
-10000 80 342 631 452 593 347 322 477 190
-10000 466 133 199 603 455 916 530 854 656
-10000 511 287 370 566 331 739 546 383 477
-10000 452 528 860 912 127 291 621 369 819
-10000 402 560 457 805 924 309 838 284 781
-10000 961 79 802 484 622 483 776 758 740
-10000 497 428 814 126 49 617 453 688 180
-10000 206 38 908 891 581 816 822 945 938
-10000 898 492 503 215 39 474 999 400 218
-10000 102 52 929 295 863 984 108 17 969
-10000 868 488 785 624 240 558 340 714 163
-10000 175 883 137 7 886 981 196 842 619
-10000 907 212 223 928 714 28 755 523 711
-10000 208 401 721 896 182 799 601 1000 482
-10000 421 779 371 960 424 829 646 135 757
-10000 692 83 995 213 317 426 236 295 665
-10000 650 429 22 1000 981 636 188 333 477
-10000 689 31 580 241 54 483 278 229 876
-10000 337 915 826 319 994 282 534 98 321
-10000 477 194 244 917 745 28 329 275 230
-10000 404 242 817 242 66 851 225 767 578
-10000 531 874 376 682 719 494 82 726 507
-10000 67 398 236 883 932 672 715 406 652
-10000 587 820 204 276 728 684 200 340 522
-10000 559 247 264 603 825 402 469 42 727
-10000 185 863 945 10 316 818 675 612 65
-10000 966 959 866 331 367 479 768 839 362
-10000 434 198 53 8 140 465 456 553 884
-10000 440 108 72 991 315 328 561 823 556
-10000 936 815 419 267 454 941 669 646 527
-10000 826 644 470 683 561 876 611 465 175
-10000 240 159 332 257 226 54 674 841 453
-10000 873 860 328 927 674 314 68 818 624
-10000 912 56 687 366 538 601 629 790 921
-10000 400 808 145 687 561 129 640 230 337
-10000 16 425 971 288 801 549 594 178 276
-10000 653 507 1 400 483 165 946 976 711
-10000 940 46 680 308 986 196 190 699 170
-10000 134 88 914 759 172 453 846 535 104
-10000 664 383 534 78 121 709 955 216 90
-10000 618 145 473 263 386 413 237 832 22
-10000 300 653 26 554 897 15 468 868 200
-10000 23 974 527 740 713 607 531 781 974
-10000 150 37 209 65 500 960 784 732 86
-10000 837 280 376 115 797 365 498 37 444
-10000 156 113 992 814 942 772 922 245 354
-10000 925 427 632 861 870 848 935 766 198
-10000 809 739 8 766 990 741 741 453 269
-10000 115 1000 560 276 90 599 73 358 941
-10000 340 439 634 139 822 793 793 720 626
-10000 158 270 79 78 652 967 667 879 596
-10000 232 881 403 482 573 253 605 540 107
-10000 146 395 412 486 821 279 406 637 698
-10000 287 332 14 602 974 441 477 453 489
-10000 993 147 738 928 896 745 150 452 952
-10000 8 110 273 738 809 146 646 844 161
-10000 352 241 877 598 940 920 966 441 862
-10000 91 548 2 819 297 191 539 659 253
-10000 59 794 451 815 32 162 633 82 402
-10000 573 771 881 943 287 533 929 345 0
-10000 851 923 44 94 520 897 751 365 566
-10000 16 9 299 350 199 389 803 418 542
-10000 966 508 907 66 4 909 967 393 108
-10000 662 378 156 404 163 183 952 134 719
-10000 877 212 200 428 935 169 798 183 249
-10000 128 437 583 185 447 525 112 964 917
-10000 118 830 3 253 778 478 127 99 836
-10000 531 403 729 952 429 808 981 594 119
-10000 85 636 229 425 775 61 259 278 260
-10000 74 421 110 574 789 881 762 382 551
-10000 223 447 297 292 977 781 262 801 655
-10000 818 565 311 454 236 208 432 646 808
-10000 171 207 622 894 678 868 251 655 752
-10000 984 558 988 541 527 832 832 929 123
-10000 998 833 946 180 904 364 786 3 720
-10000 266 641 546 783 605 830 927 965 954
-10000 58 680 148 224 133 213 439 43 173
-10000 752 791 180 535 646 620 197 783 759
-10000 554 180 279 985 752 911 695 659 475
-10000 548 887 350 836 394 727 178 110 652
-10000 167 240 370 647 888 929 771 252 504
-10000 591 884 983 352 510 233 443 773 427
-10000 383 786 467 772 272 107 934 905 772
-10000 254 184 337 458 517 835 245 488 953
-10000 112 408 653 718 637 605 712 609 632
-10000 272 579 914 220 853 898 66 710 605
-10000 75 632 354 628 493 412 905 561 963
-10000 843 40 979 735 560 682 900 961 37
-10000 307 165 565 464 771 808 556 678 403
-10000 110 339 764 991 149 463 803 618 561
-10000 810 728 563 643 35 810 101 618 976
-10000 39 550 816 727 956 760 552 4 899
-10000 549 504 87 209 953 210 547 802 411
-10000 998 81 450 250 564 402 574 717 72
-10000 582 581 360 720 100 84 578 140 916
-10000 912 804 57 793 728 362 580 760 234
-10000 440 514 351 224 298 313 767 396 171
-10000 752 568 949 641 41 535 772 468 882
-10000 103 733 25 376 220 296 778 572 787
-10000 989 288 369 903 3 913 662 594 492
-10000 382 818 353 130 747 846 215 688 488
-10000 490 718 108 619 380 676 926 277 919
-10000 155 641 916 440 965 249 581 598 290
-10000 770 632 809 466 25 381 160 659 413
-10000 504 235 342 508 126 753 276 516 729
-10000 76 123 781 280 592 413 660 737 574
-10000 445 960 720 500 650 475 472 407 195
-10000 185 963 432 294 861 880 795 413 33
-10000 853 726 732 258 270 245 994 99 556
-10000 98 391 901 531 862 165 152 215 641
-10000 990 309 553 178 481 730 784 371 334
-10000 991 399 878 315 610 656 673 756 806
-10000 40 843 444 647 182 293 805 486 159
-10000 344 235 574 657 937 539 288 368 714
-10000 336 418 337 158 600 555 371 335 550
-10000 494 819 549 113 526 886 399 746 558
-10000 872 730 19 385 40 563 156 65 707
-10000 188 706 976 762 282 510 935 614 159
-10000 976 876 543 655 804 210 504 113 30
-10000 840 235 467 603 349 5 64 74 742
-10000 638 535 609 561 178 249 53 286 703
-10000 815 169 465 127 908 811 504 293 402
-10000 520 852 148 399 791 24 189 738 382
-10000 312 383 960 73 2 11 73 291 39
-10000 393 745 661 917 737 209 252 578 16
-10000 179 566 682 636 382 760 665 723 21
-10000 313 950 267 67 217 454 570 531 302
-10000 338 505 852 202 266 130 951 544 951
-10000 65 33 39 118 223 372 148 885 579
-10000 572 897 929 468 25 13 934 861 828
-10000 567 122 447 82 211 11 515 384 469
-10000 156 61 662 368 50 244 984 382 144
-10000 690 698 121 160 502 140 95 403 608
-10000 156 296 153 865 573 115 272 318 775
-10000 787 962 423 70 484 973 596 885 624
-10000 848 477 441 718 195 210 439 836 75
-10000 97 942 491 734 789 758 83 907 502
-10000 38 621 220 21 704 896 187 674 543
-10000 938 642 755 860 944 811 874 552 277
-10000 273 117 856 961 392 624 403 344 294
-10000 345 578 163 996 599 217 41 609 94
-10000 765 718 611 357 762 146 666 301 171
-10000 447 549 777 134 74 243 594 375 678
-10000 372 923 914 251 632 574 884 794 498
-10000 505 653 928 347 81 897 235 995 53
-10000 658 519 130 56 693 980 542 641 146
-10000 187 660 193 152 296 553 791 174 858
-10000 606 342 76 562 13 54 299 94 871
-10000 148 964 838 781 402 424 909 163 714
-10000 273 269 257 987 653 389 559 987 922
-10000 126 57 607 144 62 831 559 645 727
-10000 524 785 40 833 389 607 398 653 711
-10000 713 330 133 403 797 892 116 716 816
-10000 170 578 498 366 833 18 455 954 35
-10000 959 101 690 441 177 875 997 819 528
-10000 476 272 329 230 130 761 776 740 659
-10000 86 692 999 953 842 918 324 675 152
-10000 88 534 101 20 333 87 222 772 137
-10000 572 688 910 999 950 152 913 615 57
-10000 445 706 129 638 351 111 300 398 212
-10000 100 575 989 68 704 437 819 781 267
-10000 605 335 584 247 568 117 389 544 993
-10000 947 688 349 173 299 445 799 427 387
-10000 27 168 222 349 561 338 517 317 601
-10000 0 457 437 766 989 174 336 229 989
-10000 508 290 260 339 716 649 618 975 156
-10000 199 856 80 897 37 529 185 774 424
-10000 463 77 778 968 846 453 794 912 189
-10000 207 264 461 592 638 798 528 163 775
-10000 103 96 966 98 701 951 494 896 557
-10000 511 464 39 194 932 16 668 773 449
-10000 502 685 411 226 789 732 231 250 930
-10000 817 861 945 130 46 111 308 750 136
-10000 164 38 925 795 603 75 843 954 676
-10000 917 480 119 9 633 854 983 918 944
-10000 774 949 697 536 849 62 625 93 722
-10000 486 52 502 593 395 407 897 248 488
-10000 125 224 981 399 525 980 573 952 469
-10000 571 778 313 132 106 952 920 200 396
-10000 541 468 732 72 238 454 785 89 373
-10000 512 177 898 972 867 614 673 285 289
-10000 539 361 732 429 891 252 333 946 816
-10000 878 582 694 77 420 810 977 917 397
-10000 575 4 226 140 809 892 694 389 226
-10000 746 376 108 970 796 847 558 190 713
-10000 750 498 719 999 960 264 694 22 875
-10000 429 568 444 591 920 654 849 534 713
-10000 629 64 335 290 577 874 716 110 147
-10000 177 237 560 208 772 514 65 228 744
-10000 716 521 519 763 322 475 238 44 633
-10000 306 263 33 318 666 159 40 526 196
-10000 200 856 16 879 639 774 330 459 590
-10000 47 717 457 878 818 134 951 203 425
-10000 331 21 369 404 993 539 84 75 388
-10000 144 344 658 676 497 715 243 437 510
-10000 750 280 750 72 681 956 608 913 851
-10000 771 121 668 901 619 570 148 436 534
-10000 515 59 909 845 241 810 863 251 255
-10000 320 305 923 858 663 413 143 604 685
-10000 253 16 543 128 302 712 595 467 543
-10000 5 296 109 400 731 943 381 468 405
-10000 421 441 140 70 505 333 886 474 226
-10000 666 94 789 284 606 964 138 249 969
-10000 308 780 777 452 866 718 914 779 908
-10000 12 353 112 441 624 684 984 306 875
-10000 246 847 300 470 487 691 562 621 945
-10000 924 528 595 186 793 118 342 710 343
-10000 431 123 240 216 565 167 175 679 935
-10000 63 888 313 455 540 719 158 182 991
-10000 424 757 156 688 24 499 285 435 342
-10000 347 955 891 12 311 375 950 417 402
-10000 954 755 553 449 924 42 469 202 632
-10000 377 665 215 631 805 332 928 588 224
-10000 223 609 75 159 386 591 115 312 611
-10000 353 318 106 900 731 148 367 83 613
-10000 207 675 636 16 440 659 209 751 34
-10000 486 343 969 775 190 142 727 469 830
-10000 209 469 590 161 168 952 723 459 869
-10000 390 878 203 277 968 430 917 641 152
-10000 856 762 614 120 44 823 796 938 741
-10000 989 428 960 730 496 403 314 910 871
-10000 588 217 351 66 338 929 860 567 256
-10000 619 679 921 296 890 610 924 624 889
-10000 417 869 103 549 321 121 277 709 118
-10000 564 573 239 194 869 865 491 284 157
-10000 696 868 35 209 849 435 811 238 943
-10000 908 471 764 81 663 332 928 305 652
-10000 626 843 550 229 91 251 137 217 489
-10000 373 872 407 816 341 485 349 758 613
-10000 302 118 113 28 188 357 823 237 418
-10000 470 757 520 977 482 203 348 798 174
-10000 320 962 306 959 736 434 678 618 531
-10000 128 214 829 560 279 727 879 777 96
-10000 916 81 404 652 645 24 61 565 458
-10000 819 356 372 755 113 297 963 697 248
-10000 903 672 547 773 593 251 0 422 732
-10000 904 370 859 932 258 607 173 456 276
-10000 734 100 41 474 51 815 238 526 303
-10000 839 273 372 822 345 130 220 379 4
-10000 735 629 402 494 550 470 730 109 439
-10000 162 850 423 159 707 119 545 267 172
-10000 838 296 987 80 628 963 738 71 891
-10000 841 838 584 242 36 293 537 293 267
-10000 795 916 352 270 18 313 430 369 129
-10000 313 494 891 135 432 385 377 73 155
-10000 28 724 261 402 756 361 919 514 922
-10000 522 981 993 282 145 764 567 216 29
-10000 791 731 797 797 722 314 47 741 417
-10000 767 676 684 178 460 891 746 776 447
-10000 431 424 277 456 184 949 199 67 741
-10000 455 121 915 12 355 807 145 742 527
-10000 945 592 337 504 80 474 453 291 210
-10000 68 156 967 789 138 454 993 474 458
-10000 5 539 789 910 977 848 388 830 220
-10000 77 92 627 357 370 555 377 42 149
-10000 134 433 516 118 745 313 223 594 58
-10000 533 793 523 441 315 254 852 762 343
-10000 560 321 37 17 770 188 585 900 978
-10000 829 293 903 346 500 344 466 458 472
-10000 423 837 12 356 629 987 141 364 505
-10000 574 663 713 846 258 613 840 464 439
-10000 840 446 44 693 60 896 779 628 837
-10000 266 502 908 812 533 704 904 694 506
-10000 301 496 482 61 91 913 723 945 632
-10000 677 802 166 318 411 911 792 271 16
-10000 356 218 190 21 352 541 947 240 863
-10000 470 298 314 76 756 889 734 986 236
-10000 412 95 710 168 95 847 126 137 60
-10000 926 381 530 70 651 637 67 603 224
-10000 886 913 607 743 398 185 441 808 232
-10000 807 451 846 608 617 447 319 327 449
-10000 611 111 886 106 728 707 877 99 383
-10000 553 165 597 706 932 193 807 438 871
-10000 43 177 193 580 927 950 764 376 394
-10000 221 229 206 355 563 640 564 523 538
-10000 409 199 477 340 937 224 352 371 813
-10000 44 578 940 468 48 663 500 970 874
-10000 502 643 656 537 9 745 601 753 207
-10000 198 748 274 671 208 967 638 541 218
-10000 850 643 320 662 867 37 776 207 430
-10000 647 735 69 314 930 48 654 870 691
-10000 71 522 172 19 578 39 626 116 59
-10000 392 235 370 154 652 542 396 284 672
-10000 290 176 451 308 697 991 590 396 101
-10000 120 779 195 121 358 691 939 593 586
-10000 495 176 177 877 536 548 351 859 273
-10000 475 507 434 80 631 749 991 832 77
-10000 785 534 535 902 792 973 715 406 445
-10000 231 800 102 266 461 84 360 148 397
-10000 869 365 436 480 305 956 818 152 731
-10000 655 571 155 342 557 333 318 787 404
-10000 825 88 753 454 975 6 501 92 804
-10000 746 747 798 170 628 802 56 360 381
-10000 252 247 336 485 135 804 476 822 858
-10000 410 988 656 767 318 183 68 715 829
-10000 298 287 640 195 540 214 255 492 550
-10000 978 306 825 767 28 719 976 288 869
-10000 357 278 539 584 846 483 692 346 967
-10000 346 434 675 184 60 764 510 760 726
-10000 118 320 860 154 343 483 461 727 707
-10000 49 701 318 862 729 65 391 305 376
-10000 115 932 920 57 164 5 895 689 367
-10000 198 642 804 702 709 471 496 491 805
-10000 140 62 549 946 558 769 120 518 69
-10000 470 526 897 10 95 919 87 475 77
-10000 325 961 415 344 357 575 112 639 978
-10000 123 86 416 801 636 265 377 194 296
-10000 367 319 430 618 246 889 3 764 784
-10000 831 55 843 386 179 901 691 588 706
-10000 346 458 542 169 454 78 556 75 702
-10000 351 24 480 737 380 984 345 748 215
-10000 754 346 43 948 623 854 878 153 355
-10000 721 345 715 542 769 489 574 665 151
-10000 12 767 893 453 384 712 40 29 619
-10000 505 0 827 906 272 239 614 180 958
-10000 371 743 747 626 822 548 954 322 185
-10000 312 568 725 929 279 673 455 402 870
-10000 47 355 779 255 612 810 360 144 628
-10000 760 80 469 891 731 242 269 816 68
-10000 407 860 596 368 118 949 453 592 468
-10000 232 863 236 473 384 601 428 492 889
-10000 793 66 66 642 469 429 526 554 905
-10000 598 148 448 25 156 656 408 337 107
-10000 288 198 541 750 274 692 252 535 374
-10000 655 78 410 505 553 674 901 335 33
-10000 820 811 158 207 607 686 195 824 363
-10000 138 505 800 710 495 756 256 819 65
-10000 258 538 194 273 407 322 646 531 764
-10000 131 750 351 152 188 841 201 629 201
-10000 998 843 193 208 357 677 151 574 451
-10000 328 813 288 859 639 723 885 580 594
-10000 77 151 55 20 80 675 329 218 19
-10000 20 799 260 464 193 29 715 276 544
-10000 372 270 438 664 452 633 859 308 879
-10000 539 962 951 486 948 450 834 963 974
-10000 559 819 95 368 965 392 430 389 646
-10000 684 778 778 454 544 499 447 694 940
-10000 50 981 64 376 201 108 688 375 611
-10000 717 592 26 803 917 103 168 1 88
-10000 394 834 249 527 51 264 307 709 680
-10000 706 149 235 182 886 369 428 776 753
-10000 418 416 977 989 790 854 261 64 865
-10000 485 680 222 926 896 196 60 62 902
-10000 718 311 959 525 203 943 921 737 629
-10000 977 797 125 376 993 479 164 230 264
-10000 291 627 759 584 173 59 946 456 297
-10000 943 663 767 314 95 967 279 258 219
-10000 201 293 861 14 467 619 136 294 7
-10000 37 190 860 947 251 114 1000 192 699
-10000 499 456 248 940 193 568 943 22 32
-10000 654 506 943 438 193 480 112 664 602
-10000 124 14 980 142 607 865 365 133 233
-10000 503 476 648 19 78 585 693 686 542
-10000 968 27 299 774 740 766 120 197 46
-10000 786 476 171 268 847 204 505 691 86
-10000 426 683 922 935 900 959 586 431 121
-10000 984 529 453 29 291 77 189 504 74
-10000 357 341 526 507 443 921 62 103 9
-10000 152 882 910 44 947 380 726 189 675
-10000 974 296 334 744 793 994 39 797 668
-10000 155 761 448 257 173 882 705 320 27
-10000 582 267 193 919 415 413 476 460 462
-10000 452 567 214 725 18 792 535 471 324
-10000 571 478 130 282 658 91 901 33 121
-10000 119 609 858 811 591 130 383 765 456
-10000 689 577 156 343 208 580 367 198 92
-10000 509 610 455 117 434 96 499 298 703
-10000 257 872 693 957 717 468 620 272 725
-10000 119 612 612 572 849 293 410 184 449
-10000 813 107 399 524 515 975 478 875 109
-10000 707 393 76 740 460 314 975 413 306
-10000 680 766 747 26 921 154 102 762 603
-10000 930 618 288 614 622 804 726 225 651
-10000 801 609 242 910 252 717 110 386 310
-10000 879 738 959 218 835 761 620 866 623
-10000 421 163 212 39 356 19 7 961 843
-10000 8 605 891 796 80 511 619 480 0
-10000 719 106 388 704 290 641 308 129 889
-10000 628 694 137 583 917 17 718 430 137
-10000 640 675 274 567 490 450 505 382 649
-10000 464 228 679 757 708 194 875 790 379
-10000 531 324 467 598 495 984 710 364 390
-10000 486 942 982 767 458 132 716 200 312
-10000 285 377 121 694 604 570 152 787 240
-10000 546 528 596 709 2 973 947 397 927
-10000 564 76 279 921 822 38 928 950 859
-10000 430 88 561 26 331 716 533 894 930
-10000 386 833 355 855 306 807 228 604 34
-10000 879 434 985 459 636 706 824 446 718
-10000 454 198 919 567 147 112 48 976 369
-10000 379 28 20 329 640 480 200 714 961
-10000 701 74 855 520 403 521 807 250 50
-10000 460 51 663 638 40 912 567 163 205
-10000 880 133 973 274 942 828 210 696 991
-10000 909 746 287 563 811 151 54 613 174
-10000 35 415 834 610 510 247 500 510 51
-10000 782 291 457 441 3 886 657 484 234
-10000 705 965 152 31 225 585 680 498 108
-10000 944 393 331 979 495 38 575 280 204
-10000 161 558 44 67 429 423 969 191 454
-10000 547 255 545 54 355 815 346 262 753
-10000 289 366 212 100 890 753 77 343 62
-10000 883 912 999 597 237 832 607 433 496
-10000 330 54 580 540 958 517 312 394 500
-10000 917 64 947 974 139 475 443 784 882
-10000 351 974 15 2 613 159 652 313 808
-10000 346 67 682 441 813 58 324 693 260
-10000 388 993 106 362 294 264 86 292 433
-10000 185 750 826 315 357 542 215 173 796
-10000 332 984 482 569 686 169 11 389 271
-10000 19 649 40 760 234 770 100 143 928
-10000 701 580 243 841 974 443 32 120 35
-10000 295 38 797 95 618 317 228 175 300
-10000 289 721 161 434 887 301 499 505 68
-10000 979 700 177 837 358 24 669 94 750
-10000 393 242 993 337 992 998 51 534 595
-10000 399 513 494 499 79 545 446 519 457
-10000 527 435 67 43 884 23 429 594 889
-10000 969 55 698 792 468 392 642 908 832
-10000 161 784 76 892 866 152 680 102 18
-10000 332 975 908 283 845 336 550 967 22
-10000 306 826 661 654 68 330 208 529 408
-10000 520 82 393 968 77 14 629 266 381
-10000 923 611 945 50 28 972 473 246 306
-10000 372 179 388 386 692 775 714 805 438
-10000 124 868 500 990 775 592 124 818 253
-10000 734 863 257 689 853 137 501 721 557
-10000 62 542 379 448 607 812 297 140 242
-10000 669 470 941 979 668 516 261 302 607
-10000 143 391 730 510 450 160 211 430 943
-10000 213 511 438 536 922 298 919 155 606
-10000 352 369 699 593 871 148 671 706 136
-10000 201 399 568 508 945 732 780 17 152
-10000 764 937 71 263 142 558 545 380 285
-10000 569 866 141 62 374 506 483 840 430
-10000 845 413 632 407 731 846 705 852 854
-10000 546 938 381 18 893 428 594 143 81
-10000 462 912 960 802 107 208 518 512 281
-10000 547 764 850 194 910 936 390 925 540
-10000 679 114 168 138 75 11 260 115 301
-10000 30 747 210 294 993 755 147 844 931
-10000 13 953 587 161 705 513 713 659 549
-10000 421 690 423 357 153 207 372 0 890
-10000 553 165 940 238 465 535 776 269 558
-10000 389 203 983 544 176 662 363 795 387
-10000 145 491 832 116 893 992 302 626 661
-10000 389 629 967 72 953 136 96 551 859
-10000 726 989 28 542 736 997 454 822 487
-10000 875 9 291 503 768 548 674 409 393
-10000 337 551 809 187 940 794 881 688 529
-10000 613 912 818 591 580 280 65 398 71
-10000 209 827 546 582 724 686 357 59 443
-10000 491 796 280 527 20 352 650 955 202
-10000 122 273 613 260 639 488 203 769 8
-10000 812 335 372 828 297 97 735 424 550
-10000 586 418 709 558 304 328 719 746 604
-10000 683 237 481 439 565 231 846 116 584
-10000 156 361 280 243 217 151 834 207 551
-10000 809 967 268 192 136 621 468 284 420
-10000 88 664 826 467 383 299 617 191 733
-10000 836 615 345 892 595 849 696 313 696
-10000 263 350 37 24 675 44 841 133 385
-10000 844 79 790 172 350 123 923 15 810
-10000 65 952 669 270 656 690 5 530 920
-10000 853 890 207 242 343 939 80 75 175
-10000 604 534 460 706 484 660 714 191 57
-10000 626 677 8 50 151 581 414 637 274
-10000 329 710 560 671 344 408 965 606 230
-10000 232 460 918 41 943 624 347 461 351
-10000 991 670 751 377 126 665 638 565 190
-10000 295 625 455 304 50 464 809 787 963
-10000 818 619 700 239 293 822 787 898 574
-10000 984 195 169 867 311 106 383 941 841
-10000 109 792 785 237 918 766 605 517 981
-10000 601 372 77 423 934 708 13 449 930
-10000 210 123 1000 7 286 127 637 53 452
-10000 449 79 851 458 662 633 737 629 720
-10000 555 15 895 849 883 680 266 372 225
-10000 201 732 250 744 145 293 278 549 809
-10000 167 530 820 242 409 571 597 632 642
-10000 10 822 711 369 61 763 887 580 78
-10000 10 407 874 623 849 506 454 944 637
-10000 491 107 1 225 596 272 263 637 153
-10000 833 478 308 617 562 633 451 214 142
-10000 347 459 5 751 731 912 870 525 626
-10000 98 365 99 33 588 655 779 164 207
-10000 646 924 528 623 802 688 467 991 926
-10000 483 544 717 491 711 348 379 484 267
-10000 28 473 644 889 872 506 889 745 656
-10000 519 660 282 750 36 487 37 20 720
-10000 169 190 380 699 809 557 633 18 867
-10000 14 360 6 492 499 689 629 536 646
-10000 253 40 482 875 402 485 757 695 539
-10000 478 109 308 46 156 59 292 831 452
-10000 825 989 555 735 572 607 444 107 873
-10000 382 797 813 611 554 629 787 843 106
-10000 736 418 144 173 51 413 153 907 123
-10000 403 648 946 586 41 483 333 66 504
-10000 378 683 258 320 314 907 437 674 801
-10000 974 348 867 671 366 317 479 212 422
-10000 545 80 656 800 124 107 717 119 327
-10000 639 340 672 954 596 175 334 519 459
-10000 870 436 265 442 5 490 726 660 945
-10000 174 822 848 310 315 720 78 642 843
-10000 187 301 673 392 173 89 426 378 807
-10000 121 195 622 159 359 486 655 458 980
-10000 863 167 951 470 919 565 350 782 37
-10000 842 301 524 241 55 848 363 853 489
-10000 23 249 861 109 198 409 652 504 604
-10000 890 210 851 299 381 456 383 615 665
-10000 983 166 155 275 615 165 720 913 305
-10000 996 626 492 598 358 499 181 721 630
-10000 619 909 11 901 38 816 877 460 463
-10000 337 70 788 776 625 853 95 990 605
-10000 815 487 175 31 148 415 850 670 666
-10000 179 338 133 843 526 684 998 80 176
-10000 47 610 451 289 459 327 181 948 888
-10000 824 461 910 776 348 745 215 650 816
-10000 259 139 586 602 248 900 239 614 121
-10000 180 501 2 763 264 324 825 41 155
-10000 891 599 114 291 740 669 924 491 893
-10000 362 655 320 68 916 735 732 329 441
-10000 697 273 808 989 862 507 279 103 845
-10000 968 55 361 193 389 495 968 441 20
-10000 357 526 388 706 100 252 253 541 949
-10000 46 472 381 822 377 944 516 280 243
-10000 682 354 748 225 533 997 876 523 387
-10000 848 932 834 42 489 702 674 358 154
-10000 311 211 835 372 796 49 297 446 453
-10000 529 994 631 216 716 297 617 831 285
-10000 305 376 704 786 143 417 434 193 866
-10000 503 887 209 140 901 912 242 142 757
-10000 208 712 302 586 118 149 872 585 181
-10000 645 860 470 291 907 612 465 266 547
-10000 84 996 964 363 9 14 823 389 987
-10000 273 813 914 222 735 195 464 196 854
-10000 81 354 536 385 523 661 244 535 955
-10000 86 942 180 303 290 697 55 751 805
-10000 975 321 835 236 58 537 553 65 48
-10000 151 391 840 116 94 407 547 582 214
-10000 745 69 246 544 135 395 947 711 739
-10000 605 75 116 672 448 636 800 380 347
-10000 526 245 583 937 956 888 10 692 137
-10000 714 500 326 233 84 94 444 380 486
-10000 47 3 607 365 2 107 591 181 271
-10000 643 143 231 536 747 991 286 157 290
-10000 331 120 39 501 476 601 904 78 804
-10000 862 233 637 641 988 755 187 636 69
-10000 894 429 901 12 463 447 951 337 976
-10000 113 695 749 825 268 827 639 75 251
-10000 353 429 426 478 830 311 620 407 596
-10000 851 27 826 822 64 13 891 153 282
-10000 525 863 595 429 71 945 186 692 927
-10000 920 463 673 223 312 876 616 289 861
-10000 737 38 540 687 442 807 775 254 767
-10000 849 329 413 396 714 387 183 399 980
-10000 118 76 946 389 617 752 982 720 963
-10000 692 86 870 131 594 209 546 776 465
-10000 95 66 537 491 405 314 74 509 791
-10000 233 157 590 767 921 800 100 636 366
-10000 814 961 650 994 767 826 107 474 537
-10000 885 441 774 135 634 217 624 154 836
-10000 732 23 3 516 455 272 371 425 241
-10000 798 38 781 729 826 304 713 642 646
-10000 482 803 647 157 450 175 826 931 860
-10000 711 320 47 925 985 931 424 854 688
-10000 599 398 317 739 833 955 245 736 124
-10000 484 908 425 311 610 654 976 874 889
-10000 189 870 348 825 911 623 722 15 875
-10000 196 344 316 31 55 647 845 509 179
-10000 931 615 987 234 77 847 567 593 23
-10000 308 240 47 106 951 433 936 931 399
-10000 542 122 467 343 907 770 233 385 430
-10000 763 527 502 325 608 1000 508 468 866
-10000 709 507 660 152 846 440 966 20 320
-10000 981 221 758 308 625 897 467 437 90
-10000 799 756 756 256 102 264 131 172 72
-10000 408 454 39 329 919 302 973 75 776
-10000 323 923 210 280 902 877 39 599 536
-10000 27 454 208 858 783 536 747 775 191
-10000 413 252 31 255 465 584 149 583 484
-10000 247 426 96 292 852 505 330 375 325
-10000 164 84 774 119 203 417 713 18 653
-10000 60 636 911 581 127 18 948 90 817
-10000 103 357 943 549 924 713 758 219 997
-10000 341 285 535 774 839 736 305 973 350
-10000 861 845 482 574 542 256 22 651 891
-10000 94 987 531 390 217 880 220 57 181
-10000 282 781 501 83 653 120 441 635 83
-10000 53 375 542 912 599 905 642 385 217
-10000 281 861 937 224 444 498 433 157 295
-10000 775 120 785 521 463 349 416 700 890
-10000 323 512 736 799 691 636 573 616 832
-10000 528 325 167 966 697 132 878 863 435
-10000 518 808 971 735 149 787 821 302 93
-10000 583 362 929 860 936 763 504 182 36
-10000 400 576 325 807 800 75 128 623 463
-10000 694 969 842 233 911 623 379 483 31
-10000 227 513 629 705 710 621 55 545 930
-10000 331 196 994 758 153 585 942 522 694
-10000 570 137 925 225 280 3 446 198 693
-10000 488 252 111 410 225 49 144 1 52
-10000 809 985 889 512 545 633 563 502 107
-10000 326 851 474 78 16 637 431 504 899
-10000 738 74 137 243 862 938 970 508 377
-10000 509 255 424 82 540 172 655 905 278
-10000 705 264 287 192 189 28 865 568 333
-10000 299 394 758 757 171 148 106 493 859
-10000 220 279 872 842 571 377 826 946 591
-10000 268 224 583 426 1000 945 636 146 538
-10000 157 273 78 241 664 444 26 122 987
-10000 670 827 463 875 522 563 867 856 66
-10000 908 260 127 578 794 586 214 490 782
-10000 350 479 277 206 66 158 725 18 74
-10000 84 242 199 620 872 486 86 561 60
-10000 983 684 517 108 934 477 831 278 773
-10000 262 640 550 743 889 198 874 339 806
-10000 861 858 495 744 333 916 570 225 55
-10000 414 205 3 275 308 572 80 628 700
-10000 987 607 619 691 250 952 629 218 439
-10000 129 644 556 412 135 960 47 845 969
-10000 164 677 11 253 339 542 838 712 516
-10000 229 698 496 272 822 951 499 405 338
-10000 863 693 586 817 195 551 745 109 27
-10000 455 557 464 633 759 458 909 342 639
-10000 52 206 69 245 31 157 747 936 899
-10000 989 376 954 892 42 49 439 984 885
-10000 429 261 155 492 799 471 384 9 411
-10000 913 170 818 291 693 275 413 44 318
-10000 987 206 64 823 230 716 343 201 812
-10000 939 364 46 552 101 240 18 888 438
-10000 875 995 146 898 113 704 84 454 551
-10000 747 673 545 256 182 224 301 378 1000
-10000 773 980 112 111 525 773 993 342 838
-10000 603 211 488 582 876 118 176 705 671
-10000 374 760 911 125 530 646 471 682 865
-10000 190 198 336 445 434 77 148 906 576
-10000 835 486 764 993 459 244 232 561 488
-10000 391 675 902 481 665 252 523 849 191
-10000 328 87 381 739 70 389 444 995 671
-10000 505 843 213 615 247 382 85 859 86
-10000 394 592 697 872 623 610 222 928 350
-10000 116 397 880 340 85 731 169 385 124
-10000 556 642 481 228 112 907 583 702 64
-10000 524 479 866 315 171 456 356 948 82
-10000 82 213 151 989 106 391 413 320 691
-10000 350 504 47 538 873 251 154 993 432
-10000 183 755 369 388 118 301 220 607 700
-10000 412 113 965 257 23 852 925 233 832
-10000 938 762 57 693 408 551 645 739 968
-10000 278 169 939 571 733 935 542 746 71
-10000 271 615 736 278 557 498 353 529 792
-10000 786 445 457 534 75 406 991 62 120
-10000 664 104 427 92 607 860 83 514 151
-10000 775 623 849 637 484 920 284 344 131
-10000 113 831 387 391 732 832 55 889 928
-10000 289 322 290 567 697 186 484 588 486
-10000 516 729 583 597 539 252 826 508 196
-10000 623 841 766 901 725 375 108 473 781
-10000 371 294 118 740 519 6 347 214 336
-10000 53 809 140 904 810 355 539 352 907
-10000 136 971 153 382 24 701 555 591 178
-10000 857 821 563 106 242 194 196 609 150
-10000 949 392 495 912 393 190 352 518 516
-10000 469 146 334 432 251 313 565 934 611
-10000 778 304 711 892 835 601 892 490 103
-10000 391 541 887 182 949 752 888 649 549
-10000 466 279 994 114 813 862 267 689 462
-10000 293 851 678 65 974 904 227 178 726
-10000 576 910 176 569 735 531 387 392 863
-10000 251 432 785 288 867 627 530 222 64
-10000 881 215 980 569 204 933 26 924 562
-10000 620 560 885 844 54 751 858 805 593
-10000 731 159 752 937 28 145 213 131 69
-10000 257 54 695 68 715 248 547 969 454
-10000 679 35 878 610 855 102 467 362 400
-10000 254 399 530 337 546 352 392 451 445
-10000 498 453 663 977 249 272 211 59 521
-10000 663 6 579 897 18 743 866 116 917
-10000 145 826 36 798 472 939 642 502 541
-10000 260 335 889 494 301 827 527 238 468
-10000 186 43 191 955 211 3 300 49 923
-10000 179 560 347 777 963 680 84 339 799
-10000 540 971 405 978 798 117 253 482 672
-10000 532 499 777 763 400 752 376 847 577
-10000 585 926 92 901 349 60 413 705 759
-10000 979 907 854 165 913 117 717 841 803
-10000 227 716 356 136 532 392 853 907 202
-10000 751 499 586 136 5 489 514 824 985
-10000 131 453 966 559 966 151 483 941 72
-10000 746 539 65 450 632 924 175 239 864
-10000 289 484 10 872 975 863 471 113 985
-10000 392 940 393 91 986 741 210 238 484
-10000 536 353 320 827 219 534 337 699 365
-10000 641 597 946 659 212 639 44 470 793
-10000 613 705 567 445 360 69 848 717 561
-10000 951 2 262 422 967 382 431 779 427
-10000 695 921 834 42 880 21 189 559 263
-10000 167 64 341 826 488 136 22 627 112
-10000 771 637 824 519 102 221 257 905 152
-10000 524 924 622 305 604 976 199 152 442
-10000 724 442 233 480 892 122 111 960 686
-10000 162 3 683 729 163 823 391 823 587
-10000 615 847 608 336 229 557 936 727 102
-10000 448 390 764 21 141 38 625 451 60
-10000 139 374 583 46 850 553 245 386 398
-10000 482 89 450 763 565 43 83 919 945
-10000 186 679 352 556 895 531 174 660 753
-10000 245 46 488 979 711 968 223 199 393
-10000 638 558 362 973 999 25 710 241 757
-10000 950 41 138 945 657 3 634 581 127
-10000 125 790 243 941 701 682 776 544 536
-10000 217 88 870 771 88 574 71 536 263
-10000 686 594 711 779 45 28 771 849 292
-10000 618 736 754 292 990 298 682 278 139
-10000 920 408 996 769 407 705 964 725 118
-10000 804 275 171 948 501 443 704 601 150
-10000 186 324 85 233 668 812 396 733 199
-10000 986 284 525 240 363 482 809 57 564
-10000 440 995 887 409 830 349 415 878 690
-10000 610 934 497 722 411 880 678 294 662
-10000 957 714 320 444 974 124 933 678 878
-10000 217 964 356 835 735 629 141 596 370
-10000 599 79 179 692 960 998 750 417 923
-10000 343 476 592 767 281 12 906 550 222
-10000 352 601 693 226 896 397 238 727 832
-10000 415 252 187 35 627 956 935 316 937
-10000 702 22 664 59 608 521 519 208 432
-10000 870 602 144 50 33 769 868 983 264
-10000 871 297 492 391 540 819 698 818 266
-10000 390 98 24 560 444 340 61 706 196
-10000 993 144 418 516 101 436 343 935 481
-10000 967 464 783 901 294 627 832 809 805
-10000 495 83 661 930 299 334 242 909 635
-10000 608 82 187 382 769 284 696 700 619
-10000 34 896 237 355 337 957 27 696 327
-10000 957 447 955 726 121 26 644 381 523
-10000 565 148 871 91 946 370 109 404 884
-10000 919 953 846 605 184 699 929 126 720
-10000 691 17 210 67 294 418 276 644 647
-10000 799 912 643 800 233 79 286 307 986
-10000 246 972 884 314 703 100 34 955 435
-10000 912 55 677 705 290 993 337 809 523
-10000 606 695 249 265 905 288 147 158 8
-10000 920 240 610 108 287 628 103 392 540
-10000 50 530 585 880 58 297 827 363 222
-10000 320 901 528 123 961 816 321 588 887
-10000 621 197 101 477 355 239 34 59 945
-10000 191 708 833 21 234 462 389 193 879
-10000 262 878 710 562 891 6 447 821 418
-10000 166 336 722 18 698 416 107 861 853
-10000 213 158 146 482 775 213 557 361 312
-10000 411 7 705 859 795 717 500 160 820
-10000 585 381 905 100 929 286 853 771 737
-10000 672 381 606 123 469 341 734 11 1
-10000 180 484 437 469 42 214 261 442 633
-10000 166 176 217 67 151 906 329 289 67
-10000 978 806 173 115 599 627 962 412 192
-10000 529 811 746 527 566 681 322 528 237
-10000 966 971 933 400 504 951 779 996 721
-10000 821 79 570 677 932 585 378 149 713
-10000 807 748 613 849 541 170 145 70 526
-10000 983 734 193 898 851 967 640 869 171
-10000 300 649 878 198 47 824 963 468 529
-10000 789 674 549 433 549 798 117 593 739
-10000 500 440 960 276 482 947 391 110 303
-10000 155 827 735 363 51 62 569 297 795
-10000 107 121 613 786 255 910 384 277 807
-10000 338 1000 716 831 763 341 707 572 550
-10000 488 310 450 497 640 599 752 743 228
-10000 779 488 498 241 586 261 316 18 439
-10000 340 342 222 371 819 764 809 137 142
-10000 442 20 52 826 216 71 172 735 436
-10000 293 434 87 113 175 30 776 204 748
-10000 786 30 849 116 266 204 770 138 26
-10000 844 744 88 685 409 50 127 926 818
-10000 849 193 657 134 25 368 84 369 847
-10000 740 362 628 746 863 255 83 904 704
-10000 167 723 194 670 558 723 286 448 298
-10000 461 763 401 773 457 235 410 443 809
-10000 201 647 798 834 372 255 312 27 574
-10000 691 770 424 132 739 693 826 107 896
-10000 46 488 768 502 172 787 315 32 571
-10000 402 544 148 21 601 101 938 381 908
-10000 615 567 45 618 192 514 40 357 605
-10000 74 480 512 841 112 526 838 974 549
-10000 279 665 318 540 425 304 454 180 995
-10000 68 566 131 627 637 781 690 589 62
-10000 205 644 905 596 657 691 960 684 501
-10000 650 214 819 254 410 715 675 266 526
-10000 106 141 614 269 955 506 269 331 576
-10000 548 19 675 648 332 157 575 927 173
-10000 482 415 664 125 295 859 931 658 208
-10000 230 741 588 242 453 480 964 896 611
-10000 403 216 950 577 968 83 238 873 182
-10000 708 533 839 123 953 95 327 420 222
-10000 694 981 225 949 957 131 204 867 14
-10000 956 822 165 33 500 895 395 210 439
-10000 598 549 917 251 225 912 671 665 975
-10000 337 57 396 252 795 420 242 453 266
-10000 941 161 461 223 369 73 761 297 246
-10000 925 81 72 534 172 86 344 495 980
-10000 810 456 107 473 318 933 706 486 917
-10000 127 169 242 468 530 174 963 189 454
-10000 477 554 620 546 298 411 318 907 494
-10000 594 79 918 708 74 265 59 460 351
-10000 273 413 915 202 87 527 500 683 477
-10000 631 294 711 267 385 726 170 581 597
-10000 641 886 403 250 825 400 870 423 196
-10000 678 207 809 472 606 884 931 387 573
-10000 505 406 122 247 548 736 945 574 787
-10000 651 64 799 481 302 672 951 368 834
-10000 43 26 568 388 461 114 889 972 584
-10000 886 578 532 416 540 693 876 506 958
-10000 616 10 522 228 578 377 670 820 466
-10000 778 333 131 610 458 524 681 807 469
-10000 837 303 510 535 795 320 133 665 319
-10000 638 881 400 513 962 339 256 647 510
-10000 364 391 151 534 419 368 649 881 431
-10000 834 38 455 815 1 190 423 174 313
-10000 100 637 134 109 633 103 501 355 469
-10000 381 609 221 177 255 307 81 717 447
-10000 426 649 559 934 563 277 231 416 679
-10000 509 104 418 829 770 547 320 624 762
-10000 758 124 777 65 675 11 719 112 722
-10000 953 971 273 173 621 306 571 97 625
-10000 956 17 621 110 519 675 182 320 290
-10000 74 263 92 74 364 498 875 170 952
-10000 850 896 271 28 712 187 705 695 557
-10000 162 835 850 560 187 649 246 79 565
-10000 193 97 479 471 39 192 436 627 793
-10000 72 153 332 224 993 647 303 980 276
-10000 266 892 759 397 709 469 598 534 801
-10000 975 600 502 938 486 525 142 218 530
-10000 604 81 290 327 704 450 21 265 431
-10000 129 790 111 275 574 650 464 313 571
-10000 50 157 403 676 201 792 315 402 993
-10000 738 267 234 900 904 338 476 656 127
-10000 301 495 600 211 101 455 942 710 798
-10000 915 859 150 997 778 607 27 705 586
-10000 87 29 706 393 503 103 230 45 137
-10000 634 266 942 237 281 8 293 815 511
-10000 905 619 527 326 613 655 890 145 300
-10000 317 837 663 892 706 754 981 172 58
-10000 534 6 180 773 893 486 618 119 411
-10000 486 796 111 969 396 435 237 84 84
-10000 90 949 308 199 241 745 183 624 440
-10000 886 482 108 604 580 288 136 42 73
-10000 776 133 935 991 638 959 839 709 490
-10000 23 608 672 120 67 615 12 616 209
-10000 787 743 609 639 351 467 200 116 167
-10000 201 150 65 456 550 711 145 599 332
-10000 195 68 542 901 450 724 813 841 763
-10000 409 546 128 955 215 586 730 966 415
-10000 993 822 264 275 936 66 890 699 737
-10000 63 696 464 433 410 609 653 626 232
-10000 707 187 963 321 14 381 401 582 689
-10000 391 215 441 779 305 52 399 945 446
-10000 98 693 929 856 384 118 953 349 330
-10000 33 913 966 919 985 504 817 634 953
-10000 650 847 921 409 784 370 457 439 446
-10000 647 169 358 679 604 144 91 363 429
-10000 44 475 394 983 17 730 835 543 109
-10000 436 323 702 326 731 904 494 529 491
-10000 973 614 403 0 776 690 475 175 318
-10000 654 158 490 598 821 71 318 315 427
-10000 909 434 437 295 982 15 723 247 487
-10000 720 339 684 103 942 106 504 177 708
-10000 154 702 996 85 874 681 600 646 991
-10000 540 822 52 646 631 389 842 642 423
-10000 261 723 94 166 811 567 353 403 447
-10000 487 866 667 560 758 451 844 413 418
-10000 825 873 958 965 582 703 92 573 683
-10000 913 275 686 756 346 921 632 32 354
-10000 21 565 87 151 900 196 489 187 942
-10000 742 39 898 830 948 460 980 968 296
-10000 263 211 827 372 213 352 606 339 403
-10000 525 691 847 261 564 742 254 446 602
-10000 460 883 676 262 954 602 93 72 240
-10000 497 172 247 586 736 905 47 577 404
-10000 47 678 0 520 293 788 681 960 419
-10000 444 151 585 130 176 778 94 861 772
-10000 181 57 659 614 37 70 455 46 285
-10000 361 305 465 200 851 836 244 799 602
-10000 750 387 298 417 253 978 218 523 709
-10000 746 117 132 811 836 197 633 59 664
-10000 465 755 497 656 223 720 80 179 786
-10000 891 729 960 797 311 58 295 245 486
-10000 853 739 882 943 174 460 100 290 700
-10000 667 789 948 350 231 587 867 241 559
-10000 445 404 200 396 358 708 875 872 983
-10000 825 948 559 58 742 980 281 190 997
-10000 262 655 633 982 296 859 383 235 917
-10000 710 361 572 129 274 542 613 933 625
-10000 409 840 718 210 218 504 992 547 559
-10000 777 946 631 27 666 969 826 167 862
-10000 943 978 272 146 338 601 875 579 368
-10000 753 824 872 631 810 108 818 724 683
-10000 936 48 784 23 474 676 734 859 53
-10000 666 108 420 489 469 544 118 676 234
-10000 626 523 765 419 418 772 73 598 82
-10000 971 722 161 129 69 952 56 662 430
-10000 9 388 814 316 563 667 839 340 38
-10000 605 137 985 942 961 551 990 596 643
-10000 644 818 15 902 809 578 466 497 381
-10000 903 125 165 897 413 446 491 112 93
-10000 117 913 18 884 90 160 646 570 969
-10000 290 97 181 656 533 996 963 91 205
-10000 357 420 854 274 815 469 42 34 62
-10000 261 447 816 230 216 661 186 39 300
-10000 941 929 949 109 351 577 412 877 459
-10000 848 50 942 913 230 109 454 505 919
-10000 422 544 854 504 416 11 29 662 253
-10000 648 917 242 236 570 788 787 516 858
-10000 408 757 495 373 68 183 915 294 331
-10000 729 681 692 781 698 833 404 555 379
-10000 178 506 729 571 103 445 887 869 98
-10000 629 260 290 506 197 633 959 891 343
-10000 277 627 250 831 971 238 485 464 707
-10000 515 674 897 791 376 75 886 330 650
-10000 254 139 349 63 479 205 165 687 881
-10000 197 540 875 334 589 313 405 256 151
-10000 454 707 538 709 940 821 739 335 773
-10000 81 751 509 432 958 707 170 64 629
-10000 80 438 22 172 218 677 321 374 429
-10000 568 481 527 44 878 396 577 433 830
-10000 390 885 732 734 165 340 877 999 1
-10000 908 315 400 953 990 226 225 567 423
-10000 453 406 470 793 9 364 53 638 985
-10000 287 889 637 617 312 102 432 156 845
-10000 813 995 411 3 730 323 824 300 945
-10000 270 614 245 504 838 879 498 787 675
-10000 76 111 614 928 783 222 863 683 256
-10000 154 863 266 307 258 94 937 566 185
-10000 318 628 948 374 170 23 276 705 721
-10000 751 722 673 209 557 664 300 989 894
-10000 181 112 272 606 466 644 658 154 555
-10000 909 243 349 374 320 185 331 901 255
-10000 848 866 1000 768 952 263 108 628 174
-10000 625 590 108 505 361 649 409 346 909
-10000 96 638 453 173 934 819 653 73 737
-10000 799 642 632 967 610 85 448 778 505
-10000 522 977 986 588 225 692 377 664 534
-10000 18 298 359 166 833 174 99 315 920
-10000 134 352 866 168 578 298 99 977 985
-10000 538 393 592 286 685 69 77 943 902
-10000 411 178 395 676 880 895 306 18 387
-10000 184 681 868 847 970 195 393 494 766
-10000 50 183 934 190 836 552 522 570 878
-10000 70 376 194 885 226 229 791 506 377
-10000 779 152 291 161 638 539 249 863 536
-10000 997 776 422 751 973 685 837 884 315
-10000 125 524 955 353 98 419 409 305 202
-10000 794 92 769 22 103 790 743 413 17
-10000 739 382 889 687 924 441 180 32 691
-10000 663 789 297 752 179 933 541 16 931
-10000 272 708 168 492 54 74 574 992 909
-10000 522 374 414 163 319 868 356 736 327
-10000 936 387 873 668 608 218 925 722 71
-10000 487 120 755 261 739 765 394 174 746
-10000 77 859 565 52 939 225 494 19 117
-10000 47 801 1 291 342 126 488 861 996
-10000 442 187 555 262 762 695 297 308 129
-10000 681 766 549 304 884 491 59 714 89
-10000 343 183 601 946 380 35 559 480 106
-10000 681 533 156 672 320 422 763 288 190
-10000 43 734 912 899 671 751 460 74 417
-10000 872 822 456 967 492 82 146 552 720
-10000 228 159 275 705 301 280 58 346 443
-10000 9 210 51 748 680 655 387 779 140
-10000 784 783 936 274 856 996 89 231 126
-10000 802 632 667 357 247 625 334 689 445
-10000 917 644 972 228 962 848 317 169 619
-10000 706 78 444 406 847 683 609 419 697
-10000 39 142 110 700 212 194 691 836 987
-10000 555 562 894 704 777 455 23 102 865
-10000 645 710 492 203 815 161 880 839 760
-10000 172 296 46 903 112 202 561 275 183
-10000 741 815 553 746 442 209 131 223 1000
-10000 453 554 721 822 460 191 134 326 399
-10000 400 22 619 497 130 188 293 164 528
-10000 308 402 592 707 3 478 607 798 535
-10000 93 200 303 403 770 933 54 982 154
-10000 860 195 528 167 384 447 96 373 228
-10000 835 873 513 16 357 129 180 595 410
-10000 493 295 712 552 345 730 382 361 726
-10000 758 56 735 378 189 947 60 721 953
-10000 893 134 560 265 490 749 986 891 137
-10000 541 511 375 57 83 75 289 68 745
-10000 408 111 650 309 588 582 717 867 795
-10000 148 731 41 592 69 964 796 386 629
-10000 18 966 666 578 105 278 259 591 174
-10000 92 759 661 264 48 966 453 617 801
-10000 669 162 956 234 759 337 86 239 302
-10000 881 6 296 911 809 302 543 464 422
-10000 200 771 637 271 598 917 303 125 2
-10000 108 229 319 653 158 679 909 104 311
-10000 55 938 537 871 604 3 590 989 792
-10000 577 152 586 603 567 117 268 943 276
-10000 379 795 594 972 627 254 673 331 135
-10000 111 516 727 910 526 402 904 790 368
-10000 200 382 932 351 330 455 739 903 275
-10000 962 487 816 28 569 693 337 405 618
-10000 412 493 141 728 852 593 908 302 628
-10000 98 753 291 372 135 538 451 261 676
-10000 396 405 556 330 874 346 703 877 201
-10000 554 626 182 983 413 177 210 329 945
-10000 228 23 713 417 212 223 350 45 747
-10000 498 928 104 525 7 650 275 28 261
-10000 764 496 554 624 599 992 606 494 518
-10000 31 623 937 342 191 907 737 687 870
-10000 105 323 63 665 47 624 467 58 71
-10000 487 91 885 939 823 780 214 964 686
-10000 735 430 385 197 74 716 801 813 431
-10000 190 795 744 537 517 336 737 511 908
-10000 784 558 51 66 288 6 768 492 671
-10000 977 10 995 342 735 758 602 780 785
-10000 487 81 560 214 39 692 290 524 690
-10000 124 821 643 986 461 631 324 693 238
-10000 10 945 398 375 56 92 251 447 20
-10000 745 430 722 760 810 549 389 431 553
-10000 908 228 44 150 589 629 31 626 516
-10000 596 73 675 311 609 246 925 196 308
-10000 470 920 569 372 436 235 522 644 279
-10000 381 756 326 541 798 831 32 478 294
-10000 322 421 24 562 886 737 554 850 157
-10000 721 677 871 666 503 573 556 504 792
-10000 286 229 899 942 507 536 265 916 93
-10000 138 585 136 765 530 536 193 826 775
-10000 558 55 888 15 232 753 770 291 562
-10000 846 175 696 736 206 618 495 577 912
-10000 601 534 811 137 216 91 941 907 619
-10000 241 275 484 848 888 389 584 906 879
-10000 179 340 113 744 193 412 692 344 961
-10000 572 27 855 811 464 226 755 329 907
-10000 583 908 520 216 919 67 764 453 425
-10000 77 744 68 454 156 646 244 372 410
-10000 819 425 45 675 173 123 680 599 809
-10000 901 543 215 438 845 198 18 546 310
-10000 274 639 520 353 63 525 358 168 714
-10000 154 542 539 824 502 277 966 171 255
-10000 60 637 217 763 736 326 426 114 876
-10000 453 95 740 689 408 611 314 103 925
-10000 486 237 243 490 836 141 314 401 730
-10000 726 684 56 498 974 597 454 195 142
-10000 517 16 11 426 520 744 540 753 144
-10000 884 185 916 79 734 60 978 987 367
-10000 674 263 604 939 969 233 108 398 389
-10000 229 608 143 535 246 332 713 619 452
-10000 813 300 85 456 376 389 350 861 168
-10000 988 921 405 867 999 252 142 706 73
-10000 650 221 138 639 271 675 240 601 125
-10000 587 822 823 645 202 209 402 680 413
-10000 857 105 705 581 1 324 757 39 859
-10000 762 728 54 715 130 201 281 131 279
-10000 345 897 745 959 923 950 419 935 476
-10000 291 273 355 841 490 292 560 115 322
-10000 333 179 579 474 582 863 992 785 108
-10000 400 268 49 639 83 18 725 319 362
-10000 932 277 950 316 912 575 517 62 577
-10000 806 431 646 461 133 74 159 68 556
-10000 313 401 843 444 554 739 357 976 467
-10000 551 940 121 320 401 140 18 471 91
-10000 639 397 676 913 121 732 785 394 565
-10000 635 995 630 230 669 466 716 411 678
-10000 632 821 256 640 107 507 946 259 413
-10000 341 227 112 246 998 241 710 409 95
-10000 215 836 397 719 418 27 763 14 340
-10000 825 932 185 478 952 153 112 60 550
-10000 387 406 216 531 2 837 574 499 845
-10000 760 474 378 223 608 350 282 733 140
-10000 83 590 864 94 790 942 552 721 688
-10000 849 935 787 635 179 712 165 47 114
-10000 966 279 294 477 650 631 80 426 691
-10000 20 880 240 855 528 482 901 251 866
-10000 165 9 763 566 393 857 134 671 476
-10000 686 558 305 242 728 685 717 171 534
-10000 47 634 373 928 266 589 218 45 980
-10000 142 396 586 631 571 332 923 789 879
-10000 519 317 713 500 102 843 221 94 975
-10000 807 800 310 264 61 274 946 336 2
-10000 972 956 454 569 771 70 219 795 575
-10000 270 828 349 534 526 33 460 362 758
-10000 980 502 572 840 372 123 390 41 533
-10000 235 268 137 985 385 926 250 331 941
-10000 246 969 441 269 40 758 885 288 726
-10000 523 542 617 918 312 809 991 706 867
-10000 993 656 319 426 912 890 652 910 645
-10000 635 580 936 276 584 906 447 887 764
-10000 802 885 144 86 171 717 35 602 548
-10000 130 696 688 166 563 66 354 646 483
-10000 594 896 870 312 338 33 404 460 823
-10000 567 794 215 767 381 297 398 412 178
-10000 601 334 262 959 72 876 323 737 79
-10000 930 737 898 605 189 179 633 583 810
-10000 440 587 914 520 668 87 576 684 762
-10000 83 76 21 685 927 393 1000 107 624
-10000 256 405 484 599 375 876 115 720 624
-10000 770 826 423 115 161 919 796 444 132
-10000 436 702 141 835 856 988 229 563 722
-10000 85 786 989 222 532 507 245 730 217
-10000 980 151 527 835 844 224 955 335 480
-10000 967 154 375 411 29 500 84 672 718
-10000 582 213 66 307 625 519 901 727 197
-10000 661 952 994 29 75 157 244 973 605
-10000 847 448 888 460 242 556 92 945 934
-10000 523 87 632 134 832 144 688 825 620
-10000 869 198 279 697 824 728 231 268 257
-10000 91 937 266 154 456 4 481 429 342
-10000 874 148 527 462 704 52 3 202 15
-10000 471 296 128 17 263 533 563 143 633
-10000 224 810 990 551 974 324 364 429 554
-10000 77 256 930 44 505 612 339 0 562
-10000 0 826 438 1000 103 449 400 976 859
-10000 121 478 196 416 613 113 138 800 888
-10000 704 789 335 845 371 840 603 684 169
-10000 774 126 900 134 17 722 772 986 525
-10000 913 198 670 729 385 555 562 708 175
-10000 363 829 573 499 58 274 22 899 931
-10000 535 111 192 470 595 750 147 551 130
-10000 760 480 862 496 693 833 331 375 414
-10000 434 139 20 980 203 146 858 394 643
-10000 659 649 557 430 800 228 213 65 278
-10000 576 911 894 240 778 518 808 86 355
-10000 414 473 748 862 221 52 36 662 701
-10000 236 989 161 206 756 923 103 974 55
-10000 683 323 285 994 383 313 216 716 144
-10000 797 461 784 98 956 296 459 201 604
-10000 533 459 361 923 253 14 361 331 39
-10000 47 139 456 955 454 809 972 572 48
-10000 274 956 156 353 793 284 380 840 740
-10000 146 776 276 79 130 617 953 972 693
-10000 831 621 670 691 825 999 58 248 450
-10000 390 309 281 367 263 489 927 401 660
-10000 582 855 685 468 520 741 282 920 99
-10000 160 310 677 264 338 839 218 365 164
-10000 206 975 531 543 71 282 727 346 99
-10000 988 323 946 870 950 836 521 650 419
-10000 666 747 883 907 755 758 332 602 198
-10000 166 207 676 461 386 248 373 820 866
-10000 512 268 730 301 994 601 451 971 823
-10000 388 342 756 564 759 471 599 270 557
-10000 148 600 620 840 891 819 115 431 46
-10000 779 56 962 117 259 393 330 24 28
-10000 636 803 972 855 56 147 16 907 411
-10000 401 224 584 420 99 393 240 517 52
-10000 154 272 274 335 674 405 122 931 72
-10000 682 929 219 56 125 761 626 908 735
-10000 680 288 259 366 914 848 269 469 782
-10000 537 640 892 8 250 186 781 479 801
-10000 850 436 740 264 738 197 812 915 105
-10000 321 952 871 179 700 308 607 305 193
-10000 168 933 392 303 585 629 314 558 462
-10000 330 391 423 889 1 153 714 719 476
-10000 268 42 583 767 807 241 226 934 717
-10000 25 613 482 637 376 28 764 836 854
-10000 494 185 992 461 376 653 976 707 337
-10000 499 724 329 680 107 103 979 691 587
-10000 738 371 629 664 330 346 873 137 89
-10000 656 913 10 561 310 961 805 837 570
-10000 465 855 196 571 706 781 882 574 163
-10000 84 605 296 266 647 132 439 507 749
-10000 355 666 527 120 503 829 56 85 556
-10000 783 482 551 743 748 740 328 507 602
-10000 496 216 266 352 221 74 432 19 751
-10000 187 993 247 64 744 989 369 74 555
-10000 751 310 11 86 96 320 578 258 878
-10000 745 908 708 322 925 947 474 40 737
-10000 255 540 545 556 203 290 292 484 54
-10000 65 620 881 18 53 49 580 367 737
-10000 238 970 496 395 578 566 406 897 528
-10000 93 214 920 353 494 996 864 416 939
-10000 672 156 712 976 20 745 796 643 457
-10000 448 152 116 994 822 336 553 832 683
-10000 989 486 53 304 378 571 190 187 310
-10000 778 457 931 380 243 920 687 419 835
-10000 851 419 871 209 731 528 16 743 986
-10000 210 0 283 897 639 997 242 998 796
-10000 828 527 685 649 588 977 583 893 218
-10000 547 924 861 413 408 288 51 628 846
-10000 657 801 450 726 352 637 200 72 100
-10000 265 54 833 241 5 277 378 628 970
-10000 776 367 18 793 564 784 18 733 251
-10000 474 161 254 869 37 879 958 464 559
-10000 899 361 250 656 254 766 33 18 322
-10000 816 242 723 84 425 275 85 979 905
-10000 325 256 466 287 823 998 853 212 303
-10000 245 138 179 574 195 481 153 376 914
-10000 799 111 159 745 174 256 652 352 146
-10000 204 364 781 26 786 487 74 358 711
-10000 796 637 189 710 223 547 861 651 413
-10000 429 609 854 976 903 838 448 396 364
-10000 826 821 920 722 567 536 106 172 699
-10000 982 848 664 558 792 137 908 61 871
-10000 429 470 214 662 129 578 883 897 684
-10000 937 90 179 30 297 406 455 662 262
-10000 672 196 279 210 268 717 91 602 777
-10000 785 159 729 708 232 926 6 959 801
-10000 153 101 524 113 550 641 209 935 109
-10000 416 807 708 683 773 114 482 312 598
-10000 352 649 717 604 352 850 846 857 462
-10000 674 828 641 755 610 2 18 76 702
-10000 946 93 821 49 117 419 566 558 0
-10000 220 3 203 952 716 153 471 684 888
-10000 831 359 2 625 753 171 529 138 572
-10000 446 981 201 595 128 985 188 934 7
-10000 651 359 577 321 186 326 4 793 770
-10000 520 17 734 365 603 238 227 926 564
-10000 245 621 287 778 7 866 772 113 256
-10000 620 468 773 411 757 127 754 221 121
-10000 64 643 65 941 460 121 155 598 315
-10000 849 1 50 627 696 359 246 224 893
-10000 253 556 932 795 528 339 868 312 787
-10000 469 287 374 166 175 918 656 645 585
-10000 399 470 846 509 286 633 77 868 2
-10000 32 429 469 7 955 310 210 164 417
-10000 72 34 695 667 469 489 591 114 564
-10000 61 140 64 612 798 204 609 421 321
-10000 112 205 823 709 170 854 16 257 626
-10000 693 158 136 207 691 566 322 531 834
-10000 165 897 1000 738 338 556 657 487 342
-10000 942 579 686 358 604 678 982 600 929
-10000 93 102 1 1000 720 29 904 905 729
-10000 134 133 347 946 368 911 450 79 155
-10000 96 450 388 932 203 40 497 928 123
-10000 508 139 683 79 811 650 993 617 405
-10000 306 727 433 448 354 713 71 453 381
-10000 44 716 840 232 284 750 729 774 22
-10000 174 411 55 734 357 372 226 709 30
-10000 441 303 494 543 831 658 789 502 568
-10000 5 654 236 241 827 260 188 40 77
-10000 720 34 380 83 497 388 211 514 825
-10000 648 528 883 67 864 164 66 709 159
-10000 871 662 329 81 591 274 670 603 284
-10000 577 230 289 93 273 942 3 209 162
-10000 892 753 875 60 465 299 499 23 350
-10000 713 99 618 852 180 461 820 304 268
-10000 549 73 758 819 450 908 53 778 300
-10000 259 779 493 407 169 776 549 473 306
-10000 601 828 983 873 622 219 209 392 653
-10000 569 7 656 384 902 498 321 778 278
-10000 667 95 754 100 714 499 277 457 979
-10000 704 246 828 568 479 908 320 184 198
-10000 911 784 425 946 762 65 183 612 802
-10000 792 291 318 619 29 288 419 789 230
-10000 294 719 862 297 439 733 70 866 395
-10000 823 367 813 683 738 951 959 989 839
-10000 119 49 796 911 23 226 292 7 183
-10000 418 757 139 985 843 580 934 358 602
-10000 703 378 819 432 288 407 75 449 583
-10000 377 960 353 142 398 392 487 650 880
-10000 671 428 898 919 854 509 151 39 519
-10000 205 722 725 310 506 710 427 917 293
-10000 526 573 679 12 220 745 826 886 968
-10000 22 524 636 937 12 753 951 11 185
-10000 493 153 60 920 187 556 956 312 267
-10000 914 991 304 292 898 519 909 867 831
-10000 588 526 12 855 852 961 774 329 879
-10000 403 259 243 104 634 569 371 470 751
-10000 388 247 126 864 298 440 248 955 315
-10000 594 104 477 927 725 332 252 589 550
-10000 260 692 847 351 176 78 59 308 802
-10000 988 858 317 317 408 581 753 823 148
-10000 427 702 893 416 557 659 476 515 410
-10000 997 178 33 172 619 593 479 511 758
-10000 559 302 203 156 743 289 283 927 919
-10000 838 718 631 596 481 603 756 700 405
-10000 58 866 436 258 691 617 406 61 428
-10000 888 206 658 103 829 730 372 142 873
-10000 530 523 688 199 22 752 852 411 175
-10000 473 78 259 162 168 456 970 609 336
-10000 9 203 204 619 668 888 736 131 383
-10000 655 785 947 78 583 918 478 269 713
-10000 853 196 153 566 545 360 160 509 471
-10000 979 738 609 43 440 939 403 254 929
-10000 592 498 776 772 773 964 229 170 273
-10000 511 518 689 780 361 43 467 638 356
-10000 732 265 176 612 702 503 995 471 923
-10000 304 597 356 739 668 717 787 610 465
-10000 83 711 670 357 901 476 905 130 47
-10000 748 487 533 722 834 975 854 798 5
-10000 530 22 511 590 291 957 121 310 82
-10000 331 53 674 615 209 660 879 126 343
-10000 327 619 233 244 901 0 367 725 339
-10000 446 303 83 797 400 721 554 220 904
-10000 928 325 310 482 829 912 197 530 639
-10000 129 574 437 79 68 140 415 620 706
-10000 833 872 98 811 686 447 645 675 249
-10000 68 154 596 741 397 351 112 791 679
-10000 371 899 467 62 598 205 867 270 592
-10000 601 807 789 411 961 637 685 437 50
-10000 333 800 718 214 464 992 719 852 870
-10000 366 126 891 567 453 734 49 265 838
-10000 120 128 245 759 371 235 78 755 673
-10000 244 829 781 343 240 541 605 373 295
-10000 774 836 949 728 567 353 936 410 502
-10000 549 136 5 299 344 649 143 579 785
-10000 797 464 56 983 967 317 382 563 575
-10000 207 358 278 161 402 27 14 653 966
-10000 375 591 545 349 807 684 496 889 759
-10000 770 522 138 292 68 177 355 500 486
-10000 556 266 739 807 546 699 751 416 402
-10000 416 127 178 103 37 58 948 45 670
-10000 961 544 10 404 644 113 64 992 811
-10000 943 242 975 995 376 81 210 37 996
-10000 524 930 983 945 440 424 215 956 477
-10000 728 434 511 725 842 973 885 875 341
-10000 597 146 429 353 431 836 667 124 924
-10000 424 974 348 323 492 629 850 531 625
-10000 618 927 44 4 643 544 575 177 296
-10000 947 782 67 637 290 376 842 401 51
-10000 738 17 372 662 778 993 284 825 425
-10000 409 649 599 527 746 764 298 326 809
-10000 559 56 822 46 285 9 228 717 677
-10000 412 557 485 618 772 859 651 578 521
-10000 965 176 68 185 132 266 160 946 128
-10000 189 441 288 758 659 747 784 823 852
-10000 271 660 524 33 707 628 222 312 980
-10000 496 8 666 141 771 151 556 152 129
-10000 255 336 340 377 654 651 734 283 115
-10000 197 880 585 369 914 452 34 36 371
-10000 91 994 15 107 126 55 661 286 71
-10000 555 192 129 303 171 633 70 69 383
-10000 542 333 518 109 442 764 620 958 809
-10000 462 411 798 349 708 178 343 987 861
-10000 816 571 613 476 362 951 260 135 817
-10000 837 147 486 857 495 853 602 939 194
-10000 150 618 406 911 916 672 23 688 403
-10000 850 474 480 984 230 691 894 312 542
-10000 487 637 456 718 389 783 25 492 378
-10000 320 799 580 859 782 995 436 537 235
-10000 793 261 704 292 381 994 847 131 444
-10000 929 876 850 246 44 920 92 69 435
-10000 19 395 503 866 327 395 144 149 595
-10000 748 20 398 521 547 119 319 854 33
-10000 824 856 929 635 608 541 989 976 527
-10000 265 896 329 802 761 792 712 306 717
-10000 563 299 168 528 505 249 480 291 410
-10000 565 426 862 195 479 613 400 719 116
-10000 714 576 486 92 975 619 553 544 143
-10000 389 550 375 521 236 294 870 914 581
-10000 324 929 967 143 477 636 423 94 348
-10000 698 150 693 421 974 980 629 186 542
-10000 741 729 338 604 692 315 513 537 196
-10000 214 511 596 513 347 574 369 611 962
-10000 270 237 586 156 975 568 652 607 759
-10000 212 385 403 798 98 35 37 741 692
-10000 731 462 483 969 75 377 567 906 947
-10000 272 471 778 838 385 791 88 994 732
-10000 837 627 180 850 358 427 181 547 872
-10000 669 810 357 681 777 590 96 638 689
-10000 17 440 510 532 107 150 212 337 344
-10000 91 879 509 424 575 892 685 786 766
-10000 518 392 782 168 430 266 772 68 308
-10000 527 84 480 942 878 357 741 547 697
-10000 761 582 586 219 667 891 967 920 791
-10000 627 118 926 51 261 803 13 776 502
-10000 224 823 789 510 942 963 174 208 404
-10000 600 549 447 860 428 764 136 611 819
-10000 483 314 969 321 598 41 89 753 571
-10000 359 347 293 606 313 542 790 26 867
-10000 688 536 505 55 602 646 117 849 298
-10000 727 842 349 912 901 199 903 46 761
-10000 656 816 951 511 828 194 762 881 121
-10000 398 180 117 878 818 537 133 388 821
-10000 468 466 728 756 376 332 200 503 523
-10000 282 246 531 551 2 330 766 259 308
-10000 123 228 951 421 153 421 766 551 349
-10000 372 725 826 14 61 386 951 835 693
-10000 626 83 793 453 620 549 457 404 910
-10000 568 960 382 122 231 618 430 854 89
-10000 647 479 273 547 796 24 790 654 168
-10000 109 604 74 419 563 373 294 457 995
-10000 997 342 359 232 884 714 66 939 517
-10000 971 635 514 742 622 972 738 325 487
-10000 596 68 539 188 144 377 447 249 86
-10000 892 878 628 328 632 496 394 545 498
-10000 609 167 484 571 838 479 564 693 566
-10000 789 227 128 336 118 773 188 196 670
-10000 238 231 92 285 30 178 468 583 8
-10000 306 955 384 287 146 10 524 848 222
-10000 749 670 604 888 131 759 200 704 972
-10000 349 734 81 101 589 34 986 809 843
-10000 602 160 558 724 837 12 296 953 950
-10000 387 399 70 307 593 514 370 995 876
-10000 956 140 115 650 657 199 279 153 138
-10000 172 377 520 881 607 526 134 895 94
-10000 891 816 445 369 108 732 238 850 629
-10000 832 873 776 368 660 208 786 572 109
-10000 140 842 696 571 56 784 545 887 380
-10000 214 614 523 509 521 677 756 327 225
-10000 162 797 494 852 2 353 257 474 308
-10000 622 447 746 392 784 251 356 192 370
-10000 302 31 151 773 41 641 336 303 150
-10000 371 134 935 79 194 731 761 960 624
-10000 845 968 788 655 95 709 390 382 202
-10000 128 504 112 944 533 455 802 77 970
-10000 604 261 625 392 309 847 312 524 110
-10000 298 519 105 484 103 537 433 953 530
-10000 229 287 843 169 648 88 809 101 488
-10000 477 865 744 302 138 667 740 537 824
-10000 285 286 21 321 129 882 804 789 8
-10000 421 506 400 399 513 901 300 572 941
-10000 255 12 892 119 61 990 505 834 79
-10000 753 408 835 599 977 735 116 917 791
-10000 936 12 723 630 77 558 807 891 706
-10000 403 464 968 23 914 22 293 952 831
-10000 271 796 410 885 863 27 168 718 976
-10000 563 708 573 85 988 466 94 486 368
-10000 746 985 732 645 889 125 911 913 420
-10000 734 689 587 880 464 427 647 681 114
-10000 325 465 977 672 524 50 900 872 303
-10000 819 847 236 751 736 409 372 965 227
-10000 668 839 274 640 840 847 179 407 161
-10000 154 763 564 271 555 289 947 3 585
-10000 956 80 828 866 477 840 976 710 481
-10000 876 844 126 646 715 770 791 845 559
-10000 483 820 450 421 109 300 108 232 243
-10000 62 739 774 972 661 940 774 673 834
-10000 58 149 154 539 201 111 450 776 672
-10000 202 453 385 77 295 222 540 398 805
-10000 442 431 102 976 499 462 942 929 606
-10000 205 768 347 878 410 840 162 489 6
-10000 114 402 686 239 124 343 496 876 763
-10000 789 0 54 32 58 332 272 54 580
-10000 388 458 498 944 609 37 586 371 834
-10000 113 169 149 276 634 904 893 280 681
-10000 465 275 182 457 908 495 345 798 14
-10000 844 450 780 427 561 564 266 55 673
-10000 975 337 322 845 207 120 958 104 126
-10000 300 88 353 146 465 812 2 159 580
-10000 356 813 978 990 304 723 65 94 70
-10000 949 676 899 870 316 281 118 792 235
-10000 197 66 627 579 294 961 713 714 656
-10000 512 311 17 383 894 219 801 631 576
-10000 553 869 978 748 164 296 911 689 803
-10000 22 629 651 106 65 474 484 654 740
-10000 48 10 784 159 428 794 791 286 282
-10000 718 260 645 155 753 958 265 115 123
-10000 270 134 542 627 658 580 223 615 589
-10000 266 735 225 433 98 265 798 637 916
-10000 6 911 9 649 677 974 173 288 559
-10000 795 459 550 920 684 891 253 395 149
-10000 604 680 60 129 547 910 52 440 45
-10000 111 709 857 98 411 144 379 769 115
-10000 338 958 206 754 451 450 935 126 97
-10000 95 343 995 594 177 623 238 645 684
-10000 871 868 269 716 199 460 85 344 262
-10000 193 460 760 151 533 193 873 983 209
-10000 405 857 445 196 936 860 29 532 459
-10000 543 683 301 149 186 314 407 526 327
-10000 856 162 928 554 296 389 391 810 423
-10000 949 865 255 183 714 136 1 813 316
-10000 233 549 693 815 216 891 88 628 26
-10000 253 591 779 742 887 965 904 343 219
-10000 420 241 402 686 352 903 620 517 237
-10000 404 699 520 443 948 143 443 83 798
-10000 849 376 803 655 431 951 926 652 854
-10000 969 594 652 571 655 187 955 167 704
-10000 16 762 708 877 523 737 705 993 970
-10000 423 777 600 85 737 599 231 944 567
-10000 282 166 722 648 926 109 220 982 876
-10000 257 288 803 519 167 0 310 260 804
-10000 183 430 812 288 251 39 329 533 998
-10000 310 293 570 315 384 31 519 203 899
-10000 554 47 465 899 149 725 532 293 265
-10000 525 156 181 587 407 177 948 323 295
-10000 18 895 703 835 342 501 754 909 729
-10000 157 158 602 833 334 79 700 114 76
-10000 946 181 733 179 770 892 701 306 149
-10000 863 872 292 943 198 447 469 951 1000
-10000 251 153 751 885 567 503 3 6 807
-10000 504 298 153 484 733 139 606 355 400
-10000 872 774 462 8 836 406 298 758 375
-10000 874 143 873 102 791 901 241 766 434
-10000 532 786 734 575 936 756 653 492 295
-10000 21 496 303 355 275 910 827 220 791
-10000 420 696 570 31 159 793 747 176 352
-10000 99 457 98 628 113 840 655 71 753
-10000 914 415 917 568 639 95 687 126 462
-10000 822 651 828 451 485 855 697 280 304
-10000 801 762 915 154 57 704 587 363 777
-10000 185 568 627 504 866 140 938 324 213
-10000 28 970 824 84 137 699 767 289 160
-10000 267 887 423 154 998 707 741 219 766
-10000 773 999 855 334 310 737 936 362 122
-10000 884 819 522 174 587 990 372 672 456
-10000 625 31 966 929 991 458 979 422 880
-10000 929 388 669 624 558 889 548 905 170
-10000 742 430 859 981 409 960 879 661 490
-10000 726 210 255 878 848 206 138 244 549
-10000 915 366 641 408 355 11 153 128 395
-10000 281 87 589 521 431 521 175 970 443
-10000 74 615 881 562 616 996 268 667 127
-10000 293 988 66 47 826 104 37 791 82
-10000 926 920 337 175 321 218 477 575 396
-10000 1 697 883 534 738 565 981 841 559
-10000 702 388 308 346 265 507 73 796 405
-10000 228 978 994 749 3 533 221 96 624
-10000 46 92 323 247 917 696 937 408 93
-10000 790 734 612 204 442 265 221 589 261
-10000 463 286 296 894 853 787 303 596 55
-10000 631 301 501 655 774 626 494 817 629
-10000 27 147 937 973 782 801 436 565 664
-10000 934 131 80 196 504 560 466 224 927
-10000 286 486 150 995 915 270 767 414 35
-10000 718 431 16 300 23 969 70 684 783
-10000 793 299 302 319 61 815 201 696 887
-10000 160 79 860 81 276 172 461 53 932
-10000 348 568 690 120 933 634 361 26 892
-10000 868 861 446 86 246 518 384 396 250
-10000 257 771 29 800 967 574 615 792 785
-10000 707 974 723 256 92 979 499 3 928
-10000 594 962 828 700 3 814 932 643 32
-10000 335 908 120 351 155 754 423 783 595
-10000 168 150 56 575 695 90 56 326 77
-10000 368 834 80 995 383 225 793 486 882
-10000 474 47 272 315 728 203 827 425 219
-10000 777 722 746 22 993 317 735 31 464
-10000 500 574 305 169 809 210 315 150 302
-10000 907 760 802 801 700 546 111 298 690
-10000 661 490 543 698 670 179 504 68 558
-10000 400 666 308 265 338 430 171 360 608
-10000 39 802 174 940 353 122 769 451 12
-10000 678 450 537 181 169 65 493 445 247
-10000 744 465 391 121 443 425 114 898 115
-10000 758 591 602 403 520 40 330 131 452
-10000 262 597 391 57 953 284 993 223 167
-10000 546 712 807 195 166 374 626 618 187
-10000 523 92 12 594 367 556 685 25 179
-10000 545 866 782 381 407 199 567 863 242
-10000 425 690 320 78 816 818 897 257 978
-10000 468 247 140 803 513 591 351 594 839
-10000 973 861 665 971 511 259 971 26 904
-10000 590 16 398 26 228 474 465 538 336
-10000 948 805 916 50 339 942 532 737 421
-10000 748 884 646 373 871 82 170 221 684
-10000 111 185 910 962 237 258 525 124 313
-10000 920 237 837 469 705 522 665 886 474
-10000 463 511 846 899 690 157 114 565 880
-10000 55 485 203 922 827 626 564 228 132
-10000 783 553 45 513 274 197 749 611 288
-10000 947 226 763 528 543 772 220 887 480
-10000 158 447 332 14 127 117 550 230 709
-10000 640 521 302 194 483 635 670 24 247
-10000 935 37 999 11 696 325 298 372 217
-10000 874 751 306 781 47 335 767 81 39
-10000 402 129 995 76 784 698 275 258 833
-10000 67 485 574 172 882 519 37 707 476
-10000 596 880 333 384 952 338 712 575 488
-10000 768 35 464 598 359 815 74 204 836
-10000 591 515 744 145 731 896 980 416 653
-10000 799 731 135 44 99 319 193 890 193
-10000 283 271 29 500 114 189 15 700 647
-10000 471 763 934 338 97 173 865 138 808
-10000 116 246 346 275 240 408 855 742 149
-10000 647 849 770 669 942 813 973 908 151
-10000 457 654 0 396 869 890 307 566 990
-10000 84 968 92 31 485 810 179 508 484
-10000 98 862 585 735 48 107 133 326 438
-10000 312 8 777 433 995 106 494 294 529
-10000 364 319 660 88 645 585 559 561 847
-10000 314 757 958 532 497 315 155 760 366
-10000 549 999 330 576 742 268 226 300 617
-10000 586 55 802 984 516 80 237 730 269
-10000 620 595 184 304 424 625 850 624 61
-10000 533 401 885 17 85 817 42 474 601
-10000 825 420 588 362 741 239 528 123 804
-10000 604 288 883 973 446 869 976 239 86
-10000 292 93 730 871 663 837 54 982 685
-10000 226 632 104 791 693 72 794 262 12
-10000 226 557 599 385 883 319 583 148 108
-10000 8 203 928 746 875 428 882 169 71
-10000 158 856 962 476 843 242 345 780 198
-10000 418 620 929 666 887 250 732 727 901
-10000 409 492 394 661 983 864 327 248 939
-10000 948 851 268 357 559 358 826 299 276
-10000 56 726 86 494 973 529 767 87 858
-10000 837 921 554 108 689 601 336 555 650
-10000 631 867 852 343 994 881 212 888 549
-10000 956 155 95 1 110 880 891 59 206
-10000 862 72 722 632 238 34 315 725 183
-10000 537 340 846 748 549 265 939 437 628
-10000 669 36 139 368 526 95 95 398 234
-10000 530 612 971 891 638 567 628 769 983
-10000 893 954 195 545 179 104 472 845 572
-10000 644 148 480 165 180 906 255 738 850
-10000 25 484 969 684 275 601 870 246 598
-10000 448 971 77 431 964 498 8 49 101
-10000 988 893 301 301 438 416 860 28 984
-10000 933 141 615 604 491 258 802 611 834
-10000 423 720 136 924 977 22 2 887 419
-10000 514 412 453 297 82 874 17 403 555
-10000 727 1 106 431 824 152 353 206 130
-10000 459 122 468 404 378 413 312 390 986
-10000 587 866 144 142 552 294 292 988 92
-10000 621 50 365 328 956 984 182 823 788
-10000 86 24 116 873 187 974 552 188 122
-10000 718 923 397 362 404 14 351 449 128
-10000 317 372 460 758 23 543 196 552 311
-10000 695 685 430 488 379 474 54 326 704
-10000 1000 38 517 147 205 388 992 543 233
-10000 540 149 746 912 381 47 71 240 367
-10000 230 108 332 935 786 991 643 269 323
-10000 166 570 90 269 523 892 5 456 653
-10000 445 455 298 883 451 683 741 467 814
-10000 519 23 669 749 554 377 22 184 435
-10000 957 418 630 652 787 415 317 45 643
-10000 421 55 168 611 67 909 667 700 563
-10000 419 227 525 326 136 251 262 170 254
-10000 105 776 388 114 762 661 415 764 64
-10000 291 787 687 426 139 153 573 862 265
-10000 158 4 992 641 80 373 542 638 956
-10000 220 119 516 995 380 269 516 633 857
-10000 300 752 905 545 127 226 339 822 433
-10000 279 475 505 265 499 546 322 811 885
-10000 490 940 143 720 351 803 785 942 204
-10000 857 562 834 836 146 194 87 18 303
-10000 708 315 451 280 248 251 535 472 280
-10000 492 693 389 970 872 730 427 746 925
-10000 496 800 476 70 535 702 770 27 579
-10000 502 809 350 526 923 806 320 558 247
-10000 116 672 853 566 463 458 808 356 72
-10000 451 571 967 424 640 900 167 372 928
-10000 901 212 961 922 64 13 545 394 701
-10000 648 679 124 759 474 352 570 921 289
-10000 438 518 796 45 239 942 828 511 936
-10000 863 984 399 335 949 368 67 544 330
-10000 657 970 755 263 110 944 334 854 164
-10000 208 911 116 189 790 931 605 746 454
-10000 557 274 217 711 708 512 671 132 398
-10000 929 885 742 862 689 786 703 934 49
-10000 368 807 321 497 593 680 974 685 951
-10000 869 623 571 992 343 450 437 211 506
-10000 608 860 461 323 938 959 958 20 662
-10000 397 921 971 929 390 397 485 977 668
-10000 211 456 905 982 339 555 62 203 245
-10000 458 866 380 1000 448 588 442 142 862
-10000 951 264 173 490 118 421 971 372 542
-10000 593 964 609 436 401 219 45 47 526
-10000 697 2 85 118 911 511 429 182 811
-10000 637 278 664 222 645 783 865 777 624
-10000 716 830 178 424 723 231 371 42 5
-10000 665 159 714 770 191 495 837 983 104
-10000 957 967 144 94 28 362 407 310 691
-10000 85 288 710 563 634 316 729 903 763
-10000 738 470 500 766 266 100 824 915 308
-10000 193 632 79 348 729 829 474 213 836
-10000 294 95 335 67 120 75 569 808 541
-10000 78 967 202 530 71 193 230 511 275
-10000 678 220 815 823 46 680 741 500 872
-10000 396 276 110 401 288 527 676 867 302
-10000 980 714 756 725 562 540 580 844 840
-10000 703 494 740 986 868 705 392 821 14
-10000 605 893 263 899 171 565 414 744 236
-10000 242 421 603 262 96 764 111 476 865
-10000 996 925 579 666 110 328 270 181 247
-10000 9 284 570 53 321 672 557 437 427
-10000 865 415 197 278 876 504 27 415 277
-10000 926 199 886 247 169 356 228 659 30
-10000 171 14 740 990 795 210 615 268 634
-10000 286 98 756 994 756 276 310 167 650
-10000 689 233 91 417 746 980 436 348 735
-10000 627 97 940 143 464 817 129 95 208
-10000 436 303 505 183 236 112 525 983 396
-10000 380 604 798 209 471 644 408 925 515
-10000 22 678 176 362 65 233 686 29 556
-10000 565 355 284 904 222 610 836 784 202
-10000 600 817 809 598 807 40 263 991 62
-10000 96 447 377 9 957 562 659 120 153
-10000 950 563 548 448 547 186 370 939 215
-10000 575 951 55 236 461 879 502 525 376
-10000 876 475 186 55 836 235 574 929 187
-10000 789 150 627 742 801 259 880 979 267
-10000 168 131 139 127 564 493 107 952 111
-10000 808 719 992 44 274 730 328 898 415
-10000 786 511 210 140 36 913 676 790 605
-10000 25 72 381 273 172 152 213 292 763
-10000 995 611 956 483 602 135 475 188 536
-10000 647 844 876 44 830 299 830 630 306
-10000 713 926 692 314 291 518 970 683 449
-10000 306 502 404 321 927 61 114 528 148
-10000 724 46 74 326 546 816 374 135 790
-10000 463 483 480 92 939 21 849 9 297
-10000 694 6 242 616 34 903 298 726 55
-10000 518 815 217 750 354 986 553 709 745
-10000 212 744 459 738 541 651 922 690 516
-10000 631 670 347 619 940 485 402 356 667
-10000 167 219 743 354 235 155 471 143 320
-10000 468 667 525 71 245 896 507 95 112
-10000 888 750 465 531 476 549 392 550 846
-10000 409 515 931 436 917 40 748 938 810
-10000 868 232 625 934 668 808 553 738 657
-10000 537 969 380 418 145 326 505 98 768
-10000 526 183 921 822 732 242 998 456 308
-10000 916 854 954 537 851 640 713 329 513
-10000 246 908 395 815 923 863 656 803 765
-10000 860 584 807 0 67 197 5 395 498
-10000 531 984 973 210 623 383 716 158 554
-10000 346 167 508 551 583 474 886 359 451
-10000 14 904 325 989 493 196 425 623 163
-10000 556 333 233 179 325 984 207 871 35
-10000 908 437 983 336 342 632 480 687 533
-10000 695 808 229 811 447 841 903 904 278
-10000 284 30 864 585 435 926 957 275 86
-10000 179 890 383 599 752 352 6 622 20
-10000 570 504 951 850 122 91 682 135 795
-10000 692 115 734 75 668 908 217 790 10
-10000 927 953 71 783 961 697 764 15 45
-10000 144 430 524 597 562 671 694 405 802
-10000 822 755 130 163 235 43 460 509 864
-10000 30 602 752 866 261 539 894 620 528
-10000 290 502 585 996 745 870 892 347 921
-10000 753 38 387 987 458 223 489 359 667
-10000 170 60 889 240 182 819 782 847 807
-10000 263 336 310 312 81 946 785 801 392
-10000 828 436 726 572 478 215 939 986 863
-10000 269 243 375 43 308 604 887 960 362
-10000 908 869 278 64 962 872 857 575 638
-10000 987 323 346 520 227 88 142 325 926
-10000 10 541 803 346 228 607 651 885 820
-10000 215 140 226 104 972 892 77 319 449
-10000 120 923 236 626 145 609 247 518 631
-10000 863 468 945 995 738 668 683 69 58
-10000 294 515 799 987 854 295 761 708 468
-10000 261 747 871 512 483 480 801 720 20
-10000 16 282 522 659 344 280 99 971 753
-10000 453 293 600 893 195 343 154 81 224
-10000 301 960 250 504 420 176 849 813 316
-10000 97 10 194 481 837 112 866 871 157
-10000 345 1 85 824 623 455 662 143 244
-10000 579 28 722 717 689 370 361 216 474
-10000 221 672 202 488 191 716 759 990 762
-10000 426 193 189 692 367 767 678 17 80
-10000 61 488 512 403 542 491 333 575 489
-10000 590 357 164 453 995 708 237 383 20
-10000 714 381 975 573 766 32 348 23 676
-10000 888 387 747 282 801 507 861 398 565
-10000 731 997 827 752 700 898 998 154 3
-10000 373 393 309 533 497 853 829 235 549
-10000 815 761 74 490 573 471 551 320 825
-10000 10 474 216 89 595 229 49 309 50
-10000 674 637 38 189 493 763 171 349 503
-10000 580 243 721 239 257 975 945 207 29
-10000 177 290 160 873 207 954 324 426 793
-10000 476 601 254 910 567 949 187 830 181
-10000 497 755 761 98 546 313 536 638 469
-10000 832 84 329 865 130 638 97 21 534
-10000 796 606 222 505 573 368 670 160 362
-10000 194 26 270 937 120 742 871 465 326
-10000 195 207 23 14 48 299 210 244 102
-10000 524 471 282 766 172 754 280 922 77
-10000 203 250 193 466 485 330 468 474 562
-10000 288 864 685 980 380 373 80 377 5
-10000 331 250 232 611 763 823 383 767 849
-10000 610 60 945 790 335 330 936 970 12
-10000 154 910 256 194 11 6 386 159 147
-10000 295 814 954 789 138 744 415 57 847
-10000 573 533 797 508 177 609 402 871 619
-10000 52 950 779 144 690 311 691 644 997
-10000 639 192 484 900 32 525 360 215 84
-10000 109 176 260 231 257 927 780 754 40
-10000 593 802 596 694 304 31 293 876 441
-10000 876 74 231 473 841 214 763 94 105
-10000 593 302 33 967 159 66 391 205 917
-10000 832 232 189 504 741 981 887 30 635
-10000 112 162 397 672 649 103 879 406 161
-10000 362 647 120 922 274 928 31 79 307
-10000 110 465 602 802 110 781 985 510 659
-10000 528 379 377 887 405 705 212 844 737
-10000 67 432 137 78 443 247 803 343 150
-10000 133 512 932 552 732 544 332 107 534
-10000 421 560 101 266 730 217 763 643 981
-10000 728 853 142 222 909 721 385 608 144
-10000 922 838 849 408 166 5 156 265 892
-10000 66 259 641 677 587 497 487 261 733
-10000 919 52 99 100 179 128 172 9 367
-10000 379 59 573 248 70 662 649 920 436
-10000 28 467 969 350 453 78 603 668 478
-10000 739 751 659 328 654 211 865 227 515
-10000 858 894 212 863 154 477 196 252 190
-10000 996 566 495 964 26 45 589 582 251
-10000 664 403 152 569 572 89 819 769 326
-10000 923 48 612 72 523 506 228 458 714
-10000 960 482 194 693 104 818 426 826 828
-10000 188 460 828 298 506 899 244 383 195
-10000 824 824 471 379 52 103 125 208 179
-10000 510 139 722 605 566 274 944 708 443
-10000 926 308 76 829 265 882 41 919 310
-10000 320 14 820 917 636 898 269 602 78
-10000 143 403 491 484 600 518 340 671 851
-10000 62 892 306 452 61 322 404 463 90
-10000 381 255 665 495 909 845 292 749 329
-10000 686 839 530 987 724 952 384 292 850
-10000 176 609 740 538 990 159 534 782 494
-10000 384 596 736 976 875 6 507 126 715
-10000 276 821 496 449 810 251 604 540 151
-10000 433 429 403 108 950 229 734 224 510
-10000 988 442 673 701 630 512 220 448 544
-10000 959 570 822 439 231 102 966 573 307
-10000 646 685 603 518 526 860 256 917 894
-10000 560 447 398 281 868 81 296 650 527
-10000 80 860 407 610 34 321 620 572 183
-10000 409 897 660 803 497 186 52 363 934
-10000 491 820 118 580 513 692 589 6 325
-10000 865 679 690 932 605 813 890 59 564
-10000 90 473 575 822 201 710 808 39 622
-10000 726 987 906 916 245 152 180 186 476
-10000 284 254 548 750 77 598 115 103 791
-10000 210 749 136 315 179 633 707 144 91
-10000 315 309 396 219 804 119 555 560 761
-10000 329 584 27 197 446 624 771 580 592
-10000 47 593 641 938 283 122 687 108 829
-10000 220 489 106 885 107 6 519 202 526
-10000 508 706 968 864 767 314 363 374 810
-10000 397 216 327 931 492 215 625 92 271
-10000 338 907 931 922 792 407 493 8 52
-10000 643 88 737 507 610 872 381 296 277
-10000 56 889 364 288 965 209 955 981 458
-10000 887 397 222 307 513 592 609 509 205
-10000 692 758 874 245 274 564 565 276 36
-10000 863 110 815 790 345 186 891 379 845
-10000 831 586 887 547 135 833 884 350 308
-10000 296 414 773 440 431 690 841 521 231
-10000 256 572 897 868 281 536 282 235 775
-10000 843 290 374 327 24 34 470 198 132
-10000 462 493 598 777 227 731 844 372 527
-10000 717 419 541 916 472 663 94 671 517
-10000 883 408 183 115 90 118 453 418 525
-10000 975 989 155 462 652 272 345 378 123
-10000 698 774 219 584 368 56 236 504 405
-10000 481 794 528 144 727 680 255 599 34
-10000 266 598 680 814 605 184 89 199 393
-10000 217 327 469 800 26 618 883 43 772
-10000 186 102 5 662 931 455 888 556 205
-10000 792 817 708 420 763 68 850 805 942
-10000 996 855 698 435 779 567 445 970 897
-10000 525 911 853 618 631 88 358 267 635
-10000 861 743 767 277 770 588 292 228 60
-10000 949 226 683 157 621 212 768 161 562
-10000 199 658 187 46 402 30 368 107 746
-10000 182 229 202 959 20 596 420 484 272
-10000 301 619 321 775 414 525 358 163 709
-10000 554 988 867 50 385 679 894 325 557
-10000 625 152 679 797 104 39 465 421 914
-10000 261 817 387 234 289 652 54 373 145
-10000 6 449 617 189 713 129 299 751 279
-10000 317 219 265 676 828 907 883 518 651
-10000 553 659 62 441 26 520 863 937 827
-10000 463 753 578 898 36 160 148 921 355
-10000 643 226 549 851 843 744 196 686 365
-10000 289 681 237 680 33 530 679 753 70
-10000 621 150 727 406 853 303 569 368 251
-10000 533 947 510 76 481 80 581 880 668
-10000 583 239 420 741 533 914 157 804 316
-10000 412 896 614 888 216 263 702 264 299
-10000 76 411 748 821 990 916 122 413 681
-10000 990 288 938 369 864 558 364 410 591
-10000 423 679 406 127 30 412 146 454 509
-10000 712 525 727 210 779 874 251 622 882
-10000 630 400 153 681 104 981 530 800 251
-10000 116 199 306 748 661 953 1 807 596
-10000 170 759 452 499 521 851 721 222 48
-10000 257 211 273 260 706 262 200 428 348
-10000 453 607 380 936 404 515 565 540 396
-10000 650 220 714 692 494 450 897 25 152
-10000 886 209 457 14 123 139 819 785 164
-10000 718 697 444 384 964 85 668 79 836
-10000 680 444 496 300 299 599 211 936 197
-10000 277 41 89 598 779 525 670 990 838
-10000 758 763 367 467 127 197 693 924 490
-10000 661 5 676 139 18 32 289 901 448
-10000 744 419 544 681 880 940 610 647 689
-10000 43 836 874 181 185 201 2 73 258
-10000 847 198 938 621 875 991 585 411 869
-10000 67 139 595 692 265 24 227 554 357
-10000 4 795 652 423 298 809 390 37 236
-10000 976 867 84 82 963 92 363 677 188
-10000 974 573 713 372 25 917 689 434 616
-10000 898 218 728 179 743 760 259 202 980
-10000 663 409 24 766 133 494 503 369 967
-10000 376 922 123 297 46 859 739 144 998
-10000 41 463 127 114 637 775 331 772 116
-10000 41 302 93 900 520 871 55 354 965
-10000 416 533 941 977 279 123 201 175 34
-10000 548 594 942 600 723 896 177 129 987
-10000 122 676 683 25 6 205 131 320 44
-10000 223 250 491 800 919 976 915 294 329
-10000 189 267 322 693 957 384 69 795 81
-10000 523 125 281 312 791 679 167 640 463
-10000 807 546 555 391 257 166 211 538 254
-10000 672 359 838 170 166 865 859 958 333
-10000 439 287 309 325 800 686 962 729 79
-10000 984 266 180 232 325 410 829 980 345
-10000 797 224 561 850 281 473 552 406 242
-10000 699 180 317 545 339 297 707 796 262
-10000 462 650 96 976 206 696 228 275 225
-10000 91 243 792 982 728 869 418 442 815
-10000 214 3 822 603 450 90 471 283 473
-10000 88 807 773 901 760 216 367 680 810
-10000 515 903 395 179 621 79 613 463 885
-10000 225 339 13 963 996 396 859 139 808
-10000 772 113 616 548 446 321 867 62 348
-10000 253 125 433 754 517 194 869 273 437
-10000 533 920 919 879 701 374 55 883 612
-10000 6 748 98 141 420 183 203 583 174
-10000 586 4 213 136 311 605 582 843 942
-10000 821 133 334 390 965 83 850 202 785
-10000 65 278 350 574 80 546 476 269 433
-10000 65 40 410 344 53 355 839 470 269
-10000 68 721 93 393 475 903 678 495 165
-10000 127 458 552 777 986 800 858 148 849
-10000 882 983 96 255 282 822 227 530 372
-10000 884 909 920 617 675 144 500 462 618
-10000 866 1000 46 973 71 596 995 841 392
-10000 312 179 582 440 139 170 486 693 588
-10000 245 107 284 228 58 894 765 524 311
-10000 899 588 300 99 595 722 982 619 323
-10000 87 124 421 516 234 378 931 104 127
-10000 78 547 459 956 885 366 180 438 892
-10000 97 28 188 907 641 568 606 428 236
-10000 853 559 240 272 749 89 206 135 761
-10000 134 9 661 905 301 970 653 50 422
-10000 54 903 24 22 781 16 262 882 241
-10000 838 786 399 383 279 547 339 165 843
-10000 856 168 257 98 768 869 417 521 873
-10000 814 462 962 885 306 37 524 323 290
-10000 443 904 74 292 262 387 74 973 946
-10000 465 439 996 871 68 487 851 206 429
-10000 1 907 827 538 721 390 62 55 130
-10000 744 534 243 207 212 799 748 612 389
-10000 30 571 753 259 586 976 272 563 832
-10000 627 700 742 851 445 145 530 575 461
-10000 247 607 393 958 73 989 565 165 25
-10000 118 220 837 903 672 517 516 46 156
-10000 962 232 277 357 731 124 475 994 677
-10000 647 5 147 20 592 157 384 59 352
-10000 820 681 289 151 6 812 856 528 991
-10000 379 220 652 926 314 993 851 81 855
-10000 158 528 432 569 587 194 755 742 787
-10000 222 897 99 542 131 451 582 34 295
-10000 78 585 802 709 953 932 649 645 157
-10000 415 452 371 698 606 398 257 469 809
-10000 221 99 39 959 459 897 626 204 4
-10000 578 359 784 734 488 460 384 488 860
-10000 22 182 358 684 492 111 935 142 475
-10000 574 152 98 92 716 275 667 340 337
-10000 806 934 649 478 665 521 253 994 557
-10000 502 611 682 898 159 328 717 324 542
-10000 731 309 622 708 848 494 140 64 426
-10000 581 517 226 792 811 257 835 135 425
-10000 100 700 799 670 306 58 736 297 712
-10000 148 189 450 110 346 868 989 516 560
-10000 685 882 495 139 978 637 272 990 31
-10000 534 449 424 159 640 94 931 192 446
-10000 162 982 522 458 303 174 343 753 130
-10000 127 696 946 105 110 102 409 224 600
-10000 858 110 862 303 337 397 202 591 525
-10000 232 228 153 317 408 193 515 467 961
-10000 592 739 424 570 956 670 519 3 722
-10000 408 532 851 332 893 423 668 360 20
-10000 304 327 788 766 931 615 529 331 555
-10000 820 624 162 143 247 600 397 415 706
-10000 445 259 217 595 412 342 243 221 405
-10000 916 460 728 318 8 88 688 210 274
-10000 828 493 222 54 269 576 132 981 817
-10000 478 974 198 688 596 497 879 813 352
-10000 557 198 757 532 119 23 232 621 470
-10000 10 58 912 642 53 648 501 648 902
-10000 696 505 84 750 691 201 709 508 832
-10000 861 112 221 57 9 3 428 596 1000
-10000 651 346 81 878 701 780 20 418 155
-10000 354 27 70 84 286 640 31 955 769
-10000 407 592 852 782 896 158 497 248 467
-10000 983 171 694 958 879 320 954 427 272
-10000 239 387 337 60 221 385 667 373 38
-10000 966 364 676 180 540 902 477 848 19
-10000 294 437 676 409 843 628 390 609 983
-10000 470 632 230 367 294 416 674 873 12
-10000 0 412 466 797 573 860 724 16 262
-10000 44 936 593 876 396 987 50 783 581
-10000 416 293 788 164 625 373 336 266 198
-10000 170 702 225 277 414 823 659 237 953
-10000 328 468 326 722 530 521 282 699 670
-10000 845 18 366 417 531 600 9 106 932
-10000 119 851 571 29 110 323 311 760 668
-10000 908 780 461 802 667 898 278 80 676
-10000 453 887 410 13 880 99 137 84 370
-10000 145 734 697 446 396 975 453 485 255
-10000 650 762 163 649 847 910 155 123 494
-10000 670 505 933 15 315 364 629 105 247
-10000 783 269 90 982 745 367 721 159 140
-10000 773 21 829 678 426 264 761 538 858
-10000 459 706 870 153 660 369 814 341 460
-10000 633 12 723 191 857 365 632 944 681
-10000 769 987 916 959 363 831 224 302 879
-10000 197 343 700 50 393 45 657 392 517
-10000 154 420 579 809 65 826 821 653 662
-10000 686 108 715 286 855 199 967 453 528
-10000 275 670 575 635 607 318 490 489 274
-10000 704 925 47 123 502 740 85 273 26
-10000 693 865 206 249 64 241 977 729 978
-10000 891 554 115 446 678 572 506 80 923
-10000 333 527 630 430 410 178 641 322 147
-10000 566 655 518 804 225 2 994 567 25
-10000 599 308 927 943 964 837 932 482 277
-10000 275 367 364 618 528 980 67 524 56
-10000 706 792 127 954 485 826 238 122 77
-10000 794 668 588 800 143 794 784 678 978
-10000 736 141 574 310 678 97 679 511 399
-10000 12 755 234 845 376 777 806 195 563
-10000 601 688 289 954 637 278 180 296 940
-10000 886 438 251 899 47 202 223 190 579
-10000 100 921 834 292 987 294 25 250 698
-10000 339 372 319 242 949 590 683 460 809
-10000 885 766 322 426 128 448 437 864 491
-10000 844 630 660 475 118 856 926 21 766
-10000 172 759 148 523 6 996 114 158 217
-10000 2 381 472 704 931 271 155 606 235
-10000 920 63 304 380 882 327 526 235 485
-10000 193 700 246 656 775 702 217 372 868
-10000 667 256 177 163 955 165 712 278 817
-10000 137 429 799 383 840 819 124 41 228
-10000 427 472 23 285 420 307 515 866 525
-10000 505 155 632 929 952 235 675 76 334
-10000 80 779 661 796 747 944 616 241 992
-10000 600 833 294 286 187 740 510 151 417
-10000 283 332 752 104 719 801 75 298 375
-10000 753 283 850 742 455 928 782 369 847
-10000 331 727 457 382 28 941 354 166 196
-10000 422 586 245 164 930 336 708 214 431
-10000 507 138 900 558 963 209 372 848 82
-10000 652 986 546 691 128 721 662 25 99
-10000 404 320 603 808 254 737 337 480 243
-10000 103 121 993 470 445 858 431 313 706
-10000 466 93 890 805 974 813 384 80 245
-10000 427 156 994 147 474 655 863 874 11
-10000 666 516 309 726 82 303 275 774 893
-10000 572 134 530 660 14 603 125 211 578
-10000 300 939 867 974 999 243 443 836 22
-10000 896 405 109 261 778 939 498 893 14
-10000 539 919 289 989 652 78 148 963 829
-10000 124 612 367 347 66 961 78 291 49
-10000 466 227 290 351 23 333 680 212 670
-10000 574 701 807 858 308 225 228 993 461
-10000 775 417 641 450 457 37 891 197 828
-10000 965 686 635 802 783 849 31 628 389
-10000 428 972 842 252 67 928 211 1000 55
-10000 338 602 590 397 257 571 910 690 942
-10000 324 363 62 665 370 36 699 123 382
-10000 721 478 383 131 754 262 176 124 93
-10000 710 874 594 404 765 548 545 28 535
-10000 108 310 962 69 659 597 293 155 270
-10000 188 954 383 268 164 388 152 680 995
-10000 562 912 167 979 329 51 415 233 898
-10000 853 240 257 84 998 402 272 12 735
-10000 86 336 188 712 526 716 181 467 618
-10000 247 127 976 181 113 474 241 103 521
-10000 912 443 782 899 922 905 625 980 863
-10000 735 721 404 393 985 76 121 476 553
-10000 637 130 214 170 967 252 323 855 766
-10000 307 526 625 20 331 969 302 899 591
-10000 903 141 804 705 767 846 424 188 964
-10000 178 250 124 38 110 814 848 721 662
-10000 625 778 934 725 278 485 600 220 267
-10000 888 587 377 118 161 267 75 277 599
-10000 359 688 976 424 211 795 395 608 205
-10000 394 914 208 496 114 21 554 784 706
-10000 972 826 752 408 713 487 117 412 208
-10000 846 772 747 892 643 49 76 325 392
-10000 377 652 494 910 883 572 118 644 337
-10000 237 608 237 301 975 127 539 290 310
-10000 20 246 746 79 768 293 588 561 876
-10000 50 618 904 200 25 594 992 542 149
-10000 955 139 111 613 554 35 973 227 617
-10000 920 723 725 237 125 497 815 370 689
-10000 432 80 183 179 767 389 833 861 927
-10000 966 163 245 151 406 228 388 443 646
-10000 530 956 73 535 821 114 675 720 483
-10000 152 690 546 515 229 344 842 327 88
-10000 676 429 570 832 561 146 528 934 564
-10000 520 957 684 726 370 603 165 57 19
-10000 500 831 275 957 995 763 110 598 755
-10000 436 763 895 467 901 988 385 203 354
-10000 192 55 746 867 997 818 117 950 212
-10000 29 368 796 301 134 337 913 798 64
-10000 645 780 228 515 596 951 69 174 333
-10000 471 622 361 447 267 99 828 716 93
-10000 463 121 820 119 51 931 516 46 722
-10000 574 488 163 405 908 632 79 774 504
-10000 914 738 865 964 516 195 344 382 740
-10000 715 112 86 960 59 327 842 18 606
-10000 201 128 295 340 93 931 316 717 622
-10000 806 776 386 815 230 112 770 453 481
-10000 117 355 559 64 157 440 663 622 873
-10000 680 497 417 278 200 642 731 978 696
-10000 858 302 201 761 523 391 114 638 832
-10000 356 464 477 649 913 948 179 410 479
-10000 292 520 413 377 793 543 435 814 813
-10000 688 772 88 82 91 227 609 368 321
-10000 459 731 654 33 467 925 81 875 872
-10000 841 167 832 665 881 102 38 493 80
-10000 970 634 23 968 903 42 883 893 370
-10000 196 735 696 272 852 193 319 870 222
-10000 382 326 777 543 283 731 247 597 222
-10000 462 863 273 618 524 583 556 53 465
-10000 116 118 724 845 253 605 433 987 636
-10000 130 21 765 14 490 636 642 459 77
-10000 699 469 150 64 928 944 339 240 281
-10000 664 695 838 755 358 647 200 859 365
-10000 603 29 71 867 431 677 47 250 415
-10000 335 990 871 994 961 476 720 674 470
-10000 359 380 549 892 488 899 263 491 202
-10000 621 987 538 822 330 697 460 208 522
-10000 242 283 384 826 46 510 882 382 498
-10000 246 712 977 105 435 26 773 583 693
-10000 592 962 657 763 510 367 972 24 908
-10000 160 169 204 64 678 927 273 256 218
-10000 623 325 397 551 678 10 882 132 529
-10000 920 129 750 977 865 1 552 866 460
-10000 807 914 764 708 966 640 69 306 885
-10000 830 752 658 956 122 863 55 634 622
-10000 487 695 377 261 653 173 261 920 377
-10000 350 241 858 164 449 377 942 573 812
-10000 501 437 129 29 608 99 331 359 918
-10000 85 589 819 701 518 730 946 278 657
-10000 592 963 525 626 428 367 507 607 60
-10000 247 906 481 324 466 811 991 642 952
-10000 811 786 495 179 208 953 885 213 940
-10000 558 357 315 402 719 357 863 394 163
-10000 763 801 118 863 780 727 52 244 145
-10000 72 846 568 678 699 78 472 615 729
-10000 614 165 645 936 107 548 995 728 173
-10000 198 640 931 115 877 573 329 860 36
-10000 854 950 802 350 690 396 99 493 248
-10000 82 480 234 377 152 311 351 351 505
-10000 659 315 327 547 649 828 444 69 109
-10000 811 812 480 688 337 68 654 456 34
-10000 378 795 687 710 424 117 631 636 632
-10000 803 125 666 240 129 532 444 84 71
-10000 387 604 322 249 450 222 586 803 605
-10000 706 392 144 464 373 919 784 399 424
-10000 977 911 220 757 828 51 810 579 45
-10000 480 785 406 2 453 637 82 331 926
-10000 45 569 250 535 342 919 62 875 891
-10000 572 365 615 152 109 856 755 288 437
-10000 4 286 100 230 768 15 950 368 137
-10000 753 857 384 10 49 891 899 836 695
-10000 990 829 598 938 528 403 602 424 725
-10000 15 491 314 896 453 535 360 215 803
-10000 578 685 554 180 768 810 39 911 944
-10000 991 501 993 431 651 556 590 888 539
-10000 373 961 413 259 170 378 768 893 429
-10000 629 655 118 928 906 838 940 840 401
-10000 358 208 69 107 789 103 744 927 807
-10000 852 67 622 452 433 276 210 251 364
-10000 197 681 909 623 747 50 403 30 0
-10000 560 304 607 460 141 23 935 597 825
-10000 6 544 561 856 370 29 814 390 965
-10000 652 277 865 68 367 521 131 964 422
-10000 28 229 496 516 215 838 125 417 273
-10000 396 756 840 917 397 611 565 209 157
-10000 405 797 750 20 298 816 284 678 524
-10000 428 539 459 932 124 688 292 460 340
-10000 696 507 896 562 779 783 490 354 750
-10000 621 591 326 778 557 488 342 472 875
-10000 999 623 286 658 634 860 915 516 317
-10000 885 88 690 332 315 816 428 118 59
-10000 135 38 677 380 34 457 992 893 198
-10000 598 469 70 11 190 609 633 173 271
-10000 734 950 257 792 791 796 201 158 285
-10000 105 262 600 7 972 432 278 936 752
-10000 665 687 468 5 768 475 876 994 823
-10000 82 481 356 948 976 514 130 936 35
-10000 909 757 957 630 379 909 86 530 699
-10000 936 144 278 321 744 986 631 746 25
-10000 928 264 623 255 201 142 337 132 889
-10000 544 540 440 143 722 81 305 545 157
-10000 69 684 40 817 481 16 548 673 332
-10000 484 488 578 28 580 270 489 856 730
-10000 532 373 317 416 773 619 910 489 568
-10000 565 383 605 907 964 457 764 609 9
-10000 366 770 424 581 833 152 27 467 810
-10000 941 559 504 414 881 55 2 672 809
-10000 644 355 935 711 723 525 1 297 904
-10000 431 88 359 810 179 312 657 463 833
-10000 718 256 466 592 606 237 695 964 357
-10000 36 325 57 493 136 468 663 81 231
-10000 345 19 980 208 521 921 412 63 373
-10000 488 34 829 28 202 41 616 548 394
-10000 887 215 991 827 620 675 285 754 487
-10000 439 949 891 558 828 509 432 967 565
-10000 972 860 731 842 270 560 206 184 980
-10000 238 375 153 815 158 288 119 681 50
-10000 389 691 501 694 939 124 322 809 566
-10000 170 410 419 267 162 704 683 995 483
-10000 429 49 41 515 161 519 737 601 702
-10000 346 648 766 722 312 649 245 222 54
-10000 528 904 89 407 350 744 700 807 148
-10000 508 30 54 628 863 577 808 329 703
-10000 800 476 641 938 74 886 238 826 234
-10000 861 613 436 726 344 608 686 164 744
-10000 261 519 537 448 923 779 315 311 431
-10000 362 53 203 874 28 428 737 237 44
-10000 616 455 512 689 230 35 976 794 705
-10000 320 652 509 719 845 678 77 494 257
-10000 502 881 872 375 990 693 157 773 545
-10000 515 983 768 955 334 836 292 209 805
-10000 663 580 700 320 59 661 415 467 611
-10000 172 494 384 65 336 912 283 381 850
-10000 494 236 905 457 425 715 517 497 206
-10000 362 432 483 231 708 391 44 311 393
-10000 831 776 27 68 883 172 712 263 115
-10000 934 360 401 435 177 381 610 597 876
-10000 379 407 888 466 375 998 724 605 657
-10000 252 41 163 994 415 257 625 24 283
-10000 255 965 411 83 906 686 387 547 321
-10000 470 789 349 697 782 648 287 350 62
-10000 602 42 246 30 561 530 863 365 441
-10000 115 975 68 112 529 2 469 485 607
-10000 606 77 534 790 167 1 774 87 383
-10000 283 47 788 187 338 296 404 354 71
-10000 913 867 673 5 278 15 469 254 375
-10000 380 411 107 685 307 356 707 520 373
-10000 565 368 500 692 564 859 962 986 360
-10000 678 85 514 945 129 504 585 789 658
-10000 730 130 650 22 517 432 513 105 282
-10000 799 172 331 954 71 930 412 154 879
-10000 383 551 253 933 161 873 129 470 666
-10000 696 832 461 863 378 82 432 467 810
-10000 101 816 49 198 919 966 911 126 397
-10000 322 932 785 600 543 620 593 296 646
-10000 556 453 499 818 319 606 998 92 498
-10000 791 938 504 813 143 624 470 853 246
-10000 645 284 854 191 544 599 918 6 750
-10000 813 727 577 932 538 767 877 750 650
-10000 718 420 914 881 271 153 569 339 796
-10000 410 821 794 827 505 881 617 255 993
-10000 14 821 402 488 718 74 147 131 218
-10000 877 58 310 682 261 36 768 168 834
-10000 754 475 120 533 375 100 398 236 937
-10000 938 294 282 654 657 658 635 735 597
-10000 871 478 619 107 923 538 400 577 419
-10000 535 980 489 775 889 944 291 716 984
-10000 103 682 787 920 580 66 219 16 962
-10000 91 711 873 283 288 602 489 494 903
-10000 544 198 670 775 433 78 542 282 718
-10000 492 461 385 153 890 764 137 145 822
-10000 999 572 9 385 466 550 935 133 230
-10000 515 337 903 77 15 600 756 192 462
-10000 892 926 935 513 336 853 460 1 316
-10000 215 440 714 981 45 13 954 490 769
-10000 725 324 609 216 458 49 368 435 843
-10000 204 837 943 182 341 526 869 774 647
-10000 610 924 932 775 672 990 758 984 221
-10000 20 311 218 496 730 108 925 648 614
-10000 198 601 330 757 442 867 141 446 562
-10000 773 221 24 619 902 838 175 48 259
-10000 907 227 700 540 934 53 48 191 600
-10000 419 384 853 104 575 323 474 721 545
-10000 282 925 476 417 78 734 146 809 814
-10000 598 460 540 890 836 590 380 98 600
-10000 533 538 779 858 264 836 919 630 635
-10000 471 572 873 429 259 124 732 177 706
-10000 773 640 66 606 403 265 928 452 806
-10000 735 912 285 28 158 370 488 888 657
-10000 272 491 619 69 915 85 870 72 457
-10000 400 284 357 48 822 230 981 698 494
-10000 674 9 287 317 240 162 423 301 246
-10000 188 988 627 94 707 748 205 174 990
-10000 549 890 449 858 87 569 336 966 889
-10000 834 596 877 127 26 521 294 605 457
-10000 238 63 608 542 71 862 543 643 280
-10000 475 233 815 489 162 858 151 628 256
-10000 256 169 264 950 212 998 347 494 785
-10000 305 647 211 40 184 844 110 118 716
-10000 962 963 188 459 503 769 249 864 475
-10000 473 950 34 408 264 498 527 389 127
-10000 562 971 651 220 509 44 121 302 141
-10000 833 556 48 581 785 22 65 150 438
-10000 200 354 503 637 616 32 951 12 644
-10000 561 470 989 356 338 530 142 216 487
-10000 623 419 591 665 388 851 235 898 85
-10000 928 301 517 232 346 551 596 208 911
-10000 673 384 706 421 559 737 230 355 480
-10000 665 360 907 485 778 553 424 100 756
-10000 659 276 316 291 282 1000 8 879 82
-10000 131 831 81 884 865 37 590 910 971
-10000 487 940 522 953 476 633 580 656 267
-10000 736 653 633 376 912 404 950 750 980
-10000 935 319 1000 5 4 768 275 606 911
-10000 221 449 486 369 932 998 327 630 894
-10000 696 929 881 726 438 218 802 1000 401
-10000 64 935 214 408 611 508 173 854 39
-10000 792 475 115 366 157 581 560 388 207
-10000 395 887 155 451 69 806 947 666 93
-10000 44 171 933 901 496 356 532 819 367
-10000 885 158 707 665 114 405 87 383 389
-10000 137 611 470 285 68 771 116 421 543
-10000 674 573 25 7 808 375 105 771 348
-10000 32 735 21 580 261 622 531 125 911
-10000 646 68 509 881 284 59 835 813 771
-10000 53 245 830 599 467 466 229 99 571
-10000 44 354 212 451 357 138 263 966 626
-10000 619 614 421 770 607 261 22 735 211
-10000 646 68 507 997 557 203 159 999 220
-10000 934 535 76 940 617 140 592 294 582
-10000 821 344 420 565 50 782 538 652 650
-10000 552 954 600 92 755 973 12 74 179
-10000 739 126 676 993 919 984 695 978 51
-10000 670 635 556 981 260 9 805 623 851
-10000 531 148 949 260 736 326 89 239 301
-10000 271 785 368 776 793 203 135 366 420
-10000 997 388 421 402 52 193 753 733 509
-10000 987 882 740 957 399 85 91 233 697
-10000 689 673 537 538 866 749 411 978 0
-10000 195 727 171 563 242 820 931 561 417
-10000 924 421 138 651 821 806 950 402 569
-10000 895 731 150 557 365 603 924 341 551
-10000 258 306 710 204 16 499 672 19 520
-10000 511 230 292 970 702 671 647 931 933
-10000 5 405 752 529 751 473 121 718 479
-10000 293 208 672 23 630 580 75 282 70
-10000 931 926 579 481 555 911 204 663 872
-10000 729 857 102 151 611 526 264 509 219
-10000 333 502 922 798 94 18 289 935 898
-10000 1 496 982 169 142 583 135 317 376
-10000 238 346 625 537 877 844 566 920 245
-10000 359 27 913 907 232 145 779 571 689
-10000 587 527 470 549 892 132 771 608 82
-10000 8 890 509 196 956 103 829 500 533
-10000 958 595 528 676 198 293 153 574 67
-10000 807 23 111 715 994 246 350 102 630
-10000 619 754 166 389 917 441 342 506 775
-10000 941 891 755 982 451 281 416 893 435
-10000 703 247 598 587 755 512 221 542 685
-10000 863 931 974 555 976 700 403 715 454
-10000 705 783 39 757 700 852 760 249 346
-10000 960 955 136 950 375 239 594 559 315
-10000 694 588 350 349 168 984 765 55 620
-10000 557 145 925 1000 903 836 946 73 133
-10000 13 685 502 994 600 818 47 658 402
-10000 259 18 265 149 880 242 231 47 685
-10000 689 286 584 569 914 432 735 218 425
-10000 228 731 378 584 899 597 415 841 262
-10000 436 208 169 930 997 261 286 659 364
-10000 709 827 751 323 826 202 396 33 253
-10000 400 134 988 32 574 967 569 910 232
-10000 263 667 578 336 364 280 194 611 692
-10000 704 287 251 151 36 106 860 592 722
-10000 998 797 293 800 402 202 741 308 374
-10000 172 539 652 731 574 765 294 847 636
-10000 195 545 632 33 310 339 867 360 240
-10000 414 658 329 926 165 469 750 623 502
-10000 307 542 65 282 316 269 105 69 852
-10000 117 837 634 89 394 556 945 65 271
-10000 570 86 312 451 432 773 929 720 285
-10000 416 254 564 283 522 77 812 78 789
-10000 512 315 215 939 370 998 171 727 106
-10000 370 576 738 332 48 573 312 251 133
-10000 311 724 977 984 162 506 171 3 361
-10000 724 331 502 592 215 420 886 986 770
-10000 189 418 373 386 610 377 642 912 107
-10000 801 888 36 837 851 922 562 487 423
-10000 855 387 326 303 871 214 183 749 258
-10000 789 269 790 288 509 673 720 745 524
-10000 158 674 661 430 718 995 712 479 115
-10000 86 654 159 385 566 491 560 471 514
-10000 853 592 524 320 255 804 167 941 268
-10000 513 753 938 505 224 495 279 938 26
-10000 927 653 990 626 119 270 968 24 954
-10000 763 669 772 310 64 139 517 152 686
-10000 123 564 911 515 740 51 330 130 241
-10000 577 675 302 904 812 915 246 125 991
-10000 877 723 194 285 24 547 815 534 567
-10000 634 553 750 801 263 633 992 978 979
-10000 172 595 9 618 371 974 180 308 28
-10000 339 441 47 117 92 179 358 996 43
-10000 290 613 148 545 350 692 743 168 322
-10000 188 491 928 386 286 28 394 342 884
-10000 2 984 892 519 6 565 902 909 116
-10000 955 452 394 923 598 503 33 809 695
-10000 183 971 68 21 720 45 162 872 454
-10000 419 866 921 439 842 881 426 105 395
-10000 310 349 997 525 337 151 299 260 337
-10000 90 436 468 188 437 972 358 290 709
-10000 146 813 684 76 273 150 938 591 801
-10000 817 121 308 308 482 201 161 619 39
-10000 324 912 455 227 272 539 583 789 700
-10000 551 438 889 935 975 867 218 487 101
-10000 757 802 119 119 75 897 349 223 660
-10000 696 356 486 708 869 244 133 199 814
-10000 579 240 559 575 230 705 58 495 820
-10000 952 39 814 621 966 982 625 165 710
-10000 138 513 164 832 601 279 346 794 792
-10000 837 763 807 667 157 352 233 735 341
-10000 570 563 900 81 933 621 178 665 566
-10000 992 305 415 782 431 380 424 555 457
-10000 810 598 520 524 171 741 706 909 782
-10000 699 178 177 780 983 389 206 354 529
-10000 246 402 486 404 750 664 572 615 378
-10000 706 652 882 512 990 981 819 156 118
-10000 582 390 97 460 88 506 482 892 621
-10000 330 723 920 759 39 165 295 301 372
-10000 863 390 771 199 524 397 603 980 872
-10000 864 921 782 680 832 653 36 159 544
-10000 914 575 843 101 888 502 433 195 956
-10000 87 235 325 714 646 686 75 943 666
-10000 740 315 35 970 422 558 357 725 422
-10000 630 203 715 60 178 309 739 279 383
-10000 838 754 302 938 429 270 499 663 387
-10000 955 632 571 734 592 604 366 77 458
-10000 313 992 685 425 406 275 87 322 729
-10000 780 874 490 55 71 198 266 585 814
-10000 132 762 645 379 729 535 45 278 538
-10000 79 778 374 292 589 428 572 975 481
-10000 781 405 448 980 354 776 469 721 525
-10000 247 300 426 856 312 95 5 700 224
-10000 826 978 805 785 7 2 538 696 619
-10000 599 803 795 716 458 340 623 259 659
-10000 561 400 392 618 276 250 932 408 99
-10000 440 145 798 286 378 723 212 207 521
-10000 85 980 151 383 338 436 815 807 382
-10000 895 622 397 309 705 502 132 76 878
-10000 66 402 320 421 296 234 873 960 35
-10000 152 966 332 237 558 756 956 571 697
-10000 469 575 830 426 33 484 648 368 957
-10000 615 448 320 640 666 141 605 387 522
-10000 430 443 291 250 923 955 948 677 168
-10000 218 778 924 538 827 343 137 117 477
-10000 843 130 698 68 180 881 904 315 449
-10000 889 890 87 240 41 675 862 328 610
-10000 546 320 118 229 608 216 409 95 353
-10000 73 237 707 513 390 0 705 463 14
-10000 137 10 315 789 295 994 61 277 977
-10000 163 421 254 922 620 61 516 706 48
-10000 993 960 253 387 358 256 665 581 238
-10000 224 91 420 815 854 637 389 694 254
-10000 297 486 316 156 126 221 571 680 464
-10000 377 607 34 221 6 193 977 3 656
-10000 102 914 623 576 179 39 336 582 301
-10000 77 696 605 247 867 716 663 892 374
-10000 471 298 427 591 745 428 258 387 15
-10000 826 362 286 436 616 898 810 453 995
-10000 321 160 924 904 264 238 12 946 341
-10000 367 665 998 176 940 240 747 750 559
-10000 990 286 417 565 446 919 783 930 909
-10000 79 612 716 957 430 453 701 859 661
-10000 687 869 442 778 16 106 55 57 951
-10000 943 585 306 931 72 801 906 677 328
-10000 134 839 312 11 419 831 789 317 543
-10000 499 439 441 807 45 240 633 77 696
-10000 314 846 378 225 505 797 143 115 275
-10000 941 313 729 98 433 447 342 131 746
-10000 932 408 614 175 83 688 559 393 464
-10000 491 844 392 317 460 216 257 40 452
-10000 833 880 4 656 685 742 343 466 754
-10000 673 959 449 268 492 75 70 161 919
-10000 950 540 471 217 96 679 647 463 747
-10000 149 946 523 623 78 71 198 669 582
-10000 829 74 115 927 190 930 19 766 145
-10000 305 377 351 761 136 497 316 768 261
-10000 980 965 166 953 959 859 585 368 597
-10000 469 392 170 81 935 662 72 995 482
-10000 99 79 835 134 62 552 626 966 918
-10000 632 421 784 88 524 712 729 260 262
-10000 721 965 414 413 288 244 165 382 835
-10000 946 519 320 490 106 744 680 34 239
-10000 124 453 571 258 500 96 643 49 710
-10000 403 11 542 265 536 936 740 269 778
-10000 38 283 495 854 243 354 416 791 241
-10000 295 25 447 772 826 293 911 276 963
-10000 826 18 855 839 164 23 43 216 679
-10000 296 655 67 392 996 761 210 989 543
-10000 297 69 202 130 754 501 78 986 310
-10000 703 571 287 628 18 198 275 581 926
-10000 998 805 180 888 127 55 21 957 992
-10000 201 784 911 686 459 832 890 836 566
-10000 816 124 864 426 663 599 922 453 933
-10000 810 860 804 324 134 847 937 627 928
-10000 263 431 350 455 896 812 273 360 296
-10000 389 470 56 881 464 131 117 201 145
-10000 778 734 484 135 324 724 36 995 655
-10000 87 434 59 159 503 705 650 390 943
-10000 844 316 965 497 103 604 923 222 864
-10000 135 343 584 596 756 376 311 306 771
-10000 955 802 655 477 81 498 799 673 322
-10000 855 647 999 448 883 412 230 94 438
-10000 401 117 963 949 566 720 903 929 255
-10000 705 642 711 625 183 880 317 50 169
-10000 574 189 416 718 895 848 669 991 533
-10000 919 412 587 18 252 389 832 960 221
-10000 624 659 141 311 860 796 626 377 422
-10000 934 329 579 809 504 2 953 997 93
-10000 859 258 362 291 255 35 875 272 240
-10000 408 374 862 773 8 509 921 180 25
-10000 409 19 203 542 953 297 14 893 331
-10000 171 341 638 664 476 497 837 796 254
-10000 544 96 940 360 80 376 718 633 164
-10000 444 378 268 0 716 903 513 491 314
-10000 95 206 472 218 743 611 438 274 190
-10000 60 40 627 214 692 463 679 439 306
-10000 64 568 414 61 586 324 763 486 210
-10000 408 313 668 588 119 898 868 651 755
-10000 81 652 898 695 505 199 560 810 103
-10000 55 352 226 745 487 580 687 642 881
-10000 507 736 843 26 138 670 863 709 529
-10000 713 373 323 980 925 711 16 108 600
-10000 87 13 802 917 768 864 375 759 492
end
maximize
0 10000 10000 10000 10000 10000 10000 -10000 -10000 -10000
!adjacency
cddlib-0.94j/examples/samplelp_big.ine 0000644 0001750 0001750 00001510014 13270061057 014736 0000000 0000000 H-representation
begin
10000 10 integer
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1
-10000 651 693 84 697 637 340 368 824 663
-10000 725 742 387 219 751 430 202 745 356
-10000 377 674 979 167 815 988 412 676 475
-10000 710 275 949 284 629 1 422 974 510
-10000 692 945 725 488 271 430 724 225 726
-10000 465 258 450 343 87 168 161 103 919
-10000 86 79 656 493 832 514 791 506 29
-10000 63 630 874 918 877 272 992 119 480
-10000 598 926 42 378 288 66 927 919 99
-10000 256 354 106 979 641 160 395 225 837
-10000 202 388 900 471 160 751 300 731 818
-10000 342 502 825 563 639 261 194 984 990
-10000 266 406 364 216 448 675 145 694 866
-10000 362 983 732 378 134 902 946 877 205
-10000 926 125 949 888 234 630 275 707 67
-10000 634 81 192 768 652 822 311 961 895
-10000 983 597 743 314 696 585 367 396 826
-10000 511 545 539 97 111 996 477 35 372
-10000 474 103 152 753 159 120 929 161 563
-10000 549 793 307 456 444 184 149 792 894
-10000 839 488 917 192 168 788 959 245 25
-10000 750 165 338 182 392 381 962 117 713
-10000 738 827 943 507 914 814 951 663 815
-10000 493 339 225 351 450 788 992 167 792
-10000 174 773 247 247 180 517 445 599 596
-10000 303 26 967 39 535 4 7 335 217
-10000 772 173 189 291 668 191 610 677 544
-10000 848 642 40 125 865 100 259 534 648
-10000 501 622 398 624 118 416 30 17 236
-10000 218 602 697 892 322 314 361 573 985
-10000 958 856 608 492 563 478 311 614 740
-10000 582 913 938 949 715 338 39 726 998
-10000 521 805 708 221 624 316 24 127 322
-10000 491 189 412 774 418 200 193 633 315
-10000 144 679 383 447 989 939 441 631 482
-10000 940 241 153 215 149 457 254 207 125
-10000 80 873 207 904 684 600 940 431 825
-10000 75 100 353 637 432 377 940 758 164
-10000 627 721 915 710 8 786 96 17 576
-10000 247 104 607 432 540 164 597 282 317
-10000 553 787 881 942 152 318 44 509 518
-10000 181 772 942 993 916 900 713 694 812
-10000 625 26 638 261 385 196 676 717 572
-10000 11 911 296 761 658 631 757 817 400
-10000 964 989 879 491 490 751 490 97 405
-10000 28 461 343 452 480 504 411 242 892
-10000 768 746 347 352 724 487 185 767 287
-10000 924 228 958 554 352 460 765 742 430
-10000 737 986 499 993 721 29 821 416 813
-10000 483 458 249 781 584 321 779 209 570
-10000 222 166 975 53 765 256 859 469 164
-10000 82 696 181 166 375 145 415 496 261
-10000 540 309 526 918 439 489 846 417 775
-10000 699 145 327 873 467 866 711 393 603
-10000 445 668 729 224 654 970 279 789 680
-10000 28 659 365 306 186 520 427 176 191
-10000 919 58 859 436 105 35 560 716 14
-10000 641 238 340 524 205 255 272 14 472
-10000 817 22 904 782 573 847 649 100 280
-10000 925 277 930 495 736 960 276 726 657
-10000 336 54 357 979 941 765 593 630 286
-10000 65 113 104 915 222 158 580 520 188
-10000 42 617 904 414 588 857 416 94 988
-10000 716 49 849 67 607 99 934 184 217
-10000 458 32 500 552 108 980 255 998 935
-10000 860 936 115 268 231 281 948 209 766
-10000 293 330 940 570 857 421 574 481 364
-10000 959 949 372 757 306 757 752 312 137
-10000 769 303 737 260 187 695 946 723 433
-10000 980 564 605 363 776 893 558 616 603
-10000 945 23 632 820 54 677 795 616 625
-10000 629 692 585 33 674 703 304 489 949
-10000 52 903 723 746 692 232 917 933 211
-10000 367 566 364 318 607 818 424 234 605
-10000 915 305 354 829 469 447 925 188 799
-10000 387 596 946 888 751 614 539 295 299
-10000 969 902 10 739 289 923 808 28 151
-10000 537 152 546 442 182 301 258 265 762
-10000 671 288 343 199 694 391 457 947 250
-10000 415 734 423 435 696 111 53 227 784
-10000 800 992 720 76 40 419 608 182 683
-10000 619 627 278 526 453 960 772 992 86
-10000 836 623 0 21 371 4 676 964 658
-10000 258 677 64 968 62 219 587 308 299
-10000 224 823 258 449 575 526 908 585 405
-10000 593 660 663 341 36 79 50 242 293
-10000 80 761 270 460 82 133 874 559 41
-10000 169 539 257 827 222 743 873 929 523
-10000 403 167 259 377 76 160 749 448 902
-10000 290 5 276 509 342 909 193 443 552
-10000 928 326 757 405 598 765 143 833 150
-10000 980 57 636 651 219 232 88 486 918
-10000 497 765 499 464 558 377 2 973 249
-10000 515 282 55 576 464 532 575 180 363
-10000 364 958 202 876 867 738 626 474 998
-10000 568 905 231 136 80 320 525 113 263
-10000 544 823 341 402 593 289 248 928 649
-10000 933 338 757 771 671 811 610 138 31
-10000 460 185 660 628 321 350 46 944 444
-10000 71 824 884 313 938 572 685 825 382
-10000 793 750 63 112 309 360 490 435 964
-10000 78 228 800 657 708 3 806 551 738
-10000 940 612 1000 136 897 98 301 169 453
-10000 622 731 111 813 606 90 909 272 319
-10000 86 544 118 257 317 831 90 817 236
-10000 585 919 232 848 794 806 343 335 829
-10000 377 606 349 399 913 171 571 616 800
-10000 682 428 30 101 974 945 600 399 502
-10000 296 793 418 28 591 660 445 26 496
-10000 387 389 533 927 500 96 946 191 298
-10000 585 201 36 877 289 768 485 248 593
-10000 811 70 801 255 538 112 190 464 880
-10000 140 329 863 237 44 600 946 766 472
-10000 288 987 463 359 777 245 559 75 584
-10000 599 918 820 636 458 477 884 249 324
-10000 268 669 503 151 851 965 12 962 421
-10000 886 810 370 680 300 192 160 41 978
-10000 911 866 827 610 267 579 728 735 865
-10000 812 307 646 415 323 865 727 419 825
-10000 907 515 473 962 463 617 10 295 380
-10000 195 257 576 495 533 872 756 930 963
-10000 600 87 210 845 983 743 853 67 647
-10000 917 353 7 655 892 882 266 922 414
-10000 183 740 375 18 710 301 952 62 442
-10000 266 287 679 727 674 681 493 782 785
-10000 405 399 10 102 193 816 763 67 188
-10000 379 904 872 592 812 505 532 332 293
-10000 799 767 946 648 329 915 94 208 947
-10000 325 157 957 330 115 669 488 876 388
-10000 347 600 60 885 372 10 932 71 662
-10000 126 27 782 868 129 796 249 129 961
-10000 47 758 192 754 275 38 979 817 851
-10000 343 571 331 621 971 777 476 748 674
-10000 809 899 306 498 353 605 388 830 537
-10000 738 956 364 819 546 568 806 391 634
-10000 485 24 645 86 748 685 599 771 910
-10000 180 446 81 859 355 361 268 563 185
-10000 690 786 940 318 90 910 439 711 321
-10000 402 465 459 973 442 263 985 935 412
-10000 263 51 654 405 989 273 463 954 598
-10000 426 464 295 965 676 968 904 405 986
-10000 685 420 652 710 156 848 86 802 138
-10000 544 708 753 677 881 507 438 209 797
-10000 968 104 528 84 650 955 414 654 177
-10000 883 177 230 921 38 263 134 11 371
-10000 706 7 105 771 148 739 88 619 428
-10000 500 411 938 101 40 321 140 14 599
-10000 769 211 579 855 310 475 194 796 195
-10000 292 516 654 968 875 866 394 544 637
-10000 356 145 384 307 242 837 335 95 863
-10000 342 354 470 826 726 878 987 660 800
-10000 767 658 978 534 588 387 297 231 130
-10000 88 21 710 369 618 685 551 520 677
-10000 73 398 733 465 628 452 106 179 482
-10000 131 908 760 799 67 598 274 260 796
-10000 481 617 828 798 996 323 657 858 158
-10000 701 692 978 258 527 187 524 639 326
-10000 348 290 514 805 91 926 644 230 188
-10000 79 946 505 743 681 936 190 474 934
-10000 843 150 316 559 631 261 458 868 685
-10000 193 793 226 49 488 768 853 955 301
-10000 205 459 596 58 816 18 367 744 981
-10000 238 33 698 381 183 602 418 65 236
-10000 811 797 577 102 538 447 403 444 379
-10000 837 971 600 411 389 971 962 376 357
-10000 452 154 338 712 682 676 785 945 194
-10000 310 679 608 871 620 687 724 220 134
-10000 632 150 799 565 737 689 170 207 45
-10000 14 189 90 397 287 917 307 108 806
-10000 143 730 654 241 266 401 526 921 4
-10000 605 264 55 155 939 701 690 305 628
-10000 415 26 454 957 161 334 187 629 402
-10000 63 253 610 926 670 625 601 943 11
-10000 310 649 405 751 100 358 139 32 3
-10000 808 256 663 357 994 725 640 522 117
-10000 969 618 817 528 267 975 47 534 291
-10000 996 941 661 798 722 636 701 991 106
-10000 241 5 42 477 245 775 773 625 591
-10000 443 238 944 397 908 720 259 554 763
-10000 332 237 839 679 166 929 480 234 416
-10000 748 413 366 515 22 530 625 75 63
-10000 789 656 197 145 128 99 620 704 58
-10000 530 794 202 273 724 41 956 798 201
-10000 360 503 723 593 121 214 415 298 367
-10000 650 928 97 805 461 199 950 43 679
-10000 989 697 970 220 5 815 346 916 628
-10000 765 568 582 330 894 230 650 206 865
-10000 734 446 138 485 471 991 531 119 78
-10000 393 203 321 395 750 634 400 280 223
-10000 802 246 336 600 995 171 254 492 113
-10000 993 419 160 353 267 413 573 479 823
-10000 670 105 823 362 489 965 826 96 289
-10000 695 401 876 118 749 9 446 122 1
-10000 454 428 778 515 327 127 287 45 156
-10000 277 677 575 415 230 219 324 243 510
-10000 821 212 232 919 958 314 193 398 339
-10000 774 927 394 573 176 432 850 810 271
-10000 64 420 574 969 819 40 320 543 988
-10000 712 942 387 70 129 211 245 990 147
-10000 321 292 31 875 675 150 121 721 898
-10000 424 509 850 565 59 54 290 545 690
-10000 491 16 78 354 936 326 573 679 26
-10000 65 159 284 948 748 688 747 282 904
-10000 505 688 153 449 464 397 677 560 885
-10000 998 272 175 516 854 256 658 643 811
-10000 608 944 450 473 55 276 718 665 912
-10000 410 450 712 520 618 1 640 653 36
-10000 671 858 795 275 471 974 949 997 991
-10000 984 488 767 4 400 719 946 238 559
-10000 419 380 266 969 41 533 560 251 819
-10000 797 69 963 37 455 940 899 937 942
-10000 925 286 674 70 609 419 62 546 962
-10000 20 747 680 680 313 563 953 703 473
-10000 532 399 212 682 8 769 794 165 378
-10000 78 363 76 494 977 380 91 433 490
-10000 904 741 364 962 123 33 511 141 148
-10000 673 669 20 381 205 311 231 169 519
-10000 539 517 201 354 927 525 499 568 119
-10000 474 448 888 207 674 179 960 963 345
-10000 577 520 368 590 615 460 365 560 59
-10000 90 892 791 939 581 913 510 597 600
-10000 759 403 402 489 894 159 165 211 107
-10000 39 505 741 603 829 405 426 772 949
-10000 95 75 480 14 943 784 704 364 797
-10000 221 48 785 941 710 663 837 873 948
-10000 576 865 485 12 387 404 217 92 584
-10000 189 134 496 752 863 182 513 619 414
-10000 1 360 747 226 62 550 119 906 186
-10000 190 643 774 732 479 187 198 454 829
-10000 618 966 298 93 43 58 855 427 801
-10000 604 678 584 422 1 814 476 948 330
-10000 967 718 957 487 509 582 247 534 721
-10000 780 366 528 829 153 177 74 429 204
-10000 814 828 71 549 868 266 394 855 380
-10000 709 222 827 265 441 583 680 717 922
-10000 126 596 700 40 643 887 610 727 170
-10000 243 168 340 114 663 21 802 665 775
-10000 839 708 980 836 280 24 971 945 274
-10000 301 47 70 613 970 382 762 675 881
-10000 777 916 674 551 497 979 511 398 199
-10000 125 844 5 832 153 739 85 135 74
-10000 609 447 233 891 524 729 553 191 703
-10000 465 39 655 692 782 163 562 386 416
-10000 809 291 321 702 744 815 218 845 936
-10000 724 608 161 45 161 258 703 409 856
-10000 755 603 220 9 49 91 985 479 832
-10000 155 574 242 379 298 763 697 82 210
-10000 388 287 783 999 428 625 887 942 687
-10000 105 403 535 523 600 620 211 412 141
-10000 693 999 554 26 428 361 576 273 527
-10000 71 197 936 543 176 71 996 196 497
-10000 801 596 352 228 131 114 796 427 184
-10000 4 982 932 606 343 380 468 325 115
-10000 367 432 482 699 315 580 413 902 230
-10000 438 920 614 517 468 915 341 622 596
-10000 709 110 768 699 424 943 993 295 399
-10000 700 407 369 384 719 532 128 473 753
-10000 137 662 132 845 631 832 838 84 51
-10000 456 189 318 257 828 561 65 64 878
-10000 813 512 935 275 775 361 416 658 602
-10000 658 168 573 358 670 417 911 489 668
-10000 859 215 499 376 862 244 332 935 912
-10000 732 47 545 84 628 941 916 498 185
-10000 827 540 32 267 31 722 427 405 66
-10000 607 806 139 261 825 533 52 853 322
-10000 37 500 336 873 677 267 649 472 523
-10000 305 609 829 108 674 900 859 854 138
-10000 957 85 196 43 289 72 891 335 539
-10000 280 124 918 15 378 855 534 322 450
-10000 728 500 341 953 879 251 821 653 38
-10000 515 962 374 238 729 828 174 54 751
-10000 524 38 201 115 426 791 903 631 687
-10000 926 877 370 415 216 697 111 217 844
-10000 335 296 626 805 977 232 700 222 680
-10000 817 819 455 184 593 658 908 662 932
-10000 260 101 482 639 761 829 521 89 597
-10000 6 313 603 589 446 684 46 261 737
-10000 471 579 858 376 24 850 404 941 726
-10000 154 163 624 975 348 594 920 656 132
-10000 650 833 14 908 95 924 689 34 40
-10000 670 133 613 190 549 951 479 441 406
-10000 644 985 618 552 392 327 194 943 576
-10000 285 930 830 986 395 307 85 181 44
-10000 731 276 80 290 189 801 614 814 0
-10000 263 543 515 818 275 619 734 356 894
-10000 239 88 811 540 560 659 498 612 6
-10000 800 773 373 656 443 790 755 144 443
-10000 325 34 701 682 592 510 818 359 443
-10000 832 924 128 853 278 886 890 727 876
-10000 621 177 289 770 229 477 674 828 263
-10000 714 399 744 404 27 580 908 226 533
-10000 488 404 145 709 933 348 544 191 422
-10000 832 636 161 77 825 767 44 249 201
-10000 378 129 771 642 172 887 613 868 514
-10000 66 675 772 371 865 884 980 509 751
-10000 315 97 563 67 880 82 385 938 189
-10000 586 98 853 329 936 214 81 443 410
-10000 863 525 731 217 132 220 461 400 758
-10000 89 701 972 83 708 997 117 163 236
-10000 279 336 901 306 840 69 888 985 115
-10000 123 407 876 598 435 916 582 83 919
-10000 465 724 347 92 729 69 417 726 997
-10000 311 951 103 534 40 383 892 174 283
-10000 925 318 660 503 184 437 827 432 758
-10000 353 992 318 736 49 129 479 555 974
-10000 968 934 901 356 457 378 723 728 31
-10000 756 542 333 875 368 296 439 678 459
-10000 852 30 83 554 385 400 628 394 669
-10000 482 263 642 894 582 443 619 552 487
-10000 230 174 916 494 410 290 800 239 761
-10000 934 714 991 552 560 743 372 360 872
-10000 680 603 941 47 960 90 290 291 493
-10000 4 327 310 427 40 664 850 771 638
-10000 670 615 829 710 475 892 365 403 456
-10000 237 223 448 648 408 203 641 895 557
-10000 848 699 459 582 803 831 456 277 520
-10000 78 110 86 982 390 676 922 426 594
-10000 523 43 849 930 154 86 837 165 806
-10000 962 781 767 664 547 343 949 919 704
-10000 224 827 449 146 330 400 460 180 120
-10000 163 199 168 905 426 838 224 592 930
-10000 974 614 370 10 127 323 406 212 78
-10000 63 166 10 439 209 309 430 596 619
-10000 487 237 503 777 148 647 738 507 328
-10000 974 785 754 289 6 798 503 605 687
-10000 613 442 792 251 171 881 712 183 886
-10000 43 720 992 751 794 399 548 694 839
-10000 691 503 6 753 465 712 381 580 951
-10000 552 980 372 415 742 398 864 602 751
-10000 906 549 268 940 158 242 800 43 232
-10000 141 725 782 190 889 387 206 581 672
-10000 462 63 606 832 886 457 505 190 870
-10000 943 199 98 85 805 829 757 953 36
-10000 776 557 35 59 315 818 683 254 95
-10000 414 618 584 412 966 319 463 191 960
-10000 526 692 416 784 782 28 141 3 491
-10000 222 57 843 620 197 418 250 994 584
-10000 721 759 740 416 178 346 260 175 814
-10000 961 570 724 587 122 655 434 813 434
-10000 930 547 517 203 497 862 351 27 100
-10000 609 394 380 627 829 294 901 729 251
-10000 666 81 30 301 289 815 454 290 863
-10000 506 892 266 157 283 233 893 796 818
-10000 314 288 597 241 80 60 457 357 722
-10000 522 368 599 884 359 895 603 380 6
-10000 655 423 848 815 559 58 325 947 583
-10000 656 192 895 488 209 851 609 539 759
-10000 477 466 478 303 140 742 113 220 290
-10000 888 444 417 518 856 62 110 116 340
-10000 521 123 140 869 89 88 930 921 152
-10000 225 124 317 101 347 423 979 369 437
-10000 221 692 957 740 226 372 45 919 468
-10000 777 371 369 253 284 347 701 562 63
-10000 297 329 254 15 186 127 870 664 821
-10000 522 739 130 764 966 283 559 510 148
-10000 114 438 286 193 260 238 77 832 466
-10000 739 438 29 1000 982 465 344 581 918
-10000 154 423 776 339 758 515 108 374 911
-10000 944 116 706 537 652 159 36 992 487
-10000 677 715 596 795 425 122 139 555 295
-10000 185 29 176 676 725 558 637 886 401
-10000 557 63 497 622 524 844 169 581 249
-10000 767 992 870 655 407 430 269 577 127
-10000 408 137 880 87 864 660 111 933 927
-10000 62 458 173 928 232 63 95 398 576
-10000 230 93 218 122 826 919 457 555 127
-10000 393 722 987 10 339 371 522 488 726
-10000 721 561 753 873 215 282 550 392 501
-10000 812 98 711 668 120 99 881 294 782
-10000 965 87 290 940 198 542 415 258 308
-10000 335 37 287 681 645 607 777 361 137
-10000 686 965 639 569 512 462 729 794 305
-10000 0 487 765 682 220 841 527 394 400
-10000 327 838 684 820 209 360 734 783 112
-10000 420 279 911 682 952 625 784 98 276
-10000 925 805 865 538 983 614 181 103 630
-10000 170 724 535 985 493 933 554 474 837
-10000 877 478 730 336 991 987 156 19 837
-10000 663 486 118 1000 567 185 472 853 600
-10000 99 335 973 189 216 226 222 581 704
-10000 593 78 743 454 65 897 915 163 792
-10000 691 929 146 584 892 45 503 81 106
-10000 428 139 773 994 637 32 436 766 857
-10000 906 299 774 574 164 340 164 198 678
-10000 909 421 766 147 581 838 423 214 200
-10000 229 216 46 388 351 492 435 72 659
-10000 500 519 341 315 353 262 685 460 980
-10000 759 207 690 137 881 949 178 166 207
-10000 699 955 894 989 742 640 471 357 461
-10000 749 497 162 886 747 995 437 87 867
-10000 202 334 261 579 831 611 945 735 818
-10000 913 536 861 129 862 52 229 311 394
-10000 702 364 970 804 521 561 413 767 954
-10000 52 95 430 621 534 141 849 417 266
-10000 355 418 452 858 680 639 56 86 750
-10000 866 893 515 457 675 638 921 727 256
-10000 963 676 985 348 689 935 480 734 393
-10000 554 201 934 395 54 20 973 338 39
-10000 973 175 566 241 842 810 618 531 63
-10000 56 863 727 459 805 309 911 490 557
-10000 626 674 606 396 53 174 742 302 67
-10000 533 700 854 488 110 765 755 444 261
-10000 248 925 148 290 641 419 745 702 695
-10000 467 132 531 788 930 605 573 271 852
-10000 115 478 588 726 326 150 669 996 149
-10000 538 755 822 678 182 18 922 322 746
-10000 999 924 538 552 915 942 503 940 947
-10000 276 843 89 451 726 376 991 866 656
-10000 362 397 400 309 36 984 983 31 298
-10000 148 74 756 899 271 609 405 914 943
-10000 296 528 152 450 94 608 487 38 424
-10000 350 909 313 892 890 131 574 381 308
-10000 942 774 454 972 878 1000 103 768 72
-10000 25 285 101 386 171 493 748 6 502
-10000 872 6 346 520 984 329 138 223 21
-10000 783 473 225 987 422 373 943 489 406
-10000 570 105 238 610 438 959 960 733 489
-10000 872 633 936 196 102 865 938 554 988
-10000 324 64 345 495 655 471 43 402 816
-10000 725 662 302 323 157 68 120 738 7
-10000 890 538 335 191 815 658 632 339 801
-10000 368 624 94 716 108 298 248 125 257
-10000 410 688 540 500 877 355 688 863 559
-10000 431 925 33 538 412 324 375 762 883
-10000 91 183 611 336 231 500 430 111 465
-10000 473 446 616 519 958 336 652 421 586
-10000 832 5 520 334 517 372 402 580 531
-10000 357 509 770 408 446 125 992 863 293
-10000 658 810 500 106 610 912 567 809 880
-10000 627 284 994 146 880 927 378 921 624
-10000 102 427 183 552 999 370 384 703 919
-10000 545 999 931 458 857 136 236 34 583
-10000 634 808 295 405 457 179 980 398 167
-10000 486 221 267 397 973 110 763 426 645
-10000 604 747 587 465 590 274 842 58 697
-10000 465 674 430 771 856 468 922 264 844
-10000 257 148 797 342 561 517 962 445 799
-10000 157 680 235 588 446 36 765 288 153
-10000 480 26 227 969 296 52 663 765 444
-10000 431 938 843 649 454 437 806 134 322
-10000 736 546 631 282 358 27 13 877 25
-10000 509 591 742 972 128 465 773 75 781
-10000 58 277 946 643 941 435 756 764 491
-10000 400 324 335 765 174 769 805 869 115
-10000 836 64 787 26 305 799 982 356 842
-10000 673 484 85 192 836 812 390 519 399
-10000 83 371 476 15 871 626 296 321 455
-10000 132 573 791 780 193 695 971 415 535
-10000 378 716 202 199 584 133 724 385 853
-10000 171 782 26 734 766 848 57 999 595
-10000 476 468 1000 931 928 289 716 899 515
-10000 91 2 318 310 703 734 829 237 238
-10000 812 857 569 388 812 700 349 326 814
-10000 68 228 321 500 277 631 486 826 741
-10000 73 647 889 459 181 529 837 708 523
-10000 491 994 263 266 869 676 837 355 241
-10000 189 913 734 585 182 242 390 392 218
-10000 54 762 67 363 28 164 238 927 356
-10000 276 600 910 155 335 834 366 683 928
-10000 11 702 747 253 769 392 848 165 698
-10000 628 352 533 426 586 929 238 246 963
-10000 484 901 746 490 95 905 287 703 137
-10000 126 390 784 235 180 633 60 851 463
-10000 424 906 421 940 762 565 75 537 729
-10000 650 369 81 521 876 806 585 117 272
-10000 658 742 523 157 998 378 316 362 515
-10000 771 794 418 649 817 129 416 571 269
-10000 717 748 37 345 170 836 587 732 850
-10000 504 744 493 889 184 318 886 571 874
-10000 509 996 251 107 703 506 475 906 261
-10000 878 325 283 48 756 362 792 555 539
-10000 535 160 470 335 918 803 845 936 377
-10000 704 864 128 173 672 199 307 59 879
-10000 772 942 278 870 373 488 186 487 76
-10000 607 848 602 226 28 758 606 922 215
-10000 194 184 409 79 239 366 396 827 53
-10000 713 20 512 801 206 186 938 510 914
-10000 245 351 404 3 495 918 621 978 322
-10000 675 104 375 731 866 461 36 174 907
-10000 389 733 795 911 446 64 374 446 411
-10000 344 79 538 9 140 631 665 975 440
-10000 921 20 889 378 822 889 10 832 876
-10000 211 287 387 333 73 942 628 215 90
-10000 163 966 16 122 355 926 73 511 45
-10000 572 424 655 204 880 792 61 724 984
-10000 441 890 747 63 914 972 701 300 821
-10000 402 526 499 770 291 424 426 900 57
-10000 887 391 854 95 798 310 28 4 796
-10000 747 513 888 87 856 571 841 856 580
-10000 568 915 643 355 897 517 732 183 570
-10000 304 273 612 857 325 1 783 485 622
-10000 661 341 394 221 79 553 238 305 905
-10000 888 951 432 66 433 145 150 515 343
-10000 696 764 693 75 270 448 849 311 372
-10000 304 823 228 358 842 23 590 977 953
-10000 396 676 481 128 756 622 131 425 228
-10000 643 763 803 725 79 971 775 221 418
-10000 799 577 77 795 243 593 899 255 463
-10000 963 891 231 582 491 787 281 773 2
-10000 724 978 280 112 909 886 607 97 974
-10000 540 45 314 187 230 538 767 285 435
-10000 452 859 661 19 500 674 490 244 150
-10000 359 712 94 302 727 49 812 446 466
-10000 269 356 853 869 951 563 719 760 33
-10000 524 508 19 788 346 479 918 714 182
-10000 905 886 491 372 423 217 347 595 710
-10000 134 508 1000 623 507 512 449 179 166
-10000 904 937 370 571 408 926 985 122 444
-10000 475 867 866 941 975 829 276 585 257
-10000 200 868 757 356 366 811 476 586 641
-10000 793 232 101 310 71 147 951 362 900
-10000 213 312 97 562 684 86 434 206 226
-10000 705 798 971 909 145 255 506 769 865
-10000 66 552 246 113 596 280 787 324 308
-10000 702 615 675 640 530 188 170 224 90
-10000 710 442 211 629 727 89 399 941 801
-10000 981 289 737 110 391 734 982 712 878
-10000 613 32 49 696 142 835 837 196 155
-10000 212 414 718 591 979 487 336 771 665
-10000 496 921 883 271 372 585 139 778 26
-10000 218 29 86 846 507 43 484 213 523
-10000 869 861 355 542 486 511 792 215 304
-10000 686 872 153 128 523 770 712 612 70
-10000 744 71 434 244 279 878 687 107 884
-10000 917 407 320 251 742 877 185 309 258
-10000 988 122 873 636 818 515 986 527 966
-10000 50 328 462 594 734 122 212 928 869
-10000 8 866 167 94 229 108 882 210 541
-10000 737 167 381 152 994 294 159 865 486
-10000 743 507 613 800 303 5 77 263 616
-10000 238 398 842 398 628 894 405 733 22
-10000 523 903 169 209 951 21 794 630 784
-10000 753 680 52 667 959 244 395 35 628
-10000 0 962 410 501 540 632 712 529 366
-10000 318 543 656 847 249 519 871 109 996
-10000 780 286 26 763 613 653 265 323 730
-10000 299 792 896 14 595 72 886 199 106
-10000 411 647 280 484 399 586 182 381 406
-10000 989 372 242 171 990 789 923 811 378
-10000 163 493 589 510 921 604 671 158 525
-10000 870 673 238 628 778 308 767 853 997
-10000 531 479 449 632 750 717 837 703 189
-10000 119 555 868 624 436 843 785 690 803
-10000 730 135 333 381 565 139 586 546 17
-10000 542 317 690 920 101 275 506 952 585
-10000 401 114 979 317 569 780 912 521 907
-10000 894 318 255 943 199 564 269 882 218
-10000 655 859 872 234 966 587 957 62 960
-10000 764 275 255 41 112 242 167 625 289
-10000 175 617 133 913 553 890 754 697 558
-10000 785 6 46 236 99 700 292 880 693
-10000 423 540 654 956 158 703 274 969 569
-10000 975 42 809 397 308 62 868 92 414
-10000 418 782 443 816 876 657 232 582 933
-10000 966 86 835 887 810 807 678 224 956
-10000 163 143 195 861 805 100 943 862 760
-10000 730 369 236 430 948 902 690 407 409
-10000 239 1000 97 821 997 528 156 596 19
-10000 935 665 966 9 692 355 251 396 848
-10000 654 257 72 372 799 361 410 320 591
-10000 281 297 345 94 78 694 956 118 512
-10000 860 467 276 198 235 570 646 389 565
-10000 812 761 219 767 16 633 982 55 610
-10000 306 456 632 928 712 802 185 824 694
-10000 136 47 274 840 93 350 787 424 132
-10000 323 151 671 25 370 317 578 139 680
-10000 613 401 46 883 66 259 962 300 52
-10000 748 796 873 686 739 543 476 426 989
-10000 668 873 813 278 167 579 956 340 285
-10000 640 294 152 294 719 443 703 912 45
-10000 982 399 899 985 244 214 128 102 801
-10000 144 301 901 322 720 784 91 182 689
-10000 489 664 556 509 629 362 23 359 791
-10000 385 166 871 677 482 16 739 151 718
-10000 802 789 112 697 372 550 130 356 210
-10000 528 252 672 480 593 137 110 709 286
-10000 402 620 111 672 356 805 78 100 214
-10000 872 530 881 283 686 990 65 693 220
-10000 268 180 366 178 829 138 315 59 642
-10000 768 106 812 117 64 173 290 878 203
-10000 112 431 664 468 35 498 522 333 786
-10000 875 67 677 694 961 961 467 759 687
-10000 555 392 903 174 45 199 865 320 644
-10000 236 362 316 704 639 712 2 335 904
-10000 851 978 759 53 515 185 694 585 846
-10000 762 324 229 914 60 381 332 307 532
-10000 914 764 492 822 221 626 360 877 424
-10000 287 201 400 73 938 181 839 774 503
-10000 807 329 303 136 21 845 856 813 723
-10000 176 954 715 53 530 516 665 609 481
-10000 991 746 755 207 706 612 185 229 681
-10000 499 97 944 31 164 872 885 266 838
-10000 400 21 617 377 188 861 464 208 687
-10000 364 618 369 481 943 537 862 791 56
-10000 51 339 799 512 362 271 288 810 200
-10000 730 487 59 404 72 630 594 257 653
-10000 149 775 152 63 204 304 732 899 164
-10000 124 430 8 770 693 131 991 991 327
-10000 256 643 881 146 528 365 542 380 407
-10000 700 265 737 532 78 549 808 785 558
-10000 352 134 433 539 587 514 97 806 579
-10000 714 432 7 808 193 102 836 859 43
-10000 461 12 763 20 265 189 704 328 158
-10000 482 344 986 207 355 622 728 287 102
-10000 700 910 209 75 767 502 125 686 454
-10000 65 756 637 182 244 936 373 981 60
-10000 832 734 48 709 828 117 114 857 801
-10000 113 106 438 196 45 840 133 855 69
-10000 677 462 425 808 722 803 482 399 211
-10000 580 537 141 79 808 357 774 575 883
-10000 772 68 19 58 10 136 544 714 64
-10000 663 922 691 993 100 520 861 613 368
-10000 443 580 403 635 688 456 794 552 160
-10000 302 654 965 865 25 407 766 184 45
-10000 804 195 407 409 53 206 88 961 175
-10000 39 35 793 297 761 124 48 791 356
-10000 908 415 796 42 990 195 200 247 255
-10000 981 980 262 37 429 575 596 260 786
-10000 145 976 497 469 949 276 664 730 468
-10000 18 806 997 350 424 545 124 443 548
-10000 162 244 179 820 709 866 720 995 901
-10000 369 78 227 293 57 211 279 883 452
-10000 168 329 930 325 301 318 99 119 314
-10000 627 478 683 988 943 977 8 786 205
-10000 62 745 344 291 474 641 211 515 737
-10000 936 204 729 364 793 241 828 471 682
-10000 862 578 240 684 144 301 209 910 74
-10000 366 309 999 240 67 374 367 44 384
-10000 405 262 944 231 706 19 866 61 714
-10000 573 645 285 517 746 321 6 152 389
-10000 106 160 928 219 448 15 224 104 604
-10000 246 921 190 279 776 70 943 199 341
-10000 300 354 122 912 222 548 126 110 312
-10000 291 129 972 113 860 32 973 669 590
-10000 310 862 713 392 130 30 60 155 330
-10000 967 689 369 972 841 811 216 340 849
-10000 475 635 434 664 514 155 687 569 956
-10000 339 538 828 685 873 855 466 704 587
-10000 356 106 734 65 596 548 638 80 478
-10000 75 748 492 642 807 470 245 298 559
-10000 603 516 737 957 546 383 821 425 880
-10000 473 648 866 1000 880 175 717 438 753
-10000 886 75 763 210 802 938 36 26 344
-10000 109 195 943 419 447 763 212 960 826
-10000 566 771 617 703 681 368 195 771 361
-10000 585 110 985 405 802 53 665 621 602
-10000 276 266 287 409 515 929 534 204 170
-10000 401 363 232 672 316 679 982 784 407
-10000 290 90 243 986 297 269 399 862 855
-10000 310 775 555 234 286 665 993 155 151
-10000 741 568 996 590 27 891 268 409 544
-10000 105 291 87 384 546 771 323 75 865
-10000 276 607 58 704 981 589 784 957 179
-10000 162 552 292 654 302 953 303 818 260
-10000 192 709 196 275 849 54 91 223 610
-10000 895 336 37 620 834 167 640 80 463
-10000 82 646 520 663 170 726 188 884 543
-10000 789 6 347 648 379 863 111 278 568
-10000 921 838 288 416 998 60 22 424 358
-10000 872 701 841 573 267 748 7 144 837
-10000 362 517 440 701 167 254 49 360 306
-10000 993 178 447 825 541 669 909 159 411
-10000 557 691 111 147 105 925 847 144 794
-10000 604 452 579 131 891 423 27 386 86
-10000 615 916 853 595 978 125 632 924 965
-10000 876 610 325 907 910 237 660 634 410
-10000 806 370 162 438 834 138 526 96 731
-10000 614 938 732 815 35 197 658 124 475
-10000 872 219 1 766 419 834 167 900 109
-10000 199 649 678 566 358 619 208 680 512
-10000 677 87 71 256 554 309 137 142 921
-10000 229 310 468 845 154 788 572 819 411
-10000 882 538 236 451 712 124 973 982 988
-10000 343 220 242 421 72 201 730 17 845
-10000 556 449 298 35 795 147 719 644 184
-10000 722 974 607 731 872 192 806 764 31
-10000 898 827 365 607 852 499 785 395 110
-10000 624 397 641 140 330 569 644 871 860
-10000 634 229 735 178 667 587 236 229 596
-10000 425 613 558 609 562 197 526 537 692
-10000 679 965 270 801 610 881 838 675 391
-10000 832 821 656 396 711 161 646 862 241
-10000 625 232 669 339 29 899 698 4 334
-10000 451 528 931 333 49 664 184 961 268
-10000 163 64 218 858 272 484 84 167 260
-10000 126 468 793 94 833 543 195 350 627
-10000 942 262 965 195 183 246 246 233 133
-10000 4 383 600 153 764 90 482 888 225
-10000 429 439 602 783 357 342 231 385 451
-10000 603 340 371 48 760 426 196 525 926
-10000 823 253 293 68 472 971 922 267 642
-10000 128 46 823 694 397 690 863 671 43
-10000 634 559 899 985 623 612 538 397 622
-10000 242 497 285 95 626 421 754 81 164
-10000 776 746 582 512 314 652 712 946 521
-10000 764 776 474 137 948 697 54 145 626
-10000 244 596 370 84 912 297 429 760 551
-10000 816 323 504 967 380 495 289 200 74
-10000 831 497 751 581 143 139 202 580 930
-10000 905 919 599 853 573 474 69 507 994
-10000 792 578 147 718 495 274 491 414 194
-10000 484 69 648 982 227 990 636 732 515
-10000 631 632 810 616 185 404 204 312 723
-10000 545 844 536 917 592 16 704 731 198
-10000 750 820 959 540 186 521 732 407 148
-10000 828 838 376 638 21 728 183 894 17
-10000 264 902 864 471 46 455 982 57 443
-10000 269 218 427 177 677 635 566 407 667
-10000 319 797 172 818 502 100 155 224 46
-10000 856 939 302 741 355 158 408 271 167
-10000 312 173 96 495 210 699 766 820 645
-10000 680 588 919 354 290 418 632 499 381
-10000 289 392 581 109 874 206 909 88 147
-10000 781 144 578 570 317 872 215 784 894
-10000 187 505 663 788 300 743 12 141 986
-10000 423 541 319 200 836 113 231 614 38
-10000 303 419 853 195 865 866 123 941 761
-10000 677 695 386 38 443 560 569 261 570
-10000 831 283 941 998 676 474 352 997 56
-10000 194 246 427 348 814 928 703 99 952
-10000 917 994 893 787 650 181 331 245 652
-10000 593 986 102 366 147 492 340 59 572
-10000 246 805 690 465 202 750 184 508 51
-10000 793 434 336 49 337 533 125 893 644
-10000 679 395 492 821 22 851 192 620 877
-10000 336 984 436 887 393 980 134 834 885
-10000 466 753 883 740 424 531 587 179 556
-10000 562 582 221 430 6 898 480 193 779
-10000 911 779 266 960 238 818 488 598 551
-10000 234 493 789 227 82 500 407 660 618
-10000 352 356 511 159 673 124 36 428 31
-10000 474 854 651 666 2 798 862 891 952
-10000 983 90 262 321 290 679 117 3 405
-10000 425 936 973 694 781 812 320 909 811
-10000 520 301 471 395 57 371 275 324 253
-10000 457 482 20 505 468 606 457 814 577
-10000 289 498 164 627 472 151 977 124 511
-10000 28 167 837 408 207 822 603 492 285
-10000 957 371 161 919 530 466 60 604 824
-10000 366 595 753 92 10 381 573 426 568
-10000 486 504 408 580 159 127 675 664 582
-10000 872 4 563 31 156 110 747 625 648
-10000 902 794 564 744 382 175 848 153 975
-10000 269 937 928 379 448 854 643 583 420
-10000 802 24 344 139 570 29 469 730 490
-10000 238 237 870 648 565 306 515 100 721
-10000 734 768 349 161 721 162 46 290 800
-10000 925 200 511 143 722 234 213 325 300
-10000 711 318 930 476 193 513 628 435 1
-10000 3 946 575 445 321 187 883 177 811
-10000 119 530 915 820 471 163 804 515 325
-10000 166 327 111 48 219 325 696 72 876
-10000 204 23 850 656 128 399 14 154 562
-10000 128 878 378 317 981 395 956 885 408
-10000 95 7 758 275 668 820 695 751 868
-10000 56 868 928 622 813 216 763 614 361
-10000 110 426 96 412 400 884 648 321 370
-10000 133 485 691 982 390 281 107 796 963
-10000 796 914 854 341 869 812 155 982 824
-10000 990 406 11 58 902 425 987 711 687
-10000 943 932 978 955 636 738 243 953 980
-10000 790 498 305 539 434 721 786 149 921
-10000 944 216 702 596 571 29 130 689 535
-10000 112 881 413 990 648 551 361 904 742
-10000 36 672 272 913 818 475 280 404 20
-10000 551 228 422 168 545 466 917 724 769
-10000 872 431 494 238 964 833 632 829 726
-10000 936 895 782 102 596 89 732 72 739
-10000 356 174 889 580 607 510 501 91 689
-10000 202 412 348 335 956 466 669 393 126
-10000 805 570 48 315 612 179 727 465 494
-10000 91 375 398 726 485 567 61 822 416
-10000 970 998 287 54 435 761 246 894 355
-10000 108 19 411 302 239 940 675 579 650
-10000 528 179 174 322 574 844 362 324 778
-10000 71 772 43 930 518 552 509 237 670
-10000 51 216 884 202 645 217 912 310 702
-10000 440 436 854 987 378 892 514 836 871
-10000 344 176 183 841 327 671 860 386 614
-10000 394 150 919 165 609 296 964 610 23
-10000 175 564 953 614 539 741 409 655 600
-10000 832 469 16 428 952 693 750 499 677
-10000 842 916 522 574 630 895 79 16 731
-10000 778 563 90 14 61 775 629 389 457
-10000 416 398 466 216 27 758 582 338 372
-10000 424 487 190 392 782 315 991 468 871
-10000 739 532 312 13 574 828 731 374 836
-10000 647 196 679 167 13 72 968 413 454
-10000 77 588 885 426 706 469 385 258 318
-10000 958 3 376 247 629 418 956 192 14
-10000 849 966 38 433 617 518 875 643 404
-10000 883 319 261 226 693 285 721 653 479
-10000 753 57 95 720 8 502 665 493 6
-10000 676 633 644 836 246 471 281 961 88
-10000 882 191 427 539 451 946 121 565 235
-10000 526 602 876 94 368 200 49 878 912
-10000 701 11 568 674 936 174 439 197 855
-10000 164 83 922 477 511 178 997 536 223
-10000 297 512 91 706 161 327 330 560 509
-10000 796 286 454 666 634 917 344 286 721
-10000 32 676 11 803 403 485 183 802 450
-10000 832 620 480 797 747 108 216 22 245
-10000 64 746 918 62 194 200 526 597 848
-10000 750 295 642 101 939 173 492 821 357
-10000 806 791 799 176 166 717 618 248 88
-10000 157 253 441 68 884 5 362 936 987
-10000 782 335 739 615 22 305 344 200 402
-10000 881 51 880 96 66 406 264 65 75
-10000 719 238 439 836 270 553 784 457 530
-10000 157 542 78 859 216 829 26 239 646
-10000 253 112 847 671 0 937 977 900 420
-10000 354 642 490 424 243 724 541 448 643
-10000 402 494 580 678 27 328 194 378 257
-10000 732 979 904 256 903 880 629 162 270
-10000 257 198 624 398 297 713 193 122 600
-10000 111 355 576 471 576 613 896 406 620
-10000 521 522 199 68 808 723 250 487 428
-10000 469 439 686 927 299 968 548 503 861
-10000 80 132 323 349 400 957 796 983 617
-10000 65 353 136 668 45 731 778 785 26
-10000 503 352 804 756 283 901 39 33 401
-10000 668 386 593 86 347 637 736 403 50
-10000 102 730 587 216 864 519 357 990 913
-10000 923 857 471 912 214 878 985 581 368
-10000 909 4 366 299 415 781 568 424 266
-10000 170 967 931 587 556 910 285 540 931
-10000 359 550 255 101 81 189 111 104 702
-10000 124 775 254 25 177 128 182 441 163
-10000 878 715 385 251 347 824 208 119 877
-10000 32 482 861 776 515 329 596 859 925
-10000 634 570 321 132 754 477 652 788 817
-10000 627 636 517 378 395 311 194 79 24
-10000 865 604 258 163 208 881 127 213 789
-10000 864 994 647 777 216 971 926 270 501
-10000 908 301 316 97 405 599 539 181 743
-10000 420 246 989 88 674 26 99 424 763
-10000 185 242 538 726 655 796 693 288 730
-10000 765 130 331 310 524 823 133 342 316
-10000 789 350 985 90 119 6 364 495 660
-10000 956 269 895 196 576 83 168 445 117
-10000 329 516 954 41 702 594 788 572 186
-10000 245 892 247 931 313 234 21 335 194
-10000 231 803 866 723 86 473 76 75 365
-10000 863 9 328 613 597 477 850 665 819
-10000 561 911 625 892 249 280 485 609 520
-10000 429 32 894 734 898 706 824 639 538
-10000 90 982 475 895 534 579 4 60 724
-10000 334 641 5 488 153 641 664 15 514
-10000 23 884 352 38 704 56 630 827 301
-10000 168 824 166 101 436 842 886 147 195
-10000 799 860 535 797 781 163 238 955 957
-10000 659 187 1 570 98 524 315 617 957
-10000 536 274 265 449 82 246 91 94 144
-10000 278 325 978 437 938 29 350 33 377
-10000 951 324 423 427 197 839 751 312 429
-10000 946 399 677 8 526 828 305 831 102
-10000 894 776 762 343 69 399 232 34 619
-10000 467 723 446 798 555 350 725 870 243
-10000 724 787 290 622 766 471 47 820 969
-10000 614 692 539 744 244 873 932 306 44
-10000 314 852 495 136 911 5 357 371 591
-10000 148 870 545 827 238 454 906 50 707
-10000 183 786 86 698 999 821 33 937 398
-10000 244 458 676 506 538 342 789 612 377
-10000 935 95 199 65 525 656 592 439 783
-10000 400 891 418 653 535 881 322 562 217
-10000 590 484 947 512 766 219 1 865 502
-10000 717 965 717 401 148 417 654 549 88
-10000 835 175 804 18 428 714 839 38 382
-10000 903 921 986 853 821 680 468 291 452
-10000 830 229 103 372 411 930 147 457 899
-10000 19 693 702 630 994 787 636 670 812
-10000 563 630 977 667 731 52 781 902 799
-10000 165 667 528 785 128 309 623 302 819
-10000 203 558 231 532 156 19 64 765 441
-10000 513 433 381 199 726 600 949 240 986
-10000 286 461 436 14 330 376 628 506 470
-10000 423 344 870 129 195 975 102 174 272
-10000 601 23 937 821 175 228 837 142 48
-10000 839 822 591 290 410 576 947 955 683
-10000 202 888 72 107 796 224 938 428 337
-10000 201 957 469 252 560 343 106 404 85
-10000 488 849 298 335 576 250 181 895 135
-10000 619 322 892 165 898 701 618 404 348
-10000 99 826 907 18 137 419 867 43 538
-10000 958 668 11 11 567 843 236 463 695
-10000 561 951 316 337 122 727 48 747 879
-10000 943 172 450 185 152 296 294 893 204
-10000 275 839 338 586 340 337 92 529 699
-10000 534 661 626 557 280 261 611 706 526
-10000 168 480 791 523 963 107 412 449 605
-10000 785 801 946 294 583 54 243 721 257
-10000 603 266 133 666 329 767 810 379 586
-10000 660 918 364 95 827 624 652 625 940
-10000 473 805 135 808 689 671 66 276 86
-10000 618 732 410 542 566 614 27 818 590
-10000 98 442 870 758 391 925 991 127 426
-10000 78 204 518 409 648 441 777 168 563
-10000 593 697 356 553 94 512 685 829 364
-10000 99 341 331 909 665 791 80 506 706
-10000 945 639 191 454 97 271 959 989 994
-10000 627 48 463 366 208 472 381 740 743
-10000 30 442 442 309 289 211 574 109 311
-10000 641 125 450 333 421 564 856 498 949
-10000 946 315 522 404 374 176 846 538 579
-10000 773 824 314 778 276 480 180 235 286
-10000 940 605 780 169 556 18 620 522 104
-10000 53 628 371 877 912 52 361 1000 113
-10000 748 948 827 651 551 931 505 693 654
-10000 510 162 108 557 590 644 769 550 730
-10000 823 928 954 469 211 241 239 596 55
-10000 172 835 460 567 46 529 983 735 276
-10000 872 93 663 411 699 298 164 136 107
-10000 783 928 586 250 955 652 158 121 658
-10000 827 770 357 479 801 865 974 562 589
-10000 983 607 818 591 323 284 498 415 460
-10000 342 252 520 822 708 868 536 328 798
-10000 720 416 641 57 628 168 296 226 239
-10000 327 656 881 302 608 207 708 274 341
-10000 750 176 136 956 773 528 789 793 422
-10000 156 887 377 297 131 110 809 887 676
-10000 565 4 751 179 543 957 871 340 194
-10000 660 744 790 763 285 189 462 815 716
-10000 963 704 464 948 52 902 599 87 659
-10000 491 719 691 331 771 309 25 34 56
-10000 179 762 934 654 652 684 25 941 838
-10000 114 188 681 261 392 876 497 231 321
-10000 182 662 44 824 447 505 346 547 390
-10000 438 400 840 263 619 956 892 701 487
-10000 0 602 516 733 726 409 124 134 242
-10000 243 497 247 312 222 11 134 410 342
-10000 492 112 110 325 681 509 459 832 761
-10000 241 146 690 38 500 494 801 854 977
-10000 219 474 287 986 347 488 42 180 692
-10000 982 923 192 215 991 763 369 701 555
-10000 614 215 62 87 806 618 623 843 163
-10000 157 843 759 791 733 58 840 418 274
-10000 529 544 464 492 526 948 818 313 280
-10000 985 325 502 480 476 900 267 508 728
-10000 316 774 627 112 591 950 456 613 17
-10000 270 327 765 489 657 723 463 328 153
-10000 189 510 183 285 960 517 591 11 393
-10000 15 762 387 597 858 43 536 733 381
-10000 37 772 825 614 989 527 785 784 909
-10000 691 835 271 240 493 815 456 22 267
-10000 282 52 664 431 988 102 454 922 814
-10000 719 67 372 588 244 499 428 490 288
-10000 251 355 16 448 100 213 994 764 396
-10000 878 335 52 442 518 505 44 241 914
-10000 734 417 347 978 668 253 277 83 472
-10000 727 642 576 904 778 459 31 30 742
-10000 358 17 617 678 292 994 90 21 349
-10000 485 77 315 902 812 8 506 622 565
-10000 838 203 256 825 70 285 205 600 128
-10000 391 537 927 835 502 963 299 655 180
-10000 938 849 620 129 667 416 945 964 332
-10000 190 434 403 779 319 680 619 764 281
-10000 545 693 333 348 169 14 62 511 80
-10000 945 892 471 464 211 748 607 71 936
-10000 908 918 749 463 375 620 406 734 589
-10000 190 642 454 140 556 863 89 498 579
-10000 113 286 827 608 94 77 355 421 424
-10000 642 668 167 36 968 788 431 720 294
-10000 664 860 249 520 189 327 715 908 935
-10000 225 56 204 862 628 253 578 504 279
-10000 426 932 207 691 982 933 86 260 577
-10000 118 521 10 869 907 411 103 635 132
-10000 507 385 998 519 630 997 126 462 627
-10000 724 948 10 448 443 947 465 944 477
-10000 289 164 991 975 802 138 504 560 258
-10000 489 565 234 225 333 796 376 348 77
-10000 430 896 871 600 665 871 828 215 597
-10000 23 783 444 824 309 67 694 106 825
-10000 877 636 371 428 718 552 563 340 519
-10000 904 129 492 497 104 525 896 400 817
-10000 672 880 122 120 317 371 521 303 969
-10000 474 671 820 111 103 775 494 932 78
-10000 534 421 4 285 872 565 632 343 680
-10000 533 793 468 796 922 801 203 438 669
-10000 152 35 880 564 800 201 607 719 34
-10000 164 10 296 547 828 780 873 540 101
-10000 704 53 767 19 79 880 772 259 248
-10000 844 646 946 878 982 577 167 997 851
-10000 985 696 618 556 390 318 727 295 353
-10000 364 414 53 359 905 547 464 94 536
-10000 546 791 423 427 54 561 852 86 53
-10000 710 283 615 6 297 899 561 482 413
-10000 726 838 784 730 905 755 71 132 825
-10000 519 792 41 500 762 771 669 768 765
-10000 679 847 798 870 751 532 954 4 883
-10000 956 786 719 596 785 445 833 912 679
-10000 609 323 848 798 8 27 262 848 604
-10000 56 924 664 793 14 605 462 322 160
-10000 519 996 19 793 544 513 375 73 122
-10000 425 386 509 508 542 65 811 785 924
-10000 229 629 336 517 338 607 928 270 63
-10000 623 192 724 549 628 504 38 274 4
-10000 529 691 56 998 462 785 373 782 592
-10000 412 481 469 964 274 448 121 780 81
-10000 734 974 559 338 150 212 781 650 284
-10000 635 210 517 604 296 863 269 51 935
-10000 515 176 752 427 563 253 53 225 523
-10000 998 325 658 560 318 65 161 442 145
-10000 918 173 50 497 260 931 154 477 47
-10000 22 962 523 724 253 434 544 115 750
-10000 762 253 245 635 814 552 763 162 590
-10000 56 479 129 617 167 802 22 290 999
-10000 87 250 565 311 268 398 585 340 451
-10000 500 316 837 935 300 405 805 625 196
-10000 598 349 135 839 45 755 414 389 848
-10000 483 390 925 462 312 572 803 10 11
-10000 497 962 644 540 456 116 686 84 479
-10000 506 59 508 339 671 915 346 827 351
-10000 799 482 0 586 720 604 837 133 649
-10000 846 870 830 806 343 49 728 999 903
-10000 239 127 950 258 281 282 309 414 647
-10000 51 364 719 404 159 15 808 438 223
-10000 348 526 377 146 151 562 892 246 850
-10000 118 632 733 772 58 934 39 34 984
-10000 117 428 100 174 470 991 306 771 458
-10000 308 707 151 522 182 319 790 783 786
-10000 109 204 788 445 542 236 115 5 614
-10000 294 206 482 682 835 351 75 331 74
-10000 876 548 511 940 470 642 886 513 246
-10000 964 227 814 88 723 606 423 751 535
-10000 545 242 819 510 400 389 484 672 196
-10000 74 435 129 593 693 224 44 787 398
-10000 267 1 185 566 49 103 713 611 138
-10000 315 293 153 881 802 808 85 34 410
-10000 965 176 274 195 533 249 537 392 705
-10000 298 653 915 969 104 630 994 849 214
-10000 243 403 205 552 469 623 846 474 687
-10000 797 56 221 951 929 435 645 834 549
-10000 752 226 451 897 734 409 125 643 532
-10000 971 523 919 555 467 603 993 796 459
-10000 527 322 269 807 278 18 650 533 959
-10000 747 976 124 413 460 447 205 359 475
-10000 260 230 82 329 971 475 494 569 172
-10000 889 33 935 559 36 764 85 941 27
-10000 832 130 280 256 232 99 144 787 745
-10000 273 640 935 226 318 707 689 948 192
-10000 689 927 668 582 31 161 749 527 63
-10000 318 840 557 101 121 460 885 586 61
-10000 322 292 701 823 950 672 42 439 298
-10000 981 418 480 867 998 48 636 239 188
-10000 32 705 375 234 291 208 755 931 290
-10000 746 50 462 734 141 281 861 637 358
-10000 649 312 719 298 645 821 365 404 359
-10000 650 311 212 306 790 930 507 703 797
-10000 367 13 709 607 934 983 181 61 242
-10000 274 697 74 398 780 468 682 134 616
-10000 438 913 941 43 222 900 440 662 160
-10000 686 249 504 646 749 527 751 390 158
-10000 759 592 538 385 224 43 358 802 108
-10000 262 334 354 902 1000 243 772 445 181
-10000 523 106 63 917 108 842 402 580 863
-10000 923 1000 474 121 493 515 612 968 161
-10000 603 74 794 208 143 773 588 332 279
-10000 536 682 731 764 12 870 678 682 111
-10000 773 714 146 0 852 798 150 776 996
-10000 338 492 172 482 677 500 86 810 599
-10000 634 348 694 490 164 615 438 584 109
-10000 367 661 849 888 14 629 135 90 879
-10000 68 12 550 871 914 812 355 848 399
-10000 819 66 363 955 822 686 449 847 758
-10000 390 806 637 966 774 116 844 372 278
-10000 953 159 388 436 280 386 704 189 320
-10000 161 522 475 687 155 940 63 744 455
-10000 521 162 597 961 985 266 715 997 82
-10000 943 351 766 780 447 434 215 806 439
-10000 970 241 698 80 928 837 408 663 921
-10000 297 612 480 180 826 121 593 690 845
-10000 72 666 571 968 237 216 983 280 102
-10000 796 469 439 541 268 500 739 760 919
-10000 872 347 955 693 138 267 262 78 480
-10000 820 341 597 704 696 807 715 587 286
-10000 582 487 159 332 151 404 687 690 293
-10000 574 569 682 57 31 249 893 411 182
-10000 783 80 612 553 571 141 559 47 762
-10000 204 857 426 725 696 404 506 446 322
-10000 107 413 971 180 164 269 687 22 581
-10000 952 632 544 278 367 601 803 979 111
-10000 60 56 208 379 229 128 900 520 880
-10000 478 429 520 72 485 555 419 53 634
-10000 244 954 645 208 855 751 166 326 542
-10000 775 300 819 297 944 334 789 597 116
-10000 387 195 703 971 692 124 513 833 213
-10000 521 668 675 150 737 922 402 292 25
-10000 861 532 680 760 673 756 371 240 963
-10000 330 695 359 801 409 266 987 635 611
-10000 291 910 551 577 248 0 101 962 922
-10000 134 967 343 380 357 516 165 146 316
-10000 883 528 305 133 865 381 635 780 519
-10000 974 941 374 481 171 777 401 314 774
-10000 435 284 308 499 706 201 737 528 887
-10000 158 224 51 921 896 446 569 219 973
-10000 607 976 576 999 231 243 74 873 773
-10000 46 251 632 991 917 492 177 127 529
-10000 94 771 212 894 865 619 355 868 185
-10000 879 488 80 450 173 964 919 554 197
-10000 515 324 754 661 178 826 574 31 118
-10000 153 103 953 100 37 77 540 344 647
-10000 714 706 435 474 831 601 540 995 779
-10000 341 942 912 153 749 336 98 251 139
-10000 402 644 739 604 363 315 57 849 427
-10000 824 66 441 897 969 951 332 626 540
-10000 893 202 623 751 378 641 594 247 12
-10000 26 267 724 10 575 544 515 487 321
-10000 78 583 28 403 82 740 980 626 191
-10000 437 457 557 613 643 509 533 419 632
-10000 279 316 584 690 911 344 590 592 574
-10000 432 761 107 361 113 968 569 876 975
-10000 837 292 275 606 187 860 627 66 436
-10000 605 295 163 785 24 111 302 289 182
-10000 754 825 548 983 401 696 20 704 880
-10000 253 199 138 222 427 804 415 968 736
-10000 350 580 655 701 978 263 496 792 60
-10000 150 465 865 802 71 954 908 440 782
-10000 280 280 431 68 860 533 426 609 229
-10000 304 56 670 669 13 260 11 810 701
-10000 169 271 1 717 74 597 30 372 778
-10000 829 771 84 736 368 7 205 625 825
-10000 286 676 292 815 612 913 622 653 842
-10000 967 877 54 419 23 549 838 259 937
-10000 985 224 612 460 202 167 789 660 583
-10000 575 914 219 374 834 23 906 75 511
-10000 402 528 485 807 725 329 213 100 967
-10000 927 687 633 483 52 729 902 502 662
-10000 842 54 719 930 19 129 68 158 31
-10000 111 745 985 173 312 737 941 87 968
-10000 250 48 382 844 30 660 471 992 737
-10000 582 710 343 325 78 825 274 324 930
-10000 744 108 944 202 96 285 820 242 975
-10000 463 581 145 941 930 208 927 120 898
-10000 310 805 627 187 271 482 805 938 238
-10000 356 902 167 400 928 700 674 899 934
-10000 231 908 586 116 395 540 369 33 583
-10000 452 34 821 985 190 228 632 748 829
-10000 905 230 151 635 10 73 693 6 940
-10000 134 384 318 654 622 752 791 563 507
-10000 83 797 654 353 825 349 530 340 253
-10000 481 216 482 994 983 544 733 405 339
-10000 93 650 457 726 975 759 947 25 720
-10000 633 250 644 256 112 982 856 874 529
-10000 95 487 873 7 537 681 833 39 997
-10000 295 763 2 286 562 292 762 440 25
-10000 928 651 352 11 683 416 146 424 114
-10000 554 361 11 538 443 958 684 32 859
-10000 286 973 460 460 511 421 974 904 373
-10000 343 67 136 816 444 663 60 154 855
-10000 469 925 978 530 916 782 412 353 753
-10000 533 632 218 584 442 462 821 447 461
-10000 395 199 164 551 736 843 623 321 840
-10000 45 886 694 927 656 599 615 573 780
-10000 2 383 812 33 231 295 249 247 730
-10000 729 335 475 987 844 723 783 115 848
-10000 525 249 617 242 682 39 761 320 739
-10000 875 692 598 459 967 560 276 825 980
-10000 84 481 35 279 153 769 755 140 931
-10000 632 203 133 494 176 398 232 454 328
-10000 358 38 496 59 752 592 443 796 126
-10000 821 242 708 632 885 277 793 347 51
-10000 571 529 424 286 194 22 421 496 812
-10000 639 212 56 244 462 483 654 189 2
-10000 997 7 980 189 710 269 644 633 197
-10000 597 342 692 724 227 94 679 535 829
-10000 554 522 218 132 930 370 371 339 781
-10000 890 48 995 991 443 394 248 143 997
-10000 374 16 34 641 639 892 289 370 761
-10000 896 463 570 295 837 823 205 974 531
-10000 967 411 665 479 670 212 598 425 387
-10000 800 851 772 461 407 214 735 774 102
-10000 746 374 518 159 328 300 128 590 934
-10000 720 468 713 66 443 827 84 904 230
-10000 619 819 846 326 732 409 777 19 589
-10000 23 706 762 233 62 71 894 776 43
-10000 677 0 354 35 808 248 203 230 122
-10000 526 258 342 407 171 147 37 723 986
-10000 549 959 34 424 759 70 224 503 69
-10000 706 207 129 290 321 864 707 270 550
-10000 800 582 451 287 313 426 368 863 294
-10000 966 243 869 340 362 617 509 98 860
-10000 565 309 174 916 808 28 598 490 533
-10000 952 218 645 233 681 906 956 984 963
-10000 930 763 48 356 159 762 407 891 297
-10000 463 707 447 131 753 798 741 905 490
-10000 76 589 502 15 8 373 600 701 289
-10000 35 698 193 106 275 18 390 942 886
-10000 540 497 1000 796 450 643 990 405 399
-10000 154 855 724 561 159 365 373 745 373
-10000 763 148 532 611 538 192 86 587 126
-10000 688 732 166 354 834 276 285 679 607
-10000 837 198 386 306 290 724 436 31 424
-10000 255 616 350 187 403 314 858 395 393
-10000 291 594 329 137 547 375 420 161 21
-10000 333 556 478 746 761 673 807 129 160
-10000 288 979 830 381 454 247 393 672 869
-10000 435 100 785 28 880 229 255 214 542
-10000 634 926 70 447 331 71 944 892 352
-10000 644 474 295 149 841 65 454 723 252
-10000 109 995 613 158 174 907 654 239 997
-10000 834 668 836 545 966 449 846 306 309
-10000 983 570 514 643 216 860 742 727 636
-10000 905 290 321 724 966 419 314 543 831
-10000 679 787 568 24 937 196 100 978 984
-10000 632 130 421 615 572 223 335 985 696
-10000 23 24 519 143 687 855 693 19 797
-10000 905 663 962 651 488 327 985 763 421
-10000 529 300 156 734 678 852 244 534 448
-10000 956 541 308 927 890 145 211 965 323
-10000 120 397 854 23 707 285 46 989 243
-10000 189 805 708 214 766 905 120 619 512
-10000 102 943 554 209 87 706 675 405 102
-10000 546 974 141 912 662 577 599 476 786
-10000 405 460 150 250 639 967 194 670 93
-10000 911 485 429 419 543 505 697 734 87
-10000 9 563 379 310 693 158 487 38 454
-10000 648 127 378 954 985 897 573 200 815
-10000 609 386 911 7 0 907 64 886 68
-10000 275 927 404 338 621 191 275 429 41
-10000 911 636 975 520 499 849 307 475 202
-10000 470 827 656 660 227 644 521 793 660
-10000 182 309 321 580 961 666 779 153 366
-10000 663 75 810 380 197 411 10 625 979
-10000 803 579 403 291 891 773 750 958 207
-10000 961 131 615 577 792 274 104 946 140
-10000 491 399 934 87 434 612 147 613 203
-10000 342 75 711 142 566 354 256 660 373
-10000 479 824 688 311 300 534 259 363 535
-10000 393 414 391 39 610 571 579 940 675
-10000 965 619 128 734 156 95 691 442 434
-10000 166 115 507 256 582 896 149 839 470
-10000 942 91 243 805 236 657 764 867 171
-10000 481 739 920 224 480 287 501 904 839
-10000 321 377 753 641 975 973 473 361 431
-10000 796 862 668 198 868 150 102 520 641
-10000 341 280 906 687 600 796 236 641 238
-10000 922 515 863 506 71 516 77 182 662
-10000 701 314 782 843 118 119 843 6 423
-10000 112 192 970 713 759 64 585 861 100
-10000 374 79 871 372 361 6 235 239 143
-10000 87 525 491 159 909 290 520 76 73
-10000 680 9 914 458 521 461 560 774 431
-10000 640 446 427 891 636 928 716 481 602
-10000 322 124 159 27 1 772 282 112 302
-10000 6 394 880 221 715 388 521 265 228
-10000 291 868 738 23 667 373 328 937 493
-10000 845 947 276 98 687 19 480 167 492
-10000 336 427 36 817 148 611 431 568 388
-10000 773 505 747 151 141 653 637 195 77
-10000 617 332 740 411 800 740 879 448 390
-10000 443 377 386 706 338 913 518 114 842
-10000 673 179 602 731 285 302 843 865 561
-10000 794 258 608 962 450 375 509 771 653
-10000 624 278 214 500 277 862 867 708 378
-10000 351 502 57 663 524 5 442 825 78
-10000 937 451 96 552 34 761 932 511 223
-10000 398 351 980 693 510 48 728 248 286
-10000 95 326 228 672 427 401 127 321 659
-10000 950 951 703 282 314 952 752 70 456
-10000 203 881 522 429 303 218 589 175 588
-10000 971 997 394 645 677 542 108 957 329
-10000 806 670 873 440 931 248 937 993 282
-10000 469 64 842 226 522 841 418 228 955
-10000 530 951 764 561 595 608 145 943 321
-10000 207 301 349 979 128 362 894 769 782
-10000 506 658 732 452 424 734 986 862 744
-10000 665 569 48 867 839 586 376 819 256
-10000 656 636 168 659 42 11 552 492 688
-10000 448 159 900 833 489 642 368 257 519
-10000 128 580 22 696 841 763 529 807 83
-10000 638 139 667 778 89 63 67 560 914
-10000 851 496 243 756 607 2 611 551 533
-10000 890 279 326 575 575 50 665 886 807
-10000 39 135 92 841 970 534 867 216 822
-10000 228 579 432 54 255 244 129 104 903
-10000 671 352 193 78 449 361 805 30 172
-10000 495 796 854 496 667 121 1 50 176
-10000 751 558 65 641 685 632 591 560 946
-10000 33 582 976 454 616 363 586 909 58
-10000 837 957 55 434 874 924 653 437 93
-10000 404 733 968 638 239 359 613 160 137
-10000 511 520 227 163 153 323 123 189 803
-10000 618 631 263 459 110 8 43 999 277
-10000 17 486 25 899 181 875 809 134 423
-10000 872 193 949 65 643 383 733 326 701
-10000 213 525 629 530 880 226 611 654 284
-10000 631 505 368 138 606 798 149 107 387
-10000 764 240 99 90 668 316 374 93 374
-10000 113 541 528 582 172 373 626 637 288
-10000 875 602 740 652 562 566 730 221 916
-10000 523 587 867 478 597 44 817 877 689
-10000 941 952 836 649 124 996 264 112 574
-10000 273 96 761 339 184 171 838 737 452
-10000 882 372 629 168 334 420 230 390 759
-10000 480 568 737 439 432 82 738 93 785
-10000 308 512 787 563 175 832 790 383 947
-10000 537 826 736 369 433 234 352 750 885
-10000 286 392 195 591 580 100 867 678 700
-10000 859 571 545 175 759 820 328 17 626
-10000 462 790 458 989 834 602 838 669 548
-10000 535 375 97 843 527 312 109 434 193
-10000 700 869 546 749 823 499 209 711 167
-10000 698 265 399 669 159 259 198 196 299
-10000 371 553 246 774 939 355 722 448 787
-10000 866 718 785 488 771 430 883 994 558
-10000 547 889 494 439 666 976 604 519 520
-10000 590 496 474 667 483 392 843 511 271
-10000 896 696 356 544 598 366 702 431 908
-10000 314 4 679 737 509 2 922 119 845
-10000 85 21 656 592 260 901 419 345 510
-10000 602 286 542 753 989 605 450 427 133
-10000 903 288 697 566 752 365 101 759 28
-10000 24 788 920 862 68 463 26 140 8
-10000 308 817 695 356 654 191 34 136 9
-10000 724 734 385 241 705 770 932 308 184
-10000 671 760 996 268 644 902 573 929 511
-10000 605 902 892 487 85 27 982 952 617
-10000 922 674 376 674 385 51 356 550 122
-10000 606 42 665 207 390 610 547 5 230
-10000 965 837 271 444 963 151 244 952 407
-10000 497 573 428 136 548 830 994 981 449
-10000 754 227 769 182 29 846 860 93 275
-10000 275 784 460 268 851 438 820 749 196
-10000 396 684 287 349 199 645 632 953 265
-10000 491 737 684 701 10 882 845 526 526
-10000 762 794 568 366 202 346 586 17 119
-10000 211 27 94 810 548 958 812 171 575
-10000 936 109 460 792 57 174 223 188 154
-10000 840 247 917 732 833 548 909 159 739
-10000 185 715 804 417 612 565 0 724 199
-10000 259 801 13 106 353 720 997 611 163
-10000 683 833 412 188 698 861 729 83 809
-10000 41 390 628 248 733 154 429 783 766
-10000 964 72 431 583 569 507 567 855 290
-10000 903 415 47 435 493 122 660 641 470
-10000 884 718 626 541 415 44 312 135 920
-10000 674 600 302 368 462 207 565 847 898
-10000 395 848 377 437 68 722 874 39 405
-10000 515 264 7 463 643 63 802 329 410
-10000 589 690 955 380 151 143 898 670 96
-10000 612 311 54 170 768 31 937 56 603
-10000 442 284 257 902 186 492 404 181 710
-10000 210 658 145 177 618 659 43 347 599
-10000 390 23 996 80 59 49 500 181 116
-10000 891 944 327 45 264 567 248 96 860
-10000 419 5 380 927 358 724 383 90 869
-10000 911 958 876 993 424 642 798 44 554
-10000 824 979 346 310 975 564 729 498 153
-10000 120 188 496 206 903 823 580 294 59
-10000 804 194 493 400 114 784 983 109 705
-10000 845 227 96 877 979 490 204 658 88
-10000 64 356 316 615 174 824 625 177 915
-10000 165 93 383 403 871 464 800 684 226
-10000 813 48 532 24 866 373 506 563 885
-10000 645 947 276 275 667 21 665 131 949
-10000 359 570 690 444 118 791 193 390 828
-10000 39 166 511 844 950 631 123 415 117
-10000 170 538 635 946 906 988 482 31 846
-10000 210 380 352 27 260 958 188 664 94
-10000 226 302 777 383 857 708 747 274 755
-10000 640 36 884 867 540 864 892 846 90
-10000 953 987 682 64 154 84 355 378 58
-10000 523 107 846 416 502 1000 503 487 437
-10000 777 391 442 306 895 856 86 183 996
-10000 982 516 127 988 499 880 849 147 782
-10000 552 238 673 935 358 191 679 219 532
-10000 469 279 338 590 841 588 289 229 174
-10000 491 374 283 327 250 896 352 902 411
-10000 127 459 159 149 221 76 949 117 551
-10000 551 817 155 102 481 173 623 981 201
-10000 710 176 93 643 284 415 798 962 557
-10000 188 94 999 769 968 585 852 328 243
-10000 691 542 286 798 434 124 308 149 976
-10000 122 527 82 130 721 254 292 183 294
-10000 293 592 420 375 162 594 802 829 421
-10000 71 990 522 381 680 936 107 508 506
-10000 485 177 140 328 998 738 423 764 705
-10000 861 644 366 586 859 526 715 78 703
-10000 412 38 394 46 416 987 722 124 913
-10000 512 36 137 650 10 197 334 487 72
-10000 9 633 976 48 64 748 698 156 842
-10000 831 401 171 332 995 715 596 581 69
-10000 141 17 276 857 8 331 846 287 597
-10000 744 689 713 450 785 426 373 708 644
-10000 509 594 251 584 981 167 859 616 613
-10000 977 137 640 714 952 888 574 410 45
-10000 845 255 573 347 792 910 411 695 380
-10000 535 567 702 383 698 903 986 894 33
-10000 108 789 745 417 880 222 752 30 18
-10000 677 673 0 44 279 389 933 434 574
-10000 870 718 722 388 185 729 881 618 958
-10000 840 114 504 628 963 898 887 331 474
-10000 998 438 474 490 303 826 23 121 221
-10000 421 652 800 893 377 151 434 555 868
-10000 222 805 969 86 931 908 576 140 861
-10000 357 866 185 235 458 500 165 952 479
-10000 834 290 697 773 683 806 496 979 12
-10000 394 258 970 695 695 421 228 631 818
-10000 698 464 462 802 346 126 698 452 625
-10000 761 990 345 557 813 579 967 642 896
-10000 885 745 792 992 705 816 735 872 708
-10000 898 64 87 548 672 266 644 80 859
-10000 274 370 877 12 731 830 157 275 724
-10000 215 444 104 46 750 428 798 142 317
-10000 699 988 764 155 344 972 382 292 332
-10000 654 85 880 613 276 190 365 311 787
-10000 821 67 226 458 125 324 315 496 172
-10000 803 788 621 26 270 447 27 697 120
-10000 64 382 393 933 904 649 922 32 403
-10000 734 444 129 962 903 287 420 902 441
-10000 688 177 64 272 984 559 629 859 251
-10000 617 292 203 67 434 983 292 766 907
-10000 18 970 389 994 696 7 350 185 312
-10000 128 73 758 9 107 291 696 988 28
-10000 684 597 663 774 582 801 731 342 927
-10000 838 260 165 642 120 206 191 635 807
-10000 73 721 45 416 421 366 449 801 376
-10000 15 340 309 250 323 212 52 951 285
-10000 933 44 453 177 507 372 892 955 151
-10000 713 477 827 700 838 295 200 86 429
-10000 113 782 42 154 595 304 724 463 867
-10000 696 182 300 956 694 131 487 763 95
-10000 46 287 641 200 23 763 747 616 934
-10000 209 415 635 662 991 816 944 585 193
-10000 747 303 299 783 335 685 943 835 568
-10000 30 71 902 726 295 413 205 13 753
-10000 323 742 83 564 519 157 337 840 383
-10000 573 573 434 643 648 242 517 765 94
-10000 993 24 663 852 987 644 273 501 3
-10000 813 179 316 600 858 220 673 690 227
-10000 425 970 765 274 379 673 723 645 570
-10000 176 257 713 810 6 539 816 645 924
-10000 139 371 480 209 795 429 851 782 93
-10000 92 395 897 422 945 472 884 161 411
-10000 844 758 418 152 151 464 982 363 458
-10000 798 499 353 14 356 565 195 694 132
-10000 248 474 102 935 489 799 349 844 197
-10000 648 450 552 529 491 458 59 609 556
-10000 918 599 579 764 475 919 710 819 509
-10000 976 555 553 730 23 233 138 861 799
-10000 421 606 655 617 153 57 269 18 278
-10000 365 344 753 455 82 923 806 897 716
-10000 662 110 856 74 274 30 599 784 716
-10000 484 879 604 188 11 255 661 359 378
-10000 429 849 951 867 767 891 16 183 284
-10000 978 216 134 365 309 185 698 888 620
-10000 957 853 560 719 336 792 584 426 713
-10000 26 651 843 347 592 877 317 205 531
-10000 320 346 4 101 652 952 75 107 890
-10000 164 348 841 240 862 706 156 584 215
-10000 812 875 865 543 559 834 546 200 387
-10000 908 638 723 153 664 748 184 508 406
-10000 244 549 287 705 974 990 808 649 454
-10000 797 444 14 746 985 330 779 19 46
-10000 133 180 11 450 701 86 490 14 947
-10000 685 609 627 156 711 308 134 416 639
-10000 948 186 196 390 694 776 61 298 31
-10000 614 70 338 924 78 672 172 668 995
-10000 708 161 427 140 993 617 825 699 728
-10000 347 914 445 422 879 686 396 606 522
-10000 937 947 817 627 648 641 928 404 526
-10000 666 203 482 541 351 458 625 222 686
-10000 22 712 818 366 845 698 356 369 913
-10000 305 955 513 891 200 827 644 115 820
-10000 169 717 350 892 838 75 307 604 969
-10000 328 387 532 528 67 727 134 271 118
-10000 279 96 863 107 250 320 597 473 152
-10000 838 484 600 700 490 352 659 28 968
-10000 797 292 382 362 395 987 626 627 631
-10000 632 337 157 594 778 60 276 36 196
-10000 864 856 577 94 405 982 266 421 313
-10000 517 893 353 49 597 718 234 648 774
-10000 502 361 30 675 692 876 456 612 189
-10000 165 747 93 313 455 812 882 555 766
-10000 794 419 582 632 591 847 247 972 678
-10000 375 535 864 793 425 196 343 828 816
-10000 988 4 28 28 712 292 21 488 416
-10000 123 919 648 248 992 463 172 375 346
-10000 838 969 45 318 683 352 284 607 436
-10000 526 596 68 258 216 375 453 821 28
-10000 795 736 761 377 978 970 707 941 540
-10000 193 698 761 374 913 882 946 316 363
-10000 540 80 530 828 229 564 898 257 367
-10000 980 852 203 658 457 575 820 91 511
-10000 226 29 756 492 810 236 307 59 37
-10000 394 61 469 708 832 876 357 742 218
-10000 678 334 581 446 608 501 969 15 456
-10000 700 565 473 247 668 447 450 360 621
-10000 434 248 157 493 973 278 638 50 48
-10000 921 939 544 0 361 265 994 587 28
-10000 723 293 391 953 231 380 541 987 153
-10000 829 514 701 931 29 899 974 923 287
-10000 680 58 795 346 369 579 361 293 125
-10000 347 758 701 945 144 539 923 209 654
-10000 946 691 657 591 422 136 745 580 20
-10000 941 155 337 379 608 196 802 32 373
-10000 168 386 993 734 25 68 722 320 678
-10000 572 845 407 824 34 431 653 303 14
-10000 216 369 271 148 506 936 104 317 354
-10000 392 88 306 904 9 682 958 728 17
-10000 27 578 528 439 363 70 22 691 157
-10000 217 547 909 988 84 155 452 18 386
-10000 474 662 616 97 884 582 420 463 932
-10000 128 938 592 389 493 860 884 862 885
-10000 409 386 709 865 380 241 698 238 150
-10000 842 209 234 318 613 179 574 213 914
-10000 7 840 903 349 701 679 964 578 593
-10000 946 775 352 506 512 832 397 816 251
-10000 976 16 837 924 501 501 225 211 521
-10000 847 495 800 973 391 797 464 318 174
-10000 741 212 423 663 950 304 937 798 732
-10000 16 56 392 913 94 724 456 418 46
-10000 888 762 553 135 787 692 467 169 701
-10000 27 771 751 878 47 789 254 237 340
-10000 20 532 778 499 955 988 5 796 526
-10000 873 75 617 973 343 246 763 996 826
-10000 320 866 21 165 982 848 991 250 409
-10000 367 793 144 289 451 503 546 241 557
-10000 692 460 942 484 671 653 886 46 76
-10000 604 617 941 225 12 698 36 798 556
-10000 266 424 329 808 539 908 465 714 901
-10000 474 191 799 245 3 305 172 685 445
-10000 250 70 522 602 651 315 834 507 764
-10000 941 465 458 371 515 484 885 627 70
-10000 81 207 698 412 7 14 321 858 573
-10000 334 664 122 11 361 642 869 96 676
-10000 566 823 473 617 326 459 881 148 797
-10000 650 947 932 700 288 699 343 911 599
-10000 104 448 843 825 395 877 105 377 482
-10000 16 727 781 112 924 902 922 925 49
-10000 445 23 789 701 313 2 521 834 75
-10000 744 918 708 272 237 601 706 528 561
-10000 398 312 310 702 920 121 646 549 456
-10000 932 796 244 735 824 746 869 515 29
-10000 719 687 485 265 724 944 452 879 556
-10000 356 672 304 617 59 82 500 770 364
-10000 470 503 795 409 473 757 675 168 330
-10000 805 825 342 26 303 786 654 673 398
-10000 763 263 942 405 287 663 363 294 523
-10000 76 266 594 108 884 652 726 193 323
-10000 139 690 434 532 259 722 262 691 948
-10000 964 105 937 6 590 943 834 740 988
-10000 615 77 842 689 548 386 420 828 771
-10000 333 387 828 312 553 551 409 89 868
-10000 525 761 394 42 384 164 706 127 139
-10000 747 723 266 751 302 250 142 282 674
-10000 1 254 330 560 946 374 393 641 214
-10000 447 182 86 321 603 76 896 224 897
-10000 871 687 361 458 593 782 471 2 516
-10000 130 241 676 92 142 173 204 55 925
-10000 413 185 150 253 971 414 409 309 887
-10000 211 705 713 226 599 132 575 955 635
-10000 659 494 704 444 296 844 110 827 24
-10000 333 118 608 863 640 439 367 30 60
-10000 947 652 211 916 441 826 205 839 127
-10000 522 703 199 101 905 510 300 857 707
-10000 155 395 543 382 646 420 710 703 104
-10000 711 39 981 168 661 481 921 555 522
-10000 720 798 302 338 546 601 911 410 680
-10000 226 402 888 122 455 779 309 109 667
-10000 481 817 562 479 758 814 695 757 726
-10000 319 457 376 662 729 849 888 28 567
-10000 982 281 95 345 460 988 257 425 554
-10000 950 661 505 678 102 692 983 630 412
-10000 521 631 964 532 746 675 306 870 742
-10000 386 884 687 706 634 990 272 570 495
-10000 342 135 509 555 965 826 488 828 533
-10000 973 852 60 136 799 345 342 175 51
-10000 96 450 167 757 832 179 222 447 433
-10000 691 460 810 220 428 856 977 961 542
-10000 293 426 358 514 808 89 526 37 924
-10000 804 523 959 535 377 993 387 986 825
-10000 761 604 34 59 957 934 302 729 819
-10000 64 374 631 664 444 883 626 269 133
-10000 183 832 915 177 806 801 840 539 879
-10000 156 549 854 304 693 569 479 81 859
-10000 478 844 833 61 539 969 857 755 158
-10000 967 936 679 600 177 625 444 612 976
-10000 696 427 135 859 19 839 810 773 176
-10000 337 749 961 773 982 845 565 246 425
-10000 448 516 348 19 903 532 588 943 150
-10000 253 165 544 565 812 932 346 877 887
-10000 544 602 800 359 743 741 933 851 501
-10000 110 472 557 231 578 287 902 211 584
-10000 601 774 428 809 993 421 57 11 631
-10000 712 926 871 522 440 159 701 538 465
-10000 694 351 386 805 327 780 313 476 658
-10000 806 8 491 14 923 961 856 214 257
-10000 761 469 431 349 451 662 965 518 110
-10000 645 396 735 616 167 616 691 721 808
-10000 708 532 716 733 677 32 827 546 502
-10000 928 299 642 762 477 797 754 763 592
-10000 957 871 205 166 841 729 572 525 980
-10000 363 304 142 966 218 279 653 973 207
-10000 926 280 407 817 341 964 640 649 182
-10000 602 924 314 767 237 621 402 150 540
-10000 234 515 258 776 988 421 420 857 384
-10000 108 527 985 926 237 580 945 834 997
-10000 695 987 548 769 38 142 118 244 745
-10000 143 769 896 506 58 452 824 727 560
-10000 235 740 241 821 91 492 20 345 938
-10000 672 899 494 456 425 78 3 568 894
-10000 749 219 276 235 875 94 687 118 476
-10000 699 594 661 947 985 34 284 62 633
-10000 896 874 697 105 718 651 670 973 173
-10000 895 80 539 103 35 373 101 239 734
-10000 705 278 410 374 444 906 384 761 155
-10000 11 277 484 891 150 25 58 486 302
-10000 602 37 191 168 866 150 269 695 596
-10000 76 636 134 425 89 426 219 161 773
-10000 161 75 296 398 77 270 779 16 72
-10000 93 958 52 932 760 175 963 375 28
-10000 87 912 259 273 324 676 574 161 259
-10000 460 478 74 309 759 48 140 171 925
-10000 942 266 637 801 68 815 624 563 689
-10000 496 168 776 376 184 163 698 413 904
-10000 998 353 494 392 841 200 874 807 537
-10000 669 212 92 47 419 113 212 967 94
-10000 148 17 57 96 880 271 660 998 614
-10000 631 318 506 158 829 213 31 457 867
-10000 531 121 308 871 816 522 678 218 827
-10000 149 781 690 471 540 70 708 885 923
-10000 56 25 369 4 17 689 776 892 392
-10000 857 331 476 507 258 197 27 230 163
-10000 344 905 434 511 836 555 283 354 969
-10000 806 72 803 291 5 904 164 650 314
-10000 984 313 404 696 125 87 460 908 127
-10000 448 85 526 340 881 661 424 290 759
-10000 150 100 429 124 636 586 488 869 908
-10000 710 216 40 574 582 675 942 40 593
-10000 521 64 927 935 985 963 469 979 848
-10000 641 250 380 439 341 672 203 537 968
-10000 369 420 586 740 733 762 285 288 548
-10000 313 698 478 206 506 369 280 451 466
-10000 363 69 355 593 326 659 997 764 707
-10000 417 993 380 588 543 804 475 139 541
-10000 516 388 945 876 513 543 225 224 134
-10000 115 539 853 329 911 86 295 208 517
-10000 283 375 632 60 481 904 158 25 617
-10000 579 843 268 919 407 633 695 550 255
-10000 668 524 709 636 443 601 377 197 374
-10000 692 825 314 142 539 703 993 711 677
-10000 992 760 70 646 556 474 359 352 337
-10000 660 766 711 867 754 919 435 460 718
-10000 49 587 978 869 426 707 578 905 635
-10000 10 628 748 773 199 259 601 12 55
-10000 379 270 254 183 493 282 877 803 755
-10000 337 818 207 642 498 297 419 321 10
-10000 838 858 48 840 589 206 662 215 644
-10000 728 184 553 799 56 794 24 540 920
-10000 883 274 152 82 133 478 283 517 99
-10000 921 723 811 355 347 872 463 187 906
-10000 15 890 36 39 978 247 216 874 24
-10000 773 776 544 935 593 714 894 873 482
-10000 757 504 524 512 163 40 750 628 873
-10000 271 346 446 163 477 341 875 336 396
-10000 302 988 303 673 399 832 220 691 263
-10000 459 721 306 132 549 348 524 728 147
-10000 255 137 922 408 446 361 354 449 472
-10000 390 681 66 425 45 168 973 786 728
-10000 727 678 937 114 217 550 236 729 682
-10000 718 978 222 676 461 897 235 150 498
-10000 481 419 815 474 926 200 821 655 33
-10000 11 207 239 494 995 428 204 254 959
-10000 755 694 926 46 391 281 6 166 743
-10000 477 570 619 337 108 488 888 482 808
-10000 596 177 409 456 465 609 1000 665 917
-10000 220 387 641 930 664 791 553 15 497
-10000 368 953 837 660 777 124 603 822 50
-10000 162 910 609 119 461 779 778 270 295
-10000 487 926 38 863 328 152 41 472 53
-10000 384 290 530 771 99 329 90 55 0
-10000 912 569 708 821 886 437 840 286 331
-10000 893 38 745 442 252 278 133 886 215
-10000 554 124 251 295 737 720 765 605 631
-10000 897 666 58 802 554 318 174 434 730
-10000 679 791 851 539 312 583 213 644 534
-10000 629 528 199 248 814 835 897 557 1000
-10000 333 241 399 887 788 635 168 152 87
-10000 67 980 464 855 444 70 127 781 405
-10000 717 67 83 22 140 619 680 14 698
-10000 638 131 67 600 367 467 486 17 686
-10000 863 280 62 519 659 804 686 994 993
-10000 443 158 888 653 47 694 321 233 209
-10000 538 85 181 723 258 620 553 18 940
-10000 528 738 983 743 295 951 86 285 566
-10000 645 38 836 459 103 22 586 90 692
-10000 965 967 524 0 728 673 956 440 460
-10000 24 343 474 586 103 182 930 827 208
-10000 361 673 376 447 152 394 59 99 121
-10000 66 355 640 534 543 322 113 676 383
-10000 175 470 326 823 590 345 817 528 571
-10000 647 764 15 127 723 539 546 176 231
-10000 744 301 814 101 442 474 572 898 80
-10000 700 494 847 725 210 615 609 362 339
-10000 957 467 353 74 521 680 466 992 611
-10000 184 919 520 189 237 808 19 95 917
-10000 109 453 309 631 825 279 61 307 932
-10000 61 970 717 229 58 235 776 668 942
-10000 73 982 193 597 184 21 195 96 914
-10000 43 146 277 283 169 64 282 877 44
-10000 626 126 309 168 924 432 894 603 726
-10000 420 888 553 181 933 545 448 13 481
-10000 107 200 438 914 18 827 483 559 905
-10000 414 735 46 925 653 169 161 831 770
-10000 294 969 36 860 110 511 166 466 1000
-10000 752 730 406 194 676 742 364 445 698
-10000 128 996 444 496 596 224 527 146 456
-10000 236 236 0 934 241 107 629 315 749
-10000 885 937 600 803 127 820 732 497 774
-10000 196 891 283 826 188 900 583 659 992
-10000 727 988 3 615 793 19 278 863 814
-10000 934 298 436 967 863 773 721 278 671
-10000 613 879 225 120 831 316 410 623 54
-10000 661 659 334 78 181 497 525 541 87
-10000 883 406 684 945 654 974 932 817 148
-10000 958 556 915 704 586 506 364 723 963
-10000 654 559 394 787 461 960 899 639 409
-10000 402 474 185 824 743 105 896 150 753
-10000 194 40 456 62 379 243 395 366 680
-10000 789 40 692 100 915 75 493 899 64
-10000 324 888 962 658 274 978 873 813 115
-10000 588 104 775 499 740 973 374 836 944
-10000 706 678 541 560 527 929 261 634 257
-10000 678 959 436 9 989 934 453 344 616
-10000 315 523 182 185 318 29 853 552 244
-10000 457 29 192 179 652 740 424 796 957
-10000 403 321 757 48 268 231 21 707 228
-10000 605 988 93 772 907 324 385 966 548
-10000 1 750 716 334 712 503 883 728 696
-10000 529 337 783 91 99 674 631 154 463
-10000 929 444 181 370 787 677 686 872 739
-10000 979 84 635 416 435 187 969 727 155
-10000 632 659 681 254 690 803 594 300 692
-10000 961 755 14 643 86 129 948 408 690
-10000 274 689 6 730 110 63 885 152 560
-10000 411 978 809 375 669 224 931 545 457
-10000 596 151 406 466 459 295 461 77 557
-10000 643 601 328 966 655 810 752 698 889
-10000 835 176 681 864 160 571 375 911 133
-10000 66 792 155 476 937 238 57 9 917
-10000 502 457 585 729 130 175 275 990 169
-10000 206 155 344 690 85 187 288 214 927
-10000 749 91 509 749 469 145 243 412 427
-10000 83 950 718 472 659 919 42 784 309
-10000 331 787 151 875 772 989 765 115 80
-10000 624 950 359 827 891 581 994 118 262
-10000 627 402 301 588 426 88 394 385 558
-10000 288 684 182 540 663 378 623 902 19
-10000 783 977 393 493 59 455 788 915 162
-10000 865 572 299 810 70 534 516 453 113
-10000 373 261 143 1000 955 497 473 784 225
-10000 789 684 928 460 405 205 457 818 867
-10000 386 789 786 794 838 189 220 690 544
-10000 765 297 316 884 205 159 618 641 10
-10000 109 684 482 748 405 501 695 614 601
-10000 122 398 123 142 696 579 148 281 670
-10000 43 514 541 488 347 101 895 228 358
-10000 878 469 867 795 909 24 82 44 923
-10000 743 526 20 820 48 661 510 203 269
-10000 809 258 215 552 880 588 939 202 651
-10000 790 17 922 539 672 384 587 771 494
-10000 923 16 576 66 426 215 955 661 7
-10000 751 669 665 184 237 92 392 747 75
-10000 74 346 433 193 925 853 141 484 506
-10000 771 822 845 381 997 563 223 230 851
-10000 903 104 346 338 737 728 955 569 315
-10000 875 336 785 66 857 752 843 773 404
-10000 984 789 472 374 703 183 342 989 76
-10000 794 278 845 797 870 919 232 500 499
-10000 821 227 275 457 110 348 916 653 948
-10000 721 236 117 664 373 828 65 886 153
-10000 430 551 127 816 347 779 338 663 139
-10000 741 157 945 164 348 947 851 727 132
-10000 375 437 174 84 405 525 297 175 436
-10000 102 315 57 547 553 675 168 190 281
-10000 155 27 766 255 968 701 57 534 204
-10000 697 610 196 842 360 596 434 99 735
-10000 563 85 684 436 202 304 58 459 311
-10000 360 237 377 476 88 642 725 922 809
-10000 389 936 776 944 656 793 386 935 501
-10000 463 192 439 753 905 306 437 868 680
-10000 23 487 368 466 992 159 439 179 987
-10000 449 96 403 236 203 104 4 207 421
-10000 993 342 617 515 231 350 213 101 495
-10000 49 25 107 587 992 966 895 469 977
-10000 458 381 99 423 644 885 100 29 977
-10000 908 403 695 103 928 38 422 204 261
-10000 819 754 467 372 991 236 668 501 453
-10000 456 920 328 344 942 312 909 506 636
-10000 622 172 349 63 794 383 865 113 48
-10000 832 63 560 947 900 773 965 439 347
-10000 52 243 300 133 792 511 360 696 775
-10000 265 349 474 182 142 302 946 928 804
-10000 702 899 220 94 270 376 672 879 185
-10000 802 944 168 200 909 759 527 211 181
-10000 148 46 421 976 382 885 125 176 755
-10000 859 84 218 708 855 779 662 797 705
-10000 815 430 6 894 986 78 348 945 218
-10000 124 878 406 616 894 139 750 822 649
-10000 677 505 740 969 369 92 675 495 85
-10000 587 886 188 232 998 275 159 359 353
-10000 343 324 350 362 634 7 450 135 535
-10000 886 287 877 430 825 309 790 695 62
-10000 362 692 264 686 196 997 84 366 364
-10000 635 331 695 331 842 714 7 246 144
-10000 941 363 831 389 228 404 849 434 360
-10000 292 528 332 836 970 609 44 352 948
-10000 364 622 572 807 621 990 404 67 102
-10000 769 399 414 226 611 476 696 263 143
-10000 896 225 80 353 306 380 603 903 112
-10000 160 848 323 586 520 82 714 493 45
-10000 894 384 21 853 338 842 556 46 643
-10000 88 253 766 612 966 227 304 169 422
-10000 715 290 118 926 495 536 502 665 811
-10000 215 549 446 42 649 200 269 306 437
-10000 213 239 350 199 585 824 999 661 365
-10000 972 712 30 376 349 397 533 353 828
-10000 923 959 185 698 534 376 684 714 389
-10000 538 525 260 738 262 504 212 367 362
-10000 379 161 82 390 244 60 893 362 490
-10000 855 611 757 314 740 510 21 500 136
-10000 434 344 655 943 346 885 516 782 61
-10000 442 380 875 833 324 836 644 908 921
-10000 819 681 227 584 814 922 485 562 863
-10000 64 302 385 976 716 172 814 845 18
-10000 791 720 65 819 160 757 553 654 213
-10000 427 853 61 663 567 702 219 290 159
-10000 411 765 122 207 468 953 90 916 405
-10000 486 71 994 858 882 122 325 558 912
-10000 110 690 609 400 160 694 543 138 654
-10000 704 894 730 845 12 629 463 927 422
-10000 953 618 470 50 437 533 743 314 787
-10000 591 355 428 999 104 724 457 435 421
-10000 423 762 811 148 972 832 33 506 85
-10000 725 977 307 612 641 175 204 187 943
-10000 743 999 68 736 433 385 374 746 383
-10000 134 46 626 57 65 593 69 860 842
-10000 915 335 906 138 100 161 575 728 933
-10000 287 444 481 596 799 174 398 659 81
-10000 79 358 974 462 748 810 495 6 285
-10000 761 289 155 698 3 431 363 211 897
-10000 433 373 715 870 308 367 975 873 770
-10000 331 705 467 501 516 13 377 392 329
-10000 351 496 711 670 186 462 570 307 216
-10000 827 361 523 342 366 778 311 646 314
-10000 930 207 50 928 176 825 316 471 108
-10000 239 467 709 462 350 145 702 905 598
-10000 490 825 944 673 193 475 514 323 357
-10000 655 426 123 274 369 801 237 700 977
-10000 710 167 719 824 890 946 934 632 260
-10000 593 345 414 368 803 564 680 768 563
-10000 261 221 740 733 913 503 859 378 150
-10000 386 924 885 352 154 388 825 790 73
-10000 975 273 263 925 999 753 317 674 463
-10000 430 768 380 656 670 654 342 186 603
-10000 364 83 411 817 581 41 684 381 154
-10000 979 279 893 546 759 64 653 704 997
-10000 959 61 545 799 399 183 833 368 82
-10000 508 374 559 352 585 102 301 854 958
-10000 990 616 286 559 307 571 51 349 806
-10000 398 943 136 990 779 40 93 227 664
-10000 739 687 302 103 673 312 108 528 483
-10000 448 119 770 135 850 468 65 108 245
-10000 666 464 56 977 521 551 515 470 638
-10000 886 843 400 786 536 87 805 353 850
-10000 118 565 760 819 95 90 260 900 569
-10000 27 487 222 433 102 670 882 987 650
-10000 297 649 197 79 471 903 892 583 453
-10000 964 907 754 255 390 164 205 104 15
-10000 535 600 146 783 793 598 405 949 923
-10000 211 933 426 273 656 372 220 646 254
-10000 826 707 582 402 871 31 278 890 189
-10000 41 570 855 390 863 108 475 703 430
-10000 903 998 359 432 708 979 295 638 542
-10000 641 54 220 579 575 813 505 66 805
-10000 776 654 480 262 974 746 640 632 457
-10000 691 944 635 299 456 291 987 898 126
-10000 194 619 891 295 24 961 409 863 628
-10000 624 854 163 836 521 384 653 362 383
-10000 946 632 297 560 868 928 997 690 816
-10000 137 282 490 930 665 577 645 712 838
-10000 74 920 761 691 260 440 21 496 828
-10000 820 863 928 415 717 801 904 988 988
-10000 458 450 674 782 677 28 447 908 268
-10000 42 38 615 399 133 414 64 490 816
-10000 678 474 189 347 790 747 394 950 290
-10000 878 53 647 510 749 806 938 459 853
-10000 171 499 421 971 574 699 482 579 974
-10000 334 528 8 295 554 823 318 461 441
-10000 510 660 318 749 754 637 972 558 629
-10000 80 402 340 274 419 296 211 617 989
-10000 785 870 436 856 489 719 798 279 389
-10000 947 632 219 107 92 134 1 673 309
-10000 733 379 9 475 160 756 459 407 341
-10000 37 516 385 335 887 59 33 685 246
-10000 278 535 977 329 390 728 496 832 632
-10000 86 420 95 129 483 415 107 203 631
-10000 22 223 836 221 371 899 809 296 801
-10000 809 85 280 653 645 643 478 251 957
-10000 596 356 534 295 879 662 715 433 56
-10000 311 670 869 372 31 473 119 673 302
-10000 504 249 455 166 541 50 662 763 635
-10000 724 398 315 539 621 429 37 3 502
-10000 663 913 925 653 738 990 166 339 716
-10000 825 447 792 353 48 0 845 962 715
-10000 115 102 560 332 611 773 603 2 843
-10000 83 988 911 22 492 774 423 428 533
-10000 336 14 430 103 557 249 894 710 756
-10000 229 202 871 755 359 17 633 751 403
-10000 500 370 520 387 564 414 392 91 272
-10000 317 867 866 207 220 277 867 813 808
-10000 238 110 227 640 645 340 528 898 692
-10000 231 620 8 765 695 662 167 747 671
-10000 187 353 456 34 970 552 584 554 103
-10000 120 993 346 596 708 571 498 453 295
-10000 117 138 655 383 63 88 3 464 594
-10000 971 601 5 409 89 591 22 871 577
-10000 204 306 913 632 843 781 27 233 735
-10000 331 148 19 954 909 95 534 303 974
-10000 497 130 982 959 118 115 870 355 179
-10000 923 761 661 160 849 898 271 989 520
-10000 834 716 199 228 217 563 514 224 844
-10000 335 915 930 829 61 464 162 379 200
-10000 924 260 941 768 209 601 344 734 194
-10000 496 609 589 990 905 231 620 679 350
-10000 41 570 880 761 34 763 474 534 709
-10000 688 128 900 136 379 961 140 57 327
-10000 645 477 314 155 969 800 965 113 536
-10000 583 934 731 791 672 220 354 992 912
-10000 503 142 70 669 461 526 893 521 370
-10000 548 955 985 185 549 28 876 295 719
-10000 674 59 736 878 69 311 838 768 140
-10000 973 940 606 10 980 480 981 722 493
-10000 369 220 579 359 736 10 203 443 148
-10000 639 329 832 839 619 346 150 958 706
-10000 425 136 303 395 562 244 107 894 992
-10000 169 210 472 721 505 64 440 747 186
-10000 799 466 709 707 517 844 90 545 931
-10000 427 130 950 189 146 655 922 615 659
-10000 356 270 578 370 949 755 543 766 348
-10000 145 494 154 755 735 290 17 496 605
-10000 993 532 284 407 545 120 793 112 99
-10000 732 819 407 537 662 650 313 306 41
-10000 872 484 324 918 717 26 655 548 640
-10000 284 482 473 118 763 837 442 698 510
-10000 684 380 485 125 186 128 412 208 15
-10000 552 495 751 402 634 457 923 55 610
-10000 852 112 608 919 63 528 99 406 962
-10000 162 482 960 633 661 76 445 356 106
-10000 989 594 448 807 506 924 653 304 143
-10000 182 189 759 700 342 792 700 212 424
-10000 443 335 42 849 4 119 372 516 405
-10000 1000 606 171 233 545 824 57 242 937
-10000 925 656 157 571 938 943 921 594 563
-10000 308 115 387 331 659 942 903 236 5
-10000 998 748 394 430 677 887 861 134 34
-10000 398 879 747 330 762 933 674 733 444
-10000 78 527 526 742 623 536 258 822 221
-10000 699 227 863 696 499 264 243 783 545
-10000 537 472 547 347 25 658 425 184 33
-10000 991 74 917 615 293 171 760 808 684
-10000 153 812 793 9 731 397 261 244 783
-10000 260 361 994 409 250 987 731 968 328
-10000 101 91 615 405 302 964 338 523 807
-10000 827 784 446 308 760 230 803 944 224
-10000 833 915 801 276 303 505 733 346 77
-10000 235 130 52 153 420 350 395 579 211
-10000 482 623 865 274 782 130 514 866 918
-10000 289 375 485 853 783 102 74 282 125
-10000 454 783 352 157 842 679 415 69 219
-10000 285 884 284 282 953 369 16 229 243
-10000 385 268 334 846 386 819 335 250 5
-10000 297 91 946 881 16 359 133 650 967
-10000 734 330 755 23 111 860 913 106 322
-10000 506 558 915 249 214 792 808 977 409
-10000 504 512 714 172 120 836 769 468 611
-10000 489 518 452 103 947 37 261 613 925
-10000 735 448 754 389 925 171 452 707 886
-10000 397 214 377 790 198 816 792 841 591
-10000 809 973 613 234 823 728 80 247 741
-10000 455 708 535 715 570 564 614 526 237
-10000 0 6 275 984 593 780 551 167 708
-10000 358 468 900 617 707 8 539 835 127
-10000 337 6 948 935 248 933 360 261 891
-10000 427 85 778 70 390 671 67 404 239
-10000 171 371 6 336 527 292 426 358 468
-10000 571 363 237 872 203 600 645 988 42
-10000 62 447 475 513 87 710 672 819 568
-10000 708 530 420 598 746 685 43 929 784
-10000 102 744 407 354 27 743 0 719 49
-10000 977 548 908 706 883 528 44 333 182
-10000 190 166 378 261 556 38 156 68 892
-10000 389 379 870 983 73 472 384 587 785
-10000 31 947 415 246 843 91 438 291 628
-10000 425 488 120 929 720 141 926 201 712
-10000 914 391 900 992 681 267 520 480 2
-10000 288 806 405 487 362 995 755 185 978
-10000 752 269 487 988 324 645 108 54 191
-10000 708 361 661 309 569 132 453 713 900
-10000 48 533 601 471 920 828 24 103 621
-10000 243 231 956 263 516 142 787 327 968
-10000 118 831 572 511 155 62 389 535 277
-10000 116 564 397 39 790 675 498 719 741
-10000 437 10 25 397 262 914 863 7 273
-10000 7 661 859 869 554 558 438 122 949
-10000 489 455 277 750 13 948 899 790 379
-10000 362 87 289 614 91 528 630 874 390
-10000 949 418 987 719 667 701 726 569 950
-10000 813 532 359 678 931 355 882 314 329
-10000 976 850 872 716 734 218 185 762 642
-10000 403 911 997 631 259 539 494 80 52
-10000 291 545 595 21 713 914 518 346 456
-10000 460 78 325 215 765 211 275 495 409
-10000 365 58 719 190 762 728 848 292 775
-10000 179 121 12 799 195 705 620 593 232
-10000 591 812 957 594 640 693 669 707 269
-10000 771 447 873 764 286 664 918 811 441
-10000 879 598 406 238 133 522 491 53 705
-10000 469 171 850 456 842 394 447 348 33
-10000 781 557 397 151 721 120 948 589 608
-10000 396 568 420 416 713 470 454 825 26
-10000 527 488 446 379 195 967 806 138 138
-10000 511 671 894 13 941 154 401 265 606
-10000 996 51 46 790 258 523 973 15 103
-10000 704 539 891 119 513 791 61 800 826
-10000 350 727 195 847 162 414 482 952 30
-10000 57 983 23 813 703 963 807 846 571
-10000 681 672 712 286 774 335 532 885 520
-10000 236 454 273 375 693 508 851 139 8
-10000 209 686 230 27 344 457 33 234 414
-10000 645 355 114 907 216 849 160 430 807
-10000 494 802 659 702 724 51 51 920 2
-10000 555 294 854 932 875 296 390 105 994
-10000 984 614 224 679 493 863 741 55 208
-10000 224 262 545 283 72 866 692 686 903
-10000 991 725 443 117 744 596 563 798 923
-10000 515 94 973 920 471 136 234 120 95
-10000 630 132 42 635 395 784 743 653 483
-10000 939 565 658 365 352 529 905 441 1000
-10000 864 962 268 26 774 471 989 368 917
-10000 138 412 453 955 793 416 786 540 984
-10000 887 342 745 531 247 962 248 311 296
-10000 472 118 154 882 830 364 334 130 273
-10000 757 811 324 507 880 776 67 907 858
-10000 705 620 698 469 38 21 711 533 455
-10000 52 729 949 849 826 682 443 613 536
-10000 954 441 442 804 465 995 356 135 352
-10000 842 644 484 811 505 693 979 433 90
-10000 893 784 313 941 361 873 999 263 400
-10000 125 227 790 837 750 148 660 681 955
-10000 884 208 749 484 256 886 903 188 307
-10000 518 573 219 15 11 252 12 92 503
-10000 899 772 474 634 54 425 786 825 365
-10000 611 253 482 62 919 875 243 839 659
-10000 828 21 835 311 380 81 86 981 98
-10000 569 464 875 670 127 157 533 49 817
-10000 705 781 816 406 28 21 161 71 334
-10000 167 177 927 194 662 254 607 741 651
-10000 327 957 206 666 170 74 566 214 452
-10000 438 802 399 713 685 125 297 828 997
-10000 85 952 376 885 51 41 950 963 489
-10000 62 411 468 466 134 743 366 468 896
-10000 241 672 25 772 907 261 198 576 504
-10000 343 209 30 76 97 672 543 162 499
-10000 974 544 995 372 183 521 853 66 639
-10000 396 291 81 178 735 793 592 209 581
-10000 377 224 210 752 370 9 78 578 874
-10000 59 32 914 254 914 267 958 155 499
-10000 523 820 592 460 737 428 360 554 868
-10000 993 743 467 502 6 374 282 341 692
-10000 338 684 922 153 210 620 602 729 407
-10000 753 366 840 29 252 770 723 86 857
-10000 123 653 147 272 837 311 230 803 922
-10000 794 218 53 105 324 868 432 758 396
-10000 661 288 932 724 458 493 772 262 758
-10000 198 906 35 1 314 540 991 597 89
-10000 801 203 556 346 959 462 977 755 434
-10000 187 222 980 606 824 401 844 289 28
-10000 1 183 139 965 18 146 387 575 255
-10000 882 861 409 653 634 690 815 175 678
-10000 739 653 802 312 136 522 546 98 820
-10000 216 686 817 775 143 772 703 157 744
-10000 851 368 304 581 904 410 379 843 896
-10000 246 74 846 931 930 465 36 822 376
-10000 496 456 83 565 698 461 764 106 457
-10000 768 998 438 876 144 670 37 423 937
-10000 607 490 590 756 612 331 577 797 407
-10000 611 896 721 103 552 523 652 39 954
-10000 627 415 16 688 120 142 899 873 612
-10000 767 478 176 757 397 417 181 949 233
-10000 869 748 327 176 558 637 240 776 437
-10000 756 184 845 540 983 131 274 626 844
-10000 95 437 504 153 654 330 65 347 365
-10000 704 918 412 528 931 529 119 493 870
-10000 85 25 232 576 410 526 713 221 647
-10000 275 381 553 1 408 23 912 144 702
-10000 332 806 968 254 612 1000 988 744 184
-10000 858 176 690 921 606 101 981 801 499
-10000 879 922 960 958 97 19 984 307 334
-10000 193 471 848 520 629 555 174 150 774
-10000 509 348 105 71 856 993 738 630 500
-10000 258 131 742 710 682 499 128 726 909
-10000 128 912 517 713 725 781 847 561 938
-10000 274 391 136 578 139 136 701 241 340
-10000 270 523 701 744 831 977 7 841 403
-10000 487 235 943 484 979 319 373 969 644
-10000 252 574 254 494 157 973 40 522 475
-10000 73 120 189 112 233 587 943 931 521
-10000 966 474 958 872 318 226 44 49 250
-10000 49 518 291 335 188 800 950 255 444
-10000 941 20 449 911 203 274 55 250 936
-10000 277 665 837 33 42 596 548 204 200
-10000 410 457 886 506 49 992 641 498 868
-10000 921 174 992 993 307 909 235 794 373
-10000 251 319 40 217 85 768 470 872 127
-10000 21 486 955 877 290 583 654 734 576
-10000 314 90 595 678 34 405 268 73 495
-10000 566 834 773 374 284 400 67 960 452
-10000 684 883 173 39 272 532 956 735 434
-10000 738 683 288 828 527 666 608 9 42
-10000 240 359 949 726 205 47 953 758 806
-10000 826 34 47 537 340 792 419 781 128
-10000 852 158 509 639 456 584 641 534 763
-10000 359 378 325 572 390 621 767 680 8
-10000 610 133 673 93 490 955 677 831 118
-10000 991 71 500 283 123 617 842 821 486
-10000 682 285 37 74 652 24 695 592 116
-10000 195 97 838 968 940 286 105 714 47
-10000 70 59 588 402 485 379 834 587 446
-10000 95 47 751 42 677 812 409 98 221
-10000 497 600 275 258 133 344 507 11 500
-10000 716 733 262 853 282 861 425 698 292
-10000 867 727 508 109 106 544 896 258 763
-10000 883 59 212 462 481 403 809 833 191
-10000 102 251 35 623 419 837 228 607 70
-10000 241 641 439 606 317 814 779 434 402
-10000 236 446 527 637 769 503 64 476 152
-10000 983 686 473 628 69 163 863 727 277
-10000 303 116 823 994 476 4 600 801 239
-10000 685 972 330 460 247 142 805 266 57
-10000 120 613 806 916 685 162 661 532 582
-10000 764 821 208 613 268 256 887 361 129
-10000 782 709 251 975 522 337 0 894 161
-10000 201 104 646 401 521 239 323 255 362
-10000 233 444 958 233 2 196 519 418 938
-10000 162 119 593 514 699 850 647 126 679
-10000 431 575 327 18 329 365 543 920 725
-10000 816 387 450 679 373 966 415 321 606
-10000 944 299 581 977 921 859 715 665 136
-10000 109 410 99 720 356 268 128 742 150
-10000 119 399 63 700 533 706 79 112 927
-10000 650 627 435 44 131 858 906 519 5
-10000 470 614 984 55 93 715 228 578 908
-10000 938 646 178 693 237 493 69 527 771
-10000 291 526 791 432 681 75 185 958 130
-10000 438 96 414 387 547 397 543 926 664
-10000 269 799 983 152 776 340 178 725 385
-10000 625 655 634 647 639 33 236 188 288
-10000 690 475 208 939 402 603 361 378 329
-10000 783 293 412 620 369 866 227 874 818
-10000 21 130 826 866 973 772 514 820 634
-10000 611 289 501 145 983 172 535 907 471
-10000 226 350 104 237 583 897 355 984 361
-10000 796 665 949 965 731 431 838 177 826
-10000 454 538 569 846 994 952 756 265 581
-10000 237 62 450 427 238 247 625 152 443
-10000 518 551 223 689 42 458 943 381 821
-10000 312 804 874 273 752 341 348 802 303
-10000 905 71 885 445 419 517 193 447 739
-10000 380 327 480 892 921 402 227 590 308
-10000 406 69 253 249 737 16 64 525 329
-10000 180 369 919 962 883 897 994 808 378
-10000 102 956 849 813 542 893 727 472 23
-10000 300 419 591 622 567 375 245 231 586
-10000 452 230 962 95 12 449 946 534 546
-10000 911 382 561 669 85 532 511 909 332
-10000 1000 16 875 121 433 206 261 731 888
-10000 711 412 435 208 311 731 863 227 32
-10000 962 494 69 765 937 312 191 547 636
-10000 375 583 701 7 613 437 264 231 434
-10000 510 552 7 930 438 959 603 523 884
-10000 657 840 567 468 81 322 409 838 893
-10000 368 465 655 739 650 791 341 951 477
-10000 273 755 865 801 980 454 824 282 681
-10000 396 716 267 677 892 348 715 578 755
-10000 470 718 982 918 680 481 656 703 440
-10000 667 272 986 160 823 426 995 360 86
-10000 408 898 388 480 176 108 907 835 686
-10000 107 36 139 933 501 67 48 257 266
-10000 845 915 561 308 558 890 471 488 426
-10000 543 845 428 304 896 953 12 806 95
-10000 562 129 578 520 981 251 535 782 68
-10000 935 689 115 779 89 825 377 201 254
-10000 441 990 22 747 403 897 551 494 197
-10000 144 489 239 562 325 435 318 290 443
-10000 137 960 853 794 367 48 934 123 229
-10000 975 138 522 16 796 239 466 322 344
-10000 158 831 801 809 704 967 724 20 722
-10000 478 123 52 490 118 780 889 553 668
-10000 681 174 30 514 15 342 336 255 78
-10000 242 823 187 817 705 109 341 957 887
-10000 386 452 954 927 391 883 878 961 975
-10000 308 884 937 372 178 210 513 586 940
-10000 863 830 189 618 821 75 319 533 7
-10000 904 373 990 433 457 956 59 985 253
-10000 784 518 383 319 52 916 842 645 541
-10000 343 31 460 606 797 879 840 594 238
-10000 197 856 842 595 145 922 947 900 434
-10000 35 422 29 572 243 866 103 392 421
-10000 180 789 177 99 912 533 343 252 890
-10000 188 280 566 391 745 15 783 779 654
-10000 601 343 611 998 670 667 61 957 564
-10000 604 473 757 851 824 997 38 277 84
-10000 622 80 789 400 788 74 324 851 624
-10000 181 351 426 313 104 499 598 567 142
-10000 999 868 435 989 150 727 867 168 371
-10000 944 356 481 196 410 306 627 919 959
-10000 16 430 715 679 104 490 237 598 261
-10000 303 115 61 893 317 725 486 591 713
-10000 840 185 130 429 537 177 626 963 247
-10000 3 295 243 572 191 872 301 49 398
-10000 352 943 874 182 426 903 249 76 824
-10000 591 728 464 462 903 991 795 255 832
-10000 593 541 172 313 451 468 131 441 81
-10000 23 870 117 811 625 721 236 956 898
-10000 87 843 171 758 354 543 805 975 123
-10000 555 727 937 435 84 563 31 224 426
-10000 219 83 766 362 48 269 841 987 655
-10000 596 420 827 823 327 657 329 184 358
-10000 637 590 145 966 21 341 97 618 621
-10000 240 817 269 451 706 782 572 947 627
-10000 625 131 35 488 765 976 444 312 608
-10000 442 659 694 484 465 907 300 672 546
-10000 100 818 800 87 495 297 831 86 979
-10000 912 93 799 79 814 633 250 720 659
-10000 189 334 913 656 207 59 198 26 315
-10000 361 511 906 492 533 664 560 959 175
-10000 184 787 135 888 919 411 266 226 496
-10000 1 714 782 445 603 740 716 722 161
-10000 8 728 212 783 97 10 691 499 217
-10000 752 373 970 832 180 315 126 584 15
-10000 30 140 253 747 183 702 323 583 622
-10000 993 912 412 678 365 275 911 795 346
-10000 310 712 549 319 669 479 131 764 654
-10000 351 222 175 899 779 109 211 951 932
-10000 573 936 533 142 577 883 443 539 515
-10000 704 793 391 806 533 769 933 983 515
-10000 442 302 850 655 949 722 3 892 844
-10000 883 71 771 614 65 102 334 845 46
-10000 325 117 481 980 102 790 337 37 895
-10000 60 787 522 853 135 977 161 583 246
-10000 77 828 989 38 733 943 695 471 295
-10000 753 798 310 983 217 23 796 329 953
-10000 4 986 319 649 14 183 429 536 250
-10000 267 684 309 238 348 337 770 572 729
-10000 710 308 807 490 374 386 274 700 293
-10000 967 653 576 166 594 417 59 151 1000
-10000 587 627 29 625 716 515 108 307 198
-10000 917 70 989 905 120 38 666 233 526
-10000 436 109 14 608 167 876 771 301 958
-10000 712 120 407 691 938 538 493 213 703
-10000 509 721 210 721 251 997 583 280 818
-10000 598 634 465 842 328 980 582 231 868
-10000 648 589 479 820 882 245 218 574 307
-10000 852 694 127 476 313 309 327 486 60
-10000 849 717 318 335 401 493 878 370 868
-10000 654 78 540 172 501 176 355 818 992
-10000 153 328 13 76 724 384 822 266 516
-10000 777 240 881 789 718 175 975 199 849
-10000 627 49 482 594 443 311 645 826 488
-10000 128 104 187 326 553 992 213 30 774
-10000 136 46 242 991 41 937 889 132 5
-10000 165 808 707 993 837 709 566 953 755
-10000 495 203 703 174 894 909 883 65 375
-10000 410 282 597 941 325 117 943 620 816
-10000 714 649 729 107 890 924 954 836 517
-10000 32 424 145 77 540 899 537 101 392
-10000 614 53 103 95 706 330 180 506 201
-10000 616 680 409 63 727 312 512 515 342
-10000 304 240 967 692 453 20 48 631 782
-10000 138 243 508 846 358 95 51 827 320
-10000 228 340 228 668 420 805 705 692 775
-10000 263 4 25 800 22 651 367 876 78
-10000 692 919 775 577 642 517 882 225 241
-10000 544 993 130 612 414 258 546 98 185
-10000 885 135 109 623 869 68 714 914 10
-10000 612 737 421 614 2 600 393 517 823
-10000 973 56 8 767 498 340 447 180 295
-10000 358 554 151 134 166 716 40 393 841
-10000 822 36 143 20 523 681 500 225 145
-10000 533 230 32 483 157 465 166 920 42
-10000 576 194 700 624 271 424 161 447 218
-10000 490 441 413 512 60 752 260 164 613
-10000 766 759 496 123 918 713 792 879 596
-10000 118 733 386 777 425 663 734 612 24
-10000 408 306 487 669 22 930 431 487 676
-10000 974 196 437 215 17 253 905 447 380
-10000 111 597 725 405 123 162 274 369 654
-10000 747 444 777 297 253 197 442 926 597
-10000 212 793 882 416 897 430 535 766 289
-10000 297 897 973 419 424 183 585 977 106
-10000 391 666 593 931 820 840 568 377 18
-10000 341 495 21 117 685 748 55 478 69
-10000 838 324 346 131 613 922 220 380 658
-10000 377 438 479 992 579 497 503 680 807
-10000 33 559 269 632 345 289 637 772 831
-10000 322 60 335 960 927 723 472 124 10
-10000 939 269 519 32 147 444 233 129 812
-10000 83 858 323 165 189 501 205 443 349
-10000 313 547 959 886 347 84 105 820 163
-10000 443 128 804 398 322 377 729 566 216
-10000 511 638 108 146 969 669 971 791 953
-10000 100 718 839 272 14 799 458 800 927
-10000 855 433 369 747 339 495 864 386 872
-10000 701 881 75 648 950 682 295 402 65
-10000 408 636 146 158 368 859 800 387 723
-10000 792 793 29 753 462 156 721 204 578
-10000 159 329 372 174 760 430 962 411 493
-10000 368 446 793 34 410 89 346 626 995
-10000 906 566 79 634 345 891 527 421 834
-10000 877 243 659 920 667 264 838 440 857
-10000 758 850 595 701 346 754 792 68 223
-10000 172 833 480 909 765 911 394 421 191
-10000 343 340 839 587 62 697 605 339 673
-10000 324 429 78 22 665 393 779 709 859
-10000 934 775 729 997 390 806 942 749 13
-10000 595 116 314 836 139 37 998 377 267
-10000 409 507 340 970 760 342 939 343 820
-10000 465 971 36 350 191 901 599 67 539
-10000 905 370 700 187 521 462 883 176 575
-10000 628 570 900 636 309 278 971 5 909
-10000 979 554 823 56 336 423 600 884 850
-10000 605 971 394 182 600 846 828 334 388
-10000 602 460 483 235 707 756 161 350 124
-10000 651 642 855 913 501 277 501 558 436
-10000 905 299 93 964 673 794 902 287 498
-10000 23 512 679 921 380 524 173 412 875
-10000 260 253 993 453 376 825 976 858 825
-10000 765 760 997 670 316 427 557 643 33
-10000 576 843 824 920 31 781 760 137 41
-10000 475 528 591 476 893 208 942 224 460
-10000 775 64 712 294 67 348 943 83 36
-10000 556 719 124 37 110 366 130 692 194
-10000 143 677 204 911 574 939 894 550 349
-10000 74 496 444 739 916 571 769 234 548
-10000 417 576 542 374 296 595 873 100 310
-10000 78 372 330 466 352 229 292 11 289
-10000 797 73 677 742 170 80 908 893 532
-10000 756 647 488 853 887 143 334 339 457
-10000 221 969 319 838 233 534 876 766 693
-10000 195 526 191 481 722 342 155 899 590
-10000 188 462 166 117 354 62 617 735 190
-10000 116 165 998 191 265 555 574 826 18
-10000 277 70 931 958 911 673 21 260 536
-10000 448 969 659 694 357 979 985 960 653
-10000 597 394 842 971 88 941 468 47 92
-10000 692 977 172 804 255 951 971 983 675
-10000 3 304 99 79 884 675 954 691 593
-10000 285 943 996 443 911 393 808 422 611
-10000 309 641 164 882 59 22 132 970 929
-10000 829 595 184 994 984 116 583 395 797
-10000 328 174 78 488 918 84 959 659 23
-10000 890 991 144 835 301 466 174 413 276
-10000 981 212 917 844 259 53 672 514 567
-10000 466 488 203 484 348 475 604 923 527
-10000 229 101 942 620 227 283 15 369 998
-10000 985 527 412 890 349 694 654 538 558
-10000 975 794 208 781 166 465 923 124 385
-10000 586 122 473 336 607 240 658 641 507
-10000 945 868 616 507 599 961 204 705 658
-10000 929 429 796 542 176 721 410 736 142
-10000 372 413 702 749 357 377 858 817 865
-10000 953 214 605 549 112 467 6 158 537
-10000 567 28 822 567 659 169 261 746 682
-10000 99 877 4 293 418 527 419 365 869
-10000 437 694 887 31 574 185 167 313 119
-10000 450 495 470 626 97 616 663 756 641
-10000 283 174 469 553 192 374 636 660 60
-10000 876 662 603 859 511 608 240 17 987
-10000 893 99 643 751 462 521 819 452 616
-10000 470 468 141 133 368 800 555 660 233
-10000 618 991 388 683 751 252 624 179 999
-10000 598 846 300 89 482 740 431 942 180
-10000 726 835 261 708 47 35 355 970 802
-10000 756 991 673 774 286 235 598 309 71
-10000 417 858 542 928 406 771 1 69 962
-10000 509 264 981 887 504 117 728 673 262
-10000 351 739 35 952 51 557 33 106 22
-10000 677 130 1000 902 801 138 364 967 522
-10000 812 37 24 815 77 326 665 111 773
-10000 292 214 402 559 262 865 134 35 225
-10000 922 241 860 339 494 904 249 277 418
-10000 793 874 604 103 7 372 113 633 878
-10000 708 922 231 507 172 567 293 290 166
-10000 899 156 592 75 468 963 203 39 824
-10000 140 284 398 159 657 237 632 945 275
-10000 253 630 994 814 927 920 40 166 272
-10000 88 414 984 732 420 181 256 594 985
-10000 43 597 574 142 41 957 392 912 203
-10000 149 546 260 651 264 383 499 7 23
-10000 10 136 945 330 542 490 192 703 336
-10000 10 138 179 889 161 678 22 850 547
-10000 540 892 722 511 964 320 780 738 440
-10000 609 631 987 345 94 593 77 350 785
-10000 797 231 247 317 705 569 54 113 308
-10000 794 87 902 485 759 751 476 29 44
-10000 134 802 994 12 346 572 142 142 987
-10000 783 490 394 401 357 991 225 950 876
-10000 843 406 288 850 751 912 355 144 197
-10000 737 718 789 441 154 948 832 735 557
-10000 107 397 552 204 862 597 486 889 859
-10000 576 427 237 144 812 603 682 72 76
-10000 194 14 160 113 742 861 87 859 233
-10000 742 797 791 625 477 231 600 389 715
-10000 545 429 196 531 461 819 80 445 111
-10000 197 690 201 741 864 144 845 128 569
-10000 8 234 655 26 900 107 413 805 677
-10000 369 835 976 903 248 987 79 610 294
-10000 969 811 82 690 930 550 950 163 390
-10000 84 531 211 3 189 173 48 586 234
-10000 757 92 329 207 115 516 262 106 325
-10000 349 891 314 632 186 850 758 811 766
-10000 564 89 900 918 253 813 102 732 745
-10000 905 67 933 192 720 835 681 403 478
-10000 789 766 244 864 31 604 983 829 351
-10000 214 750 994 670 299 221 904 247 86
-10000 938 221 478 4 513 505 291 311 520
-10000 606 370 37 159 675 665 206 760 725
-10000 423 41 132 887 128 182 38 645 838
-10000 769 758 469 754 408 674 855 649 277
-10000 374 143 65 539 616 179 820 256 986
-10000 376 759 974 487 602 841 931 136 201
-10000 779 647 951 530 552 33 858 399 291
-10000 227 957 116 396 676 803 736 293 483
-10000 790 506 370 47 670 25 569 519 184
-10000 32 921 117 379 368 943 363 695 79
-10000 133 358 555 940 61 651 36 183 896
-10000 23 735 410 294 469 450 466 73 605
-10000 496 300 415 578 531 129 693 115 450
-10000 106 402 740 376 919 90 417 483 766
-10000 642 385 354 100 912 352 525 335 364
-10000 455 231 914 41 83 895 364 770 770
-10000 563 690 991 417 685 821 221 629 833
-10000 572 996 498 36 13 665 420 154 861
-10000 653 199 180 324 378 597 100 473 939
-10000 760 634 655 43 874 272 662 597 921
-10000 470 145 253 251 584 580 714 635 264
-10000 127 427 288 87 15 950 963 679 929
-10000 934 186 688 774 740 128 988 381 890
-10000 790 160 313 329 7 343 758 531 793
-10000 595 234 757 771 203 725 130 569 872
-10000 191 463 5 303 824 501 415 401 273
-10000 325 290 395 147 168 798 742 73 474
-10000 452 554 385 354 890 871 689 815 630
-10000 513 571 460 479 97 62 682 871 339
-10000 762 33 593 375 619 439 974 639 834
-10000 545 695 519 161 49 593 447 495 632
-10000 483 261 45 247 157 585 200 623 641
-10000 754 636 574 113 914 986 898 119 179
-10000 680 296 760 606 685 872 896 938 59
-10000 658 284 213 883 521 421 34 783 592
-10000 85 647 342 953 850 210 866 694 913
-10000 749 994 767 483 575 631 195 756 363
-10000 447 790 298 428 660 595 123 627 313
-10000 527 902 193 647 610 95 890 757 4
-10000 900 58 396 815 981 626 734 953 612
-10000 714 476 39 86 442 553 836 414 168
-10000 234 862 618 986 458 95 885 653 633
-10000 243 910 339 420 419 4 297 236 337
-10000 360 548 651 156 737 160 336 410 999
-10000 174 262 819 146 454 221 237 531 6
-10000 489 612 91 539 647 66 176 473 92
-10000 153 814 39 914 461 606 77 489 133
-10000 31 585 792 512 106 330 602 125 514
-10000 948 878 267 256 106 439 102 707 610
-10000 761 137 547 386 946 129 182 634 451
-10000 415 471 992 284 803 434 918 815 295
-10000 445 284 192 473 176 92 132 850 921
-10000 413 399 548 231 621 250 858 511 365
-10000 576 52 669 83 561 786 192 314 162
-10000 435 672 122 995 667 481 825 643 681
-10000 561 839 101 499 28 399 384 566 490
-10000 692 936 260 713 740 555 596 111 77
-10000 460 692 209 944 883 167 190 932 220
-10000 931 926 657 613 83 162 176 313 584
-10000 802 563 738 650 92 169 450 304 959
-10000 397 197 830 978 854 904 998 586 23
-10000 151 899 657 357 538 876 209 812 746
-10000 564 620 997 180 830 895 990 990 289
-10000 304 213 913 284 70 660 510 665 222
-10000 249 625 425 739 63 70 637 200 461
-10000 200 43 335 965 142 238 116 992 29
-10000 414 313 294 827 898 639 310 540 749
-10000 318 60 153 821 939 324 951 973 392
-10000 23 58 93 533 576 425 623 678 640
-10000 309 842 578 6 764 248 377 369 528
-10000 356 303 911 618 773 55 369 267 405
-10000 106 25 523 633 378 283 632 138 305
-10000 193 470 325 98 963 393 793 984 650
-10000 341 569 857 144 489 876 347 562 723
-10000 562 45 327 227 479 76 407 986 135
-10000 682 20 82 627 354 549 275 869 86
-10000 385 423 147 410 61 95 549 481 939
-10000 166 766 533 937 847 965 853 944 313
-10000 76 919 180 360 435 186 692 160 342
-10000 524 804 836 856 434 524 759 627 379
-10000 741 72 886 946 407 76 702 436 427
-10000 558 101 422 617 712 645 582 292 104
-10000 896 743 610 525 696 572 88 421 94
-10000 274 995 150 364 466 803 250 39 484
-10000 117 59 764 917 807 831 503 680 915
-10000 377 966 25 219 403 213 792 883 16
-10000 191 361 703 584 696 122 583 659 176
-10000 29 338 422 549 882 248 151 364 25
-10000 408 851 75 183 108 489 827 619 533
-10000 285 600 459 863 68 574 347 92 1
-10000 205 355 419 340 210 14 333 807 735
-10000 234 989 789 723 784 371 879 925 119
-10000 700 901 290 373 355 161 329 928 277
-10000 887 196 405 453 979 458 935 142 869
-10000 813 965 781 188 986 671 557 896 47
-10000 694 899 966 742 207 293 624 776 688
-10000 171 568 112 372 511 32 278 135 489
-10000 89 748 999 307 109 681 59 661 159
-10000 684 690 588 589 826 994 302 341 367
-10000 282 513 847 696 643 465 855 335 753
-10000 590 475 545 712 812 521 981 516 584
-10000 64 963 763 361 704 248 598 479 169
-10000 593 409 114 225 252 829 842 577 125
-10000 462 213 156 565 636 756 510 77 18
-10000 574 692 216 18 998 572 188 562 41
-10000 254 312 738 371 121 953 850 224 543
-10000 370 9 711 675 859 158 91 680 948
-10000 473 801 628 487 578 509 78 982 814
-10000 809 744 641 216 835 845 795 903 613
-10000 529 665 542 771 978 366 570 454 421
-10000 717 701 77 976 715 452 893 200 292
-10000 526 67 684 921 884 210 584 564 871
-10000 958 302 123 935 332 893 676 976 986
-10000 844 291 626 688 571 324 387 65 613
-10000 664 463 516 875 893 817 937 294 663
-10000 20 857 812 251 288 740 28 213 845
-10000 623 150 668 669 912 548 176 141 639
-10000 591 482 124 831 600 877 864 6 773
-10000 106 79 89 831 926 545 75 963 276
-10000 387 973 441 771 292 68 26 39 432
-10000 977 451 769 766 343 440 458 313 538
-10000 145 344 236 82 238 968 562 573 7
-10000 388 161 70 220 983 533 515 380 852
-10000 741 56 38 932 178 256 586 237 15
-10000 298 910 898 90 41 196 802 29 115
-10000 626 66 273 442 978 35 541 148 153
-10000 174 378 440 679 976 167 251 881 476
-10000 132 765 349 665 272 868 869 513 430
-10000 112 690 872 660 579 919 55 280 232
-10000 495 390 830 480 41 199 70 78 438
-10000 614 59 843 194 789 488 221 766 971
-10000 257 674 282 690 776 857 549 716 186
-10000 375 535 227 959 940 32 372 848 809
-10000 350 665 577 405 806 888 85 156 787
-10000 28 312 42 335 176 485 769 177 404
-10000 426 584 39 170 437 179 603 771 123
-10000 117 810 928 317 610 890 926 19 982
-10000 410 826 630 336 99 841 788 597 61
-10000 103 342 146 922 879 387 230 32 657
-10000 922 311 746 673 581 398 935 888 661
-10000 971 579 623 567 720 336 677 888 622
-10000 193 26 512 88 583 7 297 28 874
-10000 464 697 257 140 336 607 49 854 821
-10000 715 91 58 710 46 349 911 142 578
-10000 387 679 174 757 853 131 907 639 212
-10000 653 885 506 403 246 816 592 735 233
-10000 444 855 345 936 73 368 631 972 101
-10000 160 117 543 514 724 85 325 263 152
-10000 673 231 253 243 861 403 869 812 419
-10000 51 382 338 479 745 336 666 534 487
-10000 549 116 717 249 752 706 651 694 487
-10000 981 901 621 921 831 263 893 170 349
-10000 546 983 513 437 394 476 661 22 999
-10000 745 617 487 541 785 440 808 288 164
-10000 492 391 916 990 750 122 870 634 705
-10000 848 767 213 480 336 450 790 197 395
-10000 986 847 624 709 436 453 75 942 17
-10000 873 352 232 329 417 541 265 431 945
-10000 306 975 388 920 413 475 19 147 990
-10000 565 414 124 324 434 850 655 970 306
-10000 820 60 784 784 816 240 809 597 195
-10000 100 416 444 865 620 710 721 603 461
-10000 887 603 271 823 664 971 194 619 999
-10000 678 367 475 450 996 568 779 965 349
-10000 390 375 20 296 462 228 56 166 463
-10000 268 997 900 206 240 924 55 207 13
-10000 299 570 707 730 757 869 696 95 254
-10000 232 803 212 473 549 225 61 445 766
-10000 479 27 519 930 876 753 62 691 192
-10000 400 69 437 484 83 900 951 172 91
-10000 42 597 516 281 466 364 549 602 540
-10000 822 200 430 966 930 419 949 810 644
-10000 861 890 953 1000 889 353 433 993 403
-10000 860 962 611 472 813 780 849 226 974
-10000 934 598 401 80 490 319 377 901 229
-10000 684 55 908 691 979 675 488 962 316
-10000 735 540 6 171 714 643 50 585 809
-10000 556 666 565 341 687 923 274 856 138
-10000 806 366 578 155 454 342 876 455 737
-10000 467 869 627 67 699 176 844 927 331
-10000 307 636 668 1 734 623 726 691 601
-10000 509 601 814 119 205 617 301 468 441
-10000 423 678 245 199 964 788 122 76 18
-10000 692 436 818 671 532 391 407 561 500
-10000 420 536 875 90 986 581 380 659 214
-10000 252 265 2 951 565 929 141 308 863
-10000 65 246 724 539 946 962 700 84 529
-10000 856 345 504 346 91 423 411 676 161
-10000 710 560 215 343 598 602 585 107 308
-10000 595 193 337 894 263 824 809 127 813
-10000 401 332 574 23 447 220 654 744 157
-10000 853 604 436 455 707 622 1000 703 709
-10000 505 595 84 80 925 425 81 751 657
-10000 983 807 612 307 681 212 356 128 217
-10000 959 656 622 499 935 754 503 99 594
-10000 895 643 214 469 496 203 515 325 814
-10000 562 597 960 974 417 222 757 430 160
-10000 456 160 836 749 953 649 188 522 399
-10000 196 585 345 346 121 430 704 442 534
-10000 340 832 108 342 965 649 740 482 317
-10000 540 13 134 636 167 271 502 827 2
-10000 351 468 838 485 198 263 663 598 672
-10000 313 314 476 222 703 226 928 101 480
-10000 51 581 449 611 416 620 1000 196 863
-10000 4 101 954 826 597 453 766 309 859
-10000 764 497 542 278 281 419 884 71 559
-10000 205 941 655 796 212 793 245 347 665
-10000 181 985 24 867 962 838 530 537 365
-10000 790 998 814 92 577 51 990 127 11
-10000 588 813 460 616 616 603 428 590 895
-10000 163 601 540 446 334 319 840 592 670
-10000 107 357 120 982 294 123 752 715 841
-10000 960 304 524 8 456 899 429 385 65
-10000 107 299 853 623 885 208 718 657 762
-10000 407 53 109 505 576 57 458 489 377
-10000 868 47 423 778 276 856 382 170 453
-10000 367 428 336 774 687 132 787 670 91
-10000 682 982 419 249 662 835 465 858 338
-10000 431 464 109 986 920 765 463 22 94
-10000 601 553 947 734 814 420 978 699 682
-10000 884 362 263 263 741 158 300 577 848
-10000 987 123 559 760 779 197 98 839 483
-10000 426 255 721 19 691 494 101 873 704
-10000 941 317 345 328 950 341 313 806 185
-10000 606 983 545 661 73 675 23 704 431
-10000 134 78 878 499 906 313 548 633 922
-10000 822 399 798 93 859 686 203 703 196
-10000 652 945 515 394 555 141 884 648 236
-10000 282 27 925 13 617 974 112 442 669
-10000 325 514 574 410 113 821 319 836 958
-10000 356 605 660 586 792 704 338 244 947
-10000 364 717 77 182 141 121 789 37 233
-10000 26 972 524 752 942 161 302 381 444
-10000 474 601 736 164 724 291 785 366 235
-10000 196 428 599 749 445 956 91 89 825
-10000 405 792 726 80 678 203 812 961 643
-10000 773 414 485 273 326 348 222 465 45
-10000 367 434 854 89 67 817 836 433 552
-10000 895 106 9 893 74 696 488 593 119
-10000 730 58 667 776 432 882 405 539 850
-10000 257 699 874 279 878 136 761 425 212
-10000 319 419 74 877 983 279 822 183 294
-10000 86 627 21 255 620 34 847 384 918
-10000 164 675 616 791 55 954 443 365 224
-10000 289 880 970 316 798 76 505 895 539
-10000 597 722 602 15 841 516 328 103 660
-10000 95 68 279 836 759 7 852 536 463
-10000 9 429 674 223 789 215 856 422 2
-10000 0 59 845 1000 532 424 516 348 620
-10000 202 923 909 149 242 95 216 316 672
-10000 828 246 461 149 105 91 152 584 326
-10000 455 545 112 1 718 912 791 757 860
-10000 455 792 204 894 543 722 346 174 580
-10000 325 902 714 397 239 130 836 392 836
-10000 264 12 778 640 913 923 154 892 198
-10000 309 931 306 679 486 700 303 145 438
-10000 715 138 20 242 966 36 869 812 868
-10000 704 141 702 667 440 12 642 10 944
-10000 623 859 857 631 849 770 267 8 329
-10000 610 322 547 27 366 987 785 867 809
-10000 97 578 331 665 409 596 156 851 292
-10000 203 951 910 794 358 41 819 419 167
-10000 570 32 198 386 205 760 60 994 660
-10000 383 349 553 172 382 88 753 803 195
-10000 439 260 522 57 881 604 676 915 155
-10000 896 273 190 192 785 808 951 434 821
-10000 437 408 231 19 84 308 921 970 386
-10000 451 255 99 620 817 527 335 551 155
-10000 0 944 561 654 713 977 505 171 556
-10000 525 109 559 572 786 709 54 716 100
-10000 701 251 682 371 422 232 165 263 430
-10000 768 302 247 40 982 457 327 102 740
-10000 617 827 70 956 516 903 175 101 958
-10000 785 663 685 547 200 981 68 727 975
-10000 299 738 348 876 301 759 446 369 891
-10000 805 68 170 565 63 158 85 770 322
-10000 110 612 617 680 684 538 254 445 212
-10000 121 339 53 97 667 29 80 585 262
-10000 166 703 189 15 837 285 271 977 92
-10000 154 669 962 454 950 493 20 966 26
-10000 469 366 192 506 161 834 739 761 635
-10000 828 781 36 589 699 803 607 599 790
-10000 578 330 464 838 853 966 225 750 304
-10000 564 702 347 663 483 523 688 185 443
-10000 837 161 940 504 289 498 2 569 55
-10000 495 442 11 811 908 627 567 699 596
-10000 883 408 468 533 416 216 760 3 55
-10000 975 117 70 87 485 235 690 505 14
-10000 579 132 973 936 149 402 767 346 710
-10000 994 822 9 812 966 226 829 239 808
-10000 44 215 11 291 853 473 751 441 51
-10000 203 600 635 16 588 808 34 451 568
-10000 399 75 369 641 987 358 147 388 179
-10000 192 828 722 658 858 449 522 7 733
-10000 474 425 353 148 955 823 726 336 67
-10000 702 465 194 717 835 221 402 695 730
-10000 194 703 498 798 441 244 61 142 239
-10000 207 374 725 704 41 482 20 604 241
-10000 6 879 184 348 548 576 140 610 202
-10000 293 620 493 10 780 794 914 190 726
-10000 368 270 350 505 548 741 161 365 828
-10000 8 14 516 999 205 677 354 98 197
-10000 930 447 282 147 446 70 802 829 899
-10000 508 276 714 199 46 608 45 207 851
-10000 193 648 992 190 308 129 270 315 329
-10000 245 638 174 896 838 439 627 847 37
-10000 371 311 691 755 904 537 652 549 225
-10000 421 630 66 219 244 74 72 976 58
-10000 702 525 995 80 194 129 203 417 431
-10000 431 777 44 895 421 464 77 175 851
-10000 214 472 500 94 289 73 220 34 165
-10000 184 461 523 762 174 938 153 534 319
-10000 386 129 636 806 228 345 90 891 507
-10000 107 403 665 590 579 513 74 776 82
-10000 230 918 817 251 285 256 985 656 644
-10000 919 630 842 76 14 34 971 165 335
-10000 667 319 286 519 968 467 84 585 599
-10000 774 814 959 89 750 846 64 896 644
-10000 474 711 50 502 660 382 19 256 845
-10000 727 635 783 980 341 259 490 752 617
-10000 410 189 947 458 948 128 642 353 998
-10000 461 791 881 160 318 955 525 523 884
-10000 233 114 10 99 283 489 936 580 577
-10000 92 447 949 854 343 519 223 716 706
-10000 424 121 454 190 6 374 880 83 563
-10000 549 348 44 606 557 956 109 181 823
-10000 550 876 291 810 787 963 105 454 27
-10000 89 646 816 304 802 656 352 24 828
-10000 793 348 667 133 615 954 982 864 644
-10000 846 709 88 369 238 519 629 904 465
-10000 340 1000 185 513 537 586 321 414 395
-10000 810 999 365 498 359 51 497 17 454
-10000 91 820 867 829 468 198 894 138 72
-10000 53 176 428 726 631 767 13 295 300
-10000 661 540 27 221 563 724 767 224 362
-10000 8 315 169 875 218 294 393 369 81
-10000 156 345 521 588 535 441 928 70 874
-10000 45 212 891 727 308 994 491 634 120
-10000 717 641 995 805 107 330 943 461 93
-10000 251 987 51 133 679 503 572 184 512
-10000 568 178 24 654 254 232 343 346 457
-10000 50 815 877 278 626 1000 577 652 791
-10000 227 356 336 516 441 949 357 779 498
-10000 65 965 369 593 343 262 828 86 759
-10000 520 285 968 256 373 336 361 495 762
-10000 985 482 49 781 275 8 211 381 476
-10000 488 55 514 436 62 678 578 593 735
-10000 355 639 322 446 301 71 786 723 904
-10000 668 888 455 208 172 764 181 582 1000
-10000 665 931 455 238 338 720 184 655 705
-10000 386 34 939 505 257 821 571 853 290
-10000 201 395 814 245 843 309 495 669 793
-10000 646 689 23 921 599 488 573 724 164
-10000 409 494 550 714 489 113 231 220 386
-10000 801 737 757 616 469 976 568 230 274
-10000 21 378 813 806 981 189 787 821 879
-10000 874 543 466 646 281 603 231 359 282
-10000 756 870 828 396 317 8 797 366 451
-10000 744 632 405 772 914 714 125 994 553
-10000 470 938 76 29 741 373 993 18 635
-10000 651 710 398 1000 549 67 875 174 91
-10000 712 166 114 323 35 207 636 755 686
-10000 719 395 426 208 598 249 498 941 693
-10000 104 39 19 554 502 813 810 255 666
-10000 470 482 970 162 955 752 249 738 728
-10000 50 706 463 646 451 250 847 866 21
-10000 129 912 909 509 583 241 585 611 432
-10000 172 599 562 605 243 941 429 568 628
-10000 831 876 627 217 942 998 804 836 983
-10000 446 99 646 309 561 447 739 715 635
-10000 906 175 430 163 438 183 332 417 441
-10000 617 159 337 532 913 471 978 133 297
-10000 678 906 855 71 944 383 510 303 255
-10000 659 388 387 894 720 661 682 708 745
-10000 800 490 978 330 152 784 495 814 681
-10000 370 112 117 930 491 25 10 117 449
-10000 865 615 134 60 630 791 567 867 79
-10000 699 865 672 183 645 536 74 485 671
-10000 209 636 635 664 618 790 308 387 192
-10000 245 645 670 750 558 414 125 348 742
-10000 478 405 573 997 582 749 799 74 963
-10000 827 552 317 36 639 789 318 42 659
-10000 121 648 81 345 667 468 516 150 652
-10000 569 226 308 0 384 387 651 433 935
-10000 879 856 439 660 116 147 865 194 179
-10000 986 913 478 8 4 83 984 845 995
-10000 965 108 618 485 442 936 620 972 47
-10000 651 62 707 746 3 733 386 9 659
-10000 675 251 130 637 539 158 306 554 260
-10000 69 285 796 632 393 591 884 833 477
-10000 537 406 933 972 463 837 486 446 502
-10000 613 922 410 762 645 128 248 368 523
-10000 579 146 216 867 926 767 954 874 530
-10000 933 552 242 236 558 752 676 495 872
-10000 268 845 253 903 503 393 551 593 908
-10000 436 856 224 114 310 816 421 352 222
-10000 720 683 983 818 954 339 621 946 696
-10000 926 630 14 806 971 483 513 143 890
-10000 796 718 71 391 613 136 626 543 326
-10000 748 843 614 703 403 507 748 629 79
-10000 696 732 122 302 499 423 781 925 893
-10000 792 238 478 66 319 67 984 490 218
-10000 352 447 323 433 886 367 370 955 59
-10000 136 776 671 485 717 780 767 24 874
-10000 846 957 788 779 878 583 385 133 778
-10000 471 968 878 922 606 318 340 811 769
-10000 610 234 549 361 748 846 983 518 840
-10000 755 444 469 528 188 631 895 515 959
-10000 498 364 929 957 258 396 188 72 295
-10000 574 553 168 736 390 187 256 312 283
-10000 717 396 794 981 301 616 633 329 96
-10000 44 28 230 882 154 688 827 377 908
-10000 200 875 541 153 100 867 216 41 968
-10000 763 211 445 108 224 676 703 40 231
-10000 27 665 512 981 192 105 802 352 964
-10000 465 350 327 135 444 340 439 518 209
-10000 165 450 274 548 668 689 286 346 237
-10000 493 182 900 426 165 710 353 64 924
-10000 646 410 878 577 841 527 457 228 575
-10000 105 634 646 941 380 218 76 132 703
-10000 219 383 637 496 592 309 673 400 956
-10000 973 953 518 381 646 79 276 626 224
-10000 876 136 886 811 647 556 113 148 268
-10000 132 334 166 835 972 283 580 610 948
-10000 994 481 491 670 892 387 586 677 443
-10000 409 755 305 934 776 822 609 617 526
-10000 889 353 168 910 418 619 896 549 77
-10000 218 95 283 580 421 883 55 221 378
-10000 521 693 765 332 256 983 866 628 414
-10000 760 750 941 97 959 46 827 378 827
-10000 895 30 197 403 153 77 104 181 966
-10000 948 226 654 326 134 37 337 842 561
-10000 457 871 356 602 333 187 205 496 305
-10000 653 962 199 338 532 658 64 896 973
-10000 245 595 774 61 666 307 690 75 585
-10000 441 928 335 217 637 766 333 595 856
-10000 731 355 662 757 446 58 114 598 990
-10000 857 178 495 698 652 997 965 344 454
-10000 252 33 20 278 397 627 943 186 565
-10000 101 583 661 60 470 637 137 83 81
-10000 414 624 297 457 292 136 170 95 89
-10000 469 84 330 841 749 209 504 623 394
-10000 249 538 69 968 236 25 545 245 372
-10000 124 325 575 510 305 673 882 371 614
-10000 402 764 486 103 96 788 559 307 339
-10000 131 48 655 614 441 540 420 95 993
-10000 607 44 870 214 912 979 220 506 485
-10000 60 905 396 766 36 861 496 100 390
-10000 98 6 765 851 647 159 762 916 927
-10000 79 284 585 813 498 754 376 464 853
-10000 372 978 213 607 77 443 742 270 451
-10000 355 142 800 573 614 560 138 123 202
-10000 363 921 401 782 97 860 745 927 362
-10000 31 384 719 247 711 457 965 326 242
-10000 551 845 502 917 903 251 88 592 329
-10000 488 66 469 808 23 974 222 745 971
-10000 85 763 747 189 58 109 55 764 17
-10000 268 580 52 85 433 241 379 77 617
-10000 86 390 899 388 115 373 722 903 324
-10000 710 872 655 577 937 752 282 311 304
-10000 399 557 20 708 499 310 376 257 404
-10000 98 92 254 568 339 367 66 594 671
-10000 506 696 122 926 240 268 700 151 878
-10000 830 775 404 168 648 182 792 412 42
-10000 594 785 141 30 344 915 579 864 147
-10000 445 208 157 858 232 176 905 403 535
-10000 380 532 488 961 769 894 841 317 809
-10000 459 171 387 799 444 921 535 737 632
-10000 76 661 399 832 955 811 379 542 152
-10000 340 801 922 93 761 876 503 776 928
-10000 405 558 207 906 735 465 724 817 983
-10000 757 998 394 593 907 66 932 91 696
-10000 691 401 32 920 992 79 374 383 678
-10000 17 771 794 55 733 694 720 261 859
-10000 820 418 457 361 82 733 812 116 790
-10000 631 916 359 839 690 995 747 595 609
-10000 186 766 309 807 474 337 106 922 247
-10000 746 597 537 177 791 695 636 499 978
-10000 517 901 878 4 819 559 719 124 631
-10000 300 492 815 782 20 486 613 964 644
-10000 425 285 682 750 912 451 60 794 752
-10000 357 664 459 550 994 370 553 331 997
-10000 445 301 909 755 791 461 840 522 44
-10000 835 412 803 910 53 517 388 142 504
-10000 188 310 994 588 248 388 471 556 868
-10000 419 318 968 989 68 171 474 49 164
-10000 580 159 794 691 442 838 647 423 769
-10000 914 855 287 85 949 800 565 1000 47
-10000 891 195 353 741 644 579 730 540 427
-10000 101 607 7 136 881 680 537 679 338
-10000 762 199 946 652 141 328 445 212 376
-10000 324 833 262 887 804 626 516 845 326
-10000 34 546 538 482 163 344 9 390 484
-10000 713 459 814 419 572 646 46 660 344
-10000 936 405 838 494 755 67 627 543 54
-10000 297 358 122 697 451 676 480 630 649
-10000 431 121 136 347 348 765 629 496 120
-10000 668 1 855 584 59 426 272 258 698
-10000 946 16 566 268 410 552 146 992 367
-10000 893 289 419 454 684 581 75 807 197
-10000 613 207 147 604 102 66 325 346 612
-10000 601 770 614 754 681 981 58 108 90
-10000 973 323 8 603 931 472 830 394 373
-10000 913 692 906 798 223 168 935 343 215
-10000 322 716 391 237 80 829 745 157 50
-10000 459 840 350 783 580 578 651 678 138
-10000 977 309 345 362 964 607 116 388 584
-10000 245 335 845 846 833 743 414 300 105
-10000 191 348 137 307 912 185 674 709 707
-10000 264 616 217 268 310 609 813 78 66
-10000 951 192 795 464 372 783 89 946 280
-10000 355 560 799 919 100 838 736 665 673
-10000 738 821 881 272 475 921 487 717 682
-10000 474 993 912 794 178 320 300 870 725
-10000 702 407 641 45 703 655 723 944 879
-10000 514 112 205 133 131 3 416 814 490
-10000 932 153 759 783 82 699 265 246 156
-10000 392 958 369 208 44 134 795 376 850
-10000 373 102 999 690 393 695 179 514 64
-10000 869 590 435 847 49 278 604 65 860
-10000 290 757 835 414 569 357 512 805 239
-10000 655 951 920 447 553 342 407 449 968
-10000 40 321 346 860 888 240 255 191 355
-10000 630 91 945 755 505 863 326 270 925
-10000 262 85 712 657 195 22 158 809 175
-10000 839 186 12 388 271 619 116 290 375
-10000 883 695 870 179 733 298 255 672 953
-10000 98 311 292 605 64 788 926 10 350
-10000 448 683 154 85 936 672 857 87 461
-10000 427 590 329 321 427 365 161 242 718
-10000 46 962 23 897 270 863 466 326 742
-10000 599 528 488 563 437 548 122 697 631
-10000 83 554 900 900 195 517 324 236 249
-10000 544 556 564 550 315 491 889 500 69
-10000 323 619 620 885 1000 986 228 297 172
-10000 916 825 277 121 300 346 339 798 279
-10000 767 885 856 77 819 452 453 246 733
-10000 427 603 636 961 302 263 890 717 779
-10000 42 568 38 397 539 52 226 41 525
-10000 804 655 687 425 794 924 721 442 542
-10000 830 895 872 255 3 777 541 648 507
-10000 500 19 977 511 191 286 807 745 675
-10000 565 343 34 241 495 50 589 482 848
-10000 861 711 719 137 64 143 36 607 715
-10000 403 993 132 529 886 460 120 576 841
-10000 423 406 248 306 353 139 118 438 562
-10000 444 166 3 659 762 111 828 269 12
-10000 518 758 952 201 887 398 348 607 507
-10000 294 277 267 770 722 60 696 491 306
-10000 743 970 112 665 429 484 142 351 2
-10000 567 302 128 386 968 47 302 130 610
-10000 968 699 572 806 93 700 38 479 243
-10000 320 651 251 835 361 89 460 273 557
-10000 520 190 622 843 730 517 779 810 389
-10000 203 690 602 635 901 401 568 398 990
-10000 421 606 935 963 607 665 127 191 735
-10000 453 756 711 389 767 748 680 69 916
-10000 867 766 18 367 516 868 710 354 686
-10000 963 256 209 827 365 9 109 628 564
-10000 446 194 481 50 305 633 878 844 581
-10000 350 807 544 695 232 796 299 416 561
-10000 913 997 393 648 213 487 340 291 387
-10000 562 506 651 674 494 251 814 633 879
-10000 971 980 186 40 630 849 69 454 857
-10000 147 105 113 700 313 8 212 903 410
-10000 539 94 609 127 31 813 96 644 766
-10000 671 961 941 730 421 117 733 440 351
-10000 958 710 365 856 172 468 112 188 921
-10000 948 689 683 23 931 243 134 252 405
-10000 471 908 132 301 137 997 493 138 551
-10000 566 396 616 47 933 558 444 212 848
-10000 607 410 457 245 97 937 969 892 441
-10000 359 182 949 75 428 162 833 253 663
-10000 802 877 560 65 781 886 319 635 993
-10000 553 312 165 449 336 679 700 782 212
-10000 988 392 720 483 617 95 771 37 472
-10000 704 406 363 547 466 807 575 107 578
-10000 972 886 549 553 354 208 43 240 878
-10000 509 534 745 620 761 905 365 769 350
-10000 817 327 211 606 132 305 775 146 747
-10000 513 283 244 417 514 277 176 248 621
-10000 728 247 612 271 858 132 197 936 101
-10000 333 781 111 336 913 966 716 144 573
-10000 289 382 131 141 454 200 484 932 189
-10000 862 236 127 783 12 957 477 816 638
-10000 133 751 864 613 917 409 357 98 881
-10000 686 84 750 136 572 948 263 546 401
-10000 576 179 71 446 282 390 108 676 928
-10000 442 602 859 752 443 387 657 955 297
-10000 723 534 845 403 921 128 486 566 114
-10000 255 316 693 197 378 715 869 36 726
-10000 398 652 482 36 74 791 550 955 1
-10000 927 605 118 89 519 70 458 796 967
-10000 540 470 704 678 212 369 112 186 653
-10000 907 182 774 822 142 608 358 449 259
-10000 555 891 952 266 343 975 84 661 24
-10000 619 350 91 140 691 232 290 571 666
-10000 730 856 741 357 733 435 630 7 616
-10000 765 638 476 963 210 896 382 582 965
-10000 75 816 942 757 100 247 137 474 398
-10000 323 684 355 743 295 961 269 242 593
-10000 224 446 95 52 478 870 744 167 310
-10000 250 531 382 359 804 218 608 882 12
-10000 872 982 191 510 113 97 304 985 551
-10000 883 595 960 347 89 787 519 885 34
-10000 983 101 939 866 270 30 968 731 435
-10000 572 523 982 426 509 378 369 357 479
-10000 681 206 172 536 307 160 110 359 492
-10000 77 751 964 127 455 162 620 893 17
-10000 112 877 358 296 553 372 337 254 887
-10000 198 381 387 489 267 812 152 557 260
-10000 845 25 1000 304 837 794 131 592 556
-10000 670 308 260 128 652 928 966 941 559
-10000 830 148 127 786 191 217 485 174 851
-10000 618 786 269 632 821 364 36 202 347
-10000 138 66 153 949 208 70 20 269 224
-10000 260 26 142 574 980 985 311 767 585
-10000 86 902 859 583 12 688 622 117 636
-10000 769 510 982 368 829 171 376 193 628
-10000 198 460 278 987 97 932 64 327 448
-10000 910 585 14 211 86 414 256 711 377
-10000 488 983 730 698 254 292 569 485 964
-10000 376 876 311 446 653 773 438 58 740
-10000 548 935 863 30 809 376 621 13 46
-10000 192 725 536 958 541 346 370 75 69
-10000 499 724 144 60 302 195 246 483 307
-10000 650 129 873 478 50 48 113 86 520
-10000 54 353 996 155 122 572 871 984 368
-10000 157 693 291 512 98 105 84 312 362
-10000 557 465 416 575 858 383 902 284 211
-10000 438 166 506 633 847 742 609 256 674
-10000 771 456 172 497 429 933 762 459 816
-10000 197 31 439 438 17 827 183 199 977
-10000 236 756 387 927 491 820 699 183 518
-10000 263 865 416 223 276 522 330 876 945
-10000 589 905 80 888 676 186 410 902 775
-10000 348 600 341 495 356 320 725 366 566
-10000 391 763 238 762 6 880 763 789 883
-10000 815 625 51 905 782 155 8 256 217
-10000 802 601 602 412 78 721 1 129 477
-10000 45 942 479 297 866 264 179 668 128
-10000 994 360 827 1 95 392 965 374 578
-10000 659 734 679 601 74 836 90 213 957
-10000 953 832 486 789 193 778 389 568 126
-10000 621 954 660 462 483 816 167 597 424
-10000 996 566 383 812 65 341 996 338 419
-10000 212 410 530 210 439 933 965 796 100
-10000 284 953 381 406 349 827 573 874 339
-10000 397 380 511 298 254 664 175 687 36
-10000 816 448 666 113 523 177 588 514 933
-10000 578 436 644 489 372 519 167 744 172
-10000 857 871 13 830 535 647 875 594 777
-10000 71 440 192 460 953 5 871 740 438
-10000 398 758 997 298 131 405 308 445 0
-10000 405 471 591 334 535 6 497 248 443
-10000 954 687 416 416 790 969 685 536 686
-10000 317 349 300 284 269 247 227 879 797
-10000 515 316 372 529 277 543 355 343 297
-10000 516 260 273 245 899 153 248 773 762
-10000 16 304 756 87 48 132 977 695 657
-10000 887 693 396 641 461 939 586 972 70
-10000 164 12 627 962 929 527 860 942 989
-10000 750 526 465 565 345 994 452 603 915
-10000 80 480 830 523 419 547 107 412 742
-10000 28 287 107 848 977 981 667 571 81
-10000 521 148 573 552 569 939 260 101 720
-10000 999 444 332 376 9 874 759 795 33
-10000 905 560 160 582 535 829 433 979 480
-10000 859 200 375 479 442 588 730 367 808
-10000 150 775 359 998 872 437 632 791 370
-10000 939 732 98 914 148 721 946 372 461
-10000 295 178 999 1 170 624 235 441 975
-10000 736 48 371 858 866 314 403 634 34
-10000 537 162 189 741 973 804 187 959 547
-10000 573 82 523 135 440 515 616 162 498
-10000 194 260 996 397 861 16 674 854 495
-10000 448 46 704 131 510 901 350 950 294
-10000 637 167 258 798 270 261 254 853 130
-10000 62 211 215 473 670 586 426 261 226
-10000 651 157 855 228 334 69 221 281 370
-10000 999 811 603 581 674 20 127 220 715
-10000 603 589 809 339 418 547 44 471 655
-10000 13 797 929 432 749 592 982 756 692
-10000 655 750 581 447 852 739 263 699 930
-10000 227 748 251 345 213 945 738 669 847
-10000 844 41 193 787 321 739 137 5 909
-10000 267 794 833 397 906 155 260 767 137
-10000 828 779 710 661 73 993 420 121 735
-10000 626 745 379 758 830 863 376 54 159
-10000 158 651 890 423 15 906 588 322 725
-10000 74 643 766 571 212 658 467 510 621
-10000 143 145 444 287 47 302 725 151 886
-10000 776 684 483 818 549 268 631 930 136
-10000 922 814 210 162 3 201 917 673 229
-10000 604 542 704 738 185 143 725 465 968
-10000 196 821 460 436 415 29 903 447 280
-10000 430 232 927 794 277 645 736 269 898
-10000 247 852 515 951 259 783 556 301 687
-10000 624 471 900 89 818 833 196 155 204
-10000 500 173 2 261 525 805 675 396 951
-10000 672 554 117 33 96 570 349 712 704
-10000 919 897 117 733 212 481 586 183 468
-10000 446 422 71 185 377 391 592 372 470
-10000 642 76 578 730 216 872 138 852 377
-10000 360 606 185 836 849 359 525 217 85
-10000 271 574 526 360 20 297 351 140 783
-10000 87 763 668 117 777 162 630 54 408
-10000 921 981 7 551 962 43 886 764 163
-10000 698 498 117 695 390 606 928 337 163
-10000 81 536 548 967 131 270 942 608 224
-10000 340 282 253 357 951 394 502 400 893
-10000 7 882 317 594 156 935 581 183 308
-10000 565 677 943 202 540 855 70 618 568
-10000 504 129 346 550 442 1 697 565 80
-10000 582 752 182 46 40 908 389 943 69
-10000 852 210 439 84 840 565 800 90 387
-10000 283 934 515 249 124 98 870 209 886
-10000 60 480 333 210 438 29 716 881 455
-10000 352 380 563 325 801 352 717 549 660
-10000 228 926 227 77 942 408 421 285 92
-10000 598 404 276 673 813 888 8 536 84
-10000 464 596 354 786 311 241 248 582 227
-10000 430 571 676 367 672 142 248 145 269
-10000 673 123 188 825 510 954 664 245 753
-10000 329 225 235 869 597 476 901 102 751
-10000 734 649 468 739 366 967 711 636 990
-10000 59 194 967 666 382 839 85 983 578
-10000 775 17 455 373 678 403 269 523 1000
-10000 861 493 379 324 108 268 490 742 641
-10000 739 487 779 370 955 134 107 698 965
-10000 843 993 423 719 980 733 100 558 918
-10000 211 125 262 129 15 49 282 490 864
-10000 891 354 850 118 152 91 553 760 805
-10000 890 352 794 282 220 706 242 258 211
-10000 685 500 384 58 81 567 275 459 659
-10000 167 517 330 487 766 311 812 764 852
-10000 356 374 2 342 673 291 4 309 405
-10000 809 421 762 241 611 98 337 659 500
-10000 504 956 636 107 723 936 950 934 436
-10000 566 817 847 278 845 308 150 458 168
-10000 762 135 400 556 626 200 849 182 490
-10000 431 649 751 76 820 125 273 29 644
-10000 682 490 656 264 183 892 428 239 112
-10000 969 862 809 598 964 784 422 116 990
-10000 513 182 900 788 690 573 753 834 389
-10000 801 339 492 952 255 830 24 669 713
-10000 874 926 287 336 794 377 115 172 272
-10000 170 210 511 523 136 18 899 682 94
-10000 229 888 843 639 167 560 814 298 612
-10000 510 565 965 80 251 478 548 940 633
-10000 966 612 773 344 101 336 462 375 312
-10000 749 617 536 895 831 640 366 698 955
-10000 939 665 650 718 654 411 471 172 964
-10000 2 555 959 957 733 353 414 988 907
-10000 462 803 484 462 112 32 987 681 653
-10000 927 330 200 615 362 733 497 333 253
-10000 826 31 110 84 375 98 541 490 330
-10000 590 453 237 646 694 848 655 834 551
-10000 950 999 223 709 725 191 347 689 717
-10000 388 694 361 626 242 226 936 63 313
-10000 624 160 722 332 885 454 636 972 992
-10000 545 282 226 904 512 240 352 981 944
-10000 203 281 291 846 1000 133 464 138 408
-10000 720 952 511 855 221 724 938 441 813
-10000 773 759 8 158 359 823 85 335 54
-10000 341 901 133 425 242 890 302 462 861
-10000 848 925 295 336 410 875 407 371 907
-10000 352 638 471 79 142 635 582 115 481
-10000 626 888 58 404 41 157 766 336 963
-10000 607 304 667 230 199 588 181 337 378
-10000 970 687 866 440 691 838 476 69 105
-10000 100 128 373 381 13 34 749 871 11
-10000 567 250 348 583 255 178 146 514 197
-10000 943 89 662 421 280 810 239 698 939
-10000 498 928 971 131 425 839 595 270 124
-10000 303 679 763 729 678 372 289 772 95
-10000 343 996 999 808 425 976 387 809 55
-10000 930 643 615 524 983 236 352 49 210
-10000 634 478 590 79 90 137 40 539 803
-10000 560 863 946 8 844 457 820 922 222
-10000 591 726 558 206 669 577 272 27 928
-10000 47 633 100 825 685 821 222 897 900
-10000 187 335 298 835 844 240 485 561 241
-10000 757 568 739 44 332 958 469 494 911
-10000 437 639 313 497 634 438 646 277 343
-10000 809 86 741 359 3 199 389 701 400
-10000 895 251 516 77 595 909 470 964 873
-10000 833 703 227 347 995 441 82 688 466
-10000 79 972 721 601 809 136 924 8 375
-10000 395 697 510 755 580 334 697 424 660
-10000 714 244 599 0 919 849 168 33 510
-10000 383 318 260 331 989 903 714 27 170
-10000 798 480 437 175 866 580 273 335 475
-10000 299 549 113 108 634 192 883 755 931
-10000 719 313 809 206 847 749 54 258 756
-10000 171 32 785 641 822 382 788 275 546
-10000 111 80 185 733 240 899 297 798 313
-10000 467 456 107 166 780 727 312 777 761
-10000 592 119 218 286 286 405 625 931 628
-10000 832 41 300 707 205 690 550 619 122
-10000 607 907 744 513 122 540 268 809 262
-10000 659 740 166 709 157 301 74 224 322
-10000 166 137 570 295 939 26 956 267 475
-10000 649 430 912 817 436 982 807 471 420
-10000 124 289 771 179 90 428 460 64 434
-10000 789 525 470 68 684 390 365 38 122
-10000 806 843 590 50 268 460 929 139 251
-10000 316 379 148 391 137 681 953 996 462
-10000 782 630 299 197 583 88 31 497 741
-10000 482 620 309 712 904 200 850 890 76
-10000 834 653 592 280 787 480 890 601 699
-10000 744 506 356 12 909 83 907 723 96
-10000 48 338 210 489 39 552 483 334 961
-10000 754 175 599 645 198 329 243 931 248
-10000 252 241 821 22 218 113 0 887 129
-10000 846 649 784 756 192 95 789 654 85
-10000 418 974 615 770 569 748 880 9 615
-10000 143 904 132 953 763 893 632 968 119
-10000 297 675 562 351 574 506 93 686 255
-10000 93 333 552 937 333 105 433 976 696
-10000 750 760 905 89 978 817 504 348 612
-10000 829 315 52 91 392 141 249 100 288
-10000 185 757 754 591 133 994 52 550 548
-10000 571 895 699 781 332 300 261 529 294
-10000 376 924 782 56 776 630 418 816 391
-10000 241 515 922 387 558 237 446 400 936
-10000 557 361 745 692 335 758 555 673 576
-10000 247 594 274 847 31 876 444 483 586
-10000 474 167 817 957 545 990 933 281 596
-10000 926 87 151 595 250 996 354 649 482
-10000 420 43 722 712 168 94 30 566 392
-10000 777 866 724 795 278 168 352 832 168
-10000 511 966 675 5 619 105 436 844 893
-10000 112 328 340 523 631 309 743 143 11
-10000 241 953 807 388 950 195 670 416 759
-10000 491 701 942 77 616 373 915 264 205
-10000 671 854 774 904 479 444 513 482 123
-10000 536 539 280 622 666 469 331 632 364
-10000 706 638 371 578 150 445 200 338 41
-10000 396 544 470 144 645 536 27 169 80
-10000 19 444 326 737 155 402 279 459 322
-10000 204 385 563 566 834 927 842 146 970
-10000 599 991 20 97 965 542 233 381 463
-10000 671 253 511 781 433 255 109 844 507
-10000 437 150 123 799 296 42 458 620 923
-10000 245 529 163 278 716 359 270 136 136
-10000 931 867 176 598 952 159 378 597 123
-10000 73 504 83 651 693 13 229 693 139
-10000 432 161 678 760 359 965 674 993 325
-10000 351 565 552 160 43 81 756 879 392
-10000 84 677 638 886 801 95 335 695 282
-10000 566 778 541 453 769 527 97 779 331
-10000 961 265 965 996 807 831 654 44 231
-10000 105 779 928 146 414 139 260 640 492
-10000 113 206 432 614 313 583 968 688 266
-10000 369 582 68 731 463 513 771 837 944
-10000 127 737 548 333 184 982 861 170 646
-10000 4 492 287 678 987 467 254 141 575
-10000 111 472 23 729 434 255 733 53 258
-10000 784 326 706 295 220 139 124 400 681
-10000 654 22 804 99 106 230 652 836 692
-10000 530 18 546 25 775 9 284 60 750
-10000 680 811 219 571 360 724 261 409 924
-10000 513 332 422 614 911 537 160 847 476
-10000 85 444 242 683 389 436 38 332 48
-10000 890 896 423 364 301 457 377 143 971
-10000 806 313 479 589 601 812 365 631 325
-10000 442 765 478 811 521 659 889 339 94
-10000 288 461 237 469 924 495 874 570 104
-10000 667 108 972 840 707 875 663 904 678
-10000 525 871 707 186 283 89 265 203 198
-10000 848 219 697 632 348 538 904 830 787
-10000 92 952 759 51 599 633 498 720 903
-10000 378 208 971 531 362 394 498 622 703
-10000 830 735 687 154 170 925 106 128 62
-10000 64 372 404 94 54 866 843 197 780
-10000 127 743 466 363 230 451 435 131 561
-10000 532 185 652 236 697 492 737 2 176
-10000 457 593 666 787 234 46 142 853 525
-10000 653 384 276 888 270 136 469 591 817
-10000 423 850 541 536 130 248 65 75 246
-10000 2 784 121 632 795 569 910 751 630
-10000 516 15 844 128 420 412 900 683 900
-10000 643 819 477 121 537 42 398 144 677
-10000 371 512 668 610 376 24 519 859 269
-10000 905 22 902 255 323 663 833 426 863
-10000 21 418 985 429 8 109 107 981 636
-10000 589 3 606 163 106 719 590 755 222
-10000 665 391 373 208 506 929 927 382 229
-10000 448 17 1 2 777 819 435 358 549
-10000 240 157 104 518 958 730 581 846 108
-10000 772 145 580 35 913 263 440 898 424
-10000 909 804 273 586 364 291 890 595 616
-10000 939 699 727 618 80 618 875 77 134
-10000 874 690 350 357 320 229 419 889 482
-10000 140 269 540 209 736 559 230 912 438
-10000 613 948 682 882 136 579 690 10 699
-10000 829 423 566 459 314 816 13 47 569
-10000 77 936 645 542 996 879 323 491 78
-10000 782 672 0 819 35 372 939 701 279
-10000 523 332 887 124 462 695 336 286 610
-10000 438 817 959 635 132 829 350 744 232
-10000 54 634 144 742 104 392 204 226 890
-10000 750 677 643 794 169 894 196 668 262
-10000 572 201 812 922 906 581 281 459 120
-10000 440 514 901 277 995 117 834 654 935
-10000 32 736 318 610 486 765 389 866 70
-10000 183 356 804 890 565 582 295 232 705
-10000 645 541 943 184 97 25 116 961 468
-10000 921 791 768 256 375 154 993 934 206
-10000 983 266 506 970 102 598 353 589 171
-10000 332 934 84 850 826 43 412 173 778
-10000 561 841 327 703 163 223 246 882 234
-10000 132 809 188 100 430 623 16 294 160
-10000 936 604 886 372 112 727 956 807 208
-10000 181 703 417 321 409 143 264 274 502
-10000 105 59 698 449 992 780 781 946 297
-10000 751 517 967 599 713 582 534 927 527
-10000 969 372 465 861 854 840 440 568 402
-10000 267 318 12 215 833 11 221 552 8
-10000 828 442 669 730 620 229 96 828 357
-10000 586 403 701 609 321 3 510 656 474
-10000 647 845 912 486 184 586 557 30 826
-10000 47 51 313 581 788 563 228 621 493
-10000 341 824 126 686 842 998 306 919 848
-10000 965 352 975 306 359 134 672 372 981
-10000 349 485 457 648 662 702 451 517 792
-10000 675 589 448 542 303 10 43 429 602
-10000 150 856 74 784 409 736 159 79 968
-10000 232 46 313 809 41 611 533 905 21
-10000 668 930 898 808 462 935 290 802 77
-10000 635 556 834 439 747 272 571 128 416
-10000 767 985 912 893 907 312 779 124 479
-10000 642 331 501 456 423 469 299 578 732
-10000 240 485 696 717 206 268 634 744 819
-10000 407 963 587 964 637 513 676 530 653
-10000 804 16 164 973 913 272 997 702 388
-10000 291 882 567 630 10 766 638 44 478
-10000 417 237 416 468 458 354 807 532 764
-10000 131 163 13 257 221 988 882 862 989
-10000 980 435 31 419 760 859 49 44 391
-10000 111 837 369 230 901 547 161 108 529
-10000 361 578 998 682 437 553 154 276 364
-10000 324 713 456 314 796 540 427 420 147
-10000 551 472 385 329 894 359 253 260 681
-10000 1 353 636 215 518 737 535 826 705
-10000 984 200 864 684 403 84 827 449 916
-10000 264 522 954 277 621 166 328 906 421
-10000 823 932 512 804 352 943 966 66 971
-10000 394 197 960 203 641 922 848 144 76
-10000 168 894 915 578 709 647 469 293 536
-10000 596 530 215 488 367 259 12 342 96
-10000 849 361 72 100 941 797 5 180 329
-10000 587 877 867 280 477 649 297 33 431
-10000 499 45 214 524 309 693 654 434 716
-10000 983 270 96 600 751 128 791 441 171
-10000 209 621 800 133 908 329 336 631 92
-10000 957 738 415 250 958 337 377 391 549
-10000 609 775 870 627 844 77 149 652 422
-10000 907 739 672 657 937 584 236 957 670
-10000 600 393 656 345 530 334 61 656 824
-10000 248 747 745 640 629 533 972 538 7
-10000 414 702 605 411 32 602 548 142 155
-10000 972 777 838 784 849 964 376 937 697
-10000 566 329 728 332 605 461 996 662 945
-10000 225 545 633 216 214 708 810 987 345
-10000 564 827 599 668 956 478 254 557 534
-10000 589 968 724 701 363 222 887 488 640
-10000 979 756 722 985 612 578 547 318 964
-10000 368 116 28 569 535 854 926 751 372
-10000 490 89 17 197 788 139 930 841 25
-10000 477 907 802 824 506 59 862 534 731
-10000 657 541 127 760 783 818 246 475 232
-10000 30 660 469 205 197 406 212 932 602
-10000 744 64 977 995 274 735 296 850 941
-10000 377 56 184 975 152 205 728 156 205
-10000 492 165 528 639 292 280 588 144 823
-10000 645 976 741 90 162 178 459 746 281
-10000 3 98 103 356 663 756 62 76 742
-10000 58 833 834 750 873 603 138 240 513
-10000 337 378 723 119 73 585 684 66 861
-10000 979 534 873 559 10 552 31 618 257
-10000 680 963 387 95 518 798 853 606 163
-10000 922 107 916 428 900 866 776 84 54
-10000 877 394 376 678 347 389 825 817 51
-10000 465 440 755 884 327 156 318 787 275
-10000 500 187 317 368 611 74 639 347 859
-10000 342 873 966 296 481 275 274 694 136
-10000 306 508 575 579 776 111 950 401 139
-10000 728 389 639 74 67 921 227 736 184
-10000 310 53 621 562 479 828 771 186 97
-10000 852 321 201 825 495 507 290 897 189
-10000 399 940 507 438 47 886 165 250 81
-10000 489 970 166 954 67 117 210 997 742
-10000 618 743 670 842 345 729 843 247 752
-10000 917 158 647 190 1000 134 790 905 849
-10000 693 193 215 537 59 100 865 392 846
-10000 981 816 924 674 987 373 407 395 396
-10000 662 907 246 997 635 866 682 693 358
-10000 219 428 642 29 806 2 289 698 750
-10000 823 623 163 273 460 453 681 333 640
-10000 953 798 809 610 848 360 867 956 49
-10000 151 917 624 802 92 412 793 970 513
-10000 324 925 782 990 986 71 960 162 257
-10000 47 749 18 53 28 686 635 809 429
-10000 68 442 926 73 34 313 960 272 728
-10000 675 417 124 753 805 502 303 89 893
-10000 394 835 527 679 261 774 63 362 767
-10000 780 639 724 81 104 146 287 73 51
-10000 943 389 386 995 622 751 867 681 611
-10000 255 366 776 837 727 166 987 71 704
-10000 957 107 960 273 781 99 398 15 82
-10000 928 733 478 67 926 172 152 326 3
-10000 564 152 162 692 880 808 498 970 661
-10000 717 404 543 82 832 785 404 420 184
-10000 126 364 350 708 846 699 549 202 606
-10000 525 12 837 665 635 610 499 410 824
-10000 770 250 847 822 729 463 10 605 468
-10000 198 472 609 910 904 290 195 906 489
-10000 188 394 111 28 193 784 51 870 672
-10000 199 333 198 757 195 14 581 744 3
-10000 937 756 772 248 35 353 614 233 838
-10000 336 900 970 256 336 508 488 788 77
-10000 610 474 943 471 302 91 461 497 172
-10000 450 410 864 18 975 437 85 980 90
-10000 102 386 968 977 884 435 285 103 594
-10000 116 698 841 505 813 318 456 767 700
-10000 750 370 121 771 12 79 783 347 373
-10000 313 178 409 375 928 344 490 583 796
-10000 545 36 788 432 756 687 462 74 434
-10000 635 818 805 20 992 191 617 953 530
-10000 67 926 846 199 958 680 118 541 283
-10000 217 977 13 238 449 769 301 927 985
-10000 791 660 657 352 73 800 476 616 859
-10000 527 498 963 59 693 1000 276 703 729
-10000 551 950 102 71 833 0 435 815 48
-10000 987 174 99 993 753 330 537 828 503
-10000 151 139 132 882 26 4 62 845 54
-10000 925 863 277 27 445 58 855 621 677
-10000 433 72 897 49 404 896 958 553 421
-10000 203 624 166 190 611 892 853 671 914
-10000 620 152 229 41 310 102 61 412 21
-10000 153 917 826 728 275 897 458 972 593
-10000 196 903 769 608 426 838 275 743 899
-10000 98 555 771 784 143 467 672 762 280
-10000 675 452 511 92 461 559 195 47 724
-10000 338 889 197 53 284 255 782 805 415
-10000 867 459 911 83 395 162 144 655 390
-10000 562 462 246 109 993 217 890 27 862
-10000 444 1000 469 32 384 971 967 713 865
-10000 917 947 84 885 156 364 90 90 377
-10000 357 215 260 310 567 279 198 995 145
-10000 682 409 952 246 690 173 581 328 855
-10000 396 752 94 396 53 949 464 175 163
-10000 654 427 329 668 99 590 868 39 86
-10000 888 109 195 486 908 184 230 160 547
-10000 500 184 807 268 860 261 901 735 594
-10000 391 442 73 710 68 21 387 598 88
-10000 211 128 330 581 383 528 444 435 749
-10000 286 617 896 553 236 868 100 734 927
-10000 509 731 570 870 92 461 130 418 873
-10000 330 875 485 249 622 787 810 379 783
-10000 500 427 667 451 237 680 295 673 372
-10000 748 196 304 854 276 855 835 554 76
-10000 508 950 332 886 106 551 776 123 481
-10000 474 353 96 692 873 532 543 534 994
-10000 588 148 845 975 206 813 486 218 20
-10000 952 10 377 160 304 49 632 785 430
-10000 845 708 539 424 437 153 881 779 272
-10000 670 934 257 832 943 371 645 828 194
-10000 108 402 116 354 5 72 165 915 285
-10000 707 640 241 625 708 305 779 18 674
-10000 87 839 824 415 628 676 321 405 491
-10000 557 669 463 500 105 36 812 185 615
-10000 577 198 424 477 143 682 801 398 355
-10000 99 0 473 598 664 464 854 540 195
-10000 819 869 58 249 497 625 769 63 36
-10000 371 439 375 787 193 831 536 164 728
-10000 377 551 940 678 45 702 489 674 756
-10000 24 706 143 847 964 505 600 556 130
-10000 672 834 242 214 835 124 942 962 846
-10000 728 225 413 228 841 616 243 871 927
-10000 894 503 823 184 183 546 627 37 448
-10000 149 181 603 500 817 852 778 249 460
-10000 11 894 891 853 628 258 694 669 17
-10000 455 446 42 988 158 175 789 628 422
-10000 766 595 649 910 156 319 702 609 694
-10000 785 675 485 605 635 788 234 825 325
-10000 451 177 572 524 716 334 225 562 632
-10000 813 118 254 690 458 257 552 613 595
-10000 740 680 887 94 850 361 779 522 422
-10000 806 187 139 959 484 723 23 379 772
-10000 207 523 733 960 211 565 199 475 761
-10000 283 533 359 348 601 966 821 961 611
-10000 358 137 70 535 500 401 178 35 433
-10000 720 131 832 933 755 663 983 738 811
-10000 266 972 954 615 43 290 698 484 6
-10000 439 612 496 228 990 691 82 47 41
-10000 389 27 998 706 334 989 922 920 581
-10000 94 530 374 502 502 957 500 831 192
-10000 767 84 661 350 718 93 678 754 949
-10000 550 161 694 661 707 149 366 626 986
-10000 616 572 788 113 903 57 605 906 245
-10000 654 181 664 718 73 272 431 274 805
-10000 292 395 199 289 55 123 885 971 330
-10000 479 807 745 174 492 130 111 782 338
-10000 631 124 206 687 392 102 564 579 472
-10000 594 267 510 694 646 160 921 228 122
-10000 212 543 644 910 912 337 434 767 153
-10000 487 894 437 956 289 803 158 859 729
-10000 273 61 585 89 440 81 494 96 713
-10000 947 573 130 134 121 59 728 865 85
-10000 242 754 927 337 731 780 826 970 611
-10000 945 930 625 967 801 491 433 613 199
-10000 452 498 748 235 644 479 953 37 472
-10000 401 53 175 111 622 817 556 970 674
-10000 291 480 988 846 604 404 890 745 972
-10000 927 753 897 27 542 37 825 954 649
-10000 400 207 342 320 191 477 628 699 314
-10000 627 773 182 789 653 129 955 512 745
-10000 741 459 550 897 91 929 519 42 638
-10000 50 241 745 298 43 368 351 507 638
-10000 694 843 32 225 89 976 206 452 469
-10000 433 286 868 15 724 404 678 62 184
-10000 419 311 778 358 96 305 265 247 538
-10000 887 750 50 558 483 600 330 173 623
-10000 155 887 27 54 992 890 121 997 416
-10000 217 777 397 770 160 466 22 9 322
-10000 838 175 247 432 407 322 125 653 354
-10000 277 706 450 787 775 326 264 959 887
-10000 592 69 232 877 313 509 308 365 377
-10000 393 466 87 878 63 925 454 866 351
-10000 123 575 324 308 696 553 476 1000 279
-10000 182 624 920 261 779 230 350 418 40
-10000 372 63 282 531 327 372 698 374 478
-10000 797 948 422 176 247 221 283 300 248
-10000 142 250 642 262 19 704 890 145 823
-10000 957 660 577 23 348 568 729 137 293
-10000 504 143 343 495 857 274 381 826 890
-10000 382 175 782 740 537 883 560 235 604
-10000 629 673 985 746 467 831 194 252 667
-10000 392 751 153 244 807 881 475 443 699
-10000 550 245 413 338 638 196 991 987 186
-10000 134 64 728 238 213 765 876 4 979
-10000 267 3 246 681 405 96 487 344 528
-10000 954 960 896 30 502 843 593 9 454
-10000 831 514 319 929 972 413 60 607 684
-10000 794 367 859 503 888 264 215 336 690
-10000 469 326 298 269 606 281 984 761 732
-10000 469 50 783 605 861 694 654 909 414
-10000 679 152 287 322 592 690 57 47 827
-10000 585 541 122 773 666 521 27 470 818
-10000 581 874 357 103 309 91 396 913 581
-10000 872 101 5 381 351 44 440 174 277
-10000 530 333 897 999 586 64 318 495 413
-10000 829 893 560 836 459 135 344 98 737
-10000 381 387 740 934 786 415 122 693 508
-10000 397 37 903 411 594 363 18 979 297
-10000 63 77 776 566 149 906 896 738 489
-10000 700 404 505 234 486 19 189 680 602
-10000 413 920 118 737 880 518 271 190 472
-10000 425 750 637 728 973 572 413 224 497
-10000 632 744 967 336 535 130 216 959 602
-10000 106 312 595 223 90 621 683 958 6
-10000 130 605 853 300 388 399 668 918 166
-10000 183 348 328 990 82 350 566 919 197
-10000 838 103 126 297 315 220 814 946 201
-10000 884 273 309 313 201 112 239 231 665
-10000 117 587 584 248 491 732 528 243 205
-10000 24 406 307 781 778 617 277 343 117
-10000 301 168 470 123 527 397 802 366 780
-10000 631 972 726 496 799 503 630 763 409
-10000 502 747 73 584 88 797 350 746 458
-10000 301 481 897 524 959 864 744 75 694
-10000 576 82 239 248 964 384 947 413 302
-10000 315 339 708 605 810 334 236 935 449
-10000 515 138 994 293 117 142 787 533 122
-10000 78 317 552 287 957 72 5 285 546
-10000 352 598 151 310 516 62 718 36 854
-10000 854 813 689 188 603 510 212 685 256
-10000 267 435 795 774 919 715 565 696 778
-10000 586 634 601 34 687 768 823 785 753
-10000 950 925 278 254 42 358 318 477 646
-10000 604 892 676 447 152 500 864 792 91
-10000 99 872 384 946 608 334 245 63 656
-10000 579 835 581 320 372 822 390 593 347
-10000 931 332 311 594 907 95 861 766 623
-10000 737 211 541 757 38 366 148 957 776
-10000 175 197 880 780 782 854 959 925 129
-10000 297 754 866 46 414 12 411 111 28
-10000 719 267 327 852 876 984 737 596 45
-10000 782 59 744 731 189 304 563 666 176
-10000 409 408 556 535 608 523 193 431 773
-10000 474 323 961 496 243 788 8 337 686
-10000 99 365 11 398 856 835 371 568 603
-10000 648 336 891 320 220 939 291 90 865
-10000 87 64 486 483 896 415 110 135 47
-10000 563 135 778 428 387 90 518 377 378
-10000 557 693 311 638 57 961 167 90 26
-10000 818 28 893 667 682 680 978 428 489
-10000 542 52 64 626 525 987 837 113 179
-10000 563 449 438 95 659 80 906 25 603
-10000 592 267 67 400 929 587 149 512 398
-10000 423 57 554 187 977 978 453 858 152
-10000 181 479 368 715 856 772 428 628 873
-10000 894 329 743 130 183 467 758 759 686
-10000 255 398 653 489 587 447 175 981 651
-10000 991 20 927 526 636 326 467 769 530
-10000 289 320 425 377 282 902 360 138 384
-10000 488 540 385 830 402 117 728 820 937
-10000 875 642 323 652 91 606 918 772 216
-10000 882 616 547 836 673 334 229 196 586
-10000 14 274 533 93 530 375 139 374 815
-10000 245 882 858 476 987 108 723 719 235
-10000 405 793 884 539 621 418 512 35 341
-10000 545 272 988 928 507 68 480 725 959
-10000 508 988 867 760 310 84 371 541 451
-10000 630 422 932 962 252 461 928 967 217
-10000 352 795 405 417 154 762 806 844 693
-10000 127 221 981 581 275 320 991 261 493
-10000 658 414 923 74 742 425 258 901 15
-10000 153 792 974 687 269 150 188 152 295
-10000 532 859 229 158 227 193 726 372 253
-10000 232 634 618 438 263 146 759 278 346
-10000 326 1000 775 226 894 208 175 555 204
-10000 861 851 790 452 21 798 756 635 492
-10000 120 403 714 841 47 68 653 597 883
-10000 276 341 743 104 555 235 158 332 25
-10000 210 379 167 930 855 158 196 745 515
-10000 938 322 972 934 998 187 175 437 421
-10000 991 368 363 934 971 726 748 53 791
-10000 967 858 966 169 590 193 92 25 691
-10000 276 759 897 1000 783 783 7 69 672
-10000 988 37 317 81 476 607 537 275 6
-10000 410 734 771 237 122 424 283 801 226
-10000 306 370 13 884 842 488 268 722 603
-10000 100 739 171 274 384 757 729 434 172
-10000 384 456 755 244 694 561 84 341 731
-10000 647 172 159 885 523 32 25 67 48
-10000 197 267 466 138 572 764 761 466 170
-10000 358 104 23 290 88 752 998 918 839
-10000 577 940 341 906 851 760 352 218 171
-10000 792 2 139 309 977 448 808 484 232
-10000 714 157 469 339 86 672 723 206 427
-10000 433 227 795 498 344 707 296 846 942
-10000 951 708 453 864 332 339 901 312 587
-10000 703 871 517 825 631 341 896 616 327
-10000 663 976 118 795 518 383 668 982 276
-10000 554 291 195 37 655 544 233 307 471
-10000 708 1000 983 997 363 808 863 654 102
-10000 477 282 10 958 968 531 209 844 611
-10000 506 437 203 265 137 376 687 482 235
-10000 601 103 368 912 549 398 209 114 625
-10000 138 509 486 781 950 534 876 527 111
-10000 520 790 565 578 177 760 408 93 816
-10000 976 554 787 761 165 527 547 744 638
-10000 891 207 144 817 574 219 895 968 870
-10000 176 292 338 731 968 271 444 229 348
-10000 976 482 646 358 657 123 787 604 789
-10000 405 976 765 667 41 404 389 596 815
-10000 489 820 446 106 56 341 473 612 936
-10000 388 400 77 398 993 842 662 348 629
-10000 373 821 583 410 865 946 150 996 796
-10000 614 11 786 49 52 768 262 3 395
-10000 955 43 739 748 700 590 697 890 384
-10000 488 194 447 7 417 619 320 28 811
-10000 706 326 60 392 563 644 527 234 591
-10000 983 311 387 119 940 681 398 783 685
-10000 609 931 631 934 444 979 469 545 12
-10000 833 487 699 201 238 170 207 135 110
-10000 274 230 348 795 561 633 0 278 85
-10000 437 83 873 43 343 586 84 450 784
-10000 716 963 45 235 641 987 24 163 857
-10000 133 744 592 227 540 866 626 170 641
-10000 271 262 679 554 986 768 310 619 136
-10000 31 973 646 367 439 994 65 896 302
-10000 471 762 16 102 110 70 851 244 554
-10000 360 181 823 667 380 619 438 392 998
-10000 35 427 127 224 531 373 952 576 483
-10000 509 759 904 93 580 517 373 810 127
-10000 830 7 987 425 274 760 65 718 995
-10000 580 548 123 652 851 242 612 168 372
-10000 452 130 256 931 68 96 353 345 662
-10000 772 838 69 993 819 829 828 934 885
-10000 861 247 322 469 480 196 296 524 571
-10000 819 108 437 241 471 146 463 125 646
-10000 474 82 501 357 402 443 555 561 591
-10000 471 711 374 878 889 201 472 63 42
-10000 293 700 880 706 641 427 945 849 26
-10000 167 382 665 2 516 723 88 768 603
-10000 100 762 774 419 75 136 653 302 133
-10000 293 352 105 944 162 112 172 640 403
-10000 139 121 336 706 137 592 953 209 902
-10000 460 15 799 559 987 170 637 134 769
-10000 475 277 497 67 847 62 364 852 879
-10000 127 825 766 930 661 983 391 187 572
-10000 437 709 404 165 867 32 787 268 553
-10000 480 168 175 988 967 455 178 66 272
-10000 203 958 953 848 311 827 430 660 903
-10000 309 818 732 655 351 738 81 242 858
-10000 140 924 49 448 580 438 950 186 274
-10000 383 512 257 182 339 475 694 990 571
-10000 196 242 34 43 716 515 68 992 197
-10000 747 247 228 378 830 816 321 370 939
-10000 440 140 974 570 819 674 612 323 583
-10000 552 955 393 42 172 908 451 591 962
-10000 16 778 556 432 778 279 954 848 699
-10000 671 132 113 433 29 234 23 290 650
-10000 231 190 790 486 972 601 82 930 441
-10000 287 907 628 891 322 261 572 870 883
-10000 60 266 748 386 625 295 627 428 914
-10000 648 224 23 785 171 937 768 612 679
-10000 82 516 941 104 97 624 17 664 216
-10000 239 203 970 619 396 991 56 869 551
-10000 579 139 975 826 95 616 674 773 834
-10000 430 318 213 720 287 747 849 395 407
-10000 519 983 665 531 418 469 397 242 2
-10000 677 948 777 827 934 745 857 373 293
-10000 340 675 430 588 875 87 402 111 282
-10000 643 150 349 503 510 531 995 154 396
-10000 570 681 970 209 551 167 383 843 87
-10000 115 390 984 402 947 822 859 433 760
-10000 776 176 670 27 850 709 977 250 955
-10000 354 429 688 406 484 253 303 67 736
-10000 842 174 6 575 579 933 563 93 541
-10000 925 40 684 928 749 684 224 355 214
-10000 221 739 406 512 727 506 914 402 31
-10000 720 167 544 348 852 953 848 247 346
-10000 358 402 551 941 409 580 624 984 880
-10000 844 983 4 290 312 538 260 635 493
-10000 91 386 237 51 893 88 626 770 488
-10000 369 982 640 24 2 305 641 457 736
-10000 44 742 885 179 562 362 6 48 684
-10000 786 156 887 213 745 500 957 216 84
-10000 937 343 498 991 157 552 42 502 355
-10000 628 453 389 434 447 11 438 960 739
-10000 835 109 64 187 727 417 705 1000 78
-10000 311 729 226 754 295 442 575 550 524
-10000 576 441 540 525 477 542 350 616 154
-10000 623 172 443 586 763 865 589 881 373
-10000 662 742 861 764 57 969 116 726 928
-10000 80 953 614 624 886 425 313 572 813
-10000 280 657 17 423 991 353 23 911 808
-10000 631 510 313 914 997 334 107 636 323
-10000 214 422 674 722 447 874 633 572 415
-10000 143 947 291 744 836 743 852 268 318
-10000 695 716 294 358 461 92 72 86 721
-10000 761 167 805 249 46 664 721 181 375
-10000 432 601 741 275 711 640 926 227 843
-10000 660 920 229 140 353 241 356 541 842
-10000 910 970 209 517 962 143 340 236 748
-10000 260 454 216 196 403 962 39 327 380
-10000 292 819 9 798 987 621 423 200 381
-10000 457 431 353 910 74 82 79 492 787
-10000 437 195 991 962 61 668 638 161 755
-10000 847 9 661 610 799 184 280 327 674
-10000 431 94 471 406 327 611 626 46 375
-10000 17 741 746 932 203 499 774 34 352
-10000 1 742 527 744 922 409 549 272 711
-10000 830 374 223 618 526 257 846 8 998
-10000 888 926 683 678 608 547 90 730 291
-10000 614 576 282 720 558 516 179 515 801
-10000 856 215 550 225 607 319 664 721 829
-10000 329 49 168 298 594 875 935 9 398
-10000 755 254 129 883 5 442 11 357 742
-10000 184 891 269 94 48 115 634 664 16
-10000 935 203 554 770 901 320 271 498 304
-10000 808 479 437 348 385 577 318 868 443
-10000 358 425 110 445 554 975 474 950 488
-10000 115 449 728 299 611 251 900 582 254
-10000 272 990 936 569 743 580 958 905 964
-10000 414 473 290 959 8 820 599 693 840
-10000 175 348 511 205 511 999 613 302 874
-10000 553 233 371 872 882 424 589 791 442
-10000 42 22 970 984 622 18 88 536 270
-10000 93 528 143 441 224 247 183 284 608
-10000 973 415 887 459 181 20 752 333 715
-10000 595 223 633 718 160 415 259 35 579
-10000 792 660 738 398 423 684 676 711 1
-10000 198 900 168 919 64 720 570 762 135
-10000 372 859 501 796 170 668 831 973 240
-10000 179 72 674 941 210 464 487 364 996
-10000 509 524 922 236 946 455 986 582 0
-10000 628 48 254 982 335 474 997 499 140
-10000 115 7 298 716 94 433 813 256 940
-10000 93 775 297 731 870 484 230 747 878
-10000 55 133 618 225 257 925 672 284 191
-10000 494 51 948 336 434 799 899 642 472
-10000 588 772 899 356 864 720 379 315 842
-10000 439 679 533 773 500 817 719 732 556
-10000 121 978 160 989 932 130 414 242 599
-10000 980 315 681 897 811 11 444 451 341
-10000 40 927 458 136 589 713 152 285 179
-10000 361 972 821 235 653 883 394 333 607
-10000 995 203 371 197 360 254 558 896 871
-10000 582 113 910 701 432 783 356 947 459
-10000 621 175 551 229 991 524 420 183 174
-10000 329 960 552 542 618 656 829 335 29
-10000 23 648 482 741 735 693 568 584 15
-10000 788 329 919 722 369 70 929 518 465
-10000 314 559 58 236 95 950 555 466 873
-10000 443 272 379 701 667 892 553 757 853
-10000 654 625 131 765 699 262 78 540 671
-10000 345 570 226 290 291 570 45 217 953
-10000 29 548 487 545 772 671 316 173 604
-10000 363 127 406 413 347 417 100 282 722
-10000 850 703 243 871 287 537 614 352 871
-10000 135 416 39 722 869 988 12 805 235
-10000 950 410 195 963 694 802 608 684 465
-10000 742 705 145 768 516 7 935 64 12
-10000 16 998 53 280 775 703 385 225 580
-10000 403 184 474 840 535 448 296 451 880
-10000 195 428 290 270 144 667 836 746 118
-10000 253 228 525 831 140 325 620 113 614
-10000 930 431 424 683 884 783 348 20 279
-10000 134 134 277 418 609 204 481 981 48
-10000 611 225 431 434 176 475 145 190 91
-10000 461 846 875 465 457 541 326 225 310
-10000 376 150 899 287 138 306 29 332 457
-10000 245 48 387 211 111 764 37 460 992
-10000 838 322 994 498 134 126 215 301 533
-10000 496 120 368 498 873 373 719 781 593
-10000 661 673 142 317 483 564 259 628 843
-10000 608 706 90 187 607 795 857 710 657
-10000 296 588 380 540 252 82 382 654 400
-10000 811 728 348 570 320 215 518 490 549
-10000 613 263 717 880 452 855 787 451 95
-10000 675 110 611 993 527 521 764 470 378
-10000 767 64 833 355 752 680 914 682 863
-10000 745 214 36 46 356 682 799 388 489
-10000 262 657 407 418 675 627 591 519 925
-10000 915 162 225 382 970 205 152 560 683
-10000 781 757 701 228 540 410 118 997 377
-10000 999 200 126 897 165 455 56 990 936
-10000 424 84 432 539 4 303 551 122 737
-10000 943 844 978 404 981 50 75 790 460
-10000 17 344 380 743 363 120 887 8 598
-10000 324 930 929 873 164 27 775 719 687
-10000 740 741 872 352 290 690 547 562 333
-10000 463 86 682 407 98 783 696 910 753
-10000 893 96 300 33 462 419 971 205 99
-10000 196 837 373 895 965 126 449 23 834
-10000 671 219 454 875 774 378 327 745 515
-10000 500 536 737 350 426 608 25 338 955
-10000 984 65 989 102 135 906 890 350 626
-10000 603 435 42 879 624 582 590 143 20
-10000 808 248 419 258 368 351 735 508 216
-10000 775 448 945 840 372 133 263 999 560
-10000 815 676 397 578 760 773 98 718 559
-10000 842 223 299 628 426 613 537 730 278
-10000 60 180 334 151 322 414 365 173 209
-10000 514 578 212 326 158 282 111 695 868
-10000 551 636 234 608 621 614 301 942 506
-10000 889 938 800 1000 90 750 898 431 456
-10000 855 138 845 575 457 998 919 829 744
-10000 928 35 329 338 351 412 452 145 69
-10000 980 486 417 648 414 745 126 304 35
-10000 152 248 296 373 819 7 9 302 729
-10000 590 844 377 720 789 165 745 79 449
-10000 0 752 865 17 495 736 480 317 389
-10000 852 946 742 241 750 375 18 304 843
-10000 801 209 250 634 11 528 957 826 367
-10000 555 55 609 781 200 925 844 837 622
-10000 70 292 284 240 221 540 957 727 581
-10000 752 800 294 624 302 960 109 143 372
-10000 641 461 761 289 654 569 538 660 203
-10000 751 880 917 783 474 262 678 168 396
-10000 197 520 354 659 601 732 991 281 575
-10000 397 204 317 533 654 708 449 322 871
-10000 785 328 445 100 299 104 3 166 217
-10000 525 786 494 231 399 413 680 523 227
-10000 867 987 906 852 928 945 870 847 553
-10000 704 770 127 389 570 300 454 253 968
-10000 797 290 86 325 962 81 148 426 722
-10000 592 41 688 206 523 642 403 539 330
-10000 769 624 746 943 241 113 38 118 552
-10000 974 62 11 541 181 498 716 744 376
-10000 866 586 260 688 987 217 768 105 384
-10000 935 378 144 209 456 540 846 536 50
-10000 938 571 70 496 237 397 888 244 46
-10000 608 408 411 928 766 126 575 18 290
-10000 982 22 630 890 282 834 497 217 440
-10000 163 693 962 977 820 385 940 902 641
-10000 559 824 262 617 367 92 690 104 581
-10000 563 138 325 68 960 740 720 328 663
-10000 853 86 841 324 458 683 605 707 603
-10000 783 291 723 833 199 15 762 851 139
-10000 306 19 881 662 635 753 134 202 549
-10000 260 494 382 684 665 705 577 240 322
-10000 492 401 83 759 562 527 172 480 784
-10000 30 167 678 10 670 767 220 628 723
-10000 416 665 728 226 727 299 744 380 642
-10000 309 688 271 333 529 372 35 515 305
-10000 331 105 805 795 106 374 250 496 410
-10000 580 824 593 343 16 233 294 677 924
-10000 912 497 106 433 695 788 534 668 37
-10000 686 314 321 161 952 46 699 354 383
-10000 694 366 919 436 525 254 209 993 272
-10000 27 438 580 923 386 163 536 969 419
-10000 946 289 773 258 832 549 628 27 45
-10000 962 822 199 566 548 878 283 93 902
-10000 868 618 856 340 324 962 643 988 729
-10000 863 642 143 156 918 798 960 438 968
-10000 672 409 391 16 215 320 325 709 493
-10000 821 119 758 140 495 957 518 99 193
-10000 155 511 210 60 188 479 604 321 892
-10000 81 264 658 455 280 32 49 342 394
-10000 334 963 206 884 949 33 461 881 18
-10000 176 556 239 299 94 93 573 730 137
-10000 524 38 748 707 18 989 989 44 409
-10000 947 68 612 318 430 574 297 131 485
-10000 928 549 934 411 733 286 505 564 654
-10000 336 555 533 418 412 562 13 117 388
-10000 162 823 80 695 305 253 66 490 919
-10000 656 2 973 386 868 511 788 385 409
-10000 794 363 460 865 304 707 807 983 457
-10000 554 410 435 417 251 907 328 708 131
-10000 159 439 730 364 745 63 965 477 336
-10000 751 823 458 626 281 596 3 93 21
-10000 27 147 622 6 585 241 272 241 220
-10000 153 569 314 407 440 742 80 931 652
-10000 329 280 832 996 809 958 84 340 816
-10000 123 373 409 819 1 84 918 789 243
-10000 314 251 483 463 148 477 568 15 60
-10000 179 5 879 302 240 827 181 766 977
-10000 396 147 847 555 770 626 473 21 900
-10000 932 477 258 465 913 45 136 883 420
-10000 320 161 619 943 425 197 232 497 466
-10000 506 701 729 663 903 584 212 231 400
-10000 326 453 391 430 636 829 508 57 533
-10000 422 271 120 159 245 876 499 659 731
-10000 869 67 114 871 268 973 980 209 84
-10000 588 354 463 886 414 681 514 527 15
-10000 612 177 286 752 586 377 775 248 721
-10000 636 888 769 240 304 470 178 355 123
-10000 669 802 354 637 285 602 699 53 275
-10000 765 680 427 624 321 125 86 480 746
-10000 110 170 825 327 481 319 852 842 22
-10000 667 604 422 336 148 863 858 805 301
-10000 166 531 908 356 742 592 884 940 546
-10000 209 838 397 936 222 425 875 957 904
-10000 144 996 610 158 736 498 933 541 955
-10000 635 412 369 141 347 213 99 405 998
-10000 514 654 348 454 781 317 660 29 63
-10000 881 165 907 210 310 951 627 885 801
-10000 440 429 19 94 930 5 570 886 753
-10000 974 889 404 539 858 238 790 27 16
-10000 787 690 574 315 452 173 412 707 286
-10000 359 877 268 966 823 362 519 172 123
-10000 354 952 790 166 184 938 946 456 113
-10000 148 889 577 645 48 633 323 563 537
-10000 149 515 36 375 102 528 770 87 363
-10000 138 513 336 732 401 170 138 379 881
-10000 770 63 889 197 973 877 430 974 462
-10000 664 374 897 127 393 389 386 719 802
-10000 552 448 497 488 150 141 120 115 724
-10000 205 768 557 594 428 430 66 902 47
-10000 520 186 749 405 834 773 192 941 892
-10000 288 305 801 971 594 318 338 594 237
-10000 643 373 213 215 983 482 864 483 816
-10000 361 896 929 867 34 640 440 222 639
-10000 242 724 195 829 379 3 646 79 221
-10000 328 807 533 229 20 113 334 530 411
-10000 803 855 34 9 209 938 192 472 440
-10000 760 114 390 452 156 872 802 912 72
-10000 140 921 327 650 276 45 946 240 299
-10000 812 637 784 441 172 521 903 477 729
-10000 183 76 785 603 687 637 472 283 137
-10000 354 902 526 712 526 8 929 596 439
-10000 584 23 545 126 831 518 392 727 329
-10000 960 861 193 29 75 981 264 971 420
-10000 80 534 865 317 589 929 432 765 171
-10000 83 354 365 473 67 452 880 847 443
-10000 519 815 726 491 619 193 125 711 654
-10000 636 276 809 151 800 683 559 74 982
-10000 621 241 974 339 529 400 122 797 111
-10000 277 753 282 549 297 938 473 655 941
-10000 787 731 351 843 506 760 487 206 65
-10000 397 356 758 439 717 549 361 697 811
-10000 952 762 288 750 758 4 540 571 394
-10000 39 428 303 561 155 819 840 969 76
-10000 208 115 879 933 927 267 672 203 928
-10000 901 561 380 806 382 104 936 349 988
-10000 194 231 382 235 624 347 305 30 102
-10000 540 974 106 36 603 770 478 54 781
-10000 3 845 447 323 312 87 287 626 134
-10000 841 238 311 384 441 416 569 110 34
-10000 832 657 362 526 969 939 795 417 937
-10000 737 379 73 880 172 99 217 994 554
-10000 72 777 277 371 737 840 201 566 358
-10000 864 133 119 839 850 544 713 344 966
-10000 71 136 746 853 92 200 466 49 810
-10000 865 370 248 976 452 508 708 930 89
-10000 611 335 51 34 612 406 751 438 418
-10000 914 556 587 714 526 436 34 408 385
-10000 48 567 795 724 250 915 568 377 325
-10000 735 641 36 690 453 501 891 142 707
-10000 111 607 795 814 51 435 237 481 964
-10000 583 849 447 562 981 196 996 161 734
-10000 696 681 208 721 744 117 591 646 782
-10000 801 319 671 670 813 343 969 564 933
-10000 724 432 451 685 764 766 952 109 181
-10000 797 60 720 560 474 699 551 800 274
-10000 976 260 938 259 994 887 387 671 86
-10000 726 87 178 851 978 979 692 739 59
-10000 285 389 510 308 613 367 247 754 56
-10000 741 754 478 214 535 672 376 941 986
-10000 708 583 624 626 280 742 818 938 479
-10000 407 676 494 595 365 704 455 989 756
-10000 258 533 754 991 88 721 833 99 205
-10000 52 494 380 865 766 199 382 106 985
-10000 237 382 681 104 13 248 450 643 261
-10000 740 180 554 586 505 214 302 188 202
-10000 958 958 700 400 896 718 493 52 927
-10000 778 686 394 489 318 214 210 387 210
-10000 911 392 71 971 741 278 783 586 98
-10000 528 443 128 616 707 545 291 580 208
-10000 65 492 164 797 932 929 269 769 470
-10000 68 259 598 501 445 55 706 811 42
-10000 391 124 516 957 684 360 449 122 468
-10000 898 328 421 915 779 145 315 196 687
-10000 578 79 114 944 692 697 67 746 45
-10000 407 322 29 274 695 370 609 202 40
-10000 643 300 989 682 945 375 542 846 397
-10000 475 60 790 657 34 256 806 110 277
-10000 446 360 667 295 727 748 34 739 359
-10000 191 947 206 349 731 177 367 274 733
-10000 132 585 50 527 690 148 944 880 178
-10000 926 246 374 869 899 13 441 508 88
-10000 719 150 970 558 794 860 196 191 510
-10000 297 637 482 251 342 658 333 611 863
-10000 532 598 996 500 625 891 847 544 65
-10000 161 2 252 680 730 331 356 895 660
-10000 213 842 778 3 271 288 411 729 794
-10000 480 74 905 107 292 866 774 717 613
-10000 47 605 70 830 924 606 494 437 638
-10000 838 794 97 91 455 273 880 746 831
-10000 235 386 532 988 889 86 133 476 486
-10000 586 402 389 422 455 786 477 650 332
-10000 699 34 578 648 182 252 516 608 622
-10000 306 448 912 903 661 275 631 530 659
-10000 827 725 822 983 27 868 86 57 986
-10000 530 998 153 510 312 171 888 195 195
-10000 57 509 365 160 476 798 557 216 523
-10000 831 23 880 197 353 261 144 78 939
-10000 302 970 802 461 861 561 533 253 32
-10000 705 645 300 540 47 631 672 838 197
-10000 892 487 52 358 890 126 571 43 786
-10000 117 879 60 158 768 275 544 495 936
-10000 216 409 233 267 18 132 215 338 571
-10000 607 505 928 926 931 423 430 202 152
-10000 933 323 861 4 532 52 787 278 242
-10000 347 710 57 60 637 104 196 962 863
-10000 96 339 717 839 447 369 584 793 855
-10000 442 316 501 947 609 599 840 463 123
-10000 168 798 798 304 955 946 749 986 301
-10000 806 367 500 494 196 178 440 748 573
-10000 917 265 452 704 271 656 935 671 125
-10000 400 490 470 26 759 897 15 264 760
-10000 736 754 373 397 123 490 311 851 832
-10000 280 779 459 413 171 79 578 213 232
-10000 240 620 597 352 540 478 905 198 748
-10000 457 961 838 622 716 461 398 874 995
-10000 482 204 291 437 344 959 566 225 381
-10000 409 176 816 769 290 19 325 705 971
-10000 129 233 986 619 499 776 807 98 155
-10000 537 548 806 387 633 484 214 682 960
-10000 195 857 123 831 573 930 414 378 17
-10000 656 145 467 754 157 760 857 135 751
-10000 626 389 826 513 81 334 845 77 802
-10000 653 314 780 402 307 714 252 384 880
-10000 53 868 340 965 848 448 452 189 912
-10000 165 118 750 323 486 142 213 840 288
-10000 548 421 924 489 758 24 263 347 374
-10000 956 265 114 153 367 602 448 987 946
-10000 981 255 490 854 628 320 49 359 350
-10000 147 383 294 87 26 207 378 421 187
-10000 549 107 197 472 746 843 761 830 774
-10000 762 594 554 29 987 248 1000 946 95
-10000 505 541 428 782 662 471 574 609 134
-10000 97 463 716 959 447 585 499 733 128
-10000 491 464 311 468 57 728 358 425 765
-10000 490 579 626 260 268 409 291 61 155
-10000 3 119 143 430 284 888 976 777 719
-10000 900 703 976 453 672 48 161 134 892
-10000 462 717 457 857 215 36 8 555 913
-10000 27 786 659 680 607 878 754 505 269
-10000 65 478 255 857 2 935 279 738 781
-10000 315 917 481 154 817 652 711 909 121
-10000 727 433 734 437 257 532 353 459 953
-10000 863 924 373 792 960 999 747 669 165
-10000 4 144 799 919 230 494 127 316 414
-10000 902 861 573 593 485 834 581 237 618
-10000 179 239 958 821 792 914 528 794 473
-10000 720 243 928 942 405 387 828 462 544
-10000 562 173 466 41 761 168 540 402 276
-10000 220 220 132 47 352 991 335 505 679
-10000 155 743 309 913 819 144 19 887 171
-10000 579 662 636 579 754 402 309 739 373
-10000 925 220 111 219 910 998 893 273 572
-10000 572 208 548 241 968 87 882 401 278
-10000 559 375 341 953 362 177 526 674 17
-10000 888 738 352 556 994 371 628 790 712
-10000 5 819 570 981 114 310 396 218 184
-10000 711 820 378 792 678 641 641 943 56
-10000 704 582 583 335 249 241 843 842 255
-10000 610 993 74 799 477 402 98 38 583
-10000 110 269 669 275 726 18 32 675 378
-10000 60 840 657 413 626 145 932 773 386
-10000 708 243 54 15 701 835 991 961 763
-10000 874 605 527 493 946 735 98 872 206
-10000 654 424 456 709 804 46 160 882 579
-10000 173 463 753 85 180 634 813 833 559
-10000 460 751 901 739 617 447 537 275 773
-10000 978 239 483 643 293 129 613 461 378
-10000 306 295 266 458 486 822 719 355 822
-10000 834 331 323 693 344 133 427 405 881
-10000 735 147 101 23 745 414 134 35 501
-10000 377 556 783 143 859 699 474 242 449
-10000 455 655 598 941 814 591 791 216 249
-10000 617 800 60 841 0 661 253 576 984
-10000 355 330 303 969 613 623 37 864 922
-10000 127 449 995 607 457 972 554 314 565
-10000 620 983 518 69 845 321 765 76 448
-10000 738 30 152 833 589 327 265 785 260
-10000 885 768 177 433 586 15 529 424 495
-10000 278 444 320 394 178 372 33 114 771
-10000 562 572 45 429 889 212 715 12 453
-10000 568 49 128 543 619 291 310 102 63
-10000 58 661 519 731 376 394 705 607 521
-10000 443 752 834 708 758 242 650 848 67
-10000 515 675 824 869 747 343 210 127 493
-10000 132 965 375 112 543 370 368 501 336
-10000 362 928 803 910 676 599 548 155 302
-10000 772 695 654 130 952 518 685 358 616
-10000 705 88 10 184 285 284 273 386 431
-10000 824 291 321 398 228 642 126 18 221
-10000 731 942 859 501 627 652 840 808 216
-10000 929 268 70 605 414 399 409 755 610
-10000 15 664 360 361 562 631 75 231 778
-10000 405 128 601 557 788 943 817 916 747
-10000 85 333 457 448 960 893 191 741 457
-10000 120 524 55 1 341 914 338 551 57
-10000 86 161 239 142 287 503 544 67 780
-10000 134 371 675 72 868 46 987 37 774
-10000 158 447 349 813 110 319 985 360 923
-10000 794 399 134 676 686 474 564 248 231
-10000 388 97 977 778 909 346 875 525 10
-10000 964 845 22 606 508 50 294 690 640
-10000 439 101 332 520 248 992 529 392 986
-10000 860 297 688 161 689 19 659 744 789
-10000 755 487 837 383 268 628 476 690 966
-10000 169 643 960 291 627 583 929 817 995
-10000 506 29 106 165 350 20 890 419 959
-10000 898 804 258 137 530 911 895 801 729
-10000 418 959 567 363 717 597 990 848 992
-10000 201 291 98 402 6 314 220 835 639
-10000 169 810 847 814 424 97 73 381 610
-10000 790 677 119 247 339 197 653 653 709
-10000 808 2 710 871 897 938 572 769 459
-10000 509 43 814 747 949 433 710 7 939
-10000 832 504 850 455 853 131 124 618 419
-10000 431 689 922 644 593 853 673 123 101
-10000 91 425 275 355 433 726 803 720 818
-10000 109 551 829 80 696 186 575 238 73
-10000 137 404 89 452 884 46 746 638 670
-10000 251 814 387 217 774 999 969 116 676
-10000 75 794 702 671 127 661 163 539 488
-10000 159 356 949 458 284 481 418 783 886
-10000 220 79 655 502 861 616 734 738 141
-10000 502 97 294 195 34 885 105 3 374
-10000 109 87 177 893 83 670 593 322 494
-10000 552 210 676 676 303 382 891 406 707
-10000 692 559 883 662 982 598 868 349 159
-10000 117 733 440 400 364 524 863 73 260
-10000 15 933 726 240 478 575 784 456 862
-10000 686 525 140 369 15 292 748 577 474
-10000 466 647 850 649 106 76 540 616 6
-10000 198 507 441 426 662 869 849 735 41
-10000 952 928 867 304 407 488 837 23 519
-10000 639 577 912 173 314 717 599 369 586
-10000 254 824 296 372 474 174 295 628 28
-10000 689 454 654 784 577 332 812 614 879
-10000 466 598 899 95 91 914 302 963 33
-10000 276 847 506 328 420 712 372 614 144
-10000 348 688 315 120 326 662 657 886 764
-10000 341 880 314 655 373 304 71 335 892
-10000 390 608 517 849 681 411 484 120 328
-10000 550 110 538 416 797 465 952 211 78
-10000 692 53 782 813 343 628 934 802 627
-10000 447 901 584 304 656 108 788 506 308
-10000 89 293 294 411 108 346 57 919 687
-10000 636 808 495 305 44 153 768 957 964
-10000 623 873 71 622 394 666 624 123 235
-10000 70 809 338 412 362 236 279 145 999
-10000 624 450 946 862 472 59 641 365 47
-10000 669 259 634 704 464 340 225 571 103
-10000 141 7 306 874 931 742 490 321 980
-10000 808 116 99 63 827 883 250 866 750
-10000 196 445 768 929 634 957 992 749 36
-10000 980 373 785 752 147 649 38 725 998
-10000 919 491 340 628 385 958 540 279 999
-10000 146 259 473 729 730 305 67 188 378
-10000 341 343 579 115 82 493 774 706 698
-10000 646 130 896 462 499 331 236 26 168
-10000 143 567 34 394 691 377 298 810 708
-10000 945 77 207 760 741 389 422 755 652
-10000 499 763 18 696 38 222 93 563 414
-10000 307 36 653 890 524 996 908 694 587
-10000 799 909 369 361 709 57 126 133 591
-10000 225 166 348 567 521 894 636 148 290
-10000 544 413 684 798 443 48 82 743 807
-10000 293 778 603 221 998 443 22 288 910
-10000 85 785 295 380 635 452 381 901 686
-10000 614 77 806 144 538 284 281 231 154
-10000 936 146 866 905 163 542 152 994 21
-10000 396 728 802 690 330 115 374 725 339
-10000 896 307 876 391 624 949 932 798 263
-10000 852 33 706 896 265 557 232 828 133
-10000 62 692 23 39 797 389 395 230 135
-10000 577 181 62 454 173 986 48 965 749
-10000 265 794 573 674 535 611 656 287 342
-10000 908 539 437 833 432 577 75 496 913
-10000 423 976 169 631 764 976 343 865 303
-10000 315 341 563 710 765 34 324 221 262
-10000 44 593 109 232 372 604 84 482 804
-10000 973 912 606 502 633 241 906 338 818
-10000 547 264 540 35 141 103 160 843 910
-10000 583 536 671 386 350 100 959 612 885
-10000 857 95 332 242 988 513 616 11 555
-10000 387 231 183 451 393 85 766 252 160
-10000 372 469 487 362 953 462 528 171 222
-10000 630 856 199 214 345 171 736 560 660
-10000 107 375 128 394 170 346 738 234 601
-10000 142 378 728 209 427 953 20 868 279
-10000 434 699 178 191 506 303 723 605 334
-10000 748 469 739 763 476 192 711 23 879
-10000 521 229 151 847 857 431 297 682 715
-10000 527 249 38 926 972 177 541 65 534
-10000 130 522 375 977 24 489 842 678 943
-10000 633 243 490 703 209 626 884 928 504
-10000 346 565 791 909 486 375 202 849 158
-10000 134 755 336 475 479 284 940 110 924
-10000 558 956 330 102 562 674 696 730 178
-10000 586 781 935 660 328 456 401 518 647
-10000 922 300 857 570 479 850 890 213 239
-10000 158 922 113 603 742 678 190 200 587
-10000 355 136 904 102 209 691 684 516 343
-10000 452 687 484 889 701 707 260 752 879
-10000 317 735 579 380 791 818 461 225 228
-10000 907 157 273 751 20 538 680 795 760
-10000 736 365 658 294 208 311 24 48 6
-10000 230 662 108 941 195 785 326 228 975
-10000 238 99 656 557 346 515 942 665 946
-10000 364 551 938 16 126 849 618 671 472
-10000 599 568 861 336 496 137 375 855 391
-10000 520 559 253 297 122 433 923 848 494
-10000 244 956 734 823 242 636 542 517 184
-10000 665 404 473 319 198 871 524 972 463
-10000 521 847 848 679 635 391 642 157 215
-10000 708 673 355 996 11 271 498 9 721
-10000 230 561 892 161 1000 272 494 599 255
-10000 471 180 496 937 220 677 596 458 456
-10000 372 447 54 841 386 313 698 879 727
-10000 301 853 407 316 489 229 103 468 130
-10000 533 537 78 90 31 296 342 250 607
-10000 235 614 476 105 828 273 154 445 961
-10000 647 958 434 986 456 839 9 158 955
-10000 693 652 910 270 561 594 707 489 430
-10000 370 812 866 66 784 496 524 370 328
-10000 945 785 770 659 783 783 589 250 434
-10000 277 235 208 466 718 25 242 316 727
-10000 213 948 846 723 972 498 487 902 772
-10000 524 245 81 405 232 988 762 543 656
-10000 650 256 731 824 216 1 619 539 423
-10000 160 492 553 979 535 236 154 877 22
-10000 641 145 519 696 541 757 416 284 989
-10000 668 460 592 813 219 237 78 414 435
-10000 381 37 11 984 823 160 888 590 612
-10000 762 346 785 135 800 144 89 489 567
-10000 593 660 965 973 482 625 511 142 979
-10000 317 353 61 335 839 671 838 393 514
-10000 590 989 560 266 298 962 562 837 470
-10000 246 389 456 436 356 493 900 220 1000
-10000 232 555 887 836 696 759 755 672 616
-10000 734 194 311 86 969 654 718 846 472
-10000 474 360 189 433 352 705 362 233 20
-10000 943 292 358 36 164 59 254 291 808
-10000 307 221 957 249 666 551 22 36 473
-10000 525 787 179 775 66 297 187 587 592
-10000 759 86 533 43 316 592 500 160 303
-10000 981 402 574 439 611 372 831 398 1
-10000 125 116 567 245 641 121 412 877 690
-10000 674 71 935 389 828 467 960 819 94
-10000 386 902 740 612 520 191 286 820 340
-10000 811 425 58 78 702 801 581 26 76
-10000 720 187 397 683 416 158 509 474 202
-10000 477 556 714 232 558 787 142 820 210
-10000 706 591 529 731 168 249 575 98 389
-10000 393 768 650 660 570 612 48 589 814
-10000 161 950 267 141 545 868 81 980 880
-10000 772 496 416 636 861 153 102 363 160
-10000 122 65 702 805 365 874 400 780 964
-10000 843 773 156 942 865 256 44 768 892
-10000 683 106 378 328 627 391 64 775 91
-10000 212 973 124 119 826 698 192 152 876
-10000 31 48 12 990 258 400 998 55 735
-10000 124 734 945 651 217 382 161 230 644
-10000 808 586 504 930 406 572 523 277 661
-10000 313 890 338 754 604 330 50 125 865
-10000 806 870 160 956 951 224 186 624 820
-10000 657 470 746 295 279 80 336 407 487
-10000 742 118 881 144 398 783 142 499 629
-10000 64 629 114 659 315 445 118 681 582
-10000 69 419 406 714 532 697 491 470 570
-10000 966 609 609 514 384 24 632 617 17
-10000 531 18 214 874 805 507 78 500 307
-10000 791 147 665 422 439 496 686 657 492
-10000 430 306 451 576 568 81 100 231 818
-10000 935 286 187 538 92 744 998 422 946
-10000 579 863 599 522 408 816 238 595 478
-10000 34 377 216 935 610 969 747 896 15
-10000 401 985 463 9 780 408 806 484 862
-10000 205 600 818 118 883 270 388 570 150
-10000 382 849 651 74 896 74 805 862 95
-10000 515 520 805 839 417 390 2 251 241
-10000 543 107 152 414 420 699 918 829 671
-10000 767 294 694 945 583 441 412 997 882
-10000 76 909 765 94 118 139 856 448 753
-10000 686 857 784 800 565 713 534 590 379
-10000 680 779 614 935 150 327 472 612 758
-10000 622 242 594 770 950 981 28 345 392
-10000 679 407 135 759 374 642 227 968 510
-10000 652 309 816 221 82 139 692 375 49
-10000 831 247 361 434 445 654 725 279 650
-10000 575 469 632 406 56 761 81 238 717
-10000 211 903 591 814 766 620 188 861 80
-10000 446 305 887 165 680 154 178 768 74
-10000 313 425 507 646 285 441 244 888 340
-10000 617 999 252 189 70 913 265 993 812
-10000 520 972 192 187 849 593 93 32 855
-10000 453 369 87 264 536 928 754 576 655
-10000 181 779 995 33 831 827 745 61 26
-10000 77 977 798 28 909 212 307 158 672
-10000 738 618 24 762 18 248 564 269 45
-10000 883 635 64 599 613 232 205 694 287
-10000 358 115 355 449 71 768 615 986 139
-10000 39 405 843 41 352 531 58 884 118
-10000 920 365 683 324 665 235 648 692 528
-10000 842 253 998 498 259 736 82 700 731
-10000 199 122 756 403 77 69 780 177 278
-10000 901 152 719 40 830 347 706 960 662
-10000 82 553 261 988 898 739 339 343 13
-10000 75 863 79 684 935 566 411 802 360
-10000 965 279 547 87 156 167 187 57 888
-10000 701 574 975 54 108 535 59 452 318
-10000 560 316 558 506 278 780 935 768 86
-10000 856 264 452 959 939 799 529 12 710
-10000 268 736 746 435 132 424 416 441 151
-10000 855 481 239 463 487 835 342 325 359
-10000 97 840 499 486 52 508 892 415 265
-10000 751 399 812 618 22 673 616 673 927
-10000 438 492 542 650 10 799 571 163 724
-10000 56 29 570 787 232 147 54 340 706
-10000 926 295 373 589 530 629 1 319 378
-10000 401 362 923 405 528 655 416 656 608
-10000 304 92 739 82 213 101 397 529 104
-10000 377 194 583 398 730 964 102 17 17
-10000 433 293 762 558 514 344 515 318 750
-10000 796 957 561 812 744 470 798 325 735
-10000 755 454 4 169 132 860 754 347 185
-10000 340 307 378 128 640 164 169 901 450
-10000 127 16 732 760 639 666 964 621 296
-10000 76 834 987 990 73 125 601 388 707
-10000 722 209 174 887 562 460 376 817 132
-10000 525 489 177 317 723 479 970 237 535
-10000 504 630 653 718 377 315 482 55 218
-10000 631 838 12 868 589 279 536 121 91
-10000 695 350 867 434 40 424 236 829 723
-10000 149 694 348 377 785 793 171 892 515
-10000 656 133 348 302 25 543 898 762 984
-10000 926 200 54 474 466 842 299 802 68
-10000 665 77 743 27 959 295 192 119 281
-10000 941 648 97 660 700 562 15 842 349
-10000 100 827 179 912 457 57 249 398 48
-10000 415 915 229 869 186 89 907 819 305
-10000 906 616 462 993 239 873 927 150 595
-10000 747 374 834 359 792 9 125 669 697
-10000 205 120 633 98 827 661 215 863 276
-10000 643 507 601 352 27 986 529 993 49
-10000 353 499 448 922 404 437 863 529 950
-10000 534 877 819 193 26 808 225 704 500
-10000 974 339 815 328 591 445 139 245 998
-10000 108 608 166 357 55 562 93 96 511
-10000 416 820 40 35 831 801 752 466 480
-10000 265 242 36 647 830 851 386 22 235
-10000 737 39 304 14 649 76 797 507 386
-10000 946 682 750 925 812 817 935 539 984
-10000 3 66 671 440 706 110 96 154 164
-10000 617 283 422 230 166 825 321 931 73
-10000 899 80 775 165 462 498 546 461 336
-10000 987 175 495 553 431 913 354 606 113
-10000 771 429 521 233 480 546 314 972 752
-10000 532 287 69 538 6 319 41 156 328
-10000 63 900 735 783 321 172 124 268 176
-10000 708 444 27 110 429 723 540 720 457
-10000 105 522 134 339 540 772 429 649 954
-10000 727 857 657 608 292 904 206 222 335
-10000 499 90 248 680 424 361 377 305 673
-10000 13 930 285 403 636 678 703 879 850
-10000 402 790 245 334 98 1000 503 671 471
-10000 441 475 161 344 742 125 117 977 646
-10000 152 326 182 77 100 636 798 689 153
-10000 856 593 807 975 251 437 883 874 230
-10000 484 666 135 97 205 850 285 260 551
-10000 761 756 384 667 872 235 408 781 555
-10000 1000 134 744 857 325 664 428 651 707
-10000 737 288 901 871 356 765 734 925 65
-10000 526 556 492 214 596 682 79 807 352
-10000 778 825 100 680 591 834 712 70 323
-10000 19 88 756 565 43 677 215 950 433
-10000 669 296 821 397 855 17 528 617 203
-10000 434 645 581 275 518 653 493 739 769
-10000 729 217 472 850 39 651 212 979 140
-10000 741 611 81 556 500 286 728 583 362
-10000 40 62 442 462 944 49 446 282 636
-10000 895 457 301 786 157 935 430 459 374
-10000 42 839 607 441 69 913 367 305 926
-10000 483 530 478 883 522 387 470 87 972
-10000 676 760 536 291 12 826 371 584 479
-10000 163 241 839 423 494 349 418 245 131
-10000 197 987 97 60 112 78 106 958 9
-10000 552 602 908 324 736 551 699 758 231
-10000 899 985 501 277 310 666 306 546 312
-10000 550 728 156 905 544 306 630 763 986
-10000 895 30 919 333 96 23 895 497 751
-10000 678 25 349 928 46 649 412 975 841
-10000 97 135 357 653 351 125 674 955 497
-10000 927 852 154 751 864 874 717 782 771
-10000 184 393 402 502 342 44 985 227 796
-10000 336 90 67 541 884 370 194 311 780
-10000 509 758 984 608 301 675 763 345 23
-10000 28 707 880 111 369 53 718 648 619
-10000 596 665 163 682 367 619 889 629 33
-10000 357 721 932 384 258 494 783 678 52
-10000 290 190 690 159 962 371 605 743 96
-10000 159 466 883 416 586 979 470 648 37
-10000 151 543 414 416 49 750 830 24 982
-10000 372 320 571 88 825 915 490 838 648
-10000 498 345 864 536 971 973 309 704 320
-10000 353 745 4 158 19 598 618 367 373
-10000 454 595 874 199 629 541 99 901 389
-10000 930 512 342 154 896 942 38 677 861
-10000 190 835 836 387 675 568 516 156 411
-10000 302 576 692 433 841 761 698 562 157
-10000 208 84 943 301 138 190 848 221 271
-10000 590 323 514 640 152 212 489 679 307
-10000 293 878 7 293 812 579 689 258 650
-10000 1000 493 981 679 692 647 796 165 218
-10000 957 622 49 415 363 71 948 256 948
-10000 690 192 528 886 786 809 104 152 346
-10000 828 933 604 242 435 418 385 505 242
-10000 864 463 78 722 233 331 661 808 533
-10000 867 258 402 892 159 375 362 614 796
-10000 253 660 664 19 616 818 94 212 362
-10000 567 633 617 479 795 998 958 236 349
-10000 888 334 927 786 4 340 560 258 58
-10000 976 784 983 894 610 769 968 124 797
-10000 404 263 878 640 359 787 508 656 551
-10000 389 688 277 798 52 823 260 870 263
-10000 864 869 740 946 929 794 898 284 329
-10000 244 567 185 827 372 615 187 902 866
-10000 474 256 593 349 325 410 414 831 684
-10000 822 705 434 39 287 362 618 436 468
-10000 897 458 74 121 822 610 648 50 246
-10000 450 954 390 523 411 899 632 875 426
-10000 373 391 187 182 403 562 513 398 470
-10000 42 526 675 272 789 958 632 10 392
-10000 38 282 708 251 404 153 765 795 775
-10000 748 302 177 869 402 572 71 666 486
-10000 656 144 361 479 194 392 514 850 376
-10000 1 531 353 246 330 939 133 825 284
-10000 999 673 903 624 458 779 598 876 717
-10000 520 509 549 875 945 581 33 9 241
-10000 327 147 963 890 266 414 944 157 327
-10000 690 480 215 80 39 13 709 966 306
-10000 284 540 864 487 965 676 713 645 128
-10000 897 834 890 572 161 717 902 588 729
-10000 938 680 101 205 314 249 862 868 626
-10000 768 633 386 676 630 891 611 827 986
-10000 321 933 961 28 361 610 574 143 360
-10000 421 550 358 731 38 840 852 860 627
-10000 347 297 3 490 231 53 557 639 638
-10000 172 311 502 670 849 175 791 171 886
-10000 29 423 381 872 495 105 420 241 671
-10000 528 349 213 572 53 68 767 189 557
-10000 17 211 702 940 538 768 150 293 740
-10000 252 524 345 737 834 20 386 303 255
-10000 973 626 312 705 6 764 428 770 226
-10000 477 949 854 444 163 892 273 85 80
-10000 902 637 468 901 29 432 558 693 963
-10000 643 727 315 190 972 530 402 158 347
-10000 821 708 790 593 834 644 785 761 910
-10000 789 382 863 183 178 554 91 669 649
-10000 216 989 391 617 473 394 743 466 446
-10000 430 237 428 100 141 677 706 531 645
-10000 936 936 599 946 961 228 667 395 969
-10000 995 567 723 607 708 745 649 585 417
-10000 148 114 696 206 904 891 113 674 421
-10000 771 49 817 854 770 975 45 123 688
-10000 624 383 870 406 118 310 891 439 332
-10000 721 791 580 760 944 394 460 572 151
-10000 753 141 40 675 757 453 114 423 480
-10000 705 827 139 848 962 43 933 110 327
-10000 299 56 244 16 324 918 992 292 597
-10000 326 236 916 508 661 487 175 331 71
-10000 68 977 271 710 813 828 654 349 827
-10000 424 435 374 80 894 337 787 696 438
-10000 481 249 954 684 327 468 309 169 540
-10000 944 737 818 221 30 366 990 150 194
-10000 284 39 58 342 668 197 58 329 886
-10000 281 133 637 900 523 118 918 254 372
-10000 295 865 278 684 557 580 645 797 993
-10000 695 426 611 944 817 265 959 493 754
-10000 671 890 228 769 495 59 840 949 58
-10000 255 613 243 931 177 834 557 917 247
-10000 121 348 583 944 625 495 685 862 1
-10000 549 594 14 414 767 499 915 199 573
-10000 944 439 215 689 783 25 678 4 601
-10000 299 836 33 855 150 383 586 838 48
-10000 910 206 949 193 611 467 784 525 971
-10000 637 462 970 745 147 884 670 963 61
-10000 675 706 423 846 983 967 243 931 647
-10000 73 723 82 702 631 427 357 669 185
-10000 166 39 500 207 284 762 727 590 638
-10000 474 307 516 709 260 194 270 798 333
-10000 21 914 945 702 587 80 590 665 902
-10000 38 738 912 38 566 330 619 545 409
-10000 778 496 377 320 64 933 852 592 175
-10000 756 195 507 66 317 473 467 715 684
-10000 95 894 429 416 974 925 173 174 75
-10000 979 985 777 457 716 807 82 754 328
-10000 263 883 782 529 652 540 175 403 124
-10000 706 992 922 670 843 754 96 836 835
-10000 720 71 690 477 370 680 751 449 464
-10000 601 368 147 722 856 132 898 610 974
-10000 247 386 623 516 876 792 855 41 382
-10000 307 982 298 747 126 709 580 335 917
-10000 926 136 219 638 37 522 118 746 437
-10000 876 748 882 455 718 987 585 392 130
-10000 219 332 664 806 831 672 723 472 405
-10000 583 840 696 273 584 810 501 64 814
-10000 356 225 445 366 360 463 828 88 189
-10000 44 268 974 480 461 622 88 414 242
-10000 893 294 745 268 135 849 424 684 773
-10000 191 899 802 835 25 551 373 760 654
-10000 961 240 61 879 58 539 881 328 45
-10000 848 639 686 297 190 594 808 681 940
-10000 684 239 365 163 194 859 670 759 898
-10000 523 172 373 266 45 711 484 624 659
-10000 427 610 482 336 786 60 714 815 27
-10000 969 662 804 101 3 579 15 776 140
-10000 578 524 316 770 653 876 570 836 618
-10000 777 416 542 640 798 81 170 112 974
-10000 2 494 200 456 989 236 400 440 950
-10000 360 230 416 668 779 539 919 23 369
-10000 805 689 770 768 450 259 227 376 485
-10000 873 656 382 695 343 785 381 92 403
-10000 813 122 891 187 701 763 662 720 731
-10000 506 363 366 256 799 950 724 167 532
-10000 662 412 869 827 638 973 195 157 482
-10000 725 755 624 951 73 173 698 135 510
-10000 472 577 443 927 672 334 198 724 448
-10000 324 90 991 623 44 542 134 658 574
-10000 459 49 703 423 844 779 30 425 721
-10000 493 972 418 24 113 653 307 705 238
-10000 149 469 855 603 428 119 657 354 297
-10000 457 446 147 715 539 967 755 837 593
-10000 990 998 406 457 906 785 159 703 977
-10000 433 724 247 83 845 160 218 336 278
-10000 755 228 842 232 288 230 60 615 152
-10000 611 621 152 808 838 874 474 635 242
-10000 600 120 542 719 222 47 34 354 963
-10000 965 724 958 287 124 803 51 712 959
-10000 654 286 786 57 383 847 382 15 485
-10000 184 152 455 397 569 225 138 263 945
-10000 549 691 397 941 178 553 792 518 203
-10000 169 390 699 30 457 54 975 418 808
-10000 122 775 517 822 868 430 692 560 811
-10000 495 726 223 746 192 883 202 798 420
-10000 177 633 874 531 549 400 745 939 125
-10000 508 800 82 441 791 354 379 288 94
-10000 948 907 5 105 518 187 450 37 566
-10000 295 871 74 281 497 185 598 208 168
-10000 392 492 50 656 813 570 717 549 579
-10000 134 748 318 890 195 286 323 427 276
-10000 699 561 793 558 282 313 710 447 752
-10000 27 100 308 269 318 45 344 761 335
-10000 414 636 104 169 966 474 564 188 506
-10000 951 277 162 588 688 38 236 822 737
-10000 739 551 951 50 74 509 58 388 769
-10000 156 806 428 1 161 627 303 3 940
-10000 911 350 998 821 650 992 155 382 969
-10000 47 936 800 463 36 471 869 182 573
-10000 71 167 710 627 522 945 778 372 328
-10000 621 281 48 285 567 184 748 127 150
-10000 559 998 46 356 927 117 784 17 846
-10000 789 714 59 404 615 629 884 582 910
-10000 479 94 306 163 98 283 983 29 794
-10000 957 887 684 208 312 391 4 149 710
-10000 518 71 497 400 982 54 962 391 749
-10000 138 287 16 475 93 220 216 494 503
-10000 638 699 18 206 67 602 429 760 741
-10000 803 412 375 897 734 446 289 850 788
-10000 259 933 981 896 404 820 790 152 535
-10000 632 125 953 978 109 707 721 629 84
-10000 594 45 760 351 884 684 470 135 876
-10000 292 365 986 476 436 598 857 604 292
-10000 545 989 117 14 613 294 783 167 632
-10000 352 549 606 932 678 669 177 71 541
-10000 837 383 73 135 714 755 511 891 482
-10000 278 675 23 239 572 591 865 827 682
-10000 837 220 790 963 570 478 434 801 57
-10000 717 656 400 787 129 473 969 172 695
-10000 139 977 444 446 415 185 924 141 608
-10000 159 866 277 973 199 5 482 762 234
-10000 922 869 12 990 616 976 167 47 871
-10000 102 168 581 719 266 835 141 644 584
-10000 733 621 658 752 634 353 318 642 780
-10000 445 268 596 842 307 352 46 193 985
-10000 589 706 93 10 0 208 240 941 362
-10000 590 104 403 370 639 204 183 99 438
-10000 413 671 142 875 122 923 796 272 386
-10000 158 603 579 677 582 919 104 743 332
-10000 72 893 223 264 915 930 415 402 560
-10000 95 964 535 582 421 146 591 727 156
-10000 842 513 595 942 273 736 727 253 731
-10000 217 936 767 914 320 893 314 299 247
-10000 375 376 71 131 740 873 847 228 759
-10000 693 285 61 234 361 303 462 24 241
-10000 921 792 280 495 775 599 962 521 923
-10000 557 671 908 48 702 787 63 371 384
-10000 980 634 954 680 587 914 853 66 913
-10000 83 722 847 414 66 803 855 52 473
-10000 121 530 785 809 723 751 948 138 816
-10000 708 634 345 325 41 997 711 617 245
-10000 369 100 837 893 123 678 69 358 671
-10000 425 936 495 523 842 968 434 507 253
-10000 367 552 582 27 854 846 304 318 929
-10000 805 712 553 387 568 254 949 393 634
-10000 316 347 252 649 760 900 968 726 251
-10000 379 178 291 164 861 752 551 478 644
-10000 248 181 125 131 233 141 660 412 581
-10000 123 513 99 754 324 145 144 792 873
-10000 742 228 950 839 293 916 107 661 460
-10000 898 766 739 306 653 27 466 101 49
-10000 863 932 301 582 67 369 946 821 700
-10000 977 205 140 980 524 378 591 527 976
-10000 581 567 457 683 743 673 471 798 594
-10000 228 305 697 197 711 218 173 274 976
-10000 609 853 408 173 969 738 907 560 534
-10000 518 514 891 566 649 258 664 169 444
-10000 7 569 242 186 880 109 605 702 799
-10000 828 987 877 107 457 305 415 885 75
-10000 294 37 187 17 724 71 664 820 108
-10000 216 66 74 840 763 917 339 991 326
-10000 851 86 470 513 711 430 51 889 26
-10000 14 529 246 201 216 825 392 414 938
-10000 505 236 761 521 449 223 325 36 826
-10000 236 658 45 823 496 981 761 775 590
-10000 946 609 191 707 516 755 857 260 494
-10000 531 979 414 405 521 594 834 435 90
-10000 912 11 858 780 625 959 744 410 498
-10000 871 244 363 617 389 379 122 241 450
-10000 366 866 369 166 599 210 960 773 527
-10000 703 161 682 548 732 667 879 862 225
-10000 597 168 401 753 757 255 875 554 526
-10000 428 715 942 161 241 282 264 362 9
-10000 495 252 813 492 973 227 800 308 73
-10000 888 891 864 328 469 566 271 883 230
-10000 9 319 622 402 440 978 943 589 127
-10000 623 772 752 265 244 864 894 504 783
-10000 143 81 303 157 236 971 71 752 719
-10000 283 236 58 820 262 816 510 241 442
-10000 728 369 842 37 598 302 757 371 926
-10000 421 732 690 562 528 56 165 252 605
-10000 198 658 344 4 600 71 289 299 15
-10000 263 1000 737 467 107 442 931 746 974
-10000 442 109 235 272 601 208 934 544 924
-10000 937 603 476 571 730 726 73 440 804
-10000 559 35 245 564 28 397 952 873 385
-10000 834 870 949 860 145 464 432 55 756
-10000 916 971 882 184 366 313 621 963 741
-10000 235 463 29 778 401 169 919 1 305
-10000 574 670 140 676 463 980 471 386 96
-10000 475 237 439 162 487 900 279 601 753
-10000 996 122 413 992 293 249 989 323 926
-10000 499 43 86 583 561 248 135 436 622
-10000 103 133 507 148 853 433 57 287 603
-10000 486 858 434 990 637 286 884 425 200
-10000 9 185 263 99 799 697 388 927 938
-10000 26 207 10 482 131 607 98 381 749
-10000 773 965 665 576 94 80 916 471 1
-10000 474 241 333 342 418 122 945 752 159
-10000 44 598 274 664 662 28 563 433 179
-10000 45 278 511 760 830 549 217 583 968
-10000 825 412 111 885 501 257 874 470 115
-10000 967 275 692 679 593 727 569 856 571
-10000 992 596 903 597 517 920 314 965 795
-10000 601 477 198 699 349 596 320 666 559
-10000 499 410 146 250 699 848 61 494 911
-10000 169 882 563 572 294 948 848 447 77
-10000 402 706 404 255 635 641 669 437 39
-10000 183 279 641 90 590 250 326 203 707
-10000 152 971 307 8 744 954 284 268 847
-10000 13 526 366 524 985 909 934 429 416
-10000 801 753 856 856 373 795 123 169 37
-10000 407 978 117 711 798 131 897 232 717
-10000 906 736 500 531 526 149 39 651 561
-10000 252 692 807 653 775 987 576 240 437
-10000 357 312 59 741 296 327 699 935 826
-10000 765 617 322 861 921 6 233 282 46
-10000 651 878 12 855 844 729 468 739 726
-10000 537 179 393 466 961 683 776 570 3
-10000 538 534 381 540 442 461 833 4 281
-10000 812 896 4 658 777 575 139 848 314
-10000 347 369 913 994 385 156 497 62 381
-10000 950 325 172 291 299 81 588 207 729
-10000 666 171 922 845 710 214 250 540 53
-10000 330 917 871 464 679 625 705 995 145
-10000 844 80 949 216 690 582 581 889 750
-10000 656 330 825 460 743 156 903 95 312
-10000 148 53 384 947 155 982 195 212 236
-10000 91 117 633 826 728 85 564 720 449
-10000 204 557 906 316 88 250 971 754 315
-10000 467 676 809 626 292 116 967 687 376
-10000 686 1 921 329 124 391 188 481 400
-10000 74 218 586 859 395 832 539 64 771
-10000 347 454 83 705 551 593 341 583 427
-10000 690 268 892 144 999 51 742 194 547
-10000 316 569 169 54 506 12 835 173 771
-10000 328 969 756 5 465 385 23 263 598
-10000 327 512 540 950 204 764 400 252 886
-10000 194 335 872 969 465 474 243 737 941
-10000 891 535 298 522 585 791 470 578 458
-10000 458 885 53 688 575 83 797 293 600
-10000 934 639 456 206 519 521 712 834 363
-10000 293 315 137 368 665 924 546 645 892
-10000 147 222 407 433 421 712 307 434 664
-10000 853 742 931 402 212 881 462 601 130
-10000 479 773 408 644 262 508 883 186 708
-10000 387 713 897 331 401 85 461 255 565
-10000 623 878 432 747 589 886 278 842 798
-10000 341 651 801 808 975 714 148 299 115
-10000 45 471 549 2 714 784 34 88 562
-10000 660 255 623 551 392 592 908 484 23
-10000 374 257 364 912 586 718 688 447 501
-10000 927 747 963 542 214 190 358 91 62
-10000 160 492 219 118 816 752 186 335 934
-10000 62 254 933 786 619 719 689 508 727
-10000 538 966 350 470 769 189 775 763 482
-10000 950 533 599 886 44 984 485 736 978
-10000 620 510 564 989 656 126 925 209 11
-10000 205 172 299 972 368 906 441 296 867
-10000 179 308 179 487 268 438 872 789 46
-10000 399 147 968 13 632 194 239 237 881
-10000 52 35 172 111 266 581 504 466 4
-10000 681 39 366 682 86 888 846 798 62
-10000 118 66 723 732 335 784 925 981 510
-10000 415 45 668 760 231 298 123 580 920
-10000 80 17 33 962 471 840 644 71 676
-10000 462 119 761 56 71 555 297 502 35
-10000 808 379 617 684 381 338 850 138 67
-10000 247 392 958 685 605 562 435 735 605
-10000 80 651 851 837 236 45 897 384 857
-10000 732 452 294 77 904 901 693 753 811
-10000 46 856 829 673 282 298 320 882 951
-10000 813 322 429 418 634 568 940 802 120
-10000 613 246 96 219 263 739 854 542 80
-10000 71 788 211 598 405 218 297 647 349
-10000 603 513 820 772 998 301 391 567 87
-10000 303 51 833 683 76 40 211 763 684
-10000 689 686 214 343 535 661 498 531 293
-10000 416 778 109 505 578 8 109 926 637
-10000 409 227 857 514 760 818 864 889 76
-10000 81 573 640 526 686 806 813 963 648
-10000 848 800 871 991 629 452 820 459 375
-10000 440 725 75 875 521 302 686 380 895
-10000 309 319 133 745 413 84 868 135 972
-10000 175 177 896 611 927 886 904 510 677
-10000 453 18 805 946 770 103 507 583 499
-10000 851 183 492 92 16 525 775 81 5
-10000 451 131 110 535 969 623 352 58 737
-10000 300 204 908 95 980 416 378 194 354
-10000 755 469 968 511 100 781 236 850 158
-10000 661 384 513 728 573 779 646 673 541
-10000 515 953 311 991 351 511 387 945 538
-10000 763 902 366 360 726 318 671 916 459
-10000 665 824 879 229 241 783 773 120 484
-10000 751 315 686 90 350 664 373 868 456
-10000 399 553 762 53 843 718 541 132 633
-10000 370 586 372 845 19 794 542 107 939
-10000 16 283 174 525 590 536 528 980 540
-10000 408 653 314 62 160 306 51 248 693
-10000 548 854 435 889 335 165 308 663 453
-10000 460 796 63 185 559 574 700 196 284
-10000 776 694 161 313 387 918 167 917 527
-10000 396 659 800 923 829 899 657 412 524
-10000 215 872 55 643 874 809 897 373 310
-10000 219 862 601 726 427 683 925 841 391
-10000 781 107 110 51 904 589 125 261 656
-10000 762 521 821 685 843 305 221 38 734
-10000 228 896 572 719 584 275 542 815 55
-10000 840 17 301 445 159 883 268 897 990
-10000 770 166 290 235 535 276 100 465 309
-10000 242 376 12 332 432 871 580 922 778
-10000 350 389 301 802 935 283 802 234 363
-10000 866 787 652 594 623 395 995 518 746
-10000 627 241 458 886 805 159 528 162 802
-10000 580 680 272 281 273 150 814 305 231
-10000 241 434 837 20 3 478 518 140 38
-10000 857 432 951 891 972 996 498 797 58
-10000 58 83 19 73 727 13 963 410 739
-10000 506 736 397 193 837 58 503 732 669
-10000 18 69 149 933 104 809 999 100 188
-10000 932 778 898 496 722 169 441 130 356
-10000 487 159 238 365 457 724 128 326 806
-10000 323 572 728 397 191 937 199 96 619
-10000 103 835 145 882 773 871 867 885 345
-10000 531 449 884 645 356 545 250 201 374
-10000 234 190 283 473 853 863 879 455 323
-10000 848 260 293 277 97 757 185 764 259
-10000 811 686 273 631 660 621 271 363 428
-10000 397 440 779 960 596 389 140 541 888
-10000 612 897 254 420 320 304 585 958 614
-10000 188 228 31 345 78 219 595 57 401
-10000 83 594 349 537 716 608 934 14 231
-10000 914 692 488 39 653 404 188 538 495
-10000 824 43 639 316 404 450 222 961 755
-10000 957 847 512 373 472 914 680 25 452
-10000 588 561 813 212 661 884 793 542 485
-10000 424 928 628 972 699 252 76 367 761
-10000 253 311 154 171 141 208 407 705 973
-10000 623 318 805 565 770 923 578 578 907
-10000 478 796 58 967 817 882 152 269 780
-10000 388 667 420 736 385 763 602 407 886
-10000 492 370 782 320 298 868 59 924 593
-10000 924 223 399 506 865 561 777 68 958
-10000 306 165 960 524 394 907 975 883 585
-10000 729 851 184 506 509 130 307 747 46
-10000 417 89 256 981 231 486 638 426 943
-10000 627 367 341 221 349 318 459 461 803
-10000 365 471 777 565 282 209 320 998 583
-10000 185 982 119 562 252 700 89 800 644
-10000 726 47 608 397 11 129 211 886 398
-10000 375 70 349 535 340 723 376 37 285
-10000 8 716 640 20 365 434 814 265 982
-10000 858 326 205 335 974 335 957 78 910
-10000 830 628 681 597 385 670 58 549 343
-10000 28 426 289 493 283 624 868 903 468
-10000 47 958 654 120 747 652 590 588 328
-10000 207 323 491 182 24 569 214 696 732
-10000 418 940 109 801 333 531 149 673 937
-10000 917 477 869 132 497 13 764 579 329
-10000 720 845 648 265 335 4 265 874 329
-10000 489 124 122 486 642 930 800 549 911
-10000 239 419 486 827 920 683 251 740 576
-10000 928 360 928 171 484 53 363 89 817
-10000 806 46 930 32 335 935 294 377 551
-10000 400 128 110 76 57 429 426 495 871
-10000 241 638 676 938 499 868 368 233 243
-10000 27 61 90 834 672 617 913 510 50
-10000 581 127 160 697 171 168 376 794 197
-10000 18 790 104 600 800 326 565 564 42
-10000 931 172 420 583 904 198 424 121 998
-10000 378 828 86 329 753 583 401 178 503
-10000 103 413 448 362 487 213 770 177 698
-10000 339 491 47 447 523 953 26 473 675
-10000 781 59 680 514 706 174 900 687 756
-10000 363 499 217 494 312 885 378 36 301
-10000 602 513 800 750 884 157 38 302 443
-10000 241 168 740 531 984 434 900 585 342
-10000 478 102 436 723 434 167 854 562 124
-10000 283 188 494 229 365 452 15 585 223
-10000 650 835 101 669 19 815 801 87 641
-10000 221 451 549 270 827 404 471 141 715
-10000 669 355 230 205 794 944 66 233 758
-10000 650 501 585 409 562 76 742 493 959
-10000 725 542 148 1 856 483 814 536 177
-10000 247 316 312 15 282 160 672 108 24
-10000 641 767 64 97 699 488 710 725 76
-10000 148 792 78 64 373 1 333 582 992
-10000 605 789 583 441 22 906 372 259 812
-10000 760 664 934 752 458 859 264 917 31
-10000 409 650 306 15 832 414 997 441 203
-10000 128 413 938 772 563 126 364 561 749
-10000 409 254 812 293 882 606 447 90 376
-10000 103 930 554 961 303 176 556 645 758
-10000 355 806 618 460 491 985 809 286 330
-10000 215 27 792 33 190 32 327 278 512
-10000 261 193 211 624 231 259 184 328 335
-10000 867 999 345 829 27 322 93 28 961
-10000 129 189 820 424 800 550 615 536 851
-10000 688 575 349 483 40 454 900 176 0
-10000 385 930 933 186 707 844 240 618 395
-10000 439 563 18 972 164 38 715 78 585
-10000 939 851 635 64 201 696 56 534 924
-10000 286 853 815 223 274 644 641 288 313
-10000 559 554 64 908 541 137 787 321 712
-10000 619 136 506 316 878 498 511 809 124
-10000 716 700 511 817 794 329 991 761 635
-10000 929 919 189 990 366 111 288 961 88
-10000 717 615 635 393 684 660 185 807 174
-10000 128 918 976 92 79 335 695 123 199
-10000 224 193 633 715 93 474 344 417 138
-10000 96 80 859 375 21 43 341 569 262
-10000 910 704 733 468 450 366 260 946 403
-10000 489 621 231 196 598 908 210 670 327
-10000 256 367 11 393 398 723 877 903 253
-10000 367 186 186 262 382 833 793 367 257
-10000 936 794 467 924 145 714 479 360 611
-10000 114 440 855 785 350 737 799 445 7
-10000 624 623 313 984 57 583 850 454 705
-10000 138 430 131 935 831 4 433 160 938
-10000 569 21 524 113 433 386 493 187 966
-10000 1 4 873 358 158 728 327 775 379
-10000 865 816 287 75 962 603 367 653 538
-10000 809 671 490 85 464 943 849 422 375
-10000 626 675 155 897 157 317 586 595 312
-10000 543 992 928 384 571 665 600 878 263
-10000 952 928 863 500 292 57 313 641 245
-10000 557 435 19 269 546 225 923 474 143
-10000 532 791 765 644 216 231 863 361 352
-10000 105 970 762 435 114 150 25 183 88
-10000 124 946 463 868 518 722 269 515 590
-10000 242 433 257 726 416 406 721 251 829
-10000 36 481 189 997 414 245 443 730 872
-10000 277 827 274 531 763 58 696 22 201
-10000 248 971 610 620 271 683 720 191 408
-10000 451 661 222 409 972 999 331 130 353
-10000 906 418 767 140 150 437 370 948 569
-10000 928 785 344 855 528 981 560 283 537
-10000 222 673 957 144 753 381 857 545 222
-10000 904 972 644 150 153 285 566 821 134
-10000 976 738 814 523 611 574 452 555 170
-10000 580 192 775 840 746 566 842 989 791
-10000 535 430 708 404 735 141 123 374 931
-10000 769 135 957 884 935 429 759 770 534
-10000 423 793 199 634 344 19 225 953 286
-10000 668 426 313 366 624 616 410 78 453
-10000 702 909 231 249 685 650 455 427 856
-10000 28 440 9 76 216 860 496 83 595
-10000 635 562 543 990 268 349 445 650 272
-10000 628 545 934 355 415 1 465 158 249
-10000 947 779 196 766 895 443 471 563 844
-10000 370 877 639 462 180 413 779 819 519
-10000 507 814 223 252 728 454 77 577 114
-10000 281 104 53 90 162 335 414 717 274
-10000 287 15 621 93 181 724 744 666 510
-10000 748 698 742 499 905 154 473 410 601
-10000 582 641 295 722 866 185 296 743 487
-10000 956 291 704 293 662 395 658 380 487
-10000 175 120 969 972 116 214 737 454 225
-10000 232 872 710 991 364 927 740 921 903
-10000 164 511 625 31 328 584 362 744 286
-10000 373 244 775 809 573 206 903 540 804
-10000 708 309 463 205 91 143 31 42 319
-10000 460 217 939 50 411 299 682 426 836
-10000 726 140 145 217 285 244 888 309 885
-10000 660 696 931 329 29 901 833 734 860
-10000 295 311 72 408 195 225 914 807 644
-10000 441 55 839 442 256 695 41 844 413
-10000 979 812 569 753 261 980 603 458 862
-10000 882 82 265 800 88 446 452 301 441
-10000 70 205 472 878 309 844 558 665 355
-10000 966 373 303 289 885 56 735 442 409
-10000 238 64 149 744 255 524 721 170 668
-10000 11 861 104 196 86 465 954 581 683
-10000 515 797 916 703 729 750 360 900 673
-10000 848 600 916 825 495 100 507 79 117
-10000 695 971 113 922 937 156 997 24 791
-10000 973 27 787 270 808 709 18 525 148
-10000 64 269 14 979 288 372 460 256 0
-10000 671 421 827 608 254 251 735 601 230
-10000 901 163 859 867 174 838 192 853 67
-10000 802 633 876 975 799 46 192 163 986
-10000 2 591 328 561 870 163 31 652 263
-10000 990 822 327 851 792 162 207 202 794
-10000 212 168 653 437 430 244 95 97 738
-10000 102 568 757 644 972 304 142 415 823
-10000 24 53 411 408 795 868 383 683 534
-10000 271 96 373 593 53 609 719 928 593
-10000 405 222 932 260 555 412 347 806 715
-10000 644 274 808 69 877 974 611 892 263
-10000 18 255 148 54 221 303 135 150 639
-10000 676 542 568 845 303 825 905 778 136
-10000 550 110 362 810 379 967 632 970 525
-10000 152 871 263 17 264 247 941 524 740
-10000 826 528 522 148 422 39 137 74 432
-10000 575 974 743 552 173 424 863 237 548
-10000 489 421 790 164 467 796 942 381 847
-10000 798 750 201 811 625 925 605 14 754
-10000 670 878 524 743 210 996 744 939 979
-10000 360 685 897 103 75 245 186 651 819
-10000 458 935 640 211 355 858 32 99 647
-10000 872 521 127 353 638 476 1 41 759
-10000 495 989 429 552 654 75 929 591 645
-10000 398 303 425 254 687 850 544 495 657
-10000 830 552 991 434 52 289 958 192 368
-10000 303 326 157 431 289 145 489 527 358
-10000 353 671 427 439 220 725 68 66 311
-10000 726 566 638 733 939 394 599 235 317
-10000 3 642 623 2 688 623 791 161 953
-10000 773 670 489 625 898 211 138 632 695
-10000 868 274 331 560 688 692 705 614 969
-10000 486 753 804 529 912 566 476 33 267
-10000 727 308 981 138 898 783 46 261 296
-10000 185 241 472 736 119 738 108 149 607
-10000 960 261 168 880 487 613 524 928 198
-10000 678 491 387 769 880 413 401 873 355
-10000 943 934 559 92 289 427 982 263 851
-10000 433 83 108 417 623 174 523 626 524
-10000 269 508 917 442 570 971 768 752 489
-10000 860 314 219 102 925 308 532 222 124
-10000 307 334 991 849 548 44 663 830 274
-10000 65 612 319 559 51 90 805 235 652
-10000 628 287 150 154 710 327 791 309 9
-10000 858 115 73 14 176 524 388 360 727
-10000 926 881 702 227 407 803 85 997 753
-10000 700 742 642 355 133 256 129 406 756
-10000 269 4 187 324 257 99 358 102 96
-10000 427 283 794 409 696 917 808 376 957
-10000 898 372 27 928 952 461 198 816 396
-10000 818 103 455 646 984 264 718 202 852
-10000 808 449 311 783 327 440 400 991 224
-10000 777 662 545 329 912 7 25 0 50
-10000 560 212 684 899 378 629 981 344 207
-10000 824 437 944 943 171 807 177 528 638
-10000 957 178 664 858 513 590 28 949 619
-10000 879 787 493 739 151 244 827 805 228
-10000 229 693 460 198 283 875 44 554 818
-10000 180 838 281 38 839 565 61 608 764
-10000 154 346 878 835 580 647 798 341 947
-10000 951 280 180 368 346 111 893 439 212
-10000 854 986 340 12 833 491 909 589 653
-10000 593 824 31 230 106 303 27 628 529
-10000 551 594 306 508 589 256 848 569 505
-10000 821 284 403 596 378 827 913 340 584
-10000 882 313 391 472 7 252 488 323 484
-10000 412 62 359 506 699 238 115 31 39
-10000 211 217 641 839 335 125 716 300 109
-10000 271 265 855 420 123 100 126 475 571
-10000 801 732 843 869 829 828 86 53 933
-10000 86 255 699 105 308 188 793 641 484
-10000 989 874 861 844 120 814 464 75 790
-10000 148 644 651 298 687 409 394 697 672
-10000 35 666 863 288 703 355 393 396 670
-10000 213 440 163 143 177 591 120 460 868
-10000 996 778 878 70 840 444 139 45 777
-10000 593 416 241 767 22 784 245 137 20
-10000 683 959 834 998 534 51 982 938 47
-10000 808 835 480 580 351 610 995 922 556
-10000 365 987 542 134 499 929 239 463 15
-10000 560 192 370 336 55 67 668 379 898
-10000 297 126 538 132 886 576 716 638 255
-10000 621 336 906 970 75 279 651 719 657
-10000 370 650 626 151 473 160 298 831 419
-10000 795 635 397 901 712 875 593 806 744
-10000 584 916 179 662 121 386 65 58 910
-10000 128 322 262 79 768 329 484 10 381
-10000 1000 847 477 711 387 746 382 828 889
-10000 691 384 74 520 715 355 332 351 558
-10000 452 444 216 415 73 59 18 414 789
-10000 213 728 288 907 303 527 129 760 692
-10000 798 891 128 27 333 942 181 416 286
-10000 534 525 826 956 644 279 91 428 417
-10000 905 25 413 933 141 917 186 378 928
-10000 803 114 251 112 492 700 789 135 242
-10000 948 53 219 182 471 868 82 726 271
-10000 867 329 791 100 69 592 392 635 975
-10000 669 269 728 761 609 540 152 951 1
-10000 341 253 328 68 84 414 961 880 54
-10000 926 971 825 329 609 951 600 286 541
-10000 761 370 611 163 738 314 756 500 34
-10000 735 101 631 119 107 426 464 983 999
-10000 411 843 344 798 374 886 33 597 893
-10000 65 729 192 416 595 333 955 702 5
-10000 308 152 503 606 354 985 942 599 8
-10000 182 132 474 606 103 320 81 241 871
-10000 855 49 110 359 471 236 594 389 900
-10000 959 372 698 518 714 967 773 939 774
-10000 161 804 861 594 274 137 137 43 519
-10000 368 636 864 679 488 827 734 441 22
-10000 423 733 502 915 553 982 216 961 619
-10000 905 186 753 516 585 907 552 338 47
-10000 433 973 667 202 626 393 988 938 362
-10000 879 423 846 249 261 631 397 27 62
-10000 24 563 302 142 25 484 38 592 828
-10000 412 640 195 7 39 984 628 863 375
-10000 983 717 912 754 888 204 458 825 379
-10000 746 780 140 503 221 687 609 24 727
-10000 21 513 96 501 351 470 891 203 136
-10000 84 840 395 492 693 56 669 544 982
-10000 512 740 272 291 278 762 274 960 926
-10000 978 989 453 689 13 468 71 777 828
-10000 747 936 216 530 406 990 306 383 709
-10000 698 908 434 310 160 499 78 829 50
-10000 23 857 631 184 532 8 363 714 391
-10000 590 11 835 899 539 591 305 374 348
-10000 617 632 831 452 958 891 370 2 271
-10000 116 323 886 717 659 173 687 463 12
-10000 661 356 48 179 175 956 417 186 7
-10000 166 112 712 672 891 714 520 591 374
-10000 677 816 15 290 669 357 856 228 507
-10000 806 258 715 397 277 422 324 176 263
-10000 983 496 692 822 402 60 746 664 113
-10000 467 355 515 185 339 47 465 720 218
-10000 911 69 254 499 322 580 792 786 475
-10000 467 878 635 427 607 930 877 453 861
-10000 284 823 456 916 95 191 966 641 301
-10000 495 804 906 603 227 212 878 566 0
-10000 673 266 395 207 543 562 416 381 963
-10000 128 251 204 367 590 743 437 103 59
-10000 378 102 637 143 280 34 500 238 259
-10000 373 359 291 985 81 397 601 620 517
-10000 338 794 968 498 219 128 320 639 649
-10000 524 852 522 561 417 258 842 374 896
-10000 351 980 963 722 484 184 537 588 877
-10000 58 85 10 213 916 652 300 9 230
-10000 239 363 168 299 804 858 741 624 177
-10000 905 43 831 355 883 201 805 955 440
-10000 754 866 702 980 767 199 726 661 282
-10000 726 385 116 960 159 624 158 489 335
-10000 584 811 995 409 691 740 521 595 516
-10000 446 539 99 46 931 190 794 878 199
-10000 626 724 34 901 969 579 712 610 146
-10000 130 593 138 88 229 260 860 110 636
-10000 351 484 568 487 406 756 50 795 988
-10000 424 846 966 750 897 435 503 891 256
-10000 502 367 498 350 937 16 101 724 58
-10000 569 968 62 201 105 431 101 958 570
-10000 715 692 226 585 251 281 184 542 517
-10000 271 848 585 471 322 976 855 385 9
-10000 705 679 413 434 802 786 335 418 96
-10000 58 934 671 789 958 687 917 227 592
-10000 898 978 903 264 1000 695 929 838 168
-10000 710 973 700 624 774 790 811 106 892
-10000 618 869 979 754 21 739 398 457 401
-10000 636 341 241 110 583 672 524 780 917
-10000 863 695 936 298 570 740 459 654 802
-10000 76 589 447 370 925 920 952 67 305
-10000 938 412 35 963 615 31 412 761 252
-10000 566 214 393 306 778 78 706 487 719
-10000 435 381 478 224 610 949 3 640 426
-10000 342 441 455 643 261 466 414 119 538
-10000 833 982 49 908 854 699 924 36 123
-10000 935 420 532 163 662 567 997 122 454
-10000 500 220 291 553 676 963 987 537 815
-10000 324 75 87 826 743 363 880 372 418
-10000 703 485 381 764 313 577 932 21 432
-10000 337 472 557 805 460 129 328 454 707
-10000 702 852 873 420 535 915 82 772 364
-10000 974 330 569 973 465 880 18 200 807
-10000 367 885 226 204 451 908 585 72 624
-10000 49 157 431 343 572 64 797 234 708
-10000 742 552 279 541 782 255 34 590 358
-10000 545 791 736 755 827 41 746 764 689
-10000 400 51 464 661 687 76 168 127 500
-10000 771 440 85 528 1 60 575 729 140
-10000 752 622 0 582 97 784 666 395 475
-10000 391 928 739 639 913 640 624 830 4
-10000 136 994 865 452 939 104 164 660 188
-10000 966 763 709 667 75 748 566 44 474
-10000 311 74 740 692 586 361 179 292 416
-10000 471 988 132 269 95 302 554 561 388
-10000 35 456 586 692 448 796 959 670 500
-10000 423 669 707 779 379 908 823 236 180
-10000 17 360 245 238 88 138 81 242 274
-10000 341 470 84 746 448 387 588 367 506
-10000 503 869 817 854 585 355 240 215 265
-10000 344 372 91 164 362 124 611 141 573
-10000 151 633 979 891 238 679 582 493 908
-10000 861 977 733 513 852 394 507 748 683
-10000 904 523 612 708 81 352 453 361 790
-10000 762 124 327 517 613 430 25 205 149
-10000 134 220 904 792 973 241 857 834 505
-10000 282 122 663 525 986 604 450 792 888
-10000 340 956 113 844 343 199 534 527 768
-10000 444 956 466 238 422 605 489 371 602
-10000 10 60 662 218 403 622 741 390 130
-10000 632 415 842 92 464 827 211 359 628
-10000 793 535 963 42 881 862 561 84 865
-10000 441 96 164 339 422 89 849 386 595
-10000 384 298 319 330 809 324 543 528 582
-10000 209 124 602 554 953 381 685 468 132
-10000 236 732 98 829 197 842 140 663 349
-10000 707 677 253 191 250 792 691 126 902
-10000 886 919 189 98 322 908 555 57 966
-10000 926 286 986 533 572 278 430 983 442
-10000 738 903 128 420 560 989 703 182 802
-10000 533 797 333 767 766 338 945 791 352
-10000 519 62 707 774 358 877 611 811 583
-10000 168 912 163 425 43 539 145 267 932
-10000 9 137 633 95 464 609 565 569 395
-10000 129 111 612 586 910 768 535 325 787
-10000 85 405 899 108 19 155 768 566 250
-10000 930 878 117 471 529 575 979 905 739
-10000 154 1 804 554 530 234 325 675 632
-10000 874 790 457 535 189 980 564 291 820
-10000 896 882 215 925 864 315 61 512 906
-10000 558 333 948 654 424 464 959 475 341
-10000 939 31 778 99 307 309 574 810 609
-10000 850 296 502 152 736 75 851 9 512
-10000 54 262 509 365 745 866 242 440 673
-10000 12 309 60 349 847 599 335 852 253
-10000 973 603 330 887 509 846 34 309 926
-10000 55 759 944 572 126 695 70 457 642
-10000 228 74 442 446 467 201 11 166 569
-10000 715 250 576 38 866 159 827 9 703
-10000 180 694 618 444 252 140 922 405 384
-10000 138 257 509 458 329 625 182 705 955
-10000 507 827 184 26 36 709 263 779 765
-10000 238 273 952 918 18 338 918 827 73
-10000 700 711 450 117 179 865 350 849 856
-10000 561 7 47 907 103 22 145 986 462
-10000 652 127 877 700 821 601 828 230 108
-10000 738 896 967 568 427 462 994 471 920
-10000 310 901 467 479 488 740 962 500 939
-10000 914 679 287 196 140 673 924 638 819
-10000 251 557 47 819 307 743 51 712 105
-10000 358 252 995 762 893 414 526 850 606
-10000 697 302 821 491 179 275 529 910 641
-10000 277 536 314 338 493 718 470 300 889
-10000 688 674 344 796 602 993 809 823 949
-10000 790 91 636 711 970 713 236 121 209
-10000 288 736 550 970 213 21 161 343 448
-10000 184 883 74 785 533 182 690 335 389
-10000 252 774 4 15 145 224 588 521 456
-10000 15 188 355 901 257 131 406 485 187
-10000 789 474 148 157 237 124 247 392 60
-10000 249 852 333 415 338 971 931 459 726
-10000 236 163 759 261 337 937 80 562 608
-10000 373 609 594 84 361 354 1000 30 167
-10000 141 428 207 695 248 917 236 886 871
-10000 255 116 374 964 918 660 523 53 594
-10000 75 187 427 36 901 995 987 787 513
-10000 880 391 534 837 213 5 2 582 431
-10000 470 254 561 79 66 49 948 388 517
-10000 814 497 704 272 486 74 991 133 630
-10000 19 79 709 188 775 674 39 306 452
-10000 12 76 97 53 159 290 290 888 662
-10000 168 330 268 666 859 591 903 760 9
-10000 719 772 160 536 576 896 335 927 971
-10000 91 877 738 116 747 981 79 128 732
-10000 780 898 810 774 618 813 615 421 458
-10000 419 749 503 322 357 877 760 470 861
-10000 733 28 266 132 961 645 586 277 792
-10000 477 919 449 664 470 724 726 300 447
-10000 149 959 164 328 435 724 360 458 516
-10000 312 969 946 937 270 424 773 187 718
-10000 660 434 11 205 724 801 662 325 897
-10000 610 959 402 904 816 32 719 422 771
-10000 768 690 134 286 980 808 248 455 172
-10000 180 430 489 31 601 361 15 289 523
-10000 638 925 377 692 238 359 498 35 761
-10000 829 550 415 988 778 935 408 987 364
-10000 205 535 566 944 907 897 220 13 403
-10000 365 190 208 680 803 989 657 29 271
-10000 99 791 864 554 335 838 176 145 937
-10000 491 496 204 749 331 212 52 160 935
-10000 943 54 816 227 450 774 340 907 14
-10000 750 187 476 103 676 715 763 936 580
-10000 783 326 663 932 860 174 558 342 198
-10000 828 433 357 961 56 630 266 772 843
-10000 335 499 102 619 73 307 84 860 910
-10000 412 904 987 308 242 958 839 314 573
-10000 819 991 454 403 967 548 443 407 143
-10000 873 477 239 374 743 534 206 980 308
-10000 965 491 722 398 29 860 682 987 95
-10000 877 615 830 331 458 275 519 155 647
-10000 319 254 463 335 705 616 19 661 773
-10000 656 216 93 245 422 730 286 457 214
-10000 632 556 285 595 970 690 122 696 979
-10000 894 605 854 692 666 465 67 906 836
-10000 422 791 526 30 510 531 361 614 883
-10000 401 794 737 401 479 420 179 19 891
-10000 47 0 654 527 390 630 313 324 259
-10000 649 850 626 216 26 724 24 20 942
-10000 838 518 965 797 366 757 383 131 151
-10000 606 477 715 893 262 588 252 766 256
-10000 260 783 542 303 58 684 355 142 114
-10000 811 119 302 447 646 633 143 173 858
-10000 471 988 130 530 637 733 989 280 37
-10000 817 460 957 400 462 132 145 903 109
-10000 925 135 551 487 869 663 276 114 288
-10000 937 311 856 425 797 516 757 527 37
-10000 785 455 25 51 663 196 911 0 205
-10000 286 249 267 82 609 971 22 774 86
-10000 449 846 970 416 845 51 647 171 375
-10000 478 128 665 916 623 692 600 830 14
-10000 689 705 663 29 932 806 366 601 691
-10000 707 352 490 179 480 680 419 332 432
-10000 460 146 624 275 742 149 129 858 346
-10000 765 300 869 529 35 409 374 264 68
-10000 313 149 858 823 13 969 307 769 143
-10000 374 2 957 270 724 797 521 366 465
-10000 457 741 87 303 149 657 290 944 338
-10000 277 839 151 834 659 57 218 741 774
-10000 333 231 404 360 96 565 891 120 640
-10000 950 736 155 2 463 107 138 310 93
-10000 925 723 37 62 289 943 630 578 351
-10000 518 597 817 293 162 370 850 13 172
-10000 939 720 993 872 21 211 617 931 885
-10000 440 621 902 618 19 214 943 287 690
-10000 565 560 42 843 244 516 69 168 402
-10000 862 962 79 479 22 141 852 312 209
-10000 640 761 105 655 634 180 829 951 530
-10000 538 245 441 639 404 94 88 878 255
-10000 368 210 496 650 857 14 629 492 561
-10000 74 440 97 514 645 697 224 656 554
-10000 602 680 893 215 467 74 976 573 334
-10000 630 692 268 211 787 792 887 429 730
-10000 971 993 672 497 153 253 633 392 682
-10000 600 931 841 792 252 569 798 681 303
-10000 718 300 503 398 671 252 761 440 989
-10000 333 553 569 891 15 314 836 22 734
-10000 63 971 926 590 441 958 825 918 636
-10000 178 506 249 449 203 164 741 222 1000
-10000 42 775 227 176 512 389 364 664 304
-10000 321 104 93 39 44 284 420 120 598
-10000 781 782 327 195 619 532 840 907 381
-10000 639 261 202 282 219 778 313 171 221
-10000 612 339 930 192 92 552 405 463 307
-10000 579 277 699 643 30 652 481 349 611
-10000 91 289 59 94 683 751 587 633 82
-10000 335 126 563 416 41 385 739 492 320
-10000 764 412 555 291 524 647 123 961 861
-10000 425 719 38 593 887 684 902 415 246
-10000 287 846 318 719 474 653 300 728 688
-10000 37 149 583 249 713 997 57 346 66
-10000 366 377 590 950 366 691 991 327 98
-10000 965 652 682 81 408 564 174 225 439
-10000 953 355 740 562 761 190 949 94 387
-10000 875 648 357 320 193 717 576 520 486
-10000 645 499 838 218 759 908 397 679 625
-10000 830 274 833 533 474 889 425 0 629
-10000 649 734 737 822 396 81 32 956 456
-10000 352 450 425 830 742 915 226 294 632
-10000 609 664 695 658 295 577 842 204 526
-10000 449 434 885 743 848 987 177 593 995
-10000 152 549 884 699 145 727 953 797 531
-10000 394 101 422 84 896 622 284 758 379
-10000 526 182 885 478 875 398 576 472 908
-10000 676 368 788 600 859 540 334 247 145
-10000 406 367 520 68 492 569 144 301 411
-10000 248 896 329 907 191 590 996 158 535
-10000 926 107 763 121 772 536 681 206 652
-10000 705 884 562 41 400 624 759 496 792
-10000 645 41 404 666 42 586 263 180 672
-10000 964 659 702 797 31 576 252 581 689
-10000 271 686 486 981 757 562 741 29 604
-10000 659 745 551 663 808 453 595 808 155
-10000 925 947 274 264 290 299 968 757 593
-10000 395 216 187 469 53 738 345 566 41
-10000 302 873 276 869 362 839 284 887 357
-10000 632 742 442 940 815 308 806 369 837
-10000 896 463 247 819 217 225 681 301 349
-10000 498 444 570 521 574 737 359 197 213
-10000 593 50 857 4 961 968 177 365 566
-10000 924 965 549 176 938 73 0 143 422
-10000 148 932 409 602 636 629 572 884 729
-10000 910 526 317 759 83 710 813 847 509
-10000 711 741 984 441 299 751 713 387 999
-10000 731 520 409 235 460 527 170 707 380
-10000 706 192 933 235 748 694 966 48 308
-10000 892 60 822 373 100 472 179 768 755
-10000 805 972 770 557 775 907 129 106 427
-10000 818 312 502 992 706 598 234 956 175
-10000 495 639 962 402 373 234 829 792 199
-10000 490 204 215 391 482 163 937 941 831
-10000 30 947 103 753 306 370 969 178 329
-10000 236 408 327 852 600 163 972 281 122
-10000 417 264 519 75 158 992 210 194 182
-10000 603 189 879 952 236 790 975 553 944
-10000 336 229 0 210 426 754 242 163 665
-10000 955 395 177 884 758 192 384 403 6
-10000 848 912 969 641 931 923 925 738 340
-10000 169 663 762 573 410 208 461 519 569
-10000 394 990 459 237 802 677 987 516 775
-10000 703 634 865 125 766 953 38 192 276
-10000 904 39 358 560 935 216 116 993 388
-10000 195 330 542 316 408 175 279 202 921
-10000 105 526 150 843 833 184 387 566 496
-10000 489 193 142 531 848 280 315 391 241
-10000 450 408 291 690 694 779 735 724 266
-10000 139 705 903 701 671 909 399 751 89
-10000 109 400 851 659 892 512 530 633 877
-10000 926 371 247 786 271 674 877 776 391
-10000 396 493 157 117 205 685 605 396 117
-10000 755 638 507 135 358 332 583 875 852
-10000 414 155 400 546 738 844 104 966 940
-10000 109 897 970 423 734 522 565 931 73
-10000 279 820 820 153 449 144 408 857 386
-10000 194 194 545 721 676 358 476 352 4
-10000 935 480 641 950 955 725 182 815 665
-10000 907 719 773 243 275 846 899 201 487
-10000 377 503 494 195 18 79 402 798 684
-10000 120 592 45 497 207 328 606 4 752
-10000 10 362 24 534 463 636 738 330 951
-10000 862 25 680 220 622 723 96 976 79
-10000 631 230 465 919 278 978 359 947 846
-10000 555 584 620 656 747 802 954 947 307
-10000 832 901 437 808 705 984 313 140 863
-10000 227 370 493 498 987 918 771 833 808
-10000 954 449 640 97 953 498 793 557 754
-10000 89 976 281 365 279 336 220 352 548
-10000 223 489 765 883 804 12 187 827 864
-10000 283 578 806 733 299 883 361 163 662
-10000 421 95 364 63 551 451 854 415 591
-10000 932 655 216 36 10 162 454 211 195
-10000 339 682 916 748 326 613 380 461 640
-10000 182 760 109 499 346 727 24 135 955
-10000 229 191 243 653 82 52 754 670 932
-10000 622 545 182 630 615 923 726 292 284
-10000 715 407 343 57 20 571 805 277 527
-10000 227 318 215 448 888 414 194 32 422
-10000 81 460 394 455 510 170 310 655 883
-10000 729 664 405 738 462 782 643 928 444
-10000 157 410 646 79 225 573 443 547 56
-10000 294 255 416 362 613 929 571 346 401
-10000 342 49 915 505 972 467 327 57 823
-10000 142 796 385 86 274 575 603 793 804
-10000 376 43 287 893 735 724 385 829 507
-10000 306 207 937 891 668 121 187 692 746
-10000 693 938 784 490 263 223 266 318 740
-10000 728 154 993 649 479 186 194 269 921
-10000 521 598 534 364 546 438 369 589 958
-10000 996 853 363 110 736 143 906 0 175
-10000 314 401 218 400 877 438 276 235 238
-10000 125 845 399 963 683 442 337 943 644
-10000 700 741 993 641 682 607 992 551 9
-10000 264 931 291 911 523 489 202 109 866
-10000 668 69 770 932 369 469 60 845 764
-10000 362 413 964 271 504 899 713 91 98
-10000 714 663 886 226 994 376 444 274 275
-10000 834 678 261 821 488 697 481 673 755
-10000 17 971 949 786 811 161 626 841 568
-10000 849 196 289 659 863 242 411 382 719
-10000 223 165 857 740 464 820 540 868 607
-10000 873 806 887 282 763 971 125 20 234
-10000 717 543 589 269 900 756 967 582 201
-10000 329 830 687 769 320 655 318 148 49
-10000 441 455 992 190 827 366 28 598 614
-10000 605 824 845 364 601 838 150 885 510
-10000 618 498 431 170 748 72 700 302 294
-10000 456 793 881 276 708 862 961 831 285
-10000 424 977 413 313 756 501 721 632 779
-10000 754 213 272 683 186 658 691 978 871
-10000 78 480 683 317 574 590 708 933 78
-10000 556 876 287 805 43 3 470 834 29
-10000 415 307 119 731 133 248 240 390 623
-10000 107 19 95 314 588 788 682 83 77
-10000 257 267 799 651 686 374 351 509 55
-10000 853 612 131 285 738 23 76 375 864
-10000 92 425 155 628 56 831 655 557 568
-10000 683 744 241 672 597 809 925 497 901
-10000 557 797 761 813 512 115 139 23 405
-10000 191 12 160 211 708 665 960 88 851
-10000 37 943 719 490 132 561 708 224 511
-10000 966 300 687 926 188 579 583 551 945
-10000 329 846 674 653 781 706 309 719 541
-10000 458 266 718 195 541 196 319 830 133
-10000 84 642 600 524 754 247 195 195 263
-10000 483 628 726 909 245 277 588 871 523
-10000 133 111 624 466 749 712 524 756 858
-10000 501 51 416 39 257 58 805 309 706
-10000 223 835 865 567 830 662 465 848 180
-10000 2 534 427 42 740 103 92 382 132
-10000 781 612 302 768 790 51 100 537 173
-10000 269 52 717 392 909 644 853 334 447
-10000 908 927 491 943 399 356 132 776 152
-10000 540 884 479 512 273 971 1 312 72
-10000 170 33 299 798 58 974 524 952 674
-10000 240 371 942 325 751 43 694 88 993
-10000 225 44 701 567 630 565 705 399 289
-10000 516 91 464 148 454 21 75 154 19
-10000 769 496 758 493 276 170 324 515 313
-10000 446 479 740 568 969 953 578 262 513
-10000 93 417 483 214 319 289 637 944 798
-10000 103 747 661 349 157 279 108 317 153
-10000 856 762 173 879 256 618 96 23 335
-10000 478 897 296 591 806 446 739 671 996
-10000 387 961 574 439 851 539 222 317 76
-10000 270 825 277 513 99 431 157 526 547
-10000 200 126 315 69 673 53 335 820 632
-10000 923 865 137 559 939 391 196 581 219
-10000 331 617 416 109 892 613 84 979 719
-10000 253 198 520 324 914 676 59 571 393
-10000 956 825 675 858 855 154 485 334 772
-10000 421 459 465 302 732 729 609 455 853
-10000 277 517 167 216 928 919 168 390 185
-10000 320 356 954 694 825 466 477 835 210
-10000 770 260 274 912 654 974 829 451 6
-10000 63 149 372 85 641 438 724 759 148
-10000 912 826 237 55 918 378 428 464 145
-10000 511 253 599 906 470 623 825 618 957
-10000 19 918 931 11 365 864 186 795 496
-10000 477 323 302 608 665 350 45 450 857
-10000 132 553 254 233 406 800 945 664 727
-10000 216 987 179 302 913 585 440 386 264
-10000 880 931 93 135 482 83 142 673 273
-10000 346 971 843 279 946 522 625 745 259
-10000 622 977 37 426 756 958 713 266 293
-10000 496 391 797 938 110 862 469 841 680
-10000 443 882 377 272 193 396 561 392 666
-10000 769 857 594 868 249 841 615 945 279
-10000 372 30 212 34 837 231 266 731 103
-10000 997 745 445 363 365 169 614 814 166
-10000 297 567 524 156 239 705 151 779 600
-10000 114 93 708 663 834 310 256 638 783
-10000 357 996 592 520 837 715 590 371 666
-10000 847 322 884 96 750 772 906 988 753
-10000 602 63 656 587 392 990 490 620 909
-10000 578 819 24 702 985 375 772 176 266
-10000 352 394 467 185 528 362 225 399 834
-10000 772 916 799 294 515 574 100 987 401
-10000 385 833 363 430 412 998 783 213 452
-10000 163 248 259 509 292 236 930 214 355
-10000 396 710 707 540 345 674 309 315 259
-10000 877 37 564 250 165 970 959 603 995
-10000 366 223 986 206 415 900 606 696 455
-10000 408 29 97 590 766 539 444 931 830
-10000 808 789 245 38 300 801 566 911 615
-10000 408 709 670 885 301 964 670 608 853
-10000 138 604 588 670 335 868 246 480 514
-10000 422 942 507 58 997 479 807 597 10
-10000 464 517 831 191 186 117 304 784 5
-10000 496 478 681 128 343 907 568 174 536
-10000 92 133 748 283 631 618 949 541 893
-10000 570 898 101 779 540 998 25 448 362
-10000 297 109 89 93 70 213 987 991 147
-10000 732 238 623 823 642 744 585 575 9
-10000 105 329 870 445 945 947 452 359 345
-10000 468 532 171 499 896 12 963 996 766
-10000 557 674 20 971 216 495 875 829 597
-10000 868 443 899 539 780 158 543 563 334
-10000 590 247 169 161 767 470 648 998 370
-10000 173 780 793 952 298 785 651 165 771
-10000 407 839 230 976 774 613 725 375 268
-10000 973 120 181 746 258 17 425 887 408
-10000 283 557 947 541 292 499 932 28 682
-10000 590 661 197 254 895 514 209 402 64
-10000 695 204 863 454 899 783 81 228 549
-10000 709 808 288 658 997 403 5 460 616
-10000 422 989 456 44 352 976 748 259 971
-10000 22 579 529 517 971 353 808 552 611
-10000 815 167 792 105 710 28 931 862 395
-10000 827 72 962 839 428 706 78 623 76
-10000 871 986 448 557 919 163 972 139 642
-10000 993 231 269 272 989 272 469 854 149
-10000 746 950 820 277 987 772 500 395 24
-10000 877 334 9 388 54 782 905 198 941
-10000 492 39 307 905 543 65 650 89 535
-10000 989 104 93 588 489 340 612 470 149
-10000 732 451 615 155 154 723 490 836 970
-10000 352 963 736 432 190 385 17 543 597
-10000 473 991 409 505 748 479 890 318 168
-10000 550 865 183 385 777 857 49 127 958
-10000 799 95 461 113 728 977 593 45 968
-10000 50 438 516 268 546 664 389 279 786
-10000 725 940 979 461 494 442 938 419 106
-10000 905 599 519 199 541 760 871 463 259
-10000 109 951 941 861 945 862 159 11 281
-10000 341 647 947 362 408 27 362 64 72
-10000 404 365 333 479 460 866 336 313 473
-10000 249 92 982 456 597 96 636 552 183
-10000 129 842 810 201 547 614 986 869 547
-10000 556 929 308 451 871 840 703 281 920
-10000 582 64 177 159 635 487 820 636 134
-10000 868 408 461 358 845 78 526 354 102
-10000 320 49 543 237 542 803 318 269 912
-10000 144 19 531 188 903 457 943 933 47
-10000 652 157 636 873 316 602 809 44 861
-10000 705 742 156 810 898 679 806 225 102
-10000 812 381 644 776 941 272 148 984 910
-10000 570 297 687 993 537 667 557 981 845
-10000 886 605 54 389 662 621 193 634 467
-10000 204 269 712 952 380 646 169 535 954
-10000 53 995 696 490 476 765 174 395 487
-10000 805 611 913 792 897 852 885 438 474
-10000 871 100 850 810 672 43 786 822 172
-10000 531 437 23 140 753 748 162 613 15
-10000 303 808 11 214 540 820 602 440 766
-10000 803 245 648 760 128 669 955 737 312
-10000 882 475 28 224 672 831 229 651 937
-10000 844 600 334 655 426 603 104 635 95
-10000 688 662 22 372 859 665 756 299 264
-10000 501 186 277 186 839 890 292 706 13
-10000 896 379 306 601 350 434 170 13 849
-10000 547 747 546 110 996 263 88 217 692
-10000 818 476 674 468 936 2 909 986 691
-10000 322 424 255 171 605 966 324 65 75
-10000 373 672 371 260 57 339 745 699 351
-10000 761 477 34 362 862 551 171 119 430
-10000 806 368 843 474 757 859 877 304 51
-10000 992 415 946 214 537 38 762 435 932
-10000 257 131 31 484 395 601 805 336 825
-10000 149 233 778 19 662 910 570 867 503
-10000 840 529 620 589 120 185 949 876 20
-10000 378 343 84 34 508 801 964 23 714
-10000 545 493 128 44 880 274 957 20 771
-10000 420 235 748 714 300 389 500 889 64
-10000 327 88 235 131 468 48 439 124 555
-10000 128 469 507 47 913 915 516 666 232
-10000 483 595 809 532 728 837 152 142 974
-10000 898 671 688 22 124 384 640 623 247
-10000 187 638 749 709 624 498 983 641 604
-10000 155 969 808 214 94 831 173 640 386
-10000 717 516 86 533 621 887 376 210 880
-10000 361 446 701 695 604 435 95 637 754
-10000 883 54 101 475 132 262 948 225 991
-10000 921 311 644 715 133 572 777 280 721
-10000 754 157 693 322 377 285 503 19 789
-10000 196 715 604 250 155 376 202 141 903
-10000 908 530 765 18 265 576 95 898 938
-10000 979 773 806 994 89 103 701 133 655
-10000 548 958 144 521 461 600 182 361 740
-10000 810 826 165 304 327 953 68 70 345
-10000 398 734 369 268 627 452 333 971 979
-10000 668 985 575 391 748 100 350 459 447
-10000 134 193 2 535 756 133 416 769 279
-10000 739 190 966 195 512 546 715 960 761
-10000 959 38 240 747 668 778 20 495 609
-10000 924 572 443 219 821 347 564 582 930
-10000 29 201 448 861 579 157 116 495 996
-10000 263 976 282 915 470 440 363 887 531
-10000 778 499 366 266 9 473 87 672 607
-10000 475 591 809 447 509 534 1000 732 291
-10000 301 185 667 862 32 377 474 765 103
-10000 783 381 529 213 929 743 845 715 561
-10000 414 249 130 378 83 855 512 875 811
-10000 855 886 131 734 352 330 805 902 220
-10000 379 157 524 130 357 743 784 400 317
-10000 935 529 266 419 302 610 988 753 673
-10000 418 536 95 886 343 62 254 568 326
-10000 315 270 968 906 57 281 579 265 575
-10000 82 871 456 54 27 562 868 412 632
-10000 71 318 740 50 321 54 80 194 934
-10000 837 312 836 12 3 239 621 359 23
-10000 345 916 773 282 928 698 313 64 32
-10000 175 480 723 924 135 508 930 371 154
-10000 815 201 708 662 878 57 909 285 626
-10000 652 752 847 732 378 367 86 733 251
-10000 854 108 993 563 887 892 858 772 718
-10000 734 982 257 144 824 691 317 957 772
-10000 800 378 557 513 922 25 556 863 224
-10000 172 588 336 583 196 644 997 751 911
-10000 573 454 584 111 485 952 891 77 740
-10000 349 999 734 376 415 552 812 356 560
-10000 187 388 468 585 336 479 186 958 492
-10000 501 205 91 959 828 64 347 364 437
-10000 511 736 64 897 955 867 273 178 158
-10000 1 392 137 801 113 203 348 632 720
-10000 296 953 658 685 650 16 255 602 557
-10000 123 7 396 286 628 659 853 0 762
-10000 383 863 850 258 29 880 835 32 27
-10000 841 173 648 287 852 209 334 387 944
-10000 72 144 813 659 179 341 417 389 754
-10000 262 635 927 176 360 509 825 453 561
-10000 739 377 951 974 269 187 756 916 630
-10000 327 620 787 549 119 574 425 400 167
-10000 228 737 49 597 319 422 75 859 348
-10000 353 671 556 730 47 493 198 426 866
-10000 803 361 127 600 147 633 241 253 788
-10000 901 837 711 957 149 720 872 488 276
-10000 670 783 475 791 643 789 177 14 718
-10000 809 437 518 502 113 402 847 692 437
-10000 941 450 306 119 952 603 481 135 914
-10000 149 211 414 821 251 982 944 479 363
-10000 594 18 34 897 770 650 651 145 131
-10000 549 516 718 911 50 811 875 762 405
-10000 865 6 620 310 450 226 590 345 421
-10000 605 100 289 163 886 65 403 273 773
-10000 493 162 480 232 592 695 157 682 649
-10000 104 265 234 706 519 151 272 143 150
-10000 128 783 570 898 369 300 75 141 592
-10000 870 553 358 410 26 908 506 702 247
-10000 68 205 965 756 241 790 416 736 859
-10000 175 537 518 956 903 91 786 757 210
-10000 600 291 619 51 708 686 116 174 803
-10000 989 335 411 526 122 91 885 927 787
-10000 193 978 969 630 823 188 915 632 594
-10000 409 389 471 22 365 17 77 149 810
-10000 534 354 26 327 651 812 608 226 182
-10000 845 780 744 356 346 735 294 115 585
-10000 855 326 232 159 578 903 120 166 247
-10000 59 453 532 268 984 538 865 12 893
-10000 933 122 90 670 603 718 327 395 965
-10000 489 459 493 720 753 33 144 490 564
-10000 623 808 570 242 648 323 459 96 135
-10000 961 913 23 227 311 235 728 70 682
-10000 885 131 941 933 679 375 866 31 342
-10000 972 993 784 328 558 106 203 269 720
-10000 410 727 618 194 672 238 652 144 391
-10000 73 688 576 889 540 436 136 865 598
-10000 814 39 667 387 244 688 753 500 539
-10000 390 536 571 766 493 116 255 843 615
-10000 349 264 297 229 960 438 865 587 525
-10000 489 753 291 137 260 851 73 362 325
-10000 776 119 691 271 364 461 346 455 861
-10000 299 618 984 366 280 454 285 814 159
-10000 58 642 901 719 216 905 410 766 275
-10000 339 587 744 853 891 372 781 698 140
-10000 594 645 161 257 921 910 462 418 964
-10000 646 135 886 390 16 294 120 299 681
-10000 408 40 610 11 363 613 855 874 437
-10000 280 1000 722 68 945 771 651 457 414
-10000 805 650 904 364 19 823 843 11 244
-10000 375 387 966 479 465 428 954 550 496
-10000 814 581 683 270 530 537 440 184 290
-10000 911 849 948 959 489 212 408 828 517
-10000 919 822 392 526 925 863 745 113 925
-10000 14 860 636 552 87 87 394 899 726
-10000 128 820 167 178 692 790 936 965 554
-10000 70 443 254 575 298 601 649 841 111
-10000 705 599 587 462 493 94 746 359 399
-10000 166 935 771 4 603 354 356 267 63
-10000 895 378 285 735 691 206 327 972 605
-10000 669 600 884 959 438 152 671 338 351
-10000 100 952 865 991 997 623 387 874 39
-10000 431 704 422 874 456 252 138 73 380
-10000 885 325 414 777 379 991 389 323 868
-10000 800 243 72 668 210 75 520 482 273
-10000 550 56 193 857 683 390 9 350 216
-10000 25 15 515 65 95 664 890 173 619
-10000 168 242 429 565 289 327 189 263 991
-10000 766 278 95 15 863 174 158 370 265
-10000 634 655 738 456 387 9 354 360 823
-10000 593 34 451 97 89 450 195 868 216
-10000 922 467 572 671 974 606 238 919 575
-10000 294 218 810 484 420 966 637 742 583
-10000 676 996 825 408 219 592 834 629 874
-10000 302 627 381 71 150 493 572 351 787
-10000 833 904 370 520 943 779 572 881 25
-10000 377 17 727 372 114 167 912 791 776
-10000 949 389 435 857 753 325 543 64 988
-10000 332 498 528 516 899 465 941 606 50
-10000 798 773 154 689 582 684 549 753 450
-10000 613 824 302 265 270 917 594 280 543
-10000 717 490 986 143 360 19 417 540 111
-10000 309 464 824 866 154 519 628 189 954
-10000 763 593 794 503 668 671 511 858 707
-10000 146 769 36 20 835 765 34 101 356
-10000 543 357 850 473 909 574 749 810 651
-10000 750 929 952 190 970 564 488 253 76
-10000 519 605 481 53 623 980 15 601 430
-10000 588 60 32 195 150 330 31 107 822
-10000 217 694 336 616 53 719 924 869 224
-10000 314 971 942 13 807 462 171 290 260
-10000 742 782 116 301 467 84 977 349 106
-10000 389 208 222 920 850 704 350 488 952
-10000 499 176 168 221 892 130 276 517 157
-10000 659 779 648 238 839 714 443 872 832
-10000 983 140 670 981 31 412 333 539 297
-10000 791 454 954 521 560 369 150 181 794
-10000 837 200 278 885 452 680 403 297 647
-10000 125 317 683 233 324 852 720 449 878
-10000 46 19 71 733 629 360 458 752 673
-10000 466 646 103 45 162 424 703 658 351
-10000 855 167 935 942 236 958 835 255 452
-10000 480 647 853 575 866 632 346 741 428
-10000 110 659 222 897 12 495 713 232 503
-10000 976 414 242 79 384 459 775 6 577
-10000 102 189 566 41 977 887 377 836 636
-10000 393 620 598 853 743 767 328 872 618
-10000 510 293 772 458 4 697 886 851 817
-10000 988 74 325 919 157 46 543 199 393
-10000 428 953 253 758 205 657 982 220 214
-10000 233 947 6 989 57 313 187 886 447
-10000 674 451 396 489 794 244 253 366 612
-10000 762 762 433 587 576 506 557 613 954
-10000 925 548 582 571 139 916 282 110 475
-10000 195 919 283 549 574 53 652 224 901
-10000 107 936 844 436 380 59 596 489 903
-10000 186 78 112 964 354 662 300 871 408
-10000 642 435 473 605 827 757 495 333 753
-10000 52 434 198 642 202 390 779 436 144
-10000 666 559 410 614 140 157 527 412 125
-10000 529 18 933 999 290 495 350 774 265
-10000 349 398 90 949 679 153 533 201 538
-10000 791 537 896 567 797 685 151 232 745
-10000 186 604 251 284 921 920 395 237 835
-10000 122 122 784 107 612 239 517 889 973
-10000 276 778 701 899 815 931 340 458 688
-10000 9 19 228 219 694 421 960 845 752
-10000 196 994 817 585 108 121 262 678 616
-10000 861 837 392 35 708 159 652 126 547
-10000 692 75 920 620 312 537 36 763 112
-10000 62 610 525 388 301 49 465 588 354
-10000 814 950 49 257 684 473 2 301 119
-10000 55 149 815 759 121 986 983 908 733
-10000 913 1 316 204 226 976 590 523 85
-10000 487 843 813 357 833 799 659 556 372
-10000 865 643 707 843 178 463 858 357 480
-10000 988 766 913 926 789 269 189 319 590
-10000 601 728 618 599 560 772 326 480 915
-10000 652 443 780 400 93 479 614 0 109
-10000 148 526 828 536 374 238 184 120 619
-10000 340 941 352 716 991 634 938 547 539
-10000 138 894 654 74 692 172 701 977 662
-10000 764 84 337 410 173 419 410 986 733
-10000 274 322 392 172 460 95 516 606 692
-10000 851 683 417 550 787 850 912 681 456
-10000 643 675 65 828 260 0 5 500 391
-10000 92 421 779 353 429 298 755 724 773
-10000 504 387 915 826 547 106 888 728 446
-10000 489 404 587 836 617 662 376 202 508
-10000 229 748 208 169 381 503 266 218 156
-10000 316 804 610 643 135 971 104 428 9
-10000 786 753 681 63 614 639 927 43 388
-10000 687 391 856 254 312 611 885 199 612
-10000 985 626 59 704 180 712 120 29 685
-10000 944 57 666 552 806 804 934 606 932
-10000 554 137 60 264 220 869 684 729 337
-10000 926 102 959 704 202 651 941 431 228
-10000 44 892 77 94 757 940 770 436 155
-10000 785 917 757 306 279 532 124 727 890
-10000 341 18 560 308 578 258 922 590 861
-10000 401 838 959 615 847 786 974 430 611
-10000 908 730 687 440 363 28 435 172 317
-10000 163 451 744 622 619 482 671 927 442
-10000 465 769 332 853 221 266 283 758 786
-10000 880 302 289 781 196 575 746 144 203
-10000 89 737 716 689 327 804 719 966 226
-10000 895 246 213 758 918 242 478 872 777
-10000 908 377 639 290 108 713 778 135 451
-10000 701 163 680 179 115 108 738 546 679
-10000 252 412 148 973 429 448 495 741 12
-10000 384 788 298 559 393 298 263 208 253
-10000 961 782 176 602 798 518 527 360 557
-10000 760 263 156 833 359 709 752 373 915
-10000 269 926 449 766 781 675 850 960 742
-10000 493 670 310 919 81 208 242 908 854
-10000 611 168 735 273 436 574 660 829 304
-10000 229 992 712 445 673 174 494 865 157
-10000 861 115 583 630 781 990 1000 92 832
-10000 905 797 590 328 819 746 679 292 851
-10000 835 952 553 964 203 370 43 688 751
-10000 978 146 407 530 347 678 207 389 26
-10000 164 452 537 259 810 369 119 225 872
-10000 399 859 646 465 893 484 387 55 907
-10000 489 341 174 70 258 514 897 366 741
-10000 9 956 238 697 585 348 450 518 186
-10000 711 136 750 422 976 863 77 419 616
-10000 585 801 511 843 673 64 310 459 9
-10000 325 139 69 977 70 624 169 691 626
-10000 81 683 673 665 14 986 926 852 68
-10000 642 499 378 274 554 848 601 584 239
-10000 131 186 911 214 698 740 529 168 769
-10000 697 885 689 572 944 356 282 209 533
-10000 649 749 998 437 944 982 219 741 980
-10000 431 56 995 639 311 137 970 106 430
-10000 529 934 887 872 334 529 108 647 309
-10000 79 58 424 7 234 256 535 193 43
-10000 510 463 361 201 379 993 896 238 711
-10000 441 488 883 65 664 576 927 921 533
-10000 829 327 711 245 512 99 374 711 454
-10000 188 355 167 485 905 292 662 396 277
-10000 641 723 558 223 620 915 813 469 126
-10000 292 269 551 829 508 342 162 22 768
-10000 289 881 609 90 368 428 26 430 887
-10000 695 776 230 969 557 806 508 395 601
-10000 416 154 861 874 234 276 487 301 137
-10000 236 297 987 565 576 122 41 570 401
-10000 455 306 561 116 843 261 233 189 601
-10000 922 546 481 862 493 481 233 307 528
-10000 331 867 310 408 779 171 605 390 558
-10000 793 650 746 87 914 62 903 665 543
-10000 0 25 532 298 448 734 153 618 260
-10000 756 478 150 677 610 564 256 638 766
-10000 491 932 55 714 114 849 655 879 108
-10000 771 240 95 742 815 447 647 889 205
-10000 314 26 230 154 133 335 155 609 606
-10000 993 85 236 148 753 98 894 25 932
-10000 910 715 982 977 632 151 16 89 158
-10000 412 463 752 657 876 610 331 352 676
-10000 753 571 535 16 631 248 228 304 83
-10000 826 212 578 382 640 723 953 216 629
-10000 647 624 317 863 907 445 551 732 927
-10000 371 736 218 200 507 190 405 641 154
-10000 41 629 974 123 898 822 610 213 448
-10000 388 106 528 714 173 865 780 696 670
-10000 615 16 770 596 191 396 267 481 731
-10000 364 723 412 284 256 621 785 681 465
-10000 796 305 966 539 420 796 323 14 659
-10000 891 865 914 817 871 43 528 454 729
-10000 292 145 400 26 507 264 109 524 668
-10000 940 525 30 850 897 962 383 500 819
-10000 189 710 497 514 162 972 72 12 752
-10000 430 845 906 208 824 404 925 362 594
-10000 488 334 406 905 474 400 962 335 990
-10000 802 100 684 750 256 345 142 814 793
-10000 673 723 83 530 209 918 47 446 311
-10000 254 998 938 484 708 526 115 205 876
-10000 634 952 504 217 742 425 871 800 218
-10000 229 31 459 121 336 318 44 434 432
-10000 290 61 951 70 912 3 397 833 611
-10000 909 547 914 853 557 534 630 708 358
-10000 816 713 360 730 255 377 461 948 694
-10000 499 904 81 917 97 935 818 601 116
-10000 594 623 575 242 487 684 301 686 592
-10000 840 209 253 877 802 246 183 382 214
-10000 262 851 479 280 333 707 664 273 505
-10000 908 960 675 710 944 674 906 278 858
-10000 920 509 823 602 291 703 331 915 32
-10000 287 521 748 346 2 172 910 893 864
-10000 335 207 903 137 512 381 328 428 543
-10000 56 365 501 949 918 112 893 966 435
-10000 950 947 997 877 519 982 790 880 723
-10000 536 184 802 836 943 787 360 863 668
-10000 214 150 818 944 582 457 741 117 462
-10000 1000 202 988 28 833 38 528 120 961
-10000 352 270 3 58 291 161 959 822 141
-10000 385 353 628 226 461 317 4 984 773
-10000 226 623 310 650 938 143 221 990 549
-10000 34 622 664 670 214 81 251 95 281
-10000 135 588 218 561 243 972 396 592 349
-10000 739 769 996 149 743 144 187 231 833
-10000 107 17 621 346 191 261 361 562 22
-10000 641 272 218 331 770 475 32 351 742
-10000 483 554 609 342 260 686 763 800 172
-10000 892 959 622 86 38 406 135 482 501
-10000 77 113 548 225 624 813 887 236 170
-10000 16 242 560 473 908 503 94 900 545
-10000 925 541 868 568 953 900 696 882 364
-10000 6 162 711 151 532 258 253 306 661
-10000 583 457 209 468 782 160 94 873 394
-10000 664 377 524 549 475 220 162 333 782
-10000 652 229 734 454 39 325 212 685 675
-10000 119 418 399 626 328 844 327 923 183
-10000 497 709 784 927 647 793 363 453 446
-10000 814 347 892 298 855 786 312 368 989
-10000 53 879 153 675 570 624 781 494 662
-10000 433 375 944 390 659 821 17 499 665
-10000 130 840 89 587 883 391 715 20 361
-10000 589 612 912 721 899 832 178 309 755
-10000 609 353 657 544 716 301 753 573 957
-10000 209 338 745 487 997 671 91 303 285
-10000 699 55 903 139 129 482 736 203 129
-10000 457 447 969 231 293 684 689 551 929
-10000 833 422 619 71 260 975 942 388 342
-10000 401 277 111 298 147 734 183 723 981
-10000 531 642 565 709 208 223 955 590 799
-10000 520 105 301 450 522 928 541 0 492
-10000 365 291 523 890 827 917 11 418 908
-10000 813 139 933 376 465 163 773 923 879
-10000 565 14 189 622 685 802 340 69 512
-10000 854 421 9 864 976 657 895 466 512
-10000 113 410 347 29 706 281 563 645 83
-10000 858 507 258 339 689 159 283 371 191
-10000 992 974 703 786 650 629 328 997 878
-10000 827 309 279 335 253 476 425 967 115
-10000 920 484 548 43 42 153 551 631 63
-10000 987 35 620 520 115 191 399 979 705
-10000 780 260 152 32 551 555 135 419 416
-10000 708 186 37 510 922 87 833 78 17
-10000 660 336 643 120 479 733 567 517 657
-10000 545 450 498 438 776 808 671 988 772
-10000 588 318 325 695 170 952 815 989 56
-10000 730 47 684 807 251 942 544 513 242
-10000 180 187 772 644 681 652 383 748 429
-10000 256 942 220 716 733 437 28 379 618
-10000 344 569 109 909 414 335 147 907 851
-10000 106 606 13 878 934 951 870 970 60
-10000 593 618 237 956 867 356 95 337 370
-10000 347 909 768 509 907 155 416 102 912
-10000 18 680 524 527 868 815 133 413 667
-10000 984 425 597 868 537 787 522 361 287
-10000 860 141 883 562 221 690 32 100 613
-10000 750 453 108 620 259 64 121 438 409
-10000 949 798 728 407 853 505 674 239 623
-10000 963 778 900 975 39 793 421 865 417
-10000 595 266 351 404 3 234 166 497 130
-10000 282 939 342 505 959 185 58 354 269
-10000 499 323 485 185 489 100 807 195 596
-10000 80 45 239 692 721 238 99 175 118
-10000 918 27 971 952 607 400 670 582 961
-10000 641 134 302 346 308 627 985 757 870
-10000 487 483 752 761 90 866 37 298 924
-10000 769 704 483 469 866 569 395 683 397
-10000 592 484 900 501 936 485 595 45 720
-10000 16 280 897 636 321 915 360 946 796
-10000 826 372 861 125 804 548 914 78 491
-10000 934 441 653 842 162 408 195 994 979
-10000 5 279 41 467 901 201 627 910 928
-10000 664 188 358 135 537 427 905 991 996
-10000 120 891 614 328 511 875 410 976 9
-10000 731 269 820 288 913 144 636 445 668
-10000 959 645 245 878 825 311 960 668 717
-10000 928 576 402 37 411 63 201 74 488
-10000 128 27 665 812 498 423 223 151 132
-10000 843 291 286 628 388 130 422 755 761
-10000 910 920 700 623 897 254 78 249 355
-10000 867 674 124 883 852 115 282 899 121
-10000 171 162 259 883 101 315 805 224 789
-10000 592 79 749 526 928 990 367 253 149
-10000 962 821 952 909 392 838 904 975 843
-10000 309 969 117 680 115 654 882 842 523
-10000 385 307 265 77 858 736 90 518 328
-10000 796 20 367 398 632 321 839 969 71
-10000 65 540 424 392 396 893 318 97 772
-10000 745 866 875 568 541 288 146 633 603
-10000 187 56 350 210 205 895 422 896 503
-10000 386 891 265 493 968 753 326 889 245
-10000 894 903 917 452 672 471 30 99 883
-10000 815 461 484 36 855 369 86 159 772
-10000 556 955 659 865 973 671 66 515 668
-10000 293 158 727 445 110 196 84 313 364
-10000 311 350 249 114 890 150 751 118 979
-10000 304 162 371 784 339 777 456 336 712
-10000 384 165 949 780 347 914 572 860 552
-10000 262 828 344 244 365 646 588 862 570
-10000 827 57 268 758 144 808 37 440 271
-10000 830 205 189 63 97 391 569 801 172
-10000 646 346 464 991 180 44 866 452 275
-10000 553 247 863 56 467 11 513 234 764
-10000 641 945 901 236 381 431 716 504 112
-10000 647 375 450 23 560 6 66 741 699
-10000 89 585 721 650 366 174 258 843 317
-10000 547 983 455 319 650 565 8 178 489
-10000 55 849 356 375 871 303 88 424 536
-10000 57 29 681 107 494 831 904 928 935
-10000 219 542 196 197 200 354 47 830 633
-10000 883 131 524 352 144 590 636 685 439
-10000 409 804 999 148 522 868 2 811 399
-10000 343 397 13 41 921 906 792 599 308
-10000 638 894 71 449 860 269 552 406 606
-10000 640 774 244 579 514 928 598 532 466
-10000 683 693 576 203 316 251 18 249 360
-10000 511 869 229 504 630 565 452 140 913
-10000 534 813 880 512 887 758 531 628 335
-10000 504 626 704 24 660 682 566 582 808
-10000 84 822 50 235 125 779 913 390 358
-10000 185 182 234 380 366 813 778 68 150
-10000 363 370 826 664 937 321 796 306 404
-10000 386 926 811 566 495 723 486 760 984
-10000 922 290 264 399 414 1 707 243 788
-10000 789 292 753 318 850 597 284 386 500
-10000 914 380 942 393 672 982 658 285 984
-10000 997 425 844 556 527 492 913 928 289
-10000 693 214 727 93 778 99 465 607 556
-10000 773 893 1000 491 371 217 778 595 978
-10000 493 663 124 928 803 59 357 21 701
-10000 901 305 317 793 109 800 534 202 890
-10000 299 533 310 46 79 939 662 320 286
-10000 757 483 641 181 10 725 454 938 312
-10000 643 945 728 161 772 609 87 678 869
-10000 431 152 968 579 912 420 393 26 510
-10000 642 259 853 510 566 670 698 818 430
-10000 194 399 354 120 977 287 144 368 295
-10000 212 769 868 690 372 11 382 422 622
-10000 702 973 266 340 748 85 229 993 939
-10000 411 794 431 994 963 222 13 721 571
-10000 302 216 437 651 306 999 682 992 391
-10000 30 664 113 146 939 750 789 337 795
-10000 885 126 364 713 314 278 108 704 915
-10000 784 133 613 513 928 72 634 660 352
-10000 853 358 635 191 20 919 725 301 567
-10000 177 942 158 744 543 269 690 58 874
-10000 775 469 182 527 286 254 510 654 447
-10000 816 834 616 664 273 864 98 301 48
-10000 299 458 495 809 401 221 940 958 339
-10000 233 823 850 498 214 949 936 190 213
-10000 122 553 863 995 13 961 296 736 422
-10000 620 343 686 518 307 62 964 960 452
-10000 598 403 914 570 724 573 543 80 109
-10000 889 361 746 657 260 920 74 521 877
-10000 466 416 507 508 433 707 757 79 47
-10000 336 543 427 203 844 226 762 441 951
-10000 220 34 829 240 493 406 753 127 1
-10000 9 50 485 953 755 234 40 87 357
-10000 112 672 205 406 652 351 394 67 418
-10000 745 181 306 378 219 476 249 472 61
-10000 862 840 512 425 753 327 75 693 13
-10000 205 422 159 227 269 953 962 587 519
-10000 857 184 662 182 269 168 688 511 370
-10000 956 158 728 459 333 483 13 22 778
-10000 31 850 840 323 208 206 786 273 361
-10000 543 371 641 573 34 577 947 90 684
-10000 850 736 491 925 156 303 625 792 340
-10000 909 848 399 292 311 829 298 99 609
-10000 410 528 684 207 424 162 863 405 730
-10000 860 642 533 915 10 479 19 961 671
-10000 276 731 802 243 285 287 803 447 629
-10000 951 171 532 649 672 427 259 719 814
-10000 255 936 619 826 594 372 905 937 363
-10000 887 421 74 37 768 699 794 523 700
-10000 109 680 1000 669 85 999 298 748 289
-10000 222 667 94 164 258 604 987 108 541
-10000 168 649 891 628 387 872 785 433 893
-10000 449 20 358 438 302 471 364 872 628
-10000 366 410 19 86 993 375 516 622 374
-10000 574 759 971 340 433 858 647 354 808
-10000 866 360 771 195 83 562 692 717 526
-10000 787 738 432 238 565 602 320 498 643
-10000 510 29 15 711 931 94 396 810 305
-10000 840 306 480 822 827 303 774 942 979
-10000 664 754 103 806 519 39 434 850 2
-10000 21 258 237 304 545 50 73 674 865
-10000 594 121 480 789 128 173 220 985 937
-10000 330 620 735 287 729 772 678 50 560
-10000 900 445 237 919 418 489 128 250 979
-10000 746 500 144 499 305 476 138 277 758
-10000 169 189 892 532 631 464 636 246 120
-10000 924 897 736 684 627 593 385 674 709
-10000 851 363 388 769 297 711 940 254 321
-10000 758 115 469 237 785 326 489 514 239
-10000 387 978 412 16 480 664 110 678 180
-10000 968 646 68 242 653 511 173 348 294
-10000 113 887 981 739 613 972 489 809 691
-10000 537 294 108 386 961 820 36 870 359
-10000 245 803 492 73 326 175 914 558 603
-10000 257 870 887 361 389 44 87 682 771
-10000 172 946 588 220 314 299 100 991 864
-10000 867 10 421 397 918 134 182 550 676
-10000 506 284 74 385 877 907 388 876 398
-10000 63 208 114 31 654 741 505 353 101
-10000 665 283 329 635 639 531 786 588 750
-10000 958 235 202 475 969 897 254 320 204
-10000 902 350 778 24 943 18 509 598 510
-10000 139 627 698 14 575 733 610 384 66
-10000 767 516 218 350 101 876 830 196 364
-10000 958 1000 593 978 372 947 637 691 369
-10000 939 448 438 57 155 780 564 904 684
-10000 326 138 145 676 120 190 632 477 144
-10000 557 43 519 801 938 610 211 67 112
-10000 653 875 109 90 508 95 475 618 459
-10000 371 677 799 421 113 795 148 719 383
-10000 137 448 667 502 272 835 801 627 17
-10000 839 615 530 291 431 147 908 712 268
-10000 555 994 892 566 4 849 382 124 919
-10000 273 646 630 32 153 746 423 767 66
-10000 561 635 530 990 63 729 402 655 411
-10000 152 817 969 934 174 2 202 848 669
-10000 870 108 0 905 491 289 721 817 1000
-10000 89 113 137 935 145 747 448 442 921
-10000 912 231 228 190 949 608 309 256 557
-10000 174 597 953 789 973 437 496 58 938
-10000 542 499 934 51 852 830 198 606 701
-10000 594 113 518 53 222 734 637 438 24
-10000 281 934 415 488 941 867 377 324 158
-10000 617 330 32 452 753 692 334 390 447
-10000 661 227 119 846 697 673 415 421 927
-10000 519 623 875 851 391 396 739 127 111
-10000 278 640 197 721 656 299 410 194 954
-10000 275 229 990 941 975 591 963 347 642
-10000 914 455 10 294 194 380 108 818 74
-10000 472 434 323 348 982 835 729 528 549
-10000 365 906 860 677 170 903 966 94 736
-10000 53 58 135 927 878 900 384 926 747
-10000 878 444 846 838 357 432 517 578 80
-10000 832 851 892 48 73 141 199 881 369
-10000 795 152 594 511 22 885 137 108 946
-10000 731 361 520 654 709 958 873 638 596
-10000 982 593 701 343 833 852 964 277 514
-10000 862 137 895 156 213 493 757 883 277
-10000 977 417 420 721 195 664 247 584 959
-10000 565 512 906 917 689 614 846 743 131
-10000 755 634 138 948 148 413 35 533 32
-10000 494 723 623 528 419 689 300 533 737
-10000 681 351 15 831 458 907 347 532 875
-10000 494 522 694 695 675 367 956 538 119
-10000 747 796 765 176 698 294 506 697 983
-10000 162 678 773 709 164 273 757 873 7
-10000 531 166 452 423 926 33 36 922 383
-10000 459 597 548 330 776 639 611 477 775
-10000 974 791 980 125 325 721 402 371 51
-10000 711 735 403 150 31 580 557 239 188
-10000 165 831 532 923 287 834 923 870 129
-10000 493 210 65 668 973 420 25 110 364
-10000 414 865 278 848 437 887 813 130 827
-10000 114 414 323 897 131 981 638 62 71
-10000 688 734 244 443 944 310 396 442 609
-10000 311 381 119 332 240 503 556 89 311
-10000 796 529 269 112 926 627 295 234 715
-10000 107 240 7 927 786 99 425 147 524
-10000 97 247 678 530 193 349 217 279 970
-10000 597 873 347 614 817 395 328 614 926
-10000 526 20 696 608 858 154 810 785 459
-10000 410 517 180 179 214 808 865 428 849
-10000 245 490 294 966 567 736 10 187 864
-10000 169 977 521 13 521 748 914 465 253
-10000 507 540 508 39 524 620 464 920 184
-10000 625 740 618 164 963 15 292 687 504
-10000 222 466 108 947 972 950 428 199 589
-10000 608 812 853 538 671 609 152 340 357
-10000 335 360 985 671 609 568 25 166 253
-10000 660 949 381 874 379 385 352 26 591
-10000 894 956 610 299 292 306 461 434 376
-10000 236 925 12 990 527 287 97 82 222
-10000 241 952 311 167 675 623 172 0 889
-10000 273 169 195 589 240 869 63 787 602
-10000 173 992 831 854 43 543 561 567 249
-10000 776 546 321 220 620 324 725 974 304
-10000 700 287 519 405 839 212 34 60 607
-10000 765 822 499 823 353 69 458 284 104
-10000 588 709 224 546 309 157 218 53 200
-10000 455 698 346 69 701 245 836 231 153
-10000 805 617 472 343 356 973 952 903 728
-10000 646 570 924 251 280 809 844 926 448
-10000 677 566 860 751 901 499 662 248 175
-10000 932 408 51 53 265 729 964 880 328
-10000 146 349 383 720 114 456 281 271 75
-10000 50 928 778 304 378 542 258 286 645
-10000 824 294 329 890 945 66 776 658 659
-10000 120 466 210 93 533 5 925 62 119
-10000 978 403 547 431 794 708 425 334 136
-10000 602 305 104 436 170 955 142 420 654
-10000 996 6 520 102 548 867 163 566 857
-10000 932 143 655 331 478 915 612 13 970
-10000 384 287 265 185 318 479 214 769 196
-10000 401 334 885 80 964 717 920 445 981
-10000 9 963 719 123 725 599 164 102 167
-10000 916 217 363 744 386 190 743 496 775
-10000 170 480 157 530 595 930 442 885 908
-10000 161 421 530 331 798 444 937 262 326
-10000 682 16 31 769 948 353 186 278 633
-10000 100 579 499 608 843 476 682 660 572
-10000 988 635 902 632 161 942 659 48 933
-10000 393 197 735 545 711 171 763 648 907
-10000 291 579 304 80 581 539 777 251 678
-10000 143 595 386 1 868 188 314 820 418
-10000 416 299 575 953 192 638 211 623 17
-10000 878 554 927 697 434 891 566 550 369
-10000 473 332 882 843 843 613 54 248 757
-10000 365 222 293 226 100 418 898 199 35
-10000 672 626 520 677 796 273 783 420 736
-10000 48 837 935 463 757 293 919 758 618
-10000 234 841 105 161 983 656 359 408 432
-10000 621 257 198 196 654 824 823 668 197
-10000 575 812 404 204 597 91 984 767 998
-10000 733 910 469 393 728 814 344 85 69
-10000 283 82 960 700 892 536 809 662 528
-10000 770 169 390 748 354 277 281 300 21
-10000 285 244 283 846 160 342 17 296 751
-10000 39 166 606 880 288 330 559 380 294
-10000 170 17 837 384 620 515 597 844 476
-10000 504 166 810 605 624 716 365 381 863
-10000 397 518 167 272 603 96 708 591 449
-10000 129 242 224 359 289 166 215 593 540
-10000 718 77 70 907 111 918 509 387 117
-10000 157 535 300 409 751 197 383 995 635
-10000 13 61 113 409 593 983 644 481 259
-10000 371 603 449 789 224 989 172 603 402
-10000 738 550 660 841 990 696 797 465 794
-10000 350 496 145 430 64 807 85 534 901
-10000 347 757 297 843 160 676 643 406 177
-10000 166 763 595 353 373 695 436 388 473
-10000 588 717 689 890 941 676 891 573 249
-10000 65 290 206 243 996 50 629 799 700
-10000 443 667 445 982 34 354 545 149 123
-10000 896 974 257 351 111 341 317 285 971
-10000 538 577 628 889 76 700 853 795 299
-10000 252 992 108 709 901 30 999 914 668
-10000 47 232 31 351 580 216 252 848 635
-10000 631 498 453 99 393 537 19 738 965
-10000 283 39 402 463 825 831 356 867 167
-10000 98 241 646 226 867 345 621 241 371
-10000 456 195 740 952 473 302 30 64 229
-10000 207 637 360 945 877 568 685 275 583
-10000 508 676 509 918 249 0 787 569 493
-10000 282 878 475 982 804 912 53 880 454
-10000 412 64 166 581 596 970 267 545 675
-10000 894 199 274 267 746 511 249 697 267
-10000 286 251 44 950 208 173 419 225 627
-10000 132 8 96 708 898 134 724 842 410
-10000 222 306 549 9 458 123 590 318 621
-10000 183 559 377 691 962 793 375 79 653
-10000 984 151 159 18 943 261 95 646 144
-10000 386 528 887 581 661 925 958 892 377
-10000 781 77 810 261 500 128 201 29 446
-10000 591 941 891 211 493 714 814 468 615
-10000 235 394 211 947 120 174 980 682 719
-10000 68 5 968 248 201 756 366 470 557
-10000 404 543 719 746 92 687 646 859 14
-10000 20 434 732 816 385 133 818 151 726
-10000 665 563 108 33 933 4 122 746 354
-10000 376 993 435 921 612 712 691 869 446
-10000 52 17 586 737 656 948 413 643 695
-10000 520 168 5 499 257 261 869 691 46
-10000 820 15 251 757 166 653 245 395 694
-10000 896 347 186 979 365 669 697 184 355
-10000 981 790 382 391 999 32 830 850 171
-10000 918 593 786 628 639 610 47 251 374
-10000 228 775 241 83 258 591 812 979 521
-10000 445 118 726 93 732 372 498 478 695
-10000 749 222 8 876 252 652 311 968 731
-10000 82 920 947 819 355 54 171 730 779
-10000 462 696 542 677 113 65 388 248 716
-10000 967 519 570 579 753 815 196 590 905
-10000 620 773 925 654 239 589 593 198 412
-10000 519 601 521 737 750 52 839 283 570
-10000 531 864 694 237 187 437 913 513 953
-10000 610 6 321 851 474 511 474 734 626
-10000 528 671 685 739 676 654 417 664 419
-10000 967 110 109 100 790 901 285 273 721
-10000 523 408 553 525 263 343 465 518 996
-10000 990 285 650 426 709 905 572 509 66
-10000 814 898 596 389 665 914 412 986 680
-10000 429 237 816 341 414 222 697 274 961
-10000 435 789 845 730 970 304 42 556 141
-10000 226 442 565 891 566 768 317 595 344
-10000 9 750 379 178 167 985 118 830 695
-10000 423 205 853 663 526 111 953 693 918
-10000 674 807 909 691 276 393 765 473 234
-10000 543 358 425 475 2 328 821 198 216
-10000 772 157 786 268 834 530 303 994 745
-10000 275 164 126 279 751 959 444 114 790
-10000 561 609 901 392 900 419 821 189 66
-10000 51 732 25 218 310 485 392 15 381
-10000 766 374 837 126 743 440 635 909 6
-10000 638 196 109 192 554 721 538 571 684
-10000 792 826 974 353 305 245 419 592 138
-10000 138 687 567 264 32 513 434 328 617
-10000 104 253 396 997 979 287 194 685 648
-10000 603 455 622 246 887 467 282 394 554
-10000 350 533 269 179 451 550 693 872 469
-10000 68 754 630 602 861 307 625 162 448
-10000 979 205 918 574 88 12 869 49 831
-10000 866 440 663 483 642 845 304 751 738
-10000 713 658 225 530 58 341 608 684 172
-10000 496 746 792 107 128 833 461 271 3
-10000 957 742 976 673 308 649 59 491 764
-10000 487 643 78 464 568 751 927 73 614
-10000 341 828 73 769 481 56 374 824 225
-10000 549 246 798 694 905 159 566 13 260
-10000 360 630 350 860 75 727 512 324 664
-10000 564 88 590 584 541 589 643 554 645
-10000 295 43 317 296 4 274 693 655 2
-10000 156 443 375 240 446 967 261 81 337
-10000 522 394 924 388 283 672 433 101 5
-10000 879 630 181 589 436 66 430 771 160
-10000 161 106 595 610 293 940 984 220 170
-10000 949 645 504 248 177 226 834 408 910
-10000 739 48 555 959 61 0 898 707 989
-10000 217 306 634 158 48 719 421 450 571
-10000 934 559 735 453 506 556 280 319 941
-10000 685 861 596 490 101 737 781 783 248
-10000 797 485 793 443 918 224 473 823 507
-10000 907 976 110 0 781 975 246 361 206
-10000 351 308 27 142 772 608 416 957 852
-10000 279 894 174 791 286 551 939 645 140
-10000 192 164 398 80 476 242 274 52 885
-10000 710 560 719 82 141 257 593 345 487
-10000 73 215 407 746 502 498 426 546 529
-10000 186 711 870 635 233 539 854 968 99
-10000 93 391 254 779 745 655 475 726 899
-10000 11 566 603 852 222 318 744 26 101
-10000 188 296 992 465 825 689 309 698 734
-10000 314 592 57 526 703 323 107 9 341
-10000 40 272 396 649 884 211 250 76 615
-10000 530 287 83 805 491 845 785 871 923
-10000 203 508 531 914 93 908 699 309 462
-10000 988 457 812 861 518 179 26 776 261
-10000 33 570 710 504 739 462 936 767 990
-10000 150 212 87 286 678 131 340 783 285
-10000 131 527 597 315 208 175 964 859 190
-10000 580 354 49 937 729 168 966 586 59
-10000 811 547 88 971 808 855 857 262 759
-10000 524 805 105 564 836 886 358 672 719
-10000 750 874 466 288 535 589 694 215 862
-10000 532 222 132 262 613 925 453 874 414
-10000 513 158 948 875 661 512 66 624 902
-10000 860 559 508 347 43 237 875 769 492
-10000 263 578 958 215 661 857 1000 821 780
-10000 322 408 828 523 798 436 122 332 445
-10000 230 22 862 72 865 667 61 150 585
-10000 410 978 603 368 495 980 234 6 924
-10000 521 501 36 392 511 800 406 624 721
-10000 753 316 319 610 910 410 196 982 133
-10000 4 642 134 963 671 708 548 57 894
-10000 770 514 387 407 18 608 503 606 123
-10000 115 578 15 975 585 775 969 292 928
-10000 808 193 294 21 751 560 544 201 694
-10000 431 881 83 513 827 359 904 698 495
-10000 461 818 181 593 814 829 957 414 403
-10000 79 168 807 537 508 992 435 414 657
-10000 206 356 222 470 358 929 814 995 262
-10000 762 453 259 183 532 207 663 818 805
-10000 668 15 30 315 549 343 70 997 453
-10000 731 425 843 836 394 345 629 907 751
-10000 529 101 710 312 138 204 67 359 943
-10000 703 359 546 148 136 387 246 806 299
-10000 399 773 535 31 295 146 896 314 879
-10000 327 603 454 254 878 789 118 415 975
-10000 658 414 46 42 982 790 110 820 45
-10000 334 260 28 36 745 544 811 695 879
-10000 942 843 209 828 271 508 626 12 619
-10000 869 385 297 144 673 885 628 130 262
-10000 28 313 137 159 115 75 774 544 571
-10000 627 802 290 182 731 620 530 59 518
-10000 459 395 581 422 355 397 312 986 848
-10000 569 699 522 371 112 135 214 314 322
-10000 312 757 556 139 868 157 202 665 644
-10000 869 256 238 943 300 393 190 666 136
-10000 474 763 746 755 26 182 246 694 589
-10000 67 70 325 328 284 280 326 3 983
-10000 271 87 886 429 575 378 263 213 406
-10000 830 185 669 836 33 700 48 566 897
-10000 593 179 354 117 526 634 562 855 98
-10000 646 567 5 822 218 35 177 946 232
-10000 470 373 518 926 64 480 101 398 888
-10000 695 828 289 364 194 693 695 635 962
-10000 326 271 195 701 304 440 338 718 844
-10000 779 109 856 114 911 898 2 357 215
-10000 159 811 23 378 831 866 577 355 857
-10000 878 480 861 183 230 570 870 3 610
-10000 462 373 690 683 139 858 87 714 915
-10000 999 62 33 555 778 842 150 889 158
-10000 281 24 527 685 23 18 17 456 29
-10000 459 773 249 882 110 100 284 722 402
-10000 942 429 742 973 925 877 985 307 510
-10000 882 54 173 270 949 631 155 31 181
-10000 595 596 514 633 893 819 853 325 356
-10000 269 247 314 585 642 72 492 530 183
-10000 332 124 428 566 912 997 694 151 377
-10000 252 835 383 753 225 854 479 518 15
-10000 117 772 997 631 43 444 324 203 950
-10000 426 971 678 695 695 494 500 790 446
-10000 209 293 189 868 385 349 866 590 185
-10000 746 361 123 440 333 430 779 377 320
-10000 65 190 206 478 459 883 317 445 187
-10000 711 619 191 522 858 760 837 762 220
-10000 207 460 787 695 936 123 541 389 711
-10000 900 545 233 189 840 226 226 221 908
-10000 396 716 816 364 23 960 170 79 218
-10000 826 670 831 150 239 739 599 876 394
-10000 979 754 929 344 711 194 535 817 0
-10000 675 987 555 195 291 280 735 951 637
-10000 946 264 111 836 121 498 491 123 164
-10000 728 205 191 648 250 280 381 443 252
-10000 202 336 566 386 576 125 729 642 134
-10000 124 226 989 901 639 90 855 998 668
-10000 476 144 341 683 358 375 65 410 611
-10000 464 158 271 960 124 427 997 337 303
-10000 431 894 858 929 181 827 101 721 515
-10000 111 749 694 943 404 561 888 396 933
-10000 82 461 775 864 117 809 251 622 218
-10000 631 455 924 315 968 499 364 593 85
-10000 57 94 902 776 222 683 289 25 588
-10000 626 501 723 21 682 939 50 817 825
-10000 959 653 841 349 930 610 13 244 170
-10000 929 910 146 9 405 406 640 283 882
-10000 357 587 38 314 943 789 124 426 89
-10000 700 164 728 593 193 574 237 522 80
-10000 859 234 481 554 846 880 656 486 841
-10000 198 873 493 6 589 96 849 316 173
-10000 653 964 89 966 42 487 772 607 654
-10000 372 250 623 145 105 126 619 909 665
-10000 893 291 388 830 383 458 815 953 341
-10000 412 704 630 129 493 518 283 721 171
-10000 767 478 999 411 831 349 606 426 19
-10000 110 569 179 780 803 593 744 421 159
-10000 636 278 627 92 238 127 77 382 766
-10000 500 68 563 481 737 786 165 641 680
-10000 0 516 648 383 568 981 926 861 142
-10000 43 593 813 994 665 400 786 671 677
-10000 289 614 927 584 739 19 412 968 484
-10000 85 536 605 521 600 198 551 366 62
-10000 165 580 626 254 577 30 957 873 50
-10000 412 264 349 909 894 81 771 308 446
-10000 269 675 164 767 585 467 957 909 866
-10000 341 286 108 134 972 363 808 807 684
-10000 139 27 142 690 615 504 905 170 845
-10000 237 794 177 943 9 566 783 338 995
-10000 804 278 712 663 47 608 193 1 319
-10000 922 524 940 286 943 313 310 721 356
-10000 546 253 232 292 490 39 607 174 440
-10000 38 187 902 685 947 52 458 880 0
-10000 170 944 496 636 47 433 316 291 594
-10000 86 763 240 668 164 306 43 5 694
-10000 198 75 9 521 941 417 20 976 906
-10000 841 242 665 384 436 17 840 200 983
-10000 560 643 446 998 2 39 434 716 609
-10000 210 578 479 167 186 280 256 192 660
-10000 975 805 67 676 971 795 903 46 402
-10000 399 270 166 163 608 286 998 292 419
-10000 822 330 228 57 723 946 825 956 119
-10000 103 326 720 616 82 992 571 838 569
-10000 911 208 0 323 926 555 877 60 790
-10000 855 432 252 704 332 166 150 723 157
-10000 665 127 102 998 215 922 264 558 814
-10000 240 999 941 384 508 596 976 2 760
-10000 653 156 382 237 25 286 929 348 692
-10000 775 968 343 657 540 309 625 0 278
-10000 911 24 234 118 777 121 310 603 8
-10000 206 375 641 706 71 435 511 52 866
-10000 57 854 244 23 398 659 812 604 893
-10000 838 869 699 428 0 970 174 623 153
-10000 271 120 368 601 517 942 589 263 323
-10000 885 146 977 613 420 505 770 786 445
-10000 672 444 252 398 260 984 501 442 598
-10000 70 616 946 715 839 444 515 568 268
-10000 321 210 168 472 268 421 204 570 191
-10000 480 96 635 456 880 510 231 217 520
-10000 531 368 452 8 77 594 414 778 197
-10000 420 429 919 416 412 599 532 681 95
-10000 402 197 88 492 615 226 674 240 803
-10000 974 40 618 36 285 599 28 568 332
-10000 216 306 713 219 774 124 443 483 386
-10000 640 652 625 31 955 266 464 123 947
-10000 791 354 600 698 212 699 605 879 954
-10000 33 896 314 465 101 926 480 174 601
-10000 229 494 671 32 398 18 895 274 124
-10000 367 580 185 626 30 39 687 577 733
-10000 13 622 400 700 323 489 208 763 495
-10000 738 957 169 562 689 104 124 55 547
-10000 318 482 511 619 602 384 267 16 575
-10000 348 352 924 806 827 725 785 721 323
-10000 211 352 767 280 94 110 171 383 451
-10000 443 544 406 771 692 206 210 471 586
-10000 429 480 107 887 573 602 911 427 330
-10000 713 737 576 784 875 688 221 251 263
-10000 270 732 485 648 910 460 820 736 735
-10000 13 477 892 419 263 863 857 304 0
-10000 300 552 311 971 781 164 690 648 928
-10000 777 671 28 29 849 360 59 318 472
-10000 835 31 399 446 314 92 187 129 153
-10000 958 919 125 688 29 910 953 268 282
-10000 300 299 501 688 798 384 771 978 486
-10000 584 863 414 53 795 783 829 502 86
-10000 467 59 155 62 16 485 446 436 82
-10000 305 257 445 520 202 308 824 247 691
-10000 910 704 377 534 241 811 384 951 967
-10000 286 599 356 706 409 212 203 66 807
-10000 406 297 473 285 319 651 314 24 978
-10000 561 840 140 858 431 366 710 9 483
-10000 969 938 709 477 314 64 427 576 696
-10000 954 376 404 15 393 481 828 274 628
-10000 995 240 775 571 317 743 922 730 77
-10000 920 598 856 57 253 997 8 435 669
-10000 833 544 467 912 182 663 805 445 36
-10000 841 143 545 518 238 871 740 527 763
-10000 847 492 34 588 358 30 867 364 732
-10000 797 501 804 156 524 207 330 258 269
-10000 721 754 388 889 854 290 680 929 417
-10000 465 892 765 814 300 359 606 949 402
-10000 21 301 605 371 127 915 659 122 62
-10000 480 140 55 103 993 725 80 873 960
-10000 67 625 516 98 204 272 321 959 199
-10000 451 545 970 880 400 763 412 722 383
-10000 839 304 23 824 305 862 43 192 940
-10000 831 998 499 364 451 344 21 199 905
-10000 67 316 201 368 222 875 311 86 356
-10000 185 56 673 967 237 560 134 320 908
-10000 700 259 107 830 991 544 92 977 698
-10000 299 297 229 969 198 989 51 760 909
-10000 57 734 221 771 824 452 972 81 607
-10000 619 257 875 10 807 992 459 732 620
-10000 269 747 957 191 484 352 965 590 903
-10000 966 614 323 454 4 637 104 334 899
-10000 877 453 188 532 603 847 148 495 602
-10000 119 911 707 895 150 462 650 578 690
-10000 847 791 77 461 50 874 955 110 263
-10000 203 541 807 420 294 31 197 399 413
-10000 206 252 415 265 536 805 596 288 15
-10000 851 997 819 128 662 146 607 605 229
-10000 603 827 512 766 350 983 592 273 215
-10000 465 875 459 810 308 803 146 363 521
-10000 198 541 972 766 69 430 578 903 999
-10000 273 485 361 829 344 349 550 141 404
-10000 530 520 229 526 947 515 887 228 243
-10000 666 622 286 661 173 134 643 414 268
-10000 11 994 198 726 640 701 971 846 158
-10000 411 889 498 906 214 69 655 406 596
-10000 396 763 903 238 76 7 625 883 589
-10000 236 71 522 275 403 85 786 261 865
-10000 708 103 199 894 411 190 680 649 660
-10000 168 471 419 240 616 628 456 162 91
-10000 131 618 188 391 806 188 644 687 461
-10000 632 618 750 308 403 213 806 870 88
-10000 747 323 384 986 681 329 322 721 21
-10000 386 519 429 519 963 667 538 745 34
-10000 431 655 700 825 616 984 634 342 153
-10000 725 242 171 754 310 473 175 780 360
-10000 459 409 919 325 576 465 290 954 794
-10000 595 438 157 679 8 497 37 911 861
-10000 99 781 625 676 828 108 300 616 761
-10000 891 152 235 683 146 799 840 419 964
-10000 738 306 393 953 966 153 320 631 455
-10000 959 221 605 248 408 675 771 444 446
-10000 850 773 277 244 145 748 814 697 113
-10000 978 531 244 115 474 438 45 141 839
-10000 89 832 541 247 114 963 826 515 765
-10000 746 193 480 441 325 236 765 585 642
-10000 845 829 840 754 968 176 550 136 903
-10000 661 754 561 407 508 634 78 354 380
-10000 664 757 245 660 244 723 972 571 759
-10000 400 676 35 74 499 471 271 210 930
-10000 216 845 635 628 199 707 427 853 431
-10000 848 715 341 247 968 465 599 303 737
-10000 502 758 454 700 313 670 417 560 919
-10000 660 690 601 550 502 805 424 221 152
-10000 422 685 65 138 140 126 913 959 316
-10000 202 693 459 384 527 34 479 132 878
-10000 143 456 74 935 225 510 445 864 435
-10000 896 889 475 39 73 221 424 541 57
-10000 342 656 152 878 494 435 629 795 269
-10000 987 874 818 581 174 29 574 342 469
-10000 761 566 226 316 949 832 43 752 25
-10000 427 386 248 353 503 200 561 220 818
-10000 355 354 672 985 975 266 557 813 234
-10000 782 794 400 467 620 726 136 117 660
-10000 106 202 953 616 780 199 373 997 323
-10000 748 99 963 83 684 930 666 323 248
-10000 490 718 32 575 61 344 600 256 506
-10000 739 750 299 452 303 887 998 815 323
-10000 844 916 431 231 181 310 285 718 724
-10000 490 83 489 121 383 678 543 468 357
-10000 841 832 299 926 636 934 54 835 136
-10000 736 891 656 606 857 273 727 106 180
-10000 690 338 953 605 934 737 127 433 662
-10000 989 141 788 856 111 656 477 503 520
-10000 366 557 196 30 622 662 681 7 869
-10000 276 204 505 389 522 431 771 116 762
-10000 86 35 19 751 859 422 839 551 725
-10000 300 46 792 408 422 37 74 173 537
-10000 121 462 922 743 891 307 823 758 192
-10000 224 187 433 349 882 920 571 70 896
-10000 539 110 282 321 692 858 262 379 365
-10000 726 730 554 481 668 566 277 374 766
-10000 325 242 275 50 479 960 745 764 926
-10000 280 28 621 331 91 224 971 390 388
-10000 626 322 525 259 170 298 889 195 805
-10000 239 150 160 648 568 985 20 847 995
-10000 549 157 742 654 310 935 259 750 777
-10000 364 236 698 610 880 945 529 301 399
-10000 774 268 179 204 934 446 507 523 634
-10000 445 680 622 610 161 149 727 557 365
-10000 433 887 506 128 202 202 402 545 433
-10000 217 90 814 678 428 664 816 434 319
-10000 605 390 507 270 570 553 3 638 771
-10000 275 240 578 64 642 37 780 660 301
-10000 931 66 183 221 334 330 566 392 532
-10000 434 537 309 716 949 644 373 771 174
-10000 981 42 523 170 404 133 732 253 160
-10000 214 266 624 87 889 508 454 216 770
-10000 52 342 413 211 212 347 134 584 947
-10000 21 766 55 197 1000 653 278 442 629
-10000 545 528 304 263 50 502 198 675 692
-10000 574 420 592 30 640 507 799 974 477
-10000 760 483 786 402 94 335 192 969 573
-10000 247 134 82 388 853 237 612 491 729
-10000 727 53 800 42 229 516 320 89 333
-10000 366 822 527 481 840 716 525 421 947
-10000 835 702 84 440 463 251 357 305 335
-10000 228 704 496 386 316 127 669 150 792
-10000 480 891 168 663 517 761 378 271 626
-10000 84 341 855 666 699 404 15 387 744
-10000 421 586 648 766 168 716 899 134 479
-10000 285 979 994 650 918 777 934 41 418
-10000 314 671 95 7 49 657 232 448 539
-10000 464 406 76 750 451 346 861 743 60
-10000 544 136 783 438 647 412 625 924 225
-10000 799 19 668 616 136 726 9 959 268
-10000 852 885 88 960 611 675 853 301 160
-10000 292 491 541 126 469 180 684 957 969
-10000 395 276 181 163 93 452 341 134 260
-10000 522 142 862 114 93 958 721 858 270
-10000 364 922 991 427 153 781 971 693 57
-10000 294 644 0 223 740 903 468 234 130
-10000 882 635 602 839 257 114 3 494 896
-10000 944 369 549 254 671 839 929 76 807
-10000 120 599 234 715 534 467 399 934 998
-10000 282 482 579 512 868 875 436 483 249
-10000 250 156 935 326 811 26 374 472 969
-10000 558 872 625 35 779 504 733 591 668
-10000 739 469 933 675 922 776 191 184 195
-10000 1000 845 454 200 747 585 25 338 260
-10000 310 461 78 645 103 170 204 749 198
-10000 496 71 697 192 814 375 343 574 958
-10000 41 784 400 824 421 597 467 824 469
-10000 14 650 545 678 593 163 107 253 836
-10000 157 270 656 464 728 403 15 889 974
-10000 373 732 642 73 193 671 0 87 243
-10000 817 902 751 425 199 340 910 737 659
-10000 284 531 391 237 742 100 16 246 915
-10000 45 965 86 279 993 208 169 767 906
-10000 426 945 143 133 870 574 354 980 588
-10000 108 378 448 591 235 49 861 570 528
-10000 936 413 107 549 949 339 870 877 786
-10000 94 179 879 625 614 936 58 891 645
-10000 80 419 277 177 273 390 270 845 561
-10000 937 331 99 12 953 32 633 668 759
-10000 96 417 460 818 215 882 102 808 743
-10000 642 728 281 660 386 820 373 333 11
-10000 284 46 697 953 785 841 238 188 635
-10000 235 489 513 400 450 934 634 144 263
-10000 564 181 160 764 907 839 675 574 577
-10000 839 464 223 984 282 727 37 561 247
-10000 201 527 965 971 114 631 66 203 393
-10000 460 753 902 30 189 560 495 468 854
-10000 523 627 66 880 464 304 947 508 500
-10000 436 926 853 321 321 60 957 777 246
-10000 335 512 456 605 112 798 414 893 788
-10000 342 131 375 454 254 842 844 730 33
-10000 553 334 887 989 861 292 79 227 763
-10000 481 942 363 679 485 537 840 945 623
-10000 968 357 960 872 35 998 516 113 402
-10000 906 262 173 930 235 997 319 257 794
-10000 853 505 197 246 583 117 419 758 775
-10000 920 614 730 393 615 598 693 19 520
-10000 311 603 706 104 5 812 363 348 525
-10000 728 685 975 541 686 377 303 79 291
-10000 515 129 653 729 902 742 617 288 203
-10000 250 884 946 625 596 763 361 240 706
-10000 526 376 235 312 92 89 172 875 894
-10000 153 416 86 687 726 142 823 667 674
-10000 400 73 484 773 431 281 589 181 529
-10000 634 328 573 748 69 690 909 866 127
-10000 307 306 838 432 731 663 286 805 965
-10000 584 944 93 846 4 824 787 115 956
-10000 155 753 763 618 429 0 383 686 412
-10000 576 66 558 658 886 726 428 186 346
-10000 1 956 545 25 141 648 459 664 783
-10000 508 759 173 714 882 122 299 845 729
-10000 569 10 788 86 243 707 929 906 445
-10000 233 753 740 740 464 544 689 529 740
-10000 82 933 387 586 183 905 95 795 901
-10000 749 786 703 787 587 124 712 598 617
-10000 25 536 139 564 427 942 719 257 167
-10000 293 59 481 515 133 271 763 633 63
-10000 82 280 175 25 424 677 423 966 515
-10000 452 563 771 836 811 365 895 337 15
-10000 56 10 501 805 215 403 758 539 156
-10000 309 629 897 114 760 846 701 63 610
-10000 336 476 574 799 569 391 929 351 34
-10000 531 10 813 376 990 170 415 653 290
-10000 967 245 982 561 837 25 33 204 788
-10000 15 443 681 885 903 818 666 547 419
-10000 632 17 151 586 179 661 559 719 342
-10000 851 47 702 651 93 511 599 165 928
-10000 297 72 824 895 567 908 758 79 284
-10000 763 424 604 367 162 808 257 891 15
-10000 80 141 649 827 609 876 283 677 321
-10000 773 388 819 437 702 89 144 512 549
-10000 624 441 375 145 690 40 630 834 815
-10000 649 549 846 934 914 194 531 204 363
-10000 654 535 990 839 609 783 943 367 385
-10000 395 356 552 988 846 772 761 326 639
-10000 216 337 64 200 366 194 654 274 359
-10000 461 550 760 271 708 78 521 779 393
-10000 83 13 505 309 603 131 389 743 891
-10000 745 258 875 654 41 774 192 421 969
-10000 271 386 188 517 243 391 147 465 146
-10000 836 607 236 286 487 310 598 646 465
-10000 285 880 141 372 870 354 294 457 697
-10000 976 847 422 715 472 529 221 869 618
-10000 673 589 917 493 592 892 39 218 716
-10000 778 793 973 237 874 340 187 202 782
-10000 765 417 954 987 634 98 794 648 13
-10000 138 509 336 99 217 381 792 238 260
-10000 112 644 205 686 803 245 315 410 242
-10000 708 485 32 384 129 514 86 418 499
-10000 0 518 508 591 278 724 874 546 228
-10000 957 379 921 961 942 242 448 14 310
-10000 665 641 140 379 720 713 581 572 246
-10000 559 770 456 531 855 49 379 489 957
-10000 497 444 716 59 631 863 735 146 93
-10000 31 795 514 976 463 411 798 103 95
-10000 247 128 499 522 786 345 467 952 496
-10000 91 979 15 633 835 741 711 481 507
-10000 365 412 813 934 755 495 543 943 750
-10000 479 295 510 639 399 499 908 66 653
-10000 82 837 458 660 23 293 390 682 915
-10000 877 360 92 394 626 203 400 250 563
-10000 572 933 318 717 193 15 584 7 872
-10000 500 276 950 450 171 135 893 346 168
-10000 354 632 255 974 927 845 604 561 750
-10000 570 647 392 213 980 323 362 807 3
-10000 860 211 115 923 266 266 210 925 817
-10000 665 326 809 952 370 542 961 6 279
-10000 80 507 856 478 160 240 849 728 129
-10000 472 232 947 120 386 531 488 289 560
-10000 192 136 536 566 654 872 432 995 490
-10000 513 458 717 16 957 816 959 846 401
-10000 204 804 668 807 649 979 599 949 47
-10000 308 625 548 538 76 138 3 48 348
-10000 633 18 637 311 270 468 654 647 762
-10000 822 953 34 464 895 9 615 475 440
-10000 735 400 549 439 854 661 51 11 258
-10000 509 894 949 176 72 570 639 890 974
-10000 987 323 75 780 974 758 391 392 76
-10000 686 929 627 473 931 63 663 939 626
-10000 105 200 550 443 890 732 570 281 769
-10000 806 79 872 992 527 587 423 210 570
-10000 636 440 131 204 849 484 966 191 590
-10000 674 2 590 226 41 773 660 59 731
-10000 273 900 666 829 168 902 941 768 71
-10000 88 528 169 419 42 96 431 724 101
-10000 452 373 850 146 114 753 108 56 666
-10000 104 888 672 831 624 367 69 708 170
-10000 965 432 920 629 924 987 84 161 143
-10000 721 569 269 839 517 953 988 794 811
-10000 136 255 401 586 222 727 995 856 661
-10000 89 250 125 300 520 295 38 964 942
-10000 41 623 70 211 122 76 129 169 256
-10000 763 426 122 75 40 33 469 593 957
-10000 780 758 41 668 864 144 281 323 857
-10000 769 506 468 292 642 142 295 652 540
-10000 564 904 133 104 116 643 532 296 934
-10000 4 403 466 823 389 620 847 538 530
-10000 401 253 740 989 814 830 171 681 584
-10000 1 705 912 48 336 922 504 845 94
-10000 185 471 807 99 582 45 966 209 719
-10000 147 823 349 30 499 740 756 955 330
-10000 226 900 166 539 277 550 720 987 112
-10000 36 834 700 160 967 330 812 593 623
-10000 172 722 879 512 749 146 19 406 329
-10000 654 790 663 215 467 434 616 399 187
-10000 281 593 757 711 691 103 332 882 281
-10000 613 970 115 565 785 857 160 935 54
-10000 856 847 923 552 776 775 355 848 931
-10000 196 637 172 116 363 989 278 282 616
-10000 9 319 968 55 504 63 791 588 347
-10000 447 469 14 268 852 996 650 656 62
-10000 440 294 830 304 79 848 363 203 320
-10000 846 265 457 654 118 919 652 77 66
-10000 204 162 750 558 81 515 20 994 192
-10000 220 460 792 60 344 2 809 186 735
-10000 271 633 223 844 597 864 897 681 469
-10000 336 619 759 401 605 256 70 593 324
-10000 61 65 169 283 920 305 622 395 679
-10000 785 157 634 436 886 306 534 247 843
-10000 223 69 259 865 550 530 54 991 902
-10000 451 532 499 882 30 945 44 687 99
-10000 760 726 600 679 817 738 524 303 576
-10000 587 383 159 745 49 460 940 324 540
-10000 233 792 786 373 498 214 324 921 745
-10000 768 90 14 858 667 321 967 497 765
-10000 782 243 230 347 809 711 165 0 111
-10000 593 770 320 211 506 512 945 964 590
-10000 957 994 553 965 538 149 872 330 827
-10000 98 508 794 966 512 19 441 424 0
-10000 71 974 144 306 775 679 415 686 786
-10000 528 406 832 593 936 605 247 442 190
-10000 188 724 641 642 315 391 952 612 923
-10000 813 614 648 582 525 552 806 177 251
-10000 552 373 167 720 641 749 641 920 191
-10000 999 521 749 777 372 162 252 641 849
-10000 96 941 104 122 801 362 465 953 50
-10000 307 616 906 275 317 266 871 477 329
-10000 622 120 381 975 634 839 207 965 23
-10000 832 565 544 395 313 828 693 292 785
-10000 362 176 49 543 260 77 186 683 746
-10000 835 68 923 81 203 267 876 917 926
-10000 179 299 690 129 753 351 741 260 619
-10000 704 400 642 930 951 847 303 192 73
-10000 87 931 927 273 609 885 730 425 864
-10000 932 691 712 772 541 331 878 933 314
-10000 696 265 532 809 458 910 657 890 92
-10000 296 863 74 355 1000 203 399 574 625
-10000 965 532 494 650 196 577 283 162 431
-10000 134 532 863 706 598 644 976 76 59
-10000 960 859 643 920 172 680 312 702 834
-10000 953 698 212 680 817 722 650 968 214
-10000 903 799 618 296 571 401 391 131 717
-10000 675 579 297 677 611 363 895 588 988
-10000 204 538 486 503 308 684 348 356 221
-10000 31 319 759 689 355 328 714 532 39
-10000 562 788 884 505 10 890 407 540 41
-10000 774 47 386 723 159 625 550 457 401
-10000 572 790 832 338 133 938 562 22 697
-10000 141 915 678 610 621 491 898 41 709
-10000 700 103 664 755 696 924 926 108 664
-10000 223 878 876 310 492 302 828 646 318
-10000 438 220 385 991 208 103 757 73 127
-10000 903 880 695 364 205 680 272 626 757
-10000 902 844 307 289 748 523 909 984 930
-10000 949 673 678 510 478 660 274 205 406
-10000 142 91 84 445 448 205 190 530 386
-10000 476 191 634 712 700 383 697 884 758
-10000 194 486 713 43 598 629 217 167 735
-10000 548 463 756 210 130 239 48 907 966
-10000 892 893 235 971 137 168 383 854 292
-10000 425 632 425 248 735 906 583 199 490
-10000 45 792 167 39 54 19 316 8 252
-10000 122 460 13 631 276 542 356 484 203
-10000 687 932 386 91 641 111 454 589 149
-10000 893 837 949 127 352 131 567 195 627
-10000 793 198 878 819 870 980 240 350 592
-10000 942 469 475 972 206 563 289 915 103
-10000 636 484 802 649 925 225 506 281 573
-10000 518 928 761 777 932 421 400 937 549
-10000 743 824 314 628 383 245 470 147 414
-10000 922 983 584 265 303 839 360 309 968
-10000 316 555 774 589 153 501 991 219 367
-10000 333 687 445 56 521 882 30 960 232
-10000 727 533 11 907 286 871 573 431 70
-10000 940 647 411 914 649 390 86 8 554
-10000 975 251 433 885 932 256 768 550 788
-10000 567 529 606 313 30 770 929 364 186
-10000 86 972 179 121 675 59 107 96 201
-10000 127 385 629 808 469 348 102 361 434
-10000 919 714 328 618 407 273 261 837 758
-10000 118 943 487 736 379 171 747 110 823
-10000 187 971 80 211 559 990 151 302 525
-10000 835 512 748 60 79 784 463 849 851
-10000 294 306 744 621 638 238 786 513 779
-10000 629 969 91 677 337 841 125 998 209
-10000 53 635 529 309 874 222 474 837 464
-10000 190 983 810 85 217 220 643 441 271
-10000 364 505 999 516 557 431 757 89 511
-10000 152 290 590 347 941 528 956 990 565
-10000 77 849 917 765 398 795 713 475 131
-10000 572 775 919 668 875 732 585 157 443
-10000 792 976 199 793 13 671 428 352 546
-10000 185 528 948 883 601 157 666 10 494
-10000 852 250 288 753 441 445 600 852 463
-10000 54 167 104 789 659 103 800 521 285
-10000 258 39 807 257 386 60 989 599 351
-10000 605 48 458 377 336 519 611 467 226
-10000 527 102 184 945 98 734 620 537 472
-10000 670 939 980 344 752 126 992 246 450
-10000 395 89 108 926 272 865 186 415 381
-10000 586 766 709 598 910 237 626 834 810
-10000 221 509 675 313 658 537 672 726 100
-10000 601 150 180 618 157 265 664 342 173
-10000 456 111 220 741 989 238 694 487 671
-10000 807 218 835 835 257 279 134 540 689
-10000 956 721 921 763 602 984 685 582 909
-10000 257 137 743 197 70 672 943 686 103
-10000 659 580 518 114 147 372 309 265 1
-10000 253 257 848 263 824 500 687 204 953
-10000 640 478 953 511 280 526 858 504 505
-10000 330 107 599 23 631 49 591 704 658
-10000 435 726 286 770 354 631 279 355 355
-10000 2 391 539 992 638 800 930 860 12
-10000 277 106 191 606 251 907 542 47 335
-10000 995 637 672 885 108 864 29 904 882
-10000 898 770 657 312 503 134 7 209 374
-10000 365 813 147 0 988 556 198 694 738
-10000 456 366 565 505 151 115 750 219 476
-10000 709 610 879 734 66 926 167 442 620
-10000 810 768 836 960 671 163 645 644 225
-10000 795 799 77 529 240 978 135 472 330
-10000 583 745 154 1 614 172 853 145 454
-10000 588 291 874 140 744 348 70 234 644
-10000 559 732 999 309 610 460 136 108 708
-10000 369 456 216 211 166 876 622 997 346
-10000 262 955 650 310 96 114 499 13 927
-10000 400 462 319 114 34 778 131 719 543
-10000 84 362 786 717 600 379 247 160 172
-10000 587 79 539 278 718 524 450 35 220
-10000 726 112 193 429 997 975 58 8 77
-10000 685 522 374 516 279 69 554 376 144
-10000 118 817 776 331 828 766 19 73 729
-10000 116 404 2 485 548 698 45 289 555
-10000 480 815 412 86 747 346 258 213 637
-10000 540 751 64 767 752 884 29 930 957
-10000 549 711 796 599 268 206 614 128 291
-10000 789 160 38 128 749 182 575 109 841
-10000 313 275 290 848 818 320 825 741 22
-10000 866 678 730 908 957 700 702 512 715
-10000 452 703 424 328 500 32 654 37 744
-10000 615 975 786 410 567 318 627 210 704
-10000 662 978 328 569 842 937 697 832 769
-10000 109 63 378 197 525 442 208 63 641
-10000 580 142 879 461 544 459 406 716 944
-10000 498 953 470 625 790 158 658 895 824
-10000 983 629 301 294 742 699 555 325 865
-10000 468 323 613 296 639 548 674 837 88
-10000 351 233 716 644 637 546 702 141 83
-10000 925 946 453 960 38 139 728 316 758
-10000 457 842 519 835 504 603 683 24 690
-10000 139 538 255 345 575 623 329 301 619
-10000 226 20 987 577 648 985 624 84 963
-10000 396 853 641 329 661 958 46 380 197
-10000 703 665 639 934 884 610 764 984 381
-10000 792 456 946 895 706 467 11 226 915
-10000 275 227 513 233 429 185 386 855 927
-10000 769 464 801 993 292 818 977 893 680
-10000 914 843 955 423 684 252 869 140 656
-10000 83 390 627 632 861 546 121 614 432
-10000 892 723 383 786 429 22 979 298 716
-10000 120 270 786 727 467 125 254 322 41
-10000 980 853 96 967 491 303 972 13 685
-10000 400 177 272 888 426 595 701 527 202
-10000 176 246 973 22 72 951 243 503 53
-10000 810 644 119 711 616 694 783 863 397
-10000 754 742 207 173 150 341 754 390 325
-10000 642 273 875 870 833 428 897 432 442
-10000 610 310 158 232 118 184 788 302 310
-10000 469 226 249 206 945 84 501 294 861
-10000 59 645 982 228 149 997 77 600 739
-10000 467 670 584 960 543 501 687 844 2
-10000 633 334 919 507 450 83 257 938 360
-10000 712 306 948 89 389 630 161 4 102
-10000 986 605 276 584 839 784 748 994 583
-10000 967 877 203 931 186 84 302 244 106
-10000 347 364 672 275 701 981 968 831 584
-10000 774 93 762 348 72 804 679 285 337
-10000 161 359 870 858 225 235 493 581 38
-10000 317 106 833 344 195 927 388 448 64
-10000 913 235 667 40 98 834 303 824 922
-10000 656 817 134 714 837 750 105 1 459
-10000 869 950 960 101 80 621 65 229 985
-10000 963 524 775 345 66 4 765 576 661
-10000 206 417 687 705 501 561 618 147 382
-10000 104 433 741 213 968 849 105 537 226
-10000 894 635 118 276 620 420 37 188 817
-10000 82 319 304 804 574 383 618 138 447
-10000 797 134 158 123 819 580 281 620 816
-10000 331 64 425 830 614 967 410 660 735
-10000 287 627 750 719 880 238 170 104 819
-10000 874 533 532 210 440 163 695 898 634
-10000 871 480 433 244 556 552 395 192 930
-10000 642 975 186 322 18 838 658 665 729
-10000 104 102 621 25 593 166 239 956 177
-10000 765 398 132 395 985 60 1 838 724
-10000 785 804 403 382 572 47 560 105 257
-10000 592 512 763 632 37 652 187 578 484
-10000 813 517 897 955 285 345 838 191 2
-10000 345 123 23 930 682 859 789 675 600
-10000 118 712 812 245 129 487 717 632 274
-10000 263 355 124 182 568 253 836 185 315
-10000 538 743 940 888 587 593 231 697 158
-10000 609 360 433 42 220 186 136 263 426
-10000 706 343 995 477 923 907 491 501 732
-10000 378 32 254 792 813 615 548 125 204
-10000 360 340 231 761 286 715 669 58 73
-10000 248 15 776 50 876 690 685 205 694
-10000 124 708 839 189 84 334 754 838 802
-10000 844 887 360 99 808 518 585 876 479
-10000 207 725 130 723 290 921 194 486 246
-10000 688 677 677 542 457 625 629 764 558
-10000 685 88 101 462 792 823 472 926 368
-10000 682 960 472 197 264 701 878 41 257
-10000 419 875 300 954 494 641 845 417 465
-10000 814 170 117 314 710 918 956 359 293
-10000 807 408 708 525 779 785 86 414 989
-10000 532 676 612 944 222 496 503 301 632
-10000 838 455 115 519 80 451 110 565 820
-10000 656 705 274 444 697 785 396 750 588
-10000 896 209 434 383 972 293 390 827 834
-10000 539 305 659 171 922 389 448 653 454
-10000 639 555 47 289 967 297 950 862 499
-10000 695 937 3 254 921 992 241 797 675
-10000 57 838 996 27 818 303 245 868 226
-10000 52 533 335 890 342 20 521 866 95
-10000 691 867 578 229 920 546 587 703 212
-10000 812 142 258 510 521 669 180 221 34
-10000 553 69 236 567 188 78 517 508 778
-10000 544 810 481 140 272 463 693 304 809
-10000 272 141 471 966 342 97 415 778 971
-10000 172 791 459 104 45 600 765 948 555
-10000 399 253 414 707 427 274 438 657 575
-10000 361 880 857 706 878 492 37 719 997
-10000 389 637 335 893 346 154 991 33 608
-10000 303 841 489 381 915 783 373 127 910
-10000 259 134 109 839 307 38 191 108 895
-10000 674 779 924 543 586 298 580 576 291
-10000 309 389 544 769 354 532 654 631 831
-10000 837 174 332 468 628 507 394 680 436
-10000 596 884 255 787 419 433 781 339 587
-10000 877 799 56 591 233 858 814 426 330
-10000 288 237 543 90 441 934 581 486 794
-10000 571 951 26 248 329 423 388 965 91
-10000 616 951 146 333 395 803 643 962 748
-10000 41 824 902 880 978 151 126 883 32
-10000 230 505 800 123 203 909 813 946 320
-10000 864 615 809 678 209 364 848 518 909
-10000 620 528 595 684 184 83 263 931 60
-10000 827 562 24 676 881 661 275 877 93
-10000 992 842 68 687 58 706 193 383 914
-10000 411 592 25 689 578 276 556 685 529
-10000 738 744 136 571 855 439 817 123 284
-10000 959 79 226 240 541 378 771 833 77
-10000 450 29 776 691 1 189 287 594 865
-10000 697 873 165 943 915 166 66 622 856
-10000 333 774 595 916 135 76 742 194 554
-10000 479 990 601 790 873 498 478 572 800
-10000 174 925 4 427 482 198 895 969 292
-10000 490 523 418 168 208 468 497 746 996
-10000 77 779 486 579 868 982 817 422 827
-10000 902 874 287 593 935 864 959 446 138
-10000 212 842 767 897 357 421 165 394 66
-10000 181 300 594 707 205 231 348 766 277
-10000 932 46 779 841 292 790 143 310 449
-10000 178 48 413 510 978 759 410 676 542
-10000 957 621 494 536 107 642 214 767 879
-10000 478 48 499 426 16 782 946 18 222
-10000 178 887 566 108 910 170 659 295 39
-10000 123 325 567 524 612 550 515 514 109
-10000 582 351 959 432 367 883 671 89 290
-10000 388 131 264 10 323 249 933 7 282
-10000 840 899 785 735 965 345 529 92 465
-10000 577 522 868 761 51 295 887 161 436
-10000 417 324 722 697 647 989 801 252 761
-10000 493 618 918 286 801 947 193 386 103
-10000 809 825 393 233 503 980 786 911 921
-10000 167 633 704 766 168 725 708 507 510
-10000 340 335 562 640 822 205 917 17 655
-10000 748 770 529 16 43 882 923 836 674
-10000 83 847 429 983 886 969 298 278 412
-10000 291 537 213 792 314 188 303 932 826
-10000 37 285 190 340 121 342 794 67 848
-10000 163 185 883 495 495 617 604 103 617
-10000 95 565 74 400 661 286 820 313 245
-10000 763 54 387 795 643 381 904 935 238
-10000 47 608 947 15 267 449 109 948 929
-10000 113 697 677 990 570 288 870 600 703
-10000 734 182 911 224 727 278 633 197 325
-10000 823 614 197 467 961 249 389 276 345
-10000 526 591 783 933 517 796 197 311 765
-10000 213 188 916 771 303 661 676 705 862
-10000 658 202 321 646 711 159 6 785 842
-10000 746 195 39 262 103 435 489 182 466
-10000 868 619 775 354 211 675 303 821 282
-10000 966 522 376 275 908 868 288 800 201
-10000 111 119 564 716 160 884 489 441 598
-10000 905 265 367 554 436 547 412 302 53
-10000 190 453 516 956 706 100 226 279 607
-10000 145 695 55 21 142 830 867 293 979
-10000 361 314 512 887 429 839 110 132 583
-10000 406 607 21 761 949 705 766 252 941
-10000 11 742 445 420 495 259 533 38 423
-10000 475 891 809 970 687 475 958 922 956
-10000 850 463 303 927 755 674 944 390 116
-10000 113 594 514 631 500 697 622 151 568
-10000 833 187 746 814 31 645 847 230 382
-10000 755 214 541 14 777 976 656 900 116
-10000 831 559 588 968 103 953 716 287 521
-10000 98 456 4 635 874 270 394 361 880
-10000 561 634 465 616 808 777 568 991 38
-10000 947 392 804 65 917 782 436 179 672
-10000 409 589 136 448 586 177 806 503 12
-10000 383 272 639 137 669 459 933 670 508
-10000 813 121 539 504 753 363 432 197 145
-10000 883 154 325 665 642 340 130 320 734
-10000 515 584 354 119 738 949 122 664 711
-10000 518 123 556 128 863 0 527 539 486
-10000 842 383 107 200 821 837 116 414 239
-10000 94 991 662 264 880 183 647 112 898
-10000 450 732 848 734 203 709 131 747 488
-10000 210 211 183 282 350 479 889 936 700
-10000 491 645 569 905 106 94 756 825 132
-10000 240 251 519 944 908 605 977 166 804
-10000 510 75 756 79 735 169 479 688 415
-10000 312 111 131 815 393 533 873 227 249
-10000 8 9 712 648 250 682 508 63 765
-10000 583 481 218 813 434 88 799 494 297
-10000 37 894 273 627 2 490 47 363 949
-10000 956 398 996 642 357 124 657 69 478
-10000 124 356 417 63 822 801 886 728 584
-10000 543 97 906 928 993 108 995 534 948
-10000 693 977 941 690 171 735 847 465 25
-10000 737 785 589 53 499 323 280 329 841
-10000 37 231 128 247 372 619 589 547 665
-10000 63 921 667 101 289 898 972 381 95
-10000 704 203 984 720 359 868 195 990 66
-10000 810 16 703 830 591 154 541 621 271
-10000 858 183 229 106 945 236 176 401 428
-10000 573 811 623 327 937 135 613 150 569
-10000 165 466 322 735 481 928 22 451 719
-10000 648 588 394 421 595 101 41 737 247
-10000 931 825 303 319 775 94 785 67 195
-10000 786 155 313 95 688 292 250 642 760
-10000 344 825 417 572 143 912 174 877 676
-10000 95 904 536 785 936 699 735 760 45
-10000 238 221 708 668 830 927 926 888 866
-10000 694 323 368 846 677 896 571 424 536
-10000 388 628 856 61 898 695 674 669 139
-10000 16 954 922 309 991 684 476 381 144
-10000 540 603 651 337 564 196 234 330 500
-10000 183 180 470 171 611 523 97 315 896
-10000 518 626 85 379 402 394 295 487 145
-10000 853 671 82 370 11 857 837 733 367
-10000 40 401 555 967 106 386 605 377 433
-10000 985 670 222 468 349 193 433 734 147
-10000 624 979 649 417 40 414 91 378 914
-10000 682 113 40 142 573 429 304 450 481
-10000 560 395 188 384 355 181 995 522 816
-10000 937 47 759 96 531 699 558 209 380
-10000 725 397 565 953 564 459 475 545 202
-10000 211 851 491 352 619 294 603 533 918
-10000 18 469 678 617 981 478 516 805 756
-10000 683 277 952 679 493 264 723 97 744
-10000 71 207 929 118 216 705 704 364 403
-10000 485 103 797 428 631 49 161 367 782
-10000 493 264 979 893 168 764 652 839 296
-10000 35 225 75 388 165 75 322 190 735
-10000 396 901 82 317 883 840 610 874 686
-10000 525 637 845 379 872 295 81 950 627
-10000 40 585 632 537 820 12 783 901 824
-10000 558 943 354 202 495 206 56 319 984
-10000 690 394 32 30 624 194 521 536 839
-10000 474 26 999 665 59 687 732 80 112
-10000 952 867 645 243 872 404 288 296 695
-10000 746 436 583 842 681 725 621 471 640
-10000 481 779 578 310 261 218 709 445 61
-10000 576 722 985 199 331 288 55 405 427
-10000 532 921 64 857 836 726 175 408 222
-10000 877 361 181 530 413 197 206 730 906
-10000 261 298 614 165 869 329 197 596 454
-10000 896 128 279 941 42 343 121 422 72
-10000 863 980 434 983 935 979 234 878 188
-10000 220 467 535 890 757 62 837 280 68
-10000 509 843 148 941 625 825 718 669 245
-10000 567 107 644 711 760 206 868 935 5
-10000 610 19 778 277 289 808 315 992 789
-10000 705 938 413 590 39 93 305 856 683
-10000 525 337 14 971 264 832 546 948 620
-10000 400 848 470 673 257 860 62 565 929
-10000 292 312 731 253 252 687 442 822 963
-10000 394 556 100 510 790 588 470 80 730
-10000 343 742 252 607 125 34 654 300 906
-10000 397 181 892 179 15 14 864 855 700
-10000 597 705 934 599 553 403 667 357 294
-10000 112 552 631 35 34 789 219 876 446
-10000 382 256 850 999 799 130 53 365 287
-10000 866 724 256 756 628 444 357 214 510
-10000 437 892 120 251 589 31 380 363 753
-10000 428 583 116 967 195 412 202 928 823
-10000 695 801 392 767 204 348 978 109 119
-10000 964 457 266 217 735 521 145 52 251
-10000 394 58 568 151 6 998 743 400 649
-10000 927 300 771 844 131 504 443 742 799
-10000 888 346 0 434 126 268 491 902 741
-10000 390 757 98 610 769 340 11 374 581
-10000 281 874 904 346 712 487 406 570 261
-10000 462 217 603 885 64 927 339 379 550
-10000 257 831 629 225 798 680 178 99 984
-10000 437 553 600 143 466 763 776 274 868
-10000 305 710 512 321 338 538 618 183 584
-10000 246 783 89 675 509 624 472 397 189
-10000 216 732 199 144 773 120 952 939 804
-10000 257 5 127 781 499 807 298 16 594
-10000 827 451 850 609 835 27 662 12 388
-10000 439 587 516 443 465 473 945 163 252
-10000 769 967 96 734 709 717 457 627 200
-10000 254 791 391 820 875 197 151 33 428
-10000 480 434 739 150 821 341 231 297 237
-10000 815 322 776 90 926 198 627 755 736
-10000 584 732 21 968 888 134 80 333 281
-10000 929 806 659 918 906 716 962 131 275
-10000 440 762 20 100 132 176 65 433 126
-10000 549 877 120 211 957 871 594 778 781
-10000 217 575 994 659 813 376 240 788 831
-10000 703 413 9 11 806 88 898 590 236
-10000 119 131 355 767 374 311 972 77 145
-10000 224 633 155 842 543 709 187 916 359
-10000 213 147 781 621 689 548 351 849 333
-10000 868 891 805 682 167 842 280 564 617
-10000 464 868 834 612 733 224 587 654 5
-10000 743 688 336 748 795 776 960 397 82
-10000 213 375 169 581 739 306 314 299 738
-10000 604 14 449 747 37 78 170 1000 154
-10000 467 186 426 841 939 751 430 655 829
-10000 670 490 444 610 60 428 455 289 227
-10000 16 790 973 680 357 439 748 62 369
-10000 54 157 439 726 69 220 272 374 152
-10000 422 805 338 741 373 279 240 866 845
-10000 415 256 589 650 853 280 422 304 502
-10000 885 586 186 583 456 343 197 266 30
-10000 136 688 462 773 557 193 932 571 737
-10000 395 615 799 15 130 747 845 793 855
-10000 392 257 262 773 468 780 339 50 579
-10000 109 530 647 557 648 182 40 965 802
-10000 48 407 261 743 305 296 377 125 568
-10000 223 730 755 82 11 103 908 917 958
-10000 609 121 537 772 348 891 346 36 748
-10000 178 285 764 849 646 871 726 541 959
-10000 351 145 383 987 481 654 703 677 293
-10000 86 114 475 745 163 52 614 937 281
-10000 883 627 78 906 490 866 38 189 477
-10000 946 588 994 720 857 880 397 937 800
-10000 122 14 239 924 752 43 971 173 288
-10000 774 280 203 377 341 544 234 982 525
-10000 459 34 993 203 694 817 143 436 193
-10000 517 389 292 713 216 799 116 11 834
-10000 544 485 502 33 22 164 318 210 164
-10000 620 42 888 723 434 783 980 813 100
-10000 876 457 963 548 99 135 485 109 252
-10000 379 750 405 812 502 339 278 40 803
-10000 396 74 744 387 533 803 879 884 229
-10000 562 243 624 489 996 680 621 160 800
-10000 326 8 436 249 153 570 716 868 463
-10000 100 179 897 498 365 162 720 271 66
-10000 460 311 649 525 172 59 368 325 953
-10000 272 15 511 31 966 606 612 336 824
-10000 934 822 29 14 652 294 239 607 17
-10000 489 418 850 728 840 532 261 998 274
-10000 661 452 682 17 153 641 751 62 933
-10000 412 774 672 75 540 872 47 767 479
-10000 240 846 221 718 595 252 280 959 424
-10000 110 43 641 565 94 720 845 146 87
-10000 357 953 496 469 905 425 404 654 559
-10000 103 126 137 500 780 510 983 41 403
-10000 820 609 24 471 258 734 243 469 111
-10000 713 520 527 426 306 784 32 477 907
-10000 752 762 250 275 632 950 193 484 8
-10000 999 373 542 185 367 431 588 236 219
-10000 344 807 948 519 864 606 812 746 772
-10000 774 693 210 601 583 312 272 436 933
-10000 449 751 834 727 859 626 1 357 795
-10000 400 375 869 64 483 924 498 849 578
-10000 12 810 935 126 990 298 193 453 852
-10000 671 796 480 765 963 851 353 4 923
-10000 753 275 140 273 255 424 594 870 270
-10000 528 249 270 238 140 458 163 247 770
-10000 27 900 594 954 677 851 487 726 92
-10000 567 832 807 147 152 81 629 750 306
-10000 491 420 252 133 615 665 584 962 586
-10000 668 196 702 915 949 243 14 875 796
-10000 459 116 955 379 940 405 125 194 359
-10000 539 778 490 862 628 970 361 631 351
-10000 821 210 601 207 92 662 255 176 558
-10000 635 463 390 552 166 820 295 106 416
-10000 751 859 343 382 687 663 509 143 688
-10000 970 375 521 30 188 830 210 247 95
-10000 81 194 347 645 687 711 176 99 727
-10000 668 748 282 925 521 122 591 580 488
-10000 399 902 98 726 430 573 788 566 692
-10000 253 79 449 693 323 908 776 912 90
-10000 487 90 882 264 57 761 148 576 111
-10000 754 359 544 463 290 891 310 941 43
-10000 799 743 335 824 615 916 240 590 638
-10000 527 499 228 198 35 237 425 166 52
-10000 867 638 782 78 35 839 229 36 394
-10000 958 270 586 800 79 140 242 819 133
-10000 809 197 856 572 383 400 775 658 598
-10000 573 303 565 691 786 729 31 124 41
-10000 934 582 128 291 805 59 427 363 84
-10000 634 164 759 855 339 80 93 153 722
-10000 414 534 181 244 695 135 576 983 625
-10000 746 548 961 80 512 222 1000 182 70
-10000 985 412 111 20 513 247 62 31 210
-10000 476 686 576 888 862 782 454 437 320
-10000 463 674 803 69 526 544 732 614 30
-10000 595 471 495 795 532 915 341 319 552
-10000 746 925 995 323 30 284 110 315 59
-10000 163 515 438 64 185 432 842 165 388
-10000 622 497 718 155 568 242 839 472 758
-10000 537 705 660 567 211 539 970 697 175
-10000 889 777 227 425 687 238 999 625 448
-10000 368 816 123 635 288 273 626 491 713
-10000 522 167 879 24 454 390 347 682 830
-10000 507 100 28 597 992 201 901 536 550
-10000 976 459 988 13 58 599 668 290 730
-10000 742 197 948 315 570 672 268 251 981
-10000 983 397 759 974 275 148 532 803 706
-10000 589 828 144 536 87 66 576 365 40
-10000 101 356 180 664 283 815 187 547 22
-10000 357 120 974 256 955 14 515 367 973
-10000 593 730 687 638 765 509 557 502 689
-10000 412 396 982 464 331 10 952 784 678
-10000 36 606 700 781 974 894 392 826 414
-10000 414 55 678 552 618 427 976 280 333
-10000 345 550 611 238 391 737 93 601 691
-10000 882 952 720 904 208 97 17 217 811
-10000 968 189 935 983 250 350 598 387 76
-10000 569 227 738 785 978 176 751 930 724
-10000 794 537 771 413 191 848 750 396 456
-10000 391 16 641 64 899 286 916 19 45
-10000 76 225 465 549 614 693 604 808 500
-10000 766 971 417 802 830 586 660 314 168
-10000 433 39 588 662 299 389 99 593 143
-10000 511 674 694 913 890 937 275 495 475
-10000 549 709 120 693 343 878 365 192 734
-10000 666 671 789 218 226 538 517 880 856
-10000 958 868 987 445 427 806 688 275 649
-10000 398 504 517 276 666 474 909 437 125
-10000 802 454 40 656 156 825 334 689 268
-10000 915 459 7 772 47 825 174 516 301
-10000 526 316 622 967 113 416 948 655 4
-10000 752 966 891 350 138 641 485 631 452
-10000 998 649 310 248 116 688 20 136 543
-10000 290 349 943 951 908 608 757 664 798
-10000 767 82 327 399 569 356 783 309 588
-10000 252 432 478 308 363 881 423 756 435
-10000 921 65 741 451 870 329 529 538 336
-10000 406 271 957 448 66 348 353 819 774
-10000 904 938 920 935 954 585 442 650 240
-10000 572 389 404 908 787 476 833 227 892
-10000 379 644 630 985 819 928 768 738 921
-10000 198 335 44 298 390 842 687 834 512
-10000 816 532 986 729 180 573 920 596 221
-10000 223 907 574 847 613 201 914 438 981
-10000 658 138 882 346 558 198 183 639 721
-10000 276 131 642 145 601 417 145 834 537
-10000 741 405 264 697 318 408 476 239 666
-10000 76 6 661 88 936 347 927 35 951
-10000 808 969 344 718 766 650 236 910 666
-10000 775 23 651 790 196 550 409 954 78
-10000 435 917 940 106 806 991 68 308 497
-10000 94 952 480 725 683 570 479 120 842
-10000 127 585 365 652 385 833 404 398 734
-10000 185 885 445 654 586 708 368 901 417
-10000 861 214 601 641 289 884 927 649 8
-10000 880 119 315 568 398 326 693 864 94
-10000 889 65 229 724 855 341 234 487 23
-10000 24 800 854 215 898 329 567 580 687
-10000 445 814 254 570 795 441 941 195 187
-10000 606 630 250 592 691 467 758 831 545
-10000 847 510 291 628 938 782 925 14 44
-10000 552 928 815 50 72 840 841 615 727
-10000 417 72 409 390 214 642 647 99 422
-10000 381 487 312 101 595 11 367 866 63
-10000 162 524 468 646 698 972 573 587 818
-10000 778 400 485 845 558 518 337 550 532
-10000 741 418 357 883 675 175 361 969 93
-10000 589 332 832 131 668 8 920 516 507
-10000 180 500 162 391 739 723 167 458 123
-10000 377 665 161 465 981 186 899 878 541
-10000 861 949 527 783 292 305 51 644 240
-10000 758 925 712 813 546 817 80 591 865
-10000 619 59 642 164 376 832 891 897 347
-10000 895 129 419 406 797 938 564 270 877
-10000 594 379 30 893 46 80 642 493 37
-10000 480 924 818 420 1 615 942 925 859
-10000 474 531 398 275 383 298 759 307 447
-10000 998 10 540 511 233 642 457 113 760
-10000 621 220 285 470 565 467 870 908 420
-10000 859 43 132 864 75 879 231 512 286
-10000 380 421 626 285 883 273 335 272 687
-10000 567 459 538 685 374 490 34 315 566
-10000 167 541 997 299 575 898 547 554 758
-10000 384 555 963 456 951 539 290 921 579
-10000 188 328 708 668 599 546 43 941 490
-10000 839 154 164 813 510 290 454 869 481
-10000 931 795 570 896 503 600 518 997 56
-10000 268 708 814 982 184 346 620 313 341
-10000 285 442 342 939 327 307 840 27 202
-10000 833 387 343 502 493 447 19 787 471
-10000 339 851 910 845 886 653 285 287 972
-10000 208 810 864 279 398 296 436 366 558
-10000 271 274 605 131 453 737 5 542 691
-10000 310 612 541 436 141 836 55 242 967
-10000 889 326 27 584 998 34 686 786 516
-10000 59 846 583 890 16 120 653 250 401
-10000 644 877 894 267 1000 202 805 603 755
-10000 471 727 231 74 384 739 310 532 862
-10000 146 266 251 80 388 494 715 707 580
-10000 796 134 547 738 986 502 917 578 182
-10000 124 388 780 169 724 424 615 983 63
-10000 869 894 222 345 792 989 718 723 944
-10000 736 434 198 429 16 939 88 518 429
-10000 69 596 395 835 780 1 25 439 950
-10000 299 140 7 987 122 83 923 93 383
-10000 304 705 247 161 679 862 139 503 301
-10000 228 116 393 107 888 431 406 64 660
-10000 750 605 149 609 246 231 851 377 327
-10000 834 924 685 37 415 42 510 277 783
-10000 80 342 631 452 593 347 322 477 190
-10000 466 133 199 603 455 916 530 854 656
-10000 511 287 370 566 331 739 546 383 477
-10000 452 528 860 912 127 291 621 369 819
-10000 402 560 457 805 924 309 838 284 781
-10000 961 79 802 484 622 483 776 758 740
-10000 497 428 814 126 49 617 453 688 180
-10000 206 38 908 891 581 816 822 945 938
-10000 898 492 503 215 39 474 999 400 218
-10000 102 52 929 295 863 984 108 17 969
-10000 868 488 785 624 240 558 340 714 163
-10000 175 883 137 7 886 981 196 842 619
-10000 907 212 223 928 714 28 755 523 711
-10000 208 401 721 896 182 799 601 1000 482
-10000 421 779 371 960 424 829 646 135 757
-10000 692 83 995 213 317 426 236 295 665
-10000 650 429 22 1000 981 636 188 333 477
-10000 689 31 580 241 54 483 278 229 876
-10000 337 915 826 319 994 282 534 98 321
-10000 477 194 244 917 745 28 329 275 230
-10000 404 242 817 242 66 851 225 767 578
-10000 531 874 376 682 719 494 82 726 507
-10000 67 398 236 883 932 672 715 406 652
-10000 587 820 204 276 728 684 200 340 522
-10000 559 247 264 603 825 402 469 42 727
-10000 185 863 945 10 316 818 675 612 65
-10000 966 959 866 331 367 479 768 839 362
-10000 434 198 53 8 140 465 456 553 884
-10000 440 108 72 991 315 328 561 823 556
-10000 936 815 419 267 454 941 669 646 527
-10000 826 644 470 683 561 876 611 465 175
-10000 240 159 332 257 226 54 674 841 453
-10000 873 860 328 927 674 314 68 818 624
-10000 912 56 687 366 538 601 629 790 921
-10000 400 808 145 687 561 129 640 230 337
-10000 16 425 971 288 801 549 594 178 276
-10000 653 507 1 400 483 165 946 976 711
-10000 940 46 680 308 986 196 190 699 170
-10000 134 88 914 759 172 453 846 535 104
-10000 664 383 534 78 121 709 955 216 90
-10000 618 145 473 263 386 413 237 832 22
-10000 300 653 26 554 897 15 468 868 200
-10000 23 974 527 740 713 607 531 781 974
-10000 150 37 209 65 500 960 784 732 86
-10000 837 280 376 115 797 365 498 37 444
-10000 156 113 992 814 942 772 922 245 354
-10000 925 427 632 861 870 848 935 766 198
-10000 809 739 8 766 990 741 741 453 269
-10000 115 1000 560 276 90 599 73 358 941
-10000 340 439 634 139 822 793 793 720 626
-10000 158 270 79 78 652 967 667 879 596
-10000 232 881 403 482 573 253 605 540 107
-10000 146 395 412 486 821 279 406 637 698
-10000 287 332 14 602 974 441 477 453 489
-10000 993 147 738 928 896 745 150 452 952
-10000 8 110 273 738 809 146 646 844 161
-10000 352 241 877 598 940 920 966 441 862
-10000 91 548 2 819 297 191 539 659 253
-10000 59 794 451 815 32 162 633 82 402
-10000 573 771 881 943 287 533 929 345 0
-10000 851 923 44 94 520 897 751 365 566
-10000 16 9 299 350 199 389 803 418 542
-10000 966 508 907 66 4 909 967 393 108
-10000 662 378 156 404 163 183 952 134 719
-10000 877 212 200 428 935 169 798 183 249
-10000 128 437 583 185 447 525 112 964 917
-10000 118 830 3 253 778 478 127 99 836
-10000 531 403 729 952 429 808 981 594 119
-10000 85 636 229 425 775 61 259 278 260
-10000 74 421 110 574 789 881 762 382 551
-10000 223 447 297 292 977 781 262 801 655
-10000 818 565 311 454 236 208 432 646 808
-10000 171 207 622 894 678 868 251 655 752
-10000 984 558 988 541 527 832 832 929 123
-10000 998 833 946 180 904 364 786 3 720
-10000 266 641 546 783 605 830 927 965 954
-10000 58 680 148 224 133 213 439 43 173
-10000 752 791 180 535 646 620 197 783 759
-10000 554 180 279 985 752 911 695 659 475
-10000 548 887 350 836 394 727 178 110 652
-10000 167 240 370 647 888 929 771 252 504
-10000 591 884 983 352 510 233 443 773 427
-10000 383 786 467 772 272 107 934 905 772
-10000 254 184 337 458 517 835 245 488 953
-10000 112 408 653 718 637 605 712 609 632
-10000 272 579 914 220 853 898 66 710 605
-10000 75 632 354 628 493 412 905 561 963
-10000 843 40 979 735 560 682 900 961 37
-10000 307 165 565 464 771 808 556 678 403
-10000 110 339 764 991 149 463 803 618 561
-10000 810 728 563 643 35 810 101 618 976
-10000 39 550 816 727 956 760 552 4 899
-10000 549 504 87 209 953 210 547 802 411
-10000 998 81 450 250 564 402 574 717 72
-10000 582 581 360 720 100 84 578 140 916
-10000 912 804 57 793 728 362 580 760 234
-10000 440 514 351 224 298 313 767 396 171
-10000 752 568 949 641 41 535 772 468 882
-10000 103 733 25 376 220 296 778 572 787
-10000 989 288 369 903 3 913 662 594 492
-10000 382 818 353 130 747 846 215 688 488
-10000 490 718 108 619 380 676 926 277 919
-10000 155 641 916 440 965 249 581 598 290
-10000 770 632 809 466 25 381 160 659 413
-10000 504 235 342 508 126 753 276 516 729
-10000 76 123 781 280 592 413 660 737 574
-10000 445 960 720 500 650 475 472 407 195
-10000 185 963 432 294 861 880 795 413 33
-10000 853 726 732 258 270 245 994 99 556
-10000 98 391 901 531 862 165 152 215 641
-10000 990 309 553 178 481 730 784 371 334
-10000 991 399 878 315 610 656 673 756 806
-10000 40 843 444 647 182 293 805 486 159
-10000 344 235 574 657 937 539 288 368 714
-10000 336 418 337 158 600 555 371 335 550
-10000 494 819 549 113 526 886 399 746 558
-10000 872 730 19 385 40 563 156 65 707
-10000 188 706 976 762 282 510 935 614 159
-10000 976 876 543 655 804 210 504 113 30
-10000 840 235 467 603 349 5 64 74 742
-10000 638 535 609 561 178 249 53 286 703
-10000 815 169 465 127 908 811 504 293 402
-10000 520 852 148 399 791 24 189 738 382
-10000 312 383 960 73 2 11 73 291 39
-10000 393 745 661 917 737 209 252 578 16
-10000 179 566 682 636 382 760 665 723 21
-10000 313 950 267 67 217 454 570 531 302
-10000 338 505 852 202 266 130 951 544 951
-10000 65 33 39 118 223 372 148 885 579
-10000 572 897 929 468 25 13 934 861 828
-10000 567 122 447 82 211 11 515 384 469
-10000 156 61 662 368 50 244 984 382 144
-10000 690 698 121 160 502 140 95 403 608
-10000 156 296 153 865 573 115 272 318 775
-10000 787 962 423 70 484 973 596 885 624
-10000 848 477 441 718 195 210 439 836 75
-10000 97 942 491 734 789 758 83 907 502
-10000 38 621 220 21 704 896 187 674 543
-10000 938 642 755 860 944 811 874 552 277
-10000 273 117 856 961 392 624 403 344 294
-10000 345 578 163 996 599 217 41 609 94
-10000 765 718 611 357 762 146 666 301 171
-10000 447 549 777 134 74 243 594 375 678
-10000 372 923 914 251 632 574 884 794 498
-10000 505 653 928 347 81 897 235 995 53
-10000 658 519 130 56 693 980 542 641 146
-10000 187 660 193 152 296 553 791 174 858
-10000 606 342 76 562 13 54 299 94 871
-10000 148 964 838 781 402 424 909 163 714
-10000 273 269 257 987 653 389 559 987 922
-10000 126 57 607 144 62 831 559 645 727
-10000 524 785 40 833 389 607 398 653 711
-10000 713 330 133 403 797 892 116 716 816
-10000 170 578 498 366 833 18 455 954 35
-10000 959 101 690 441 177 875 997 819 528
-10000 476 272 329 230 130 761 776 740 659
-10000 86 692 999 953 842 918 324 675 152
-10000 88 534 101 20 333 87 222 772 137
-10000 572 688 910 999 950 152 913 615 57
-10000 445 706 129 638 351 111 300 398 212
-10000 100 575 989 68 704 437 819 781 267
-10000 605 335 584 247 568 117 389 544 993
-10000 947 688 349 173 299 445 799 427 387
-10000 27 168 222 349 561 338 517 317 601
-10000 0 457 437 766 989 174 336 229 989
-10000 508 290 260 339 716 649 618 975 156
-10000 199 856 80 897 37 529 185 774 424
-10000 463 77 778 968 846 453 794 912 189
-10000 207 264 461 592 638 798 528 163 775
-10000 103 96 966 98 701 951 494 896 557
-10000 511 464 39 194 932 16 668 773 449
-10000 502 685 411 226 789 732 231 250 930
-10000 817 861 945 130 46 111 308 750 136
-10000 164 38 925 795 603 75 843 954 676
-10000 917 480 119 9 633 854 983 918 944
-10000 774 949 697 536 849 62 625 93 722
-10000 486 52 502 593 395 407 897 248 488
-10000 125 224 981 399 525 980 573 952 469
-10000 571 778 313 132 106 952 920 200 396
-10000 541 468 732 72 238 454 785 89 373
-10000 512 177 898 972 867 614 673 285 289
-10000 539 361 732 429 891 252 333 946 816
-10000 878 582 694 77 420 810 977 917 397
-10000 575 4 226 140 809 892 694 389 226
-10000 746 376 108 970 796 847 558 190 713
-10000 750 498 719 999 960 264 694 22 875
-10000 429 568 444 591 920 654 849 534 713
-10000 629 64 335 290 577 874 716 110 147
-10000 177 237 560 208 772 514 65 228 744
-10000 716 521 519 763 322 475 238 44 633
-10000 306 263 33 318 666 159 40 526 196
-10000 200 856 16 879 639 774 330 459 590
-10000 47 717 457 878 818 134 951 203 425
-10000 331 21 369 404 993 539 84 75 388
-10000 144 344 658 676 497 715 243 437 510
-10000 750 280 750 72 681 956 608 913 851
-10000 771 121 668 901 619 570 148 436 534
-10000 515 59 909 845 241 810 863 251 255
-10000 320 305 923 858 663 413 143 604 685
-10000 253 16 543 128 302 712 595 467 543
-10000 5 296 109 400 731 943 381 468 405
-10000 421 441 140 70 505 333 886 474 226
-10000 666 94 789 284 606 964 138 249 969
-10000 308 780 777 452 866 718 914 779 908
-10000 12 353 112 441 624 684 984 306 875
-10000 246 847 300 470 487 691 562 621 945
-10000 924 528 595 186 793 118 342 710 343
-10000 431 123 240 216 565 167 175 679 935
-10000 63 888 313 455 540 719 158 182 991
-10000 424 757 156 688 24 499 285 435 342
-10000 347 955 891 12 311 375 950 417 402
-10000 954 755 553 449 924 42 469 202 632
-10000 377 665 215 631 805 332 928 588 224
-10000 223 609 75 159 386 591 115 312 611
-10000 353 318 106 900 731 148 367 83 613
-10000 207 675 636 16 440 659 209 751 34
-10000 486 343 969 775 190 142 727 469 830
-10000 209 469 590 161 168 952 723 459 869
-10000 390 878 203 277 968 430 917 641 152
-10000 856 762 614 120 44 823 796 938 741
-10000 989 428 960 730 496 403 314 910 871
-10000 588 217 351 66 338 929 860 567 256
-10000 619 679 921 296 890 610 924 624 889
-10000 417 869 103 549 321 121 277 709 118
-10000 564 573 239 194 869 865 491 284 157
-10000 696 868 35 209 849 435 811 238 943
-10000 908 471 764 81 663 332 928 305 652
-10000 626 843 550 229 91 251 137 217 489
-10000 373 872 407 816 341 485 349 758 613
-10000 302 118 113 28 188 357 823 237 418
-10000 470 757 520 977 482 203 348 798 174
-10000 320 962 306 959 736 434 678 618 531
-10000 128 214 829 560 279 727 879 777 96
-10000 916 81 404 652 645 24 61 565 458
-10000 819 356 372 755 113 297 963 697 248
-10000 903 672 547 773 593 251 0 422 732
-10000 904 370 859 932 258 607 173 456 276
-10000 734 100 41 474 51 815 238 526 303
-10000 839 273 372 822 345 130 220 379 4
-10000 735 629 402 494 550 470 730 109 439
-10000 162 850 423 159 707 119 545 267 172
-10000 838 296 987 80 628 963 738 71 891
-10000 841 838 584 242 36 293 537 293 267
-10000 795 916 352 270 18 313 430 369 129
-10000 313 494 891 135 432 385 377 73 155
-10000 28 724 261 402 756 361 919 514 922
-10000 522 981 993 282 145 764 567 216 29
-10000 791 731 797 797 722 314 47 741 417
-10000 767 676 684 178 460 891 746 776 447
-10000 431 424 277 456 184 949 199 67 741
-10000 455 121 915 12 355 807 145 742 527
-10000 945 592 337 504 80 474 453 291 210
-10000 68 156 967 789 138 454 993 474 458
-10000 5 539 789 910 977 848 388 830 220
-10000 77 92 627 357 370 555 377 42 149
-10000 134 433 516 118 745 313 223 594 58
-10000 533 793 523 441 315 254 852 762 343
-10000 560 321 37 17 770 188 585 900 978
-10000 829 293 903 346 500 344 466 458 472
-10000 423 837 12 356 629 987 141 364 505
-10000 574 663 713 846 258 613 840 464 439
-10000 840 446 44 693 60 896 779 628 837
-10000 266 502 908 812 533 704 904 694 506
-10000 301 496 482 61 91 913 723 945 632
-10000 677 802 166 318 411 911 792 271 16
-10000 356 218 190 21 352 541 947 240 863
-10000 470 298 314 76 756 889 734 986 236
-10000 412 95 710 168 95 847 126 137 60
-10000 926 381 530 70 651 637 67 603 224
-10000 886 913 607 743 398 185 441 808 232
-10000 807 451 846 608 617 447 319 327 449
-10000 611 111 886 106 728 707 877 99 383
-10000 553 165 597 706 932 193 807 438 871
-10000 43 177 193 580 927 950 764 376 394
-10000 221 229 206 355 563 640 564 523 538
-10000 409 199 477 340 937 224 352 371 813
-10000 44 578 940 468 48 663 500 970 874
-10000 502 643 656 537 9 745 601 753 207
-10000 198 748 274 671 208 967 638 541 218
-10000 850 643 320 662 867 37 776 207 430
-10000 647 735 69 314 930 48 654 870 691
-10000 71 522 172 19 578 39 626 116 59
-10000 392 235 370 154 652 542 396 284 672
-10000 290 176 451 308 697 991 590 396 101
-10000 120 779 195 121 358 691 939 593 586
-10000 495 176 177 877 536 548 351 859 273
-10000 475 507 434 80 631 749 991 832 77
-10000 785 534 535 902 792 973 715 406 445
-10000 231 800 102 266 461 84 360 148 397
-10000 869 365 436 480 305 956 818 152 731
-10000 655 571 155 342 557 333 318 787 404
-10000 825 88 753 454 975 6 501 92 804
-10000 746 747 798 170 628 802 56 360 381
-10000 252 247 336 485 135 804 476 822 858
-10000 410 988 656 767 318 183 68 715 829
-10000 298 287 640 195 540 214 255 492 550
-10000 978 306 825 767 28 719 976 288 869
-10000 357 278 539 584 846 483 692 346 967
-10000 346 434 675 184 60 764 510 760 726
-10000 118 320 860 154 343 483 461 727 707
-10000 49 701 318 862 729 65 391 305 376
-10000 115 932 920 57 164 5 895 689 367
-10000 198 642 804 702 709 471 496 491 805
-10000 140 62 549 946 558 769 120 518 69
-10000 470 526 897 10 95 919 87 475 77
-10000 325 961 415 344 357 575 112 639 978
-10000 123 86 416 801 636 265 377 194 296
-10000 367 319 430 618 246 889 3 764 784
-10000 831 55 843 386 179 901 691 588 706
-10000 346 458 542 169 454 78 556 75 702
-10000 351 24 480 737 380 984 345 748 215
-10000 754 346 43 948 623 854 878 153 355
-10000 721 345 715 542 769 489 574 665 151
-10000 12 767 893 453 384 712 40 29 619
-10000 505 0 827 906 272 239 614 180 958
-10000 371 743 747 626 822 548 954 322 185
-10000 312 568 725 929 279 673 455 402 870
-10000 47 355 779 255 612 810 360 144 628
-10000 760 80 469 891 731 242 269 816 68
-10000 407 860 596 368 118 949 453 592 468
-10000 232 863 236 473 384 601 428 492 889
-10000 793 66 66 642 469 429 526 554 905
-10000 598 148 448 25 156 656 408 337 107
-10000 288 198 541 750 274 692 252 535 374
-10000 655 78 410 505 553 674 901 335 33
-10000 820 811 158 207 607 686 195 824 363
-10000 138 505 800 710 495 756 256 819 65
-10000 258 538 194 273 407 322 646 531 764
-10000 131 750 351 152 188 841 201 629 201
-10000 998 843 193 208 357 677 151 574 451
-10000 328 813 288 859 639 723 885 580 594
-10000 77 151 55 20 80 675 329 218 19
-10000 20 799 260 464 193 29 715 276 544
-10000 372 270 438 664 452 633 859 308 879
-10000 539 962 951 486 948 450 834 963 974
-10000 559 819 95 368 965 392 430 389 646
-10000 684 778 778 454 544 499 447 694 940
-10000 50 981 64 376 201 108 688 375 611
-10000 717 592 26 803 917 103 168 1 88
-10000 394 834 249 527 51 264 307 709 680
-10000 706 149 235 182 886 369 428 776 753
-10000 418 416 977 989 790 854 261 64 865
-10000 485 680 222 926 896 196 60 62 902
-10000 718 311 959 525 203 943 921 737 629
-10000 977 797 125 376 993 479 164 230 264
-10000 291 627 759 584 173 59 946 456 297
-10000 943 663 767 314 95 967 279 258 219
-10000 201 293 861 14 467 619 136 294 7
-10000 37 190 860 947 251 114 1000 192 699
-10000 499 456 248 940 193 568 943 22 32
-10000 654 506 943 438 193 480 112 664 602
-10000 124 14 980 142 607 865 365 133 233
-10000 503 476 648 19 78 585 693 686 542
-10000 968 27 299 774 740 766 120 197 46
-10000 786 476 171 268 847 204 505 691 86
-10000 426 683 922 935 900 959 586 431 121
-10000 984 529 453 29 291 77 189 504 74
-10000 357 341 526 507 443 921 62 103 9
-10000 152 882 910 44 947 380 726 189 675
-10000 974 296 334 744 793 994 39 797 668
-10000 155 761 448 257 173 882 705 320 27
-10000 582 267 193 919 415 413 476 460 462
-10000 452 567 214 725 18 792 535 471 324
-10000 571 478 130 282 658 91 901 33 121
-10000 119 609 858 811 591 130 383 765 456
-10000 689 577 156 343 208 580 367 198 92
-10000 509 610 455 117 434 96 499 298 703
-10000 257 872 693 957 717 468 620 272 725
-10000 119 612 612 572 849 293 410 184 449
-10000 813 107 399 524 515 975 478 875 109
-10000 707 393 76 740 460 314 975 413 306
-10000 680 766 747 26 921 154 102 762 603
-10000 930 618 288 614 622 804 726 225 651
-10000 801 609 242 910 252 717 110 386 310
-10000 879 738 959 218 835 761 620 866 623
-10000 421 163 212 39 356 19 7 961 843
-10000 8 605 891 796 80 511 619 480 0
-10000 719 106 388 704 290 641 308 129 889
-10000 628 694 137 583 917 17 718 430 137
-10000 640 675 274 567 490 450 505 382 649
-10000 464 228 679 757 708 194 875 790 379
-10000 531 324 467 598 495 984 710 364 390
-10000 486 942 982 767 458 132 716 200 312
-10000 285 377 121 694 604 570 152 787 240
-10000 546 528 596 709 2 973 947 397 927
-10000 564 76 279 921 822 38 928 950 859
-10000 430 88 561 26 331 716 533 894 930
-10000 386 833 355 855 306 807 228 604 34
-10000 879 434 985 459 636 706 824 446 718
-10000 454 198 919 567 147 112 48 976 369
-10000 379 28 20 329 640 480 200 714 961
-10000 701 74 855 520 403 521 807 250 50
-10000 460 51 663 638 40 912 567 163 205
-10000 880 133 973 274 942 828 210 696 991
-10000 909 746 287 563 811 151 54 613 174
-10000 35 415 834 610 510 247 500 510 51
-10000 782 291 457 441 3 886 657 484 234
-10000 705 965 152 31 225 585 680 498 108
-10000 944 393 331 979 495 38 575 280 204
-10000 161 558 44 67 429 423 969 191 454
-10000 547 255 545 54 355 815 346 262 753
-10000 289 366 212 100 890 753 77 343 62
-10000 883 912 999 597 237 832 607 433 496
-10000 330 54 580 540 958 517 312 394 500
-10000 917 64 947 974 139 475 443 784 882
-10000 351 974 15 2 613 159 652 313 808
-10000 346 67 682 441 813 58 324 693 260
-10000 388 993 106 362 294 264 86 292 433
-10000 185 750 826 315 357 542 215 173 796
-10000 332 984 482 569 686 169 11 389 271
-10000 19 649 40 760 234 770 100 143 928
-10000 701 580 243 841 974 443 32 120 35
-10000 295 38 797 95 618 317 228 175 300
-10000 289 721 161 434 887 301 499 505 68
-10000 979 700 177 837 358 24 669 94 750
-10000 393 242 993 337 992 998 51 534 595
-10000 399 513 494 499 79 545 446 519 457
-10000 527 435 67 43 884 23 429 594 889
-10000 969 55 698 792 468 392 642 908 832
-10000 161 784 76 892 866 152 680 102 18
-10000 332 975 908 283 845 336 550 967 22
-10000 306 826 661 654 68 330 208 529 408
-10000 520 82 393 968 77 14 629 266 381
-10000 923 611 945 50 28 972 473 246 306
-10000 372 179 388 386 692 775 714 805 438
-10000 124 868 500 990 775 592 124 818 253
-10000 734 863 257 689 853 137 501 721 557
-10000 62 542 379 448 607 812 297 140 242
-10000 669 470 941 979 668 516 261 302 607
-10000 143 391 730 510 450 160 211 430 943
-10000 213 511 438 536 922 298 919 155 606
-10000 352 369 699 593 871 148 671 706 136
-10000 201 399 568 508 945 732 780 17 152
-10000 764 937 71 263 142 558 545 380 285
-10000 569 866 141 62 374 506 483 840 430
-10000 845 413 632 407 731 846 705 852 854
-10000 546 938 381 18 893 428 594 143 81
-10000 462 912 960 802 107 208 518 512 281
-10000 547 764 850 194 910 936 390 925 540
-10000 679 114 168 138 75 11 260 115 301
-10000 30 747 210 294 993 755 147 844 931
-10000 13 953 587 161 705 513 713 659 549
-10000 421 690 423 357 153 207 372 0 890
-10000 553 165 940 238 465 535 776 269 558
-10000 389 203 983 544 176 662 363 795 387
-10000 145 491 832 116 893 992 302 626 661
-10000 389 629 967 72 953 136 96 551 859
-10000 726 989 28 542 736 997 454 822 487
-10000 875 9 291 503 768 548 674 409 393
-10000 337 551 809 187 940 794 881 688 529
-10000 613 912 818 591 580 280 65 398 71
-10000 209 827 546 582 724 686 357 59 443
-10000 491 796 280 527 20 352 650 955 202
-10000 122 273 613 260 639 488 203 769 8
-10000 812 335 372 828 297 97 735 424 550
-10000 586 418 709 558 304 328 719 746 604
-10000 683 237 481 439 565 231 846 116 584
-10000 156 361 280 243 217 151 834 207 551
-10000 809 967 268 192 136 621 468 284 420
-10000 88 664 826 467 383 299 617 191 733
-10000 836 615 345 892 595 849 696 313 696
-10000 263 350 37 24 675 44 841 133 385
-10000 844 79 790 172 350 123 923 15 810
-10000 65 952 669 270 656 690 5 530 920
-10000 853 890 207 242 343 939 80 75 175
-10000 604 534 460 706 484 660 714 191 57
-10000 626 677 8 50 151 581 414 637 274
-10000 329 710 560 671 344 408 965 606 230
-10000 232 460 918 41 943 624 347 461 351
-10000 991 670 751 377 126 665 638 565 190
-10000 295 625 455 304 50 464 809 787 963
-10000 818 619 700 239 293 822 787 898 574
-10000 984 195 169 867 311 106 383 941 841
-10000 109 792 785 237 918 766 605 517 981
-10000 601 372 77 423 934 708 13 449 930
-10000 210 123 1000 7 286 127 637 53 452
-10000 449 79 851 458 662 633 737 629 720
-10000 555 15 895 849 883 680 266 372 225
-10000 201 732 250 744 145 293 278 549 809
-10000 167 530 820 242 409 571 597 632 642
-10000 10 822 711 369 61 763 887 580 78
-10000 10 407 874 623 849 506 454 944 637
-10000 491 107 1 225 596 272 263 637 153
-10000 833 478 308 617 562 633 451 214 142
-10000 347 459 5 751 731 912 870 525 626
-10000 98 365 99 33 588 655 779 164 207
-10000 646 924 528 623 802 688 467 991 926
-10000 483 544 717 491 711 348 379 484 267
-10000 28 473 644 889 872 506 889 745 656
-10000 519 660 282 750 36 487 37 20 720
-10000 169 190 380 699 809 557 633 18 867
-10000 14 360 6 492 499 689 629 536 646
-10000 253 40 482 875 402 485 757 695 539
-10000 478 109 308 46 156 59 292 831 452
-10000 825 989 555 735 572 607 444 107 873
-10000 382 797 813 611 554 629 787 843 106
-10000 736 418 144 173 51 413 153 907 123
-10000 403 648 946 586 41 483 333 66 504
-10000 378 683 258 320 314 907 437 674 801
-10000 974 348 867 671 366 317 479 212 422
-10000 545 80 656 800 124 107 717 119 327
-10000 639 340 672 954 596 175 334 519 459
-10000 870 436 265 442 5 490 726 660 945
-10000 174 822 848 310 315 720 78 642 843
-10000 187 301 673 392 173 89 426 378 807
-10000 121 195 622 159 359 486 655 458 980
-10000 863 167 951 470 919 565 350 782 37
-10000 842 301 524 241 55 848 363 853 489
-10000 23 249 861 109 198 409 652 504 604
-10000 890 210 851 299 381 456 383 615 665
-10000 983 166 155 275 615 165 720 913 305
-10000 996 626 492 598 358 499 181 721 630
-10000 619 909 11 901 38 816 877 460 463
-10000 337 70 788 776 625 853 95 990 605
-10000 815 487 175 31 148 415 850 670 666
-10000 179 338 133 843 526 684 998 80 176
-10000 47 610 451 289 459 327 181 948 888
-10000 824 461 910 776 348 745 215 650 816
-10000 259 139 586 602 248 900 239 614 121
-10000 180 501 2 763 264 324 825 41 155
-10000 891 599 114 291 740 669 924 491 893
-10000 362 655 320 68 916 735 732 329 441
-10000 697 273 808 989 862 507 279 103 845
-10000 968 55 361 193 389 495 968 441 20
-10000 357 526 388 706 100 252 253 541 949
-10000 46 472 381 822 377 944 516 280 243
-10000 682 354 748 225 533 997 876 523 387
-10000 848 932 834 42 489 702 674 358 154
-10000 311 211 835 372 796 49 297 446 453
-10000 529 994 631 216 716 297 617 831 285
-10000 305 376 704 786 143 417 434 193 866
-10000 503 887 209 140 901 912 242 142 757
-10000 208 712 302 586 118 149 872 585 181
-10000 645 860 470 291 907 612 465 266 547
-10000 84 996 964 363 9 14 823 389 987
-10000 273 813 914 222 735 195 464 196 854
-10000 81 354 536 385 523 661 244 535 955
-10000 86 942 180 303 290 697 55 751 805
-10000 975 321 835 236 58 537 553 65 48
-10000 151 391 840 116 94 407 547 582 214
-10000 745 69 246 544 135 395 947 711 739
-10000 605 75 116 672 448 636 800 380 347
-10000 526 245 583 937 956 888 10 692 137
-10000 714 500 326 233 84 94 444 380 486
-10000 47 3 607 365 2 107 591 181 271
-10000 643 143 231 536 747 991 286 157 290
-10000 331 120 39 501 476 601 904 78 804
-10000 862 233 637 641 988 755 187 636 69
-10000 894 429 901 12 463 447 951 337 976
-10000 113 695 749 825 268 827 639 75 251
-10000 353 429 426 478 830 311 620 407 596
-10000 851 27 826 822 64 13 891 153 282
-10000 525 863 595 429 71 945 186 692 927
-10000 920 463 673 223 312 876 616 289 861
-10000 737 38 540 687 442 807 775 254 767
-10000 849 329 413 396 714 387 183 399 980
-10000 118 76 946 389 617 752 982 720 963
-10000 692 86 870 131 594 209 546 776 465
-10000 95 66 537 491 405 314 74 509 791
-10000 233 157 590 767 921 800 100 636 366
-10000 814 961 650 994 767 826 107 474 537
-10000 885 441 774 135 634 217 624 154 836
-10000 732 23 3 516 455 272 371 425 241
-10000 798 38 781 729 826 304 713 642 646
-10000 482 803 647 157 450 175 826 931 860
-10000 711 320 47 925 985 931 424 854 688
-10000 599 398 317 739 833 955 245 736 124
-10000 484 908 425 311 610 654 976 874 889
-10000 189 870 348 825 911 623 722 15 875
-10000 196 344 316 31 55 647 845 509 179
-10000 931 615 987 234 77 847 567 593 23
-10000 308 240 47 106 951 433 936 931 399
-10000 542 122 467 343 907 770 233 385 430
-10000 763 527 502 325 608 1000 508 468 866
-10000 709 507 660 152 846 440 966 20 320
-10000 981 221 758 308 625 897 467 437 90
-10000 799 756 756 256 102 264 131 172 72
-10000 408 454 39 329 919 302 973 75 776
-10000 323 923 210 280 902 877 39 599 536
-10000 27 454 208 858 783 536 747 775 191
-10000 413 252 31 255 465 584 149 583 484
-10000 247 426 96 292 852 505 330 375 325
-10000 164 84 774 119 203 417 713 18 653
-10000 60 636 911 581 127 18 948 90 817
-10000 103 357 943 549 924 713 758 219 997
-10000 341 285 535 774 839 736 305 973 350
-10000 861 845 482 574 542 256 22 651 891
-10000 94 987 531 390 217 880 220 57 181
-10000 282 781 501 83 653 120 441 635 83
-10000 53 375 542 912 599 905 642 385 217
-10000 281 861 937 224 444 498 433 157 295
-10000 775 120 785 521 463 349 416 700 890
-10000 323 512 736 799 691 636 573 616 832
-10000 528 325 167 966 697 132 878 863 435
-10000 518 808 971 735 149 787 821 302 93
-10000 583 362 929 860 936 763 504 182 36
-10000 400 576 325 807 800 75 128 623 463
-10000 694 969 842 233 911 623 379 483 31
-10000 227 513 629 705 710 621 55 545 930
-10000 331 196 994 758 153 585 942 522 694
-10000 570 137 925 225 280 3 446 198 693
-10000 488 252 111 410 225 49 144 1 52
-10000 809 985 889 512 545 633 563 502 107
-10000 326 851 474 78 16 637 431 504 899
-10000 738 74 137 243 862 938 970 508 377
-10000 509 255 424 82 540 172 655 905 278
-10000 705 264 287 192 189 28 865 568 333
-10000 299 394 758 757 171 148 106 493 859
-10000 220 279 872 842 571 377 826 946 591
-10000 268 224 583 426 1000 945 636 146 538
-10000 157 273 78 241 664 444 26 122 987
-10000 670 827 463 875 522 563 867 856 66
-10000 908 260 127 578 794 586 214 490 782
-10000 350 479 277 206 66 158 725 18 74
-10000 84 242 199 620 872 486 86 561 60
-10000 983 684 517 108 934 477 831 278 773
-10000 262 640 550 743 889 198 874 339 806
-10000 861 858 495 744 333 916 570 225 55
-10000 414 205 3 275 308 572 80 628 700
-10000 987 607 619 691 250 952 629 218 439
-10000 129 644 556 412 135 960 47 845 969
-10000 164 677 11 253 339 542 838 712 516
-10000 229 698 496 272 822 951 499 405 338
-10000 863 693 586 817 195 551 745 109 27
-10000 455 557 464 633 759 458 909 342 639
-10000 52 206 69 245 31 157 747 936 899
-10000 989 376 954 892 42 49 439 984 885
-10000 429 261 155 492 799 471 384 9 411
-10000 913 170 818 291 693 275 413 44 318
-10000 987 206 64 823 230 716 343 201 812
-10000 939 364 46 552 101 240 18 888 438
-10000 875 995 146 898 113 704 84 454 551
-10000 747 673 545 256 182 224 301 378 1000
-10000 773 980 112 111 525 773 993 342 838
-10000 603 211 488 582 876 118 176 705 671
-10000 374 760 911 125 530 646 471 682 865
-10000 190 198 336 445 434 77 148 906 576
-10000 835 486 764 993 459 244 232 561 488
-10000 391 675 902 481 665 252 523 849 191
-10000 328 87 381 739 70 389 444 995 671
-10000 505 843 213 615 247 382 85 859 86
-10000 394 592 697 872 623 610 222 928 350
-10000 116 397 880 340 85 731 169 385 124
-10000 556 642 481 228 112 907 583 702 64
-10000 524 479 866 315 171 456 356 948 82
-10000 82 213 151 989 106 391 413 320 691
-10000 350 504 47 538 873 251 154 993 432
-10000 183 755 369 388 118 301 220 607 700
-10000 412 113 965 257 23 852 925 233 832
-10000 938 762 57 693 408 551 645 739 968
-10000 278 169 939 571 733 935 542 746 71
-10000 271 615 736 278 557 498 353 529 792
-10000 786 445 457 534 75 406 991 62 120
-10000 664 104 427 92 607 860 83 514 151
-10000 775 623 849 637 484 920 284 344 131
-10000 113 831 387 391 732 832 55 889 928
-10000 289 322 290 567 697 186 484 588 486
-10000 516 729 583 597 539 252 826 508 196
-10000 623 841 766 901 725 375 108 473 781
-10000 371 294 118 740 519 6 347 214 336
-10000 53 809 140 904 810 355 539 352 907
-10000 136 971 153 382 24 701 555 591 178
-10000 857 821 563 106 242 194 196 609 150
-10000 949 392 495 912 393 190 352 518 516
-10000 469 146 334 432 251 313 565 934 611
-10000 778 304 711 892 835 601 892 490 103
-10000 391 541 887 182 949 752 888 649 549
-10000 466 279 994 114 813 862 267 689 462
-10000 293 851 678 65 974 904 227 178 726
-10000 576 910 176 569 735 531 387 392 863
-10000 251 432 785 288 867 627 530 222 64
-10000 881 215 980 569 204 933 26 924 562
-10000 620 560 885 844 54 751 858 805 593
-10000 731 159 752 937 28 145 213 131 69
-10000 257 54 695 68 715 248 547 969 454
-10000 679 35 878 610 855 102 467 362 400
-10000 254 399 530 337 546 352 392 451 445
-10000 498 453 663 977 249 272 211 59 521
-10000 663 6 579 897 18 743 866 116 917
-10000 145 826 36 798 472 939 642 502 541
-10000 260 335 889 494 301 827 527 238 468
-10000 186 43 191 955 211 3 300 49 923
-10000 179 560 347 777 963 680 84 339 799
-10000 540 971 405 978 798 117 253 482 672
-10000 532 499 777 763 400 752 376 847 577
-10000 585 926 92 901 349 60 413 705 759
-10000 979 907 854 165 913 117 717 841 803
-10000 227 716 356 136 532 392 853 907 202
-10000 751 499 586 136 5 489 514 824 985
-10000 131 453 966 559 966 151 483 941 72
-10000 746 539 65 450 632 924 175 239 864
-10000 289 484 10 872 975 863 471 113 985
-10000 392 940 393 91 986 741 210 238 484
-10000 536 353 320 827 219 534 337 699 365
-10000 641 597 946 659 212 639 44 470 793
-10000 613 705 567 445 360 69 848 717 561
-10000 951 2 262 422 967 382 431 779 427
-10000 695 921 834 42 880 21 189 559 263
-10000 167 64 341 826 488 136 22 627 112
-10000 771 637 824 519 102 221 257 905 152
-10000 524 924 622 305 604 976 199 152 442
-10000 724 442 233 480 892 122 111 960 686
-10000 162 3 683 729 163 823 391 823 587
-10000 615 847 608 336 229 557 936 727 102
-10000 448 390 764 21 141 38 625 451 60
-10000 139 374 583 46 850 553 245 386 398
-10000 482 89 450 763 565 43 83 919 945
-10000 186 679 352 556 895 531 174 660 753
-10000 245 46 488 979 711 968 223 199 393
-10000 638 558 362 973 999 25 710 241 757
-10000 950 41 138 945 657 3 634 581 127
-10000 125 790 243 941 701 682 776 544 536
-10000 217 88 870 771 88 574 71 536 263
-10000 686 594 711 779 45 28 771 849 292
-10000 618 736 754 292 990 298 682 278 139
-10000 920 408 996 769 407 705 964 725 118
-10000 804 275 171 948 501 443 704 601 150
-10000 186 324 85 233 668 812 396 733 199
-10000 986 284 525 240 363 482 809 57 564
-10000 440 995 887 409 830 349 415 878 690
-10000 610 934 497 722 411 880 678 294 662
-10000 957 714 320 444 974 124 933 678 878
-10000 217 964 356 835 735 629 141 596 370
-10000 599 79 179 692 960 998 750 417 923
-10000 343 476 592 767 281 12 906 550 222
-10000 352 601 693 226 896 397 238 727 832
-10000 415 252 187 35 627 956 935 316 937
-10000 702 22 664 59 608 521 519 208 432
-10000 870 602 144 50 33 769 868 983 264
-10000 871 297 492 391 540 819 698 818 266
-10000 390 98 24 560 444 340 61 706 196
-10000 993 144 418 516 101 436 343 935 481
-10000 967 464 783 901 294 627 832 809 805
-10000 495 83 661 930 299 334 242 909 635
-10000 608 82 187 382 769 284 696 700 619
-10000 34 896 237 355 337 957 27 696 327
-10000 957 447 955 726 121 26 644 381 523
-10000 565 148 871 91 946 370 109 404 884
-10000 919 953 846 605 184 699 929 126 720
-10000 691 17 210 67 294 418 276 644 647
-10000 799 912 643 800 233 79 286 307 986
-10000 246 972 884 314 703 100 34 955 435
-10000 912 55 677 705 290 993 337 809 523
-10000 606 695 249 265 905 288 147 158 8
-10000 920 240 610 108 287 628 103 392 540
-10000 50 530 585 880 58 297 827 363 222
-10000 320 901 528 123 961 816 321 588 887
-10000 621 197 101 477 355 239 34 59 945
-10000 191 708 833 21 234 462 389 193 879
-10000 262 878 710 562 891 6 447 821 418
-10000 166 336 722 18 698 416 107 861 853
-10000 213 158 146 482 775 213 557 361 312
-10000 411 7 705 859 795 717 500 160 820
-10000 585 381 905 100 929 286 853 771 737
-10000 672 381 606 123 469 341 734 11 1
-10000 180 484 437 469 42 214 261 442 633
-10000 166 176 217 67 151 906 329 289 67
-10000 978 806 173 115 599 627 962 412 192
-10000 529 811 746 527 566 681 322 528 237
-10000 966 971 933 400 504 951 779 996 721
-10000 821 79 570 677 932 585 378 149 713
-10000 807 748 613 849 541 170 145 70 526
-10000 983 734 193 898 851 967 640 869 171
-10000 300 649 878 198 47 824 963 468 529
-10000 789 674 549 433 549 798 117 593 739
-10000 500 440 960 276 482 947 391 110 303
-10000 155 827 735 363 51 62 569 297 795
-10000 107 121 613 786 255 910 384 277 807
-10000 338 1000 716 831 763 341 707 572 550
-10000 488 310 450 497 640 599 752 743 228
-10000 779 488 498 241 586 261 316 18 439
-10000 340 342 222 371 819 764 809 137 142
-10000 442 20 52 826 216 71 172 735 436
-10000 293 434 87 113 175 30 776 204 748
-10000 786 30 849 116 266 204 770 138 26
-10000 844 744 88 685 409 50 127 926 818
-10000 849 193 657 134 25 368 84 369 847
-10000 740 362 628 746 863 255 83 904 704
-10000 167 723 194 670 558 723 286 448 298
-10000 461 763 401 773 457 235 410 443 809
-10000 201 647 798 834 372 255 312 27 574
-10000 691 770 424 132 739 693 826 107 896
-10000 46 488 768 502 172 787 315 32 571
-10000 402 544 148 21 601 101 938 381 908
-10000 615 567 45 618 192 514 40 357 605
-10000 74 480 512 841 112 526 838 974 549
-10000 279 665 318 540 425 304 454 180 995
-10000 68 566 131 627 637 781 690 589 62
-10000 205 644 905 596 657 691 960 684 501
-10000 650 214 819 254 410 715 675 266 526
-10000 106 141 614 269 955 506 269 331 576
-10000 548 19 675 648 332 157 575 927 173
-10000 482 415 664 125 295 859 931 658 208
-10000 230 741 588 242 453 480 964 896 611
-10000 403 216 950 577 968 83 238 873 182
-10000 708 533 839 123 953 95 327 420 222
-10000 694 981 225 949 957 131 204 867 14
-10000 956 822 165 33 500 895 395 210 439
-10000 598 549 917 251 225 912 671 665 975
-10000 337 57 396 252 795 420 242 453 266
-10000 941 161 461 223 369 73 761 297 246
-10000 925 81 72 534 172 86 344 495 980
-10000 810 456 107 473 318 933 706 486 917
-10000 127 169 242 468 530 174 963 189 454
-10000 477 554 620 546 298 411 318 907 494
-10000 594 79 918 708 74 265 59 460 351
-10000 273 413 915 202 87 527 500 683 477
-10000 631 294 711 267 385 726 170 581 597
-10000 641 886 403 250 825 400 870 423 196
-10000 678 207 809 472 606 884 931 387 573
-10000 505 406 122 247 548 736 945 574 787
-10000 651 64 799 481 302 672 951 368 834
-10000 43 26 568 388 461 114 889 972 584
-10000 886 578 532 416 540 693 876 506 958
-10000 616 10 522 228 578 377 670 820 466
-10000 778 333 131 610 458 524 681 807 469
-10000 837 303 510 535 795 320 133 665 319
-10000 638 881 400 513 962 339 256 647 510
-10000 364 391 151 534 419 368 649 881 431
-10000 834 38 455 815 1 190 423 174 313
-10000 100 637 134 109 633 103 501 355 469
-10000 381 609 221 177 255 307 81 717 447
-10000 426 649 559 934 563 277 231 416 679
-10000 509 104 418 829 770 547 320 624 762
-10000 758 124 777 65 675 11 719 112 722
-10000 953 971 273 173 621 306 571 97 625
-10000 956 17 621 110 519 675 182 320 290
-10000 74 263 92 74 364 498 875 170 952
-10000 850 896 271 28 712 187 705 695 557
-10000 162 835 850 560 187 649 246 79 565
-10000 193 97 479 471 39 192 436 627 793
-10000 72 153 332 224 993 647 303 980 276
-10000 266 892 759 397 709 469 598 534 801
-10000 975 600 502 938 486 525 142 218 530
-10000 604 81 290 327 704 450 21 265 431
-10000 129 790 111 275 574 650 464 313 571
-10000 50 157 403 676 201 792 315 402 993
-10000 738 267 234 900 904 338 476 656 127
-10000 301 495 600 211 101 455 942 710 798
-10000 915 859 150 997 778 607 27 705 586
-10000 87 29 706 393 503 103 230 45 137
-10000 634 266 942 237 281 8 293 815 511
-10000 905 619 527 326 613 655 890 145 300
-10000 317 837 663 892 706 754 981 172 58
-10000 534 6 180 773 893 486 618 119 411
-10000 486 796 111 969 396 435 237 84 84
-10000 90 949 308 199 241 745 183 624 440
-10000 886 482 108 604 580 288 136 42 73
-10000 776 133 935 991 638 959 839 709 490
-10000 23 608 672 120 67 615 12 616 209
-10000 787 743 609 639 351 467 200 116 167
-10000 201 150 65 456 550 711 145 599 332
-10000 195 68 542 901 450 724 813 841 763
-10000 409 546 128 955 215 586 730 966 415
-10000 993 822 264 275 936 66 890 699 737
-10000 63 696 464 433 410 609 653 626 232
-10000 707 187 963 321 14 381 401 582 689
-10000 391 215 441 779 305 52 399 945 446
-10000 98 693 929 856 384 118 953 349 330
-10000 33 913 966 919 985 504 817 634 953
-10000 650 847 921 409 784 370 457 439 446
-10000 647 169 358 679 604 144 91 363 429
-10000 44 475 394 983 17 730 835 543 109
-10000 436 323 702 326 731 904 494 529 491
-10000 973 614 403 0 776 690 475 175 318
-10000 654 158 490 598 821 71 318 315 427
-10000 909 434 437 295 982 15 723 247 487
-10000 720 339 684 103 942 106 504 177 708
-10000 154 702 996 85 874 681 600 646 991
-10000 540 822 52 646 631 389 842 642 423
-10000 261 723 94 166 811 567 353 403 447
-10000 487 866 667 560 758 451 844 413 418
-10000 825 873 958 965 582 703 92 573 683
-10000 913 275 686 756 346 921 632 32 354
-10000 21 565 87 151 900 196 489 187 942
-10000 742 39 898 830 948 460 980 968 296
-10000 263 211 827 372 213 352 606 339 403
-10000 525 691 847 261 564 742 254 446 602
-10000 460 883 676 262 954 602 93 72 240
-10000 497 172 247 586 736 905 47 577 404
-10000 47 678 0 520 293 788 681 960 419
-10000 444 151 585 130 176 778 94 861 772
-10000 181 57 659 614 37 70 455 46 285
-10000 361 305 465 200 851 836 244 799 602
-10000 750 387 298 417 253 978 218 523 709
-10000 746 117 132 811 836 197 633 59 664
-10000 465 755 497 656 223 720 80 179 786
-10000 891 729 960 797 311 58 295 245 486
-10000 853 739 882 943 174 460 100 290 700
-10000 667 789 948 350 231 587 867 241 559
-10000 445 404 200 396 358 708 875 872 983
-10000 825 948 559 58 742 980 281 190 997
-10000 262 655 633 982 296 859 383 235 917
-10000 710 361 572 129 274 542 613 933 625
-10000 409 840 718 210 218 504 992 547 559
-10000 777 946 631 27 666 969 826 167 862
-10000 943 978 272 146 338 601 875 579 368
-10000 753 824 872 631 810 108 818 724 683
-10000 936 48 784 23 474 676 734 859 53
-10000 666 108 420 489 469 544 118 676 234
-10000 626 523 765 419 418 772 73 598 82
-10000 971 722 161 129 69 952 56 662 430
-10000 9 388 814 316 563 667 839 340 38
-10000 605 137 985 942 961 551 990 596 643
-10000 644 818 15 902 809 578 466 497 381
-10000 903 125 165 897 413 446 491 112 93
-10000 117 913 18 884 90 160 646 570 969
-10000 290 97 181 656 533 996 963 91 205
-10000 357 420 854 274 815 469 42 34 62
-10000 261 447 816 230 216 661 186 39 300
-10000 941 929 949 109 351 577 412 877 459
-10000 848 50 942 913 230 109 454 505 919
-10000 422 544 854 504 416 11 29 662 253
-10000 648 917 242 236 570 788 787 516 858
-10000 408 757 495 373 68 183 915 294 331
-10000 729 681 692 781 698 833 404 555 379
-10000 178 506 729 571 103 445 887 869 98
-10000 629 260 290 506 197 633 959 891 343
-10000 277 627 250 831 971 238 485 464 707
-10000 515 674 897 791 376 75 886 330 650
-10000 254 139 349 63 479 205 165 687 881
-10000 197 540 875 334 589 313 405 256 151
-10000 454 707 538 709 940 821 739 335 773
-10000 81 751 509 432 958 707 170 64 629
-10000 80 438 22 172 218 677 321 374 429
-10000 568 481 527 44 878 396 577 433 830
-10000 390 885 732 734 165 340 877 999 1
-10000 908 315 400 953 990 226 225 567 423
-10000 453 406 470 793 9 364 53 638 985
-10000 287 889 637 617 312 102 432 156 845
-10000 813 995 411 3 730 323 824 300 945
-10000 270 614 245 504 838 879 498 787 675
-10000 76 111 614 928 783 222 863 683 256
-10000 154 863 266 307 258 94 937 566 185
-10000 318 628 948 374 170 23 276 705 721
-10000 751 722 673 209 557 664 300 989 894
-10000 181 112 272 606 466 644 658 154 555
-10000 909 243 349 374 320 185 331 901 255
-10000 848 866 1000 768 952 263 108 628 174
-10000 625 590 108 505 361 649 409 346 909
-10000 96 638 453 173 934 819 653 73 737
-10000 799 642 632 967 610 85 448 778 505
-10000 522 977 986 588 225 692 377 664 534
-10000 18 298 359 166 833 174 99 315 920
-10000 134 352 866 168 578 298 99 977 985
-10000 538 393 592 286 685 69 77 943 902
-10000 411 178 395 676 880 895 306 18 387
-10000 184 681 868 847 970 195 393 494 766
-10000 50 183 934 190 836 552 522 570 878
-10000 70 376 194 885 226 229 791 506 377
-10000 779 152 291 161 638 539 249 863 536
-10000 997 776 422 751 973 685 837 884 315
-10000 125 524 955 353 98 419 409 305 202
-10000 794 92 769 22 103 790 743 413 17
-10000 739 382 889 687 924 441 180 32 691
-10000 663 789 297 752 179 933 541 16 931
-10000 272 708 168 492 54 74 574 992 909
-10000 522 374 414 163 319 868 356 736 327
-10000 936 387 873 668 608 218 925 722 71
-10000 487 120 755 261 739 765 394 174 746
-10000 77 859 565 52 939 225 494 19 117
-10000 47 801 1 291 342 126 488 861 996
-10000 442 187 555 262 762 695 297 308 129
-10000 681 766 549 304 884 491 59 714 89
-10000 343 183 601 946 380 35 559 480 106
-10000 681 533 156 672 320 422 763 288 190
-10000 43 734 912 899 671 751 460 74 417
-10000 872 822 456 967 492 82 146 552 720
-10000 228 159 275 705 301 280 58 346 443
-10000 9 210 51 748 680 655 387 779 140
-10000 784 783 936 274 856 996 89 231 126
-10000 802 632 667 357 247 625 334 689 445
-10000 917 644 972 228 962 848 317 169 619
-10000 706 78 444 406 847 683 609 419 697
-10000 39 142 110 700 212 194 691 836 987
-10000 555 562 894 704 777 455 23 102 865
-10000 645 710 492 203 815 161 880 839 760
-10000 172 296 46 903 112 202 561 275 183
-10000 741 815 553 746 442 209 131 223 1000
-10000 453 554 721 822 460 191 134 326 399
-10000 400 22 619 497 130 188 293 164 528
-10000 308 402 592 707 3 478 607 798 535
-10000 93 200 303 403 770 933 54 982 154
-10000 860 195 528 167 384 447 96 373 228
-10000 835 873 513 16 357 129 180 595 410
-10000 493 295 712 552 345 730 382 361 726
-10000 758 56 735 378 189 947 60 721 953
-10000 893 134 560 265 490 749 986 891 137
-10000 541 511 375 57 83 75 289 68 745
-10000 408 111 650 309 588 582 717 867 795
-10000 148 731 41 592 69 964 796 386 629
-10000 18 966 666 578 105 278 259 591 174
-10000 92 759 661 264 48 966 453 617 801
-10000 669 162 956 234 759 337 86 239 302
-10000 881 6 296 911 809 302 543 464 422
-10000 200 771 637 271 598 917 303 125 2
-10000 108 229 319 653 158 679 909 104 311
-10000 55 938 537 871 604 3 590 989 792
-10000 577 152 586 603 567 117 268 943 276
-10000 379 795 594 972 627 254 673 331 135
-10000 111 516 727 910 526 402 904 790 368
-10000 200 382 932 351 330 455 739 903 275
-10000 962 487 816 28 569 693 337 405 618
-10000 412 493 141 728 852 593 908 302 628
-10000 98 753 291 372 135 538 451 261 676
-10000 396 405 556 330 874 346 703 877 201
-10000 554 626 182 983 413 177 210 329 945
-10000 228 23 713 417 212 223 350 45 747
-10000 498 928 104 525 7 650 275 28 261
-10000 764 496 554 624 599 992 606 494 518
-10000 31 623 937 342 191 907 737 687 870
-10000 105 323 63 665 47 624 467 58 71
-10000 487 91 885 939 823 780 214 964 686
-10000 735 430 385 197 74 716 801 813 431
-10000 190 795 744 537 517 336 737 511 908
-10000 784 558 51 66 288 6 768 492 671
-10000 977 10 995 342 735 758 602 780 785
-10000 487 81 560 214 39 692 290 524 690
-10000 124 821 643 986 461 631 324 693 238
-10000 10 945 398 375 56 92 251 447 20
-10000 745 430 722 760 810 549 389 431 553
-10000 908 228 44 150 589 629 31 626 516
-10000 596 73 675 311 609 246 925 196 308
-10000 470 920 569 372 436 235 522 644 279
-10000 381 756 326 541 798 831 32 478 294
-10000 322 421 24 562 886 737 554 850 157
-10000 721 677 871 666 503 573 556 504 792
-10000 286 229 899 942 507 536 265 916 93
-10000 138 585 136 765 530 536 193 826 775
-10000 558 55 888 15 232 753 770 291 562
-10000 846 175 696 736 206 618 495 577 912
-10000 601 534 811 137 216 91 941 907 619
-10000 241 275 484 848 888 389 584 906 879
-10000 179 340 113 744 193 412 692 344 961
-10000 572 27 855 811 464 226 755 329 907
-10000 583 908 520 216 919 67 764 453 425
-10000 77 744 68 454 156 646 244 372 410
-10000 819 425 45 675 173 123 680 599 809
-10000 901 543 215 438 845 198 18 546 310
-10000 274 639 520 353 63 525 358 168 714
-10000 154 542 539 824 502 277 966 171 255
-10000 60 637 217 763 736 326 426 114 876
-10000 453 95 740 689 408 611 314 103 925
-10000 486 237 243 490 836 141 314 401 730
-10000 726 684 56 498 974 597 454 195 142
-10000 517 16 11 426 520 744 540 753 144
-10000 884 185 916 79 734 60 978 987 367
-10000 674 263 604 939 969 233 108 398 389
-10000 229 608 143 535 246 332 713 619 452
-10000 813 300 85 456 376 389 350 861 168
-10000 988 921 405 867 999 252 142 706 73
-10000 650 221 138 639 271 675 240 601 125
-10000 587 822 823 645 202 209 402 680 413
-10000 857 105 705 581 1 324 757 39 859
-10000 762 728 54 715 130 201 281 131 279
-10000 345 897 745 959 923 950 419 935 476
-10000 291 273 355 841 490 292 560 115 322
-10000 333 179 579 474 582 863 992 785 108
-10000 400 268 49 639 83 18 725 319 362
-10000 932 277 950 316 912 575 517 62 577
-10000 806 431 646 461 133 74 159 68 556
-10000 313 401 843 444 554 739 357 976 467
-10000 551 940 121 320 401 140 18 471 91
-10000 639 397 676 913 121 732 785 394 565
-10000 635 995 630 230 669 466 716 411 678
-10000 632 821 256 640 107 507 946 259 413
-10000 341 227 112 246 998 241 710 409 95
-10000 215 836 397 719 418 27 763 14 340
-10000 825 932 185 478 952 153 112 60 550
-10000 387 406 216 531 2 837 574 499 845
-10000 760 474 378 223 608 350 282 733 140
-10000 83 590 864 94 790 942 552 721 688
-10000 849 935 787 635 179 712 165 47 114
-10000 966 279 294 477 650 631 80 426 691
-10000 20 880 240 855 528 482 901 251 866
-10000 165 9 763 566 393 857 134 671 476
-10000 686 558 305 242 728 685 717 171 534
-10000 47 634 373 928 266 589 218 45 980
-10000 142 396 586 631 571 332 923 789 879
-10000 519 317 713 500 102 843 221 94 975
-10000 807 800 310 264 61 274 946 336 2
-10000 972 956 454 569 771 70 219 795 575
-10000 270 828 349 534 526 33 460 362 758
-10000 980 502 572 840 372 123 390 41 533
-10000 235 268 137 985 385 926 250 331 941
-10000 246 969 441 269 40 758 885 288 726
-10000 523 542 617 918 312 809 991 706 867
-10000 993 656 319 426 912 890 652 910 645
-10000 635 580 936 276 584 906 447 887 764
-10000 802 885 144 86 171 717 35 602 548
-10000 130 696 688 166 563 66 354 646 483
-10000 594 896 870 312 338 33 404 460 823
-10000 567 794 215 767 381 297 398 412 178
-10000 601 334 262 959 72 876 323 737 79
-10000 930 737 898 605 189 179 633 583 810
-10000 440 587 914 520 668 87 576 684 762
-10000 83 76 21 685 927 393 1000 107 624
-10000 256 405 484 599 375 876 115 720 624
-10000 770 826 423 115 161 919 796 444 132
-10000 436 702 141 835 856 988 229 563 722
-10000 85 786 989 222 532 507 245 730 217
-10000 980 151 527 835 844 224 955 335 480
-10000 967 154 375 411 29 500 84 672 718
-10000 582 213 66 307 625 519 901 727 197
-10000 661 952 994 29 75 157 244 973 605
-10000 847 448 888 460 242 556 92 945 934
-10000 523 87 632 134 832 144 688 825 620
-10000 869 198 279 697 824 728 231 268 257
-10000 91 937 266 154 456 4 481 429 342
-10000 874 148 527 462 704 52 3 202 15
-10000 471 296 128 17 263 533 563 143 633
-10000 224 810 990 551 974 324 364 429 554
-10000 77 256 930 44 505 612 339 0 562
-10000 0 826 438 1000 103 449 400 976 859
-10000 121 478 196 416 613 113 138 800 888
-10000 704 789 335 845 371 840 603 684 169
-10000 774 126 900 134 17 722 772 986 525
-10000 913 198 670 729 385 555 562 708 175
-10000 363 829 573 499 58 274 22 899 931
-10000 535 111 192 470 595 750 147 551 130
-10000 760 480 862 496 693 833 331 375 414
-10000 434 139 20 980 203 146 858 394 643
-10000 659 649 557 430 800 228 213 65 278
-10000 576 911 894 240 778 518 808 86 355
-10000 414 473 748 862 221 52 36 662 701
-10000 236 989 161 206 756 923 103 974 55
-10000 683 323 285 994 383 313 216 716 144
-10000 797 461 784 98 956 296 459 201 604
-10000 533 459 361 923 253 14 361 331 39
-10000 47 139 456 955 454 809 972 572 48
-10000 274 956 156 353 793 284 380 840 740
-10000 146 776 276 79 130 617 953 972 693
-10000 831 621 670 691 825 999 58 248 450
-10000 390 309 281 367 263 489 927 401 660
-10000 582 855 685 468 520 741 282 920 99
-10000 160 310 677 264 338 839 218 365 164
-10000 206 975 531 543 71 282 727 346 99
-10000 988 323 946 870 950 836 521 650 419
-10000 666 747 883 907 755 758 332 602 198
-10000 166 207 676 461 386 248 373 820 866
-10000 512 268 730 301 994 601 451 971 823
-10000 388 342 756 564 759 471 599 270 557
-10000 148 600 620 840 891 819 115 431 46
-10000 779 56 962 117 259 393 330 24 28
-10000 636 803 972 855 56 147 16 907 411
-10000 401 224 584 420 99 393 240 517 52
-10000 154 272 274 335 674 405 122 931 72
-10000 682 929 219 56 125 761 626 908 735
-10000 680 288 259 366 914 848 269 469 782
-10000 537 640 892 8 250 186 781 479 801
-10000 850 436 740 264 738 197 812 915 105
-10000 321 952 871 179 700 308 607 305 193
-10000 168 933 392 303 585 629 314 558 462
-10000 330 391 423 889 1 153 714 719 476
-10000 268 42 583 767 807 241 226 934 717
-10000 25 613 482 637 376 28 764 836 854
-10000 494 185 992 461 376 653 976 707 337
-10000 499 724 329 680 107 103 979 691 587
-10000 738 371 629 664 330 346 873 137 89
-10000 656 913 10 561 310 961 805 837 570
-10000 465 855 196 571 706 781 882 574 163
-10000 84 605 296 266 647 132 439 507 749
-10000 355 666 527 120 503 829 56 85 556
-10000 783 482 551 743 748 740 328 507 602
-10000 496 216 266 352 221 74 432 19 751
-10000 187 993 247 64 744 989 369 74 555
-10000 751 310 11 86 96 320 578 258 878
-10000 745 908 708 322 925 947 474 40 737
-10000 255 540 545 556 203 290 292 484 54
-10000 65 620 881 18 53 49 580 367 737
-10000 238 970 496 395 578 566 406 897 528
-10000 93 214 920 353 494 996 864 416 939
-10000 672 156 712 976 20 745 796 643 457
-10000 448 152 116 994 822 336 553 832 683
-10000 989 486 53 304 378 571 190 187 310
-10000 778 457 931 380 243 920 687 419 835
-10000 851 419 871 209 731 528 16 743 986
-10000 210 0 283 897 639 997 242 998 796
-10000 828 527 685 649 588 977 583 893 218
-10000 547 924 861 413 408 288 51 628 846
-10000 657 801 450 726 352 637 200 72 100
-10000 265 54 833 241 5 277 378 628 970
-10000 776 367 18 793 564 784 18 733 251
-10000 474 161 254 869 37 879 958 464 559
-10000 899 361 250 656 254 766 33 18 322
-10000 816 242 723 84 425 275 85 979 905
-10000 325 256 466 287 823 998 853 212 303
-10000 245 138 179 574 195 481 153 376 914
-10000 799 111 159 745 174 256 652 352 146
-10000 204 364 781 26 786 487 74 358 711
-10000 796 637 189 710 223 547 861 651 413
-10000 429 609 854 976 903 838 448 396 364
-10000 826 821 920 722 567 536 106 172 699
-10000 982 848 664 558 792 137 908 61 871
-10000 429 470 214 662 129 578 883 897 684
-10000 937 90 179 30 297 406 455 662 262
-10000 672 196 279 210 268 717 91 602 777
-10000 785 159 729 708 232 926 6 959 801
-10000 153 101 524 113 550 641 209 935 109
-10000 416 807 708 683 773 114 482 312 598
-10000 352 649 717 604 352 850 846 857 462
-10000 674 828 641 755 610 2 18 76 702
-10000 946 93 821 49 117 419 566 558 0
-10000 220 3 203 952 716 153 471 684 888
-10000 831 359 2 625 753 171 529 138 572
-10000 446 981 201 595 128 985 188 934 7
-10000 651 359 577 321 186 326 4 793 770
-10000 520 17 734 365 603 238 227 926 564
-10000 245 621 287 778 7 866 772 113 256
-10000 620 468 773 411 757 127 754 221 121
-10000 64 643 65 941 460 121 155 598 315
-10000 849 1 50 627 696 359 246 224 893
-10000 253 556 932 795 528 339 868 312 787
-10000 469 287 374 166 175 918 656 645 585
-10000 399 470 846 509 286 633 77 868 2
-10000 32 429 469 7 955 310 210 164 417
-10000 72 34 695 667 469 489 591 114 564
-10000 61 140 64 612 798 204 609 421 321
-10000 112 205 823 709 170 854 16 257 626
-10000 693 158 136 207 691 566 322 531 834
-10000 165 897 1000 738 338 556 657 487 342
-10000 942 579 686 358 604 678 982 600 929
-10000 93 102 1 1000 720 29 904 905 729
-10000 134 133 347 946 368 911 450 79 155
-10000 96 450 388 932 203 40 497 928 123
-10000 508 139 683 79 811 650 993 617 405
-10000 306 727 433 448 354 713 71 453 381
-10000 44 716 840 232 284 750 729 774 22
-10000 174 411 55 734 357 372 226 709 30
-10000 441 303 494 543 831 658 789 502 568
-10000 5 654 236 241 827 260 188 40 77
-10000 720 34 380 83 497 388 211 514 825
-10000 648 528 883 67 864 164 66 709 159
-10000 871 662 329 81 591 274 670 603 284
-10000 577 230 289 93 273 942 3 209 162
-10000 892 753 875 60 465 299 499 23 350
-10000 713 99 618 852 180 461 820 304 268
-10000 549 73 758 819 450 908 53 778 300
-10000 259 779 493 407 169 776 549 473 306
-10000 601 828 983 873 622 219 209 392 653
-10000 569 7 656 384 902 498 321 778 278
-10000 667 95 754 100 714 499 277 457 979
-10000 704 246 828 568 479 908 320 184 198
-10000 911 784 425 946 762 65 183 612 802
-10000 792 291 318 619 29 288 419 789 230
-10000 294 719 862 297 439 733 70 866 395
-10000 823 367 813 683 738 951 959 989 839
-10000 119 49 796 911 23 226 292 7 183
-10000 418 757 139 985 843 580 934 358 602
-10000 703 378 819 432 288 407 75 449 583
-10000 377 960 353 142 398 392 487 650 880
-10000 671 428 898 919 854 509 151 39 519
-10000 205 722 725 310 506 710 427 917 293
-10000 526 573 679 12 220 745 826 886 968
-10000 22 524 636 937 12 753 951 11 185
-10000 493 153 60 920 187 556 956 312 267
-10000 914 991 304 292 898 519 909 867 831
-10000 588 526 12 855 852 961 774 329 879
-10000 403 259 243 104 634 569 371 470 751
-10000 388 247 126 864 298 440 248 955 315
-10000 594 104 477 927 725 332 252 589 550
-10000 260 692 847 351 176 78 59 308 802
-10000 988 858 317 317 408 581 753 823 148
-10000 427 702 893 416 557 659 476 515 410
-10000 997 178 33 172 619 593 479 511 758
-10000 559 302 203 156 743 289 283 927 919
-10000 838 718 631 596 481 603 756 700 405
-10000 58 866 436 258 691 617 406 61 428
-10000 888 206 658 103 829 730 372 142 873
-10000 530 523 688 199 22 752 852 411 175
-10000 473 78 259 162 168 456 970 609 336
-10000 9 203 204 619 668 888 736 131 383
-10000 655 785 947 78 583 918 478 269 713
-10000 853 196 153 566 545 360 160 509 471
-10000 979 738 609 43 440 939 403 254 929
-10000 592 498 776 772 773 964 229 170 273
-10000 511 518 689 780 361 43 467 638 356
-10000 732 265 176 612 702 503 995 471 923
-10000 304 597 356 739 668 717 787 610 465
-10000 83 711 670 357 901 476 905 130 47
-10000 748 487 533 722 834 975 854 798 5
-10000 530 22 511 590 291 957 121 310 82
-10000 331 53 674 615 209 660 879 126 343
-10000 327 619 233 244 901 0 367 725 339
-10000 446 303 83 797 400 721 554 220 904
-10000 928 325 310 482 829 912 197 530 639
-10000 129 574 437 79 68 140 415 620 706
-10000 833 872 98 811 686 447 645 675 249
-10000 68 154 596 741 397 351 112 791 679
-10000 371 899 467 62 598 205 867 270 592
-10000 601 807 789 411 961 637 685 437 50
-10000 333 800 718 214 464 992 719 852 870
-10000 366 126 891 567 453 734 49 265 838
-10000 120 128 245 759 371 235 78 755 673
-10000 244 829 781 343 240 541 605 373 295
-10000 774 836 949 728 567 353 936 410 502
-10000 549 136 5 299 344 649 143 579 785
-10000 797 464 56 983 967 317 382 563 575
-10000 207 358 278 161 402 27 14 653 966
-10000 375 591 545 349 807 684 496 889 759
-10000 770 522 138 292 68 177 355 500 486
-10000 556 266 739 807 546 699 751 416 402
-10000 416 127 178 103 37 58 948 45 670
-10000 961 544 10 404 644 113 64 992 811
-10000 943 242 975 995 376 81 210 37 996
-10000 524 930 983 945 440 424 215 956 477
-10000 728 434 511 725 842 973 885 875 341
-10000 597 146 429 353 431 836 667 124 924
-10000 424 974 348 323 492 629 850 531 625
-10000 618 927 44 4 643 544 575 177 296
-10000 947 782 67 637 290 376 842 401 51
-10000 738 17 372 662 778 993 284 825 425
-10000 409 649 599 527 746 764 298 326 809
-10000 559 56 822 46 285 9 228 717 677
-10000 412 557 485 618 772 859 651 578 521
-10000 965 176 68 185 132 266 160 946 128
-10000 189 441 288 758 659 747 784 823 852
-10000 271 660 524 33 707 628 222 312 980
-10000 496 8 666 141 771 151 556 152 129
-10000 255 336 340 377 654 651 734 283 115
-10000 197 880 585 369 914 452 34 36 371
-10000 91 994 15 107 126 55 661 286 71
-10000 555 192 129 303 171 633 70 69 383
-10000 542 333 518 109 442 764 620 958 809
-10000 462 411 798 349 708 178 343 987 861
-10000 816 571 613 476 362 951 260 135 817
-10000 837 147 486 857 495 853 602 939 194
-10000 150 618 406 911 916 672 23 688 403
-10000 850 474 480 984 230 691 894 312 542
-10000 487 637 456 718 389 783 25 492 378
-10000 320 799 580 859 782 995 436 537 235
-10000 793 261 704 292 381 994 847 131 444
-10000 929 876 850 246 44 920 92 69 435
-10000 19 395 503 866 327 395 144 149 595
-10000 748 20 398 521 547 119 319 854 33
-10000 824 856 929 635 608 541 989 976 527
-10000 265 896 329 802 761 792 712 306 717
-10000 563 299 168 528 505 249 480 291 410
-10000 565 426 862 195 479 613 400 719 116
-10000 714 576 486 92 975 619 553 544 143
-10000 389 550 375 521 236 294 870 914 581
-10000 324 929 967 143 477 636 423 94 348
-10000 698 150 693 421 974 980 629 186 542
-10000 741 729 338 604 692 315 513 537 196
-10000 214 511 596 513 347 574 369 611 962
-10000 270 237 586 156 975 568 652 607 759
-10000 212 385 403 798 98 35 37 741 692
-10000 731 462 483 969 75 377 567 906 947
-10000 272 471 778 838 385 791 88 994 732
-10000 837 627 180 850 358 427 181 547 872
-10000 669 810 357 681 777 590 96 638 689
-10000 17 440 510 532 107 150 212 337 344
-10000 91 879 509 424 575 892 685 786 766
-10000 518 392 782 168 430 266 772 68 308
-10000 527 84 480 942 878 357 741 547 697
-10000 761 582 586 219 667 891 967 920 791
-10000 627 118 926 51 261 803 13 776 502
-10000 224 823 789 510 942 963 174 208 404
-10000 600 549 447 860 428 764 136 611 819
-10000 483 314 969 321 598 41 89 753 571
-10000 359 347 293 606 313 542 790 26 867
-10000 688 536 505 55 602 646 117 849 298
-10000 727 842 349 912 901 199 903 46 761
-10000 656 816 951 511 828 194 762 881 121
-10000 398 180 117 878 818 537 133 388 821
-10000 468 466 728 756 376 332 200 503 523
-10000 282 246 531 551 2 330 766 259 308
-10000 123 228 951 421 153 421 766 551 349
-10000 372 725 826 14 61 386 951 835 693
-10000 626 83 793 453 620 549 457 404 910
-10000 568 960 382 122 231 618 430 854 89
-10000 647 479 273 547 796 24 790 654 168
-10000 109 604 74 419 563 373 294 457 995
-10000 997 342 359 232 884 714 66 939 517
-10000 971 635 514 742 622 972 738 325 487
-10000 596 68 539 188 144 377 447 249 86
-10000 892 878 628 328 632 496 394 545 498
-10000 609 167 484 571 838 479 564 693 566
-10000 789 227 128 336 118 773 188 196 670
-10000 238 231 92 285 30 178 468 583 8
-10000 306 955 384 287 146 10 524 848 222
-10000 749 670 604 888 131 759 200 704 972
-10000 349 734 81 101 589 34 986 809 843
-10000 602 160 558 724 837 12 296 953 950
-10000 387 399 70 307 593 514 370 995 876
-10000 956 140 115 650 657 199 279 153 138
-10000 172 377 520 881 607 526 134 895 94
-10000 891 816 445 369 108 732 238 850 629
-10000 832 873 776 368 660 208 786 572 109
-10000 140 842 696 571 56 784 545 887 380
-10000 214 614 523 509 521 677 756 327 225
-10000 162 797 494 852 2 353 257 474 308
-10000 622 447 746 392 784 251 356 192 370
-10000 302 31 151 773 41 641 336 303 150
-10000 371 134 935 79 194 731 761 960 624
-10000 845 968 788 655 95 709 390 382 202
-10000 128 504 112 944 533 455 802 77 970
-10000 604 261 625 392 309 847 312 524 110
-10000 298 519 105 484 103 537 433 953 530
-10000 229 287 843 169 648 88 809 101 488
-10000 477 865 744 302 138 667 740 537 824
-10000 285 286 21 321 129 882 804 789 8
-10000 421 506 400 399 513 901 300 572 941
-10000 255 12 892 119 61 990 505 834 79
-10000 753 408 835 599 977 735 116 917 791
-10000 936 12 723 630 77 558 807 891 706
-10000 403 464 968 23 914 22 293 952 831
-10000 271 796 410 885 863 27 168 718 976
-10000 563 708 573 85 988 466 94 486 368
-10000 746 985 732 645 889 125 911 913 420
-10000 734 689 587 880 464 427 647 681 114
-10000 325 465 977 672 524 50 900 872 303
-10000 819 847 236 751 736 409 372 965 227
-10000 668 839 274 640 840 847 179 407 161
-10000 154 763 564 271 555 289 947 3 585
-10000 956 80 828 866 477 840 976 710 481
-10000 876 844 126 646 715 770 791 845 559
-10000 483 820 450 421 109 300 108 232 243
-10000 62 739 774 972 661 940 774 673 834
-10000 58 149 154 539 201 111 450 776 672
-10000 202 453 385 77 295 222 540 398 805
-10000 442 431 102 976 499 462 942 929 606
-10000 205 768 347 878 410 840 162 489 6
-10000 114 402 686 239 124 343 496 876 763
-10000 789 0 54 32 58 332 272 54 580
-10000 388 458 498 944 609 37 586 371 834
-10000 113 169 149 276 634 904 893 280 681
-10000 465 275 182 457 908 495 345 798 14
-10000 844 450 780 427 561 564 266 55 673
-10000 975 337 322 845 207 120 958 104 126
-10000 300 88 353 146 465 812 2 159 580
-10000 356 813 978 990 304 723 65 94 70
-10000 949 676 899 870 316 281 118 792 235
-10000 197 66 627 579 294 961 713 714 656
-10000 512 311 17 383 894 219 801 631 576
-10000 553 869 978 748 164 296 911 689 803
-10000 22 629 651 106 65 474 484 654 740
-10000 48 10 784 159 428 794 791 286 282
-10000 718 260 645 155 753 958 265 115 123
-10000 270 134 542 627 658 580 223 615 589
-10000 266 735 225 433 98 265 798 637 916
-10000 6 911 9 649 677 974 173 288 559
-10000 795 459 550 920 684 891 253 395 149
-10000 604 680 60 129 547 910 52 440 45
-10000 111 709 857 98 411 144 379 769 115
-10000 338 958 206 754 451 450 935 126 97
-10000 95 343 995 594 177 623 238 645 684
-10000 871 868 269 716 199 460 85 344 262
-10000 193 460 760 151 533 193 873 983 209
-10000 405 857 445 196 936 860 29 532 459
-10000 543 683 301 149 186 314 407 526 327
-10000 856 162 928 554 296 389 391 810 423
-10000 949 865 255 183 714 136 1 813 316
-10000 233 549 693 815 216 891 88 628 26
-10000 253 591 779 742 887 965 904 343 219
-10000 420 241 402 686 352 903 620 517 237
-10000 404 699 520 443 948 143 443 83 798
-10000 849 376 803 655 431 951 926 652 854
-10000 969 594 652 571 655 187 955 167 704
-10000 16 762 708 877 523 737 705 993 970
-10000 423 777 600 85 737 599 231 944 567
-10000 282 166 722 648 926 109 220 982 876
-10000 257 288 803 519 167 0 310 260 804
-10000 183 430 812 288 251 39 329 533 998
-10000 310 293 570 315 384 31 519 203 899
-10000 554 47 465 899 149 725 532 293 265
-10000 525 156 181 587 407 177 948 323 295
-10000 18 895 703 835 342 501 754 909 729
-10000 157 158 602 833 334 79 700 114 76
-10000 946 181 733 179 770 892 701 306 149
-10000 863 872 292 943 198 447 469 951 1000
-10000 251 153 751 885 567 503 3 6 807
-10000 504 298 153 484 733 139 606 355 400
-10000 872 774 462 8 836 406 298 758 375
-10000 874 143 873 102 791 901 241 766 434
-10000 532 786 734 575 936 756 653 492 295
-10000 21 496 303 355 275 910 827 220 791
-10000 420 696 570 31 159 793 747 176 352
-10000 99 457 98 628 113 840 655 71 753
-10000 914 415 917 568 639 95 687 126 462
-10000 822 651 828 451 485 855 697 280 304
-10000 801 762 915 154 57 704 587 363 777
-10000 185 568 627 504 866 140 938 324 213
-10000 28 970 824 84 137 699 767 289 160
-10000 267 887 423 154 998 707 741 219 766
-10000 773 999 855 334 310 737 936 362 122
-10000 884 819 522 174 587 990 372 672 456
-10000 625 31 966 929 991 458 979 422 880
-10000 929 388 669 624 558 889 548 905 170
-10000 742 430 859 981 409 960 879 661 490
-10000 726 210 255 878 848 206 138 244 549
-10000 915 366 641 408 355 11 153 128 395
-10000 281 87 589 521 431 521 175 970 443
-10000 74 615 881 562 616 996 268 667 127
-10000 293 988 66 47 826 104 37 791 82
-10000 926 920 337 175 321 218 477 575 396
-10000 1 697 883 534 738 565 981 841 559
-10000 702 388 308 346 265 507 73 796 405
-10000 228 978 994 749 3 533 221 96 624
-10000 46 92 323 247 917 696 937 408 93
-10000 790 734 612 204 442 265 221 589 261
-10000 463 286 296 894 853 787 303 596 55
-10000 631 301 501 655 774 626 494 817 629
-10000 27 147 937 973 782 801 436 565 664
-10000 934 131 80 196 504 560 466 224 927
-10000 286 486 150 995 915 270 767 414 35
-10000 718 431 16 300 23 969 70 684 783
-10000 793 299 302 319 61 815 201 696 887
-10000 160 79 860 81 276 172 461 53 932
-10000 348 568 690 120 933 634 361 26 892
-10000 868 861 446 86 246 518 384 396 250
-10000 257 771 29 800 967 574 615 792 785
-10000 707 974 723 256 92 979 499 3 928
-10000 594 962 828 700 3 814 932 643 32
-10000 335 908 120 351 155 754 423 783 595
-10000 168 150 56 575 695 90 56 326 77
-10000 368 834 80 995 383 225 793 486 882
-10000 474 47 272 315 728 203 827 425 219
-10000 777 722 746 22 993 317 735 31 464
-10000 500 574 305 169 809 210 315 150 302
-10000 907 760 802 801 700 546 111 298 690
-10000 661 490 543 698 670 179 504 68 558
-10000 400 666 308 265 338 430 171 360 608
-10000 39 802 174 940 353 122 769 451 12
-10000 678 450 537 181 169 65 493 445 247
-10000 744 465 391 121 443 425 114 898 115
-10000 758 591 602 403 520 40 330 131 452
-10000 262 597 391 57 953 284 993 223 167
-10000 546 712 807 195 166 374 626 618 187
-10000 523 92 12 594 367 556 685 25 179
-10000 545 866 782 381 407 199 567 863 242
-10000 425 690 320 78 816 818 897 257 978
-10000 468 247 140 803 513 591 351 594 839
-10000 973 861 665 971 511 259 971 26 904
-10000 590 16 398 26 228 474 465 538 336
-10000 948 805 916 50 339 942 532 737 421
-10000 748 884 646 373 871 82 170 221 684
-10000 111 185 910 962 237 258 525 124 313
-10000 920 237 837 469 705 522 665 886 474
-10000 463 511 846 899 690 157 114 565 880
-10000 55 485 203 922 827 626 564 228 132
-10000 783 553 45 513 274 197 749 611 288
-10000 947 226 763 528 543 772 220 887 480
-10000 158 447 332 14 127 117 550 230 709
-10000 640 521 302 194 483 635 670 24 247
-10000 935 37 999 11 696 325 298 372 217
-10000 874 751 306 781 47 335 767 81 39
-10000 402 129 995 76 784 698 275 258 833
-10000 67 485 574 172 882 519 37 707 476
-10000 596 880 333 384 952 338 712 575 488
-10000 768 35 464 598 359 815 74 204 836
-10000 591 515 744 145 731 896 980 416 653
-10000 799 731 135 44 99 319 193 890 193
-10000 283 271 29 500 114 189 15 700 647
-10000 471 763 934 338 97 173 865 138 808
-10000 116 246 346 275 240 408 855 742 149
-10000 647 849 770 669 942 813 973 908 151
-10000 457 654 0 396 869 890 307 566 990
-10000 84 968 92 31 485 810 179 508 484
-10000 98 862 585 735 48 107 133 326 438
-10000 312 8 777 433 995 106 494 294 529
-10000 364 319 660 88 645 585 559 561 847
-10000 314 757 958 532 497 315 155 760 366
-10000 549 999 330 576 742 268 226 300 617
-10000 586 55 802 984 516 80 237 730 269
-10000 620 595 184 304 424 625 850 624 61
-10000 533 401 885 17 85 817 42 474 601
-10000 825 420 588 362 741 239 528 123 804
-10000 604 288 883 973 446 869 976 239 86
-10000 292 93 730 871 663 837 54 982 685
-10000 226 632 104 791 693 72 794 262 12
-10000 226 557 599 385 883 319 583 148 108
-10000 8 203 928 746 875 428 882 169 71
-10000 158 856 962 476 843 242 345 780 198
-10000 418 620 929 666 887 250 732 727 901
-10000 409 492 394 661 983 864 327 248 939
-10000 948 851 268 357 559 358 826 299 276
-10000 56 726 86 494 973 529 767 87 858
-10000 837 921 554 108 689 601 336 555 650
-10000 631 867 852 343 994 881 212 888 549
-10000 956 155 95 1 110 880 891 59 206
-10000 862 72 722 632 238 34 315 725 183
-10000 537 340 846 748 549 265 939 437 628
-10000 669 36 139 368 526 95 95 398 234
-10000 530 612 971 891 638 567 628 769 983
-10000 893 954 195 545 179 104 472 845 572
-10000 644 148 480 165 180 906 255 738 850
-10000 25 484 969 684 275 601 870 246 598
-10000 448 971 77 431 964 498 8 49 101
-10000 988 893 301 301 438 416 860 28 984
-10000 933 141 615 604 491 258 802 611 834
-10000 423 720 136 924 977 22 2 887 419
-10000 514 412 453 297 82 874 17 403 555
-10000 727 1 106 431 824 152 353 206 130
-10000 459 122 468 404 378 413 312 390 986
-10000 587 866 144 142 552 294 292 988 92
-10000 621 50 365 328 956 984 182 823 788
-10000 86 24 116 873 187 974 552 188 122
-10000 718 923 397 362 404 14 351 449 128
-10000 317 372 460 758 23 543 196 552 311
-10000 695 685 430 488 379 474 54 326 704
-10000 1000 38 517 147 205 388 992 543 233
-10000 540 149 746 912 381 47 71 240 367
-10000 230 108 332 935 786 991 643 269 323
-10000 166 570 90 269 523 892 5 456 653
-10000 445 455 298 883 451 683 741 467 814
-10000 519 23 669 749 554 377 22 184 435
-10000 957 418 630 652 787 415 317 45 643
-10000 421 55 168 611 67 909 667 700 563
-10000 419 227 525 326 136 251 262 170 254
-10000 105 776 388 114 762 661 415 764 64
-10000 291 787 687 426 139 153 573 862 265
-10000 158 4 992 641 80 373 542 638 956
-10000 220 119 516 995 380 269 516 633 857
-10000 300 752 905 545 127 226 339 822 433
-10000 279 475 505 265 499 546 322 811 885
-10000 490 940 143 720 351 803 785 942 204
-10000 857 562 834 836 146 194 87 18 303
-10000 708 315 451 280 248 251 535 472 280
-10000 492 693 389 970 872 730 427 746 925
-10000 496 800 476 70 535 702 770 27 579
-10000 502 809 350 526 923 806 320 558 247
-10000 116 672 853 566 463 458 808 356 72
-10000 451 571 967 424 640 900 167 372 928
-10000 901 212 961 922 64 13 545 394 701
-10000 648 679 124 759 474 352 570 921 289
-10000 438 518 796 45 239 942 828 511 936
-10000 863 984 399 335 949 368 67 544 330
-10000 657 970 755 263 110 944 334 854 164
-10000 208 911 116 189 790 931 605 746 454
-10000 557 274 217 711 708 512 671 132 398
-10000 929 885 742 862 689 786 703 934 49
-10000 368 807 321 497 593 680 974 685 951
-10000 869 623 571 992 343 450 437 211 506
-10000 608 860 461 323 938 959 958 20 662
-10000 397 921 971 929 390 397 485 977 668
-10000 211 456 905 982 339 555 62 203 245
-10000 458 866 380 1000 448 588 442 142 862
-10000 951 264 173 490 118 421 971 372 542
-10000 593 964 609 436 401 219 45 47 526
-10000 697 2 85 118 911 511 429 182 811
-10000 637 278 664 222 645 783 865 777 624
-10000 716 830 178 424 723 231 371 42 5
-10000 665 159 714 770 191 495 837 983 104
-10000 957 967 144 94 28 362 407 310 691
-10000 85 288 710 563 634 316 729 903 763
-10000 738 470 500 766 266 100 824 915 308
-10000 193 632 79 348 729 829 474 213 836
-10000 294 95 335 67 120 75 569 808 541
-10000 78 967 202 530 71 193 230 511 275
-10000 678 220 815 823 46 680 741 500 872
-10000 396 276 110 401 288 527 676 867 302
-10000 980 714 756 725 562 540 580 844 840
-10000 703 494 740 986 868 705 392 821 14
-10000 605 893 263 899 171 565 414 744 236
-10000 242 421 603 262 96 764 111 476 865
-10000 996 925 579 666 110 328 270 181 247
-10000 9 284 570 53 321 672 557 437 427
-10000 865 415 197 278 876 504 27 415 277
-10000 926 199 886 247 169 356 228 659 30
-10000 171 14 740 990 795 210 615 268 634
-10000 286 98 756 994 756 276 310 167 650
-10000 689 233 91 417 746 980 436 348 735
-10000 627 97 940 143 464 817 129 95 208
-10000 436 303 505 183 236 112 525 983 396
-10000 380 604 798 209 471 644 408 925 515
-10000 22 678 176 362 65 233 686 29 556
-10000 565 355 284 904 222 610 836 784 202
-10000 600 817 809 598 807 40 263 991 62
-10000 96 447 377 9 957 562 659 120 153
-10000 950 563 548 448 547 186 370 939 215
-10000 575 951 55 236 461 879 502 525 376
-10000 876 475 186 55 836 235 574 929 187
-10000 789 150 627 742 801 259 880 979 267
-10000 168 131 139 127 564 493 107 952 111
-10000 808 719 992 44 274 730 328 898 415
-10000 786 511 210 140 36 913 676 790 605
-10000 25 72 381 273 172 152 213 292 763
-10000 995 611 956 483 602 135 475 188 536
-10000 647 844 876 44 830 299 830 630 306
-10000 713 926 692 314 291 518 970 683 449
-10000 306 502 404 321 927 61 114 528 148
-10000 724 46 74 326 546 816 374 135 790
-10000 463 483 480 92 939 21 849 9 297
-10000 694 6 242 616 34 903 298 726 55
-10000 518 815 217 750 354 986 553 709 745
-10000 212 744 459 738 541 651 922 690 516
-10000 631 670 347 619 940 485 402 356 667
-10000 167 219 743 354 235 155 471 143 320
-10000 468 667 525 71 245 896 507 95 112
-10000 888 750 465 531 476 549 392 550 846
-10000 409 515 931 436 917 40 748 938 810
-10000 868 232 625 934 668 808 553 738 657
-10000 537 969 380 418 145 326 505 98 768
-10000 526 183 921 822 732 242 998 456 308
-10000 916 854 954 537 851 640 713 329 513
-10000 246 908 395 815 923 863 656 803 765
-10000 860 584 807 0 67 197 5 395 498
-10000 531 984 973 210 623 383 716 158 554
-10000 346 167 508 551 583 474 886 359 451
-10000 14 904 325 989 493 196 425 623 163
-10000 556 333 233 179 325 984 207 871 35
-10000 908 437 983 336 342 632 480 687 533
-10000 695 808 229 811 447 841 903 904 278
-10000 284 30 864 585 435 926 957 275 86
-10000 179 890 383 599 752 352 6 622 20
-10000 570 504 951 850 122 91 682 135 795
-10000 692 115 734 75 668 908 217 790 10
-10000 927 953 71 783 961 697 764 15 45
-10000 144 430 524 597 562 671 694 405 802
-10000 822 755 130 163 235 43 460 509 864
-10000 30 602 752 866 261 539 894 620 528
-10000 290 502 585 996 745 870 892 347 921
-10000 753 38 387 987 458 223 489 359 667
-10000 170 60 889 240 182 819 782 847 807
-10000 263 336 310 312 81 946 785 801 392
-10000 828 436 726 572 478 215 939 986 863
-10000 269 243 375 43 308 604 887 960 362
-10000 908 869 278 64 962 872 857 575 638
-10000 987 323 346 520 227 88 142 325 926
-10000 10 541 803 346 228 607 651 885 820
-10000 215 140 226 104 972 892 77 319 449
-10000 120 923 236 626 145 609 247 518 631
-10000 863 468 945 995 738 668 683 69 58
-10000 294 515 799 987 854 295 761 708 468
-10000 261 747 871 512 483 480 801 720 20
-10000 16 282 522 659 344 280 99 971 753
-10000 453 293 600 893 195 343 154 81 224
-10000 301 960 250 504 420 176 849 813 316
-10000 97 10 194 481 837 112 866 871 157
-10000 345 1 85 824 623 455 662 143 244
-10000 579 28 722 717 689 370 361 216 474
-10000 221 672 202 488 191 716 759 990 762
-10000 426 193 189 692 367 767 678 17 80
-10000 61 488 512 403 542 491 333 575 489
-10000 590 357 164 453 995 708 237 383 20
-10000 714 381 975 573 766 32 348 23 676
-10000 888 387 747 282 801 507 861 398 565
-10000 731 997 827 752 700 898 998 154 3
-10000 373 393 309 533 497 853 829 235 549
-10000 815 761 74 490 573 471 551 320 825
-10000 10 474 216 89 595 229 49 309 50
-10000 674 637 38 189 493 763 171 349 503
-10000 580 243 721 239 257 975 945 207 29
-10000 177 290 160 873 207 954 324 426 793
-10000 476 601 254 910 567 949 187 830 181
-10000 497 755 761 98 546 313 536 638 469
-10000 832 84 329 865 130 638 97 21 534
-10000 796 606 222 505 573 368 670 160 362
-10000 194 26 270 937 120 742 871 465 326
-10000 195 207 23 14 48 299 210 244 102
-10000 524 471 282 766 172 754 280 922 77
-10000 203 250 193 466 485 330 468 474 562
-10000 288 864 685 980 380 373 80 377 5
-10000 331 250 232 611 763 823 383 767 849
-10000 610 60 945 790 335 330 936 970 12
-10000 154 910 256 194 11 6 386 159 147
-10000 295 814 954 789 138 744 415 57 847
-10000 573 533 797 508 177 609 402 871 619
-10000 52 950 779 144 690 311 691 644 997
-10000 639 192 484 900 32 525 360 215 84
-10000 109 176 260 231 257 927 780 754 40
-10000 593 802 596 694 304 31 293 876 441
-10000 876 74 231 473 841 214 763 94 105
-10000 593 302 33 967 159 66 391 205 917
-10000 832 232 189 504 741 981 887 30 635
-10000 112 162 397 672 649 103 879 406 161
-10000 362 647 120 922 274 928 31 79 307
-10000 110 465 602 802 110 781 985 510 659
-10000 528 379 377 887 405 705 212 844 737
-10000 67 432 137 78 443 247 803 343 150
-10000 133 512 932 552 732 544 332 107 534
-10000 421 560 101 266 730 217 763 643 981
-10000 728 853 142 222 909 721 385 608 144
-10000 922 838 849 408 166 5 156 265 892
-10000 66 259 641 677 587 497 487 261 733
-10000 919 52 99 100 179 128 172 9 367
-10000 379 59 573 248 70 662 649 920 436
-10000 28 467 969 350 453 78 603 668 478
-10000 739 751 659 328 654 211 865 227 515
-10000 858 894 212 863 154 477 196 252 190
-10000 996 566 495 964 26 45 589 582 251
-10000 664 403 152 569 572 89 819 769 326
-10000 923 48 612 72 523 506 228 458 714
-10000 960 482 194 693 104 818 426 826 828
-10000 188 460 828 298 506 899 244 383 195
-10000 824 824 471 379 52 103 125 208 179
-10000 510 139 722 605 566 274 944 708 443
-10000 926 308 76 829 265 882 41 919 310
-10000 320 14 820 917 636 898 269 602 78
-10000 143 403 491 484 600 518 340 671 851
-10000 62 892 306 452 61 322 404 463 90
-10000 381 255 665 495 909 845 292 749 329
-10000 686 839 530 987 724 952 384 292 850
-10000 176 609 740 538 990 159 534 782 494
-10000 384 596 736 976 875 6 507 126 715
-10000 276 821 496 449 810 251 604 540 151
-10000 433 429 403 108 950 229 734 224 510
-10000 988 442 673 701 630 512 220 448 544
-10000 959 570 822 439 231 102 966 573 307
-10000 646 685 603 518 526 860 256 917 894
-10000 560 447 398 281 868 81 296 650 527
-10000 80 860 407 610 34 321 620 572 183
-10000 409 897 660 803 497 186 52 363 934
-10000 491 820 118 580 513 692 589 6 325
-10000 865 679 690 932 605 813 890 59 564
-10000 90 473 575 822 201 710 808 39 622
-10000 726 987 906 916 245 152 180 186 476
-10000 284 254 548 750 77 598 115 103 791
-10000 210 749 136 315 179 633 707 144 91
-10000 315 309 396 219 804 119 555 560 761
-10000 329 584 27 197 446 624 771 580 592
-10000 47 593 641 938 283 122 687 108 829
-10000 220 489 106 885 107 6 519 202 526
-10000 508 706 968 864 767 314 363 374 810
-10000 397 216 327 931 492 215 625 92 271
-10000 338 907 931 922 792 407 493 8 52
-10000 643 88 737 507 610 872 381 296 277
-10000 56 889 364 288 965 209 955 981 458
-10000 887 397 222 307 513 592 609 509 205
-10000 692 758 874 245 274 564 565 276 36
-10000 863 110 815 790 345 186 891 379 845
-10000 831 586 887 547 135 833 884 350 308
-10000 296 414 773 440 431 690 841 521 231
-10000 256 572 897 868 281 536 282 235 775
-10000 843 290 374 327 24 34 470 198 132
-10000 462 493 598 777 227 731 844 372 527
-10000 717 419 541 916 472 663 94 671 517
-10000 883 408 183 115 90 118 453 418 525
-10000 975 989 155 462 652 272 345 378 123
-10000 698 774 219 584 368 56 236 504 405
-10000 481 794 528 144 727 680 255 599 34
-10000 266 598 680 814 605 184 89 199 393
-10000 217 327 469 800 26 618 883 43 772
-10000 186 102 5 662 931 455 888 556 205
-10000 792 817 708 420 763 68 850 805 942
-10000 996 855 698 435 779 567 445 970 897
-10000 525 911 853 618 631 88 358 267 635
-10000 861 743 767 277 770 588 292 228 60
-10000 949 226 683 157 621 212 768 161 562
-10000 199 658 187 46 402 30 368 107 746
-10000 182 229 202 959 20 596 420 484 272
-10000 301 619 321 775 414 525 358 163 709
-10000 554 988 867 50 385 679 894 325 557
-10000 625 152 679 797 104 39 465 421 914
-10000 261 817 387 234 289 652 54 373 145
-10000 6 449 617 189 713 129 299 751 279
-10000 317 219 265 676 828 907 883 518 651
-10000 553 659 62 441 26 520 863 937 827
-10000 463 753 578 898 36 160 148 921 355
-10000 643 226 549 851 843 744 196 686 365
-10000 289 681 237 680 33 530 679 753 70
-10000 621 150 727 406 853 303 569 368 251
-10000 533 947 510 76 481 80 581 880 668
-10000 583 239 420 741 533 914 157 804 316
-10000 412 896 614 888 216 263 702 264 299
-10000 76 411 748 821 990 916 122 413 681
-10000 990 288 938 369 864 558 364 410 591
-10000 423 679 406 127 30 412 146 454 509
-10000 712 525 727 210 779 874 251 622 882
-10000 630 400 153 681 104 981 530 800 251
-10000 116 199 306 748 661 953 1 807 596
-10000 170 759 452 499 521 851 721 222 48
-10000 257 211 273 260 706 262 200 428 348
-10000 453 607 380 936 404 515 565 540 396
-10000 650 220 714 692 494 450 897 25 152
-10000 886 209 457 14 123 139 819 785 164
-10000 718 697 444 384 964 85 668 79 836
-10000 680 444 496 300 299 599 211 936 197
-10000 277 41 89 598 779 525 670 990 838
-10000 758 763 367 467 127 197 693 924 490
-10000 661 5 676 139 18 32 289 901 448
-10000 744 419 544 681 880 940 610 647 689
-10000 43 836 874 181 185 201 2 73 258
-10000 847 198 938 621 875 991 585 411 869
-10000 67 139 595 692 265 24 227 554 357
-10000 4 795 652 423 298 809 390 37 236
-10000 976 867 84 82 963 92 363 677 188
-10000 974 573 713 372 25 917 689 434 616
-10000 898 218 728 179 743 760 259 202 980
-10000 663 409 24 766 133 494 503 369 967
-10000 376 922 123 297 46 859 739 144 998
-10000 41 463 127 114 637 775 331 772 116
-10000 41 302 93 900 520 871 55 354 965
-10000 416 533 941 977 279 123 201 175 34
-10000 548 594 942 600 723 896 177 129 987
-10000 122 676 683 25 6 205 131 320 44
-10000 223 250 491 800 919 976 915 294 329
-10000 189 267 322 693 957 384 69 795 81
-10000 523 125 281 312 791 679 167 640 463
-10000 807 546 555 391 257 166 211 538 254
-10000 672 359 838 170 166 865 859 958 333
-10000 439 287 309 325 800 686 962 729 79
-10000 984 266 180 232 325 410 829 980 345
-10000 797 224 561 850 281 473 552 406 242
-10000 699 180 317 545 339 297 707 796 262
-10000 462 650 96 976 206 696 228 275 225
-10000 91 243 792 982 728 869 418 442 815
-10000 214 3 822 603 450 90 471 283 473
-10000 88 807 773 901 760 216 367 680 810
-10000 515 903 395 179 621 79 613 463 885
-10000 225 339 13 963 996 396 859 139 808
-10000 772 113 616 548 446 321 867 62 348
-10000 253 125 433 754 517 194 869 273 437
-10000 533 920 919 879 701 374 55 883 612
-10000 6 748 98 141 420 183 203 583 174
-10000 586 4 213 136 311 605 582 843 942
-10000 821 133 334 390 965 83 850 202 785
-10000 65 278 350 574 80 546 476 269 433
-10000 65 40 410 344 53 355 839 470 269
-10000 68 721 93 393 475 903 678 495 165
-10000 127 458 552 777 986 800 858 148 849
-10000 882 983 96 255 282 822 227 530 372
-10000 884 909 920 617 675 144 500 462 618
-10000 866 1000 46 973 71 596 995 841 392
-10000 312 179 582 440 139 170 486 693 588
-10000 245 107 284 228 58 894 765 524 311
-10000 899 588 300 99 595 722 982 619 323
-10000 87 124 421 516 234 378 931 104 127
-10000 78 547 459 956 885 366 180 438 892
-10000 97 28 188 907 641 568 606 428 236
-10000 853 559 240 272 749 89 206 135 761
-10000 134 9 661 905 301 970 653 50 422
-10000 54 903 24 22 781 16 262 882 241
-10000 838 786 399 383 279 547 339 165 843
-10000 856 168 257 98 768 869 417 521 873
-10000 814 462 962 885 306 37 524 323 290
-10000 443 904 74 292 262 387 74 973 946
-10000 465 439 996 871 68 487 851 206 429
-10000 1 907 827 538 721 390 62 55 130
-10000 744 534 243 207 212 799 748 612 389
-10000 30 571 753 259 586 976 272 563 832
-10000 627 700 742 851 445 145 530 575 461
-10000 247 607 393 958 73 989 565 165 25
-10000 118 220 837 903 672 517 516 46 156
-10000 962 232 277 357 731 124 475 994 677
-10000 647 5 147 20 592 157 384 59 352
-10000 820 681 289 151 6 812 856 528 991
-10000 379 220 652 926 314 993 851 81 855
-10000 158 528 432 569 587 194 755 742 787
-10000 222 897 99 542 131 451 582 34 295
-10000 78 585 802 709 953 932 649 645 157
-10000 415 452 371 698 606 398 257 469 809
-10000 221 99 39 959 459 897 626 204 4
-10000 578 359 784 734 488 460 384 488 860
-10000 22 182 358 684 492 111 935 142 475
-10000 574 152 98 92 716 275 667 340 337
-10000 806 934 649 478 665 521 253 994 557
-10000 502 611 682 898 159 328 717 324 542
-10000 731 309 622 708 848 494 140 64 426
-10000 581 517 226 792 811 257 835 135 425
-10000 100 700 799 670 306 58 736 297 712
-10000 148 189 450 110 346 868 989 516 560
-10000 685 882 495 139 978 637 272 990 31
-10000 534 449 424 159 640 94 931 192 446
-10000 162 982 522 458 303 174 343 753 130
-10000 127 696 946 105 110 102 409 224 600
-10000 858 110 862 303 337 397 202 591 525
-10000 232 228 153 317 408 193 515 467 961
-10000 592 739 424 570 956 670 519 3 722
-10000 408 532 851 332 893 423 668 360 20
-10000 304 327 788 766 931 615 529 331 555
-10000 820 624 162 143 247 600 397 415 706
-10000 445 259 217 595 412 342 243 221 405
-10000 916 460 728 318 8 88 688 210 274
-10000 828 493 222 54 269 576 132 981 817
-10000 478 974 198 688 596 497 879 813 352
-10000 557 198 757 532 119 23 232 621 470
-10000 10 58 912 642 53 648 501 648 902
-10000 696 505 84 750 691 201 709 508 832
-10000 861 112 221 57 9 3 428 596 1000
-10000 651 346 81 878 701 780 20 418 155
-10000 354 27 70 84 286 640 31 955 769
-10000 407 592 852 782 896 158 497 248 467
-10000 983 171 694 958 879 320 954 427 272
-10000 239 387 337 60 221 385 667 373 38
-10000 966 364 676 180 540 902 477 848 19
-10000 294 437 676 409 843 628 390 609 983
-10000 470 632 230 367 294 416 674 873 12
-10000 0 412 466 797 573 860 724 16 262
-10000 44 936 593 876 396 987 50 783 581
-10000 416 293 788 164 625 373 336 266 198
-10000 170 702 225 277 414 823 659 237 953
-10000 328 468 326 722 530 521 282 699 670
-10000 845 18 366 417 531 600 9 106 932
-10000 119 851 571 29 110 323 311 760 668
-10000 908 780 461 802 667 898 278 80 676
-10000 453 887 410 13 880 99 137 84 370
-10000 145 734 697 446 396 975 453 485 255
-10000 650 762 163 649 847 910 155 123 494
-10000 670 505 933 15 315 364 629 105 247
-10000 783 269 90 982 745 367 721 159 140
-10000 773 21 829 678 426 264 761 538 858
-10000 459 706 870 153 660 369 814 341 460
-10000 633 12 723 191 857 365 632 944 681
-10000 769 987 916 959 363 831 224 302 879
-10000 197 343 700 50 393 45 657 392 517
-10000 154 420 579 809 65 826 821 653 662
-10000 686 108 715 286 855 199 967 453 528
-10000 275 670 575 635 607 318 490 489 274
-10000 704 925 47 123 502 740 85 273 26
-10000 693 865 206 249 64 241 977 729 978
-10000 891 554 115 446 678 572 506 80 923
-10000 333 527 630 430 410 178 641 322 147
-10000 566 655 518 804 225 2 994 567 25
-10000 599 308 927 943 964 837 932 482 277
-10000 275 367 364 618 528 980 67 524 56
-10000 706 792 127 954 485 826 238 122 77
-10000 794 668 588 800 143 794 784 678 978
-10000 736 141 574 310 678 97 679 511 399
-10000 12 755 234 845 376 777 806 195 563
-10000 601 688 289 954 637 278 180 296 940
-10000 886 438 251 899 47 202 223 190 579
-10000 100 921 834 292 987 294 25 250 698
-10000 339 372 319 242 949 590 683 460 809
-10000 885 766 322 426 128 448 437 864 491
-10000 844 630 660 475 118 856 926 21 766
-10000 172 759 148 523 6 996 114 158 217
-10000 2 381 472 704 931 271 155 606 235
-10000 920 63 304 380 882 327 526 235 485
-10000 193 700 246 656 775 702 217 372 868
-10000 667 256 177 163 955 165 712 278 817
-10000 137 429 799 383 840 819 124 41 228
-10000 427 472 23 285 420 307 515 866 525
-10000 505 155 632 929 952 235 675 76 334
-10000 80 779 661 796 747 944 616 241 992
-10000 600 833 294 286 187 740 510 151 417
-10000 283 332 752 104 719 801 75 298 375
-10000 753 283 850 742 455 928 782 369 847
-10000 331 727 457 382 28 941 354 166 196
-10000 422 586 245 164 930 336 708 214 431
-10000 507 138 900 558 963 209 372 848 82
-10000 652 986 546 691 128 721 662 25 99
-10000 404 320 603 808 254 737 337 480 243
-10000 103 121 993 470 445 858 431 313 706
-10000 466 93 890 805 974 813 384 80 245
-10000 427 156 994 147 474 655 863 874 11
-10000 666 516 309 726 82 303 275 774 893
-10000 572 134 530 660 14 603 125 211 578
-10000 300 939 867 974 999 243 443 836 22
-10000 896 405 109 261 778 939 498 893 14
-10000 539 919 289 989 652 78 148 963 829
-10000 124 612 367 347 66 961 78 291 49
-10000 466 227 290 351 23 333 680 212 670
-10000 574 701 807 858 308 225 228 993 461
-10000 775 417 641 450 457 37 891 197 828
-10000 965 686 635 802 783 849 31 628 389
-10000 428 972 842 252 67 928 211 1000 55
-10000 338 602 590 397 257 571 910 690 942
-10000 324 363 62 665 370 36 699 123 382
-10000 721 478 383 131 754 262 176 124 93
-10000 710 874 594 404 765 548 545 28 535
-10000 108 310 962 69 659 597 293 155 270
-10000 188 954 383 268 164 388 152 680 995
-10000 562 912 167 979 329 51 415 233 898
-10000 853 240 257 84 998 402 272 12 735
-10000 86 336 188 712 526 716 181 467 618
-10000 247 127 976 181 113 474 241 103 521
-10000 912 443 782 899 922 905 625 980 863
-10000 735 721 404 393 985 76 121 476 553
-10000 637 130 214 170 967 252 323 855 766
-10000 307 526 625 20 331 969 302 899 591
-10000 903 141 804 705 767 846 424 188 964
-10000 178 250 124 38 110 814 848 721 662
-10000 625 778 934 725 278 485 600 220 267
-10000 888 587 377 118 161 267 75 277 599
-10000 359 688 976 424 211 795 395 608 205
-10000 394 914 208 496 114 21 554 784 706
-10000 972 826 752 408 713 487 117 412 208
-10000 846 772 747 892 643 49 76 325 392
-10000 377 652 494 910 883 572 118 644 337
-10000 237 608 237 301 975 127 539 290 310
-10000 20 246 746 79 768 293 588 561 876
-10000 50 618 904 200 25 594 992 542 149
-10000 955 139 111 613 554 35 973 227 617
-10000 920 723 725 237 125 497 815 370 689
-10000 432 80 183 179 767 389 833 861 927
-10000 966 163 245 151 406 228 388 443 646
-10000 530 956 73 535 821 114 675 720 483
-10000 152 690 546 515 229 344 842 327 88
-10000 676 429 570 832 561 146 528 934 564
-10000 520 957 684 726 370 603 165 57 19
-10000 500 831 275 957 995 763 110 598 755
-10000 436 763 895 467 901 988 385 203 354
-10000 192 55 746 867 997 818 117 950 212
-10000 29 368 796 301 134 337 913 798 64
-10000 645 780 228 515 596 951 69 174 333
-10000 471 622 361 447 267 99 828 716 93
-10000 463 121 820 119 51 931 516 46 722
-10000 574 488 163 405 908 632 79 774 504
-10000 914 738 865 964 516 195 344 382 740
-10000 715 112 86 960 59 327 842 18 606
-10000 201 128 295 340 93 931 316 717 622
-10000 806 776 386 815 230 112 770 453 481
-10000 117 355 559 64 157 440 663 622 873
-10000 680 497 417 278 200 642 731 978 696
-10000 858 302 201 761 523 391 114 638 832
-10000 356 464 477 649 913 948 179 410 479
-10000 292 520 413 377 793 543 435 814 813
-10000 688 772 88 82 91 227 609 368 321
-10000 459 731 654 33 467 925 81 875 872
-10000 841 167 832 665 881 102 38 493 80
-10000 970 634 23 968 903 42 883 893 370
-10000 196 735 696 272 852 193 319 870 222
-10000 382 326 777 543 283 731 247 597 222
-10000 462 863 273 618 524 583 556 53 465
-10000 116 118 724 845 253 605 433 987 636
-10000 130 21 765 14 490 636 642 459 77
-10000 699 469 150 64 928 944 339 240 281
-10000 664 695 838 755 358 647 200 859 365
-10000 603 29 71 867 431 677 47 250 415
-10000 335 990 871 994 961 476 720 674 470
-10000 359 380 549 892 488 899 263 491 202
-10000 621 987 538 822 330 697 460 208 522
-10000 242 283 384 826 46 510 882 382 498
-10000 246 712 977 105 435 26 773 583 693
-10000 592 962 657 763 510 367 972 24 908
-10000 160 169 204 64 678 927 273 256 218
-10000 623 325 397 551 678 10 882 132 529
-10000 920 129 750 977 865 1 552 866 460
-10000 807 914 764 708 966 640 69 306 885
-10000 830 752 658 956 122 863 55 634 622
-10000 487 695 377 261 653 173 261 920 377
-10000 350 241 858 164 449 377 942 573 812
-10000 501 437 129 29 608 99 331 359 918
-10000 85 589 819 701 518 730 946 278 657
-10000 592 963 525 626 428 367 507 607 60
-10000 247 906 481 324 466 811 991 642 952
-10000 811 786 495 179 208 953 885 213 940
-10000 558 357 315 402 719 357 863 394 163
-10000 763 801 118 863 780 727 52 244 145
-10000 72 846 568 678 699 78 472 615 729
-10000 614 165 645 936 107 548 995 728 173
-10000 198 640 931 115 877 573 329 860 36
-10000 854 950 802 350 690 396 99 493 248
-10000 82 480 234 377 152 311 351 351 505
-10000 659 315 327 547 649 828 444 69 109
-10000 811 812 480 688 337 68 654 456 34
-10000 378 795 687 710 424 117 631 636 632
-10000 803 125 666 240 129 532 444 84 71
-10000 387 604 322 249 450 222 586 803 605
-10000 706 392 144 464 373 919 784 399 424
-10000 977 911 220 757 828 51 810 579 45
-10000 480 785 406 2 453 637 82 331 926
-10000 45 569 250 535 342 919 62 875 891
-10000 572 365 615 152 109 856 755 288 437
-10000 4 286 100 230 768 15 950 368 137
-10000 753 857 384 10 49 891 899 836 695
-10000 990 829 598 938 528 403 602 424 725
-10000 15 491 314 896 453 535 360 215 803
-10000 578 685 554 180 768 810 39 911 944
-10000 991 501 993 431 651 556 590 888 539
-10000 373 961 413 259 170 378 768 893 429
-10000 629 655 118 928 906 838 940 840 401
-10000 358 208 69 107 789 103 744 927 807
-10000 852 67 622 452 433 276 210 251 364
-10000 197 681 909 623 747 50 403 30 0
-10000 560 304 607 460 141 23 935 597 825
-10000 6 544 561 856 370 29 814 390 965
-10000 652 277 865 68 367 521 131 964 422
-10000 28 229 496 516 215 838 125 417 273
-10000 396 756 840 917 397 611 565 209 157
-10000 405 797 750 20 298 816 284 678 524
-10000 428 539 459 932 124 688 292 460 340
-10000 696 507 896 562 779 783 490 354 750
-10000 621 591 326 778 557 488 342 472 875
-10000 999 623 286 658 634 860 915 516 317
-10000 885 88 690 332 315 816 428 118 59
-10000 135 38 677 380 34 457 992 893 198
-10000 598 469 70 11 190 609 633 173 271
-10000 734 950 257 792 791 796 201 158 285
-10000 105 262 600 7 972 432 278 936 752
-10000 665 687 468 5 768 475 876 994 823
-10000 82 481 356 948 976 514 130 936 35
-10000 909 757 957 630 379 909 86 530 699
-10000 936 144 278 321 744 986 631 746 25
-10000 928 264 623 255 201 142 337 132 889
-10000 544 540 440 143 722 81 305 545 157
-10000 69 684 40 817 481 16 548 673 332
-10000 484 488 578 28 580 270 489 856 730
-10000 532 373 317 416 773 619 910 489 568
-10000 565 383 605 907 964 457 764 609 9
-10000 366 770 424 581 833 152 27 467 810
-10000 941 559 504 414 881 55 2 672 809
-10000 644 355 935 711 723 525 1 297 904
-10000 431 88 359 810 179 312 657 463 833
-10000 718 256 466 592 606 237 695 964 357
-10000 36 325 57 493 136 468 663 81 231
-10000 345 19 980 208 521 921 412 63 373
-10000 488 34 829 28 202 41 616 548 394
-10000 887 215 991 827 620 675 285 754 487
-10000 439 949 891 558 828 509 432 967 565
-10000 972 860 731 842 270 560 206 184 980
-10000 238 375 153 815 158 288 119 681 50
-10000 389 691 501 694 939 124 322 809 566
-10000 170 410 419 267 162 704 683 995 483
-10000 429 49 41 515 161 519 737 601 702
-10000 346 648 766 722 312 649 245 222 54
-10000 528 904 89 407 350 744 700 807 148
-10000 508 30 54 628 863 577 808 329 703
-10000 800 476 641 938 74 886 238 826 234
-10000 861 613 436 726 344 608 686 164 744
-10000 261 519 537 448 923 779 315 311 431
-10000 362 53 203 874 28 428 737 237 44
-10000 616 455 512 689 230 35 976 794 705
-10000 320 652 509 719 845 678 77 494 257
-10000 502 881 872 375 990 693 157 773 545
-10000 515 983 768 955 334 836 292 209 805
-10000 663 580 700 320 59 661 415 467 611
-10000 172 494 384 65 336 912 283 381 850
-10000 494 236 905 457 425 715 517 497 206
-10000 362 432 483 231 708 391 44 311 393
-10000 831 776 27 68 883 172 712 263 115
-10000 934 360 401 435 177 381 610 597 876
-10000 379 407 888 466 375 998 724 605 657
-10000 252 41 163 994 415 257 625 24 283
-10000 255 965 411 83 906 686 387 547 321
-10000 470 789 349 697 782 648 287 350 62
-10000 602 42 246 30 561 530 863 365 441
-10000 115 975 68 112 529 2 469 485 607
-10000 606 77 534 790 167 1 774 87 383
-10000 283 47 788 187 338 296 404 354 71
-10000 913 867 673 5 278 15 469 254 375
-10000 380 411 107 685 307 356 707 520 373
-10000 565 368 500 692 564 859 962 986 360
-10000 678 85 514 945 129 504 585 789 658
-10000 730 130 650 22 517 432 513 105 282
-10000 799 172 331 954 71 930 412 154 879
-10000 383 551 253 933 161 873 129 470 666
-10000 696 832 461 863 378 82 432 467 810
-10000 101 816 49 198 919 966 911 126 397
-10000 322 932 785 600 543 620 593 296 646
-10000 556 453 499 818 319 606 998 92 498
-10000 791 938 504 813 143 624 470 853 246
-10000 645 284 854 191 544 599 918 6 750
-10000 813 727 577 932 538 767 877 750 650
-10000 718 420 914 881 271 153 569 339 796
-10000 410 821 794 827 505 881 617 255 993
-10000 14 821 402 488 718 74 147 131 218
-10000 877 58 310 682 261 36 768 168 834
-10000 754 475 120 533 375 100 398 236 937
-10000 938 294 282 654 657 658 635 735 597
-10000 871 478 619 107 923 538 400 577 419
-10000 535 980 489 775 889 944 291 716 984
-10000 103 682 787 920 580 66 219 16 962
-10000 91 711 873 283 288 602 489 494 903
-10000 544 198 670 775 433 78 542 282 718
-10000 492 461 385 153 890 764 137 145 822
-10000 999 572 9 385 466 550 935 133 230
-10000 515 337 903 77 15 600 756 192 462
-10000 892 926 935 513 336 853 460 1 316
-10000 215 440 714 981 45 13 954 490 769
-10000 725 324 609 216 458 49 368 435 843
-10000 204 837 943 182 341 526 869 774 647
-10000 610 924 932 775 672 990 758 984 221
-10000 20 311 218 496 730 108 925 648 614
-10000 198 601 330 757 442 867 141 446 562
-10000 773 221 24 619 902 838 175 48 259
-10000 907 227 700 540 934 53 48 191 600
-10000 419 384 853 104 575 323 474 721 545
-10000 282 925 476 417 78 734 146 809 814
-10000 598 460 540 890 836 590 380 98 600
-10000 533 538 779 858 264 836 919 630 635
-10000 471 572 873 429 259 124 732 177 706
-10000 773 640 66 606 403 265 928 452 806
-10000 735 912 285 28 158 370 488 888 657
-10000 272 491 619 69 915 85 870 72 457
-10000 400 284 357 48 822 230 981 698 494
-10000 674 9 287 317 240 162 423 301 246
-10000 188 988 627 94 707 748 205 174 990
-10000 549 890 449 858 87 569 336 966 889
-10000 834 596 877 127 26 521 294 605 457
-10000 238 63 608 542 71 862 543 643 280
-10000 475 233 815 489 162 858 151 628 256
-10000 256 169 264 950 212 998 347 494 785
-10000 305 647 211 40 184 844 110 118 716
-10000 962 963 188 459 503 769 249 864 475
-10000 473 950 34 408 264 498 527 389 127
-10000 562 971 651 220 509 44 121 302 141
-10000 833 556 48 581 785 22 65 150 438
-10000 200 354 503 637 616 32 951 12 644
-10000 561 470 989 356 338 530 142 216 487
-10000 623 419 591 665 388 851 235 898 85
-10000 928 301 517 232 346 551 596 208 911
-10000 673 384 706 421 559 737 230 355 480
-10000 665 360 907 485 778 553 424 100 756
-10000 659 276 316 291 282 1000 8 879 82
-10000 131 831 81 884 865 37 590 910 971
-10000 487 940 522 953 476 633 580 656 267
-10000 736 653 633 376 912 404 950 750 980
-10000 935 319 1000 5 4 768 275 606 911
-10000 221 449 486 369 932 998 327 630 894
-10000 696 929 881 726 438 218 802 1000 401
-10000 64 935 214 408 611 508 173 854 39
-10000 792 475 115 366 157 581 560 388 207
-10000 395 887 155 451 69 806 947 666 93
-10000 44 171 933 901 496 356 532 819 367
-10000 885 158 707 665 114 405 87 383 389
-10000 137 611 470 285 68 771 116 421 543
-10000 674 573 25 7 808 375 105 771 348
-10000 32 735 21 580 261 622 531 125 911
-10000 646 68 509 881 284 59 835 813 771
-10000 53 245 830 599 467 466 229 99 571
-10000 44 354 212 451 357 138 263 966 626
-10000 619 614 421 770 607 261 22 735 211
-10000 646 68 507 997 557 203 159 999 220
-10000 934 535 76 940 617 140 592 294 582
-10000 821 344 420 565 50 782 538 652 650
-10000 552 954 600 92 755 973 12 74 179
-10000 739 126 676 993 919 984 695 978 51
-10000 670 635 556 981 260 9 805 623 851
-10000 531 148 949 260 736 326 89 239 301
-10000 271 785 368 776 793 203 135 366 420
-10000 997 388 421 402 52 193 753 733 509
-10000 987 882 740 957 399 85 91 233 697
-10000 689 673 537 538 866 749 411 978 0
-10000 195 727 171 563 242 820 931 561 417
-10000 924 421 138 651 821 806 950 402 569
-10000 895 731 150 557 365 603 924 341 551
-10000 258 306 710 204 16 499 672 19 520
-10000 511 230 292 970 702 671 647 931 933
-10000 5 405 752 529 751 473 121 718 479
-10000 293 208 672 23 630 580 75 282 70
-10000 931 926 579 481 555 911 204 663 872
-10000 729 857 102 151 611 526 264 509 219
-10000 333 502 922 798 94 18 289 935 898
-10000 1 496 982 169 142 583 135 317 376
-10000 238 346 625 537 877 844 566 920 245
-10000 359 27 913 907 232 145 779 571 689
-10000 587 527 470 549 892 132 771 608 82
-10000 8 890 509 196 956 103 829 500 533
-10000 958 595 528 676 198 293 153 574 67
-10000 807 23 111 715 994 246 350 102 630
-10000 619 754 166 389 917 441 342 506 775
-10000 941 891 755 982 451 281 416 893 435
-10000 703 247 598 587 755 512 221 542 685
-10000 863 931 974 555 976 700 403 715 454
-10000 705 783 39 757 700 852 760 249 346
-10000 960 955 136 950 375 239 594 559 315
-10000 694 588 350 349 168 984 765 55 620
-10000 557 145 925 1000 903 836 946 73 133
-10000 13 685 502 994 600 818 47 658 402
-10000 259 18 265 149 880 242 231 47 685
-10000 689 286 584 569 914 432 735 218 425
-10000 228 731 378 584 899 597 415 841 262
-10000 436 208 169 930 997 261 286 659 364
-10000 709 827 751 323 826 202 396 33 253
-10000 400 134 988 32 574 967 569 910 232
-10000 263 667 578 336 364 280 194 611 692
-10000 704 287 251 151 36 106 860 592 722
-10000 998 797 293 800 402 202 741 308 374
-10000 172 539 652 731 574 765 294 847 636
-10000 195 545 632 33 310 339 867 360 240
-10000 414 658 329 926 165 469 750 623 502
-10000 307 542 65 282 316 269 105 69 852
-10000 117 837 634 89 394 556 945 65 271
-10000 570 86 312 451 432 773 929 720 285
-10000 416 254 564 283 522 77 812 78 789
-10000 512 315 215 939 370 998 171 727 106
-10000 370 576 738 332 48 573 312 251 133
-10000 311 724 977 984 162 506 171 3 361
-10000 724 331 502 592 215 420 886 986 770
-10000 189 418 373 386 610 377 642 912 107
-10000 801 888 36 837 851 922 562 487 423
-10000 855 387 326 303 871 214 183 749 258
-10000 789 269 790 288 509 673 720 745 524
-10000 158 674 661 430 718 995 712 479 115
-10000 86 654 159 385 566 491 560 471 514
-10000 853 592 524 320 255 804 167 941 268
-10000 513 753 938 505 224 495 279 938 26
-10000 927 653 990 626 119 270 968 24 954
-10000 763 669 772 310 64 139 517 152 686
-10000 123 564 911 515 740 51 330 130 241
-10000 577 675 302 904 812 915 246 125 991
-10000 877 723 194 285 24 547 815 534 567
-10000 634 553 750 801 263 633 992 978 979
-10000 172 595 9 618 371 974 180 308 28
-10000 339 441 47 117 92 179 358 996 43
-10000 290 613 148 545 350 692 743 168 322
-10000 188 491 928 386 286 28 394 342 884
-10000 2 984 892 519 6 565 902 909 116
-10000 955 452 394 923 598 503 33 809 695
-10000 183 971 68 21 720 45 162 872 454
-10000 419 866 921 439 842 881 426 105 395
-10000 310 349 997 525 337 151 299 260 337
-10000 90 436 468 188 437 972 358 290 709
-10000 146 813 684 76 273 150 938 591 801
-10000 817 121 308 308 482 201 161 619 39
-10000 324 912 455 227 272 539 583 789 700
-10000 551 438 889 935 975 867 218 487 101
-10000 757 802 119 119 75 897 349 223 660
-10000 696 356 486 708 869 244 133 199 814
-10000 579 240 559 575 230 705 58 495 820
-10000 952 39 814 621 966 982 625 165 710
-10000 138 513 164 832 601 279 346 794 792
-10000 837 763 807 667 157 352 233 735 341
-10000 570 563 900 81 933 621 178 665 566
-10000 992 305 415 782 431 380 424 555 457
-10000 810 598 520 524 171 741 706 909 782
-10000 699 178 177 780 983 389 206 354 529
-10000 246 402 486 404 750 664 572 615 378
-10000 706 652 882 512 990 981 819 156 118
-10000 582 390 97 460 88 506 482 892 621
-10000 330 723 920 759 39 165 295 301 372
-10000 863 390 771 199 524 397 603 980 872
-10000 864 921 782 680 832 653 36 159 544
-10000 914 575 843 101 888 502 433 195 956
-10000 87 235 325 714 646 686 75 943 666
-10000 740 315 35 970 422 558 357 725 422
-10000 630 203 715 60 178 309 739 279 383
-10000 838 754 302 938 429 270 499 663 387
-10000 955 632 571 734 592 604 366 77 458
-10000 313 992 685 425 406 275 87 322 729
-10000 780 874 490 55 71 198 266 585 814
-10000 132 762 645 379 729 535 45 278 538
-10000 79 778 374 292 589 428 572 975 481
-10000 781 405 448 980 354 776 469 721 525
-10000 247 300 426 856 312 95 5 700 224
-10000 826 978 805 785 7 2 538 696 619
-10000 599 803 795 716 458 340 623 259 659
-10000 561 400 392 618 276 250 932 408 99
-10000 440 145 798 286 378 723 212 207 521
-10000 85 980 151 383 338 436 815 807 382
-10000 895 622 397 309 705 502 132 76 878
-10000 66 402 320 421 296 234 873 960 35
-10000 152 966 332 237 558 756 956 571 697
-10000 469 575 830 426 33 484 648 368 957
-10000 615 448 320 640 666 141 605 387 522
-10000 430 443 291 250 923 955 948 677 168
-10000 218 778 924 538 827 343 137 117 477
-10000 843 130 698 68 180 881 904 315 449
-10000 889 890 87 240 41 675 862 328 610
-10000 546 320 118 229 608 216 409 95 353
-10000 73 237 707 513 390 0 705 463 14
-10000 137 10 315 789 295 994 61 277 977
-10000 163 421 254 922 620 61 516 706 48
-10000 993 960 253 387 358 256 665 581 238
-10000 224 91 420 815 854 637 389 694 254
-10000 297 486 316 156 126 221 571 680 464
-10000 377 607 34 221 6 193 977 3 656
-10000 102 914 623 576 179 39 336 582 301
-10000 77 696 605 247 867 716 663 892 374
-10000 471 298 427 591 745 428 258 387 15
-10000 826 362 286 436 616 898 810 453 995
-10000 321 160 924 904 264 238 12 946 341
-10000 367 665 998 176 940 240 747 750 559
-10000 990 286 417 565 446 919 783 930 909
-10000 79 612 716 957 430 453 701 859 661
-10000 687 869 442 778 16 106 55 57 951
-10000 943 585 306 931 72 801 906 677 328
-10000 134 839 312 11 419 831 789 317 543
-10000 499 439 441 807 45 240 633 77 696
-10000 314 846 378 225 505 797 143 115 275
-10000 941 313 729 98 433 447 342 131 746
-10000 932 408 614 175 83 688 559 393 464
-10000 491 844 392 317 460 216 257 40 452
-10000 833 880 4 656 685 742 343 466 754
-10000 673 959 449 268 492 75 70 161 919
-10000 950 540 471 217 96 679 647 463 747
-10000 149 946 523 623 78 71 198 669 582
-10000 829 74 115 927 190 930 19 766 145
-10000 305 377 351 761 136 497 316 768 261
-10000 980 965 166 953 959 859 585 368 597
-10000 469 392 170 81 935 662 72 995 482
-10000 99 79 835 134 62 552 626 966 918
-10000 632 421 784 88 524 712 729 260 262
-10000 721 965 414 413 288 244 165 382 835
-10000 946 519 320 490 106 744 680 34 239
-10000 124 453 571 258 500 96 643 49 710
-10000 403 11 542 265 536 936 740 269 778
-10000 38 283 495 854 243 354 416 791 241
-10000 295 25 447 772 826 293 911 276 963
-10000 826 18 855 839 164 23 43 216 679
-10000 296 655 67 392 996 761 210 989 543
-10000 297 69 202 130 754 501 78 986 310
-10000 703 571 287 628 18 198 275 581 926
-10000 998 805 180 888 127 55 21 957 992
-10000 201 784 911 686 459 832 890 836 566
-10000 816 124 864 426 663 599 922 453 933
-10000 810 860 804 324 134 847 937 627 928
-10000 263 431 350 455 896 812 273 360 296
-10000 389 470 56 881 464 131 117 201 145
-10000 778 734 484 135 324 724 36 995 655
-10000 87 434 59 159 503 705 650 390 943
-10000 844 316 965 497 103 604 923 222 864
-10000 135 343 584 596 756 376 311 306 771
-10000 955 802 655 477 81 498 799 673 322
-10000 855 647 999 448 883 412 230 94 438
-10000 401 117 963 949 566 720 903 929 255
-10000 705 642 711 625 183 880 317 50 169
-10000 574 189 416 718 895 848 669 991 533
-10000 919 412 587 18 252 389 832 960 221
-10000 624 659 141 311 860 796 626 377 422
-10000 934 329 579 809 504 2 953 997 93
-10000 859 258 362 291 255 35 875 272 240
-10000 408 374 862 773 8 509 921 180 25
-10000 409 19 203 542 953 297 14 893 331
-10000 171 341 638 664 476 497 837 796 254
-10000 544 96 940 360 80 376 718 633 164
-10000 444 378 268 0 716 903 513 491 314
-10000 95 206 472 218 743 611 438 274 190
-10000 60 40 627 214 692 463 679 439 306
-10000 64 568 414 61 586 324 763 486 210
-10000 408 313 668 588 119 898 868 651 755
-10000 81 652 898 695 505 199 560 810 103
-10000 55 352 226 745 487 580 687 642 881
-10000 507 736 843 26 138 670 863 709 529
-10000 713 373 323 980 925 711 16 108 600
-10000 87 13 802 917 768 864 375 759 492
end
maximize
0 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000
!adjacency
cddlib-0.94j/examples/samplelp.ine 0000644 0001750 0001750 00000002077 13270061061 014114 0000000 0000000 * Rational LP data
H-representation
begin
20 5 rational
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
0 3008 20980 -97775 -101225
0 3985 25643 -135871 -130580
0 4324 26978 -133655 -168473
0 3534 25361 -46243 -100407
0 8836 40796 -176661 -215616
0 5376 37562 -182576 -217615
0 4982 33088 -98880 -167278
0 4775 39122 -136701 -193393
0 8046 42958 -225138 -256575
0 8554 48955 -257370 -312877
0 6147 45514 -165274 -227099
0 8366 55140 -203989 -321623
0 13479 68037 -174270 -341743
0 21808 78302 -322990 -487539
1 -8554/10000 -48955/10000 0 0
1 0 0 -257370/10000 -312877/10000
end
maximize
0 1 1/2 1/3 1/4
debug
cddlib-0.94j/examples/samplelp.testlp1_gmp_output 0000644 0001750 0001750 00000006605 13270061057 017226 0000000 0000000 lsne-2-240% testlp1_gmp
>> Input file: samplelp.ine
input file samplelp.ine is open
size = 20 x 5
Number Type = rational
H-representation
begin
20 5 rational
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
0 3008 20980 -97775 -101225
0 3985 25643 -135871 -130580
0 4324 26978 -133655 -168473
0 3534 25361 -46243 -100407
0 8836 40796 -176661 -215616
0 5376 37562 -182576 -217615
0 4982 33088 -98880 -167278
0 4775 39122 -136701 -193393
0 8046 42958 -225138 -256575
0 8554 48955 -257370 -312877
0 6147 45514 -165274 -227099
0 8366 55140 -203989 -321623
0 13479 68037 -174270 -341743
0 21808 78302 -322990 -487539
1 -4277/5000 -9791/2000 0 0
1 0 0 -25737/1000 -312877/10000
end
--- Running dd_LPSolve ---
* cdd LP solver result
* cdd: a double description code:Version 0.90gmp (May 19, 2000)
* compiled for GMP rational arithmetic.
* Copyright (C) 1996, Komei Fukuda, fukuda@ifor.math.ethz.ch
* #constraints = 20
* #variables = 4
* Algorithm: dual simplex algorithm
* maximization is chosen
* Objective function is
0 + 1 X[ 1] + 1/2 X[ 2] + 1/3 X[ 3] + 1/4 X[ 4]
* LP status: a dual pair (x,y) of optimal solutions found.
begin
primal_solution
1 : 5000/4277
2 : 0
3 : 19925000/581120267
4 : 0
dual_solution
6 : 1/407613
2 : 18187069067/3486721602
19 : 2057990000/1743360801
4 : 114707/1630452
optimal_value : 2057990000/1743360801
end
* number of pivot operations = 10 (ph0 = 4, ph1 = 3, ph2 = 3, ph3 = 0)
*Computation starts at Sun May 21 23:30:19 2000
* terminates at Sun May 21 23:30:19 2000
*Total processor time = 0 seconds
* = 0 h 0 m 0 s
(Iter, #Row, #Total, #Curr, Feas)= 6 5 9 7 3
(Iter, #Row, #Total, #Curr, Feas)= 7 8 9 7 3
(Iter, #Row, #Total, #Curr, Feas)= 8 6 14 9 5
(Iter, #Row, #Total, #Curr, Feas)= 9 7 18 9 5
(Iter, #Row, #Total, #Curr, Feas)= 10 12 21 11 6
(Iter, #Row, #Total, #Curr, Feas)= 11 11 21 11 6
(Iter, #Row, #Total, #Curr, Feas)= 12 10 26 13 10
(Iter, #Row, #Total, #Curr, Feas)= 13 15 26 13 10
(Iter, #Row, #Total, #Curr, Feas)= 14 13 29 15 10
(Iter, #Row, #Total, #Curr, Feas)= 15 16 29 15 10
(Iter, #Row, #Total, #Curr, Feas)= 16 14 34 15 15
All the vertices of the feasible region.
V-representation
begin
15 5 rational
1 0 2000/9791 0 0
1 5000/4277 0 0 0
1 0 2000/9791 51286000/1330312961 0
1 5000/4277 0 19925000/581120267 0
1 5000/4277 0 0 23875000/827141861
1 5000/4277 0 12707515000/376823017893 2877136000/4898699232609
1 1143413390000/1409570226171 88141030000/1409570226171 0 43460900000/1409570226171
1 5000/4277 0 2845715000/23783251846081 52652240000/1829480911237
1 12493061640000/10714427322421 5691430000/10714427322421 0 309613220000/10714427322421
1 0 2000/9791 0 10000/312877
1 241499988750/746539852973 2346752500/15883826659 0 10000/312877
1 127276149881465000/245208557641088631 27849359418340000/245208557641088631 6956201331595000/245208557641088631 705035354360000/81736185880362877
1 15266257972352500/27738073472746771 2998532612235000/27738073472746771 497786252410000/27738073472746771 1279018810000/74364808237927
1 0 2000/9791 3261122022000/87174523590197 103651790000/87174523590197
1 0 0 0 0
end
cddlib-0.94j/examples/samplelp.testlp1_output 0000644 0001750 0001750 00000006603 13270061057 016361 0000000 0000000 lsne-2-240% testlp1
>> Input file: samplelp.ine
input file samplelp.ine is open
size = 20 x 5
Number Type = rational
H-representation
begin
20 5 real
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
0 3008 20980 -97775 -101225
0 3985 25643 -135871 -130580
0 4324 26978 -133655 -168473
0 3534 25361 -46243 -100407
0 8836 40796 -176661 -2.156160000E+05
0 5376 37562 -182576 -2.176150000E+05
0 4982 33088 -98880 -167278
0 4775 39122 -136701 -193393
0 8046 42958 -2.251380000E+05 -2.565750000E+05
0 8554 48955 -2.573700000E+05 -3.128770000E+05
0 6147 45514 -165274 -2.270990000E+05
0 8366 55140 -203989 -3.216230000E+05
0 13479 68037 -174270 -3.417430000E+05
0 21808 78302 -3.229900000E+05 -4.875390000E+05
1 -8.554000000E-01 -4.895500000E+00 0 0
1 0 0 -2.573700000E+01 -3.128770000E+01
end
--- Running dd_LPSolve ---
* cdd LP solver result
* cdd: a double description code:Version 0.90gmp (May 19, 2000)
* compiled for C double arithmetic.
* Copyright (C) 1996, Komei Fukuda, fukuda@ifor.math.ethz.ch
* #constraints = 20
* #variables = 4
* Algorithm: dual simplex algorithm
* maximization is chosen
* Objective function is
0 + 1 X[ 1] + 5.000000000E-01 X[ 2] + 3.333333333E-01 X[ 3] + 2.500000000E-01 X[ 4]
* LP status: a dual pair (x,y) of optimal solutions found.
begin
primal_solution
1 : 1.169043722E+00
2 : 0
3 : 3.428722268E-02
4 : 0
dual_solution
6 : 0
2 : 5.216094413E+00
19 : 1.180472796E+00
4 : 7.035288374E-02
optimal_value : 1.180472796E+00
end
* number of pivot operations = 10 (ph0 = 4, ph1 = 3, ph2 = 3, ph3 = 0)
*Computation starts at Sun May 21 23:27:48 2000
* terminates at Sun May 21 23:27:48 2000
*Total processor time = 0 seconds
* = 0 h 0 m 0 s
(Iter, #Row, #Total, #Curr, Feas)= 6 5 9 7 3
(Iter, #Row, #Total, #Curr, Feas)= 7 8 9 7 3
(Iter, #Row, #Total, #Curr, Feas)= 8 6 14 9 5
(Iter, #Row, #Total, #Curr, Feas)= 9 7 18 9 5
(Iter, #Row, #Total, #Curr, Feas)= 10 12 21 11 6
(Iter, #Row, #Total, #Curr, Feas)= 11 11 21 11 6
(Iter, #Row, #Total, #Curr, Feas)= 12 10 26 13 10
(Iter, #Row, #Total, #Curr, Feas)= 13 15 26 13 10
(Iter, #Row, #Total, #Curr, Feas)= 14 13 29 15 10
(Iter, #Row, #Total, #Curr, Feas)= 15 16 29 15 10
(Iter, #Row, #Total, #Curr, Feas)= 16 14 34 15 15
All the vertices of the feasible region.
V-representation
begin
15 5 real
1 0 2.042692268E-01 0 0
1 1.169043722E+00 0 0 0
1 0 2.042692268E-01 3.855183066E-02 0
1 1.169043722E+00 0 3.428722268E-02 0
1 1.169043722E+00 0 0 2.886445618E-02
1 1.169043722E+00 0 3.372276744E-02 5.873265255E-04
1 8.111787329E-01 6.253042833E-02 0 3.083273128E-02
1 1.169043722E+00 0 1.196520568E-04 2.877987941E-02
1 1.166003676E+00 5.311931127E-04 0 2.889685194E-02
1 0 2.042692268E-01 0 3.196144172E-02
1 3.234924268E-01 1.477447816E-01 0 3.196144172E-02
1 5.190526428E-01 1.135741741E-01 2.836850964E-02 8.625743259E-03
1 5.503719639E-01 1.081016897E-01 1.794595623E-02 1.719924841E-02
1 0 2.042692268E-01 3.740911780E-02 1.189014700E-03
1 0 0 0 0
end
cddlib-0.94j/examples/samplev1.ext 0000644 0001750 0001750 00000000224 13270061057 014051 0000000 0000000 * file name: libtesta.ext
* a 1-D cone in 3D space
V-representation
begin
2 4 integer
1 1 0 1
0 0 1 0
end
incidence
adjacency
cddlib-0.94j/examples/samplev2.ext 0000644 0001750 0001750 00000000261 13270061057 014053 0000000 0000000 * file name: libtestb.ext
* a 1-D cone in 3D space without any vertices
V-representation
begin
3 4 integer
0 0 0 1
1 1 0 0
0 1 -1 0
end
linearity 1 3
cddlib-0.94j/examples/samplev3.ext 0000644 0001750 0001750 00000000321 13270061057 014051 0000000 0000000 * test file for redundancy removal
* the redundant rows: 2 4 5 6 7
* the implicit linearities : 8 9
V-representation
begin
9 3 integer
1 0 0
1 2 0
1 0 2
1 1 1
1 2 1
1 1 2
1 2 2
0 1 0
0 -1 0
end
cddlib-0.94j/examples-ext/ 0000755 0001750 0001750 00000000000 13312731233 012454 5 0000000 0000000 cddlib-0.94j/examples-ext/ccc4.ext 0000644 0001750 0001750 00000000441 13270061057 013734 0000000 0000000 * file name: ccc4.ext
* Complete cut cone on 4 vertices
* The number of facets is 12.
V-representation
begin
7 7 integer
0 1 1 1 0 0 0
0 0 1 1 1 1 0
0 1 0 1 1 0 1
0 1 1 0 0 1 1
0 0 0 1 0 1 1
0 0 1 0 1 0 1
0 1 0 0 1 1 0
end
cddlib-0.94j/examples-ext/ccc5.ext 0000644 0001750 0001750 00000000715 13270061057 013741 0000000 0000000 * file name: ccc5.ext
* Complete cut cone on 5 vertices
* The number of facets is 40.
V-representation
begin
15 11 integer
0 1 1 1 1 0 0 0 0 0 0
0 0 1 1 1 1 1 1 0 0 0
0 1 0 1 1 1 0 0 1 1 0
0 1 1 0 1 0 1 0 1 0 1
0 1 1 1 0 0 0 1 0 1 1
0 0 0 1 1 0 1 1 1 1 0
0 0 1 0 1 1 0 1 1 0 1
0 0 1 1 0 1 1 0 0 1 1
0 1 0 0 1 1 1 0 0 1 1
0 1 0 1 0 1 0 1 1 0 1
0 1 1 0 0 0 1 1 1 1 0
0 0 0 0 1 0 0 1 0 1 1
0 0 0 1 0 0 1 0 1 0 1
0 0 1 0 0 1 0 0 1 1 0
0 1 0 0 0 1 1 1 0 0 0
end
cddlib-0.94j/examples-ext/ccc6.ext 0000644 0001750 0001750 00000002243 13270061057 013740 0000000 0000000 * file name: ccc6.ext
* Complete cut cone on 6 vertices
* The number of facets is 210.
V-representation
begin
31 16 integer
0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
0 1 0 1 1 1 1 0 0 0 1 1 1 0 0 0
0 1 1 0 1 1 0 1 0 0 1 0 0 1 1 0
0 1 1 1 0 1 0 0 1 0 0 1 0 1 0 1
0 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1
0 0 0 1 1 1 0 1 1 1 1 1 1 0 0 0
0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 0
0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1
0 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1
0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
0 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1
0 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1
0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 1
0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 1
0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0
0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0
0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1
0 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1
0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1
0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1
0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0
0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1
0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1
0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0
0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0
0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1
0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1
0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0
0 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0
0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0
end
cddlib-0.94j/examples-ext/ccp4.ext 0000644 0001750 0001750 00000000545 13270061057 013756 0000000 0000000 * file name: ccp4.ext
* Input file for computing the facets of the complete cut polytope on 4 vertices
* The number of facets is 16.
V-representation
begin
8 7 integer
1 0 0 0 0 0 0
1 1 1 1 0 0 0
1 0 1 1 1 1 0
1 1 0 1 1 0 1
1 1 1 0 0 1 1
1 0 0 1 0 1 1
1 0 1 0 1 0 1
1 1 0 0 1 1 0
end
cddlib-0.94j/examples-ext/ccp5.ext 0000644 0001750 0001750 00000001022 13270061057 013746 0000000 0000000 * filename: ccp5.ext
* Input file for computing the facets of the complete cut polytope on 5 vertices
* The number of facets is 56.
V-representation
begin
16 11 integer
1 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0
1 0 1 1 1 1 1 1 0 0 0
1 1 0 1 1 1 0 0 1 1 0
1 1 1 0 1 0 1 0 1 0 1
1 1 1 1 0 0 0 1 0 1 1
1 0 0 1 1 0 1 1 1 1 0
1 0 1 0 1 1 0 1 1 0 1
1 0 1 1 0 1 1 0 0 1 1
1 1 0 0 1 1 1 0 0 1 1
1 1 0 1 0 1 0 1 1 0 1
1 1 1 0 0 0 1 1 1 1 0
1 0 0 0 1 0 0 1 0 1 1
1 0 0 1 0 0 1 0 1 0 1
1 0 1 0 0 1 0 0 1 1 0
1 1 0 0 0 1 1 1 0 0 0
end
cddlib-0.94j/examples-ext/ccp6.ext 0000644 0001750 0001750 00000002365 13270061057 013762 0000000 0000000 * file name: ccc6.ext
* Input file for computing the facets of the complete cut polytope on 6 vertices
* The number of facets is 368.
V-representation
begin
32 16 integer
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
1 1 0 1 1 1 1 0 0 0 1 1 1 0 0 0
1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 0
1 1 1 1 0 1 0 0 1 0 0 1 0 1 0 1
1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1
1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 0
1 0 1 0 1 1 1 0 1 1 1 0 0 1 1 0
1 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1
1 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1
1 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1
1 1 1 0 0 1 0 1 1 0 1 1 0 0 1 1
1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 1
1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0
1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0
1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1
1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1
1 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1
1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1
1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0
1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1
1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1
1 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0
1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0
1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1
1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1
1 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0
1 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0
1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0
end
cddlib-0.94j/examples-ext/cyclic10-4.ext 0000644 0001750 0001750 00000000416 13270061057 014672 0000000 0000000 * 3-dim cyclic polytope with 10 vertices
* Number of facets (outputs) =16
V-representation
begin
10 4 integer
1 1 1 1
1 2 4 8
1 3 9 27
1 4 16 64
1 5 25 125
1 6 36 216
1 7 49 343
1 8 64 512
1 9 81 729
1 10 100 1000
end
cddlib-0.94j/examples-ext/cyclic12-6.ext 0000644 0001750 0001750 00000000700 13270061057 014672 0000000 0000000 * 5-dim cyclic polytope with12 vertices
* Number of facets (outputs) =72
V-representation
begin
12 6 integer
1 1 1 1 1 1
1 2 4 8 16 32
1 3 9 27 81 243
1 4 16 64 256 1024
1 5 25 125 625 3125
1 6 36 216 1296 7776
1 7 49 343 2401 16807
1 8 64 512 4096 32768
1 9 81 729 6561 59049
1 10 100 1000 10000 100000
1 11 121 1331 14641 161051
1 12 144 1728 20736 248832
end
cddlib-0.94j/examples-ext/cyclic14-8.ext 0000644 0001750 0001750 00000001334 13270061057 014702 0000000 0000000 * 7-dim cyclic polytope with 14 vertices
* Number of facets (outputs) =240
V-representation
begin
14 8 integer
1 1 1 1 1 1 1 1
1 2 4 8 16 32 64 128
1 3 9 27 81 243 729 2187
1 4 16 64 256 1024 4096 16384
1 5 25 125 625 3125 15625 78125
1 6 36 216 1296 7776 46656 279936
1 7 49 343 2401 16807 117649 823543
1 8 64 512 4096 32768 262144 2097152
1 9 81 729 6561 59049 531441 4782969
1 10 100 1000 10000 100000 1000000 10000000
1 11 121 1331 14641 161051 1771561 19487171
1 12 144 1728 20736 248832 2985984 35831808
1 13 169 2197 28561 371293 4826809 62748517
1 14 196 2744 38416 537824 7529536 105413504
end
cddlib-0.94j/examples-ext/cyclic16-10.ext 0000644 0001750 0001750 00000002255 13270061057 014760 0000000 0000000 * 9-dim cyclic polytope with 16 vertices
* Number of facets (outputs) =660
* This must be computed with exact arithmetic
V-representation
begin
16 10 integer
1 1 1 1 1 1 1 1 1 1
1 2 4 8 16 32 64 128 256 512
1 3 9 27 81 243 729 2187 6561 19683
1 4 16 64 256 1024 4096 16384 65536 262144
1 5 25 125 625 3125 15625 78125 390625 1953125
1 6 36 216 1296 7776 46656 279936 1679616 10077696
1 7 49 343 2401 16807 117649 823543 5764801 40353607
1 8 64 512 4096 32768 262144 2097152 16777216 134217728
1 9 81 729 6561 59049 531441 4782969 43046721 387420489
1 10 100 1000 10000 100000 1000000 10000000 100000000 1000000000
1 11 121 1331 14641 161051 1771561 19487171 214358881 2357947691
1 12 144 1728 20736 248832 2985984 35831808 429981696 5159780352
1 13 169 2197 28561 371293 4826809 62748517 815730721 10604499373
1 14 196 2744 38416 537824 7529536 105413504 1475789056 20661046784
1 15 225 3375 50625 759375 11390625 170859375 2562890625 38443359375
1 16 256 4096 65536 1048576 16777216 268435456 4294967296 68719476736
end
cddlib-0.94j/examples-ext/irbox200-4.ext 0000644 0001750 0001750 00000012324 13270061057 014631 0000000 0000000 * File name: ibox200-4.ext
* Randomly generated 200 integral points in [-100..100]^3
V-representation
begin
200 4 integer
1 12 -49 2
1 -38 25 -3
1 -26 39 -7
1 -25 28 44
1 -20 -41 -31
1 49 45 28
1 -42 12 -25
1 -9 -31 -20
1 49 5 33
1 15 34 30
1 -18 -3 31
1 34 8 6
1 -19 31 -4
1 23 -44 -25
1 17 -14 -16
1 36 -14 -20
1 15 -7 42
1 39 33 -39
1 -30 33 15
1 -46 -1 0
1 33 30 47
1 14 14 5
1 -28 45 -13
1 17 18 -7
1 41 -13 27
1 -24 -27 -36
1 5 37 5
1 -2 27 -11
1 7 47 -28
1 -26 -49 20
1 24 34 0
1 21 0 -35
1 -23 20 -39
1 13 -12 28
1 -44 -20 -35
1 33 4 -12
1 46 -39 -25
1 2 7 -47
1 41 -34 49
1 -36 -11 -49
1 33 -37 34
1 -16 34 -15
1 -1 -39 -45
1 8 23 -8
1 -12 29 21
1 2 13 -23
1 39 10 -13
1 -36 -37 43
1 -34 -46 -41
1 -34 -32 -2
1 -33 -49 10
1 -48 -15 -5
1 -14 33 4
1 -10 -7 -21
1 31 29 -42
1 2 -18 21
1 29 -29 -18
1 -34 -15 -6
1 -41 0 -2
1 -32 16 14
1 14 32 15
1 -25 33 -49
1 19 -31 33
1 -26 8 -24
1 2 -10 -44
1 9 42 -12
1 -19 21 8
1 12 37 43
1 -44 45 -6
1 3 -36 -40
1 -31 27 42
1 33 -47 25
1 33 21 43
1 17 45 1
1 43 -2 41
1 49 -42 34
1 -13 -11 5
1 45 -49 -7
1 38 -43 -11
1 -18 10 2
1 -8 28 -19
1 -16 12 -17
1 -40 -4 -45
1 -46 -36 -49
1 5 -43 -2
1 -3 -44 5
1 -18 -7 43
1 36 -12 44
1 -20 -24 -49
1 18 7 10
1 -29 48 -10
1 0 -17 -48
1 33 -8 -2
1 37 -4 10
1 38 -49 17
1 -14 -2 22
1 41 28 -35
1 35 15 2
1 29 44 27
1 30 13 -15
1 -8 33 -16
1 30 -16 15
1 31 -32 -42
1 -20 -44 3
1 39 43 3
1 6 -20 -49
1 -20 -29 29
1 -5 -44 -5
1 46 34 -11
1 24 15 -48
1 -41 -43 35
1 -8 37 -30
1 -42 19 -13
1 -34 48 -8
1 18 37 -15
1 -27 -5 13
1 -27 23 33
1 -48 -32 39
1 -3 -35 23
1 34 38 -10
1 36 47 -4
1 22 -11 -17
1 41 -3 -47
1 -22 12 -49
1 18 -18 37
1 -46 3 -17
1 17 26 -44
1 1 28 -26
1 -9 -25 -11
1 -35 -40 -23
1 3 46 -26
1 49 18 12
1 -18 9 -40
1 -16 37 21
1 -15 5 -46
1 -27 9 6
1 4 -23 -16
1 10 27 -38
1 34 -31 -14
1 -27 -17 -4
1 -1 35 -8
1 22 34 -40
1 -15 -33 19
1 -5 0 6
1 -33 34 -37
1 -30 -43 21
1 26 11 48
1 -40 -28 26
1 -29 -43 44
1 6 -21 -23
1 -48 27 -38
1 -7 0 46
1 2 34 -36
1 -28 -21 13
1 27 -5 -1
1 39 14 5
1 11 -9 -33
1 9 0 -11
1 -14 20 -5
1 -20 -22 23
1 6 -21 0
1 18 21 49
1 14 -25 34
1 27 -4 -37
1 -8 -26 7
1 39 -36 -27
1 -4 24 13
1 11 -15 -36
1 -49 20 33
1 -4 49 -38
1 -31 6 -10
1 18 -25 -38
1 18 39 -13
1 2 17 32
1 14 -41 -44
1 -27 48 -31
1 -5 -6 43
1 -42 -44 -22
1 -29 -44 48
1 -45 1 47
1 -34 19 4
1 5 -11 28
1 17 -43 17
1 -46 8 -15
1 35 -26 -6
1 41 -3 -8
1 -39 41 34
1 -46 49 40
1 -18 -29 46
1 -20 -25 -2
1 -22 -9 -32
1 31 46 5
1 10 14 11
1 -22 17 -29
1 12 3 -5
1 -44 -5 40
1 -2 4 32
1 -18 8 31
1 -27 40 -48
1 -31 -29 -23
end
cddlib-0.94j/examples-ext/irbox20-4.ext 0000644 0001750 0001750 00000001212 13270061057 014543 0000000 0000000 * File name: irbox20-4.ext
* Randomly generated 20 integral points in [-100..100]^3
V-representation
begin
20 4 integer
1 -45 1 47
1 -34 19 4
1 5 -11 28
1 17 -43 17
1 -46 8 -15
1 35 -26 -6
1 41 -3 -8
1 -39 41 34
1 -46 49 40
1 -18 -29 46
1 -20 -25 -2
1 -22 -9 -32
1 31 46 5
1 10 14 11
1 -22 17 -29
1 12 3 -5
1 -44 -5 40
1 -2 4 32
1 -18 8 31
1 -27 40 -48
end
cddlib-0.94j/examples-ext/prodst62.ext 0000644 0001750 0001750 00000530777 13270061057 014627 0000000 0000000 * Created by Alain Prodon.
* Convex hull problem and the number of facets is 168.
V-representation
begin
3461 25 integer
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 0 1 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1
1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1
1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1
1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0
1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0
1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0
1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0
1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0
1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0
1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0
1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1
1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1
1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0
1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 0
1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0
1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0
1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1
1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1
1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0
1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0
1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0
1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0
1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1
1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0
1 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0
1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1
1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1
1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0
1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0
1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0
1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0
1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0
1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1
1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0
1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0
1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0
1 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1
1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0
1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1
1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0
1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0
1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1
1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1
1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0
1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1
1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1
1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0
1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0
1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0
1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0
1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0
1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1
1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0
1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0
1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1
1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0
1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0
1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0
1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0
1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1
1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1
1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1
1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0
1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0
1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0
1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0
1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0
1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0
1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0
1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1
1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0
1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0
1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0
1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1
1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1
1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0
1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0
1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0
1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0
1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1
1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1
1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0
1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0
1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0
1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0
1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1
1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1
1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1
1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1
1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1
1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0
1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0
1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0
1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0
1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0
1 1 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 1 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0
1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
end
cddlib-0.94j/examples-ext/reg24-5.ext 0000644 0001750 0001750 00000001045 13270061057 014206 0000000 0000000 * The vertices of a self-dual 4-dim regular polytope
* with 24 octahedron facets.
* We use hull option to compute all (24) facet inequalities.
V-representation
begin
24 5 integer
1 1 1 1 1
1 1 1 1 -1
1 1 1 -1 1
1 1 1 -1 -1
1 1 -1 1 1
1 1 -1 1 -1
1 1 -1 -1 1
1 1 -1 -1 -1
1 -1 1 1 1
1 -1 1 1 -1
1 -1 1 -1 1
1 -1 1 -1 -1
1 -1 -1 1 1
1 -1 -1 1 -1
1 -1 -1 -1 1
1 -1 -1 -1 -1
1 2 0 0 0
1 0 2 0 0
1 0 0 2 0
1 0 0 0 2
1 -2 0 0 0
1 0 -2 0 0
1 0 0 -2 0
1 0 0 0 -2
end
cddlib-0.94j/examples-ext/reg600-5.ext 0000644 0001750 0001750 00000056100 13270061057 014270 0000000 0000000 * filename: reg600-5.ine
* The vertices of a 4-dim regular polytope with 600 vertices.
* Hull computation for finding all 120 facets.
V-representation
begin
600 5 real
1 -2. -2. 0 0
1 -2. 0 -2. 0
1 -2. 0 0 -2.
1 -2. 0 0 2.
1 -2. 0 2. 0
1 -2. 2. 0 0
1 0 -2. -2. 0
1 0 -2. 0 -2.
1 0 -2. 0 2.
1 0 -2. 2. 0
1 0 0 -2. -2.
1 0 0 -2. 2.
1 0 0 2. -2.
1 0 0 2. 2.
1 0 2. -2. 0
1 0 2. 0 -2.
1 0 2. 0 2.
1 0 2. 2. 0
1 2. -2. 0 0
1 2. 0 -2. 0
1 2. 0 0 -2.
1 2. 0 0 2.
1 2. 0 2. 0
1 2. 2. 0 0
1 -1. -1. -1. -2.236067977
1 -1. -1. -1. 2.236067977
1 -1. -1. 1. -2.236067977
1 -1. -1. 1. 2.236067977
1 -1. -1. -2.236067977 -1.
1 -1. -1. -2.236067977 1.
1 -1. -1. 2.236067977 -1.
1 -1. -1. 2.236067977 1.
1 -1. 1. -1. -2.236067977
1 -1. 1. -1. 2.236067977
1 -1. 1. 1. -2.236067977
1 -1. 1. 1. 2.236067977
1 -1. 1. -2.236067977 -1.
1 -1. 1. -2.236067977 1.
1 -1. 1. 2.236067977 -1.
1 -1. 1. 2.236067977 1.
1 -1. -2.236067977 -1. -1.
1 -1. -2.236067977 -1. 1.
1 -1. -2.236067977 1. -1.
1 -1. -2.236067977 1. 1.
1 -1. 2.236067977 -1. -1.
1 -1. 2.236067977 -1. 1.
1 -1. 2.236067977 1. -1.
1 -1. 2.236067977 1. 1.
1 1. -1. -1. -2.236067977
1 1. -1. -1. 2.236067977
1 1. -1. 1. -2.236067977
1 1. -1. 1. 2.236067977
1 1. -1. -2.236067977 -1.
1 1. -1. -2.236067977 1.
1 1. -1. 2.236067977 -1.
1 1. -1. 2.236067977 1.
1 1. 1. -1. -2.236067977
1 1. 1. -1. 2.236067977
1 1. 1. 1. -2.236067977
1 1. 1. 1. 2.236067977
1 1. 1. -2.236067977 -1.
1 1. 1. -2.236067977 1.
1 1. 1. 2.236067977 -1.
1 1. 1. 2.236067977 1.
1 1. -2.236067977 -1. -1.
1 1. -2.236067977 -1. 1.
1 1. -2.236067977 1. -1.
1 1. -2.236067977 1. 1.
1 1. 2.236067977 -1. -1.
1 1. 2.236067977 -1. 1.
1 1. 2.236067977 1. -1.
1 1. 2.236067977 1. 1.
1 -2.236067977 -1. -1. -1.
1 -2.236067977 -1. -1. 1.
1 -2.236067977 -1. 1. -1.
1 -2.236067977 -1. 1. 1.
1 -2.236067977 1. -1. -1.
1 -2.236067977 1. -1. 1.
1 -2.236067977 1. 1. -1.
1 -2.236067977 1. 1. 1.
1 2.236067977 -1. -1. -1.
1 2.236067977 -1. -1. 1.
1 2.236067977 -1. 1. -1.
1 2.236067977 -1. 1. 1.
1 2.236067977 1. -1. -1.
1 2.236067977 1. -1. 1.
1 2.236067977 1. 1. -1.
1 2.236067977 1. 1. 1.
1 -1.618033989 -1.618033989 -1.618033989 -0.3819660113
1 -1.618033989 -1.618033989 -1.618033989 0.3819660113
1 -1.618033989 -1.618033989 -0.3819660113 -1.618033989
1 -1.618033989 -1.618033989 -0.3819660113 1.618033989
1 -1.618033989 -1.618033989 0.3819660113 -1.618033989
1 -1.618033989 -1.618033989 0.3819660113 1.618033989
1 -1.618033989 -1.618033989 1.618033989 -0.3819660113
1 -1.618033989 -1.618033989 1.618033989 0.3819660113
1 -1.618033989 -0.3819660113 -1.618033989 -1.618033989
1 -1.618033989 -0.3819660113 -1.618033989 1.618033989
1 -1.618033989 -0.3819660113 1.618033989 -1.618033989
1 -1.618033989 -0.3819660113 1.618033989 1.618033989
1 -1.618033989 0.3819660113 -1.618033989 -1.618033989
1 -1.618033989 0.3819660113 -1.618033989 1.618033989
1 -1.618033989 0.3819660113 1.618033989 -1.618033989
1 -1.618033989 0.3819660113 1.618033989 1.618033989
1 -1.618033989 1.618033989 -1.618033989 -0.3819660113
1 -1.618033989 1.618033989 -1.618033989 0.3819660113
1 -1.618033989 1.618033989 -0.3819660113 -1.618033989
1 -1.618033989 1.618033989 -0.3819660113 1.618033989
1 -1.618033989 1.618033989 0.3819660113 -1.618033989
1 -1.618033989 1.618033989 0.3819660113 1.618033989
1 -1.618033989 1.618033989 1.618033989 -0.3819660113
1 -1.618033989 1.618033989 1.618033989 0.3819660113
1 -0.3819660113 -1.618033989 -1.618033989 -1.618033989
1 -0.3819660113 -1.618033989 -1.618033989 1.618033989
1 -0.3819660113 -1.618033989 1.618033989 -1.618033989
1 -0.3819660113 -1.618033989 1.618033989 1.618033989
1 -0.3819660113 1.618033989 -1.618033989 -1.618033989
1 -0.3819660113 1.618033989 -1.618033989 1.618033989
1 -0.3819660113 1.618033989 1.618033989 -1.618033989
1 -0.3819660113 1.618033989 1.618033989 1.618033989
1 0.3819660113 -1.618033989 -1.618033989 -1.618033989
1 0.3819660113 -1.618033989 -1.618033989 1.618033989
1 0.3819660113 -1.618033989 1.618033989 -1.618033989
1 0.3819660113 -1.618033989 1.618033989 1.618033989
1 0.3819660113 1.618033989 -1.618033989 -1.618033989
1 0.3819660113 1.618033989 -1.618033989 1.618033989
1 0.3819660113 1.618033989 1.618033989 -1.618033989
1 0.3819660113 1.618033989 1.618033989 1.618033989
1 1.618033989 -1.618033989 -1.618033989 -0.3819660113
1 1.618033989 -1.618033989 -1.618033989 0.3819660113
1 1.618033989 -1.618033989 -0.3819660113 -1.618033989
1 1.618033989 -1.618033989 -0.3819660113 1.618033989
1 1.618033989 -1.618033989 0.3819660113 -1.618033989
1 1.618033989 -1.618033989 0.3819660113 1.618033989
1 1.618033989 -1.618033989 1.618033989 -0.3819660113
1 1.618033989 -1.618033989 1.618033989 0.3819660113
1 1.618033989 -0.3819660113 -1.618033989 -1.618033989
1 1.618033989 -0.3819660113 -1.618033989 1.618033989
1 1.618033989 -0.3819660113 1.618033989 -1.618033989
1 1.618033989 -0.3819660113 1.618033989 1.618033989
1 1.618033989 0.3819660113 -1.618033989 -1.618033989
1 1.618033989 0.3819660113 -1.618033989 1.618033989
1 1.618033989 0.3819660113 1.618033989 -1.618033989
1 1.618033989 0.3819660113 1.618033989 1.618033989
1 1.618033989 1.618033989 -1.618033989 -0.3819660113
1 1.618033989 1.618033989 -1.618033989 0.3819660113
1 1.618033989 1.618033989 -0.3819660113 -1.618033989
1 1.618033989 1.618033989 -0.3819660113 1.618033989
1 1.618033989 1.618033989 0.3819660113 -1.618033989
1 1.618033989 1.618033989 0.3819660113 1.618033989
1 1.618033989 1.618033989 1.618033989 -0.3819660113
1 1.618033989 1.618033989 1.618033989 0.3819660113
1 -0.6180339887 -0.6180339887 -0.6180339887 -2.618033989
1 -0.6180339887 -0.6180339887 -0.6180339887 2.618033989
1 -0.6180339887 -0.6180339887 0.6180339887 -2.618033989
1 -0.6180339887 -0.6180339887 0.6180339887 2.618033989
1 -0.6180339887 -0.6180339887 -2.618033989 -0.6180339887
1 -0.6180339887 -0.6180339887 -2.618033989 0.6180339887
1 -0.6180339887 -0.6180339887 2.618033989 -0.6180339887
1 -0.6180339887 -0.6180339887 2.618033989 0.6180339887
1 -0.6180339887 0.6180339887 -0.6180339887 -2.618033989
1 -0.6180339887 0.6180339887 -0.6180339887 2.618033989
1 -0.6180339887 0.6180339887 0.6180339887 -2.618033989
1 -0.6180339887 0.6180339887 0.6180339887 2.618033989
1 -0.6180339887 0.6180339887 -2.618033989 -0.6180339887
1 -0.6180339887 0.6180339887 -2.618033989 0.6180339887
1 -0.6180339887 0.6180339887 2.618033989 -0.6180339887
1 -0.6180339887 0.6180339887 2.618033989 0.6180339887
1 -0.6180339887 -2.618033989 -0.6180339887 -0.6180339887
1 -0.6180339887 -2.618033989 -0.6180339887 0.6180339887
1 -0.6180339887 -2.618033989 0.6180339887 -0.6180339887
1 -0.6180339887 -2.618033989 0.6180339887 0.6180339887
1 -0.6180339887 2.618033989 -0.6180339887 -0.6180339887
1 -0.6180339887 2.618033989 -0.6180339887 0.6180339887
1 -0.6180339887 2.618033989 0.6180339887 -0.6180339887
1 -0.6180339887 2.618033989 0.6180339887 0.6180339887
1 0.6180339887 -0.6180339887 -0.6180339887 -2.618033989
1 0.6180339887 -0.6180339887 -0.6180339887 2.618033989
1 0.6180339887 -0.6180339887 0.6180339887 -2.618033989
1 0.6180339887 -0.6180339887 0.6180339887 2.618033989
1 0.6180339887 -0.6180339887 -2.618033989 -0.6180339887
1 0.6180339887 -0.6180339887 -2.618033989 0.6180339887
1 0.6180339887 -0.6180339887 2.618033989 -0.6180339887
1 0.6180339887 -0.6180339887 2.618033989 0.6180339887
1 0.6180339887 0.6180339887 -0.6180339887 -2.618033989
1 0.6180339887 0.6180339887 -0.6180339887 2.618033989
1 0.6180339887 0.6180339887 0.6180339887 -2.618033989
1 0.6180339887 0.6180339887 0.6180339887 2.618033989
1 0.6180339887 0.6180339887 -2.618033989 -0.6180339887
1 0.6180339887 0.6180339887 -2.618033989 0.6180339887
1 0.6180339887 0.6180339887 2.618033989 -0.6180339887
1 0.6180339887 0.6180339887 2.618033989 0.6180339887
1 0.6180339887 -2.618033989 -0.6180339887 -0.6180339887
1 0.6180339887 -2.618033989 -0.6180339887 0.6180339887
1 0.6180339887 -2.618033989 0.6180339887 -0.6180339887
1 0.6180339887 -2.618033989 0.6180339887 0.6180339887
1 0.6180339887 2.618033989 -0.6180339887 -0.6180339887
1 0.6180339887 2.618033989 -0.6180339887 0.6180339887
1 0.6180339887 2.618033989 0.6180339887 -0.6180339887
1 0.6180339887 2.618033989 0.6180339887 0.6180339887
1 -2.618033989 -0.6180339887 -0.6180339887 -0.6180339887
1 -2.618033989 -0.6180339887 -0.6180339887 0.6180339887
1 -2.618033989 -0.6180339887 0.6180339887 -0.6180339887
1 -2.618033989 -0.6180339887 0.6180339887 0.6180339887
1 -2.618033989 0.6180339887 -0.6180339887 -0.6180339887
1 -2.618033989 0.6180339887 -0.6180339887 0.6180339887
1 -2.618033989 0.6180339887 0.6180339887 -0.6180339887
1 -2.618033989 0.6180339887 0.6180339887 0.6180339887
1 2.618033989 -0.6180339887 -0.6180339887 -0.6180339887
1 2.618033989 -0.6180339887 -0.6180339887 0.6180339887
1 2.618033989 -0.6180339887 0.6180339887 -0.6180339887
1 2.618033989 -0.6180339887 0.6180339887 0.6180339887
1 2.618033989 0.6180339887 -0.6180339887 -0.6180339887
1 2.618033989 0.6180339887 -0.6180339887 0.6180339887
1 2.618033989 0.6180339887 0.6180339887 -0.6180339887
1 2.618033989 0.6180339887 0.6180339887 0.6180339887
1 -1. 0 -2.618033989 -0.3819660113
1 -1. 0 -2.618033989 0.3819660113
1 -1. 0 2.618033989 -0.3819660113
1 -1. 0 2.618033989 0.3819660113
1 -1. -0.3819660113 0 -2.618033989
1 -1. -0.3819660113 0 2.618033989
1 -1. 0.3819660113 0 -2.618033989
1 -1. 0.3819660113 0 2.618033989
1 -1. -2.618033989 -0.3819660113 0
1 -1. -2.618033989 0.3819660113 0
1 -1. 2.618033989 -0.3819660113 0
1 -1. 2.618033989 0.3819660113 0
1 0 -1. -0.3819660113 -2.618033989
1 0 -1. -0.3819660113 2.618033989
1 0 -1. 0.3819660113 -2.618033989
1 0 -1. 0.3819660113 2.618033989
1 0 1. -0.3819660113 -2.618033989
1 0 1. -0.3819660113 2.618033989
1 0 1. 0.3819660113 -2.618033989
1 0 1. 0.3819660113 2.618033989
1 0 -0.3819660113 -2.618033989 -1.
1 0 -0.3819660113 -2.618033989 1.
1 0 -0.3819660113 2.618033989 -1.
1 0 -0.3819660113 2.618033989 1.
1 0 0.3819660113 -2.618033989 -1.
1 0 0.3819660113 -2.618033989 1.
1 0 0.3819660113 2.618033989 -1.
1 0 0.3819660113 2.618033989 1.
1 0 -2.618033989 -1. -0.3819660113
1 0 -2.618033989 -1. 0.3819660113
1 0 -2.618033989 1. -0.3819660113
1 0 -2.618033989 1. 0.3819660113
1 0 2.618033989 -1. -0.3819660113
1 0 2.618033989 -1. 0.3819660113
1 0 2.618033989 1. -0.3819660113
1 0 2.618033989 1. 0.3819660113
1 1. 0 -2.618033989 -0.3819660113
1 1. 0 -2.618033989 0.3819660113
1 1. 0 2.618033989 -0.3819660113
1 1. 0 2.618033989 0.3819660113
1 1. -0.3819660113 0 -2.618033989
1 1. -0.3819660113 0 2.618033989
1 1. 0.3819660113 0 -2.618033989
1 1. 0.3819660113 0 2.618033989
1 1. -2.618033989 -0.3819660113 0
1 1. -2.618033989 0.3819660113 0
1 1. 2.618033989 -0.3819660113 0
1 1. 2.618033989 0.3819660113 0
1 -0.3819660113 -1. -2.618033989 0
1 -0.3819660113 -1. 2.618033989 0
1 -0.3819660113 0 -1. -2.618033989
1 -0.3819660113 0 -1. 2.618033989
1 -0.3819660113 0 1. -2.618033989
1 -0.3819660113 0 1. 2.618033989
1 -0.3819660113 1. -2.618033989 0
1 -0.3819660113 1. 2.618033989 0
1 -0.3819660113 -2.618033989 0 -1.
1 -0.3819660113 -2.618033989 0 1.
1 -0.3819660113 2.618033989 0 -1.
1 -0.3819660113 2.618033989 0 1.
1 0.3819660113 -1. -2.618033989 0
1 0.3819660113 -1. 2.618033989 0
1 0.3819660113 0 -1. -2.618033989
1 0.3819660113 0 -1. 2.618033989
1 0.3819660113 0 1. -2.618033989
1 0.3819660113 0 1. 2.618033989
1 0.3819660113 1. -2.618033989 0
1 0.3819660113 1. 2.618033989 0
1 0.3819660113 -2.618033989 0 -1.
1 0.3819660113 -2.618033989 0 1.
1 0.3819660113 2.618033989 0 -1.
1 0.3819660113 2.618033989 0 1.
1 -2.618033989 -1. 0 -0.3819660113
1 -2.618033989 -1. 0 0.3819660113
1 -2.618033989 0 -0.3819660113 -1.
1 -2.618033989 0 -0.3819660113 1.
1 -2.618033989 0 0.3819660113 -1.
1 -2.618033989 0 0.3819660113 1.
1 -2.618033989 1. 0 -0.3819660113
1 -2.618033989 1. 0 0.3819660113
1 -2.618033989 -0.3819660113 -1. 0
1 -2.618033989 -0.3819660113 1. 0
1 -2.618033989 0.3819660113 -1. 0
1 -2.618033989 0.3819660113 1. 0
1 2.618033989 -1. 0 -0.3819660113
1 2.618033989 -1. 0 0.3819660113
1 2.618033989 0 -0.3819660113 -1.
1 2.618033989 0 -0.3819660113 1.
1 2.618033989 0 0.3819660113 -1.
1 2.618033989 0 0.3819660113 1.
1 2.618033989 1. 0 -0.3819660113
1 2.618033989 1. 0 0.3819660113
1 2.618033989 -0.3819660113 -1. 0
1 2.618033989 -0.3819660113 1. 0
1 2.618033989 0.3819660113 -1. 0
1 2.618033989 0.3819660113 1. 0
1 0 -2.236067977 -1.618033989 -0.6180339887
1 0 -2.236067977 -1.618033989 0.6180339887
1 0 -2.236067977 1.618033989 -0.6180339887
1 0 -2.236067977 1.618033989 0.6180339887
1 0 2.236067977 -1.618033989 -0.6180339887
1 0 2.236067977 -1.618033989 0.6180339887
1 0 2.236067977 1.618033989 -0.6180339887
1 0 2.236067977 1.618033989 0.6180339887
1 0 -1.618033989 -0.6180339887 -2.236067977
1 0 -1.618033989 -0.6180339887 2.236067977
1 0 -1.618033989 0.6180339887 -2.236067977
1 0 -1.618033989 0.6180339887 2.236067977
1 0 -0.6180339887 -2.236067977 -1.618033989
1 0 -0.6180339887 -2.236067977 1.618033989
1 0 -0.6180339887 2.236067977 -1.618033989
1 0 -0.6180339887 2.236067977 1.618033989
1 0 0.6180339887 -2.236067977 -1.618033989
1 0 0.6180339887 -2.236067977 1.618033989
1 0 0.6180339887 2.236067977 -1.618033989
1 0 0.6180339887 2.236067977 1.618033989
1 0 1.618033989 -0.6180339887 -2.236067977
1 0 1.618033989 -0.6180339887 2.236067977
1 0 1.618033989 0.6180339887 -2.236067977
1 0 1.618033989 0.6180339887 2.236067977
1 -2.236067977 0 -0.6180339887 -1.618033989
1 -2.236067977 0 -0.6180339887 1.618033989
1 -2.236067977 0 0.6180339887 -1.618033989
1 -2.236067977 0 0.6180339887 1.618033989
1 -2.236067977 -1.618033989 0 -0.6180339887
1 -2.236067977 -1.618033989 0 0.6180339887
1 -2.236067977 -0.6180339887 -1.618033989 0
1 -2.236067977 -0.6180339887 1.618033989 0
1 -2.236067977 0.6180339887 -1.618033989 0
1 -2.236067977 0.6180339887 1.618033989 0
1 -2.236067977 1.618033989 0 -0.6180339887
1 -2.236067977 1.618033989 0 0.6180339887
1 2.236067977 0 -0.6180339887 -1.618033989
1 2.236067977 0 -0.6180339887 1.618033989
1 2.236067977 0 0.6180339887 -1.618033989
1 2.236067977 0 0.6180339887 1.618033989
1 2.236067977 -1.618033989 0 -0.6180339887
1 2.236067977 -1.618033989 0 0.6180339887
1 2.236067977 -0.6180339887 -1.618033989 0
1 2.236067977 -0.6180339887 1.618033989 0
1 2.236067977 0.6180339887 -1.618033989 0
1 2.236067977 0.6180339887 1.618033989 0
1 2.236067977 1.618033989 0 -0.6180339887
1 2.236067977 1.618033989 0 0.6180339887
1 -1.618033989 0 -2.236067977 -0.6180339887
1 -1.618033989 0 -2.236067977 0.6180339887
1 -1.618033989 0 2.236067977 -0.6180339887
1 -1.618033989 0 2.236067977 0.6180339887
1 -1.618033989 -2.236067977 -0.6180339887 0
1 -1.618033989 -2.236067977 0.6180339887 0
1 -1.618033989 2.236067977 -0.6180339887 0
1 -1.618033989 2.236067977 0.6180339887 0
1 -1.618033989 -0.6180339887 0 -2.236067977
1 -1.618033989 -0.6180339887 0 2.236067977
1 -1.618033989 0.6180339887 0 -2.236067977
1 -1.618033989 0.6180339887 0 2.236067977
1 -0.6180339887 0 -1.618033989 -2.236067977
1 -0.6180339887 0 -1.618033989 2.236067977
1 -0.6180339887 0 1.618033989 -2.236067977
1 -0.6180339887 0 1.618033989 2.236067977
1 -0.6180339887 -2.236067977 0 -1.618033989
1 -0.6180339887 -2.236067977 0 1.618033989
1 -0.6180339887 2.236067977 0 -1.618033989
1 -0.6180339887 2.236067977 0 1.618033989
1 -0.6180339887 -1.618033989 -2.236067977 0
1 -0.6180339887 -1.618033989 2.236067977 0
1 -0.6180339887 1.618033989 -2.236067977 0
1 -0.6180339887 1.618033989 2.236067977 0
1 0.6180339887 0 -1.618033989 -2.236067977
1 0.6180339887 0 -1.618033989 2.236067977
1 0.6180339887 0 1.618033989 -2.236067977
1 0.6180339887 0 1.618033989 2.236067977
1 0.6180339887 -2.236067977 0 -1.618033989
1 0.6180339887 -2.236067977 0 1.618033989
1 0.6180339887 2.236067977 0 -1.618033989
1 0.6180339887 2.236067977 0 1.618033989
1 0.6180339887 -1.618033989 -2.236067977 0
1 0.6180339887 -1.618033989 2.236067977 0
1 0.6180339887 1.618033989 -2.236067977 0
1 0.6180339887 1.618033989 2.236067977 0
1 1.618033989 0 -2.236067977 -0.6180339887
1 1.618033989 0 -2.236067977 0.6180339887
1 1.618033989 0 2.236067977 -0.6180339887
1 1.618033989 0 2.236067977 0.6180339887
1 1.618033989 -2.236067977 -0.6180339887 0
1 1.618033989 -2.236067977 0.6180339887 0
1 1.618033989 2.236067977 -0.6180339887 0
1 1.618033989 2.236067977 0.6180339887 0
1 1.618033989 -0.6180339887 0 -2.236067977
1 1.618033989 -0.6180339887 0 2.236067977
1 1.618033989 0.6180339887 0 -2.236067977
1 1.618033989 0.6180339887 0 2.236067977
1 -2. -1. -1.618033989 -0.6180339887
1 -2. -1. -1.618033989 0.6180339887
1 -2. -1. 1.618033989 -0.6180339887
1 -2. -1. 1.618033989 0.6180339887
1 -2. 1. -1.618033989 -0.6180339887
1 -2. 1. -1.618033989 0.6180339887
1 -2. 1. 1.618033989 -0.6180339887
1 -2. 1. 1.618033989 0.6180339887
1 -2. -1.618033989 -0.6180339887 -1.
1 -2. -1.618033989 -0.6180339887 1.
1 -2. -1.618033989 0.6180339887 -1.
1 -2. -1.618033989 0.6180339887 1.
1 -2. -0.6180339887 -1. -1.618033989
1 -2. -0.6180339887 -1. 1.618033989
1 -2. -0.6180339887 1. -1.618033989
1 -2. -0.6180339887 1. 1.618033989
1 -2. 0.6180339887 -1. -1.618033989
1 -2. 0.6180339887 -1. 1.618033989
1 -2. 0.6180339887 1. -1.618033989
1 -2. 0.6180339887 1. 1.618033989
1 -2. 1.618033989 -0.6180339887 -1.
1 -2. 1.618033989 -0.6180339887 1.
1 -2. 1.618033989 0.6180339887 -1.
1 -2. 1.618033989 0.6180339887 1.
1 -1. -2. -0.6180339887 -1.618033989
1 -1. -2. -0.6180339887 1.618033989
1 -1. -2. 0.6180339887 -1.618033989
1 -1. -2. 0.6180339887 1.618033989
1 -1. 2. -0.6180339887 -1.618033989
1 -1. 2. -0.6180339887 1.618033989
1 -1. 2. 0.6180339887 -1.618033989
1 -1. 2. 0.6180339887 1.618033989
1 -1. -1.618033989 -2. -0.6180339887
1 -1. -1.618033989 -2. 0.6180339887
1 -1. -1.618033989 2. -0.6180339887
1 -1. -1.618033989 2. 0.6180339887
1 -1. -0.6180339887 -1.618033989 -2.
1 -1. -0.6180339887 -1.618033989 2.
1 -1. -0.6180339887 1.618033989 -2.
1 -1. -0.6180339887 1.618033989 2.
1 -1. 0.6180339887 -1.618033989 -2.
1 -1. 0.6180339887 -1.618033989 2.
1 -1. 0.6180339887 1.618033989 -2.
1 -1. 0.6180339887 1.618033989 2.
1 -1. 1.618033989 -2. -0.6180339887
1 -1. 1.618033989 -2. 0.6180339887
1 -1. 1.618033989 2. -0.6180339887
1 -1. 1.618033989 2. 0.6180339887
1 1. -2. -0.6180339887 -1.618033989
1 1. -2. -0.6180339887 1.618033989
1 1. -2. 0.6180339887 -1.618033989
1 1. -2. 0.6180339887 1.618033989
1 1. 2. -0.6180339887 -1.618033989
1 1. 2. -0.6180339887 1.618033989
1 1. 2. 0.6180339887 -1.618033989
1 1. 2. 0.6180339887 1.618033989
1 1. -1.618033989 -2. -0.6180339887
1 1. -1.618033989 -2. 0.6180339887
1 1. -1.618033989 2. -0.6180339887
1 1. -1.618033989 2. 0.6180339887
1 1. -0.6180339887 -1.618033989 -2.
1 1. -0.6180339887 -1.618033989 2.
1 1. -0.6180339887 1.618033989 -2.
1 1. -0.6180339887 1.618033989 2.
1 1. 0.6180339887 -1.618033989 -2.
1 1. 0.6180339887 -1.618033989 2.
1 1. 0.6180339887 1.618033989 -2.
1 1. 0.6180339887 1.618033989 2.
1 1. 1.618033989 -2. -0.6180339887
1 1. 1.618033989 -2. 0.6180339887
1 1. 1.618033989 2. -0.6180339887
1 1. 1.618033989 2. 0.6180339887
1 2. -1. -1.618033989 -0.6180339887
1 2. -1. -1.618033989 0.6180339887
1 2. -1. 1.618033989 -0.6180339887
1 2. -1. 1.618033989 0.6180339887
1 2. 1. -1.618033989 -0.6180339887
1 2. 1. -1.618033989 0.6180339887
1 2. 1. 1.618033989 -0.6180339887
1 2. 1. 1.618033989 0.6180339887
1 2. -1.618033989 -0.6180339887 -1.
1 2. -1.618033989 -0.6180339887 1.
1 2. -1.618033989 0.6180339887 -1.
1 2. -1.618033989 0.6180339887 1.
1 2. -0.6180339887 -1. -1.618033989
1 2. -0.6180339887 -1. 1.618033989
1 2. -0.6180339887 1. -1.618033989
1 2. -0.6180339887 1. 1.618033989
1 2. 0.6180339887 -1. -1.618033989
1 2. 0.6180339887 -1. 1.618033989
1 2. 0.6180339887 1. -1.618033989
1 2. 0.6180339887 1. 1.618033989
1 2. 1.618033989 -0.6180339887 -1.
1 2. 1.618033989 -0.6180339887 1.
1 2. 1.618033989 0.6180339887 -1.
1 2. 1.618033989 0.6180339887 1.
1 -1.618033989 -2. -1. -0.6180339887
1 -1.618033989 -2. -1. 0.6180339887
1 -1.618033989 -2. 1. -0.6180339887
1 -1.618033989 -2. 1. 0.6180339887
1 -1.618033989 -1. -0.6180339887 -2.
1 -1.618033989 -1. -0.6180339887 2.
1 -1.618033989 -1. 0.6180339887 -2.
1 -1.618033989 -1. 0.6180339887 2.
1 -1.618033989 1. -0.6180339887 -2.
1 -1.618033989 1. -0.6180339887 2.
1 -1.618033989 1. 0.6180339887 -2.
1 -1.618033989 1. 0.6180339887 2.
1 -1.618033989 2. -1. -0.6180339887
1 -1.618033989 2. -1. 0.6180339887
1 -1.618033989 2. 1. -0.6180339887
1 -1.618033989 2. 1. 0.6180339887
1 -1.618033989 -0.6180339887 -2. -1.
1 -1.618033989 -0.6180339887 -2. 1.
1 -1.618033989 -0.6180339887 2. -1.
1 -1.618033989 -0.6180339887 2. 1.
1 -1.618033989 0.6180339887 -2. -1.
1 -1.618033989 0.6180339887 -2. 1.
1 -1.618033989 0.6180339887 2. -1.
1 -1.618033989 0.6180339887 2. 1.
1 -0.6180339887 -2. -1.618033989 -1.
1 -0.6180339887 -2. -1.618033989 1.
1 -0.6180339887 -2. 1.618033989 -1.
1 -0.6180339887 -2. 1.618033989 1.
1 -0.6180339887 -1. -2. -1.618033989
1 -0.6180339887 -1. -2. 1.618033989
1 -0.6180339887 -1. 2. -1.618033989
1 -0.6180339887 -1. 2. 1.618033989
1 -0.6180339887 1. -2. -1.618033989
1 -0.6180339887 1. -2. 1.618033989
1 -0.6180339887 1. 2. -1.618033989
1 -0.6180339887 1. 2. 1.618033989
1 -0.6180339887 2. -1.618033989 -1.
1 -0.6180339887 2. -1.618033989 1.
1 -0.6180339887 2. 1.618033989 -1.
1 -0.6180339887 2. 1.618033989 1.
1 -0.6180339887 -1.618033989 -1. -2.
1 -0.6180339887 -1.618033989 -1. 2.
1 -0.6180339887 -1.618033989 1. -2.
1 -0.6180339887 -1.618033989 1. 2.
1 -0.6180339887 1.618033989 -1. -2.
1 -0.6180339887 1.618033989 -1. 2.
1 -0.6180339887 1.618033989 1. -2.
1 -0.6180339887 1.618033989 1. 2.
1 0.6180339887 -2. -1.618033989 -1.
1 0.6180339887 -2. -1.618033989 1.
1 0.6180339887 -2. 1.618033989 -1.
1 0.6180339887 -2. 1.618033989 1.
1 0.6180339887 -1. -2. -1.618033989
1 0.6180339887 -1. -2. 1.618033989
1 0.6180339887 -1. 2. -1.618033989
1 0.6180339887 -1. 2. 1.618033989
1 0.6180339887 1. -2. -1.618033989
1 0.6180339887 1. -2. 1.618033989
1 0.6180339887 1. 2. -1.618033989
1 0.6180339887 1. 2. 1.618033989
1 0.6180339887 2. -1.618033989 -1.
1 0.6180339887 2. -1.618033989 1.
1 0.6180339887 2. 1.618033989 -1.
1 0.6180339887 2. 1.618033989 1.
1 0.6180339887 -1.618033989 -1. -2.
1 0.6180339887 -1.618033989 -1. 2.
1 0.6180339887 -1.618033989 1. -2.
1 0.6180339887 -1.618033989 1. 2.
1 0.6180339887 1.618033989 -1. -2.
1 0.6180339887 1.618033989 -1. 2.
1 0.6180339887 1.618033989 1. -2.
1 0.6180339887 1.618033989 1. 2.
1 1.618033989 -2. -1. -0.6180339887
1 1.618033989 -2. -1. 0.6180339887
1 1.618033989 -2. 1. -0.6180339887
1 1.618033989 -2. 1. 0.6180339887
1 1.618033989 -1. -0.6180339887 -2.
1 1.618033989 -1. -0.6180339887 2.
1 1.618033989 -1. 0.6180339887 -2.
1 1.618033989 -1. 0.6180339887 2.
1 1.618033989 1. -0.6180339887 -2.
1 1.618033989 1. -0.6180339887 2.
1 1.618033989 1. 0.6180339887 -2.
1 1.618033989 1. 0.6180339887 2.
1 1.618033989 2. -1. -0.6180339887
1 1.618033989 2. -1. 0.6180339887
1 1.618033989 2. 1. -0.6180339887
1 1.618033989 2. 1. 0.6180339887
1 1.618033989 -0.6180339887 -2. -1.
1 1.618033989 -0.6180339887 -2. 1.
1 1.618033989 -0.6180339887 2. -1.
1 1.618033989 -0.6180339887 2. 1.
1 1.618033989 0.6180339887 -2. -1.
1 1.618033989 0.6180339887 -2. 1.
1 1.618033989 0.6180339887 2. -1.
1 1.618033989 0.6180339887 2. 1.
end
cddlib-0.94j/examples-ine/ 0000755 0001750 0001750 00000000000 13312731233 012427 5 0000000 0000000 cddlib-0.94j/examples-ine/allzero.ine 0000644 0001750 0001750 00000000224 13270061057 014515 0000000 0000000 * File name: allzero.ine
H-representation
begin
6 4 integer
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
end
cddlib-0.94j/examples-ine/cross10.ine 0000644 0001750 0001750 00000070107 13270061057 014346 0000000 0000000 * 10-dim cross polytope
H-representation
begin
1024 11 integer
1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 -1 -1 -1 1
1 1 -1 -1 -1 -1 -1 -1 -1 1 -1
1 1 -1 -1 -1 -1 -1 -1 -1 1 1
1 1 -1 -1 -1 -1 -1 -1 1 -1 -1
1 1 -1 -1 -1 -1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 -1 -1 1 1 -1
1 1 -1 -1 -1 -1 -1 -1 1 1 1
1 1 -1 -1 -1 -1 -1 1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 1 -1 -1 1
1 1 -1 -1 -1 -1 -1 1 -1 1 -1
1 1 -1 -1 -1 -1 -1 1 -1 1 1
1 1 -1 -1 -1 -1 -1 1 1 -1 -1
1 1 -1 -1 -1 -1 -1 1 1 -1 1
1 1 -1 -1 -1 -1 -1 1 1 1 -1
1 1 -1 -1 -1 -1 -1 1 1 1 1
1 1 -1 -1 -1 -1 1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 1 -1 -1 -1 1
1 1 -1 -1 -1 -1 1 -1 -1 1 -1
1 1 -1 -1 -1 -1 1 -1 -1 1 1
1 1 -1 -1 -1 -1 1 -1 1 -1 -1
1 1 -1 -1 -1 -1 1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 -1 1 1 -1
1 1 -1 -1 -1 -1 1 -1 1 1 1
1 1 -1 -1 -1 -1 1 1 -1 -1 -1
1 1 -1 -1 -1 -1 1 1 -1 -1 1
1 1 -1 -1 -1 -1 1 1 -1 1 -1
1 1 -1 -1 -1 -1 1 1 -1 1 1
1 1 -1 -1 -1 -1 1 1 1 -1 -1
1 1 -1 -1 -1 -1 1 1 1 -1 1
1 1 -1 -1 -1 -1 1 1 1 1 -1
1 1 -1 -1 -1 -1 1 1 1 1 1
1 1 -1 -1 -1 1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 1 -1 -1 -1 -1 1
1 1 -1 -1 -1 1 -1 -1 -1 1 -1
1 1 -1 -1 -1 1 -1 -1 -1 1 1
1 1 -1 -1 -1 1 -1 -1 1 -1 -1
1 1 -1 -1 -1 1 -1 -1 1 -1 1
1 1 -1 -1 -1 1 -1 -1 1 1 -1
1 1 -1 -1 -1 1 -1 -1 1 1 1
1 1 -1 -1 -1 1 -1 1 -1 -1 -1
1 1 -1 -1 -1 1 -1 1 -1 -1 1
1 1 -1 -1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 -1 1 -1 1 -1 1 1
1 1 -1 -1 -1 1 -1 1 1 -1 -1
1 1 -1 -1 -1 1 -1 1 1 -1 1
1 1 -1 -1 -1 1 -1 1 1 1 -1
1 1 -1 -1 -1 1 -1 1 1 1 1
1 1 -1 -1 -1 1 1 -1 -1 -1 -1
1 1 -1 -1 -1 1 1 -1 -1 -1 1
1 1 -1 -1 -1 1 1 -1 -1 1 -1
1 1 -1 -1 -1 1 1 -1 -1 1 1
1 1 -1 -1 -1 1 1 -1 1 -1 -1
1 1 -1 -1 -1 1 1 -1 1 -1 1
1 1 -1 -1 -1 1 1 -1 1 1 -1
1 1 -1 -1 -1 1 1 -1 1 1 1
1 1 -1 -1 -1 1 1 1 -1 -1 -1
1 1 -1 -1 -1 1 1 1 -1 -1 1
1 1 -1 -1 -1 1 1 1 -1 1 -1
1 1 -1 -1 -1 1 1 1 -1 1 1
1 1 -1 -1 -1 1 1 1 1 -1 -1
1 1 -1 -1 -1 1 1 1 1 -1 1
1 1 -1 -1 -1 1 1 1 1 1 -1
1 1 -1 -1 -1 1 1 1 1 1 1
1 1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 1 -1 -1 -1 -1 -1 1
1 1 -1 -1 1 -1 -1 -1 -1 1 -1
1 1 -1 -1 1 -1 -1 -1 -1 1 1
1 1 -1 -1 1 -1 -1 -1 1 -1 -1
1 1 -1 -1 1 -1 -1 -1 1 -1 1
1 1 -1 -1 1 -1 -1 -1 1 1 -1
1 1 -1 -1 1 -1 -1 -1 1 1 1
1 1 -1 -1 1 -1 -1 1 -1 -1 -1
1 1 -1 -1 1 -1 -1 1 -1 -1 1
1 1 -1 -1 1 -1 -1 1 -1 1 -1
1 1 -1 -1 1 -1 -1 1 -1 1 1
1 1 -1 -1 1 -1 -1 1 1 -1 -1
1 1 -1 -1 1 -1 -1 1 1 -1 1
1 1 -1 -1 1 -1 -1 1 1 1 -1
1 1 -1 -1 1 -1 -1 1 1 1 1
1 1 -1 -1 1 -1 1 -1 -1 -1 -1
1 1 -1 -1 1 -1 1 -1 -1 -1 1
1 1 -1 -1 1 -1 1 -1 -1 1 -1
1 1 -1 -1 1 -1 1 -1 -1 1 1
1 1 -1 -1 1 -1 1 -1 1 -1 -1
1 1 -1 -1 1 -1 1 -1 1 -1 1
1 1 -1 -1 1 -1 1 -1 1 1 -1
1 1 -1 -1 1 -1 1 -1 1 1 1
1 1 -1 -1 1 -1 1 1 -1 -1 -1
1 1 -1 -1 1 -1 1 1 -1 -1 1
1 1 -1 -1 1 -1 1 1 -1 1 -1
1 1 -1 -1 1 -1 1 1 -1 1 1
1 1 -1 -1 1 -1 1 1 1 -1 -1
1 1 -1 -1 1 -1 1 1 1 -1 1
1 1 -1 -1 1 -1 1 1 1 1 -1
1 1 -1 -1 1 -1 1 1 1 1 1
1 1 -1 -1 1 1 -1 -1 -1 -1 -1
1 1 -1 -1 1 1 -1 -1 -1 -1 1
1 1 -1 -1 1 1 -1 -1 -1 1 -1
1 1 -1 -1 1 1 -1 -1 -1 1 1
1 1 -1 -1 1 1 -1 -1 1 -1 -1
1 1 -1 -1 1 1 -1 -1 1 -1 1
1 1 -1 -1 1 1 -1 -1 1 1 -1
1 1 -1 -1 1 1 -1 -1 1 1 1
1 1 -1 -1 1 1 -1 1 -1 -1 -1
1 1 -1 -1 1 1 -1 1 -1 -1 1
1 1 -1 -1 1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 1 -1 1 1
1 1 -1 -1 1 1 -1 1 1 -1 -1
1 1 -1 -1 1 1 -1 1 1 -1 1
1 1 -1 -1 1 1 -1 1 1 1 -1
1 1 -1 -1 1 1 -1 1 1 1 1
1 1 -1 -1 1 1 1 -1 -1 -1 -1
1 1 -1 -1 1 1 1 -1 -1 -1 1
1 1 -1 -1 1 1 1 -1 -1 1 -1
1 1 -1 -1 1 1 1 -1 -1 1 1
1 1 -1 -1 1 1 1 -1 1 -1 -1
1 1 -1 -1 1 1 1 -1 1 -1 1
1 1 -1 -1 1 1 1 -1 1 1 -1
1 1 -1 -1 1 1 1 -1 1 1 1
1 1 -1 -1 1 1 1 1 -1 -1 -1
1 1 -1 -1 1 1 1 1 -1 -1 1
1 1 -1 -1 1 1 1 1 -1 1 -1
1 1 -1 -1 1 1 1 1 -1 1 1
1 1 -1 -1 1 1 1 1 1 -1 -1
1 1 -1 -1 1 1 1 1 1 -1 1
1 1 -1 -1 1 1 1 1 1 1 -1
1 1 -1 -1 1 1 1 1 1 1 1
1 1 -1 1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 1 -1 -1 -1 -1 -1 -1 1
1 1 -1 1 -1 -1 -1 -1 -1 1 -1
1 1 -1 1 -1 -1 -1 -1 -1 1 1
1 1 -1 1 -1 -1 -1 -1 1 -1 -1
1 1 -1 1 -1 -1 -1 -1 1 -1 1
1 1 -1 1 -1 -1 -1 -1 1 1 -1
1 1 -1 1 -1 -1 -1 -1 1 1 1
1 1 -1 1 -1 -1 -1 1 -1 -1 -1
1 1 -1 1 -1 -1 -1 1 -1 -1 1
1 1 -1 1 -1 -1 -1 1 -1 1 -1
1 1 -1 1 -1 -1 -1 1 -1 1 1
1 1 -1 1 -1 -1 -1 1 1 -1 -1
1 1 -1 1 -1 -1 -1 1 1 -1 1
1 1 -1 1 -1 -1 -1 1 1 1 -1
1 1 -1 1 -1 -1 -1 1 1 1 1
1 1 -1 1 -1 -1 1 -1 -1 -1 -1
1 1 -1 1 -1 -1 1 -1 -1 -1 1
1 1 -1 1 -1 -1 1 -1 -1 1 -1
1 1 -1 1 -1 -1 1 -1 -1 1 1
1 1 -1 1 -1 -1 1 -1 1 -1 -1
1 1 -1 1 -1 -1 1 -1 1 -1 1
1 1 -1 1 -1 -1 1 -1 1 1 -1
1 1 -1 1 -1 -1 1 -1 1 1 1
1 1 -1 1 -1 -1 1 1 -1 -1 -1
1 1 -1 1 -1 -1 1 1 -1 -1 1
1 1 -1 1 -1 -1 1 1 -1 1 -1
1 1 -1 1 -1 -1 1 1 -1 1 1
1 1 -1 1 -1 -1 1 1 1 -1 -1
1 1 -1 1 -1 -1 1 1 1 -1 1
1 1 -1 1 -1 -1 1 1 1 1 -1
1 1 -1 1 -1 -1 1 1 1 1 1
1 1 -1 1 -1 1 -1 -1 -1 -1 -1
1 1 -1 1 -1 1 -1 -1 -1 -1 1
1 1 -1 1 -1 1 -1 -1 -1 1 -1
1 1 -1 1 -1 1 -1 -1 -1 1 1
1 1 -1 1 -1 1 -1 -1 1 -1 -1
1 1 -1 1 -1 1 -1 -1 1 -1 1
1 1 -1 1 -1 1 -1 -1 1 1 -1
1 1 -1 1 -1 1 -1 -1 1 1 1
1 1 -1 1 -1 1 -1 1 -1 -1 -1
1 1 -1 1 -1 1 -1 1 -1 -1 1
1 1 -1 1 -1 1 -1 1 -1 1 -1
1 1 -1 1 -1 1 -1 1 -1 1 1
1 1 -1 1 -1 1 -1 1 1 -1 -1
1 1 -1 1 -1 1 -1 1 1 -1 1
1 1 -1 1 -1 1 -1 1 1 1 -1
1 1 -1 1 -1 1 -1 1 1 1 1
1 1 -1 1 -1 1 1 -1 -1 -1 -1
1 1 -1 1 -1 1 1 -1 -1 -1 1
1 1 -1 1 -1 1 1 -1 -1 1 -1
1 1 -1 1 -1 1 1 -1 -1 1 1
1 1 -1 1 -1 1 1 -1 1 -1 -1
1 1 -1 1 -1 1 1 -1 1 -1 1
1 1 -1 1 -1 1 1 -1 1 1 -1
1 1 -1 1 -1 1 1 -1 1 1 1
1 1 -1 1 -1 1 1 1 -1 -1 -1
1 1 -1 1 -1 1 1 1 -1 -1 1
1 1 -1 1 -1 1 1 1 -1 1 -1
1 1 -1 1 -1 1 1 1 -1 1 1
1 1 -1 1 -1 1 1 1 1 -1 -1
1 1 -1 1 -1 1 1 1 1 -1 1
1 1 -1 1 -1 1 1 1 1 1 -1
1 1 -1 1 -1 1 1 1 1 1 1
1 1 -1 1 1 -1 -1 -1 -1 -1 -1
1 1 -1 1 1 -1 -1 -1 -1 -1 1
1 1 -1 1 1 -1 -1 -1 -1 1 -1
1 1 -1 1 1 -1 -1 -1 -1 1 1
1 1 -1 1 1 -1 -1 -1 1 -1 -1
1 1 -1 1 1 -1 -1 -1 1 -1 1
1 1 -1 1 1 -1 -1 -1 1 1 -1
1 1 -1 1 1 -1 -1 -1 1 1 1
1 1 -1 1 1 -1 -1 1 -1 -1 -1
1 1 -1 1 1 -1 -1 1 -1 -1 1
1 1 -1 1 1 -1 -1 1 -1 1 -1
1 1 -1 1 1 -1 -1 1 -1 1 1
1 1 -1 1 1 -1 -1 1 1 -1 -1
1 1 -1 1 1 -1 -1 1 1 -1 1
1 1 -1 1 1 -1 -1 1 1 1 -1
1 1 -1 1 1 -1 -1 1 1 1 1
1 1 -1 1 1 -1 1 -1 -1 -1 -1
1 1 -1 1 1 -1 1 -1 -1 -1 1
1 1 -1 1 1 -1 1 -1 -1 1 -1
1 1 -1 1 1 -1 1 -1 -1 1 1
1 1 -1 1 1 -1 1 -1 1 -1 -1
1 1 -1 1 1 -1 1 -1 1 -1 1
1 1 -1 1 1 -1 1 -1 1 1 -1
1 1 -1 1 1 -1 1 -1 1 1 1
1 1 -1 1 1 -1 1 1 -1 -1 -1
1 1 -1 1 1 -1 1 1 -1 -1 1
1 1 -1 1 1 -1 1 1 -1 1 -1
1 1 -1 1 1 -1 1 1 -1 1 1
1 1 -1 1 1 -1 1 1 1 -1 -1
1 1 -1 1 1 -1 1 1 1 -1 1
1 1 -1 1 1 -1 1 1 1 1 -1
1 1 -1 1 1 -1 1 1 1 1 1
1 1 -1 1 1 1 -1 -1 -1 -1 -1
1 1 -1 1 1 1 -1 -1 -1 -1 1
1 1 -1 1 1 1 -1 -1 -1 1 -1
1 1 -1 1 1 1 -1 -1 -1 1 1
1 1 -1 1 1 1 -1 -1 1 -1 -1
1 1 -1 1 1 1 -1 -1 1 -1 1
1 1 -1 1 1 1 -1 -1 1 1 -1
1 1 -1 1 1 1 -1 -1 1 1 1
1 1 -1 1 1 1 -1 1 -1 -1 -1
1 1 -1 1 1 1 -1 1 -1 -1 1
1 1 -1 1 1 1 -1 1 -1 1 -1
1 1 -1 1 1 1 -1 1 -1 1 1
1 1 -1 1 1 1 -1 1 1 -1 -1
1 1 -1 1 1 1 -1 1 1 -1 1
1 1 -1 1 1 1 -1 1 1 1 -1
1 1 -1 1 1 1 -1 1 1 1 1
1 1 -1 1 1 1 1 -1 -1 -1 -1
1 1 -1 1 1 1 1 -1 -1 -1 1
1 1 -1 1 1 1 1 -1 -1 1 -1
1 1 -1 1 1 1 1 -1 -1 1 1
1 1 -1 1 1 1 1 -1 1 -1 -1
1 1 -1 1 1 1 1 -1 1 -1 1
1 1 -1 1 1 1 1 -1 1 1 -1
1 1 -1 1 1 1 1 -1 1 1 1
1 1 -1 1 1 1 1 1 -1 -1 -1
1 1 -1 1 1 1 1 1 -1 -1 1
1 1 -1 1 1 1 1 1 -1 1 -1
1 1 -1 1 1 1 1 1 -1 1 1
1 1 -1 1 1 1 1 1 1 -1 -1
1 1 -1 1 1 1 1 1 1 -1 1
1 1 -1 1 1 1 1 1 1 1 -1
1 1 -1 1 1 1 1 1 1 1 1
1 1 1 1 -1 -1 -1 -1 -1 -1 -1
1 1 1 1 -1 -1 -1 -1 -1 -1 1
1 1 1 1 -1 -1 -1 -1 -1 1 -1
1 1 1 1 -1 -1 -1 -1 -1 1 1
1 1 1 1 -1 -1 -1 -1 1 -1 -1
1 1 1 1 -1 -1 -1 -1 1 -1 1
1 1 1 1 -1 -1 -1 -1 1 1 -1
1 1 1 1 -1 -1 -1 -1 1 1 1
1 1 1 1 -1 -1 -1 1 -1 -1 -1
1 1 1 1 -1 -1 -1 1 -1 -1 1
1 1 1 1 -1 -1 -1 1 -1 1 -1
1 1 1 1 -1 -1 -1 1 -1 1 1
1 1 1 1 -1 -1 -1 1 1 -1 -1
1 1 1 1 -1 -1 -1 1 1 -1 1
1 1 1 1 -1 -1 -1 1 1 1 -1
1 1 1 1 -1 -1 -1 1 1 1 1
1 1 1 1 -1 -1 1 -1 -1 -1 -1
1 1 1 1 -1 -1 1 -1 -1 -1 1
1 1 1 1 -1 -1 1 -1 -1 1 -1
1 1 1 1 -1 -1 1 -1 -1 1 1
1 1 1 1 -1 -1 1 -1 1 -1 -1
1 1 1 1 -1 -1 1 -1 1 -1 1
1 1 1 1 -1 -1 1 -1 1 1 -1
1 1 1 1 -1 -1 1 -1 1 1 1
1 1 1 1 -1 -1 1 1 -1 -1 -1
1 1 1 1 -1 -1 1 1 -1 -1 1
1 1 1 1 -1 -1 1 1 -1 1 -1
1 1 1 1 -1 -1 1 1 -1 1 1
1 1 1 1 -1 -1 1 1 1 -1 -1
1 1 1 1 -1 -1 1 1 1 -1 1
1 1 1 1 -1 -1 1 1 1 1 -1
1 1 1 1 -1 -1 1 1 1 1 1
1 1 1 1 -1 1 -1 -1 -1 -1 -1
1 1 1 1 -1 1 -1 -1 -1 -1 1
1 1 1 1 -1 1 -1 -1 -1 1 -1
1 1 1 1 -1 1 -1 -1 -1 1 1
1 1 1 1 -1 1 -1 -1 1 -1 -1
1 1 1 1 -1 1 -1 -1 1 -1 1
1 1 1 1 -1 1 -1 -1 1 1 -1
1 1 1 1 -1 1 -1 -1 1 1 1
1 1 1 1 -1 1 -1 1 -1 -1 -1
1 1 1 1 -1 1 -1 1 -1 -1 1
1 1 1 1 -1 1 -1 1 -1 1 -1
1 1 1 1 -1 1 -1 1 -1 1 1
1 1 1 1 -1 1 -1 1 1 -1 -1
1 1 1 1 -1 1 -1 1 1 -1 1
1 1 1 1 -1 1 -1 1 1 1 -1
1 1 1 1 -1 1 -1 1 1 1 1
1 1 1 1 -1 1 1 -1 -1 -1 -1
1 1 1 1 -1 1 1 -1 -1 -1 1
1 1 1 1 -1 1 1 -1 -1 1 -1
1 1 1 1 -1 1 1 -1 -1 1 1
1 1 1 1 -1 1 1 -1 1 -1 -1
1 1 1 1 -1 1 1 -1 1 -1 1
1 1 1 1 -1 1 1 -1 1 1 -1
1 1 1 1 -1 1 1 -1 1 1 1
1 1 1 1 -1 1 1 1 -1 -1 -1
1 1 1 1 -1 1 1 1 -1 -1 1
1 1 1 1 -1 1 1 1 -1 1 -1
1 1 1 1 -1 1 1 1 -1 1 1
1 1 1 1 -1 1 1 1 1 -1 -1
1 1 1 1 -1 1 1 1 1 -1 1
1 1 1 1 -1 1 1 1 1 1 -1
1 1 1 1 -1 1 1 1 1 1 1
1 1 1 1 1 1 -1 -1 -1 -1 -1
1 1 1 1 1 1 -1 -1 -1 -1 1
1 1 1 1 1 1 -1 -1 -1 1 -1
1 1 1 1 1 1 -1 -1 -1 1 1
1 1 1 1 1 1 -1 -1 1 -1 -1
1 1 1 1 1 1 -1 -1 1 -1 1
1 1 1 1 1 1 -1 -1 1 1 -1
1 1 1 1 1 1 -1 -1 1 1 1
1 1 1 1 1 1 -1 1 -1 -1 -1
1 1 1 1 1 1 -1 1 -1 -1 1
1 1 1 1 1 1 -1 1 -1 1 -1
1 1 1 1 1 1 -1 1 -1 1 1
1 1 1 1 1 1 -1 1 1 -1 -1
1 1 1 1 1 1 -1 1 1 -1 1
1 1 1 1 1 1 -1 1 1 1 -1
1 1 1 1 1 1 -1 1 1 1 1
1 1 1 1 1 1 1 1 -1 -1 -1
1 1 1 1 1 1 1 1 -1 -1 1
1 1 1 1 1 1 1 1 -1 1 -1
1 1 1 1 1 1 1 1 -1 1 1
1 1 1 1 1 1 1 1 1 1 -1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 -1 1
1 1 1 1 1 1 1 1 1 -1 -1
1 1 1 1 1 1 1 -1 1 1 1
1 1 1 1 1 1 1 -1 1 1 -1
1 1 1 1 1 1 1 -1 1 -1 1
1 1 1 1 1 1 1 -1 1 -1 -1
1 1 1 1 1 1 1 -1 -1 1 1
1 1 1 1 1 1 1 -1 -1 1 -1
1 1 1 1 1 1 1 -1 -1 -1 1
1 1 1 1 1 1 1 -1 -1 -1 -1
1 1 1 1 1 -1 1 1 1 1 1
1 1 1 1 1 -1 1 1 1 1 -1
1 1 1 1 1 -1 1 1 1 -1 1
1 1 1 1 1 -1 1 1 1 -1 -1
1 1 1 1 1 -1 1 1 -1 1 1
1 1 1 1 1 -1 1 1 -1 1 -1
1 1 1 1 1 -1 1 1 -1 -1 1
1 1 1 1 1 -1 1 1 -1 -1 -1
1 1 1 1 1 -1 1 -1 1 1 1
1 1 1 1 1 -1 1 -1 1 1 -1
1 1 1 1 1 -1 1 -1 1 -1 1
1 1 1 1 1 -1 1 -1 1 -1 -1
1 1 1 1 1 -1 1 -1 -1 1 1
1 1 1 1 1 -1 1 -1 -1 1 -1
1 1 1 1 1 -1 1 -1 -1 -1 1
1 1 1 1 1 -1 1 -1 -1 -1 -1
1 1 1 1 1 -1 -1 1 1 1 1
1 1 1 1 1 -1 -1 1 1 1 -1
1 1 1 1 1 -1 -1 1 1 -1 1
1 1 1 1 1 -1 -1 1 1 -1 -1
1 1 1 1 1 -1 -1 1 -1 1 1
1 1 1 1 1 -1 -1 1 -1 1 -1
1 1 1 1 1 -1 -1 1 -1 -1 1
1 1 1 1 1 -1 -1 1 -1 -1 -1
1 1 1 1 1 -1 -1 -1 1 1 1
1 1 1 1 1 -1 -1 -1 1 1 -1
1 1 1 1 1 -1 -1 -1 1 -1 1
1 1 1 1 1 -1 -1 -1 1 -1 -1
1 1 1 1 1 -1 -1 -1 -1 1 1
1 1 1 1 1 -1 -1 -1 -1 1 -1
1 1 1 1 1 -1 -1 -1 -1 -1 1
1 1 1 1 1 -1 -1 -1 -1 -1 -1
1 1 1 -1 1 1 1 1 1 1 1
1 1 1 -1 1 1 1 1 1 1 -1
1 1 1 -1 1 1 1 1 1 -1 1
1 1 1 -1 1 1 1 1 1 -1 -1
1 1 1 -1 1 1 1 1 -1 1 1
1 1 1 -1 1 1 1 1 -1 1 -1
1 1 1 -1 1 1 1 1 -1 -1 1
1 1 1 -1 1 1 1 1 -1 -1 -1
1 1 1 -1 1 1 1 -1 1 1 1
1 1 1 -1 1 1 1 -1 1 1 -1
1 1 1 -1 1 1 1 -1 1 -1 1
1 1 1 -1 1 1 1 -1 1 -1 -1
1 1 1 -1 1 1 1 -1 -1 1 1
1 1 1 -1 1 1 1 -1 -1 1 -1
1 1 1 -1 1 1 1 -1 -1 -1 1
1 1 1 -1 1 1 1 -1 -1 -1 -1
1 1 1 -1 1 1 -1 1 1 1 1
1 1 1 -1 1 1 -1 1 1 1 -1
1 1 1 -1 1 1 -1 1 1 -1 1
1 1 1 -1 1 1 -1 1 1 -1 -1
1 1 1 -1 1 1 -1 1 -1 1 1
1 1 1 -1 1 1 -1 1 -1 1 -1
1 1 1 -1 1 1 -1 1 -1 -1 1
1 1 1 -1 1 1 -1 1 -1 -1 -1
1 1 1 -1 1 1 -1 -1 1 1 1
1 1 1 -1 1 1 -1 -1 1 1 -1
1 1 1 -1 1 1 -1 -1 1 -1 1
1 1 1 -1 1 1 -1 -1 1 -1 -1
1 1 1 -1 1 1 -1 -1 -1 1 1
1 1 1 -1 1 1 -1 -1 -1 1 -1
1 1 1 -1 1 1 -1 -1 -1 -1 1
1 1 1 -1 1 1 -1 -1 -1 -1 -1
1 1 1 -1 1 -1 1 1 1 1 1
1 1 1 -1 1 -1 1 1 1 1 -1
1 1 1 -1 1 -1 1 1 1 -1 1
1 1 1 -1 1 -1 1 1 1 -1 -1
1 1 1 -1 1 -1 1 1 -1 1 1
1 1 1 -1 1 -1 1 1 -1 1 -1
1 1 1 -1 1 -1 1 1 -1 -1 1
1 1 1 -1 1 -1 1 1 -1 -1 -1
1 1 1 -1 1 -1 1 -1 1 1 1
1 1 1 -1 1 -1 1 -1 1 1 -1
1 1 1 -1 1 -1 1 -1 1 -1 1
1 1 1 -1 1 -1 1 -1 1 -1 -1
1 1 1 -1 1 -1 1 -1 -1 1 1
1 1 1 -1 1 -1 1 -1 -1 1 -1
1 1 1 -1 1 -1 1 -1 -1 -1 1
1 1 1 -1 1 -1 1 -1 -1 -1 -1
1 1 1 -1 1 -1 -1 1 1 1 1
1 1 1 -1 1 -1 -1 1 1 1 -1
1 1 1 -1 1 -1 -1 1 1 -1 1
1 1 1 -1 1 -1 -1 1 1 -1 -1
1 1 1 -1 1 -1 -1 1 -1 1 1
1 1 1 -1 1 -1 -1 1 -1 1 -1
1 1 1 -1 1 -1 -1 1 -1 -1 1
1 1 1 -1 1 -1 -1 1 -1 -1 -1
1 1 1 -1 1 -1 -1 -1 1 1 1
1 1 1 -1 1 -1 -1 -1 1 1 -1
1 1 1 -1 1 -1 -1 -1 1 -1 1
1 1 1 -1 1 -1 -1 -1 1 -1 -1
1 1 1 -1 1 -1 -1 -1 -1 1 1
1 1 1 -1 1 -1 -1 -1 -1 1 -1
1 1 1 -1 1 -1 -1 -1 -1 -1 1
1 1 1 -1 1 -1 -1 -1 -1 -1 -1
1 1 1 -1 -1 1 1 1 1 1 1
1 1 1 -1 -1 1 1 1 1 1 -1
1 1 1 -1 -1 1 1 1 1 -1 1
1 1 1 -1 -1 1 1 1 1 -1 -1
1 1 1 -1 -1 1 1 1 -1 1 1
1 1 1 -1 -1 1 1 1 -1 1 -1
1 1 1 -1 -1 1 1 1 -1 -1 1
1 1 1 -1 -1 1 1 1 -1 -1 -1
1 1 1 -1 -1 1 1 -1 1 1 1
1 1 1 -1 -1 1 1 -1 1 1 -1
1 1 1 -1 -1 1 1 -1 1 -1 1
1 1 1 -1 -1 1 1 -1 1 -1 -1
1 1 1 -1 -1 1 1 -1 -1 1 1
1 1 1 -1 -1 1 1 -1 -1 1 -1
1 1 1 -1 -1 1 1 -1 -1 -1 1
1 1 1 -1 -1 1 1 -1 -1 -1 -1
1 1 1 -1 -1 1 -1 1 1 1 1
1 1 1 -1 -1 1 -1 1 1 1 -1
1 1 1 -1 -1 1 -1 1 1 -1 1
1 1 1 -1 -1 1 -1 1 1 -1 -1
1 1 1 -1 -1 1 -1 1 -1 1 1
1 1 1 -1 -1 1 -1 1 -1 1 -1
1 1 1 -1 -1 1 -1 1 -1 -1 1
1 1 1 -1 -1 1 -1 1 -1 -1 -1
1 1 1 -1 -1 1 -1 -1 1 1 1
1 1 1 -1 -1 1 -1 -1 1 1 -1
1 1 1 -1 -1 1 -1 -1 1 -1 1
1 1 1 -1 -1 1 -1 -1 1 -1 -1
1 1 1 -1 -1 1 -1 -1 -1 1 1
1 1 1 -1 -1 1 -1 -1 -1 1 -1
1 1 1 -1 -1 1 -1 -1 -1 -1 1
1 1 1 -1 -1 1 -1 -1 -1 -1 -1
1 1 1 -1 -1 -1 1 1 1 1 1
1 1 1 -1 -1 -1 1 1 1 1 -1
1 1 1 -1 -1 -1 1 1 1 -1 1
1 1 1 -1 -1 -1 1 1 1 -1 -1
1 1 1 -1 -1 -1 1 1 -1 1 1
1 1 1 -1 -1 -1 1 1 -1 1 -1
1 1 1 -1 -1 -1 1 1 -1 -1 1
1 1 1 -1 -1 -1 1 1 -1 -1 -1
1 1 1 -1 -1 -1 1 -1 1 1 1
1 1 1 -1 -1 -1 1 -1 1 1 -1
1 1 1 -1 -1 -1 1 -1 1 -1 1
1 1 1 -1 -1 -1 1 -1 1 -1 -1
1 1 1 -1 -1 -1 1 -1 -1 1 1
1 1 1 -1 -1 -1 1 -1 -1 1 -1
1 1 1 -1 -1 -1 1 -1 -1 -1 1
1 1 1 -1 -1 -1 1 -1 -1 -1 -1
1 1 1 -1 -1 -1 -1 1 1 1 1
1 1 1 -1 -1 -1 -1 1 1 1 -1
1 1 1 -1 -1 -1 -1 1 1 -1 1
1 1 1 -1 -1 -1 -1 1 1 -1 -1
1 1 1 -1 -1 -1 -1 1 -1 1 1
1 1 1 -1 -1 -1 -1 1 -1 1 -1
1 1 1 -1 -1 -1 -1 1 -1 -1 1
1 1 1 -1 -1 -1 -1 1 -1 -1 -1
1 1 1 -1 -1 -1 -1 -1 1 1 1
1 1 1 -1 -1 -1 -1 -1 1 1 -1
1 1 1 -1 -1 -1 -1 -1 1 -1 1
1 1 1 -1 -1 -1 -1 -1 1 -1 -1
1 1 1 -1 -1 -1 -1 -1 -1 1 1
1 1 1 -1 -1 -1 -1 -1 -1 1 -1
1 1 1 -1 -1 -1 -1 -1 -1 -1 1
1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 1 1 1 1 1 1 1 1
1 -1 1 1 1 1 1 1 1 1 -1
1 -1 1 1 1 1 1 1 1 -1 1
1 -1 1 1 1 1 1 1 1 -1 -1
1 -1 1 1 1 1 1 1 -1 1 1
1 -1 1 1 1 1 1 1 -1 1 -1
1 -1 1 1 1 1 1 1 -1 -1 1
1 -1 1 1 1 1 1 1 -1 -1 -1
1 -1 1 1 1 1 1 -1 1 1 1
1 -1 1 1 1 1 1 -1 1 1 -1
1 -1 1 1 1 1 1 -1 1 -1 1
1 -1 1 1 1 1 1 -1 1 -1 -1
1 -1 1 1 1 1 1 -1 -1 1 1
1 -1 1 1 1 1 1 -1 -1 1 -1
1 -1 1 1 1 1 1 -1 -1 -1 1
1 -1 1 1 1 1 1 -1 -1 -1 -1
1 -1 1 1 1 1 -1 1 1 1 1
1 -1 1 1 1 1 -1 1 1 1 -1
1 -1 1 1 1 1 -1 1 1 -1 1
1 -1 1 1 1 1 -1 1 1 -1 -1
1 -1 1 1 1 1 -1 1 -1 1 1
1 -1 1 1 1 1 -1 1 -1 1 -1
1 -1 1 1 1 1 -1 1 -1 -1 1
1 -1 1 1 1 1 -1 1 -1 -1 -1
1 -1 1 1 1 1 -1 -1 1 1 1
1 -1 1 1 1 1 -1 -1 1 1 -1
1 -1 1 1 1 1 -1 -1 1 -1 1
1 -1 1 1 1 1 -1 -1 1 -1 -1
1 -1 1 1 1 1 -1 -1 -1 1 1
1 -1 1 1 1 1 -1 -1 -1 1 -1
1 -1 1 1 1 1 -1 -1 -1 -1 1
1 -1 1 1 1 1 -1 -1 -1 -1 -1
1 -1 1 1 1 -1 1 1 1 1 1
1 -1 1 1 1 -1 1 1 1 1 -1
1 -1 1 1 1 -1 1 1 1 -1 1
1 -1 1 1 1 -1 1 1 1 -1 -1
1 -1 1 1 1 -1 1 1 -1 1 1
1 -1 1 1 1 -1 1 1 -1 1 -1
1 -1 1 1 1 -1 1 1 -1 -1 1
1 -1 1 1 1 -1 1 1 -1 -1 -1
1 -1 1 1 1 -1 1 -1 1 1 1
1 -1 1 1 1 -1 1 -1 1 1 -1
1 -1 1 1 1 -1 1 -1 1 -1 1
1 -1 1 1 1 -1 1 -1 1 -1 -1
1 -1 1 1 1 -1 1 -1 -1 1 1
1 -1 1 1 1 -1 1 -1 -1 1 -1
1 -1 1 1 1 -1 1 -1 -1 -1 1
1 -1 1 1 1 -1 1 -1 -1 -1 -1
1 -1 1 1 1 -1 -1 1 1 1 1
1 -1 1 1 1 -1 -1 1 1 1 -1
1 -1 1 1 1 -1 -1 1 1 -1 1
1 -1 1 1 1 -1 -1 1 1 -1 -1
1 -1 1 1 1 -1 -1 1 -1 1 1
1 -1 1 1 1 -1 -1 1 -1 1 -1
1 -1 1 1 1 -1 -1 1 -1 -1 1
1 -1 1 1 1 -1 -1 1 -1 -1 -1
1 -1 1 1 1 -1 -1 -1 1 1 1
1 -1 1 1 1 -1 -1 -1 1 1 -1
1 -1 1 1 1 -1 -1 -1 1 -1 1
1 -1 1 1 1 -1 -1 -1 1 -1 -1
1 -1 1 1 1 -1 -1 -1 -1 1 1
1 -1 1 1 1 -1 -1 -1 -1 1 -1
1 -1 1 1 1 -1 -1 -1 -1 -1 1
1 -1 1 1 1 -1 -1 -1 -1 -1 -1
1 -1 1 1 -1 1 1 1 1 1 1
1 -1 1 1 -1 1 1 1 1 1 -1
1 -1 1 1 -1 1 1 1 1 -1 1
1 -1 1 1 -1 1 1 1 1 -1 -1
1 -1 1 1 -1 1 1 1 -1 1 1
1 -1 1 1 -1 1 1 1 -1 1 -1
1 -1 1 1 -1 1 1 1 -1 -1 1
1 -1 1 1 -1 1 1 1 -1 -1 -1
1 -1 1 1 -1 1 1 -1 1 1 1
1 -1 1 1 -1 1 1 -1 1 1 -1
1 -1 1 1 -1 1 1 -1 1 -1 1
1 -1 1 1 -1 1 1 -1 1 -1 -1
1 -1 1 1 -1 1 1 -1 -1 1 1
1 -1 1 1 -1 1 1 -1 -1 1 -1
1 -1 1 1 -1 1 1 -1 -1 -1 1
1 -1 1 1 -1 1 1 -1 -1 -1 -1
1 -1 1 1 -1 1 -1 1 1 1 1
1 -1 1 1 -1 1 -1 1 1 1 -1
1 -1 1 1 -1 1 -1 1 1 -1 1
1 -1 1 1 -1 1 -1 1 1 -1 -1
1 -1 1 1 -1 1 -1 1 -1 1 1
1 -1 1 1 -1 1 -1 1 -1 1 -1
1 -1 1 1 -1 1 -1 1 -1 -1 1
1 -1 1 1 -1 1 -1 1 -1 -1 -1
1 -1 1 1 -1 1 -1 -1 1 1 1
1 -1 1 1 -1 1 -1 -1 1 1 -1
1 -1 1 1 -1 1 -1 -1 1 -1 1
1 -1 1 1 -1 1 -1 -1 1 -1 -1
1 -1 1 1 -1 1 -1 -1 -1 1 1
1 -1 1 1 -1 1 -1 -1 -1 1 -1
1 -1 1 1 -1 1 -1 -1 -1 -1 1
1 -1 1 1 -1 1 -1 -1 -1 -1 -1
1 -1 1 1 -1 -1 1 1 1 1 1
1 -1 1 1 -1 -1 1 1 1 1 -1
1 -1 1 1 -1 -1 1 1 1 -1 1
1 -1 1 1 -1 -1 1 1 1 -1 -1
1 -1 1 1 -1 -1 1 1 -1 1 1
1 -1 1 1 -1 -1 1 1 -1 1 -1
1 -1 1 1 -1 -1 1 1 -1 -1 1
1 -1 1 1 -1 -1 1 1 -1 -1 -1
1 -1 1 1 -1 -1 1 -1 1 1 1
1 -1 1 1 -1 -1 1 -1 1 1 -1
1 -1 1 1 -1 -1 1 -1 1 -1 1
1 -1 1 1 -1 -1 1 -1 1 -1 -1
1 -1 1 1 -1 -1 1 -1 -1 1 1
1 -1 1 1 -1 -1 1 -1 -1 1 -1
1 -1 1 1 -1 -1 1 -1 -1 -1 1
1 -1 1 1 -1 -1 1 -1 -1 -1 -1
1 -1 1 1 -1 -1 -1 1 1 1 1
1 -1 1 1 -1 -1 -1 1 1 1 -1
1 -1 1 1 -1 -1 -1 1 1 -1 1
1 -1 1 1 -1 -1 -1 1 1 -1 -1
1 -1 1 1 -1 -1 -1 1 -1 1 1
1 -1 1 1 -1 -1 -1 1 -1 1 -1
1 -1 1 1 -1 -1 -1 1 -1 -1 1
1 -1 1 1 -1 -1 -1 1 -1 -1 -1
1 -1 1 1 -1 -1 -1 -1 1 1 1
1 -1 1 1 -1 -1 -1 -1 1 1 -1
1 -1 1 1 -1 -1 -1 -1 1 -1 1
1 -1 1 1 -1 -1 -1 -1 1 -1 -1
1 -1 1 1 -1 -1 -1 -1 -1 1 1
1 -1 1 1 -1 -1 -1 -1 -1 1 -1
1 -1 1 1 -1 -1 -1 -1 -1 -1 1
1 -1 1 1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 1 1 1 1 1 1 1
1 -1 1 -1 1 1 1 1 1 1 -1
1 -1 1 -1 1 1 1 1 1 -1 1
1 -1 1 -1 1 1 1 1 1 -1 -1
1 -1 1 -1 1 1 1 1 -1 1 1
1 -1 1 -1 1 1 1 1 -1 1 -1
1 -1 1 -1 1 1 1 1 -1 -1 1
1 -1 1 -1 1 1 1 1 -1 -1 -1
1 -1 1 -1 1 1 1 -1 1 1 1
1 -1 1 -1 1 1 1 -1 1 1 -1
1 -1 1 -1 1 1 1 -1 1 -1 1
1 -1 1 -1 1 1 1 -1 1 -1 -1
1 -1 1 -1 1 1 1 -1 -1 1 1
1 -1 1 -1 1 1 1 -1 -1 1 -1
1 -1 1 -1 1 1 1 -1 -1 -1 1
1 -1 1 -1 1 1 1 -1 -1 -1 -1
1 -1 1 -1 1 1 -1 1 1 1 1
1 -1 1 -1 1 1 -1 1 1 1 -1
1 -1 1 -1 1 1 -1 1 1 -1 1
1 -1 1 -1 1 1 -1 1 1 -1 -1
1 -1 1 -1 1 1 -1 1 -1 1 1
1 -1 1 -1 1 1 -1 1 -1 1 -1
1 -1 1 -1 1 1 -1 1 -1 -1 1
1 -1 1 -1 1 1 -1 1 -1 -1 -1
1 -1 1 -1 1 1 -1 -1 1 1 1
1 -1 1 -1 1 1 -1 -1 1 1 -1
1 -1 1 -1 1 1 -1 -1 1 -1 1
1 -1 1 -1 1 1 -1 -1 1 -1 -1
1 -1 1 -1 1 1 -1 -1 -1 1 1
1 -1 1 -1 1 1 -1 -1 -1 1 -1
1 -1 1 -1 1 1 -1 -1 -1 -1 1
1 -1 1 -1 1 1 -1 -1 -1 -1 -1
1 -1 1 -1 1 -1 1 1 1 1 1
1 -1 1 -1 1 -1 1 1 1 1 -1
1 -1 1 -1 1 -1 1 1 1 -1 1
1 -1 1 -1 1 -1 1 1 1 -1 -1
1 -1 1 -1 1 -1 1 1 -1 1 1
1 -1 1 -1 1 -1 1 1 -1 1 -1
1 -1 1 -1 1 -1 1 1 -1 -1 1
1 -1 1 -1 1 -1 1 1 -1 -1 -1
1 -1 1 -1 1 -1 1 -1 1 1 1
1 -1 1 -1 1 -1 1 -1 1 1 -1
1 -1 1 -1 1 -1 1 -1 1 -1 1
1 -1 1 -1 1 -1 1 -1 1 -1 -1
1 -1 1 -1 1 -1 1 -1 -1 1 1
1 -1 1 -1 1 -1 1 -1 -1 1 -1
1 -1 1 -1 1 -1 1 -1 -1 -1 1
1 -1 1 -1 1 -1 1 -1 -1 -1 -1
1 -1 1 -1 1 -1 -1 1 1 1 1
1 -1 1 -1 1 -1 -1 1 1 1 -1
1 -1 1 -1 1 -1 -1 1 1 -1 1
1 -1 1 -1 1 -1 -1 1 1 -1 -1
1 -1 1 -1 1 -1 -1 1 -1 1 1
1 -1 1 -1 1 -1 -1 1 -1 1 -1
1 -1 1 -1 1 -1 -1 1 -1 -1 1
1 -1 1 -1 1 -1 -1 1 -1 -1 -1
1 -1 1 -1 1 -1 -1 -1 1 1 1
1 -1 1 -1 1 -1 -1 -1 1 1 -1
1 -1 1 -1 1 -1 -1 -1 1 -1 1
1 -1 1 -1 1 -1 -1 -1 1 -1 -1
1 -1 1 -1 1 -1 -1 -1 -1 1 1
1 -1 1 -1 1 -1 -1 -1 -1 1 -1
1 -1 1 -1 1 -1 -1 -1 -1 -1 1
1 -1 1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 -1 1 1 1 1 1 1
1 -1 1 -1 -1 1 1 1 1 1 -1
1 -1 1 -1 -1 1 1 1 1 -1 1
1 -1 1 -1 -1 1 1 1 1 -1 -1
1 -1 1 -1 -1 1 1 1 -1 1 1
1 -1 1 -1 -1 1 1 1 -1 1 -1
1 -1 1 -1 -1 1 1 1 -1 -1 1
1 -1 1 -1 -1 1 1 1 -1 -1 -1
1 -1 1 -1 -1 1 1 -1 1 1 1
1 -1 1 -1 -1 1 1 -1 1 1 -1
1 -1 1 -1 -1 1 1 -1 1 -1 1
1 -1 1 -1 -1 1 1 -1 1 -1 -1
1 -1 1 -1 -1 1 1 -1 -1 1 1
1 -1 1 -1 -1 1 1 -1 -1 1 -1
1 -1 1 -1 -1 1 1 -1 -1 -1 1
1 -1 1 -1 -1 1 1 -1 -1 -1 -1
1 -1 1 -1 -1 1 -1 1 1 1 1
1 -1 1 -1 -1 1 -1 1 1 1 -1
1 -1 1 -1 -1 1 -1 1 1 -1 1
1 -1 1 -1 -1 1 -1 1 1 -1 -1
1 -1 1 -1 -1 1 -1 1 -1 1 1
1 -1 1 -1 -1 1 -1 1 -1 1 -1
1 -1 1 -1 -1 1 -1 1 -1 -1 1
1 -1 1 -1 -1 1 -1 1 -1 -1 -1
1 -1 1 -1 -1 1 -1 -1 1 1 1
1 -1 1 -1 -1 1 -1 -1 1 1 -1
1 -1 1 -1 -1 1 -1 -1 1 -1 1
1 -1 1 -1 -1 1 -1 -1 1 -1 -1
1 -1 1 -1 -1 1 -1 -1 -1 1 1
1 -1 1 -1 -1 1 -1 -1 -1 1 -1
1 -1 1 -1 -1 1 -1 -1 -1 -1 1
1 -1 1 -1 -1 1 -1 -1 -1 -1 -1
1 -1 1 -1 -1 -1 1 1 1 1 1
1 -1 1 -1 -1 -1 1 1 1 1 -1
1 -1 1 -1 -1 -1 1 1 1 -1 1
1 -1 1 -1 -1 -1 1 1 1 -1 -1
1 -1 1 -1 -1 -1 1 1 -1 1 1
1 -1 1 -1 -1 -1 1 1 -1 1 -1
1 -1 1 -1 -1 -1 1 1 -1 -1 1
1 -1 1 -1 -1 -1 1 1 -1 -1 -1
1 -1 1 -1 -1 -1 1 -1 1 1 1
1 -1 1 -1 -1 -1 1 -1 1 1 -1
1 -1 1 -1 -1 -1 1 -1 1 -1 1
1 -1 1 -1 -1 -1 1 -1 1 -1 -1
1 -1 1 -1 -1 -1 1 -1 -1 1 1
1 -1 1 -1 -1 -1 1 -1 -1 1 -1
1 -1 1 -1 -1 -1 1 -1 -1 -1 1
1 -1 1 -1 -1 -1 1 -1 -1 -1 -1
1 -1 1 -1 -1 -1 -1 1 1 1 1
1 -1 1 -1 -1 -1 -1 1 1 1 -1
1 -1 1 -1 -1 -1 -1 1 1 -1 1
1 -1 1 -1 -1 -1 -1 1 1 -1 -1
1 -1 1 -1 -1 -1 -1 1 -1 1 1
1 -1 1 -1 -1 -1 -1 1 -1 1 -1
1 -1 1 -1 -1 -1 -1 1 -1 -1 1
1 -1 1 -1 -1 -1 -1 1 -1 -1 -1
1 -1 1 -1 -1 -1 -1 -1 1 1 1
1 -1 1 -1 -1 -1 -1 -1 1 1 -1
1 -1 1 -1 -1 -1 -1 -1 1 -1 1
1 -1 1 -1 -1 -1 -1 -1 1 -1 -1
1 -1 1 -1 -1 -1 -1 -1 -1 1 1
1 -1 1 -1 -1 -1 -1 -1 -1 1 -1
1 -1 1 -1 -1 -1 -1 -1 -1 -1 1
1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 1 1 1 1 1 1 1
1 -1 -1 1 1 1 1 1 1 1 -1
1 -1 -1 1 1 1 1 1 1 -1 1
1 -1 -1 1 1 1 1 1 1 -1 -1
1 -1 -1 1 1 1 1 1 -1 1 1
1 -1 -1 1 1 1 1 1 -1 1 -1
1 -1 -1 1 1 1 1 1 -1 -1 1
1 -1 -1 1 1 1 1 1 -1 -1 -1
1 -1 -1 1 1 1 1 -1 1 1 1
1 -1 -1 1 1 1 1 -1 1 1 -1
1 -1 -1 1 1 1 1 -1 1 -1 1
1 -1 -1 1 1 1 1 -1 1 -1 -1
1 -1 -1 1 1 1 1 -1 -1 1 1
1 -1 -1 1 1 1 1 -1 -1 1 -1
1 -1 -1 1 1 1 1 -1 -1 -1 1
1 -1 -1 1 1 1 1 -1 -1 -1 -1
1 -1 -1 1 1 1 -1 1 1 1 1
1 -1 -1 1 1 1 -1 1 1 1 -1
1 -1 -1 1 1 1 -1 1 1 -1 1
1 -1 -1 1 1 1 -1 1 1 -1 -1
1 -1 -1 1 1 1 -1 1 -1 1 1
1 -1 -1 1 1 1 -1 1 -1 1 -1
1 -1 -1 1 1 1 -1 1 -1 -1 1
1 -1 -1 1 1 1 -1 1 -1 -1 -1
1 -1 -1 1 1 1 -1 -1 1 1 1
1 -1 -1 1 1 1 -1 -1 1 1 -1
1 -1 -1 1 1 1 -1 -1 1 -1 1
1 -1 -1 1 1 1 -1 -1 1 -1 -1
1 -1 -1 1 1 1 -1 -1 -1 1 1
1 -1 -1 1 1 1 -1 -1 -1 1 -1
1 -1 -1 1 1 1 -1 -1 -1 -1 1
1 -1 -1 1 1 1 -1 -1 -1 -1 -1
1 -1 -1 1 1 -1 1 1 1 1 1
1 -1 -1 1 1 -1 1 1 1 1 -1
1 -1 -1 1 1 -1 1 1 1 -1 1
1 -1 -1 1 1 -1 1 1 1 -1 -1
1 -1 -1 1 1 -1 1 1 -1 1 1
1 -1 -1 1 1 -1 1 1 -1 1 -1
1 -1 -1 1 1 -1 1 1 -1 -1 1
1 -1 -1 1 1 -1 1 1 -1 -1 -1
1 -1 -1 1 1 -1 1 -1 1 1 1
1 -1 -1 1 1 -1 1 -1 1 1 -1
1 -1 -1 1 1 -1 1 -1 1 -1 1
1 -1 -1 1 1 -1 1 -1 1 -1 -1
1 -1 -1 1 1 -1 1 -1 -1 1 1
1 -1 -1 1 1 -1 1 -1 -1 1 -1
1 -1 -1 1 1 -1 1 -1 -1 -1 1
1 -1 -1 1 1 -1 1 -1 -1 -1 -1
1 -1 -1 1 1 -1 -1 1 1 1 1
1 -1 -1 1 1 -1 -1 1 1 1 -1
1 -1 -1 1 1 -1 -1 1 1 -1 1
1 -1 -1 1 1 -1 -1 1 1 -1 -1
1 -1 -1 1 1 -1 -1 1 -1 1 1
1 -1 -1 1 1 -1 -1 1 -1 1 -1
1 -1 -1 1 1 -1 -1 1 -1 -1 1
1 -1 -1 1 1 -1 -1 1 -1 -1 -1
1 -1 -1 1 1 -1 -1 -1 1 1 1
1 -1 -1 1 1 -1 -1 -1 1 1 -1
1 -1 -1 1 1 -1 -1 -1 1 -1 1
1 -1 -1 1 1 -1 -1 -1 1 -1 -1
1 -1 -1 1 1 -1 -1 -1 -1 1 1
1 -1 -1 1 1 -1 -1 -1 -1 1 -1
1 -1 -1 1 1 -1 -1 -1 -1 -1 1
1 -1 -1 1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 -1 1 1 1 1 1 1
1 -1 -1 1 -1 1 1 1 1 1 -1
1 -1 -1 1 -1 1 1 1 1 -1 1
1 -1 -1 1 -1 1 1 1 1 -1 -1
1 -1 -1 1 -1 1 1 1 -1 1 1
1 -1 -1 1 -1 1 1 1 -1 1 -1
1 -1 -1 1 -1 1 1 1 -1 -1 1
1 -1 -1 1 -1 1 1 1 -1 -1 -1
1 -1 -1 1 -1 1 1 -1 1 1 1
1 -1 -1 1 -1 1 1 -1 1 1 -1
1 -1 -1 1 -1 1 1 -1 1 -1 1
1 -1 -1 1 -1 1 1 -1 1 -1 -1
1 -1 -1 1 -1 1 1 -1 -1 1 1
1 -1 -1 1 -1 1 1 -1 -1 1 -1
1 -1 -1 1 -1 1 1 -1 -1 -1 1
1 -1 -1 1 -1 1 1 -1 -1 -1 -1
1 -1 -1 1 -1 1 -1 1 1 1 1
1 -1 -1 1 -1 1 -1 1 1 1 -1
1 -1 -1 1 -1 1 -1 1 1 -1 1
1 -1 -1 1 -1 1 -1 1 1 -1 -1
1 -1 -1 1 -1 1 -1 1 -1 1 1
1 -1 -1 1 -1 1 -1 1 -1 1 -1
1 -1 -1 1 -1 1 -1 1 -1 -1 1
1 -1 -1 1 -1 1 -1 1 -1 -1 -1
1 -1 -1 1 -1 1 -1 -1 1 1 1
1 -1 -1 1 -1 1 -1 -1 1 1 -1
1 -1 -1 1 -1 1 -1 -1 1 -1 1
1 -1 -1 1 -1 1 -1 -1 1 -1 -1
1 -1 -1 1 -1 1 -1 -1 -1 1 1
1 -1 -1 1 -1 1 -1 -1 -1 1 -1
1 -1 -1 1 -1 1 -1 -1 -1 -1 1
1 -1 -1 1 -1 1 -1 -1 -1 -1 -1
1 -1 -1 1 -1 -1 1 1 1 1 1
1 -1 -1 1 -1 -1 1 1 1 1 -1
1 -1 -1 1 -1 -1 1 1 1 -1 1
1 -1 -1 1 -1 -1 1 1 1 -1 -1
1 -1 -1 1 -1 -1 1 1 -1 1 1
1 -1 -1 1 -1 -1 1 1 -1 1 -1
1 -1 -1 1 -1 -1 1 1 -1 -1 1
1 -1 -1 1 -1 -1 1 1 -1 -1 -1
1 -1 -1 1 -1 -1 1 -1 1 1 1
1 -1 -1 1 -1 -1 1 -1 1 1 -1
1 -1 -1 1 -1 -1 1 -1 1 -1 1
1 -1 -1 1 -1 -1 1 -1 1 -1 -1
1 -1 -1 1 -1 -1 1 -1 -1 1 1
1 -1 -1 1 -1 -1 1 -1 -1 1 -1
1 -1 -1 1 -1 -1 1 -1 -1 -1 1
1 -1 -1 1 -1 -1 1 -1 -1 -1 -1
1 -1 -1 1 -1 -1 -1 1 1 1 1
1 -1 -1 1 -1 -1 -1 1 1 1 -1
1 -1 -1 1 -1 -1 -1 1 1 -1 1
1 -1 -1 1 -1 -1 -1 1 1 -1 -1
1 -1 -1 1 -1 -1 -1 1 -1 1 1
1 -1 -1 1 -1 -1 -1 1 -1 1 -1
1 -1 -1 1 -1 -1 -1 1 -1 -1 1
1 -1 -1 1 -1 -1 -1 1 -1 -1 -1
1 -1 -1 1 -1 -1 -1 -1 1 1 1
1 -1 -1 1 -1 -1 -1 -1 1 1 -1
1 -1 -1 1 -1 -1 -1 -1 1 -1 1
1 -1 -1 1 -1 -1 -1 -1 1 -1 -1
1 -1 -1 1 -1 -1 -1 -1 -1 1 1
1 -1 -1 1 -1 -1 -1 -1 -1 1 -1
1 -1 -1 1 -1 -1 -1 -1 -1 -1 1
1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 1 1 1 1 1 1
1 -1 -1 -1 1 1 1 1 1 1 -1
1 -1 -1 -1 1 1 1 1 1 -1 1
1 -1 -1 -1 1 1 1 1 1 -1 -1
1 -1 -1 -1 1 1 1 1 -1 1 1
1 -1 -1 -1 1 1 1 1 -1 1 -1
1 -1 -1 -1 1 1 1 1 -1 -1 1
1 -1 -1 -1 1 1 1 1 -1 -1 -1
1 -1 -1 -1 1 1 1 -1 1 1 1
1 -1 -1 -1 1 1 1 -1 1 1 -1
1 -1 -1 -1 1 1 1 -1 1 -1 1
1 -1 -1 -1 1 1 1 -1 1 -1 -1
1 -1 -1 -1 1 1 1 -1 -1 1 1
1 -1 -1 -1 1 1 1 -1 -1 1 -1
1 -1 -1 -1 1 1 1 -1 -1 -1 1
1 -1 -1 -1 1 1 1 -1 -1 -1 -1
1 -1 -1 -1 1 1 -1 1 1 1 1
1 -1 -1 -1 1 1 -1 1 1 1 -1
1 -1 -1 -1 1 1 -1 1 1 -1 1
1 -1 -1 -1 1 1 -1 1 1 -1 -1
1 -1 -1 -1 1 1 -1 1 -1 1 1
1 -1 -1 -1 1 1 -1 1 -1 1 -1
1 -1 -1 -1 1 1 -1 1 -1 -1 1
1 -1 -1 -1 1 1 -1 1 -1 -1 -1
1 -1 -1 -1 1 1 -1 -1 1 1 1
1 -1 -1 -1 1 1 -1 -1 1 1 -1
1 -1 -1 -1 1 1 -1 -1 1 -1 1
1 -1 -1 -1 1 1 -1 -1 1 -1 -1
1 -1 -1 -1 1 1 -1 -1 -1 1 1
1 -1 -1 -1 1 1 -1 -1 -1 1 -1
1 -1 -1 -1 1 1 -1 -1 -1 -1 1
1 -1 -1 -1 1 1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 -1 1 1 1 1 1
1 -1 -1 -1 1 -1 1 1 1 1 -1
1 -1 -1 -1 1 -1 1 1 1 -1 1
1 -1 -1 -1 1 -1 1 1 1 -1 -1
1 -1 -1 -1 1 -1 1 1 -1 1 1
1 -1 -1 -1 1 -1 1 1 -1 1 -1
1 -1 -1 -1 1 -1 1 1 -1 -1 1
1 -1 -1 -1 1 -1 1 1 -1 -1 -1
1 -1 -1 -1 1 -1 1 -1 1 1 1
1 -1 -1 -1 1 -1 1 -1 1 1 -1
1 -1 -1 -1 1 -1 1 -1 1 -1 1
1 -1 -1 -1 1 -1 1 -1 1 -1 -1
1 -1 -1 -1 1 -1 1 -1 -1 1 1
1 -1 -1 -1 1 -1 1 -1 -1 1 -1
1 -1 -1 -1 1 -1 1 -1 -1 -1 1
1 -1 -1 -1 1 -1 1 -1 -1 -1 -1
1 -1 -1 -1 1 -1 -1 1 1 1 1
1 -1 -1 -1 1 -1 -1 1 1 1 -1
1 -1 -1 -1 1 -1 -1 1 1 -1 1
1 -1 -1 -1 1 -1 -1 1 1 -1 -1
1 -1 -1 -1 1 -1 -1 1 -1 1 1
1 -1 -1 -1 1 -1 -1 1 -1 1 -1
1 -1 -1 -1 1 -1 -1 1 -1 -1 1
1 -1 -1 -1 1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 1 -1 -1 -1 1 1 1
1 -1 -1 -1 1 -1 -1 -1 1 1 -1
1 -1 -1 -1 1 -1 -1 -1 1 -1 1
1 -1 -1 -1 1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 1 -1 -1 -1 -1 1 1
1 -1 -1 -1 1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 1 1 1 1 1 1
1 -1 -1 -1 -1 1 1 1 1 1 -1
1 -1 -1 -1 -1 1 1 1 1 -1 1
1 -1 -1 -1 -1 1 1 1 1 -1 -1
1 -1 -1 -1 -1 1 1 1 -1 1 1
1 -1 -1 -1 -1 1 1 1 -1 1 -1
1 -1 -1 -1 -1 1 1 1 -1 -1 1
1 -1 -1 -1 -1 1 1 1 -1 -1 -1
1 -1 -1 -1 -1 1 1 -1 1 1 1
1 -1 -1 -1 -1 1 1 -1 1 1 -1
1 -1 -1 -1 -1 1 1 -1 1 -1 1
1 -1 -1 -1 -1 1 1 -1 1 -1 -1
1 -1 -1 -1 -1 1 1 -1 -1 1 1
1 -1 -1 -1 -1 1 1 -1 -1 1 -1
1 -1 -1 -1 -1 1 1 -1 -1 -1 1
1 -1 -1 -1 -1 1 1 -1 -1 -1 -1
1 -1 -1 -1 -1 1 -1 1 1 1 1
1 -1 -1 -1 -1 1 -1 1 1 1 -1
1 -1 -1 -1 -1 1 -1 1 1 -1 1
1 -1 -1 -1 -1 1 -1 1 1 -1 -1
1 -1 -1 -1 -1 1 -1 1 -1 1 1
1 -1 -1 -1 -1 1 -1 1 -1 1 -1
1 -1 -1 -1 -1 1 -1 1 -1 -1 1
1 -1 -1 -1 -1 1 -1 1 -1 -1 -1
1 -1 -1 -1 -1 1 -1 -1 1 1 1
1 -1 -1 -1 -1 1 -1 -1 1 1 -1
1 -1 -1 -1 -1 1 -1 -1 1 -1 1
1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 1 -1 -1 -1 1 1
1 -1 -1 -1 -1 1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 1 1 1 1
1 -1 -1 -1 -1 -1 1 1 1 1 -1
1 -1 -1 -1 -1 -1 1 1 1 -1 1
1 -1 -1 -1 -1 -1 1 1 1 -1 -1
1 -1 -1 -1 -1 -1 1 1 -1 1 1
1 -1 -1 -1 -1 -1 1 1 -1 1 -1
1 -1 -1 -1 -1 -1 1 1 -1 -1 1
1 -1 -1 -1 -1 -1 1 1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 -1 1 1 1
1 -1 -1 -1 -1 -1 1 -1 1 1 -1
1 -1 -1 -1 -1 -1 1 -1 1 -1 1
1 -1 -1 -1 -1 -1 1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 1 -1 -1 1 1
1 -1 -1 -1 -1 -1 1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 1 1 1
1 -1 -1 -1 -1 -1 -1 1 1 1 -1
1 -1 -1 -1 -1 -1 -1 1 1 -1 1
1 -1 -1 -1 -1 -1 -1 1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 -1 1 1
1 -1 -1 -1 -1 -1 -1 1 -1 1 -1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1 1 1 1
1 -1 -1 -1 -1 -1 -1 -1 1 1 -1
1 -1 -1 -1 -1 -1 -1 -1 1 -1 1
1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1 -1 1 1
1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
end
cddlib-0.94j/examples-ine/cross12.ine 0000644 0001750 0001750 00000410110 13270061057 014340 0000000 0000000 * 12-dim cross polytope
H-representation
begin
4096 13 integer
1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1
1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1
1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1
1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1
1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1
1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1
1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1
1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 -1
1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1
1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1
1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 1
1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1
1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1
1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 1
1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 -1
1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 1
1 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 -1
1 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 1
1 1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1
1 1 -1 -1 -1 -1 -1 -1 1 -1 1 1 1
1 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 1
1 1 -1 -1 -1 -1 -1 -1 1 1 -1 1 -1
1 1 -1 -1 -1 -1 -1 -1 1 1 -1 1 1
1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1
1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 1
1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1
1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 1
1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1
1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 -1
1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 1
1 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
1 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 -1 1 -1 -1 1 1 -1
1 1 -1 -1 -1 -1 -1 1 -1 -1 1 1 1
1 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 1
1 1 -1 -1 -1 -1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 -1 -1 -1 1 -1 1 -1 1 1
1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1
1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1
1 1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1
1 1 -1 -1 -1 -1 -1 1 -1 1 1 1 1
1 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1
1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1
1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 1
1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1
1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1 1
1 1 -1 -1 -1 -1 -1 1 1 -1 1 1 -1
1 1 -1 -1 -1 -1 -1 1 1 -1 1 1 1
1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 1
1 1 -1 -1 -1 -1 -1 1 1 1 -1 1 -1
1 1 -1 -1 -1 -1 -1 1 1 1 -1 1 1
1 1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1
1 1 -1 -1 -1 -1 -1 1 1 1 1 -1 1
1 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1
1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1
1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1
1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1
1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1
1 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1
1 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 -1 -1 -1 1 1 -1
1 1 -1 -1 -1 -1 1 -1 -1 -1 1 1 1
1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 -1
1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 1
1 1 -1 -1 -1 -1 1 -1 -1 1 -1 1 -1
1 1 -1 -1 -1 -1 1 -1 -1 1 -1 1 1
1 1 -1 -1 -1 -1 1 -1 -1 1 1 -1 -1
1 1 -1 -1 -1 -1 1 -1 -1 1 1 -1 1
1 1 -1 -1 -1 -1 1 -1 -1 1 1 1 -1
1 1 -1 -1 -1 -1 1 -1 -1 1 1 1 1
1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1
1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1
1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1
1 1 -1 -1 -1 -1 1 -1 1 -1 1 -1 -1
1 1 -1 -1 -1 -1 1 -1 1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 -1 1 -1 1 1 -1
1 1 -1 -1 -1 -1 1 -1 1 -1 1 1 1
1 1 -1 -1 -1 -1 1 -1 1 1 -1 -1 -1
1 1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1
1 1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1
1 1 -1 -1 -1 -1 1 -1 1 1 -1 1 1
1 1 -1 -1 -1 -1 1 -1 1 1 1 -1 -1
1 1 -1 -1 -1 -1 1 -1 1 1 1 -1 1
1 1 -1 -1 -1 -1 1 -1 1 1 1 1 -1
1 1 -1 -1 -1 -1 1 -1 1 1 1 1 1
1 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 1
1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 -1
1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1
1 1 -1 -1 -1 -1 1 1 -1 -1 1 -1 -1
1 1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 1 -1 -1 1 1 -1
1 1 -1 -1 -1 -1 1 1 -1 -1 1 1 1
1 1 -1 -1 -1 -1 1 1 -1 1 -1 -1 -1
1 1 -1 -1 -1 -1 1 1 -1 1 -1 -1 1
1 1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1
1 1 -1 -1 -1 -1 1 1 -1 1 -1 1 1
1 1 -1 -1 -1 -1 1 1 -1 1 1 -1 -1
1 1 -1 -1 -1 -1 1 1 -1 1 1 -1 1
1 1 -1 -1 -1 -1 1 1 -1 1 1 1 -1
1 1 -1 -1 -1 -1 1 1 -1 1 1 1 1
1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1
1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1
1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1
1 1 -1 -1 -1 -1 1 1 1 -1 1 -1 -1
1 1 -1 -1 -1 -1 1 1 1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 1 1 -1 1 1 -1
1 1 -1 -1 -1 -1 1 1 1 -1 1 1 1
1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1
1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 1
1 1 -1 -1 -1 -1 1 1 1 1 -1 1 -1
1 1 -1 -1 -1 -1 1 1 1 1 -1 1 1
1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1
1 1 -1 -1 -1 -1 1 1 1 1 1 -1 1
1 1 -1 -1 -1 -1 1 1 1 1 1 1 -1
1 1 -1 -1 -1 -1 1 1 1 1 1 1 1
1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1
1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1
1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1
1 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1
1 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 1
1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 -1
1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1
1 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1
1 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 1
1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1
1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 1
1 1 -1 -1 -1 1 -1 -1 -1 1 1 -1 -1
1 1 -1 -1 -1 1 -1 -1 -1 1 1 -1 1
1 1 -1 -1 -1 1 -1 -1 -1 1 1 1 -1
1 1 -1 -1 -1 1 -1 -1 -1 1 1 1 1
1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1
1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 1
1 1 -1 -1 -1 1 -1 -1 1 -1 -1 1 -1
1 1 -1 -1 -1 1 -1 -1 1 -1 -1 1 1
1 1 -1 -1 -1 1 -1 -1 1 -1 1 -1 -1
1 1 -1 -1 -1 1 -1 -1 1 -1 1 -1 1
1 1 -1 -1 -1 1 -1 -1 1 -1 1 1 -1
1 1 -1 -1 -1 1 -1 -1 1 -1 1 1 1
1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 -1
1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1
1 1 -1 -1 -1 1 -1 -1 1 1 -1 1 -1
1 1 -1 -1 -1 1 -1 -1 1 1 -1 1 1
1 1 -1 -1 -1 1 -1 -1 1 1 1 -1 -1
1 1 -1 -1 -1 1 -1 -1 1 1 1 -1 1
1 1 -1 -1 -1 1 -1 -1 1 1 1 1 -1
1 1 -1 -1 -1 1 -1 -1 1 1 1 1 1
1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 1
1 1 -1 -1 -1 1 -1 1 -1 -1 -1 1 -1
1 1 -1 -1 -1 1 -1 1 -1 -1 -1 1 1
1 1 -1 -1 -1 1 -1 1 -1 -1 1 -1 -1
1 1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1
1 1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1
1 1 -1 -1 -1 1 -1 1 -1 -1 1 1 1
1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1
1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 1
1 1 -1 -1 -1 1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 -1 1 -1 1 -1 1 -1 1 1
1 1 -1 -1 -1 1 -1 1 -1 1 1 -1 -1
1 1 -1 -1 -1 1 -1 1 -1 1 1 -1 1
1 1 -1 -1 -1 1 -1 1 -1 1 1 1 -1
1 1 -1 -1 -1 1 -1 1 -1 1 1 1 1
1 1 -1 -1 -1 1 -1 1 1 -1 -1 -1 -1
1 1 -1 -1 -1 1 -1 1 1 -1 -1 -1 1
1 1 -1 -1 -1 1 -1 1 1 -1 -1 1 -1
1 1 -1 -1 -1 1 -1 1 1 -1 -1 1 1
1 1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1
1 1 -1 -1 -1 1 -1 1 1 -1 1 -1 1
1 1 -1 -1 -1 1 -1 1 1 -1 1 1 -1
1 1 -1 -1 -1 1 -1 1 1 -1 1 1 1
1 1 -1 -1 -1 1 -1 1 1 1 -1 -1 -1
1 1 -1 -1 -1 1 -1 1 1 1 -1 -1 1
1 1 -1 -1 -1 1 -1 1 1 1 -1 1 -1
1 1 -1 -1 -1 1 -1 1 1 1 -1 1 1
1 1 -1 -1 -1 1 -1 1 1 1 1 -1 -1
1 1 -1 -1 -1 1 -1 1 1 1 1 -1 1
1 1 -1 -1 -1 1 -1 1 1 1 1 1 -1
1 1 -1 -1 -1 1 -1 1 1 1 1 1 1
1 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1
1 1 -1 -1 -1 1 1 -1 -1 -1 -1 1 -1
1 1 -1 -1 -1 1 1 -1 -1 -1 -1 1 1
1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 -1
1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1
1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1
1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 1
1 1 -1 -1 -1 1 1 -1 -1 1 -1 -1 -1
1 1 -1 -1 -1 1 1 -1 -1 1 -1 -1 1
1 1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1
1 1 -1 -1 -1 1 1 -1 -1 1 -1 1 1
1 1 -1 -1 -1 1 1 -1 -1 1 1 -1 -1
1 1 -1 -1 -1 1 1 -1 -1 1 1 -1 1
1 1 -1 -1 -1 1 1 -1 -1 1 1 1 -1
1 1 -1 -1 -1 1 1 -1 -1 1 1 1 1
1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 -1
1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1
1 1 -1 -1 -1 1 1 -1 1 -1 -1 1 -1
1 1 -1 -1 -1 1 1 -1 1 -1 -1 1 1
1 1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1
1 1 -1 -1 -1 1 1 -1 1 -1 1 -1 1
1 1 -1 -1 -1 1 1 -1 1 -1 1 1 -1
1 1 -1 -1 -1 1 1 -1 1 -1 1 1 1
1 1 -1 -1 -1 1 1 -1 1 1 -1 -1 -1
1 1 -1 -1 -1 1 1 -1 1 1 -1 -1 1
1 1 -1 -1 -1 1 1 -1 1 1 -1 1 -1
1 1 -1 -1 -1 1 1 -1 1 1 -1 1 1
1 1 -1 -1 -1 1 1 -1 1 1 1 -1 -1
1 1 -1 -1 -1 1 1 -1 1 1 1 -1 1
1 1 -1 -1 -1 1 1 -1 1 1 1 1 -1
1 1 -1 -1 -1 1 1 -1 1 1 1 1 1
1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1
1 1 -1 -1 -1 1 1 1 -1 -1 -1 1 -1
1 1 -1 -1 -1 1 1 1 -1 -1 -1 1 1
1 1 -1 -1 -1 1 1 1 -1 -1 1 -1 -1
1 1 -1 -1 -1 1 1 1 -1 -1 1 -1 1
1 1 -1 -1 -1 1 1 1 -1 -1 1 1 -1
1 1 -1 -1 -1 1 1 1 -1 -1 1 1 1
1 1 -1 -1 -1 1 1 1 -1 1 -1 -1 -1
1 1 -1 -1 -1 1 1 1 -1 1 -1 -1 1
1 1 -1 -1 -1 1 1 1 -1 1 -1 1 -1
1 1 -1 -1 -1 1 1 1 -1 1 -1 1 1
1 1 -1 -1 -1 1 1 1 -1 1 1 -1 -1
1 1 -1 -1 -1 1 1 1 -1 1 1 -1 1
1 1 -1 -1 -1 1 1 1 -1 1 1 1 -1
1 1 -1 -1 -1 1 1 1 -1 1 1 1 1
1 1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1
1 1 -1 -1 -1 1 1 1 1 -1 -1 -1 1
1 1 -1 -1 -1 1 1 1 1 -1 -1 1 -1
1 1 -1 -1 -1 1 1 1 1 -1 -1 1 1
1 1 -1 -1 -1 1 1 1 1 -1 1 -1 -1
1 1 -1 -1 -1 1 1 1 1 -1 1 -1 1
1 1 -1 -1 -1 1 1 1 1 -1 1 1 -1
1 1 -1 -1 -1 1 1 1 1 -1 1 1 1
1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1
1 1 -1 -1 -1 1 1 1 1 1 -1 -1 1
1 1 -1 -1 -1 1 1 1 1 1 -1 1 -1
1 1 -1 -1 -1 1 1 1 1 1 -1 1 1
1 1 -1 -1 -1 1 1 1 1 1 1 -1 -1
1 1 -1 -1 -1 1 1 1 1 1 1 -1 1
1 1 -1 -1 -1 1 1 1 1 1 1 1 -1
1 1 -1 -1 -1 1 1 1 1 1 1 1 1
1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1
1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1
1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 1
1 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1
1 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 1
1 1 -1 -1 1 -1 -1 -1 -1 -1 1 1 -1
1 1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1
1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1
1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1
1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1
1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 1
1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1
1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 1
1 1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1
1 1 -1 -1 1 -1 -1 -1 -1 1 1 1 1
1 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 -1
1 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1
1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1
1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1
1 1 -1 -1 1 -1 -1 -1 1 -1 1 -1 -1
1 1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1
1 1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1
1 1 -1 -1 1 -1 -1 -1 1 -1 1 1 1
1 1 -1 -1 1 -1 -1 -1 1 1 -1 -1 -1
1 1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1
1 1 -1 -1 1 -1 -1 -1 1 1 -1 1 -1
1 1 -1 -1 1 -1 -1 -1 1 1 -1 1 1
1 1 -1 -1 1 -1 -1 -1 1 1 1 -1 -1
1 1 -1 -1 1 -1 -1 -1 1 1 1 -1 1
1 1 -1 -1 1 -1 -1 -1 1 1 1 1 -1
1 1 -1 -1 1 -1 -1 -1 1 1 1 1 1
1 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 -1
1 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1
1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 -1
1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1
1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 -1
1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1
1 1 -1 -1 1 -1 -1 1 -1 -1 1 1 -1
1 1 -1 -1 1 -1 -1 1 -1 -1 1 1 1
1 1 -1 -1 1 -1 -1 1 -1 1 -1 -1 -1
1 1 -1 -1 1 -1 -1 1 -1 1 -1 -1 1
1 1 -1 -1 1 -1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 -1 -1 1 -1 1 -1 1 1
1 1 -1 -1 1 -1 -1 1 -1 1 1 -1 -1
1 1 -1 -1 1 -1 -1 1 -1 1 1 -1 1
1 1 -1 -1 1 -1 -1 1 -1 1 1 1 -1
1 1 -1 -1 1 -1 -1 1 -1 1 1 1 1
1 1 -1 -1 1 -1 -1 1 1 -1 -1 -1 -1
1 1 -1 -1 1 -1 -1 1 1 -1 -1 -1 1
1 1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1
1 1 -1 -1 1 -1 -1 1 1 -1 -1 1 1
1 1 -1 -1 1 -1 -1 1 1 -1 1 -1 -1
1 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1
1 1 -1 -1 1 -1 -1 1 1 -1 1 1 -1
1 1 -1 -1 1 -1 -1 1 1 -1 1 1 1
1 1 -1 -1 1 -1 -1 1 1 1 -1 -1 -1
1 1 -1 -1 1 -1 -1 1 1 1 -1 -1 1
1 1 -1 -1 1 -1 -1 1 1 1 -1 1 -1
1 1 -1 -1 1 -1 -1 1 1 1 -1 1 1
1 1 -1 -1 1 -1 -1 1 1 1 1 -1 -1
1 1 -1 -1 1 -1 -1 1 1 1 1 -1 1
1 1 -1 -1 1 -1 -1 1 1 1 1 1 -1
1 1 -1 -1 1 -1 -1 1 1 1 1 1 1
1 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1
1 1 -1 -1 1 -1 1 -1 -1 -1 -1 1 -1
1 1 -1 -1 1 -1 1 -1 -1 -1 -1 1 1
1 1 -1 -1 1 -1 1 -1 -1 -1 1 -1 -1
1 1 -1 -1 1 -1 1 -1 -1 -1 1 -1 1
1 1 -1 -1 1 -1 1 -1 -1 -1 1 1 -1
1 1 -1 -1 1 -1 1 -1 -1 -1 1 1 1
1 1 -1 -1 1 -1 1 -1 -1 1 -1 -1 -1
1 1 -1 -1 1 -1 1 -1 -1 1 -1 -1 1
1 1 -1 -1 1 -1 1 -1 -1 1 -1 1 -1
1 1 -1 -1 1 -1 1 -1 -1 1 -1 1 1
1 1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1
1 1 -1 -1 1 -1 1 -1 -1 1 1 -1 1
1 1 -1 -1 1 -1 1 -1 -1 1 1 1 -1
1 1 -1 -1 1 -1 1 -1 -1 1 1 1 1
1 1 -1 -1 1 -1 1 -1 1 -1 -1 -1 -1
1 1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1
1 1 -1 -1 1 -1 1 -1 1 -1 -1 1 -1
1 1 -1 -1 1 -1 1 -1 1 -1 -1 1 1
1 1 -1 -1 1 -1 1 -1 1 -1 1 -1 -1
1 1 -1 -1 1 -1 1 -1 1 -1 1 -1 1
1 1 -1 -1 1 -1 1 -1 1 -1 1 1 -1
1 1 -1 -1 1 -1 1 -1 1 -1 1 1 1
1 1 -1 -1 1 -1 1 -1 1 1 -1 -1 -1
1 1 -1 -1 1 -1 1 -1 1 1 -1 -1 1
1 1 -1 -1 1 -1 1 -1 1 1 -1 1 -1
1 1 -1 -1 1 -1 1 -1 1 1 -1 1 1
1 1 -1 -1 1 -1 1 -1 1 1 1 -1 -1
1 1 -1 -1 1 -1 1 -1 1 1 1 -1 1
1 1 -1 -1 1 -1 1 -1 1 1 1 1 -1
1 1 -1 -1 1 -1 1 -1 1 1 1 1 1
1 1 -1 -1 1 -1 1 1 -1 -1 -1 -1 -1
1 1 -1 -1 1 -1 1 1 -1 -1 -1 -1 1
1 1 -1 -1 1 -1 1 1 -1 -1 -1 1 -1
1 1 -1 -1 1 -1 1 1 -1 -1 -1 1 1
1 1 -1 -1 1 -1 1 1 -1 -1 1 -1 -1
1 1 -1 -1 1 -1 1 1 -1 -1 1 -1 1
1 1 -1 -1 1 -1 1 1 -1 -1 1 1 -1
1 1 -1 -1 1 -1 1 1 -1 -1 1 1 1
1 1 -1 -1 1 -1 1 1 -1 1 -1 -1 -1
1 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1
1 1 -1 -1 1 -1 1 1 -1 1 -1 1 -1
1 1 -1 -1 1 -1 1 1 -1 1 -1 1 1
1 1 -1 -1 1 -1 1 1 -1 1 1 -1 -1
1 1 -1 -1 1 -1 1 1 -1 1 1 -1 1
1 1 -1 -1 1 -1 1 1 -1 1 1 1 -1
1 1 -1 -1 1 -1 1 1 -1 1 1 1 1
1 1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1
1 1 -1 -1 1 -1 1 1 1 -1 -1 -1 1
1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1
1 1 -1 -1 1 -1 1 1 1 -1 -1 1 1
1 1 -1 -1 1 -1 1 1 1 -1 1 -1 -1
1 1 -1 -1 1 -1 1 1 1 -1 1 -1 1
1 1 -1 -1 1 -1 1 1 1 -1 1 1 -1
1 1 -1 -1 1 -1 1 1 1 -1 1 1 1
1 1 -1 -1 1 -1 1 1 1 1 -1 -1 -1
1 1 -1 -1 1 -1 1 1 1 1 -1 -1 1
1 1 -1 -1 1 -1 1 1 1 1 -1 1 -1
1 1 -1 -1 1 -1 1 1 1 1 -1 1 1
1 1 -1 -1 1 -1 1 1 1 1 1 -1 -1
1 1 -1 -1 1 -1 1 1 1 1 1 -1 1
1 1 -1 -1 1 -1 1 1 1 1 1 1 -1
1 1 -1 -1 1 -1 1 1 1 1 1 1 1
1 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 1
1 1 -1 -1 1 1 -1 -1 -1 -1 -1 1 -1
1 1 -1 -1 1 1 -1 -1 -1 -1 -1 1 1
1 1 -1 -1 1 1 -1 -1 -1 -1 1 -1 -1
1 1 -1 -1 1 1 -1 -1 -1 -1 1 -1 1
1 1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1
1 1 -1 -1 1 1 -1 -1 -1 -1 1 1 1
1 1 -1 -1 1 1 -1 -1 -1 1 -1 -1 -1
1 1 -1 -1 1 1 -1 -1 -1 1 -1 -1 1
1 1 -1 -1 1 1 -1 -1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1 -1 1 -1 1 1
1 1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1
1 1 -1 -1 1 1 -1 -1 -1 1 1 -1 1
1 1 -1 -1 1 1 -1 -1 -1 1 1 1 -1
1 1 -1 -1 1 1 -1 -1 -1 1 1 1 1
1 1 -1 -1 1 1 -1 -1 1 -1 -1 -1 -1
1 1 -1 -1 1 1 -1 -1 1 -1 -1 -1 1
1 1 -1 -1 1 1 -1 -1 1 -1 -1 1 -1
1 1 -1 -1 1 1 -1 -1 1 -1 -1 1 1
1 1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1
1 1 -1 -1 1 1 -1 -1 1 -1 1 -1 1
1 1 -1 -1 1 1 -1 -1 1 -1 1 1 -1
1 1 -1 -1 1 1 -1 -1 1 -1 1 1 1
1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 -1
1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1
1 1 -1 -1 1 1 -1 -1 1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1 1 1 -1 1 1
1 1 -1 -1 1 1 -1 -1 1 1 1 -1 -1
1 1 -1 -1 1 1 -1 -1 1 1 1 -1 1
1 1 -1 -1 1 1 -1 -1 1 1 1 1 -1
1 1 -1 -1 1 1 -1 -1 1 1 1 1 1
1 1 -1 -1 1 1 -1 1 -1 -1 -1 -1 -1
1 1 -1 -1 1 1 -1 1 -1 -1 -1 -1 1
1 1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1
1 1 -1 -1 1 1 -1 1 -1 -1 -1 1 1
1 1 -1 -1 1 1 -1 1 -1 -1 1 -1 -1
1 1 -1 -1 1 1 -1 1 -1 -1 1 -1 1
1 1 -1 -1 1 1 -1 1 -1 -1 1 1 -1
1 1 -1 -1 1 1 -1 1 -1 -1 1 1 1
1 1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1
1 1 -1 -1 1 1 -1 1 -1 1 -1 -1 1
1 1 -1 -1 1 1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 1 -1 1 -1 1 1
1 1 -1 -1 1 1 -1 1 -1 1 1 -1 -1
1 1 -1 -1 1 1 -1 1 -1 1 1 -1 1
1 1 -1 -1 1 1 -1 1 -1 1 1 1 -1
1 1 -1 -1 1 1 -1 1 -1 1 1 1 1
1 1 -1 -1 1 1 -1 1 1 -1 -1 -1 -1
1 1 -1 -1 1 1 -1 1 1 -1 -1 -1 1
1 1 -1 -1 1 1 -1 1 1 -1 -1 1 -1
1 1 -1 -1 1 1 -1 1 1 -1 -1 1 1
1 1 -1 -1 1 1 -1 1 1 -1 1 -1 -1
1 1 -1 -1 1 1 -1 1 1 -1 1 -1 1
1 1 -1 -1 1 1 -1 1 1 -1 1 1 -1
1 1 -1 -1 1 1 -1 1 1 -1 1 1 1
1 1 -1 -1 1 1 -1 1 1 1 -1 -1 -1
1 1 -1 -1 1 1 -1 1 1 1 -1 -1 1
1 1 -1 -1 1 1 -1 1 1 1 -1 1 -1
1 1 -1 -1 1 1 -1 1 1 1 -1 1 1
1 1 -1 -1 1 1 -1 1 1 1 1 -1 -1
1 1 -1 -1 1 1 -1 1 1 1 1 -1 1
1 1 -1 -1 1 1 -1 1 1 1 1 1 -1
1 1 -1 -1 1 1 -1 1 1 1 1 1 1
1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1
1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 -1
1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1
1 1 -1 -1 1 1 1 -1 -1 -1 1 -1 -1
1 1 -1 -1 1 1 1 -1 -1 -1 1 -1 1
1 1 -1 -1 1 1 1 -1 -1 -1 1 1 -1
1 1 -1 -1 1 1 1 -1 -1 -1 1 1 1
1 1 -1 -1 1 1 1 -1 -1 1 -1 -1 -1
1 1 -1 -1 1 1 1 -1 -1 1 -1 -1 1
1 1 -1 -1 1 1 1 -1 -1 1 -1 1 -1
1 1 -1 -1 1 1 1 -1 -1 1 -1 1 1
1 1 -1 -1 1 1 1 -1 -1 1 1 -1 -1
1 1 -1 -1 1 1 1 -1 -1 1 1 -1 1
1 1 -1 -1 1 1 1 -1 -1 1 1 1 -1
1 1 -1 -1 1 1 1 -1 -1 1 1 1 1
1 1 -1 -1 1 1 1 -1 1 -1 -1 -1 -1
1 1 -1 -1 1 1 1 -1 1 -1 -1 -1 1
1 1 -1 -1 1 1 1 -1 1 -1 -1 1 -1
1 1 -1 -1 1 1 1 -1 1 -1 -1 1 1
1 1 -1 -1 1 1 1 -1 1 -1 1 -1 -1
1 1 -1 -1 1 1 1 -1 1 -1 1 -1 1
1 1 -1 -1 1 1 1 -1 1 -1 1 1 -1
1 1 -1 -1 1 1 1 -1 1 -1 1 1 1
1 1 -1 -1 1 1 1 -1 1 1 -1 -1 -1
1 1 -1 -1 1 1 1 -1 1 1 -1 -1 1
1 1 -1 -1 1 1 1 -1 1 1 -1 1 -1
1 1 -1 -1 1 1 1 -1 1 1 -1 1 1
1 1 -1 -1 1 1 1 -1 1 1 1 -1 -1
1 1 -1 -1 1 1 1 -1 1 1 1 -1 1
1 1 -1 -1 1 1 1 -1 1 1 1 1 -1
1 1 -1 -1 1 1 1 -1 1 1 1 1 1
1 1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1
1 1 -1 -1 1 1 1 1 -1 -1 -1 -1 1
1 1 -1 -1 1 1 1 1 -1 -1 -1 1 -1
1 1 -1 -1 1 1 1 1 -1 -1 -1 1 1
1 1 -1 -1 1 1 1 1 -1 -1 1 -1 -1
1 1 -1 -1 1 1 1 1 -1 -1 1 -1 1
1 1 -1 -1 1 1 1 1 -1 -1 1 1 -1
1 1 -1 -1 1 1 1 1 -1 -1 1 1 1
1 1 -1 -1 1 1 1 1 -1 1 -1 -1 -1
1 1 -1 -1 1 1 1 1 -1 1 -1 -1 1
1 1 -1 -1 1 1 1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 1 1 -1 1 -1 1 1
1 1 -1 -1 1 1 1 1 -1 1 1 -1 -1
1 1 -1 -1 1 1 1 1 -1 1 1 -1 1
1 1 -1 -1 1 1 1 1 -1 1 1 1 -1
1 1 -1 -1 1 1 1 1 -1 1 1 1 1
1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1
1 1 -1 -1 1 1 1 1 1 -1 -1 -1 1
1 1 -1 -1 1 1 1 1 1 -1 -1 1 -1
1 1 -1 -1 1 1 1 1 1 -1 -1 1 1
1 1 -1 -1 1 1 1 1 1 -1 1 -1 -1
1 1 -1 -1 1 1 1 1 1 -1 1 -1 1
1 1 -1 -1 1 1 1 1 1 -1 1 1 -1
1 1 -1 -1 1 1 1 1 1 -1 1 1 1
1 1 -1 -1 1 1 1 1 1 1 -1 -1 -1
1 1 -1 -1 1 1 1 1 1 1 -1 -1 1
1 1 -1 -1 1 1 1 1 1 1 -1 1 -1
1 1 -1 -1 1 1 1 1 1 1 -1 1 1
1 1 -1 -1 1 1 1 1 1 1 1 -1 -1
1 1 -1 -1 1 1 1 1 1 1 1 -1 1
1 1 -1 -1 1 1 1 1 1 1 1 1 -1
1 1 -1 -1 1 1 1 1 1 1 1 1 1
1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1
1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 -1
1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1
1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1
1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1
1 1 -1 1 -1 -1 -1 -1 -1 -1 1 1 -1
1 1 -1 1 -1 -1 -1 -1 -1 -1 1 1 1
1 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1
1 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 1
1 1 -1 1 -1 -1 -1 -1 -1 1 -1 1 -1
1 1 -1 1 -1 -1 -1 -1 -1 1 -1 1 1
1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1
1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1
1 1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1
1 1 -1 1 -1 -1 -1 -1 -1 1 1 1 1
1 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1
1 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1
1 1 -1 1 -1 -1 -1 -1 1 -1 -1 1 -1
1 1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1
1 1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1
1 1 -1 1 -1 -1 -1 -1 1 -1 1 -1 1
1 1 -1 1 -1 -1 -1 -1 1 -1 1 1 -1
1 1 -1 1 -1 -1 -1 -1 1 -1 1 1 1
1 1 -1 1 -1 -1 -1 -1 1 1 -1 -1 -1
1 1 -1 1 -1 -1 -1 -1 1 1 -1 -1 1
1 1 -1 1 -1 -1 -1 -1 1 1 -1 1 -1
1 1 -1 1 -1 -1 -1 -1 1 1 -1 1 1
1 1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1
1 1 -1 1 -1 -1 -1 -1 1 1 1 -1 1
1 1 -1 1 -1 -1 -1 -1 1 1 1 1 -1
1 1 -1 1 -1 -1 -1 -1 1 1 1 1 1
1 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 -1
1 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1
1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1
1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1
1 1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1
1 1 -1 1 -1 -1 -1 1 -1 -1 1 -1 1
1 1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1
1 1 -1 1 -1 -1 -1 1 -1 -1 1 1 1
1 1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1
1 1 -1 1 -1 -1 -1 1 -1 1 -1 -1 1
1 1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1
1 1 -1 1 -1 -1 -1 1 -1 1 -1 1 1
1 1 -1 1 -1 -1 -1 1 -1 1 1 -1 -1
1 1 -1 1 -1 -1 -1 1 -1 1 1 -1 1
1 1 -1 1 -1 -1 -1 1 -1 1 1 1 -1
1 1 -1 1 -1 -1 -1 1 -1 1 1 1 1
1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 -1
1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1
1 1 -1 1 -1 -1 -1 1 1 -1 -1 1 -1
1 1 -1 1 -1 -1 -1 1 1 -1 -1 1 1
1 1 -1 1 -1 -1 -1 1 1 -1 1 -1 -1
1 1 -1 1 -1 -1 -1 1 1 -1 1 -1 1
1 1 -1 1 -1 -1 -1 1 1 -1 1 1 -1
1 1 -1 1 -1 -1 -1 1 1 -1 1 1 1
1 1 -1 1 -1 -1 -1 1 1 1 -1 -1 -1
1 1 -1 1 -1 -1 -1 1 1 1 -1 -1 1
1 1 -1 1 -1 -1 -1 1 1 1 -1 1 -1
1 1 -1 1 -1 -1 -1 1 1 1 -1 1 1
1 1 -1 1 -1 -1 -1 1 1 1 1 -1 -1
1 1 -1 1 -1 -1 -1 1 1 1 1 -1 1
1 1 -1 1 -1 -1 -1 1 1 1 1 1 -1
1 1 -1 1 -1 -1 -1 1 1 1 1 1 1
1 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 1
1 1 -1 1 -1 -1 1 -1 -1 -1 -1 1 -1
1 1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1
1 1 -1 1 -1 -1 1 -1 -1 -1 1 -1 -1
1 1 -1 1 -1 -1 1 -1 -1 -1 1 -1 1
1 1 -1 1 -1 -1 1 -1 -1 -1 1 1 -1
1 1 -1 1 -1 -1 1 -1 -1 -1 1 1 1
1 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 -1
1 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1
1 1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1
1 1 -1 1 -1 -1 1 -1 -1 1 -1 1 1
1 1 -1 1 -1 -1 1 -1 -1 1 1 -1 -1
1 1 -1 1 -1 -1 1 -1 -1 1 1 -1 1
1 1 -1 1 -1 -1 1 -1 -1 1 1 1 -1
1 1 -1 1 -1 -1 1 -1 -1 1 1 1 1
1 1 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1
1 1 -1 1 -1 -1 1 -1 1 -1 -1 -1 1
1 1 -1 1 -1 -1 1 -1 1 -1 -1 1 -1
1 1 -1 1 -1 -1 1 -1 1 -1 -1 1 1
1 1 -1 1 -1 -1 1 -1 1 -1 1 -1 -1
1 1 -1 1 -1 -1 1 -1 1 -1 1 -1 1
1 1 -1 1 -1 -1 1 -1 1 -1 1 1 -1
1 1 -1 1 -1 -1 1 -1 1 -1 1 1 1
1 1 -1 1 -1 -1 1 -1 1 1 -1 -1 -1
1 1 -1 1 -1 -1 1 -1 1 1 -1 -1 1
1 1 -1 1 -1 -1 1 -1 1 1 -1 1 -1
1 1 -1 1 -1 -1 1 -1 1 1 -1 1 1
1 1 -1 1 -1 -1 1 -1 1 1 1 -1 -1
1 1 -1 1 -1 -1 1 -1 1 1 1 -1 1
1 1 -1 1 -1 -1 1 -1 1 1 1 1 -1
1 1 -1 1 -1 -1 1 -1 1 1 1 1 1
1 1 -1 1 -1 -1 1 1 -1 -1 -1 -1 -1
1 1 -1 1 -1 -1 1 1 -1 -1 -1 -1 1
1 1 -1 1 -1 -1 1 1 -1 -1 -1 1 -1
1 1 -1 1 -1 -1 1 1 -1 -1 -1 1 1
1 1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1
1 1 -1 1 -1 -1 1 1 -1 -1 1 -1 1
1 1 -1 1 -1 -1 1 1 -1 -1 1 1 -1
1 1 -1 1 -1 -1 1 1 -1 -1 1 1 1
1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 1
1 1 -1 1 -1 -1 1 1 -1 1 -1 1 -1
1 1 -1 1 -1 -1 1 1 -1 1 -1 1 1
1 1 -1 1 -1 -1 1 1 -1 1 1 -1 -1
1 1 -1 1 -1 -1 1 1 -1 1 1 -1 1
1 1 -1 1 -1 -1 1 1 -1 1 1 1 -1
1 1 -1 1 -1 -1 1 1 -1 1 1 1 1
1 1 -1 1 -1 -1 1 1 1 -1 -1 -1 -1
1 1 -1 1 -1 -1 1 1 1 -1 -1 -1 1
1 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1
1 1 -1 1 -1 -1 1 1 1 -1 -1 1 1
1 1 -1 1 -1 -1 1 1 1 -1 1 -1 -1
1 1 -1 1 -1 -1 1 1 1 -1 1 -1 1
1 1 -1 1 -1 -1 1 1 1 -1 1 1 -1
1 1 -1 1 -1 -1 1 1 1 -1 1 1 1
1 1 -1 1 -1 -1 1 1 1 1 -1 -1 -1
1 1 -1 1 -1 -1 1 1 1 1 -1 -1 1
1 1 -1 1 -1 -1 1 1 1 1 -1 1 -1
1 1 -1 1 -1 -1 1 1 1 1 -1 1 1
1 1 -1 1 -1 -1 1 1 1 1 1 -1 -1
1 1 -1 1 -1 -1 1 1 1 1 1 -1 1
1 1 -1 1 -1 -1 1 1 1 1 1 1 -1
1 1 -1 1 -1 -1 1 1 1 1 1 1 1
1 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 1
1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 -1
1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1
1 1 -1 1 -1 1 -1 -1 -1 -1 1 -1 -1
1 1 -1 1 -1 1 -1 -1 -1 -1 1 -1 1
1 1 -1 1 -1 1 -1 -1 -1 -1 1 1 -1
1 1 -1 1 -1 1 -1 -1 -1 -1 1 1 1
1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1
1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 1
1 1 -1 1 -1 1 -1 -1 -1 1 -1 1 -1
1 1 -1 1 -1 1 -1 -1 -1 1 -1 1 1
1 1 -1 1 -1 1 -1 -1 -1 1 1 -1 -1
1 1 -1 1 -1 1 -1 -1 -1 1 1 -1 1
1 1 -1 1 -1 1 -1 -1 -1 1 1 1 -1
1 1 -1 1 -1 1 -1 -1 -1 1 1 1 1
1 1 -1 1 -1 1 -1 -1 1 -1 -1 -1 -1
1 1 -1 1 -1 1 -1 -1 1 -1 -1 -1 1
1 1 -1 1 -1 1 -1 -1 1 -1 -1 1 -1
1 1 -1 1 -1 1 -1 -1 1 -1 -1 1 1
1 1 -1 1 -1 1 -1 -1 1 -1 1 -1 -1
1 1 -1 1 -1 1 -1 -1 1 -1 1 -1 1
1 1 -1 1 -1 1 -1 -1 1 -1 1 1 -1
1 1 -1 1 -1 1 -1 -1 1 -1 1 1 1
1 1 -1 1 -1 1 -1 -1 1 1 -1 -1 -1
1 1 -1 1 -1 1 -1 -1 1 1 -1 -1 1
1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1
1 1 -1 1 -1 1 -1 -1 1 1 -1 1 1
1 1 -1 1 -1 1 -1 -1 1 1 1 -1 -1
1 1 -1 1 -1 1 -1 -1 1 1 1 -1 1
1 1 -1 1 -1 1 -1 -1 1 1 1 1 -1
1 1 -1 1 -1 1 -1 -1 1 1 1 1 1
1 1 -1 1 -1 1 -1 1 -1 -1 -1 -1 -1
1 1 -1 1 -1 1 -1 1 -1 -1 -1 -1 1
1 1 -1 1 -1 1 -1 1 -1 -1 -1 1 -1
1 1 -1 1 -1 1 -1 1 -1 -1 -1 1 1
1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 -1
1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1
1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1
1 1 -1 1 -1 1 -1 1 -1 -1 1 1 1
1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 -1
1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 1
1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1
1 1 -1 1 -1 1 -1 1 -1 1 -1 1 1
1 1 -1 1 -1 1 -1 1 -1 1 1 -1 -1
1 1 -1 1 -1 1 -1 1 -1 1 1 -1 1
1 1 -1 1 -1 1 -1 1 -1 1 1 1 -1
1 1 -1 1 -1 1 -1 1 -1 1 1 1 1
1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 -1
1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 1
1 1 -1 1 -1 1 -1 1 1 -1 -1 1 -1
1 1 -1 1 -1 1 -1 1 1 -1 -1 1 1
1 1 -1 1 -1 1 -1 1 1 -1 1 -1 -1
1 1 -1 1 -1 1 -1 1 1 -1 1 -1 1
1 1 -1 1 -1 1 -1 1 1 -1 1 1 -1
1 1 -1 1 -1 1 -1 1 1 -1 1 1 1
1 1 -1 1 -1 1 -1 1 1 1 -1 -1 -1
1 1 -1 1 -1 1 -1 1 1 1 -1 -1 1
1 1 -1 1 -1 1 -1 1 1 1 -1 1 -1
1 1 -1 1 -1 1 -1 1 1 1 -1 1 1
1 1 -1 1 -1 1 -1 1 1 1 1 -1 -1
1 1 -1 1 -1 1 -1 1 1 1 1 -1 1
1 1 -1 1 -1 1 -1 1 1 1 1 1 -1
1 1 -1 1 -1 1 -1 1 1 1 1 1 1
1 1 -1 1 -1 1 1 -1 -1 -1 -1 -1 -1
1 1 -1 1 -1 1 1 -1 -1 -1 -1 -1 1
1 1 -1 1 -1 1 1 -1 -1 -1 -1 1 -1
1 1 -1 1 -1 1 1 -1 -1 -1 -1 1 1
1 1 -1 1 -1 1 1 -1 -1 -1 1 -1 -1
1 1 -1 1 -1 1 1 -1 -1 -1 1 -1 1
1 1 -1 1 -1 1 1 -1 -1 -1 1 1 -1
1 1 -1 1 -1 1 1 -1 -1 -1 1 1 1
1 1 -1 1 -1 1 1 -1 -1 1 -1 -1 -1
1 1 -1 1 -1 1 1 -1 -1 1 -1 -1 1
1 1 -1 1 -1 1 1 -1 -1 1 -1 1 -1
1 1 -1 1 -1 1 1 -1 -1 1 -1 1 1
1 1 -1 1 -1 1 1 -1 -1 1 1 -1 -1
1 1 -1 1 -1 1 1 -1 -1 1 1 -1 1
1 1 -1 1 -1 1 1 -1 -1 1 1 1 -1
1 1 -1 1 -1 1 1 -1 -1 1 1 1 1
1 1 -1 1 -1 1 1 -1 1 -1 -1 -1 -1
1 1 -1 1 -1 1 1 -1 1 -1 -1 -1 1
1 1 -1 1 -1 1 1 -1 1 -1 -1 1 -1
1 1 -1 1 -1 1 1 -1 1 -1 -1 1 1
1 1 -1 1 -1 1 1 -1 1 -1 1 -1 -1
1 1 -1 1 -1 1 1 -1 1 -1 1 -1 1
1 1 -1 1 -1 1 1 -1 1 -1 1 1 -1
1 1 -1 1 -1 1 1 -1 1 -1 1 1 1
1 1 -1 1 -1 1 1 -1 1 1 -1 -1 -1
1 1 -1 1 -1 1 1 -1 1 1 -1 -1 1
1 1 -1 1 -1 1 1 -1 1 1 -1 1 -1
1 1 -1 1 -1 1 1 -1 1 1 -1 1 1
1 1 -1 1 -1 1 1 -1 1 1 1 -1 -1
1 1 -1 1 -1 1 1 -1 1 1 1 -1 1
1 1 -1 1 -1 1 1 -1 1 1 1 1 -1
1 1 -1 1 -1 1 1 -1 1 1 1 1 1
1 1 -1 1 -1 1 1 1 -1 -1 -1 -1 -1
1 1 -1 1 -1 1 1 1 -1 -1 -1 -1 1
1 1 -1 1 -1 1 1 1 -1 -1 -1 1 -1
1 1 -1 1 -1 1 1 1 -1 -1 -1 1 1
1 1 -1 1 -1 1 1 1 -1 -1 1 -1 -1
1 1 -1 1 -1 1 1 1 -1 -1 1 -1 1
1 1 -1 1 -1 1 1 1 -1 -1 1 1 -1
1 1 -1 1 -1 1 1 1 -1 -1 1 1 1
1 1 -1 1 -1 1 1 1 -1 1 -1 -1 -1
1 1 -1 1 -1 1 1 1 -1 1 -1 -1 1
1 1 -1 1 -1 1 1 1 -1 1 -1 1 -1
1 1 -1 1 -1 1 1 1 -1 1 -1 1 1
1 1 -1 1 -1 1 1 1 -1 1 1 -1 -1
1 1 -1 1 -1 1 1 1 -1 1 1 -1 1
1 1 -1 1 -1 1 1 1 -1 1 1 1 -1
1 1 -1 1 -1 1 1 1 -1 1 1 1 1
1 1 -1 1 -1 1 1 1 1 -1 -1 -1 -1
1 1 -1 1 -1 1 1 1 1 -1 -1 -1 1
1 1 -1 1 -1 1 1 1 1 -1 -1 1 -1
1 1 -1 1 -1 1 1 1 1 -1 -1 1 1
1 1 -1 1 -1 1 1 1 1 -1 1 -1 -1
1 1 -1 1 -1 1 1 1 1 -1 1 -1 1
1 1 -1 1 -1 1 1 1 1 -1 1 1 -1
1 1 -1 1 -1 1 1 1 1 -1 1 1 1
1 1 -1 1 -1 1 1 1 1 1 -1 -1 -1
1 1 -1 1 -1 1 1 1 1 1 -1 -1 1
1 1 -1 1 -1 1 1 1 1 1 -1 1 -1
1 1 -1 1 -1 1 1 1 1 1 -1 1 1
1 1 -1 1 -1 1 1 1 1 1 1 -1 -1
1 1 -1 1 -1 1 1 1 1 1 1 -1 1
1 1 -1 1 -1 1 1 1 1 1 1 1 -1
1 1 -1 1 -1 1 1 1 1 1 1 1 1
1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 1
1 1 -1 1 1 -1 -1 -1 -1 -1 -1 1 -1
1 1 -1 1 1 -1 -1 -1 -1 -1 -1 1 1
1 1 -1 1 1 -1 -1 -1 -1 -1 1 -1 -1
1 1 -1 1 1 -1 -1 -1 -1 -1 1 -1 1
1 1 -1 1 1 -1 -1 -1 -1 -1 1 1 -1
1 1 -1 1 1 -1 -1 -1 -1 -1 1 1 1
1 1 -1 1 1 -1 -1 -1 -1 1 -1 -1 -1
1 1 -1 1 1 -1 -1 -1 -1 1 -1 -1 1
1 1 -1 1 1 -1 -1 -1 -1 1 -1 1 -1
1 1 -1 1 1 -1 -1 -1 -1 1 -1 1 1
1 1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1
1 1 -1 1 1 -1 -1 -1 -1 1 1 -1 1
1 1 -1 1 1 -1 -1 -1 -1 1 1 1 -1
1 1 -1 1 1 -1 -1 -1 -1 1 1 1 1
1 1 -1 1 1 -1 -1 -1 1 -1 -1 -1 -1
1 1 -1 1 1 -1 -1 -1 1 -1 -1 -1 1
1 1 -1 1 1 -1 -1 -1 1 -1 -1 1 -1
1 1 -1 1 1 -1 -1 -1 1 -1 -1 1 1
1 1 -1 1 1 -1 -1 -1 1 -1 1 -1 -1
1 1 -1 1 1 -1 -1 -1 1 -1 1 -1 1
1 1 -1 1 1 -1 -1 -1 1 -1 1 1 -1
1 1 -1 1 1 -1 -1 -1 1 -1 1 1 1
1 1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1
1 1 -1 1 1 -1 -1 -1 1 1 -1 -1 1
1 1 -1 1 1 -1 -1 -1 1 1 -1 1 -1
1 1 -1 1 1 -1 -1 -1 1 1 -1 1 1
1 1 -1 1 1 -1 -1 -1 1 1 1 -1 -1
1 1 -1 1 1 -1 -1 -1 1 1 1 -1 1
1 1 -1 1 1 -1 -1 -1 1 1 1 1 -1
1 1 -1 1 1 -1 -1 -1 1 1 1 1 1
1 1 -1 1 1 -1 -1 1 -1 -1 -1 -1 -1
1 1 -1 1 1 -1 -1 1 -1 -1 -1 -1 1
1 1 -1 1 1 -1 -1 1 -1 -1 -1 1 -1
1 1 -1 1 1 -1 -1 1 -1 -1 -1 1 1
1 1 -1 1 1 -1 -1 1 -1 -1 1 -1 -1
1 1 -1 1 1 -1 -1 1 -1 -1 1 -1 1
1 1 -1 1 1 -1 -1 1 -1 -1 1 1 -1
1 1 -1 1 1 -1 -1 1 -1 -1 1 1 1
1 1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1
1 1 -1 1 1 -1 -1 1 -1 1 -1 -1 1
1 1 -1 1 1 -1 -1 1 -1 1 -1 1 -1
1 1 -1 1 1 -1 -1 1 -1 1 -1 1 1
1 1 -1 1 1 -1 -1 1 -1 1 1 -1 -1
1 1 -1 1 1 -1 -1 1 -1 1 1 -1 1
1 1 -1 1 1 -1 -1 1 -1 1 1 1 -1
1 1 -1 1 1 -1 -1 1 -1 1 1 1 1
1 1 -1 1 1 -1 -1 1 1 -1 -1 -1 -1
1 1 -1 1 1 -1 -1 1 1 -1 -1 -1 1
1 1 -1 1 1 -1 -1 1 1 -1 -1 1 -1
1 1 -1 1 1 -1 -1 1 1 -1 -1 1 1
1 1 -1 1 1 -1 -1 1 1 -1 1 -1 -1
1 1 -1 1 1 -1 -1 1 1 -1 1 -1 1
1 1 -1 1 1 -1 -1 1 1 -1 1 1 -1
1 1 -1 1 1 -1 -1 1 1 -1 1 1 1
1 1 -1 1 1 -1 -1 1 1 1 -1 -1 -1
1 1 -1 1 1 -1 -1 1 1 1 -1 -1 1
1 1 -1 1 1 -1 -1 1 1 1 -1 1 -1
1 1 -1 1 1 -1 -1 1 1 1 -1 1 1
1 1 -1 1 1 -1 -1 1 1 1 1 -1 -1
1 1 -1 1 1 -1 -1 1 1 1 1 -1 1
1 1 -1 1 1 -1 -1 1 1 1 1 1 -1
1 1 -1 1 1 -1 -1 1 1 1 1 1 1
1 1 -1 1 1 -1 1 -1 -1 -1 -1 -1 -1
1 1 -1 1 1 -1 1 -1 -1 -1 -1 -1 1
1 1 -1 1 1 -1 1 -1 -1 -1 -1 1 -1
1 1 -1 1 1 -1 1 -1 -1 -1 -1 1 1
1 1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1
1 1 -1 1 1 -1 1 -1 -1 -1 1 -1 1
1 1 -1 1 1 -1 1 -1 -1 -1 1 1 -1
1 1 -1 1 1 -1 1 -1 -1 -1 1 1 1
1 1 -1 1 1 -1 1 -1 -1 1 -1 -1 -1
1 1 -1 1 1 -1 1 -1 -1 1 -1 -1 1
1 1 -1 1 1 -1 1 -1 -1 1 -1 1 -1
1 1 -1 1 1 -1 1 -1 -1 1 -1 1 1
1 1 -1 1 1 -1 1 -1 -1 1 1 -1 -1
1 1 -1 1 1 -1 1 -1 -1 1 1 -1 1
1 1 -1 1 1 -1 1 -1 -1 1 1 1 -1
1 1 -1 1 1 -1 1 -1 -1 1 1 1 1
1 1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1
1 1 -1 1 1 -1 1 -1 1 -1 -1 -1 1
1 1 -1 1 1 -1 1 -1 1 -1 -1 1 -1
1 1 -1 1 1 -1 1 -1 1 -1 -1 1 1
1 1 -1 1 1 -1 1 -1 1 -1 1 -1 -1
1 1 -1 1 1 -1 1 -1 1 -1 1 -1 1
1 1 -1 1 1 -1 1 -1 1 -1 1 1 -1
1 1 -1 1 1 -1 1 -1 1 -1 1 1 1
1 1 -1 1 1 -1 1 -1 1 1 -1 -1 -1
1 1 -1 1 1 -1 1 -1 1 1 -1 -1 1
1 1 -1 1 1 -1 1 -1 1 1 -1 1 -1
1 1 -1 1 1 -1 1 -1 1 1 -1 1 1
1 1 -1 1 1 -1 1 -1 1 1 1 -1 -1
1 1 -1 1 1 -1 1 -1 1 1 1 -1 1
1 1 -1 1 1 -1 1 -1 1 1 1 1 -1
1 1 -1 1 1 -1 1 -1 1 1 1 1 1
1 1 -1 1 1 -1 1 1 -1 -1 -1 -1 -1
1 1 -1 1 1 -1 1 1 -1 -1 -1 -1 1
1 1 -1 1 1 -1 1 1 -1 -1 -1 1 -1
1 1 -1 1 1 -1 1 1 -1 -1 -1 1 1
1 1 -1 1 1 -1 1 1 -1 -1 1 -1 -1
1 1 -1 1 1 -1 1 1 -1 -1 1 -1 1
1 1 -1 1 1 -1 1 1 -1 -1 1 1 -1
1 1 -1 1 1 -1 1 1 -1 -1 1 1 1
1 1 -1 1 1 -1 1 1 -1 1 -1 -1 -1
1 1 -1 1 1 -1 1 1 -1 1 -1 -1 1
1 1 -1 1 1 -1 1 1 -1 1 -1 1 -1
1 1 -1 1 1 -1 1 1 -1 1 -1 1 1
1 1 -1 1 1 -1 1 1 -1 1 1 -1 -1
1 1 -1 1 1 -1 1 1 -1 1 1 -1 1
1 1 -1 1 1 -1 1 1 -1 1 1 1 -1
1 1 -1 1 1 -1 1 1 -1 1 1 1 1
1 1 -1 1 1 -1 1 1 1 -1 -1 -1 -1
1 1 -1 1 1 -1 1 1 1 -1 -1 -1 1
1 1 -1 1 1 -1 1 1 1 -1 -1 1 -1
1 1 -1 1 1 -1 1 1 1 -1 -1 1 1
1 1 -1 1 1 -1 1 1 1 -1 1 -1 -1
1 1 -1 1 1 -1 1 1 1 -1 1 -1 1
1 1 -1 1 1 -1 1 1 1 -1 1 1 -1
1 1 -1 1 1 -1 1 1 1 -1 1 1 1
1 1 -1 1 1 -1 1 1 1 1 -1 -1 -1
1 1 -1 1 1 -1 1 1 1 1 -1 -1 1
1 1 -1 1 1 -1 1 1 1 1 -1 1 -1
1 1 -1 1 1 -1 1 1 1 1 -1 1 1
1 1 -1 1 1 -1 1 1 1 1 1 -1 -1
1 1 -1 1 1 -1 1 1 1 1 1 -1 1
1 1 -1 1 1 -1 1 1 1 1 1 1 -1
1 1 -1 1 1 -1 1 1 1 1 1 1 1
1 1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1
1 1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1
1 1 -1 1 1 1 -1 -1 -1 -1 -1 1 1
1 1 -1 1 1 1 -1 -1 -1 -1 1 -1 -1
1 1 -1 1 1 1 -1 -1 -1 -1 1 -1 1
1 1 -1 1 1 1 -1 -1 -1 -1 1 1 -1
1 1 -1 1 1 1 -1 -1 -1 -1 1 1 1
1 1 -1 1 1 1 -1 -1 -1 1 -1 -1 -1
1 1 -1 1 1 1 -1 -1 -1 1 -1 -1 1
1 1 -1 1 1 1 -1 -1 -1 1 -1 1 -1
1 1 -1 1 1 1 -1 -1 -1 1 -1 1 1
1 1 -1 1 1 1 -1 -1 -1 1 1 -1 -1
1 1 -1 1 1 1 -1 -1 -1 1 1 -1 1
1 1 -1 1 1 1 -1 -1 -1 1 1 1 -1
1 1 -1 1 1 1 -1 -1 -1 1 1 1 1
1 1 -1 1 1 1 -1 -1 1 -1 -1 -1 -1
1 1 -1 1 1 1 -1 -1 1 -1 -1 -1 1
1 1 -1 1 1 1 -1 -1 1 -1 -1 1 -1
1 1 -1 1 1 1 -1 -1 1 -1 -1 1 1
1 1 -1 1 1 1 -1 -1 1 -1 1 -1 -1
1 1 -1 1 1 1 -1 -1 1 -1 1 -1 1
1 1 -1 1 1 1 -1 -1 1 -1 1 1 -1
1 1 -1 1 1 1 -1 -1 1 -1 1 1 1
1 1 -1 1 1 1 -1 -1 1 1 -1 -1 -1
1 1 -1 1 1 1 -1 -1 1 1 -1 -1 1
1 1 -1 1 1 1 -1 -1 1 1 -1 1 -1
1 1 -1 1 1 1 -1 -1 1 1 -1 1 1
1 1 -1 1 1 1 -1 -1 1 1 1 -1 -1
1 1 -1 1 1 1 -1 -1 1 1 1 -1 1
1 1 -1 1 1 1 -1 -1 1 1 1 1 -1
1 1 -1 1 1 1 -1 -1 1 1 1 1 1
1 1 -1 1 1 1 -1 1 -1 -1 -1 -1 -1
1 1 -1 1 1 1 -1 1 -1 -1 -1 -1 1
1 1 -1 1 1 1 -1 1 -1 -1 -1 1 -1
1 1 -1 1 1 1 -1 1 -1 -1 -1 1 1
1 1 -1 1 1 1 -1 1 -1 -1 1 -1 -1
1 1 -1 1 1 1 -1 1 -1 -1 1 -1 1
1 1 -1 1 1 1 -1 1 -1 -1 1 1 -1
1 1 -1 1 1 1 -1 1 -1 -1 1 1 1
1 1 -1 1 1 1 -1 1 -1 1 -1 -1 -1
1 1 -1 1 1 1 -1 1 -1 1 -1 -1 1
1 1 -1 1 1 1 -1 1 -1 1 -1 1 -1
1 1 -1 1 1 1 -1 1 -1 1 -1 1 1
1 1 -1 1 1 1 -1 1 -1 1 1 -1 -1
1 1 -1 1 1 1 -1 1 -1 1 1 -1 1
1 1 -1 1 1 1 -1 1 -1 1 1 1 -1
1 1 -1 1 1 1 -1 1 -1 1 1 1 1
1 1 -1 1 1 1 -1 1 1 -1 -1 -1 -1
1 1 -1 1 1 1 -1 1 1 -1 -1 -1 1
1 1 -1 1 1 1 -1 1 1 -1 -1 1 -1
1 1 -1 1 1 1 -1 1 1 -1 -1 1 1
1 1 -1 1 1 1 -1 1 1 -1 1 -1 -1
1 1 -1 1 1 1 -1 1 1 -1 1 -1 1
1 1 -1 1 1 1 -1 1 1 -1 1 1 -1
1 1 -1 1 1 1 -1 1 1 -1 1 1 1
1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1
1 1 -1 1 1 1 -1 1 1 1 -1 -1 1
1 1 -1 1 1 1 -1 1 1 1 -1 1 -1
1 1 -1 1 1 1 -1 1 1 1 -1 1 1
1 1 -1 1 1 1 -1 1 1 1 1 -1 -1
1 1 -1 1 1 1 -1 1 1 1 1 -1 1
1 1 -1 1 1 1 -1 1 1 1 1 1 -1
1 1 -1 1 1 1 -1 1 1 1 1 1 1
1 1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1
1 1 -1 1 1 1 1 -1 -1 -1 -1 -1 1
1 1 -1 1 1 1 1 -1 -1 -1 -1 1 -1
1 1 -1 1 1 1 1 -1 -1 -1 -1 1 1
1 1 -1 1 1 1 1 -1 -1 -1 1 -1 -1
1 1 -1 1 1 1 1 -1 -1 -1 1 -1 1
1 1 -1 1 1 1 1 -1 -1 -1 1 1 -1
1 1 -1 1 1 1 1 -1 -1 -1 1 1 1
1 1 -1 1 1 1 1 -1 -1 1 -1 -1 -1
1 1 -1 1 1 1 1 -1 -1 1 -1 -1 1
1 1 -1 1 1 1 1 -1 -1 1 -1 1 -1
1 1 -1 1 1 1 1 -1 -1 1 -1 1 1
1 1 -1 1 1 1 1 -1 -1 1 1 -1 -1
1 1 -1 1 1 1 1 -1 -1 1 1 -1 1
1 1 -1 1 1 1 1 -1 -1 1 1 1 -1
1 1 -1 1 1 1 1 -1 -1 1 1 1 1
1 1 -1 1 1 1 1 -1 1 -1 -1 -1 -1
1 1 -1 1 1 1 1 -1 1 -1 -1 -1 1
1 1 -1 1 1 1 1 -1 1 -1 -1 1 -1
1 1 -1 1 1 1 1 -1 1 -1 -1 1 1
1 1 -1 1 1 1 1 -1 1 -1 1 -1 -1
1 1 -1 1 1 1 1 -1 1 -1 1 -1 1
1 1 -1 1 1 1 1 -1 1 -1 1 1 -1
1 1 -1 1 1 1 1 -1 1 -1 1 1 1
1 1 -1 1 1 1 1 -1 1 1 -1 -1 -1
1 1 -1 1 1 1 1 -1 1 1 -1 -1 1
1 1 -1 1 1 1 1 -1 1 1 -1 1 -1
1 1 -1 1 1 1 1 -1 1 1 -1 1 1
1 1 -1 1 1 1 1 -1 1 1 1 -1 -1
1 1 -1 1 1 1 1 -1 1 1 1 -1 1
1 1 -1 1 1 1 1 -1 1 1 1 1 -1
1 1 -1 1 1 1 1 -1 1 1 1 1 1
1 1 -1 1 1 1 1 1 -1 -1 -1 -1 -1
1 1 -1 1 1 1 1 1 -1 -1 -1 -1 1
1 1 -1 1 1 1 1 1 -1 -1 -1 1 -1
1 1 -1 1 1 1 1 1 -1 -1 -1 1 1
1 1 -1 1 1 1 1 1 -1 -1 1 -1 -1
1 1 -1 1 1 1 1 1 -1 -1 1 -1 1
1 1 -1 1 1 1 1 1 -1 -1 1 1 -1
1 1 -1 1 1 1 1 1 -1 -1 1 1 1
1 1 -1 1 1 1 1 1 -1 1 -1 -1 -1
1 1 -1 1 1 1 1 1 -1 1 -1 -1 1
1 1 -1 1 1 1 1 1 -1 1 -1 1 -1
1 1 -1 1 1 1 1 1 -1 1 -1 1 1
1 1 -1 1 1 1 1 1 -1 1 1 -1 -1
1 1 -1 1 1 1 1 1 -1 1 1 -1 1
1 1 -1 1 1 1 1 1 -1 1 1 1 -1
1 1 -1 1 1 1 1 1 -1 1 1 1 1
1 1 -1 1 1 1 1 1 1 -1 -1 -1 -1
1 1 -1 1 1 1 1 1 1 -1 -1 -1 1
1 1 -1 1 1 1 1 1 1 -1 -1 1 -1
1 1 -1 1 1 1 1 1 1 -1 -1 1 1
1 1 -1 1 1 1 1 1 1 -1 1 -1 -1
1 1 -1 1 1 1 1 1 1 -1 1 -1 1
1 1 -1 1 1 1 1 1 1 -1 1 1 -1
1 1 -1 1 1 1 1 1 1 -1 1 1 1
1 1 -1 1 1 1 1 1 1 1 -1 -1 -1
1 1 -1 1 1 1 1 1 1 1 -1 -1 1
1 1 -1 1 1 1 1 1 1 1 -1 1 -1
1 1 -1 1 1 1 1 1 1 1 -1 1 1
1 1 -1 1 1 1 1 1 1 1 1 -1 -1
1 1 -1 1 1 1 1 1 1 1 1 -1 1
1 1 -1 1 1 1 1 1 1 1 1 1 -1
1 1 -1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1
1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1
1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1
1 1 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1
1 1 1 1 -1 -1 -1 -1 -1 -1 1 -1 1
1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 -1
1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1
1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1
1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 1
1 1 1 1 -1 -1 -1 -1 -1 1 -1 1 -1
1 1 1 1 -1 -1 -1 -1 -1 1 -1 1 1
1 1 1 1 -1 -1 -1 -1 -1 1 1 -1 -1
1 1 1 1 -1 -1 -1 -1 -1 1 1 -1 1
1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1
1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1
1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1
1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 1
1 1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1
1 1 1 1 -1 -1 -1 -1 1 -1 -1 1 1
1 1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1
1 1 1 1 -1 -1 -1 -1 1 -1 1 -1 1
1 1 1 1 -1 -1 -1 -1 1 -1 1 1 -1
1 1 1 1 -1 -1 -1 -1 1 -1 1 1 1
1 1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1
1 1 1 1 -1 -1 -1 -1 1 1 -1 -1 1
1 1 1 1 -1 -1 -1 -1 1 1 -1 1 -1
1 1 1 1 -1 -1 -1 -1 1 1 -1 1 1
1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1
1 1 1 1 -1 -1 -1 -1 1 1 1 -1 1
1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1
1 1 1 1 -1 -1 -1 -1 1 1 1 1 1
1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1
1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1
1 1 1 1 -1 -1 -1 1 -1 -1 -1 1 -1
1 1 1 1 -1 -1 -1 1 -1 -1 -1 1 1
1 1 1 1 -1 -1 -1 1 -1 -1 1 -1 -1
1 1 1 1 -1 -1 -1 1 -1 -1 1 -1 1
1 1 1 1 -1 -1 -1 1 -1 -1 1 1 -1
1 1 1 1 -1 -1 -1 1 -1 -1 1 1 1
1 1 1 1 -1 -1 -1 1 -1 1 -1 -1 -1
1 1 1 1 -1 -1 -1 1 -1 1 -1 -1 1
1 1 1 1 -1 -1 -1 1 -1 1 -1 1 -1
1 1 1 1 -1 -1 -1 1 -1 1 -1 1 1
1 1 1 1 -1 -1 -1 1 -1 1 1 -1 -1
1 1 1 1 -1 -1 -1 1 -1 1 1 -1 1
1 1 1 1 -1 -1 -1 1 -1 1 1 1 -1
1 1 1 1 -1 -1 -1 1 -1 1 1 1 1
1 1 1 1 -1 -1 -1 1 1 -1 -1 -1 -1
1 1 1 1 -1 -1 -1 1 1 -1 -1 -1 1
1 1 1 1 -1 -1 -1 1 1 -1 -1 1 -1
1 1 1 1 -1 -1 -1 1 1 -1 -1 1 1
1 1 1 1 -1 -1 -1 1 1 -1 1 -1 -1
1 1 1 1 -1 -1 -1 1 1 -1 1 -1 1
1 1 1 1 -1 -1 -1 1 1 -1 1 1 -1
1 1 1 1 -1 -1 -1 1 1 -1 1 1 1
1 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1
1 1 1 1 -1 -1 -1 1 1 1 -1 -1 1
1 1 1 1 -1 -1 -1 1 1 1 -1 1 -1
1 1 1 1 -1 -1 -1 1 1 1 -1 1 1
1 1 1 1 -1 -1 -1 1 1 1 1 -1 -1
1 1 1 1 -1 -1 -1 1 1 1 1 -1 1
1 1 1 1 -1 -1 -1 1 1 1 1 1 -1
1 1 1 1 -1 -1 -1 1 1 1 1 1 1
1 1 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 1 1 1 -1 -1 1 -1 -1 -1 -1 -1 1
1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1
1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 1
1 1 1 1 -1 -1 1 -1 -1 -1 1 -1 -1
1 1 1 1 -1 -1 1 -1 -1 -1 1 -1 1
1 1 1 1 -1 -1 1 -1 -1 -1 1 1 -1
1 1 1 1 -1 -1 1 -1 -1 -1 1 1 1
1 1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1
1 1 1 1 -1 -1 1 -1 -1 1 -1 -1 1
1 1 1 1 -1 -1 1 -1 -1 1 -1 1 -1
1 1 1 1 -1 -1 1 -1 -1 1 -1 1 1
1 1 1 1 -1 -1 1 -1 -1 1 1 -1 -1
1 1 1 1 -1 -1 1 -1 -1 1 1 -1 1
1 1 1 1 -1 -1 1 -1 -1 1 1 1 -1
1 1 1 1 -1 -1 1 -1 -1 1 1 1 1
1 1 1 1 -1 -1 1 -1 1 -1 -1 -1 -1
1 1 1 1 -1 -1 1 -1 1 -1 -1 -1 1
1 1 1 1 -1 -1 1 -1 1 -1 -1 1 -1
1 1 1 1 -1 -1 1 -1 1 -1 -1 1 1
1 1 1 1 -1 -1 1 -1 1 -1 1 -1 -1
1 1 1 1 -1 -1 1 -1 1 -1 1 -1 1
1 1 1 1 -1 -1 1 -1 1 -1 1 1 -1
1 1 1 1 -1 -1 1 -1 1 -1 1 1 1
1 1 1 1 -1 -1 1 -1 1 1 -1 -1 -1
1 1 1 1 -1 -1 1 -1 1 1 -1 -1 1
1 1 1 1 -1 -1 1 -1 1 1 -1 1 -1
1 1 1 1 -1 -1 1 -1 1 1 -1 1 1
1 1 1 1 -1 -1 1 -1 1 1 1 -1 -1
1 1 1 1 -1 -1 1 -1 1 1 1 -1 1
1 1 1 1 -1 -1 1 -1 1 1 1 1 -1
1 1 1 1 -1 -1 1 -1 1 1 1 1 1
1 1 1 1 -1 -1 1 1 -1 -1 -1 -1 -1
1 1 1 1 -1 -1 1 1 -1 -1 -1 -1 1
1 1 1 1 -1 -1 1 1 -1 -1 -1 1 -1
1 1 1 1 -1 -1 1 1 -1 -1 -1 1 1
1 1 1 1 -1 -1 1 1 -1 -1 1 -1 -1
1 1 1 1 -1 -1 1 1 -1 -1 1 -1 1
1 1 1 1 -1 -1 1 1 -1 -1 1 1 -1
1 1 1 1 -1 -1 1 1 -1 -1 1 1 1
1 1 1 1 -1 -1 1 1 -1 1 -1 -1 -1
1 1 1 1 -1 -1 1 1 -1 1 -1 -1 1
1 1 1 1 -1 -1 1 1 -1 1 -1 1 -1
1 1 1 1 -1 -1 1 1 -1 1 -1 1 1
1 1 1 1 -1 -1 1 1 -1 1 1 -1 -1
1 1 1 1 -1 -1 1 1 -1 1 1 -1 1
1 1 1 1 -1 -1 1 1 -1 1 1 1 -1
1 1 1 1 -1 -1 1 1 -1 1 1 1 1
1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1
1 1 1 1 -1 -1 1 1 1 -1 -1 -1 1
1 1 1 1 -1 -1 1 1 1 -1 -1 1 -1
1 1 1 1 -1 -1 1 1 1 -1 -1 1 1
1 1 1 1 -1 -1 1 1 1 -1 1 -1 -1
1 1 1 1 -1 -1 1 1 1 -1 1 -1 1
1 1 1 1 -1 -1 1 1 1 -1 1 1 -1
1 1 1 1 -1 -1 1 1 1 -1 1 1 1
1 1 1 1 -1 -1 1 1 1 1 -1 -1 -1
1 1 1 1 -1 -1 1 1 1 1 -1 -1 1
1 1 1 1 -1 -1 1 1 1 1 -1 1 -1
1 1 1 1 -1 -1 1 1 1 1 -1 1 1
1 1 1 1 -1 -1 1 1 1 1 1 -1 -1
1 1 1 1 -1 -1 1 1 1 1 1 -1 1
1 1 1 1 -1 -1 1 1 1 1 1 1 -1
1 1 1 1 -1 -1 1 1 1 1 1 1 1
1 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1
1 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 1
1 1 1 1 -1 1 -1 -1 -1 -1 -1 1 -1
1 1 1 1 -1 1 -1 -1 -1 -1 -1 1 1
1 1 1 1 -1 1 -1 -1 -1 -1 1 -1 -1
1 1 1 1 -1 1 -1 -1 -1 -1 1 -1 1
1 1 1 1 -1 1 -1 -1 -1 -1 1 1 -1
1 1 1 1 -1 1 -1 -1 -1 -1 1 1 1
1 1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1
1 1 1 1 -1 1 -1 -1 -1 1 -1 -1 1
1 1 1 1 -1 1 -1 -1 -1 1 -1 1 -1
1 1 1 1 -1 1 -1 -1 -1 1 -1 1 1
1 1 1 1 -1 1 -1 -1 -1 1 1 -1 -1
1 1 1 1 -1 1 -1 -1 -1 1 1 -1 1
1 1 1 1 -1 1 -1 -1 -1 1 1 1 -1
1 1 1 1 -1 1 -1 -1 -1 1 1 1 1
1 1 1 1 -1 1 -1 -1 1 -1 -1 -1 -1
1 1 1 1 -1 1 -1 -1 1 -1 -1 -1 1
1 1 1 1 -1 1 -1 -1 1 -1 -1 1 -1
1 1 1 1 -1 1 -1 -1 1 -1 -1 1 1
1 1 1 1 -1 1 -1 -1 1 -1 1 -1 -1
1 1 1 1 -1 1 -1 -1 1 -1 1 -1 1
1 1 1 1 -1 1 -1 -1 1 -1 1 1 -1
1 1 1 1 -1 1 -1 -1 1 -1 1 1 1
1 1 1 1 -1 1 -1 -1 1 1 -1 -1 -1
1 1 1 1 -1 1 -1 -1 1 1 -1 -1 1
1 1 1 1 -1 1 -1 -1 1 1 -1 1 -1
1 1 1 1 -1 1 -1 -1 1 1 -1 1 1
1 1 1 1 -1 1 -1 -1 1 1 1 -1 -1
1 1 1 1 -1 1 -1 -1 1 1 1 -1 1
1 1 1 1 -1 1 -1 -1 1 1 1 1 -1
1 1 1 1 -1 1 -1 -1 1 1 1 1 1
1 1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1
1 1 1 1 -1 1 -1 1 -1 -1 -1 -1 1
1 1 1 1 -1 1 -1 1 -1 -1 -1 1 -1
1 1 1 1 -1 1 -1 1 -1 -1 -1 1 1
1 1 1 1 -1 1 -1 1 -1 -1 1 -1 -1
1 1 1 1 -1 1 -1 1 -1 -1 1 -1 1
1 1 1 1 -1 1 -1 1 -1 -1 1 1 -1
1 1 1 1 -1 1 -1 1 -1 -1 1 1 1
1 1 1 1 -1 1 -1 1 -1 1 -1 -1 -1
1 1 1 1 -1 1 -1 1 -1 1 -1 -1 1
1 1 1 1 -1 1 -1 1 -1 1 -1 1 -1
1 1 1 1 -1 1 -1 1 -1 1 -1 1 1
1 1 1 1 -1 1 -1 1 -1 1 1 -1 -1
1 1 1 1 -1 1 -1 1 -1 1 1 -1 1
1 1 1 1 -1 1 -1 1 -1 1 1 1 -1
1 1 1 1 -1 1 -1 1 -1 1 1 1 1
1 1 1 1 -1 1 -1 1 1 -1 -1 -1 -1
1 1 1 1 -1 1 -1 1 1 -1 -1 -1 1
1 1 1 1 -1 1 -1 1 1 -1 -1 1 -1
1 1 1 1 -1 1 -1 1 1 -1 -1 1 1
1 1 1 1 -1 1 -1 1 1 -1 1 -1 -1
1 1 1 1 -1 1 -1 1 1 -1 1 -1 1
1 1 1 1 -1 1 -1 1 1 -1 1 1 -1
1 1 1 1 -1 1 -1 1 1 -1 1 1 1
1 1 1 1 -1 1 -1 1 1 1 -1 -1 -1
1 1 1 1 -1 1 -1 1 1 1 -1 -1 1
1 1 1 1 -1 1 -1 1 1 1 -1 1 -1
1 1 1 1 -1 1 -1 1 1 1 -1 1 1
1 1 1 1 -1 1 -1 1 1 1 1 -1 -1
1 1 1 1 -1 1 -1 1 1 1 1 -1 1
1 1 1 1 -1 1 -1 1 1 1 1 1 -1
1 1 1 1 -1 1 -1 1 1 1 1 1 1
1 1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1
1 1 1 1 -1 1 1 -1 -1 -1 -1 -1 1
1 1 1 1 -1 1 1 -1 -1 -1 -1 1 -1
1 1 1 1 -1 1 1 -1 -1 -1 -1 1 1
1 1 1 1 -1 1 1 -1 -1 -1 1 -1 -1
1 1 1 1 -1 1 1 -1 -1 -1 1 -1 1
1 1 1 1 -1 1 1 -1 -1 -1 1 1 -1
1 1 1 1 -1 1 1 -1 -1 -1 1 1 1
1 1 1 1 -1 1 1 -1 -1 1 -1 -1 -1
1 1 1 1 -1 1 1 -1 -1 1 -1 -1 1
1 1 1 1 -1 1 1 -1 -1 1 -1 1 -1
1 1 1 1 -1 1 1 -1 -1 1 -1 1 1
1 1 1 1 -1 1 1 -1 -1 1 1 -1 -1
1 1 1 1 -1 1 1 -1 -1 1 1 -1 1
1 1 1 1 -1 1 1 -1 -1 1 1 1 -1
1 1 1 1 -1 1 1 -1 -1 1 1 1 1
1 1 1 1 -1 1 1 -1 1 -1 -1 -1 -1
1 1 1 1 -1 1 1 -1 1 -1 -1 -1 1
1 1 1 1 -1 1 1 -1 1 -1 -1 1 -1
1 1 1 1 -1 1 1 -1 1 -1 -1 1 1
1 1 1 1 -1 1 1 -1 1 -1 1 -1 -1
1 1 1 1 -1 1 1 -1 1 -1 1 -1 1
1 1 1 1 -1 1 1 -1 1 -1 1 1 -1
1 1 1 1 -1 1 1 -1 1 -1 1 1 1
1 1 1 1 -1 1 1 -1 1 1 -1 -1 -1
1 1 1 1 -1 1 1 -1 1 1 -1 -1 1
1 1 1 1 -1 1 1 -1 1 1 -1 1 -1
1 1 1 1 -1 1 1 -1 1 1 -1 1 1
1 1 1 1 -1 1 1 -1 1 1 1 -1 -1
1 1 1 1 -1 1 1 -1 1 1 1 -1 1
1 1 1 1 -1 1 1 -1 1 1 1 1 -1
1 1 1 1 -1 1 1 -1 1 1 1 1 1
1 1 1 1 -1 1 1 1 -1 -1 -1 -1 -1
1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1
1 1 1 1 -1 1 1 1 -1 -1 -1 1 -1
1 1 1 1 -1 1 1 1 -1 -1 -1 1 1
1 1 1 1 -1 1 1 1 -1 -1 1 -1 -1
1 1 1 1 -1 1 1 1 -1 -1 1 -1 1
1 1 1 1 -1 1 1 1 -1 -1 1 1 -1
1 1 1 1 -1 1 1 1 -1 -1 1 1 1
1 1 1 1 -1 1 1 1 -1 1 -1 -1 -1
1 1 1 1 -1 1 1 1 -1 1 -1 -1 1
1 1 1 1 -1 1 1 1 -1 1 -1 1 -1
1 1 1 1 -1 1 1 1 -1 1 -1 1 1
1 1 1 1 -1 1 1 1 -1 1 1 -1 -1
1 1 1 1 -1 1 1 1 -1 1 1 -1 1
1 1 1 1 -1 1 1 1 -1 1 1 1 -1
1 1 1 1 -1 1 1 1 -1 1 1 1 1
1 1 1 1 -1 1 1 1 1 -1 -1 -1 -1
1 1 1 1 -1 1 1 1 1 -1 -1 -1 1
1 1 1 1 -1 1 1 1 1 -1 -1 1 -1
1 1 1 1 -1 1 1 1 1 -1 -1 1 1
1 1 1 1 -1 1 1 1 1 -1 1 -1 -1
1 1 1 1 -1 1 1 1 1 -1 1 -1 1
1 1 1 1 -1 1 1 1 1 -1 1 1 -1
1 1 1 1 -1 1 1 1 1 -1 1 1 1
1 1 1 1 -1 1 1 1 1 1 -1 -1 -1
1 1 1 1 -1 1 1 1 1 1 -1 -1 1
1 1 1 1 -1 1 1 1 1 1 -1 1 -1
1 1 1 1 -1 1 1 1 1 1 -1 1 1
1 1 1 1 -1 1 1 1 1 1 1 -1 -1
1 1 1 1 -1 1 1 1 1 1 1 -1 1
1 1 1 1 -1 1 1 1 1 1 1 1 -1
1 1 1 1 -1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1
1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 1
1 1 1 1 1 1 -1 -1 -1 -1 -1 1 -1
1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1
1 1 1 1 1 1 -1 -1 -1 -1 1 -1 -1
1 1 1 1 1 1 -1 -1 -1 -1 1 -1 1
1 1 1 1 1 1 -1 -1 -1 -1 1 1 -1
1 1 1 1 1 1 -1 -1 -1 -1 1 1 1
1 1 1 1 1 1 -1 -1 -1 1 -1 -1 -1
1 1 1 1 1 1 -1 -1 -1 1 -1 -1 1
1 1 1 1 1 1 -1 -1 -1 1 -1 1 -1
1 1 1 1 1 1 -1 -1 -1 1 -1 1 1
1 1 1 1 1 1 -1 -1 -1 1 1 -1 -1
1 1 1 1 1 1 -1 -1 -1 1 1 -1 1
1 1 1 1 1 1 -1 -1 -1 1 1 1 -1
1 1 1 1 1 1 -1 -1 -1 1 1 1 1
1 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1
1 1 1 1 1 1 -1 -1 1 -1 -1 -1 1
1 1 1 1 1 1 -1 -1 1 -1 -1 1 -1
1 1 1 1 1 1 -1 -1 1 -1 -1 1 1
1 1 1 1 1 1 -1 -1 1 -1 1 -1 -1
1 1 1 1 1 1 -1 -1 1 -1 1 -1 1
1 1 1 1 1 1 -1 -1 1 -1 1 1 -1
1 1 1 1 1 1 -1 -1 1 -1 1 1 1
1 1 1 1 1 1 -1 -1 1 1 -1 -1 -1
1 1 1 1 1 1 -1 -1 1 1 -1 -1 1
1 1 1 1 1 1 -1 -1 1 1 -1 1 -1
1 1 1 1 1 1 -1 -1 1 1 -1 1 1
1 1 1 1 1 1 -1 -1 1 1 1 -1 -1
1 1 1 1 1 1 -1 -1 1 1 1 -1 1
1 1 1 1 1 1 -1 -1 1 1 1 1 -1
1 1 1 1 1 1 -1 -1 1 1 1 1 1
1 1 1 1 1 1 -1 1 -1 -1 -1 -1 -1
1 1 1 1 1 1 -1 1 -1 -1 -1 -1 1
1 1 1 1 1 1 -1 1 -1 -1 -1 1 -1
1 1 1 1 1 1 -1 1 -1 -1 -1 1 1
1 1 1 1 1 1 -1 1 -1 -1 1 -1 -1
1 1 1 1 1 1 -1 1 -1 -1 1 -1 1
1 1 1 1 1 1 -1 1 -1 -1 1 1 -1
1 1 1 1 1 1 -1 1 -1 -1 1 1 1
1 1 1 1 1 1 -1 1 -1 1 -1 -1 -1
1 1 1 1 1 1 -1 1 -1 1 -1 -1 1
1 1 1 1 1 1 -1 1 -1 1 -1 1 -1
1 1 1 1 1 1 -1 1 -1 1 -1 1 1
1 1 1 1 1 1 -1 1 -1 1 1 -1 -1
1 1 1 1 1 1 -1 1 -1 1 1 -1 1
1 1 1 1 1 1 -1 1 -1 1 1 1 -1
1 1 1 1 1 1 -1 1 -1 1 1 1 1
1 1 1 1 1 1 -1 1 1 -1 -1 -1 -1
1 1 1 1 1 1 -1 1 1 -1 -1 -1 1
1 1 1 1 1 1 -1 1 1 -1 -1 1 -1
1 1 1 1 1 1 -1 1 1 -1 -1 1 1
1 1 1 1 1 1 -1 1 1 -1 1 -1 -1
1 1 1 1 1 1 -1 1 1 -1 1 -1 1
1 1 1 1 1 1 -1 1 1 -1 1 1 -1
1 1 1 1 1 1 -1 1 1 -1 1 1 1
1 1 1 1 1 1 -1 1 1 1 -1 -1 -1
1 1 1 1 1 1 -1 1 1 1 -1 -1 1
1 1 1 1 1 1 -1 1 1 1 -1 1 -1
1 1 1 1 1 1 -1 1 1 1 -1 1 1
1 1 1 1 1 1 -1 1 1 1 1 -1 -1
1 1 1 1 1 1 -1 1 1 1 1 -1 1
1 1 1 1 1 1 -1 1 1 1 1 1 -1
1 1 1 1 1 1 -1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1
1 1 1 1 1 1 1 1 -1 -1 -1 -1 1
1 1 1 1 1 1 1 1 -1 -1 -1 1 -1
1 1 1 1 1 1 1 1 -1 -1 -1 1 1
1 1 1 1 1 1 1 1 -1 -1 1 -1 -1
1 1 1 1 1 1 1 1 -1 -1 1 -1 1
1 1 1 1 1 1 1 1 -1 -1 1 1 -1
1 1 1 1 1 1 1 1 -1 -1 1 1 1
1 1 1 1 1 1 1 1 -1 1 -1 -1 -1
1 1 1 1 1 1 1 1 -1 1 -1 -1 1
1 1 1 1 1 1 1 1 -1 1 -1 1 -1
1 1 1 1 1 1 1 1 -1 1 -1 1 1
1 1 1 1 1 1 1 1 -1 1 1 -1 -1
1 1 1 1 1 1 1 1 -1 1 1 -1 1
1 1 1 1 1 1 1 1 -1 1 1 1 -1
1 1 1 1 1 1 1 1 -1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 -1 -1 -1
1 1 1 1 1 1 1 1 1 1 -1 -1 1
1 1 1 1 1 1 1 1 1 1 -1 1 -1
1 1 1 1 1 1 1 1 1 1 -1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 -1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 -1 1
1 1 1 1 1 1 1 1 1 1 1 -1 -1
1 1 1 1 1 1 1 1 1 -1 1 1 1
1 1 1 1 1 1 1 1 1 -1 1 1 -1
1 1 1 1 1 1 1 1 1 -1 1 -1 1
1 1 1 1 1 1 1 1 1 -1 1 -1 -1
1 1 1 1 1 1 1 1 1 -1 -1 1 1
1 1 1 1 1 1 1 1 1 -1 -1 1 -1
1 1 1 1 1 1 1 1 1 -1 -1 -1 1
1 1 1 1 1 1 1 1 1 -1 -1 -1 -1
1 1 1 1 1 1 1 -1 1 1 1 1 1
1 1 1 1 1 1 1 -1 1 1 1 1 -1
1 1 1 1 1 1 1 -1 1 1 1 -1 1
1 1 1 1 1 1 1 -1 1 1 1 -1 -1
1 1 1 1 1 1 1 -1 1 1 -1 1 1
1 1 1 1 1 1 1 -1 1 1 -1 1 -1
1 1 1 1 1 1 1 -1 1 1 -1 -1 1
1 1 1 1 1 1 1 -1 1 1 -1 -1 -1
1 1 1 1 1 1 1 -1 1 -1 1 1 1
1 1 1 1 1 1 1 -1 1 -1 1 1 -1
1 1 1 1 1 1 1 -1 1 -1 1 -1 1
1 1 1 1 1 1 1 -1 1 -1 1 -1 -1
1 1 1 1 1 1 1 -1 1 -1 -1 1 1
1 1 1 1 1 1 1 -1 1 -1 -1 1 -1
1 1 1 1 1 1 1 -1 1 -1 -1 -1 1
1 1 1 1 1 1 1 -1 1 -1 -1 -1 -1
1 1 1 1 1 1 1 -1 -1 1 1 1 1
1 1 1 1 1 1 1 -1 -1 1 1 1 -1
1 1 1 1 1 1 1 -1 -1 1 1 -1 1
1 1 1 1 1 1 1 -1 -1 1 1 -1 -1
1 1 1 1 1 1 1 -1 -1 1 -1 1 1
1 1 1 1 1 1 1 -1 -1 1 -1 1 -1
1 1 1 1 1 1 1 -1 -1 1 -1 -1 1
1 1 1 1 1 1 1 -1 -1 1 -1 -1 -1
1 1 1 1 1 1 1 -1 -1 -1 1 1 1
1 1 1 1 1 1 1 -1 -1 -1 1 1 -1
1 1 1 1 1 1 1 -1 -1 -1 1 -1 1
1 1 1 1 1 1 1 -1 -1 -1 1 -1 -1
1 1 1 1 1 1 1 -1 -1 -1 -1 1 1
1 1 1 1 1 1 1 -1 -1 -1 -1 1 -1
1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1
1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1
1 1 1 1 1 -1 1 1 1 1 1 1 1
1 1 1 1 1 -1 1 1 1 1 1 1 -1
1 1 1 1 1 -1 1 1 1 1 1 -1 1
1 1 1 1 1 -1 1 1 1 1 1 -1 -1
1 1 1 1 1 -1 1 1 1 1 -1 1 1
1 1 1 1 1 -1 1 1 1 1 -1 1 -1
1 1 1 1 1 -1 1 1 1 1 -1 -1 1
1 1 1 1 1 -1 1 1 1 1 -1 -1 -1
1 1 1 1 1 -1 1 1 1 -1 1 1 1
1 1 1 1 1 -1 1 1 1 -1 1 1 -1
1 1 1 1 1 -1 1 1 1 -1 1 -1 1
1 1 1 1 1 -1 1 1 1 -1 1 -1 -1
1 1 1 1 1 -1 1 1 1 -1 -1 1 1
1 1 1 1 1 -1 1 1 1 -1 -1 1 -1
1 1 1 1 1 -1 1 1 1 -1 -1 -1 1
1 1 1 1 1 -1 1 1 1 -1 -1 -1 -1
1 1 1 1 1 -1 1 1 -1 1 1 1 1
1 1 1 1 1 -1 1 1 -1 1 1 1 -1
1 1 1 1 1 -1 1 1 -1 1 1 -1 1
1 1 1 1 1 -1 1 1 -1 1 1 -1 -1
1 1 1 1 1 -1 1 1 -1 1 -1 1 1
1 1 1 1 1 -1 1 1 -1 1 -1 1 -1
1 1 1 1 1 -1 1 1 -1 1 -1 -1 1
1 1 1 1 1 -1 1 1 -1 1 -1 -1 -1
1 1 1 1 1 -1 1 1 -1 -1 1 1 1
1 1 1 1 1 -1 1 1 -1 -1 1 1 -1
1 1 1 1 1 -1 1 1 -1 -1 1 -1 1
1 1 1 1 1 -1 1 1 -1 -1 1 -1 -1
1 1 1 1 1 -1 1 1 -1 -1 -1 1 1
1 1 1 1 1 -1 1 1 -1 -1 -1 1 -1
1 1 1 1 1 -1 1 1 -1 -1 -1 -1 1
1 1 1 1 1 -1 1 1 -1 -1 -1 -1 -1
1 1 1 1 1 -1 1 -1 1 1 1 1 1
1 1 1 1 1 -1 1 -1 1 1 1 1 -1
1 1 1 1 1 -1 1 -1 1 1 1 -1 1
1 1 1 1 1 -1 1 -1 1 1 1 -1 -1
1 1 1 1 1 -1 1 -1 1 1 -1 1 1
1 1 1 1 1 -1 1 -1 1 1 -1 1 -1
1 1 1 1 1 -1 1 -1 1 1 -1 -1 1
1 1 1 1 1 -1 1 -1 1 1 -1 -1 -1
1 1 1 1 1 -1 1 -1 1 -1 1 1 1
1 1 1 1 1 -1 1 -1 1 -1 1 1 -1
1 1 1 1 1 -1 1 -1 1 -1 1 -1 1
1 1 1 1 1 -1 1 -1 1 -1 1 -1 -1
1 1 1 1 1 -1 1 -1 1 -1 -1 1 1
1 1 1 1 1 -1 1 -1 1 -1 -1 1 -1
1 1 1 1 1 -1 1 -1 1 -1 -1 -1 1
1 1 1 1 1 -1 1 -1 1 -1 -1 -1 -1
1 1 1 1 1 -1 1 -1 -1 1 1 1 1
1 1 1 1 1 -1 1 -1 -1 1 1 1 -1
1 1 1 1 1 -1 1 -1 -1 1 1 -1 1
1 1 1 1 1 -1 1 -1 -1 1 1 -1 -1
1 1 1 1 1 -1 1 -1 -1 1 -1 1 1
1 1 1 1 1 -1 1 -1 -1 1 -1 1 -1
1 1 1 1 1 -1 1 -1 -1 1 -1 -1 1
1 1 1 1 1 -1 1 -1 -1 1 -1 -1 -1
1 1 1 1 1 -1 1 -1 -1 -1 1 1 1
1 1 1 1 1 -1 1 -1 -1 -1 1 1 -1
1 1 1 1 1 -1 1 -1 -1 -1 1 -1 1
1 1 1 1 1 -1 1 -1 -1 -1 1 -1 -1
1 1 1 1 1 -1 1 -1 -1 -1 -1 1 1
1 1 1 1 1 -1 1 -1 -1 -1 -1 1 -1
1 1 1 1 1 -1 1 -1 -1 -1 -1 -1 1
1 1 1 1 1 -1 1 -1 -1 -1 -1 -1 -1
1 1 1 1 1 -1 -1 1 1 1 1 1 1
1 1 1 1 1 -1 -1 1 1 1 1 1 -1
1 1 1 1 1 -1 -1 1 1 1 1 -1 1
1 1 1 1 1 -1 -1 1 1 1 1 -1 -1
1 1 1 1 1 -1 -1 1 1 1 -1 1 1
1 1 1 1 1 -1 -1 1 1 1 -1 1 -1
1 1 1 1 1 -1 -1 1 1 1 -1 -1 1
1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1
1 1 1 1 1 -1 -1 1 1 -1 1 1 1
1 1 1 1 1 -1 -1 1 1 -1 1 1 -1
1 1 1 1 1 -1 -1 1 1 -1 1 -1 1
1 1 1 1 1 -1 -1 1 1 -1 1 -1 -1
1 1 1 1 1 -1 -1 1 1 -1 -1 1 1
1 1 1 1 1 -1 -1 1 1 -1 -1 1 -1
1 1 1 1 1 -1 -1 1 1 -1 -1 -1 1
1 1 1 1 1 -1 -1 1 1 -1 -1 -1 -1
1 1 1 1 1 -1 -1 1 -1 1 1 1 1
1 1 1 1 1 -1 -1 1 -1 1 1 1 -1
1 1 1 1 1 -1 -1 1 -1 1 1 -1 1
1 1 1 1 1 -1 -1 1 -1 1 1 -1 -1
1 1 1 1 1 -1 -1 1 -1 1 -1 1 1
1 1 1 1 1 -1 -1 1 -1 1 -1 1 -1
1 1 1 1 1 -1 -1 1 -1 1 -1 -1 1
1 1 1 1 1 -1 -1 1 -1 1 -1 -1 -1
1 1 1 1 1 -1 -1 1 -1 -1 1 1 1
1 1 1 1 1 -1 -1 1 -1 -1 1 1 -1
1 1 1 1 1 -1 -1 1 -1 -1 1 -1 1
1 1 1 1 1 -1 -1 1 -1 -1 1 -1 -1
1 1 1 1 1 -1 -1 1 -1 -1 -1 1 1
1 1 1 1 1 -1 -1 1 -1 -1 -1 1 -1
1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1
1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 -1
1 1 1 1 1 -1 -1 -1 1 1 1 1 1
1 1 1 1 1 -1 -1 -1 1 1 1 1 -1
1 1 1 1 1 -1 -1 -1 1 1 1 -1 1
1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1
1 1 1 1 1 -1 -1 -1 1 1 -1 1 1
1 1 1 1 1 -1 -1 -1 1 1 -1 1 -1
1 1 1 1 1 -1 -1 -1 1 1 -1 -1 1
1 1 1 1 1 -1 -1 -1 1 1 -1 -1 -1
1 1 1 1 1 -1 -1 -1 1 -1 1 1 1
1 1 1 1 1 -1 -1 -1 1 -1 1 1 -1
1 1 1 1 1 -1 -1 -1 1 -1 1 -1 1
1 1 1 1 1 -1 -1 -1 1 -1 1 -1 -1
1 1 1 1 1 -1 -1 -1 1 -1 -1 1 1
1 1 1 1 1 -1 -1 -1 1 -1 -1 1 -1
1 1 1 1 1 -1 -1 -1 1 -1 -1 -1 1
1 1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1
1 1 1 1 1 -1 -1 -1 -1 1 1 1 1
1 1 1 1 1 -1 -1 -1 -1 1 1 1 -1
1 1 1 1 1 -1 -1 -1 -1 1 1 -1 1
1 1 1 1 1 -1 -1 -1 -1 1 1 -1 -1
1 1 1 1 1 -1 -1 -1 -1 1 -1 1 1
1 1 1 1 1 -1 -1 -1 -1 1 -1 1 -1
1 1 1 1 1 -1 -1 -1 -1 1 -1 -1 1
1 1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1
1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1
1 1 1 1 1 -1 -1 -1 -1 -1 1 1 -1
1 1 1 1 1 -1 -1 -1 -1 -1 1 -1 1
1 1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1
1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1
1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 -1
1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1
1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
1 1 1 -1 1 1 1 1 1 1 1 1 1
1 1 1 -1 1 1 1 1 1 1 1 1 -1
1 1 1 -1 1 1 1 1 1 1 1 -1 1
1 1 1 -1 1 1 1 1 1 1 1 -1 -1
1 1 1 -1 1 1 1 1 1 1 -1 1 1
1 1 1 -1 1 1 1 1 1 1 -1 1 -1
1 1 1 -1 1 1 1 1 1 1 -1 -1 1
1 1 1 -1 1 1 1 1 1 1 -1 -1 -1
1 1 1 -1 1 1 1 1 1 -1 1 1 1
1 1 1 -1 1 1 1 1 1 -1 1 1 -1
1 1 1 -1 1 1 1 1 1 -1 1 -1 1
1 1 1 -1 1 1 1 1 1 -1 1 -1 -1
1 1 1 -1 1 1 1 1 1 -1 -1 1 1
1 1 1 -1 1 1 1 1 1 -1 -1 1 -1
1 1 1 -1 1 1 1 1 1 -1 -1 -1 1
1 1 1 -1 1 1 1 1 1 -1 -1 -1 -1
1 1 1 -1 1 1 1 1 -1 1 1 1 1
1 1 1 -1 1 1 1 1 -1 1 1 1 -1
1 1 1 -1 1 1 1 1 -1 1 1 -1 1
1 1 1 -1 1 1 1 1 -1 1 1 -1 -1
1 1 1 -1 1 1 1 1 -1 1 -1 1 1
1 1 1 -1 1 1 1 1 -1 1 -1 1 -1
1 1 1 -1 1 1 1 1 -1 1 -1 -1 1
1 1 1 -1 1 1 1 1 -1 1 -1 -1 -1
1 1 1 -1 1 1 1 1 -1 -1 1 1 1
1 1 1 -1 1 1 1 1 -1 -1 1 1 -1
1 1 1 -1 1 1 1 1 -1 -1 1 -1 1
1 1 1 -1 1 1 1 1 -1 -1 1 -1 -1
1 1 1 -1 1 1 1 1 -1 -1 -1 1 1
1 1 1 -1 1 1 1 1 -1 -1 -1 1 -1
1 1 1 -1 1 1 1 1 -1 -1 -1 -1 1
1 1 1 -1 1 1 1 1 -1 -1 -1 -1 -1
1 1 1 -1 1 1 1 -1 1 1 1 1 1
1 1 1 -1 1 1 1 -1 1 1 1 1 -1
1 1 1 -1 1 1 1 -1 1 1 1 -1 1
1 1 1 -1 1 1 1 -1 1 1 1 -1 -1
1 1 1 -1 1 1 1 -1 1 1 -1 1 1
1 1 1 -1 1 1 1 -1 1 1 -1 1 -1
1 1 1 -1 1 1 1 -1 1 1 -1 -1 1
1 1 1 -1 1 1 1 -1 1 1 -1 -1 -1
1 1 1 -1 1 1 1 -1 1 -1 1 1 1
1 1 1 -1 1 1 1 -1 1 -1 1 1 -1
1 1 1 -1 1 1 1 -1 1 -1 1 -1 1
1 1 1 -1 1 1 1 -1 1 -1 1 -1 -1
1 1 1 -1 1 1 1 -1 1 -1 -1 1 1
1 1 1 -1 1 1 1 -1 1 -1 -1 1 -1
1 1 1 -1 1 1 1 -1 1 -1 -1 -1 1
1 1 1 -1 1 1 1 -1 1 -1 -1 -1 -1
1 1 1 -1 1 1 1 -1 -1 1 1 1 1
1 1 1 -1 1 1 1 -1 -1 1 1 1 -1
1 1 1 -1 1 1 1 -1 -1 1 1 -1 1
1 1 1 -1 1 1 1 -1 -1 1 1 -1 -1
1 1 1 -1 1 1 1 -1 -1 1 -1 1 1
1 1 1 -1 1 1 1 -1 -1 1 -1 1 -1
1 1 1 -1 1 1 1 -1 -1 1 -1 -1 1
1 1 1 -1 1 1 1 -1 -1 1 -1 -1 -1
1 1 1 -1 1 1 1 -1 -1 -1 1 1 1
1 1 1 -1 1 1 1 -1 -1 -1 1 1 -1
1 1 1 -1 1 1 1 -1 -1 -1 1 -1 1
1 1 1 -1 1 1 1 -1 -1 -1 1 -1 -1
1 1 1 -1 1 1 1 -1 -1 -1 -1 1 1
1 1 1 -1 1 1 1 -1 -1 -1 -1 1 -1
1 1 1 -1 1 1 1 -1 -1 -1 -1 -1 1
1 1 1 -1 1 1 1 -1 -1 -1 -1 -1 -1
1 1 1 -1 1 1 -1 1 1 1 1 1 1
1 1 1 -1 1 1 -1 1 1 1 1 1 -1
1 1 1 -1 1 1 -1 1 1 1 1 -1 1
1 1 1 -1 1 1 -1 1 1 1 1 -1 -1
1 1 1 -1 1 1 -1 1 1 1 -1 1 1
1 1 1 -1 1 1 -1 1 1 1 -1 1 -1
1 1 1 -1 1 1 -1 1 1 1 -1 -1 1
1 1 1 -1 1 1 -1 1 1 1 -1 -1 -1
1 1 1 -1 1 1 -1 1 1 -1 1 1 1
1 1 1 -1 1 1 -1 1 1 -1 1 1 -1
1 1 1 -1 1 1 -1 1 1 -1 1 -1 1
1 1 1 -1 1 1 -1 1 1 -1 1 -1 -1
1 1 1 -1 1 1 -1 1 1 -1 -1 1 1
1 1 1 -1 1 1 -1 1 1 -1 -1 1 -1
1 1 1 -1 1 1 -1 1 1 -1 -1 -1 1
1 1 1 -1 1 1 -1 1 1 -1 -1 -1 -1
1 1 1 -1 1 1 -1 1 -1 1 1 1 1
1 1 1 -1 1 1 -1 1 -1 1 1 1 -1
1 1 1 -1 1 1 -1 1 -1 1 1 -1 1
1 1 1 -1 1 1 -1 1 -1 1 1 -1 -1
1 1 1 -1 1 1 -1 1 -1 1 -1 1 1
1 1 1 -1 1 1 -1 1 -1 1 -1 1 -1
1 1 1 -1 1 1 -1 1 -1 1 -1 -1 1
1 1 1 -1 1 1 -1 1 -1 1 -1 -1 -1
1 1 1 -1 1 1 -1 1 -1 -1 1 1 1
1 1 1 -1 1 1 -1 1 -1 -1 1 1 -1
1 1 1 -1 1 1 -1 1 -1 -1 1 -1 1
1 1 1 -1 1 1 -1 1 -1 -1 1 -1 -1
1 1 1 -1 1 1 -1 1 -1 -1 -1 1 1
1 1 1 -1 1 1 -1 1 -1 -1 -1 1 -1
1 1 1 -1 1 1 -1 1 -1 -1 -1 -1 1
1 1 1 -1 1 1 -1 1 -1 -1 -1 -1 -1
1 1 1 -1 1 1 -1 -1 1 1 1 1 1
1 1 1 -1 1 1 -1 -1 1 1 1 1 -1
1 1 1 -1 1 1 -1 -1 1 1 1 -1 1
1 1 1 -1 1 1 -1 -1 1 1 1 -1 -1
1 1 1 -1 1 1 -1 -1 1 1 -1 1 1
1 1 1 -1 1 1 -1 -1 1 1 -1 1 -1
1 1 1 -1 1 1 -1 -1 1 1 -1 -1 1
1 1 1 -1 1 1 -1 -1 1 1 -1 -1 -1
1 1 1 -1 1 1 -1 -1 1 -1 1 1 1
1 1 1 -1 1 1 -1 -1 1 -1 1 1 -1
1 1 1 -1 1 1 -1 -1 1 -1 1 -1 1
1 1 1 -1 1 1 -1 -1 1 -1 1 -1 -1
1 1 1 -1 1 1 -1 -1 1 -1 -1 1 1
1 1 1 -1 1 1 -1 -1 1 -1 -1 1 -1
1 1 1 -1 1 1 -1 -1 1 -1 -1 -1 1
1 1 1 -1 1 1 -1 -1 1 -1 -1 -1 -1
1 1 1 -1 1 1 -1 -1 -1 1 1 1 1
1 1 1 -1 1 1 -1 -1 -1 1 1 1 -1
1 1 1 -1 1 1 -1 -1 -1 1 1 -1 1
1 1 1 -1 1 1 -1 -1 -1 1 1 -1 -1
1 1 1 -1 1 1 -1 -1 -1 1 -1 1 1
1 1 1 -1 1 1 -1 -1 -1 1 -1 1 -1
1 1 1 -1 1 1 -1 -1 -1 1 -1 -1 1
1 1 1 -1 1 1 -1 -1 -1 1 -1 -1 -1
1 1 1 -1 1 1 -1 -1 -1 -1 1 1 1
1 1 1 -1 1 1 -1 -1 -1 -1 1 1 -1
1 1 1 -1 1 1 -1 -1 -1 -1 1 -1 1
1 1 1 -1 1 1 -1 -1 -1 -1 1 -1 -1
1 1 1 -1 1 1 -1 -1 -1 -1 -1 1 1
1 1 1 -1 1 1 -1 -1 -1 -1 -1 1 -1
1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 1
1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1
1 1 1 -1 1 -1 1 1 1 1 1 1 1
1 1 1 -1 1 -1 1 1 1 1 1 1 -1
1 1 1 -1 1 -1 1 1 1 1 1 -1 1
1 1 1 -1 1 -1 1 1 1 1 1 -1 -1
1 1 1 -1 1 -1 1 1 1 1 -1 1 1
1 1 1 -1 1 -1 1 1 1 1 -1 1 -1
1 1 1 -1 1 -1 1 1 1 1 -1 -1 1
1 1 1 -1 1 -1 1 1 1 1 -1 -1 -1
1 1 1 -1 1 -1 1 1 1 -1 1 1 1
1 1 1 -1 1 -1 1 1 1 -1 1 1 -1
1 1 1 -1 1 -1 1 1 1 -1 1 -1 1
1 1 1 -1 1 -1 1 1 1 -1 1 -1 -1
1 1 1 -1 1 -1 1 1 1 -1 -1 1 1
1 1 1 -1 1 -1 1 1 1 -1 -1 1 -1
1 1 1 -1 1 -1 1 1 1 -1 -1 -1 1
1 1 1 -1 1 -1 1 1 1 -1 -1 -1 -1
1 1 1 -1 1 -1 1 1 -1 1 1 1 1
1 1 1 -1 1 -1 1 1 -1 1 1 1 -1
1 1 1 -1 1 -1 1 1 -1 1 1 -1 1
1 1 1 -1 1 -1 1 1 -1 1 1 -1 -1
1 1 1 -1 1 -1 1 1 -1 1 -1 1 1
1 1 1 -1 1 -1 1 1 -1 1 -1 1 -1
1 1 1 -1 1 -1 1 1 -1 1 -1 -1 1
1 1 1 -1 1 -1 1 1 -1 1 -1 -1 -1
1 1 1 -1 1 -1 1 1 -1 -1 1 1 1
1 1 1 -1 1 -1 1 1 -1 -1 1 1 -1
1 1 1 -1 1 -1 1 1 -1 -1 1 -1 1
1 1 1 -1 1 -1 1 1 -1 -1 1 -1 -1
1 1 1 -1 1 -1 1 1 -1 -1 -1 1 1
1 1 1 -1 1 -1 1 1 -1 -1 -1 1 -1
1 1 1 -1 1 -1 1 1 -1 -1 -1 -1 1
1 1 1 -1 1 -1 1 1 -1 -1 -1 -1 -1
1 1 1 -1 1 -1 1 -1 1 1 1 1 1
1 1 1 -1 1 -1 1 -1 1 1 1 1 -1
1 1 1 -1 1 -1 1 -1 1 1 1 -1 1
1 1 1 -1 1 -1 1 -1 1 1 1 -1 -1
1 1 1 -1 1 -1 1 -1 1 1 -1 1 1
1 1 1 -1 1 -1 1 -1 1 1 -1 1 -1
1 1 1 -1 1 -1 1 -1 1 1 -1 -1 1
1 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1
1 1 1 -1 1 -1 1 -1 1 -1 1 1 1
1 1 1 -1 1 -1 1 -1 1 -1 1 1 -1
1 1 1 -1 1 -1 1 -1 1 -1 1 -1 1
1 1 1 -1 1 -1 1 -1 1 -1 1 -1 -1
1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1
1 1 1 -1 1 -1 1 -1 1 -1 -1 1 -1
1 1 1 -1 1 -1 1 -1 1 -1 -1 -1 1
1 1 1 -1 1 -1 1 -1 1 -1 -1 -1 -1
1 1 1 -1 1 -1 1 -1 -1 1 1 1 1
1 1 1 -1 1 -1 1 -1 -1 1 1 1 -1
1 1 1 -1 1 -1 1 -1 -1 1 1 -1 1
1 1 1 -1 1 -1 1 -1 -1 1 1 -1 -1
1 1 1 -1 1 -1 1 -1 -1 1 -1 1 1
1 1 1 -1 1 -1 1 -1 -1 1 -1 1 -1
1 1 1 -1 1 -1 1 -1 -1 1 -1 -1 1
1 1 1 -1 1 -1 1 -1 -1 1 -1 -1 -1
1 1 1 -1 1 -1 1 -1 -1 -1 1 1 1
1 1 1 -1 1 -1 1 -1 -1 -1 1 1 -1
1 1 1 -1 1 -1 1 -1 -1 -1 1 -1 1
1 1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1
1 1 1 -1 1 -1 1 -1 -1 -1 -1 1 1
1 1 1 -1 1 -1 1 -1 -1 -1 -1 1 -1
1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1
1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1
1 1 1 -1 1 -1 -1 1 1 1 1 1 1
1 1 1 -1 1 -1 -1 1 1 1 1 1 -1
1 1 1 -1 1 -1 -1 1 1 1 1 -1 1
1 1 1 -1 1 -1 -1 1 1 1 1 -1 -1
1 1 1 -1 1 -1 -1 1 1 1 -1 1 1
1 1 1 -1 1 -1 -1 1 1 1 -1 1 -1
1 1 1 -1 1 -1 -1 1 1 1 -1 -1 1
1 1 1 -1 1 -1 -1 1 1 1 -1 -1 -1
1 1 1 -1 1 -1 -1 1 1 -1 1 1 1
1 1 1 -1 1 -1 -1 1 1 -1 1 1 -1
1 1 1 -1 1 -1 -1 1 1 -1 1 -1 1
1 1 1 -1 1 -1 -1 1 1 -1 1 -1 -1
1 1 1 -1 1 -1 -1 1 1 -1 -1 1 1
1 1 1 -1 1 -1 -1 1 1 -1 -1 1 -1
1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 1
1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 -1
1 1 1 -1 1 -1 -1 1 -1 1 1 1 1
1 1 1 -1 1 -1 -1 1 -1 1 1 1 -1
1 1 1 -1 1 -1 -1 1 -1 1 1 -1 1
1 1 1 -1 1 -1 -1 1 -1 1 1 -1 -1
1 1 1 -1 1 -1 -1 1 -1 1 -1 1 1
1 1 1 -1 1 -1 -1 1 -1 1 -1 1 -1
1 1 1 -1 1 -1 -1 1 -1 1 -1 -1 1
1 1 1 -1 1 -1 -1 1 -1 1 -1 -1 -1
1 1 1 -1 1 -1 -1 1 -1 -1 1 1 1
1 1 1 -1 1 -1 -1 1 -1 -1 1 1 -1
1 1 1 -1 1 -1 -1 1 -1 -1 1 -1 1
1 1 1 -1 1 -1 -1 1 -1 -1 1 -1 -1
1 1 1 -1 1 -1 -1 1 -1 -1 -1 1 1
1 1 1 -1 1 -1 -1 1 -1 -1 -1 1 -1
1 1 1 -1 1 -1 -1 1 -1 -1 -1 -1 1
1 1 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1
1 1 1 -1 1 -1 -1 -1 1 1 1 1 1
1 1 1 -1 1 -1 -1 -1 1 1 1 1 -1
1 1 1 -1 1 -1 -1 -1 1 1 1 -1 1
1 1 1 -1 1 -1 -1 -1 1 1 1 -1 -1
1 1 1 -1 1 -1 -1 -1 1 1 -1 1 1
1 1 1 -1 1 -1 -1 -1 1 1 -1 1 -1
1 1 1 -1 1 -1 -1 -1 1 1 -1 -1 1
1 1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1
1 1 1 -1 1 -1 -1 -1 1 -1 1 1 1
1 1 1 -1 1 -1 -1 -1 1 -1 1 1 -1
1 1 1 -1 1 -1 -1 -1 1 -1 1 -1 1
1 1 1 -1 1 -1 -1 -1 1 -1 1 -1 -1
1 1 1 -1 1 -1 -1 -1 1 -1 -1 1 1
1 1 1 -1 1 -1 -1 -1 1 -1 -1 1 -1
1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1
1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1
1 1 1 -1 1 -1 -1 -1 -1 1 1 1 1
1 1 1 -1 1 -1 -1 -1 -1 1 1 1 -1
1 1 1 -1 1 -1 -1 -1 -1 1 1 -1 1
1 1 1 -1 1 -1 -1 -1 -1 1 1 -1 -1
1 1 1 -1 1 -1 -1 -1 -1 1 -1 1 1
1 1 1 -1 1 -1 -1 -1 -1 1 -1 1 -1
1 1 1 -1 1 -1 -1 -1 -1 1 -1 -1 1
1 1 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1
1 1 1 -1 1 -1 -1 -1 -1 -1 1 1 1
1 1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1
1 1 1 -1 1 -1 -1 -1 -1 -1 1 -1 1
1 1 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1
1 1 1 -1 1 -1 -1 -1 -1 -1 -1 1 1
1 1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1
1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1
1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1
1 1 1 -1 -1 1 1 1 1 1 1 1 1
1 1 1 -1 -1 1 1 1 1 1 1 1 -1
1 1 1 -1 -1 1 1 1 1 1 1 -1 1
1 1 1 -1 -1 1 1 1 1 1 1 -1 -1
1 1 1 -1 -1 1 1 1 1 1 -1 1 1
1 1 1 -1 -1 1 1 1 1 1 -1 1 -1
1 1 1 -1 -1 1 1 1 1 1 -1 -1 1
1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1
1 1 1 -1 -1 1 1 1 1 -1 1 1 1
1 1 1 -1 -1 1 1 1 1 -1 1 1 -1
1 1 1 -1 -1 1 1 1 1 -1 1 -1 1
1 1 1 -1 -1 1 1 1 1 -1 1 -1 -1
1 1 1 -1 -1 1 1 1 1 -1 -1 1 1
1 1 1 -1 -1 1 1 1 1 -1 -1 1 -1
1 1 1 -1 -1 1 1 1 1 -1 -1 -1 1
1 1 1 -1 -1 1 1 1 1 -1 -1 -1 -1
1 1 1 -1 -1 1 1 1 -1 1 1 1 1
1 1 1 -1 -1 1 1 1 -1 1 1 1 -1
1 1 1 -1 -1 1 1 1 -1 1 1 -1 1
1 1 1 -1 -1 1 1 1 -1 1 1 -1 -1
1 1 1 -1 -1 1 1 1 -1 1 -1 1 1
1 1 1 -1 -1 1 1 1 -1 1 -1 1 -1
1 1 1 -1 -1 1 1 1 -1 1 -1 -1 1
1 1 1 -1 -1 1 1 1 -1 1 -1 -1 -1
1 1 1 -1 -1 1 1 1 -1 -1 1 1 1
1 1 1 -1 -1 1 1 1 -1 -1 1 1 -1
1 1 1 -1 -1 1 1 1 -1 -1 1 -1 1
1 1 1 -1 -1 1 1 1 -1 -1 1 -1 -1
1 1 1 -1 -1 1 1 1 -1 -1 -1 1 1
1 1 1 -1 -1 1 1 1 -1 -1 -1 1 -1
1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1
1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1
1 1 1 -1 -1 1 1 -1 1 1 1 1 1
1 1 1 -1 -1 1 1 -1 1 1 1 1 -1
1 1 1 -1 -1 1 1 -1 1 1 1 -1 1
1 1 1 -1 -1 1 1 -1 1 1 1 -1 -1
1 1 1 -1 -1 1 1 -1 1 1 -1 1 1
1 1 1 -1 -1 1 1 -1 1 1 -1 1 -1
1 1 1 -1 -1 1 1 -1 1 1 -1 -1 1
1 1 1 -1 -1 1 1 -1 1 1 -1 -1 -1
1 1 1 -1 -1 1 1 -1 1 -1 1 1 1
1 1 1 -1 -1 1 1 -1 1 -1 1 1 -1
1 1 1 -1 -1 1 1 -1 1 -1 1 -1 1
1 1 1 -1 -1 1 1 -1 1 -1 1 -1 -1
1 1 1 -1 -1 1 1 -1 1 -1 -1 1 1
1 1 1 -1 -1 1 1 -1 1 -1 -1 1 -1
1 1 1 -1 -1 1 1 -1 1 -1 -1 -1 1
1 1 1 -1 -1 1 1 -1 1 -1 -1 -1 -1
1 1 1 -1 -1 1 1 -1 -1 1 1 1 1
1 1 1 -1 -1 1 1 -1 -1 1 1 1 -1
1 1 1 -1 -1 1 1 -1 -1 1 1 -1 1
1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1
1 1 1 -1 -1 1 1 -1 -1 1 -1 1 1
1 1 1 -1 -1 1 1 -1 -1 1 -1 1 -1
1 1 1 -1 -1 1 1 -1 -1 1 -1 -1 1
1 1 1 -1 -1 1 1 -1 -1 1 -1 -1 -1
1 1 1 -1 -1 1 1 -1 -1 -1 1 1 1
1 1 1 -1 -1 1 1 -1 -1 -1 1 1 -1
1 1 1 -1 -1 1 1 -1 -1 -1 1 -1 1
1 1 1 -1 -1 1 1 -1 -1 -1 1 -1 -1
1 1 1 -1 -1 1 1 -1 -1 -1 -1 1 1
1 1 1 -1 -1 1 1 -1 -1 -1 -1 1 -1
1 1 1 -1 -1 1 1 -1 -1 -1 -1 -1 1
1 1 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1
1 1 1 -1 -1 1 -1 1 1 1 1 1 1
1 1 1 -1 -1 1 -1 1 1 1 1 1 -1
1 1 1 -1 -1 1 -1 1 1 1 1 -1 1
1 1 1 -1 -1 1 -1 1 1 1 1 -1 -1
1 1 1 -1 -1 1 -1 1 1 1 -1 1 1
1 1 1 -1 -1 1 -1 1 1 1 -1 1 -1
1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1
1 1 1 -1 -1 1 -1 1 1 1 -1 -1 -1
1 1 1 -1 -1 1 -1 1 1 -1 1 1 1
1 1 1 -1 -1 1 -1 1 1 -1 1 1 -1
1 1 1 -1 -1 1 -1 1 1 -1 1 -1 1
1 1 1 -1 -1 1 -1 1 1 -1 1 -1 -1
1 1 1 -1 -1 1 -1 1 1 -1 -1 1 1
1 1 1 -1 -1 1 -1 1 1 -1 -1 1 -1
1 1 1 -1 -1 1 -1 1 1 -1 -1 -1 1
1 1 1 -1 -1 1 -1 1 1 -1 -1 -1 -1
1 1 1 -1 -1 1 -1 1 -1 1 1 1 1
1 1 1 -1 -1 1 -1 1 -1 1 1 1 -1
1 1 1 -1 -1 1 -1 1 -1 1 1 -1 1
1 1 1 -1 -1 1 -1 1 -1 1 1 -1 -1
1 1 1 -1 -1 1 -1 1 -1 1 -1 1 1
1 1 1 -1 -1 1 -1 1 -1 1 -1 1 -1
1 1 1 -1 -1 1 -1 1 -1 1 -1 -1 1
1 1 1 -1 -1 1 -1 1 -1 1 -1 -1 -1
1 1 1 -1 -1 1 -1 1 -1 -1 1 1 1
1 1 1 -1 -1 1 -1 1 -1 -1 1 1 -1
1 1 1 -1 -1 1 -1 1 -1 -1 1 -1 1
1 1 1 -1 -1 1 -1 1 -1 -1 1 -1 -1
1 1 1 -1 -1 1 -1 1 -1 -1 -1 1 1
1 1 1 -1 -1 1 -1 1 -1 -1 -1 1 -1
1 1 1 -1 -1 1 -1 1 -1 -1 -1 -1 1
1 1 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1
1 1 1 -1 -1 1 -1 -1 1 1 1 1 1
1 1 1 -1 -1 1 -1 -1 1 1 1 1 -1
1 1 1 -1 -1 1 -1 -1 1 1 1 -1 1
1 1 1 -1 -1 1 -1 -1 1 1 1 -1 -1
1 1 1 -1 -1 1 -1 -1 1 1 -1 1 1
1 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1
1 1 1 -1 -1 1 -1 -1 1 1 -1 -1 1
1 1 1 -1 -1 1 -1 -1 1 1 -1 -1 -1
1 1 1 -1 -1 1 -1 -1 1 -1 1 1 1
1 1 1 -1 -1 1 -1 -1 1 -1 1 1 -1
1 1 1 -1 -1 1 -1 -1 1 -1 1 -1 1
1 1 1 -1 -1 1 -1 -1 1 -1 1 -1 -1
1 1 1 -1 -1 1 -1 -1 1 -1 -1 1 1
1 1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1
1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1
1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1
1 1 1 -1 -1 1 -1 -1 -1 1 1 1 1
1 1 1 -1 -1 1 -1 -1 -1 1 1 1 -1
1 1 1 -1 -1 1 -1 -1 -1 1 1 -1 1
1 1 1 -1 -1 1 -1 -1 -1 1 1 -1 -1
1 1 1 -1 -1 1 -1 -1 -1 1 -1 1 1
1 1 1 -1 -1 1 -1 -1 -1 1 -1 1 -1
1 1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1
1 1 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1
1 1 1 -1 -1 1 -1 -1 -1 -1 1 1 1
1 1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1
1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1
1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1
1 1 1 -1 -1 1 -1 -1 -1 -1 -1 1 1
1 1 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1
1 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1
1 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1
1 1 1 -1 -1 -1 1 1 1 1 1 1 1
1 1 1 -1 -1 -1 1 1 1 1 1 1 -1
1 1 1 -1 -1 -1 1 1 1 1 1 -1 1
1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1
1 1 1 -1 -1 -1 1 1 1 1 -1 1 1
1 1 1 -1 -1 -1 1 1 1 1 -1 1 -1
1 1 1 -1 -1 -1 1 1 1 1 -1 -1 1
1 1 1 -1 -1 -1 1 1 1 1 -1 -1 -1
1 1 1 -1 -1 -1 1 1 1 -1 1 1 1
1 1 1 -1 -1 -1 1 1 1 -1 1 1 -1
1 1 1 -1 -1 -1 1 1 1 -1 1 -1 1
1 1 1 -1 -1 -1 1 1 1 -1 1 -1 -1
1 1 1 -1 -1 -1 1 1 1 -1 -1 1 1
1 1 1 -1 -1 -1 1 1 1 -1 -1 1 -1
1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 1
1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1
1 1 1 -1 -1 -1 1 1 -1 1 1 1 1
1 1 1 -1 -1 -1 1 1 -1 1 1 1 -1
1 1 1 -1 -1 -1 1 1 -1 1 1 -1 1
1 1 1 -1 -1 -1 1 1 -1 1 1 -1 -1
1 1 1 -1 -1 -1 1 1 -1 1 -1 1 1
1 1 1 -1 -1 -1 1 1 -1 1 -1 1 -1
1 1 1 -1 -1 -1 1 1 -1 1 -1 -1 1
1 1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1
1 1 1 -1 -1 -1 1 1 -1 -1 1 1 1
1 1 1 -1 -1 -1 1 1 -1 -1 1 1 -1
1 1 1 -1 -1 -1 1 1 -1 -1 1 -1 1
1 1 1 -1 -1 -1 1 1 -1 -1 1 -1 -1
1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1
1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1
1 1 1 -1 -1 -1 1 1 -1 -1 -1 -1 1
1 1 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1
1 1 1 -1 -1 -1 1 -1 1 1 1 1 1
1 1 1 -1 -1 -1 1 -1 1 1 1 1 -1
1 1 1 -1 -1 -1 1 -1 1 1 1 -1 1
1 1 1 -1 -1 -1 1 -1 1 1 1 -1 -1
1 1 1 -1 -1 -1 1 -1 1 1 -1 1 1
1 1 1 -1 -1 -1 1 -1 1 1 -1 1 -1
1 1 1 -1 -1 -1 1 -1 1 1 -1 -1 1
1 1 1 -1 -1 -1 1 -1 1 1 -1 -1 -1
1 1 1 -1 -1 -1 1 -1 1 -1 1 1 1
1 1 1 -1 -1 -1 1 -1 1 -1 1 1 -1
1 1 1 -1 -1 -1 1 -1 1 -1 1 -1 1
1 1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1
1 1 1 -1 -1 -1 1 -1 1 -1 -1 1 1
1 1 1 -1 -1 -1 1 -1 1 -1 -1 1 -1
1 1 1 -1 -1 -1 1 -1 1 -1 -1 -1 1
1 1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1
1 1 1 -1 -1 -1 1 -1 -1 1 1 1 1
1 1 1 -1 -1 -1 1 -1 -1 1 1 1 -1
1 1 1 -1 -1 -1 1 -1 -1 1 1 -1 1
1 1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1
1 1 1 -1 -1 -1 1 -1 -1 1 -1 1 1
1 1 1 -1 -1 -1 1 -1 -1 1 -1 1 -1
1 1 1 -1 -1 -1 1 -1 -1 1 -1 -1 1
1 1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1
1 1 1 -1 -1 -1 1 -1 -1 -1 1 1 1
1 1 1 -1 -1 -1 1 -1 -1 -1 1 1 -1
1 1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1
1 1 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1
1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1
1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1
1 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1
1 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 1 1 -1 -1 -1 -1 1 1 1 1 1 1
1 1 1 -1 -1 -1 -1 1 1 1 1 1 -1
1 1 1 -1 -1 -1 -1 1 1 1 1 -1 1
1 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1
1 1 1 -1 -1 -1 -1 1 1 1 -1 1 1
1 1 1 -1 -1 -1 -1 1 1 1 -1 1 -1
1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1
1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1
1 1 1 -1 -1 -1 -1 1 1 -1 1 1 1
1 1 1 -1 -1 -1 -1 1 1 -1 1 1 -1
1 1 1 -1 -1 -1 -1 1 1 -1 1 -1 1
1 1 1 -1 -1 -1 -1 1 1 -1 1 -1 -1
1 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1
1 1 1 -1 -1 -1 -1 1 1 -1 -1 1 -1
1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1
1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1
1 1 1 -1 -1 -1 -1 1 -1 1 1 1 1
1 1 1 -1 -1 -1 -1 1 -1 1 1 1 -1
1 1 1 -1 -1 -1 -1 1 -1 1 1 -1 1
1 1 1 -1 -1 -1 -1 1 -1 1 1 -1 -1
1 1 1 -1 -1 -1 -1 1 -1 1 -1 1 1
1 1 1 -1 -1 -1 -1 1 -1 1 -1 1 -1
1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1
1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1
1 1 1 -1 -1 -1 -1 1 -1 -1 1 1 1
1 1 1 -1 -1 -1 -1 1 -1 -1 1 1 -1
1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 1
1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
1 1 1 -1 -1 -1 -1 1 -1 -1 -1 1 1
1 1 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1
1 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1
1 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1
1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1
1 1 1 -1 -1 -1 -1 -1 1 1 1 1 -1
1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 1
1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1
1 1 1 -1 -1 -1 -1 -1 1 1 -1 1 1
1 1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1
1 1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1
1 1 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1
1 1 1 -1 -1 -1 -1 -1 1 -1 1 1 1
1 1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1
1 1 1 -1 -1 -1 -1 -1 1 -1 1 -1 1
1 1 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1
1 1 1 -1 -1 -1 -1 -1 1 -1 -1 1 1
1 1 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1
1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1
1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1
1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1
1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1
1 1 1 -1 -1 -1 -1 -1 -1 1 1 -1 1
1 1 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1
1 1 1 -1 -1 -1 -1 -1 -1 1 -1 1 1
1 1 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1
1 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1
1 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1
1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1
1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1
1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1
1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1
1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1
1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1
1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 1 1 1 1 1 1 1 1 1 1
1 -1 1 1 1 1 1 1 1 1 1 1 -1
1 -1 1 1 1 1 1 1 1 1 1 -1 1
1 -1 1 1 1 1 1 1 1 1 1 -1 -1
1 -1 1 1 1 1 1 1 1 1 -1 1 1
1 -1 1 1 1 1 1 1 1 1 -1 1 -1
1 -1 1 1 1 1 1 1 1 1 -1 -1 1
1 -1 1 1 1 1 1 1 1 1 -1 -1 -1
1 -1 1 1 1 1 1 1 1 -1 1 1 1
1 -1 1 1 1 1 1 1 1 -1 1 1 -1
1 -1 1 1 1 1 1 1 1 -1 1 -1 1
1 -1 1 1 1 1 1 1 1 -1 1 -1 -1
1 -1 1 1 1 1 1 1 1 -1 -1 1 1
1 -1 1 1 1 1 1 1 1 -1 -1 1 -1
1 -1 1 1 1 1 1 1 1 -1 -1 -1 1
1 -1 1 1 1 1 1 1 1 -1 -1 -1 -1
1 -1 1 1 1 1 1 1 -1 1 1 1 1
1 -1 1 1 1 1 1 1 -1 1 1 1 -1
1 -1 1 1 1 1 1 1 -1 1 1 -1 1
1 -1 1 1 1 1 1 1 -1 1 1 -1 -1
1 -1 1 1 1 1 1 1 -1 1 -1 1 1
1 -1 1 1 1 1 1 1 -1 1 -1 1 -1
1 -1 1 1 1 1 1 1 -1 1 -1 -1 1
1 -1 1 1 1 1 1 1 -1 1 -1 -1 -1
1 -1 1 1 1 1 1 1 -1 -1 1 1 1
1 -1 1 1 1 1 1 1 -1 -1 1 1 -1
1 -1 1 1 1 1 1 1 -1 -1 1 -1 1
1 -1 1 1 1 1 1 1 -1 -1 1 -1 -1
1 -1 1 1 1 1 1 1 -1 -1 -1 1 1
1 -1 1 1 1 1 1 1 -1 -1 -1 1 -1
1 -1 1 1 1 1 1 1 -1 -1 -1 -1 1
1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1
1 -1 1 1 1 1 1 -1 1 1 1 1 1
1 -1 1 1 1 1 1 -1 1 1 1 1 -1
1 -1 1 1 1 1 1 -1 1 1 1 -1 1
1 -1 1 1 1 1 1 -1 1 1 1 -1 -1
1 -1 1 1 1 1 1 -1 1 1 -1 1 1
1 -1 1 1 1 1 1 -1 1 1 -1 1 -1
1 -1 1 1 1 1 1 -1 1 1 -1 -1 1
1 -1 1 1 1 1 1 -1 1 1 -1 -1 -1
1 -1 1 1 1 1 1 -1 1 -1 1 1 1
1 -1 1 1 1 1 1 -1 1 -1 1 1 -1
1 -1 1 1 1 1 1 -1 1 -1 1 -1 1
1 -1 1 1 1 1 1 -1 1 -1 1 -1 -1
1 -1 1 1 1 1 1 -1 1 -1 -1 1 1
1 -1 1 1 1 1 1 -1 1 -1 -1 1 -1
1 -1 1 1 1 1 1 -1 1 -1 -1 -1 1
1 -1 1 1 1 1 1 -1 1 -1 -1 -1 -1
1 -1 1 1 1 1 1 -1 -1 1 1 1 1
1 -1 1 1 1 1 1 -1 -1 1 1 1 -1
1 -1 1 1 1 1 1 -1 -1 1 1 -1 1
1 -1 1 1 1 1 1 -1 -1 1 1 -1 -1
1 -1 1 1 1 1 1 -1 -1 1 -1 1 1
1 -1 1 1 1 1 1 -1 -1 1 -1 1 -1
1 -1 1 1 1 1 1 -1 -1 1 -1 -1 1
1 -1 1 1 1 1 1 -1 -1 1 -1 -1 -1
1 -1 1 1 1 1 1 -1 -1 -1 1 1 1
1 -1 1 1 1 1 1 -1 -1 -1 1 1 -1
1 -1 1 1 1 1 1 -1 -1 -1 1 -1 1
1 -1 1 1 1 1 1 -1 -1 -1 1 -1 -1
1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1
1 -1 1 1 1 1 1 -1 -1 -1 -1 1 -1
1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1
1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1
1 -1 1 1 1 1 -1 1 1 1 1 1 1
1 -1 1 1 1 1 -1 1 1 1 1 1 -1
1 -1 1 1 1 1 -1 1 1 1 1 -1 1
1 -1 1 1 1 1 -1 1 1 1 1 -1 -1
1 -1 1 1 1 1 -1 1 1 1 -1 1 1
1 -1 1 1 1 1 -1 1 1 1 -1 1 -1
1 -1 1 1 1 1 -1 1 1 1 -1 -1 1
1 -1 1 1 1 1 -1 1 1 1 -1 -1 -1
1 -1 1 1 1 1 -1 1 1 -1 1 1 1
1 -1 1 1 1 1 -1 1 1 -1 1 1 -1
1 -1 1 1 1 1 -1 1 1 -1 1 -1 1
1 -1 1 1 1 1 -1 1 1 -1 1 -1 -1
1 -1 1 1 1 1 -1 1 1 -1 -1 1 1
1 -1 1 1 1 1 -1 1 1 -1 -1 1 -1
1 -1 1 1 1 1 -1 1 1 -1 -1 -1 1
1 -1 1 1 1 1 -1 1 1 -1 -1 -1 -1
1 -1 1 1 1 1 -1 1 -1 1 1 1 1
1 -1 1 1 1 1 -1 1 -1 1 1 1 -1
1 -1 1 1 1 1 -1 1 -1 1 1 -1 1
1 -1 1 1 1 1 -1 1 -1 1 1 -1 -1
1 -1 1 1 1 1 -1 1 -1 1 -1 1 1
1 -1 1 1 1 1 -1 1 -1 1 -1 1 -1
1 -1 1 1 1 1 -1 1 -1 1 -1 -1 1
1 -1 1 1 1 1 -1 1 -1 1 -1 -1 -1
1 -1 1 1 1 1 -1 1 -1 -1 1 1 1
1 -1 1 1 1 1 -1 1 -1 -1 1 1 -1
1 -1 1 1 1 1 -1 1 -1 -1 1 -1 1
1 -1 1 1 1 1 -1 1 -1 -1 1 -1 -1
1 -1 1 1 1 1 -1 1 -1 -1 -1 1 1
1 -1 1 1 1 1 -1 1 -1 -1 -1 1 -1
1 -1 1 1 1 1 -1 1 -1 -1 -1 -1 1
1 -1 1 1 1 1 -1 1 -1 -1 -1 -1 -1
1 -1 1 1 1 1 -1 -1 1 1 1 1 1
1 -1 1 1 1 1 -1 -1 1 1 1 1 -1
1 -1 1 1 1 1 -1 -1 1 1 1 -1 1
1 -1 1 1 1 1 -1 -1 1 1 1 -1 -1
1 -1 1 1 1 1 -1 -1 1 1 -1 1 1
1 -1 1 1 1 1 -1 -1 1 1 -1 1 -1
1 -1 1 1 1 1 -1 -1 1 1 -1 -1 1
1 -1 1 1 1 1 -1 -1 1 1 -1 -1 -1
1 -1 1 1 1 1 -1 -1 1 -1 1 1 1
1 -1 1 1 1 1 -1 -1 1 -1 1 1 -1
1 -1 1 1 1 1 -1 -1 1 -1 1 -1 1
1 -1 1 1 1 1 -1 -1 1 -1 1 -1 -1
1 -1 1 1 1 1 -1 -1 1 -1 -1 1 1
1 -1 1 1 1 1 -1 -1 1 -1 -1 1 -1
1 -1 1 1 1 1 -1 -1 1 -1 -1 -1 1
1 -1 1 1 1 1 -1 -1 1 -1 -1 -1 -1
1 -1 1 1 1 1 -1 -1 -1 1 1 1 1
1 -1 1 1 1 1 -1 -1 -1 1 1 1 -1
1 -1 1 1 1 1 -1 -1 -1 1 1 -1 1
1 -1 1 1 1 1 -1 -1 -1 1 1 -1 -1
1 -1 1 1 1 1 -1 -1 -1 1 -1 1 1
1 -1 1 1 1 1 -1 -1 -1 1 -1 1 -1
1 -1 1 1 1 1 -1 -1 -1 1 -1 -1 1
1 -1 1 1 1 1 -1 -1 -1 1 -1 -1 -1
1 -1 1 1 1 1 -1 -1 -1 -1 1 1 1
1 -1 1 1 1 1 -1 -1 -1 -1 1 1 -1
1 -1 1 1 1 1 -1 -1 -1 -1 1 -1 1
1 -1 1 1 1 1 -1 -1 -1 -1 1 -1 -1
1 -1 1 1 1 1 -1 -1 -1 -1 -1 1 1
1 -1 1 1 1 1 -1 -1 -1 -1 -1 1 -1
1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 1
1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 1 1 -1 1 1 1 1 1 1 1
1 -1 1 1 1 -1 1 1 1 1 1 1 -1
1 -1 1 1 1 -1 1 1 1 1 1 -1 1
1 -1 1 1 1 -1 1 1 1 1 1 -1 -1
1 -1 1 1 1 -1 1 1 1 1 -1 1 1
1 -1 1 1 1 -1 1 1 1 1 -1 1 -1
1 -1 1 1 1 -1 1 1 1 1 -1 -1 1
1 -1 1 1 1 -1 1 1 1 1 -1 -1 -1
1 -1 1 1 1 -1 1 1 1 -1 1 1 1
1 -1 1 1 1 -1 1 1 1 -1 1 1 -1
1 -1 1 1 1 -1 1 1 1 -1 1 -1 1
1 -1 1 1 1 -1 1 1 1 -1 1 -1 -1
1 -1 1 1 1 -1 1 1 1 -1 -1 1 1
1 -1 1 1 1 -1 1 1 1 -1 -1 1 -1
1 -1 1 1 1 -1 1 1 1 -1 -1 -1 1
1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1
1 -1 1 1 1 -1 1 1 -1 1 1 1 1
1 -1 1 1 1 -1 1 1 -1 1 1 1 -1
1 -1 1 1 1 -1 1 1 -1 1 1 -1 1
1 -1 1 1 1 -1 1 1 -1 1 1 -1 -1
1 -1 1 1 1 -1 1 1 -1 1 -1 1 1
1 -1 1 1 1 -1 1 1 -1 1 -1 1 -1
1 -1 1 1 1 -1 1 1 -1 1 -1 -1 1
1 -1 1 1 1 -1 1 1 -1 1 -1 -1 -1
1 -1 1 1 1 -1 1 1 -1 -1 1 1 1
1 -1 1 1 1 -1 1 1 -1 -1 1 1 -1
1 -1 1 1 1 -1 1 1 -1 -1 1 -1 1
1 -1 1 1 1 -1 1 1 -1 -1 1 -1 -1
1 -1 1 1 1 -1 1 1 -1 -1 -1 1 1
1 -1 1 1 1 -1 1 1 -1 -1 -1 1 -1
1 -1 1 1 1 -1 1 1 -1 -1 -1 -1 1
1 -1 1 1 1 -1 1 1 -1 -1 -1 -1 -1
1 -1 1 1 1 -1 1 -1 1 1 1 1 1
1 -1 1 1 1 -1 1 -1 1 1 1 1 -1
1 -1 1 1 1 -1 1 -1 1 1 1 -1 1
1 -1 1 1 1 -1 1 -1 1 1 1 -1 -1
1 -1 1 1 1 -1 1 -1 1 1 -1 1 1
1 -1 1 1 1 -1 1 -1 1 1 -1 1 -1
1 -1 1 1 1 -1 1 -1 1 1 -1 -1 1
1 -1 1 1 1 -1 1 -1 1 1 -1 -1 -1
1 -1 1 1 1 -1 1 -1 1 -1 1 1 1
1 -1 1 1 1 -1 1 -1 1 -1 1 1 -1
1 -1 1 1 1 -1 1 -1 1 -1 1 -1 1
1 -1 1 1 1 -1 1 -1 1 -1 1 -1 -1
1 -1 1 1 1 -1 1 -1 1 -1 -1 1 1
1 -1 1 1 1 -1 1 -1 1 -1 -1 1 -1
1 -1 1 1 1 -1 1 -1 1 -1 -1 -1 1
1 -1 1 1 1 -1 1 -1 1 -1 -1 -1 -1
1 -1 1 1 1 -1 1 -1 -1 1 1 1 1
1 -1 1 1 1 -1 1 -1 -1 1 1 1 -1
1 -1 1 1 1 -1 1 -1 -1 1 1 -1 1
1 -1 1 1 1 -1 1 -1 -1 1 1 -1 -1
1 -1 1 1 1 -1 1 -1 -1 1 -1 1 1
1 -1 1 1 1 -1 1 -1 -1 1 -1 1 -1
1 -1 1 1 1 -1 1 -1 -1 1 -1 -1 1
1 -1 1 1 1 -1 1 -1 -1 1 -1 -1 -1
1 -1 1 1 1 -1 1 -1 -1 -1 1 1 1
1 -1 1 1 1 -1 1 -1 -1 -1 1 1 -1
1 -1 1 1 1 -1 1 -1 -1 -1 1 -1 1
1 -1 1 1 1 -1 1 -1 -1 -1 1 -1 -1
1 -1 1 1 1 -1 1 -1 -1 -1 -1 1 1
1 -1 1 1 1 -1 1 -1 -1 -1 -1 1 -1
1 -1 1 1 1 -1 1 -1 -1 -1 -1 -1 1
1 -1 1 1 1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 1 1 1 -1 -1 1 1 1 1 1 1
1 -1 1 1 1 -1 -1 1 1 1 1 1 -1
1 -1 1 1 1 -1 -1 1 1 1 1 -1 1
1 -1 1 1 1 -1 -1 1 1 1 1 -1 -1
1 -1 1 1 1 -1 -1 1 1 1 -1 1 1
1 -1 1 1 1 -1 -1 1 1 1 -1 1 -1
1 -1 1 1 1 -1 -1 1 1 1 -1 -1 1
1 -1 1 1 1 -1 -1 1 1 1 -1 -1 -1
1 -1 1 1 1 -1 -1 1 1 -1 1 1 1
1 -1 1 1 1 -1 -1 1 1 -1 1 1 -1
1 -1 1 1 1 -1 -1 1 1 -1 1 -1 1
1 -1 1 1 1 -1 -1 1 1 -1 1 -1 -1
1 -1 1 1 1 -1 -1 1 1 -1 -1 1 1
1 -1 1 1 1 -1 -1 1 1 -1 -1 1 -1
1 -1 1 1 1 -1 -1 1 1 -1 -1 -1 1
1 -1 1 1 1 -1 -1 1 1 -1 -1 -1 -1
1 -1 1 1 1 -1 -1 1 -1 1 1 1 1
1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1
1 -1 1 1 1 -1 -1 1 -1 1 1 -1 1
1 -1 1 1 1 -1 -1 1 -1 1 1 -1 -1
1 -1 1 1 1 -1 -1 1 -1 1 -1 1 1
1 -1 1 1 1 -1 -1 1 -1 1 -1 1 -1
1 -1 1 1 1 -1 -1 1 -1 1 -1 -1 1
1 -1 1 1 1 -1 -1 1 -1 1 -1 -1 -1
1 -1 1 1 1 -1 -1 1 -1 -1 1 1 1
1 -1 1 1 1 -1 -1 1 -1 -1 1 1 -1
1 -1 1 1 1 -1 -1 1 -1 -1 1 -1 1
1 -1 1 1 1 -1 -1 1 -1 -1 1 -1 -1
1 -1 1 1 1 -1 -1 1 -1 -1 -1 1 1
1 -1 1 1 1 -1 -1 1 -1 -1 -1 1 -1
1 -1 1 1 1 -1 -1 1 -1 -1 -1 -1 1
1 -1 1 1 1 -1 -1 1 -1 -1 -1 -1 -1
1 -1 1 1 1 -1 -1 -1 1 1 1 1 1
1 -1 1 1 1 -1 -1 -1 1 1 1 1 -1
1 -1 1 1 1 -1 -1 -1 1 1 1 -1 1
1 -1 1 1 1 -1 -1 -1 1 1 1 -1 -1
1 -1 1 1 1 -1 -1 -1 1 1 -1 1 1
1 -1 1 1 1 -1 -1 -1 1 1 -1 1 -1
1 -1 1 1 1 -1 -1 -1 1 1 -1 -1 1
1 -1 1 1 1 -1 -1 -1 1 1 -1 -1 -1
1 -1 1 1 1 -1 -1 -1 1 -1 1 1 1
1 -1 1 1 1 -1 -1 -1 1 -1 1 1 -1
1 -1 1 1 1 -1 -1 -1 1 -1 1 -1 1
1 -1 1 1 1 -1 -1 -1 1 -1 1 -1 -1
1 -1 1 1 1 -1 -1 -1 1 -1 -1 1 1
1 -1 1 1 1 -1 -1 -1 1 -1 -1 1 -1
1 -1 1 1 1 -1 -1 -1 1 -1 -1 -1 1
1 -1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1
1 -1 1 1 1 -1 -1 -1 -1 1 1 1 1
1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1
1 -1 1 1 1 -1 -1 -1 -1 1 1 -1 1
1 -1 1 1 1 -1 -1 -1 -1 1 1 -1 -1
1 -1 1 1 1 -1 -1 -1 -1 1 -1 1 1
1 -1 1 1 1 -1 -1 -1 -1 1 -1 1 -1
1 -1 1 1 1 -1 -1 -1 -1 1 -1 -1 1
1 -1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1
1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1
1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 -1
1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1 1
1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1
1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1
1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 -1
1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1
1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 1 -1 1 1 1 1 1 1 1 1
1 -1 1 1 -1 1 1 1 1 1 1 1 -1
1 -1 1 1 -1 1 1 1 1 1 1 -1 1
1 -1 1 1 -1 1 1 1 1 1 1 -1 -1
1 -1 1 1 -1 1 1 1 1 1 -1 1 1
1 -1 1 1 -1 1 1 1 1 1 -1 1 -1
1 -1 1 1 -1 1 1 1 1 1 -1 -1 1
1 -1 1 1 -1 1 1 1 1 1 -1 -1 -1
1 -1 1 1 -1 1 1 1 1 -1 1 1 1
1 -1 1 1 -1 1 1 1 1 -1 1 1 -1
1 -1 1 1 -1 1 1 1 1 -1 1 -1 1
1 -1 1 1 -1 1 1 1 1 -1 1 -1 -1
1 -1 1 1 -1 1 1 1 1 -1 -1 1 1
1 -1 1 1 -1 1 1 1 1 -1 -1 1 -1
1 -1 1 1 -1 1 1 1 1 -1 -1 -1 1
1 -1 1 1 -1 1 1 1 1 -1 -1 -1 -1
1 -1 1 1 -1 1 1 1 -1 1 1 1 1
1 -1 1 1 -1 1 1 1 -1 1 1 1 -1
1 -1 1 1 -1 1 1 1 -1 1 1 -1 1
1 -1 1 1 -1 1 1 1 -1 1 1 -1 -1
1 -1 1 1 -1 1 1 1 -1 1 -1 1 1
1 -1 1 1 -1 1 1 1 -1 1 -1 1 -1
1 -1 1 1 -1 1 1 1 -1 1 -1 -1 1
1 -1 1 1 -1 1 1 1 -1 1 -1 -1 -1
1 -1 1 1 -1 1 1 1 -1 -1 1 1 1
1 -1 1 1 -1 1 1 1 -1 -1 1 1 -1
1 -1 1 1 -1 1 1 1 -1 -1 1 -1 1
1 -1 1 1 -1 1 1 1 -1 -1 1 -1 -1
1 -1 1 1 -1 1 1 1 -1 -1 -1 1 1
1 -1 1 1 -1 1 1 1 -1 -1 -1 1 -1
1 -1 1 1 -1 1 1 1 -1 -1 -1 -1 1
1 -1 1 1 -1 1 1 1 -1 -1 -1 -1 -1
1 -1 1 1 -1 1 1 -1 1 1 1 1 1
1 -1 1 1 -1 1 1 -1 1 1 1 1 -1
1 -1 1 1 -1 1 1 -1 1 1 1 -1 1
1 -1 1 1 -1 1 1 -1 1 1 1 -1 -1
1 -1 1 1 -1 1 1 -1 1 1 -1 1 1
1 -1 1 1 -1 1 1 -1 1 1 -1 1 -1
1 -1 1 1 -1 1 1 -1 1 1 -1 -1 1
1 -1 1 1 -1 1 1 -1 1 1 -1 -1 -1
1 -1 1 1 -1 1 1 -1 1 -1 1 1 1
1 -1 1 1 -1 1 1 -1 1 -1 1 1 -1
1 -1 1 1 -1 1 1 -1 1 -1 1 -1 1
1 -1 1 1 -1 1 1 -1 1 -1 1 -1 -1
1 -1 1 1 -1 1 1 -1 1 -1 -1 1 1
1 -1 1 1 -1 1 1 -1 1 -1 -1 1 -1
1 -1 1 1 -1 1 1 -1 1 -1 -1 -1 1
1 -1 1 1 -1 1 1 -1 1 -1 -1 -1 -1
1 -1 1 1 -1 1 1 -1 -1 1 1 1 1
1 -1 1 1 -1 1 1 -1 -1 1 1 1 -1
1 -1 1 1 -1 1 1 -1 -1 1 1 -1 1
1 -1 1 1 -1 1 1 -1 -1 1 1 -1 -1
1 -1 1 1 -1 1 1 -1 -1 1 -1 1 1
1 -1 1 1 -1 1 1 -1 -1 1 -1 1 -1
1 -1 1 1 -1 1 1 -1 -1 1 -1 -1 1
1 -1 1 1 -1 1 1 -1 -1 1 -1 -1 -1
1 -1 1 1 -1 1 1 -1 -1 -1 1 1 1
1 -1 1 1 -1 1 1 -1 -1 -1 1 1 -1
1 -1 1 1 -1 1 1 -1 -1 -1 1 -1 1
1 -1 1 1 -1 1 1 -1 -1 -1 1 -1 -1
1 -1 1 1 -1 1 1 -1 -1 -1 -1 1 1
1 -1 1 1 -1 1 1 -1 -1 -1 -1 1 -1
1 -1 1 1 -1 1 1 -1 -1 -1 -1 -1 1
1 -1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1
1 -1 1 1 -1 1 -1 1 1 1 1 1 1
1 -1 1 1 -1 1 -1 1 1 1 1 1 -1
1 -1 1 1 -1 1 -1 1 1 1 1 -1 1
1 -1 1 1 -1 1 -1 1 1 1 1 -1 -1
1 -1 1 1 -1 1 -1 1 1 1 -1 1 1
1 -1 1 1 -1 1 -1 1 1 1 -1 1 -1
1 -1 1 1 -1 1 -1 1 1 1 -1 -1 1
1 -1 1 1 -1 1 -1 1 1 1 -1 -1 -1
1 -1 1 1 -1 1 -1 1 1 -1 1 1 1
1 -1 1 1 -1 1 -1 1 1 -1 1 1 -1
1 -1 1 1 -1 1 -1 1 1 -1 1 -1 1
1 -1 1 1 -1 1 -1 1 1 -1 1 -1 -1
1 -1 1 1 -1 1 -1 1 1 -1 -1 1 1
1 -1 1 1 -1 1 -1 1 1 -1 -1 1 -1
1 -1 1 1 -1 1 -1 1 1 -1 -1 -1 1
1 -1 1 1 -1 1 -1 1 1 -1 -1 -1 -1
1 -1 1 1 -1 1 -1 1 -1 1 1 1 1
1 -1 1 1 -1 1 -1 1 -1 1 1 1 -1
1 -1 1 1 -1 1 -1 1 -1 1 1 -1 1
1 -1 1 1 -1 1 -1 1 -1 1 1 -1 -1
1 -1 1 1 -1 1 -1 1 -1 1 -1 1 1
1 -1 1 1 -1 1 -1 1 -1 1 -1 1 -1
1 -1 1 1 -1 1 -1 1 -1 1 -1 -1 1
1 -1 1 1 -1 1 -1 1 -1 1 -1 -1 -1
1 -1 1 1 -1 1 -1 1 -1 -1 1 1 1
1 -1 1 1 -1 1 -1 1 -1 -1 1 1 -1
1 -1 1 1 -1 1 -1 1 -1 -1 1 -1 1
1 -1 1 1 -1 1 -1 1 -1 -1 1 -1 -1
1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 1
1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 -1
1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1 1
1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1
1 -1 1 1 -1 1 -1 -1 1 1 1 1 1
1 -1 1 1 -1 1 -1 -1 1 1 1 1 -1
1 -1 1 1 -1 1 -1 -1 1 1 1 -1 1
1 -1 1 1 -1 1 -1 -1 1 1 1 -1 -1
1 -1 1 1 -1 1 -1 -1 1 1 -1 1 1
1 -1 1 1 -1 1 -1 -1 1 1 -1 1 -1
1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 1
1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 -1
1 -1 1 1 -1 1 -1 -1 1 -1 1 1 1
1 -1 1 1 -1 1 -1 -1 1 -1 1 1 -1
1 -1 1 1 -1 1 -1 -1 1 -1 1 -1 1
1 -1 1 1 -1 1 -1 -1 1 -1 1 -1 -1
1 -1 1 1 -1 1 -1 -1 1 -1 -1 1 1
1 -1 1 1 -1 1 -1 -1 1 -1 -1 1 -1
1 -1 1 1 -1 1 -1 -1 1 -1 -1 -1 1
1 -1 1 1 -1 1 -1 -1 1 -1 -1 -1 -1
1 -1 1 1 -1 1 -1 -1 -1 1 1 1 1
1 -1 1 1 -1 1 -1 -1 -1 1 1 1 -1
1 -1 1 1 -1 1 -1 -1 -1 1 1 -1 1
1 -1 1 1 -1 1 -1 -1 -1 1 1 -1 -1
1 -1 1 1 -1 1 -1 -1 -1 1 -1 1 1
1 -1 1 1 -1 1 -1 -1 -1 1 -1 1 -1
1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1 1
1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1
1 -1 1 1 -1 1 -1 -1 -1 -1 1 1 1
1 -1 1 1 -1 1 -1 -1 -1 -1 1 1 -1
1 -1 1 1 -1 1 -1 -1 -1 -1 1 -1 1
1 -1 1 1 -1 1 -1 -1 -1 -1 1 -1 -1
1 -1 1 1 -1 1 -1 -1 -1 -1 -1 1 1
1 -1 1 1 -1 1 -1 -1 -1 -1 -1 1 -1
1 -1 1 1 -1 1 -1 -1 -1 -1 -1 -1 1
1 -1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 1 -1 -1 1 1 1 1 1 1 1
1 -1 1 1 -1 -1 1 1 1 1 1 1 -1
1 -1 1 1 -1 -1 1 1 1 1 1 -1 1
1 -1 1 1 -1 -1 1 1 1 1 1 -1 -1
1 -1 1 1 -1 -1 1 1 1 1 -1 1 1
1 -1 1 1 -1 -1 1 1 1 1 -1 1 -1
1 -1 1 1 -1 -1 1 1 1 1 -1 -1 1
1 -1 1 1 -1 -1 1 1 1 1 -1 -1 -1
1 -1 1 1 -1 -1 1 1 1 -1 1 1 1
1 -1 1 1 -1 -1 1 1 1 -1 1 1 -1
1 -1 1 1 -1 -1 1 1 1 -1 1 -1 1
1 -1 1 1 -1 -1 1 1 1 -1 1 -1 -1
1 -1 1 1 -1 -1 1 1 1 -1 -1 1 1
1 -1 1 1 -1 -1 1 1 1 -1 -1 1 -1
1 -1 1 1 -1 -1 1 1 1 -1 -1 -1 1
1 -1 1 1 -1 -1 1 1 1 -1 -1 -1 -1
1 -1 1 1 -1 -1 1 1 -1 1 1 1 1
1 -1 1 1 -1 -1 1 1 -1 1 1 1 -1
1 -1 1 1 -1 -1 1 1 -1 1 1 -1 1
1 -1 1 1 -1 -1 1 1 -1 1 1 -1 -1
1 -1 1 1 -1 -1 1 1 -1 1 -1 1 1
1 -1 1 1 -1 -1 1 1 -1 1 -1 1 -1
1 -1 1 1 -1 -1 1 1 -1 1 -1 -1 1
1 -1 1 1 -1 -1 1 1 -1 1 -1 -1 -1
1 -1 1 1 -1 -1 1 1 -1 -1 1 1 1
1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1
1 -1 1 1 -1 -1 1 1 -1 -1 1 -1 1
1 -1 1 1 -1 -1 1 1 -1 -1 1 -1 -1
1 -1 1 1 -1 -1 1 1 -1 -1 -1 1 1
1 -1 1 1 -1 -1 1 1 -1 -1 -1 1 -1
1 -1 1 1 -1 -1 1 1 -1 -1 -1 -1 1
1 -1 1 1 -1 -1 1 1 -1 -1 -1 -1 -1
1 -1 1 1 -1 -1 1 -1 1 1 1 1 1
1 -1 1 1 -1 -1 1 -1 1 1 1 1 -1
1 -1 1 1 -1 -1 1 -1 1 1 1 -1 1
1 -1 1 1 -1 -1 1 -1 1 1 1 -1 -1
1 -1 1 1 -1 -1 1 -1 1 1 -1 1 1
1 -1 1 1 -1 -1 1 -1 1 1 -1 1 -1
1 -1 1 1 -1 -1 1 -1 1 1 -1 -1 1
1 -1 1 1 -1 -1 1 -1 1 1 -1 -1 -1
1 -1 1 1 -1 -1 1 -1 1 -1 1 1 1
1 -1 1 1 -1 -1 1 -1 1 -1 1 1 -1
1 -1 1 1 -1 -1 1 -1 1 -1 1 -1 1
1 -1 1 1 -1 -1 1 -1 1 -1 1 -1 -1
1 -1 1 1 -1 -1 1 -1 1 -1 -1 1 1
1 -1 1 1 -1 -1 1 -1 1 -1 -1 1 -1
1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1 1
1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1 -1
1 -1 1 1 -1 -1 1 -1 -1 1 1 1 1
1 -1 1 1 -1 -1 1 -1 -1 1 1 1 -1
1 -1 1 1 -1 -1 1 -1 -1 1 1 -1 1
1 -1 1 1 -1 -1 1 -1 -1 1 1 -1 -1
1 -1 1 1 -1 -1 1 -1 -1 1 -1 1 1
1 -1 1 1 -1 -1 1 -1 -1 1 -1 1 -1
1 -1 1 1 -1 -1 1 -1 -1 1 -1 -1 1
1 -1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1
1 -1 1 1 -1 -1 1 -1 -1 -1 1 1 1
1 -1 1 1 -1 -1 1 -1 -1 -1 1 1 -1
1 -1 1 1 -1 -1 1 -1 -1 -1 1 -1 1
1 -1 1 1 -1 -1 1 -1 -1 -1 1 -1 -1
1 -1 1 1 -1 -1 1 -1 -1 -1 -1 1 1
1 -1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1
1 -1 1 1 -1 -1 1 -1 -1 -1 -1 -1 1
1 -1 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 1 1 -1 -1 -1 1 1 1 1 1 1
1 -1 1 1 -1 -1 -1 1 1 1 1 1 -1
1 -1 1 1 -1 -1 -1 1 1 1 1 -1 1
1 -1 1 1 -1 -1 -1 1 1 1 1 -1 -1
1 -1 1 1 -1 -1 -1 1 1 1 -1 1 1
1 -1 1 1 -1 -1 -1 1 1 1 -1 1 -1
1 -1 1 1 -1 -1 -1 1 1 1 -1 -1 1
1 -1 1 1 -1 -1 -1 1 1 1 -1 -1 -1
1 -1 1 1 -1 -1 -1 1 1 -1 1 1 1
1 -1 1 1 -1 -1 -1 1 1 -1 1 1 -1
1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 1
1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 -1
1 -1 1 1 -1 -1 -1 1 1 -1 -1 1 1
1 -1 1 1 -1 -1 -1 1 1 -1 -1 1 -1
1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1
1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 -1
1 -1 1 1 -1 -1 -1 1 -1 1 1 1 1
1 -1 1 1 -1 -1 -1 1 -1 1 1 1 -1
1 -1 1 1 -1 -1 -1 1 -1 1 1 -1 1
1 -1 1 1 -1 -1 -1 1 -1 1 1 -1 -1
1 -1 1 1 -1 -1 -1 1 -1 1 -1 1 1
1 -1 1 1 -1 -1 -1 1 -1 1 -1 1 -1
1 -1 1 1 -1 -1 -1 1 -1 1 -1 -1 1
1 -1 1 1 -1 -1 -1 1 -1 1 -1 -1 -1
1 -1 1 1 -1 -1 -1 1 -1 -1 1 1 1
1 -1 1 1 -1 -1 -1 1 -1 -1 1 1 -1
1 -1 1 1 -1 -1 -1 1 -1 -1 1 -1 1
1 -1 1 1 -1 -1 -1 1 -1 -1 1 -1 -1
1 -1 1 1 -1 -1 -1 1 -1 -1 -1 1 1
1 -1 1 1 -1 -1 -1 1 -1 -1 -1 1 -1
1 -1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1
1 -1 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1
1 -1 1 1 -1 -1 -1 -1 1 1 1 1 1
1 -1 1 1 -1 -1 -1 -1 1 1 1 1 -1
1 -1 1 1 -1 -1 -1 -1 1 1 1 -1 1
1 -1 1 1 -1 -1 -1 -1 1 1 1 -1 -1
1 -1 1 1 -1 -1 -1 -1 1 1 -1 1 1
1 -1 1 1 -1 -1 -1 -1 1 1 -1 1 -1
1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 1
1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1
1 -1 1 1 -1 -1 -1 -1 1 -1 1 1 1
1 -1 1 1 -1 -1 -1 -1 1 -1 1 1 -1
1 -1 1 1 -1 -1 -1 -1 1 -1 1 -1 1
1 -1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1
1 -1 1 1 -1 -1 -1 -1 1 -1 -1 1 1
1 -1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1
1 -1 1 1 -1 -1 -1 -1 1 -1 -1 -1 1
1 -1 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1
1 -1 1 1 -1 -1 -1 -1 -1 1 1 1 1
1 -1 1 1 -1 -1 -1 -1 -1 1 1 1 -1
1 -1 1 1 -1 -1 -1 -1 -1 1 1 -1 1
1 -1 1 1 -1 -1 -1 -1 -1 1 1 -1 -1
1 -1 1 1 -1 -1 -1 -1 -1 1 -1 1 1
1 -1 1 1 -1 -1 -1 -1 -1 1 -1 1 -1
1 -1 1 1 -1 -1 -1 -1 -1 1 -1 -1 1
1 -1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1
1 -1 1 1 -1 -1 -1 -1 -1 -1 1 1 1
1 -1 1 1 -1 -1 -1 -1 -1 -1 1 1 -1
1 -1 1 1 -1 -1 -1 -1 -1 -1 1 -1 1
1 -1 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1
1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1
1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1
1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1
1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 1 1 1 1 1 1 1 1 1
1 -1 1 -1 1 1 1 1 1 1 1 1 -1
1 -1 1 -1 1 1 1 1 1 1 1 -1 1
1 -1 1 -1 1 1 1 1 1 1 1 -1 -1
1 -1 1 -1 1 1 1 1 1 1 -1 1 1
1 -1 1 -1 1 1 1 1 1 1 -1 1 -1
1 -1 1 -1 1 1 1 1 1 1 -1 -1 1
1 -1 1 -1 1 1 1 1 1 1 -1 -1 -1
1 -1 1 -1 1 1 1 1 1 -1 1 1 1
1 -1 1 -1 1 1 1 1 1 -1 1 1 -1
1 -1 1 -1 1 1 1 1 1 -1 1 -1 1
1 -1 1 -1 1 1 1 1 1 -1 1 -1 -1
1 -1 1 -1 1 1 1 1 1 -1 -1 1 1
1 -1 1 -1 1 1 1 1 1 -1 -1 1 -1
1 -1 1 -1 1 1 1 1 1 -1 -1 -1 1
1 -1 1 -1 1 1 1 1 1 -1 -1 -1 -1
1 -1 1 -1 1 1 1 1 -1 1 1 1 1
1 -1 1 -1 1 1 1 1 -1 1 1 1 -1
1 -1 1 -1 1 1 1 1 -1 1 1 -1 1
1 -1 1 -1 1 1 1 1 -1 1 1 -1 -1
1 -1 1 -1 1 1 1 1 -1 1 -1 1 1
1 -1 1 -1 1 1 1 1 -1 1 -1 1 -1
1 -1 1 -1 1 1 1 1 -1 1 -1 -1 1
1 -1 1 -1 1 1 1 1 -1 1 -1 -1 -1
1 -1 1 -1 1 1 1 1 -1 -1 1 1 1
1 -1 1 -1 1 1 1 1 -1 -1 1 1 -1
1 -1 1 -1 1 1 1 1 -1 -1 1 -1 1
1 -1 1 -1 1 1 1 1 -1 -1 1 -1 -1
1 -1 1 -1 1 1 1 1 -1 -1 -1 1 1
1 -1 1 -1 1 1 1 1 -1 -1 -1 1 -1
1 -1 1 -1 1 1 1 1 -1 -1 -1 -1 1
1 -1 1 -1 1 1 1 1 -1 -1 -1 -1 -1
1 -1 1 -1 1 1 1 -1 1 1 1 1 1
1 -1 1 -1 1 1 1 -1 1 1 1 1 -1
1 -1 1 -1 1 1 1 -1 1 1 1 -1 1
1 -1 1 -1 1 1 1 -1 1 1 1 -1 -1
1 -1 1 -1 1 1 1 -1 1 1 -1 1 1
1 -1 1 -1 1 1 1 -1 1 1 -1 1 -1
1 -1 1 -1 1 1 1 -1 1 1 -1 -1 1
1 -1 1 -1 1 1 1 -1 1 1 -1 -1 -1
1 -1 1 -1 1 1 1 -1 1 -1 1 1 1
1 -1 1 -1 1 1 1 -1 1 -1 1 1 -1
1 -1 1 -1 1 1 1 -1 1 -1 1 -1 1
1 -1 1 -1 1 1 1 -1 1 -1 1 -1 -1
1 -1 1 -1 1 1 1 -1 1 -1 -1 1 1
1 -1 1 -1 1 1 1 -1 1 -1 -1 1 -1
1 -1 1 -1 1 1 1 -1 1 -1 -1 -1 1
1 -1 1 -1 1 1 1 -1 1 -1 -1 -1 -1
1 -1 1 -1 1 1 1 -1 -1 1 1 1 1
1 -1 1 -1 1 1 1 -1 -1 1 1 1 -1
1 -1 1 -1 1 1 1 -1 -1 1 1 -1 1
1 -1 1 -1 1 1 1 -1 -1 1 1 -1 -1
1 -1 1 -1 1 1 1 -1 -1 1 -1 1 1
1 -1 1 -1 1 1 1 -1 -1 1 -1 1 -1
1 -1 1 -1 1 1 1 -1 -1 1 -1 -1 1
1 -1 1 -1 1 1 1 -1 -1 1 -1 -1 -1
1 -1 1 -1 1 1 1 -1 -1 -1 1 1 1
1 -1 1 -1 1 1 1 -1 -1 -1 1 1 -1
1 -1 1 -1 1 1 1 -1 -1 -1 1 -1 1
1 -1 1 -1 1 1 1 -1 -1 -1 1 -1 -1
1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 1
1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 -1
1 -1 1 -1 1 1 1 -1 -1 -1 -1 -1 1
1 -1 1 -1 1 1 1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 1 1 -1 1 1 1 1 1 1
1 -1 1 -1 1 1 -1 1 1 1 1 1 -1
1 -1 1 -1 1 1 -1 1 1 1 1 -1 1
1 -1 1 -1 1 1 -1 1 1 1 1 -1 -1
1 -1 1 -1 1 1 -1 1 1 1 -1 1 1
1 -1 1 -1 1 1 -1 1 1 1 -1 1 -1
1 -1 1 -1 1 1 -1 1 1 1 -1 -1 1
1 -1 1 -1 1 1 -1 1 1 1 -1 -1 -1
1 -1 1 -1 1 1 -1 1 1 -1 1 1 1
1 -1 1 -1 1 1 -1 1 1 -1 1 1 -1
1 -1 1 -1 1 1 -1 1 1 -1 1 -1 1
1 -1 1 -1 1 1 -1 1 1 -1 1 -1 -1
1 -1 1 -1 1 1 -1 1 1 -1 -1 1 1
1 -1 1 -1 1 1 -1 1 1 -1 -1 1 -1
1 -1 1 -1 1 1 -1 1 1 -1 -1 -1 1
1 -1 1 -1 1 1 -1 1 1 -1 -1 -1 -1
1 -1 1 -1 1 1 -1 1 -1 1 1 1 1
1 -1 1 -1 1 1 -1 1 -1 1 1 1 -1
1 -1 1 -1 1 1 -1 1 -1 1 1 -1 1
1 -1 1 -1 1 1 -1 1 -1 1 1 -1 -1
1 -1 1 -1 1 1 -1 1 -1 1 -1 1 1
1 -1 1 -1 1 1 -1 1 -1 1 -1 1 -1
1 -1 1 -1 1 1 -1 1 -1 1 -1 -1 1
1 -1 1 -1 1 1 -1 1 -1 1 -1 -1 -1
1 -1 1 -1 1 1 -1 1 -1 -1 1 1 1
1 -1 1 -1 1 1 -1 1 -1 -1 1 1 -1
1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 1
1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 -1
1 -1 1 -1 1 1 -1 1 -1 -1 -1 1 1
1 -1 1 -1 1 1 -1 1 -1 -1 -1 1 -1
1 -1 1 -1 1 1 -1 1 -1 -1 -1 -1 1
1 -1 1 -1 1 1 -1 1 -1 -1 -1 -1 -1
1 -1 1 -1 1 1 -1 -1 1 1 1 1 1
1 -1 1 -1 1 1 -1 -1 1 1 1 1 -1
1 -1 1 -1 1 1 -1 -1 1 1 1 -1 1
1 -1 1 -1 1 1 -1 -1 1 1 1 -1 -1
1 -1 1 -1 1 1 -1 -1 1 1 -1 1 1
1 -1 1 -1 1 1 -1 -1 1 1 -1 1 -1
1 -1 1 -1 1 1 -1 -1 1 1 -1 -1 1
1 -1 1 -1 1 1 -1 -1 1 1 -1 -1 -1
1 -1 1 -1 1 1 -1 -1 1 -1 1 1 1
1 -1 1 -1 1 1 -1 -1 1 -1 1 1 -1
1 -1 1 -1 1 1 -1 -1 1 -1 1 -1 1
1 -1 1 -1 1 1 -1 -1 1 -1 1 -1 -1
1 -1 1 -1 1 1 -1 -1 1 -1 -1 1 1
1 -1 1 -1 1 1 -1 -1 1 -1 -1 1 -1
1 -1 1 -1 1 1 -1 -1 1 -1 -1 -1 1
1 -1 1 -1 1 1 -1 -1 1 -1 -1 -1 -1
1 -1 1 -1 1 1 -1 -1 -1 1 1 1 1
1 -1 1 -1 1 1 -1 -1 -1 1 1 1 -1
1 -1 1 -1 1 1 -1 -1 -1 1 1 -1 1
1 -1 1 -1 1 1 -1 -1 -1 1 1 -1 -1
1 -1 1 -1 1 1 -1 -1 -1 1 -1 1 1
1 -1 1 -1 1 1 -1 -1 -1 1 -1 1 -1
1 -1 1 -1 1 1 -1 -1 -1 1 -1 -1 1
1 -1 1 -1 1 1 -1 -1 -1 1 -1 -1 -1
1 -1 1 -1 1 1 -1 -1 -1 -1 1 1 1
1 -1 1 -1 1 1 -1 -1 -1 -1 1 1 -1
1 -1 1 -1 1 1 -1 -1 -1 -1 1 -1 1
1 -1 1 -1 1 1 -1 -1 -1 -1 1 -1 -1
1 -1 1 -1 1 1 -1 -1 -1 -1 -1 1 1
1 -1 1 -1 1 1 -1 -1 -1 -1 -1 1 -1
1 -1 1 -1 1 1 -1 -1 -1 -1 -1 -1 1
1 -1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 1 -1 1 1 1 1 1 1 1
1 -1 1 -1 1 -1 1 1 1 1 1 1 -1
1 -1 1 -1 1 -1 1 1 1 1 1 -1 1
1 -1 1 -1 1 -1 1 1 1 1 1 -1 -1
1 -1 1 -1 1 -1 1 1 1 1 -1 1 1
1 -1 1 -1 1 -1 1 1 1 1 -1 1 -1
1 -1 1 -1 1 -1 1 1 1 1 -1 -1 1
1 -1 1 -1 1 -1 1 1 1 1 -1 -1 -1
1 -1 1 -1 1 -1 1 1 1 -1 1 1 1
1 -1 1 -1 1 -1 1 1 1 -1 1 1 -1
1 -1 1 -1 1 -1 1 1 1 -1 1 -1 1
1 -1 1 -1 1 -1 1 1 1 -1 1 -1 -1
1 -1 1 -1 1 -1 1 1 1 -1 -1 1 1
1 -1 1 -1 1 -1 1 1 1 -1 -1 1 -1
1 -1 1 -1 1 -1 1 1 1 -1 -1 -1 1
1 -1 1 -1 1 -1 1 1 1 -1 -1 -1 -1
1 -1 1 -1 1 -1 1 1 -1 1 1 1 1
1 -1 1 -1 1 -1 1 1 -1 1 1 1 -1
1 -1 1 -1 1 -1 1 1 -1 1 1 -1 1
1 -1 1 -1 1 -1 1 1 -1 1 1 -1 -1
1 -1 1 -1 1 -1 1 1 -1 1 -1 1 1
1 -1 1 -1 1 -1 1 1 -1 1 -1 1 -1
1 -1 1 -1 1 -1 1 1 -1 1 -1 -1 1
1 -1 1 -1 1 -1 1 1 -1 1 -1 -1 -1
1 -1 1 -1 1 -1 1 1 -1 -1 1 1 1
1 -1 1 -1 1 -1 1 1 -1 -1 1 1 -1
1 -1 1 -1 1 -1 1 1 -1 -1 1 -1 1
1 -1 1 -1 1 -1 1 1 -1 -1 1 -1 -1
1 -1 1 -1 1 -1 1 1 -1 -1 -1 1 1
1 -1 1 -1 1 -1 1 1 -1 -1 -1 1 -1
1 -1 1 -1 1 -1 1 1 -1 -1 -1 -1 1
1 -1 1 -1 1 -1 1 1 -1 -1 -1 -1 -1
1 -1 1 -1 1 -1 1 -1 1 1 1 1 1
1 -1 1 -1 1 -1 1 -1 1 1 1 1 -1
1 -1 1 -1 1 -1 1 -1 1 1 1 -1 1
1 -1 1 -1 1 -1 1 -1 1 1 1 -1 -1
1 -1 1 -1 1 -1 1 -1 1 1 -1 1 1
1 -1 1 -1 1 -1 1 -1 1 1 -1 1 -1
1 -1 1 -1 1 -1 1 -1 1 1 -1 -1 1
1 -1 1 -1 1 -1 1 -1 1 1 -1 -1 -1
1 -1 1 -1 1 -1 1 -1 1 -1 1 1 1
1 -1 1 -1 1 -1 1 -1 1 -1 1 1 -1
1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1
1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 -1
1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 1
1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 -1
1 -1 1 -1 1 -1 1 -1 1 -1 -1 -1 1
1 -1 1 -1 1 -1 1 -1 1 -1 -1 -1 -1
1 -1 1 -1 1 -1 1 -1 -1 1 1 1 1
1 -1 1 -1 1 -1 1 -1 -1 1 1 1 -1
1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1
1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 -1
1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 1
1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 -1
1 -1 1 -1 1 -1 1 -1 -1 1 -1 -1 1
1 -1 1 -1 1 -1 1 -1 -1 1 -1 -1 -1
1 -1 1 -1 1 -1 1 -1 -1 -1 1 1 1
1 -1 1 -1 1 -1 1 -1 -1 -1 1 1 -1
1 -1 1 -1 1 -1 1 -1 -1 -1 1 -1 1
1 -1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1
1 -1 1 -1 1 -1 1 -1 -1 -1 -1 1 1
1 -1 1 -1 1 -1 1 -1 -1 -1 -1 1 -1
1 -1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1
1 -1 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 1 -1 -1 1 1 1 1 1 1
1 -1 1 -1 1 -1 -1 1 1 1 1 1 -1
1 -1 1 -1 1 -1 -1 1 1 1 1 -1 1
1 -1 1 -1 1 -1 -1 1 1 1 1 -1 -1
1 -1 1 -1 1 -1 -1 1 1 1 -1 1 1
1 -1 1 -1 1 -1 -1 1 1 1 -1 1 -1
1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1
1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 -1
1 -1 1 -1 1 -1 -1 1 1 -1 1 1 1
1 -1 1 -1 1 -1 -1 1 1 -1 1 1 -1
1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 1
1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1
1 -1 1 -1 1 -1 -1 1 1 -1 -1 1 1
1 -1 1 -1 1 -1 -1 1 1 -1 -1 1 -1
1 -1 1 -1 1 -1 -1 1 1 -1 -1 -1 1
1 -1 1 -1 1 -1 -1 1 1 -1 -1 -1 -1
1 -1 1 -1 1 -1 -1 1 -1 1 1 1 1
1 -1 1 -1 1 -1 -1 1 -1 1 1 1 -1
1 -1 1 -1 1 -1 -1 1 -1 1 1 -1 1
1 -1 1 -1 1 -1 -1 1 -1 1 1 -1 -1
1 -1 1 -1 1 -1 -1 1 -1 1 -1 1 1
1 -1 1 -1 1 -1 -1 1 -1 1 -1 1 -1
1 -1 1 -1 1 -1 -1 1 -1 1 -1 -1 1
1 -1 1 -1 1 -1 -1 1 -1 1 -1 -1 -1
1 -1 1 -1 1 -1 -1 1 -1 -1 1 1 1
1 -1 1 -1 1 -1 -1 1 -1 -1 1 1 -1
1 -1 1 -1 1 -1 -1 1 -1 -1 1 -1 1
1 -1 1 -1 1 -1 -1 1 -1 -1 1 -1 -1
1 -1 1 -1 1 -1 -1 1 -1 -1 -1 1 1
1 -1 1 -1 1 -1 -1 1 -1 -1 -1 1 -1
1 -1 1 -1 1 -1 -1 1 -1 -1 -1 -1 1
1 -1 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1
1 -1 1 -1 1 -1 -1 -1 1 1 1 1 1
1 -1 1 -1 1 -1 -1 -1 1 1 1 1 -1
1 -1 1 -1 1 -1 -1 -1 1 1 1 -1 1
1 -1 1 -1 1 -1 -1 -1 1 1 1 -1 -1
1 -1 1 -1 1 -1 -1 -1 1 1 -1 1 1
1 -1 1 -1 1 -1 -1 -1 1 1 -1 1 -1
1 -1 1 -1 1 -1 -1 -1 1 1 -1 -1 1
1 -1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1
1 -1 1 -1 1 -1 -1 -1 1 -1 1 1 1
1 -1 1 -1 1 -1 -1 -1 1 -1 1 1 -1
1 -1 1 -1 1 -1 -1 -1 1 -1 1 -1 1
1 -1 1 -1 1 -1 -1 -1 1 -1 1 -1 -1
1 -1 1 -1 1 -1 -1 -1 1 -1 -1 1 1
1 -1 1 -1 1 -1 -1 -1 1 -1 -1 1 -1
1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1
1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1
1 -1 1 -1 1 -1 -1 -1 -1 1 1 1 1
1 -1 1 -1 1 -1 -1 -1 -1 1 1 1 -1
1 -1 1 -1 1 -1 -1 -1 -1 1 1 -1 1
1 -1 1 -1 1 -1 -1 -1 -1 1 1 -1 -1
1 -1 1 -1 1 -1 -1 -1 -1 1 -1 1 1
1 -1 1 -1 1 -1 -1 -1 -1 1 -1 1 -1
1 -1 1 -1 1 -1 -1 -1 -1 1 -1 -1 1
1 -1 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1
1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 1
1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1
1 -1 1 -1 1 -1 -1 -1 -1 -1 1 -1 1
1 -1 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1
1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 1 1
1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1
1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1
1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 -1 1 1 1 1 1 1 1 1
1 -1 1 -1 -1 1 1 1 1 1 1 1 -1
1 -1 1 -1 -1 1 1 1 1 1 1 -1 1
1 -1 1 -1 -1 1 1 1 1 1 1 -1 -1
1 -1 1 -1 -1 1 1 1 1 1 -1 1 1
1 -1 1 -1 -1 1 1 1 1 1 -1 1 -1
1 -1 1 -1 -1 1 1 1 1 1 -1 -1 1
1 -1 1 -1 -1 1 1 1 1 1 -1 -1 -1
1 -1 1 -1 -1 1 1 1 1 -1 1 1 1
1 -1 1 -1 -1 1 1 1 1 -1 1 1 -1
1 -1 1 -1 -1 1 1 1 1 -1 1 -1 1
1 -1 1 -1 -1 1 1 1 1 -1 1 -1 -1
1 -1 1 -1 -1 1 1 1 1 -1 -1 1 1
1 -1 1 -1 -1 1 1 1 1 -1 -1 1 -1
1 -1 1 -1 -1 1 1 1 1 -1 -1 -1 1
1 -1 1 -1 -1 1 1 1 1 -1 -1 -1 -1
1 -1 1 -1 -1 1 1 1 -1 1 1 1 1
1 -1 1 -1 -1 1 1 1 -1 1 1 1 -1
1 -1 1 -1 -1 1 1 1 -1 1 1 -1 1
1 -1 1 -1 -1 1 1 1 -1 1 1 -1 -1
1 -1 1 -1 -1 1 1 1 -1 1 -1 1 1
1 -1 1 -1 -1 1 1 1 -1 1 -1 1 -1
1 -1 1 -1 -1 1 1 1 -1 1 -1 -1 1
1 -1 1 -1 -1 1 1 1 -1 1 -1 -1 -1
1 -1 1 -1 -1 1 1 1 -1 -1 1 1 1
1 -1 1 -1 -1 1 1 1 -1 -1 1 1 -1
1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1
1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 -1
1 -1 1 -1 -1 1 1 1 -1 -1 -1 1 1
1 -1 1 -1 -1 1 1 1 -1 -1 -1 1 -1
1 -1 1 -1 -1 1 1 1 -1 -1 -1 -1 1
1 -1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1
1 -1 1 -1 -1 1 1 -1 1 1 1 1 1
1 -1 1 -1 -1 1 1 -1 1 1 1 1 -1
1 -1 1 -1 -1 1 1 -1 1 1 1 -1 1
1 -1 1 -1 -1 1 1 -1 1 1 1 -1 -1
1 -1 1 -1 -1 1 1 -1 1 1 -1 1 1
1 -1 1 -1 -1 1 1 -1 1 1 -1 1 -1
1 -1 1 -1 -1 1 1 -1 1 1 -1 -1 1
1 -1 1 -1 -1 1 1 -1 1 1 -1 -1 -1
1 -1 1 -1 -1 1 1 -1 1 -1 1 1 1
1 -1 1 -1 -1 1 1 -1 1 -1 1 1 -1
1 -1 1 -1 -1 1 1 -1 1 -1 1 -1 1
1 -1 1 -1 -1 1 1 -1 1 -1 1 -1 -1
1 -1 1 -1 -1 1 1 -1 1 -1 -1 1 1
1 -1 1 -1 -1 1 1 -1 1 -1 -1 1 -1
1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1 1
1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1 -1
1 -1 1 -1 -1 1 1 -1 -1 1 1 1 1
1 -1 1 -1 -1 1 1 -1 -1 1 1 1 -1
1 -1 1 -1 -1 1 1 -1 -1 1 1 -1 1
1 -1 1 -1 -1 1 1 -1 -1 1 1 -1 -1
1 -1 1 -1 -1 1 1 -1 -1 1 -1 1 1
1 -1 1 -1 -1 1 1 -1 -1 1 -1 1 -1
1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1 1
1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1 -1
1 -1 1 -1 -1 1 1 -1 -1 -1 1 1 1
1 -1 1 -1 -1 1 1 -1 -1 -1 1 1 -1
1 -1 1 -1 -1 1 1 -1 -1 -1 1 -1 1
1 -1 1 -1 -1 1 1 -1 -1 -1 1 -1 -1
1 -1 1 -1 -1 1 1 -1 -1 -1 -1 1 1
1 -1 1 -1 -1 1 1 -1 -1 -1 -1 1 -1
1 -1 1 -1 -1 1 1 -1 -1 -1 -1 -1 1
1 -1 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 -1 1 -1 1 1 1 1 1 1
1 -1 1 -1 -1 1 -1 1 1 1 1 1 -1
1 -1 1 -1 -1 1 -1 1 1 1 1 -1 1
1 -1 1 -1 -1 1 -1 1 1 1 1 -1 -1
1 -1 1 -1 -1 1 -1 1 1 1 -1 1 1
1 -1 1 -1 -1 1 -1 1 1 1 -1 1 -1
1 -1 1 -1 -1 1 -1 1 1 1 -1 -1 1
1 -1 1 -1 -1 1 -1 1 1 1 -1 -1 -1
1 -1 1 -1 -1 1 -1 1 1 -1 1 1 1
1 -1 1 -1 -1 1 -1 1 1 -1 1 1 -1
1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 1
1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 -1
1 -1 1 -1 -1 1 -1 1 1 -1 -1 1 1
1 -1 1 -1 -1 1 -1 1 1 -1 -1 1 -1
1 -1 1 -1 -1 1 -1 1 1 -1 -1 -1 1
1 -1 1 -1 -1 1 -1 1 1 -1 -1 -1 -1
1 -1 1 -1 -1 1 -1 1 -1 1 1 1 1
1 -1 1 -1 -1 1 -1 1 -1 1 1 1 -1
1 -1 1 -1 -1 1 -1 1 -1 1 1 -1 1
1 -1 1 -1 -1 1 -1 1 -1 1 1 -1 -1
1 -1 1 -1 -1 1 -1 1 -1 1 -1 1 1
1 -1 1 -1 -1 1 -1 1 -1 1 -1 1 -1
1 -1 1 -1 -1 1 -1 1 -1 1 -1 -1 1
1 -1 1 -1 -1 1 -1 1 -1 1 -1 -1 -1
1 -1 1 -1 -1 1 -1 1 -1 -1 1 1 1
1 -1 1 -1 -1 1 -1 1 -1 -1 1 1 -1
1 -1 1 -1 -1 1 -1 1 -1 -1 1 -1 1
1 -1 1 -1 -1 1 -1 1 -1 -1 1 -1 -1
1 -1 1 -1 -1 1 -1 1 -1 -1 -1 1 1
1 -1 1 -1 -1 1 -1 1 -1 -1 -1 1 -1
1 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1 1
1 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1
1 -1 1 -1 -1 1 -1 -1 1 1 1 1 1
1 -1 1 -1 -1 1 -1 -1 1 1 1 1 -1
1 -1 1 -1 -1 1 -1 -1 1 1 1 -1 1
1 -1 1 -1 -1 1 -1 -1 1 1 1 -1 -1
1 -1 1 -1 -1 1 -1 -1 1 1 -1 1 1
1 -1 1 -1 -1 1 -1 -1 1 1 -1 1 -1
1 -1 1 -1 -1 1 -1 -1 1 1 -1 -1 1
1 -1 1 -1 -1 1 -1 -1 1 1 -1 -1 -1
1 -1 1 -1 -1 1 -1 -1 1 -1 1 1 1
1 -1 1 -1 -1 1 -1 -1 1 -1 1 1 -1
1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1 1
1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1 -1
1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1 1
1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1
1 -1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1
1 -1 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1
1 -1 1 -1 -1 1 -1 -1 -1 1 1 1 1
1 -1 1 -1 -1 1 -1 -1 -1 1 1 1 -1
1 -1 1 -1 -1 1 -1 -1 -1 1 1 -1 1
1 -1 1 -1 -1 1 -1 -1 -1 1 1 -1 -1
1 -1 1 -1 -1 1 -1 -1 -1 1 -1 1 1
1 -1 1 -1 -1 1 -1 -1 -1 1 -1 1 -1
1 -1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1
1 -1 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1
1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1 1
1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1
1 -1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1
1 -1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1
1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 1 1
1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1
1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1
1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 -1 -1 1 1 1 1 1 1 1
1 -1 1 -1 -1 -1 1 1 1 1 1 1 -1
1 -1 1 -1 -1 -1 1 1 1 1 1 -1 1
1 -1 1 -1 -1 -1 1 1 1 1 1 -1 -1
1 -1 1 -1 -1 -1 1 1 1 1 -1 1 1
1 -1 1 -1 -1 -1 1 1 1 1 -1 1 -1
1 -1 1 -1 -1 -1 1 1 1 1 -1 -1 1
1 -1 1 -1 -1 -1 1 1 1 1 -1 -1 -1
1 -1 1 -1 -1 -1 1 1 1 -1 1 1 1
1 -1 1 -1 -1 -1 1 1 1 -1 1 1 -1
1 -1 1 -1 -1 -1 1 1 1 -1 1 -1 1
1 -1 1 -1 -1 -1 1 1 1 -1 1 -1 -1
1 -1 1 -1 -1 -1 1 1 1 -1 -1 1 1
1 -1 1 -1 -1 -1 1 1 1 -1 -1 1 -1
1 -1 1 -1 -1 -1 1 1 1 -1 -1 -1 1
1 -1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1
1 -1 1 -1 -1 -1 1 1 -1 1 1 1 1
1 -1 1 -1 -1 -1 1 1 -1 1 1 1 -1
1 -1 1 -1 -1 -1 1 1 -1 1 1 -1 1
1 -1 1 -1 -1 -1 1 1 -1 1 1 -1 -1
1 -1 1 -1 -1 -1 1 1 -1 1 -1 1 1
1 -1 1 -1 -1 -1 1 1 -1 1 -1 1 -1
1 -1 1 -1 -1 -1 1 1 -1 1 -1 -1 1
1 -1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1
1 -1 1 -1 -1 -1 1 1 -1 -1 1 1 1
1 -1 1 -1 -1 -1 1 1 -1 -1 1 1 -1
1 -1 1 -1 -1 -1 1 1 -1 -1 1 -1 1
1 -1 1 -1 -1 -1 1 1 -1 -1 1 -1 -1
1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1 1
1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1
1 -1 1 -1 -1 -1 1 1 -1 -1 -1 -1 1
1 -1 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1
1 -1 1 -1 -1 -1 1 -1 1 1 1 1 1
1 -1 1 -1 -1 -1 1 -1 1 1 1 1 -1
1 -1 1 -1 -1 -1 1 -1 1 1 1 -1 1
1 -1 1 -1 -1 -1 1 -1 1 1 1 -1 -1
1 -1 1 -1 -1 -1 1 -1 1 1 -1 1 1
1 -1 1 -1 -1 -1 1 -1 1 1 -1 1 -1
1 -1 1 -1 -1 -1 1 -1 1 1 -1 -1 1
1 -1 1 -1 -1 -1 1 -1 1 1 -1 -1 -1
1 -1 1 -1 -1 -1 1 -1 1 -1 1 1 1
1 -1 1 -1 -1 -1 1 -1 1 -1 1 1 -1
1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1 1
1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1
1 -1 1 -1 -1 -1 1 -1 1 -1 -1 1 1
1 -1 1 -1 -1 -1 1 -1 1 -1 -1 1 -1
1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1 1
1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1
1 -1 1 -1 -1 -1 1 -1 -1 1 1 1 1
1 -1 1 -1 -1 -1 1 -1 -1 1 1 1 -1
1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1 1
1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1
1 -1 1 -1 -1 -1 1 -1 -1 1 -1 1 1
1 -1 1 -1 -1 -1 1 -1 -1 1 -1 1 -1
1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1 1
1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1
1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1 1
1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1 -1
1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1
1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1
1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1
1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1
1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1
1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 -1 -1 -1 1 1 1 1 1 1
1 -1 1 -1 -1 -1 -1 1 1 1 1 1 -1
1 -1 1 -1 -1 -1 -1 1 1 1 1 -1 1
1 -1 1 -1 -1 -1 -1 1 1 1 1 -1 -1
1 -1 1 -1 -1 -1 -1 1 1 1 -1 1 1
1 -1 1 -1 -1 -1 -1 1 1 1 -1 1 -1
1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1 1
1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1
1 -1 1 -1 -1 -1 -1 1 1 -1 1 1 1
1 -1 1 -1 -1 -1 -1 1 1 -1 1 1 -1
1 -1 1 -1 -1 -1 -1 1 1 -1 1 -1 1
1 -1 1 -1 -1 -1 -1 1 1 -1 1 -1 -1
1 -1 1 -1 -1 -1 -1 1 1 -1 -1 1 1
1 -1 1 -1 -1 -1 -1 1 1 -1 -1 1 -1
1 -1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1
1 -1 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1
1 -1 1 -1 -1 -1 -1 1 -1 1 1 1 1
1 -1 1 -1 -1 -1 -1 1 -1 1 1 1 -1
1 -1 1 -1 -1 -1 -1 1 -1 1 1 -1 1
1 -1 1 -1 -1 -1 -1 1 -1 1 1 -1 -1
1 -1 1 -1 -1 -1 -1 1 -1 1 -1 1 1
1 -1 1 -1 -1 -1 -1 1 -1 1 -1 1 -1
1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1
1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1
1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1 1
1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1 -1
1 -1 1 -1 -1 -1 -1 1 -1 -1 1 -1 1
1 -1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1 1
1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1
1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1
1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1
1 -1 1 -1 -1 -1 -1 -1 1 1 1 1 1
1 -1 1 -1 -1 -1 -1 -1 1 1 1 1 -1
1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1 1
1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1
1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1 1
1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1
1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1
1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1
1 -1 1 -1 -1 -1 -1 -1 1 -1 1 1 1
1 -1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1
1 -1 1 -1 -1 -1 -1 -1 1 -1 1 -1 1
1 -1 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1
1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 1 1
1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1
1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1
1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1
1 -1 1 -1 -1 -1 -1 -1 -1 1 1 1 1
1 -1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1
1 -1 1 -1 -1 -1 -1 -1 -1 1 1 -1 1
1 -1 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1
1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1 1
1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1
1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1
1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1
1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1
1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1
1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1
1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1
1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1
1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1
1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 1 1 1 1 1 1 1 1 1
1 -1 -1 1 1 1 1 1 1 1 1 1 -1
1 -1 -1 1 1 1 1 1 1 1 1 -1 1
1 -1 -1 1 1 1 1 1 1 1 1 -1 -1
1 -1 -1 1 1 1 1 1 1 1 -1 1 1
1 -1 -1 1 1 1 1 1 1 1 -1 1 -1
1 -1 -1 1 1 1 1 1 1 1 -1 -1 1
1 -1 -1 1 1 1 1 1 1 1 -1 -1 -1
1 -1 -1 1 1 1 1 1 1 -1 1 1 1
1 -1 -1 1 1 1 1 1 1 -1 1 1 -1
1 -1 -1 1 1 1 1 1 1 -1 1 -1 1
1 -1 -1 1 1 1 1 1 1 -1 1 -1 -1
1 -1 -1 1 1 1 1 1 1 -1 -1 1 1
1 -1 -1 1 1 1 1 1 1 -1 -1 1 -1
1 -1 -1 1 1 1 1 1 1 -1 -1 -1 1
1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1
1 -1 -1 1 1 1 1 1 -1 1 1 1 1
1 -1 -1 1 1 1 1 1 -1 1 1 1 -1
1 -1 -1 1 1 1 1 1 -1 1 1 -1 1
1 -1 -1 1 1 1 1 1 -1 1 1 -1 -1
1 -1 -1 1 1 1 1 1 -1 1 -1 1 1
1 -1 -1 1 1 1 1 1 -1 1 -1 1 -1
1 -1 -1 1 1 1 1 1 -1 1 -1 -1 1
1 -1 -1 1 1 1 1 1 -1 1 -1 -1 -1
1 -1 -1 1 1 1 1 1 -1 -1 1 1 1
1 -1 -1 1 1 1 1 1 -1 -1 1 1 -1
1 -1 -1 1 1 1 1 1 -1 -1 1 -1 1
1 -1 -1 1 1 1 1 1 -1 -1 1 -1 -1
1 -1 -1 1 1 1 1 1 -1 -1 -1 1 1
1 -1 -1 1 1 1 1 1 -1 -1 -1 1 -1
1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1
1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1
1 -1 -1 1 1 1 1 -1 1 1 1 1 1
1 -1 -1 1 1 1 1 -1 1 1 1 1 -1
1 -1 -1 1 1 1 1 -1 1 1 1 -1 1
1 -1 -1 1 1 1 1 -1 1 1 1 -1 -1
1 -1 -1 1 1 1 1 -1 1 1 -1 1 1
1 -1 -1 1 1 1 1 -1 1 1 -1 1 -1
1 -1 -1 1 1 1 1 -1 1 1 -1 -1 1
1 -1 -1 1 1 1 1 -1 1 1 -1 -1 -1
1 -1 -1 1 1 1 1 -1 1 -1 1 1 1
1 -1 -1 1 1 1 1 -1 1 -1 1 1 -1
1 -1 -1 1 1 1 1 -1 1 -1 1 -1 1
1 -1 -1 1 1 1 1 -1 1 -1 1 -1 -1
1 -1 -1 1 1 1 1 -1 1 -1 -1 1 1
1 -1 -1 1 1 1 1 -1 1 -1 -1 1 -1
1 -1 -1 1 1 1 1 -1 1 -1 -1 -1 1
1 -1 -1 1 1 1 1 -1 1 -1 -1 -1 -1
1 -1 -1 1 1 1 1 -1 -1 1 1 1 1
1 -1 -1 1 1 1 1 -1 -1 1 1 1 -1
1 -1 -1 1 1 1 1 -1 -1 1 1 -1 1
1 -1 -1 1 1 1 1 -1 -1 1 1 -1 -1
1 -1 -1 1 1 1 1 -1 -1 1 -1 1 1
1 -1 -1 1 1 1 1 -1 -1 1 -1 1 -1
1 -1 -1 1 1 1 1 -1 -1 1 -1 -1 1
1 -1 -1 1 1 1 1 -1 -1 1 -1 -1 -1
1 -1 -1 1 1 1 1 -1 -1 -1 1 1 1
1 -1 -1 1 1 1 1 -1 -1 -1 1 1 -1
1 -1 -1 1 1 1 1 -1 -1 -1 1 -1 1
1 -1 -1 1 1 1 1 -1 -1 -1 1 -1 -1
1 -1 -1 1 1 1 1 -1 -1 -1 -1 1 1
1 -1 -1 1 1 1 1 -1 -1 -1 -1 1 -1
1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 1
1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 1 1 -1 1 1 1 1 1 1
1 -1 -1 1 1 1 -1 1 1 1 1 1 -1
1 -1 -1 1 1 1 -1 1 1 1 1 -1 1
1 -1 -1 1 1 1 -1 1 1 1 1 -1 -1
1 -1 -1 1 1 1 -1 1 1 1 -1 1 1
1 -1 -1 1 1 1 -1 1 1 1 -1 1 -1
1 -1 -1 1 1 1 -1 1 1 1 -1 -1 1
1 -1 -1 1 1 1 -1 1 1 1 -1 -1 -1
1 -1 -1 1 1 1 -1 1 1 -1 1 1 1
1 -1 -1 1 1 1 -1 1 1 -1 1 1 -1
1 -1 -1 1 1 1 -1 1 1 -1 1 -1 1
1 -1 -1 1 1 1 -1 1 1 -1 1 -1 -1
1 -1 -1 1 1 1 -1 1 1 -1 -1 1 1
1 -1 -1 1 1 1 -1 1 1 -1 -1 1 -1
1 -1 -1 1 1 1 -1 1 1 -1 -1 -1 1
1 -1 -1 1 1 1 -1 1 1 -1 -1 -1 -1
1 -1 -1 1 1 1 -1 1 -1 1 1 1 1
1 -1 -1 1 1 1 -1 1 -1 1 1 1 -1
1 -1 -1 1 1 1 -1 1 -1 1 1 -1 1
1 -1 -1 1 1 1 -1 1 -1 1 1 -1 -1
1 -1 -1 1 1 1 -1 1 -1 1 -1 1 1
1 -1 -1 1 1 1 -1 1 -1 1 -1 1 -1
1 -1 -1 1 1 1 -1 1 -1 1 -1 -1 1
1 -1 -1 1 1 1 -1 1 -1 1 -1 -1 -1
1 -1 -1 1 1 1 -1 1 -1 -1 1 1 1
1 -1 -1 1 1 1 -1 1 -1 -1 1 1 -1
1 -1 -1 1 1 1 -1 1 -1 -1 1 -1 1
1 -1 -1 1 1 1 -1 1 -1 -1 1 -1 -1
1 -1 -1 1 1 1 -1 1 -1 -1 -1 1 1
1 -1 -1 1 1 1 -1 1 -1 -1 -1 1 -1
1 -1 -1 1 1 1 -1 1 -1 -1 -1 -1 1
1 -1 -1 1 1 1 -1 1 -1 -1 -1 -1 -1
1 -1 -1 1 1 1 -1 -1 1 1 1 1 1
1 -1 -1 1 1 1 -1 -1 1 1 1 1 -1
1 -1 -1 1 1 1 -1 -1 1 1 1 -1 1
1 -1 -1 1 1 1 -1 -1 1 1 1 -1 -1
1 -1 -1 1 1 1 -1 -1 1 1 -1 1 1
1 -1 -1 1 1 1 -1 -1 1 1 -1 1 -1
1 -1 -1 1 1 1 -1 -1 1 1 -1 -1 1
1 -1 -1 1 1 1 -1 -1 1 1 -1 -1 -1
1 -1 -1 1 1 1 -1 -1 1 -1 1 1 1
1 -1 -1 1 1 1 -1 -1 1 -1 1 1 -1
1 -1 -1 1 1 1 -1 -1 1 -1 1 -1 1
1 -1 -1 1 1 1 -1 -1 1 -1 1 -1 -1
1 -1 -1 1 1 1 -1 -1 1 -1 -1 1 1
1 -1 -1 1 1 1 -1 -1 1 -1 -1 1 -1
1 -1 -1 1 1 1 -1 -1 1 -1 -1 -1 1
1 -1 -1 1 1 1 -1 -1 1 -1 -1 -1 -1
1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1
1 -1 -1 1 1 1 -1 -1 -1 1 1 1 -1
1 -1 -1 1 1 1 -1 -1 -1 1 1 -1 1
1 -1 -1 1 1 1 -1 -1 -1 1 1 -1 -1
1 -1 -1 1 1 1 -1 -1 -1 1 -1 1 1
1 -1 -1 1 1 1 -1 -1 -1 1 -1 1 -1
1 -1 -1 1 1 1 -1 -1 -1 1 -1 -1 1
1 -1 -1 1 1 1 -1 -1 -1 1 -1 -1 -1
1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1
1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 -1
1 -1 -1 1 1 1 -1 -1 -1 -1 1 -1 1
1 -1 -1 1 1 1 -1 -1 -1 -1 1 -1 -1
1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1
1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1
1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1
1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 1 -1 1 1 1 1 1 1 1
1 -1 -1 1 1 -1 1 1 1 1 1 1 -1
1 -1 -1 1 1 -1 1 1 1 1 1 -1 1
1 -1 -1 1 1 -1 1 1 1 1 1 -1 -1
1 -1 -1 1 1 -1 1 1 1 1 -1 1 1
1 -1 -1 1 1 -1 1 1 1 1 -1 1 -1
1 -1 -1 1 1 -1 1 1 1 1 -1 -1 1
1 -1 -1 1 1 -1 1 1 1 1 -1 -1 -1
1 -1 -1 1 1 -1 1 1 1 -1 1 1 1
1 -1 -1 1 1 -1 1 1 1 -1 1 1 -1
1 -1 -1 1 1 -1 1 1 1 -1 1 -1 1
1 -1 -1 1 1 -1 1 1 1 -1 1 -1 -1
1 -1 -1 1 1 -1 1 1 1 -1 -1 1 1
1 -1 -1 1 1 -1 1 1 1 -1 -1 1 -1
1 -1 -1 1 1 -1 1 1 1 -1 -1 -1 1
1 -1 -1 1 1 -1 1 1 1 -1 -1 -1 -1
1 -1 -1 1 1 -1 1 1 -1 1 1 1 1
1 -1 -1 1 1 -1 1 1 -1 1 1 1 -1
1 -1 -1 1 1 -1 1 1 -1 1 1 -1 1
1 -1 -1 1 1 -1 1 1 -1 1 1 -1 -1
1 -1 -1 1 1 -1 1 1 -1 1 -1 1 1
1 -1 -1 1 1 -1 1 1 -1 1 -1 1 -1
1 -1 -1 1 1 -1 1 1 -1 1 -1 -1 1
1 -1 -1 1 1 -1 1 1 -1 1 -1 -1 -1
1 -1 -1 1 1 -1 1 1 -1 -1 1 1 1
1 -1 -1 1 1 -1 1 1 -1 -1 1 1 -1
1 -1 -1 1 1 -1 1 1 -1 -1 1 -1 1
1 -1 -1 1 1 -1 1 1 -1 -1 1 -1 -1
1 -1 -1 1 1 -1 1 1 -1 -1 -1 1 1
1 -1 -1 1 1 -1 1 1 -1 -1 -1 1 -1
1 -1 -1 1 1 -1 1 1 -1 -1 -1 -1 1
1 -1 -1 1 1 -1 1 1 -1 -1 -1 -1 -1
1 -1 -1 1 1 -1 1 -1 1 1 1 1 1
1 -1 -1 1 1 -1 1 -1 1 1 1 1 -1
1 -1 -1 1 1 -1 1 -1 1 1 1 -1 1
1 -1 -1 1 1 -1 1 -1 1 1 1 -1 -1
1 -1 -1 1 1 -1 1 -1 1 1 -1 1 1
1 -1 -1 1 1 -1 1 -1 1 1 -1 1 -1
1 -1 -1 1 1 -1 1 -1 1 1 -1 -1 1
1 -1 -1 1 1 -1 1 -1 1 1 -1 -1 -1
1 -1 -1 1 1 -1 1 -1 1 -1 1 1 1
1 -1 -1 1 1 -1 1 -1 1 -1 1 1 -1
1 -1 -1 1 1 -1 1 -1 1 -1 1 -1 1
1 -1 -1 1 1 -1 1 -1 1 -1 1 -1 -1
1 -1 -1 1 1 -1 1 -1 1 -1 -1 1 1
1 -1 -1 1 1 -1 1 -1 1 -1 -1 1 -1
1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 1
1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1
1 -1 -1 1 1 -1 1 -1 -1 1 1 1 1
1 -1 -1 1 1 -1 1 -1 -1 1 1 1 -1
1 -1 -1 1 1 -1 1 -1 -1 1 1 -1 1
1 -1 -1 1 1 -1 1 -1 -1 1 1 -1 -1
1 -1 -1 1 1 -1 1 -1 -1 1 -1 1 1
1 -1 -1 1 1 -1 1 -1 -1 1 -1 1 -1
1 -1 -1 1 1 -1 1 -1 -1 1 -1 -1 1
1 -1 -1 1 1 -1 1 -1 -1 1 -1 -1 -1
1 -1 -1 1 1 -1 1 -1 -1 -1 1 1 1
1 -1 -1 1 1 -1 1 -1 -1 -1 1 1 -1
1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1 1
1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1
1 -1 -1 1 1 -1 1 -1 -1 -1 -1 1 1
1 -1 -1 1 1 -1 1 -1 -1 -1 -1 1 -1
1 -1 -1 1 1 -1 1 -1 -1 -1 -1 -1 1
1 -1 -1 1 1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 1 -1 -1 1 1 1 1 1 1
1 -1 -1 1 1 -1 -1 1 1 1 1 1 -1
1 -1 -1 1 1 -1 -1 1 1 1 1 -1 1
1 -1 -1 1 1 -1 -1 1 1 1 1 -1 -1
1 -1 -1 1 1 -1 -1 1 1 1 -1 1 1
1 -1 -1 1 1 -1 -1 1 1 1 -1 1 -1
1 -1 -1 1 1 -1 -1 1 1 1 -1 -1 1
1 -1 -1 1 1 -1 -1 1 1 1 -1 -1 -1
1 -1 -1 1 1 -1 -1 1 1 -1 1 1 1
1 -1 -1 1 1 -1 -1 1 1 -1 1 1 -1
1 -1 -1 1 1 -1 -1 1 1 -1 1 -1 1
1 -1 -1 1 1 -1 -1 1 1 -1 1 -1 -1
1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1
1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 -1
1 -1 -1 1 1 -1 -1 1 1 -1 -1 -1 1
1 -1 -1 1 1 -1 -1 1 1 -1 -1 -1 -1
1 -1 -1 1 1 -1 -1 1 -1 1 1 1 1
1 -1 -1 1 1 -1 -1 1 -1 1 1 1 -1
1 -1 -1 1 1 -1 -1 1 -1 1 1 -1 1
1 -1 -1 1 1 -1 -1 1 -1 1 1 -1 -1
1 -1 -1 1 1 -1 -1 1 -1 1 -1 1 1
1 -1 -1 1 1 -1 -1 1 -1 1 -1 1 -1
1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1 1
1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1
1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 1
1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 -1
1 -1 -1 1 1 -1 -1 1 -1 -1 1 -1 1
1 -1 -1 1 1 -1 -1 1 -1 -1 1 -1 -1
1 -1 -1 1 1 -1 -1 1 -1 -1 -1 1 1
1 -1 -1 1 1 -1 -1 1 -1 -1 -1 1 -1
1 -1 -1 1 1 -1 -1 1 -1 -1 -1 -1 1
1 -1 -1 1 1 -1 -1 1 -1 -1 -1 -1 -1
1 -1 -1 1 1 -1 -1 -1 1 1 1 1 1
1 -1 -1 1 1 -1 -1 -1 1 1 1 1 -1
1 -1 -1 1 1 -1 -1 -1 1 1 1 -1 1
1 -1 -1 1 1 -1 -1 -1 1 1 1 -1 -1
1 -1 -1 1 1 -1 -1 -1 1 1 -1 1 1
1 -1 -1 1 1 -1 -1 -1 1 1 -1 1 -1
1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 1
1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1
1 -1 -1 1 1 -1 -1 -1 1 -1 1 1 1
1 -1 -1 1 1 -1 -1 -1 1 -1 1 1 -1
1 -1 -1 1 1 -1 -1 -1 1 -1 1 -1 1
1 -1 -1 1 1 -1 -1 -1 1 -1 1 -1 -1
1 -1 -1 1 1 -1 -1 -1 1 -1 -1 1 1
1 -1 -1 1 1 -1 -1 -1 1 -1 -1 1 -1
1 -1 -1 1 1 -1 -1 -1 1 -1 -1 -1 1
1 -1 -1 1 1 -1 -1 -1 1 -1 -1 -1 -1
1 -1 -1 1 1 -1 -1 -1 -1 1 1 1 1
1 -1 -1 1 1 -1 -1 -1 -1 1 1 1 -1
1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1 1
1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1
1 -1 -1 1 1 -1 -1 -1 -1 1 -1 1 1
1 -1 -1 1 1 -1 -1 -1 -1 1 -1 1 -1
1 -1 -1 1 1 -1 -1 -1 -1 1 -1 -1 1
1 -1 -1 1 1 -1 -1 -1 -1 1 -1 -1 -1
1 -1 -1 1 1 -1 -1 -1 -1 -1 1 1 1
1 -1 -1 1 1 -1 -1 -1 -1 -1 1 1 -1
1 -1 -1 1 1 -1 -1 -1 -1 -1 1 -1 1
1 -1 -1 1 1 -1 -1 -1 -1 -1 1 -1 -1
1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 1 1
1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 1 -1
1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 1
1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 -1 1 1 1 1 1 1 1 1
1 -1 -1 1 -1 1 1 1 1 1 1 1 -1
1 -1 -1 1 -1 1 1 1 1 1 1 -1 1
1 -1 -1 1 -1 1 1 1 1 1 1 -1 -1
1 -1 -1 1 -1 1 1 1 1 1 -1 1 1
1 -1 -1 1 -1 1 1 1 1 1 -1 1 -1
1 -1 -1 1 -1 1 1 1 1 1 -1 -1 1
1 -1 -1 1 -1 1 1 1 1 1 -1 -1 -1
1 -1 -1 1 -1 1 1 1 1 -1 1 1 1
1 -1 -1 1 -1 1 1 1 1 -1 1 1 -1
1 -1 -1 1 -1 1 1 1 1 -1 1 -1 1
1 -1 -1 1 -1 1 1 1 1 -1 1 -1 -1
1 -1 -1 1 -1 1 1 1 1 -1 -1 1 1
1 -1 -1 1 -1 1 1 1 1 -1 -1 1 -1
1 -1 -1 1 -1 1 1 1 1 -1 -1 -1 1
1 -1 -1 1 -1 1 1 1 1 -1 -1 -1 -1
1 -1 -1 1 -1 1 1 1 -1 1 1 1 1
1 -1 -1 1 -1 1 1 1 -1 1 1 1 -1
1 -1 -1 1 -1 1 1 1 -1 1 1 -1 1
1 -1 -1 1 -1 1 1 1 -1 1 1 -1 -1
1 -1 -1 1 -1 1 1 1 -1 1 -1 1 1
1 -1 -1 1 -1 1 1 1 -1 1 -1 1 -1
1 -1 -1 1 -1 1 1 1 -1 1 -1 -1 1
1 -1 -1 1 -1 1 1 1 -1 1 -1 -1 -1
1 -1 -1 1 -1 1 1 1 -1 -1 1 1 1
1 -1 -1 1 -1 1 1 1 -1 -1 1 1 -1
1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1
1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 -1
1 -1 -1 1 -1 1 1 1 -1 -1 -1 1 1
1 -1 -1 1 -1 1 1 1 -1 -1 -1 1 -1
1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1 1
1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1 -1
1 -1 -1 1 -1 1 1 -1 1 1 1 1 1
1 -1 -1 1 -1 1 1 -1 1 1 1 1 -1
1 -1 -1 1 -1 1 1 -1 1 1 1 -1 1
1 -1 -1 1 -1 1 1 -1 1 1 1 -1 -1
1 -1 -1 1 -1 1 1 -1 1 1 -1 1 1
1 -1 -1 1 -1 1 1 -1 1 1 -1 1 -1
1 -1 -1 1 -1 1 1 -1 1 1 -1 -1 1
1 -1 -1 1 -1 1 1 -1 1 1 -1 -1 -1
1 -1 -1 1 -1 1 1 -1 1 -1 1 1 1
1 -1 -1 1 -1 1 1 -1 1 -1 1 1 -1
1 -1 -1 1 -1 1 1 -1 1 -1 1 -1 1
1 -1 -1 1 -1 1 1 -1 1 -1 1 -1 -1
1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 1
1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 -1
1 -1 -1 1 -1 1 1 -1 1 -1 -1 -1 1
1 -1 -1 1 -1 1 1 -1 1 -1 -1 -1 -1
1 -1 -1 1 -1 1 1 -1 -1 1 1 1 1
1 -1 -1 1 -1 1 1 -1 -1 1 1 1 -1
1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 1
1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 -1
1 -1 -1 1 -1 1 1 -1 -1 1 -1 1 1
1 -1 -1 1 -1 1 1 -1 -1 1 -1 1 -1
1 -1 -1 1 -1 1 1 -1 -1 1 -1 -1 1
1 -1 -1 1 -1 1 1 -1 -1 1 -1 -1 -1
1 -1 -1 1 -1 1 1 -1 -1 -1 1 1 1
1 -1 -1 1 -1 1 1 -1 -1 -1 1 1 -1
1 -1 -1 1 -1 1 1 -1 -1 -1 1 -1 1
1 -1 -1 1 -1 1 1 -1 -1 -1 1 -1 -1
1 -1 -1 1 -1 1 1 -1 -1 -1 -1 1 1
1 -1 -1 1 -1 1 1 -1 -1 -1 -1 1 -1
1 -1 -1 1 -1 1 1 -1 -1 -1 -1 -1 1
1 -1 -1 1 -1 1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 -1 1 -1 1 1 1 1 1 1
1 -1 -1 1 -1 1 -1 1 1 1 1 1 -1
1 -1 -1 1 -1 1 -1 1 1 1 1 -1 1
1 -1 -1 1 -1 1 -1 1 1 1 1 -1 -1
1 -1 -1 1 -1 1 -1 1 1 1 -1 1 1
1 -1 -1 1 -1 1 -1 1 1 1 -1 1 -1
1 -1 -1 1 -1 1 -1 1 1 1 -1 -1 1
1 -1 -1 1 -1 1 -1 1 1 1 -1 -1 -1
1 -1 -1 1 -1 1 -1 1 1 -1 1 1 1
1 -1 -1 1 -1 1 -1 1 1 -1 1 1 -1
1 -1 -1 1 -1 1 -1 1 1 -1 1 -1 1
1 -1 -1 1 -1 1 -1 1 1 -1 1 -1 -1
1 -1 -1 1 -1 1 -1 1 1 -1 -1 1 1
1 -1 -1 1 -1 1 -1 1 1 -1 -1 1 -1
1 -1 -1 1 -1 1 -1 1 1 -1 -1 -1 1
1 -1 -1 1 -1 1 -1 1 1 -1 -1 -1 -1
1 -1 -1 1 -1 1 -1 1 -1 1 1 1 1
1 -1 -1 1 -1 1 -1 1 -1 1 1 1 -1
1 -1 -1 1 -1 1 -1 1 -1 1 1 -1 1
1 -1 -1 1 -1 1 -1 1 -1 1 1 -1 -1
1 -1 -1 1 -1 1 -1 1 -1 1 -1 1 1
1 -1 -1 1 -1 1 -1 1 -1 1 -1 1 -1
1 -1 -1 1 -1 1 -1 1 -1 1 -1 -1 1
1 -1 -1 1 -1 1 -1 1 -1 1 -1 -1 -1
1 -1 -1 1 -1 1 -1 1 -1 -1 1 1 1
1 -1 -1 1 -1 1 -1 1 -1 -1 1 1 -1
1 -1 -1 1 -1 1 -1 1 -1 -1 1 -1 1
1 -1 -1 1 -1 1 -1 1 -1 -1 1 -1 -1
1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1 1
1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1 -1
1 -1 -1 1 -1 1 -1 1 -1 -1 -1 -1 1
1 -1 -1 1 -1 1 -1 1 -1 -1 -1 -1 -1
1 -1 -1 1 -1 1 -1 -1 1 1 1 1 1
1 -1 -1 1 -1 1 -1 -1 1 1 1 1 -1
1 -1 -1 1 -1 1 -1 -1 1 1 1 -1 1
1 -1 -1 1 -1 1 -1 -1 1 1 1 -1 -1
1 -1 -1 1 -1 1 -1 -1 1 1 -1 1 1
1 -1 -1 1 -1 1 -1 -1 1 1 -1 1 -1
1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1 1
1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1 -1
1 -1 -1 1 -1 1 -1 -1 1 -1 1 1 1
1 -1 -1 1 -1 1 -1 -1 1 -1 1 1 -1
1 -1 -1 1 -1 1 -1 -1 1 -1 1 -1 1
1 -1 -1 1 -1 1 -1 -1 1 -1 1 -1 -1
1 -1 -1 1 -1 1 -1 -1 1 -1 -1 1 1
1 -1 -1 1 -1 1 -1 -1 1 -1 -1 1 -1
1 -1 -1 1 -1 1 -1 -1 1 -1 -1 -1 1
1 -1 -1 1 -1 1 -1 -1 1 -1 -1 -1 -1
1 -1 -1 1 -1 1 -1 -1 -1 1 1 1 1
1 -1 -1 1 -1 1 -1 -1 -1 1 1 1 -1
1 -1 -1 1 -1 1 -1 -1 -1 1 1 -1 1
1 -1 -1 1 -1 1 -1 -1 -1 1 1 -1 -1
1 -1 -1 1 -1 1 -1 -1 -1 1 -1 1 1
1 -1 -1 1 -1 1 -1 -1 -1 1 -1 1 -1
1 -1 -1 1 -1 1 -1 -1 -1 1 -1 -1 1
1 -1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1
1 -1 -1 1 -1 1 -1 -1 -1 -1 1 1 1
1 -1 -1 1 -1 1 -1 -1 -1 -1 1 1 -1
1 -1 -1 1 -1 1 -1 -1 -1 -1 1 -1 1
1 -1 -1 1 -1 1 -1 -1 -1 -1 1 -1 -1
1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1
1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1 -1
1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 1
1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 -1 -1 1 1 1 1 1 1 1
1 -1 -1 1 -1 -1 1 1 1 1 1 1 -1
1 -1 -1 1 -1 -1 1 1 1 1 1 -1 1
1 -1 -1 1 -1 -1 1 1 1 1 1 -1 -1
1 -1 -1 1 -1 -1 1 1 1 1 -1 1 1
1 -1 -1 1 -1 -1 1 1 1 1 -1 1 -1
1 -1 -1 1 -1 -1 1 1 1 1 -1 -1 1
1 -1 -1 1 -1 -1 1 1 1 1 -1 -1 -1
1 -1 -1 1 -1 -1 1 1 1 -1 1 1 1
1 -1 -1 1 -1 -1 1 1 1 -1 1 1 -1
1 -1 -1 1 -1 -1 1 1 1 -1 1 -1 1
1 -1 -1 1 -1 -1 1 1 1 -1 1 -1 -1
1 -1 -1 1 -1 -1 1 1 1 -1 -1 1 1
1 -1 -1 1 -1 -1 1 1 1 -1 -1 1 -1
1 -1 -1 1 -1 -1 1 1 1 -1 -1 -1 1
1 -1 -1 1 -1 -1 1 1 1 -1 -1 -1 -1
1 -1 -1 1 -1 -1 1 1 -1 1 1 1 1
1 -1 -1 1 -1 -1 1 1 -1 1 1 1 -1
1 -1 -1 1 -1 -1 1 1 -1 1 1 -1 1
1 -1 -1 1 -1 -1 1 1 -1 1 1 -1 -1
1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 1
1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 -1
1 -1 -1 1 -1 -1 1 1 -1 1 -1 -1 1
1 -1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
1 -1 -1 1 -1 -1 1 1 -1 -1 1 1 1
1 -1 -1 1 -1 -1 1 1 -1 -1 1 1 -1
1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1 1
1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1
1 -1 -1 1 -1 -1 1 1 -1 -1 -1 1 1
1 -1 -1 1 -1 -1 1 1 -1 -1 -1 1 -1
1 -1 -1 1 -1 -1 1 1 -1 -1 -1 -1 1
1 -1 -1 1 -1 -1 1 1 -1 -1 -1 -1 -1
1 -1 -1 1 -1 -1 1 -1 1 1 1 1 1
1 -1 -1 1 -1 -1 1 -1 1 1 1 1 -1
1 -1 -1 1 -1 -1 1 -1 1 1 1 -1 1
1 -1 -1 1 -1 -1 1 -1 1 1 1 -1 -1
1 -1 -1 1 -1 -1 1 -1 1 1 -1 1 1
1 -1 -1 1 -1 -1 1 -1 1 1 -1 1 -1
1 -1 -1 1 -1 -1 1 -1 1 1 -1 -1 1
1 -1 -1 1 -1 -1 1 -1 1 1 -1 -1 -1
1 -1 -1 1 -1 -1 1 -1 1 -1 1 1 1
1 -1 -1 1 -1 -1 1 -1 1 -1 1 1 -1
1 -1 -1 1 -1 -1 1 -1 1 -1 1 -1 1
1 -1 -1 1 -1 -1 1 -1 1 -1 1 -1 -1
1 -1 -1 1 -1 -1 1 -1 1 -1 -1 1 1
1 -1 -1 1 -1 -1 1 -1 1 -1 -1 1 -1
1 -1 -1 1 -1 -1 1 -1 1 -1 -1 -1 1
1 -1 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1
1 -1 -1 1 -1 -1 1 -1 -1 1 1 1 1
1 -1 -1 1 -1 -1 1 -1 -1 1 1 1 -1
1 -1 -1 1 -1 -1 1 -1 -1 1 1 -1 1
1 -1 -1 1 -1 -1 1 -1 -1 1 1 -1 -1
1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1 1
1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1
1 -1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1
1 -1 -1 1 -1 -1 1 -1 -1 1 -1 -1 -1
1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1 1
1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1 -1
1 -1 -1 1 -1 -1 1 -1 -1 -1 1 -1 1
1 -1 -1 1 -1 -1 1 -1 -1 -1 1 -1 -1
1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1
1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1 -1
1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 1
1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 -1 -1 -1 1 1 1 1 1 1
1 -1 -1 1 -1 -1 -1 1 1 1 1 1 -1
1 -1 -1 1 -1 -1 -1 1 1 1 1 -1 1
1 -1 -1 1 -1 -1 -1 1 1 1 1 -1 -1
1 -1 -1 1 -1 -1 -1 1 1 1 -1 1 1
1 -1 -1 1 -1 -1 -1 1 1 1 -1 1 -1
1 -1 -1 1 -1 -1 -1 1 1 1 -1 -1 1
1 -1 -1 1 -1 -1 -1 1 1 1 -1 -1 -1
1 -1 -1 1 -1 -1 -1 1 1 -1 1 1 1
1 -1 -1 1 -1 -1 -1 1 1 -1 1 1 -1
1 -1 -1 1 -1 -1 -1 1 1 -1 1 -1 1
1 -1 -1 1 -1 -1 -1 1 1 -1 1 -1 -1
1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1 1
1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1 -1
1 -1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1
1 -1 -1 1 -1 -1 -1 1 1 -1 -1 -1 -1
1 -1 -1 1 -1 -1 -1 1 -1 1 1 1 1
1 -1 -1 1 -1 -1 -1 1 -1 1 1 1 -1
1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1 1
1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1 -1
1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1 1
1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1
1 -1 -1 1 -1 -1 -1 1 -1 1 -1 -1 1
1 -1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1
1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1 1
1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1
1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1 1
1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1
1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1
1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1
1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1
1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 -1
1 -1 -1 1 -1 -1 -1 -1 1 1 1 1 1
1 -1 -1 1 -1 -1 -1 -1 1 1 1 1 -1
1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1 1
1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1
1 -1 -1 1 -1 -1 -1 -1 1 1 -1 1 1
1 -1 -1 1 -1 -1 -1 -1 1 1 -1 1 -1
1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1 1
1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1 -1
1 -1 -1 1 -1 -1 -1 -1 1 -1 1 1 1
1 -1 -1 1 -1 -1 -1 -1 1 -1 1 1 -1
1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1 1
1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1
1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1
1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1 -1
1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1
1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1
1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1 1
1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1
1 -1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1
1 -1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1
1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 1 1
1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 1 -1
1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 1
1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1
1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 1 1
1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 1 -1
1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1
1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1
1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1
1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 -1
1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1
1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 1 1 1 1 1 1 1 1
1 -1 -1 -1 1 1 1 1 1 1 1 1 -1
1 -1 -1 -1 1 1 1 1 1 1 1 -1 1
1 -1 -1 -1 1 1 1 1 1 1 1 -1 -1
1 -1 -1 -1 1 1 1 1 1 1 -1 1 1
1 -1 -1 -1 1 1 1 1 1 1 -1 1 -1
1 -1 -1 -1 1 1 1 1 1 1 -1 -1 1
1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1
1 -1 -1 -1 1 1 1 1 1 -1 1 1 1
1 -1 -1 -1 1 1 1 1 1 -1 1 1 -1
1 -1 -1 -1 1 1 1 1 1 -1 1 -1 1
1 -1 -1 -1 1 1 1 1 1 -1 1 -1 -1
1 -1 -1 -1 1 1 1 1 1 -1 -1 1 1
1 -1 -1 -1 1 1 1 1 1 -1 -1 1 -1
1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 1
1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1
1 -1 -1 -1 1 1 1 1 -1 1 1 1 1
1 -1 -1 -1 1 1 1 1 -1 1 1 1 -1
1 -1 -1 -1 1 1 1 1 -1 1 1 -1 1
1 -1 -1 -1 1 1 1 1 -1 1 1 -1 -1
1 -1 -1 -1 1 1 1 1 -1 1 -1 1 1
1 -1 -1 -1 1 1 1 1 -1 1 -1 1 -1
1 -1 -1 -1 1 1 1 1 -1 1 -1 -1 1
1 -1 -1 -1 1 1 1 1 -1 1 -1 -1 -1
1 -1 -1 -1 1 1 1 1 -1 -1 1 1 1
1 -1 -1 -1 1 1 1 1 -1 -1 1 1 -1
1 -1 -1 -1 1 1 1 1 -1 -1 1 -1 1
1 -1 -1 -1 1 1 1 1 -1 -1 1 -1 -1
1 -1 -1 -1 1 1 1 1 -1 -1 -1 1 1
1 -1 -1 -1 1 1 1 1 -1 -1 -1 1 -1
1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 1
1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 1 1 -1 1 1 1 1 1
1 -1 -1 -1 1 1 1 -1 1 1 1 1 -1
1 -1 -1 -1 1 1 1 -1 1 1 1 -1 1
1 -1 -1 -1 1 1 1 -1 1 1 1 -1 -1
1 -1 -1 -1 1 1 1 -1 1 1 -1 1 1
1 -1 -1 -1 1 1 1 -1 1 1 -1 1 -1
1 -1 -1 -1 1 1 1 -1 1 1 -1 -1 1
1 -1 -1 -1 1 1 1 -1 1 1 -1 -1 -1
1 -1 -1 -1 1 1 1 -1 1 -1 1 1 1
1 -1 -1 -1 1 1 1 -1 1 -1 1 1 -1
1 -1 -1 -1 1 1 1 -1 1 -1 1 -1 1
1 -1 -1 -1 1 1 1 -1 1 -1 1 -1 -1
1 -1 -1 -1 1 1 1 -1 1 -1 -1 1 1
1 -1 -1 -1 1 1 1 -1 1 -1 -1 1 -1
1 -1 -1 -1 1 1 1 -1 1 -1 -1 -1 1
1 -1 -1 -1 1 1 1 -1 1 -1 -1 -1 -1
1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1
1 -1 -1 -1 1 1 1 -1 -1 1 1 1 -1
1 -1 -1 -1 1 1 1 -1 -1 1 1 -1 1
1 -1 -1 -1 1 1 1 -1 -1 1 1 -1 -1
1 -1 -1 -1 1 1 1 -1 -1 1 -1 1 1
1 -1 -1 -1 1 1 1 -1 -1 1 -1 1 -1
1 -1 -1 -1 1 1 1 -1 -1 1 -1 -1 1
1 -1 -1 -1 1 1 1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1
1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 -1
1 -1 -1 -1 1 1 1 -1 -1 -1 1 -1 1
1 -1 -1 -1 1 1 1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 1
1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 1 -1 1 1 1 1 1 1
1 -1 -1 -1 1 1 -1 1 1 1 1 1 -1
1 -1 -1 -1 1 1 -1 1 1 1 1 -1 1
1 -1 -1 -1 1 1 -1 1 1 1 1 -1 -1
1 -1 -1 -1 1 1 -1 1 1 1 -1 1 1
1 -1 -1 -1 1 1 -1 1 1 1 -1 1 -1
1 -1 -1 -1 1 1 -1 1 1 1 -1 -1 1
1 -1 -1 -1 1 1 -1 1 1 1 -1 -1 -1
1 -1 -1 -1 1 1 -1 1 1 -1 1 1 1
1 -1 -1 -1 1 1 -1 1 1 -1 1 1 -1
1 -1 -1 -1 1 1 -1 1 1 -1 1 -1 1
1 -1 -1 -1 1 1 -1 1 1 -1 1 -1 -1
1 -1 -1 -1 1 1 -1 1 1 -1 -1 1 1
1 -1 -1 -1 1 1 -1 1 1 -1 -1 1 -1
1 -1 -1 -1 1 1 -1 1 1 -1 -1 -1 1
1 -1 -1 -1 1 1 -1 1 1 -1 -1 -1 -1
1 -1 -1 -1 1 1 -1 1 -1 1 1 1 1
1 -1 -1 -1 1 1 -1 1 -1 1 1 1 -1
1 -1 -1 -1 1 1 -1 1 -1 1 1 -1 1
1 -1 -1 -1 1 1 -1 1 -1 1 1 -1 -1
1 -1 -1 -1 1 1 -1 1 -1 1 -1 1 1
1 -1 -1 -1 1 1 -1 1 -1 1 -1 1 -1
1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1 1
1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1
1 -1 -1 -1 1 1 -1 1 -1 -1 1 1 1
1 -1 -1 -1 1 1 -1 1 -1 -1 1 1 -1
1 -1 -1 -1 1 1 -1 1 -1 -1 1 -1 1
1 -1 -1 -1 1 1 -1 1 -1 -1 1 -1 -1
1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1 1
1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1
1 -1 -1 -1 1 1 -1 1 -1 -1 -1 -1 1
1 -1 -1 -1 1 1 -1 1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 1 -1 -1 1 1 1 1 1
1 -1 -1 -1 1 1 -1 -1 1 1 1 1 -1
1 -1 -1 -1 1 1 -1 -1 1 1 1 -1 1
1 -1 -1 -1 1 1 -1 -1 1 1 1 -1 -1
1 -1 -1 -1 1 1 -1 -1 1 1 -1 1 1
1 -1 -1 -1 1 1 -1 -1 1 1 -1 1 -1
1 -1 -1 -1 1 1 -1 -1 1 1 -1 -1 1
1 -1 -1 -1 1 1 -1 -1 1 1 -1 -1 -1
1 -1 -1 -1 1 1 -1 -1 1 -1 1 1 1
1 -1 -1 -1 1 1 -1 -1 1 -1 1 1 -1
1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1 1
1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1
1 -1 -1 -1 1 1 -1 -1 1 -1 -1 1 1
1 -1 -1 -1 1 1 -1 -1 1 -1 -1 1 -1
1 -1 -1 -1 1 1 -1 -1 1 -1 -1 -1 1
1 -1 -1 -1 1 1 -1 -1 1 -1 -1 -1 -1
1 -1 -1 -1 1 1 -1 -1 -1 1 1 1 1
1 -1 -1 -1 1 1 -1 -1 -1 1 1 1 -1
1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 1
1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1
1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1 1
1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1 -1
1 -1 -1 -1 1 1 -1 -1 -1 1 -1 -1 1
1 -1 -1 -1 1 1 -1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 1 1 -1 -1 -1 -1 1 1 1
1 -1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1
1 -1 -1 -1 1 1 -1 -1 -1 -1 1 -1 1
1 -1 -1 -1 1 1 -1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1 1
1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 -1 1 1 1 1 1 1 1
1 -1 -1 -1 1 -1 1 1 1 1 1 1 -1
1 -1 -1 -1 1 -1 1 1 1 1 1 -1 1
1 -1 -1 -1 1 -1 1 1 1 1 1 -1 -1
1 -1 -1 -1 1 -1 1 1 1 1 -1 1 1
1 -1 -1 -1 1 -1 1 1 1 1 -1 1 -1
1 -1 -1 -1 1 -1 1 1 1 1 -1 -1 1
1 -1 -1 -1 1 -1 1 1 1 1 -1 -1 -1
1 -1 -1 -1 1 -1 1 1 1 -1 1 1 1
1 -1 -1 -1 1 -1 1 1 1 -1 1 1 -1
1 -1 -1 -1 1 -1 1 1 1 -1 1 -1 1
1 -1 -1 -1 1 -1 1 1 1 -1 1 -1 -1
1 -1 -1 -1 1 -1 1 1 1 -1 -1 1 1
1 -1 -1 -1 1 -1 1 1 1 -1 -1 1 -1
1 -1 -1 -1 1 -1 1 1 1 -1 -1 -1 1
1 -1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1
1 -1 -1 -1 1 -1 1 1 -1 1 1 1 1
1 -1 -1 -1 1 -1 1 1 -1 1 1 1 -1
1 -1 -1 -1 1 -1 1 1 -1 1 1 -1 1
1 -1 -1 -1 1 -1 1 1 -1 1 1 -1 -1
1 -1 -1 -1 1 -1 1 1 -1 1 -1 1 1
1 -1 -1 -1 1 -1 1 1 -1 1 -1 1 -1
1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1 1
1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1 -1
1 -1 -1 -1 1 -1 1 1 -1 -1 1 1 1
1 -1 -1 -1 1 -1 1 1 -1 -1 1 1 -1
1 -1 -1 -1 1 -1 1 1 -1 -1 1 -1 1
1 -1 -1 -1 1 -1 1 1 -1 -1 1 -1 -1
1 -1 -1 -1 1 -1 1 1 -1 -1 -1 1 1
1 -1 -1 -1 1 -1 1 1 -1 -1 -1 1 -1
1 -1 -1 -1 1 -1 1 1 -1 -1 -1 -1 1
1 -1 -1 -1 1 -1 1 1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 -1 1 -1 1 1 1 1 1
1 -1 -1 -1 1 -1 1 -1 1 1 1 1 -1
1 -1 -1 -1 1 -1 1 -1 1 1 1 -1 1
1 -1 -1 -1 1 -1 1 -1 1 1 1 -1 -1
1 -1 -1 -1 1 -1 1 -1 1 1 -1 1 1
1 -1 -1 -1 1 -1 1 -1 1 1 -1 1 -1
1 -1 -1 -1 1 -1 1 -1 1 1 -1 -1 1
1 -1 -1 -1 1 -1 1 -1 1 1 -1 -1 -1
1 -1 -1 -1 1 -1 1 -1 1 -1 1 1 1
1 -1 -1 -1 1 -1 1 -1 1 -1 1 1 -1
1 -1 -1 -1 1 -1 1 -1 1 -1 1 -1 1
1 -1 -1 -1 1 -1 1 -1 1 -1 1 -1 -1
1 -1 -1 -1 1 -1 1 -1 1 -1 -1 1 1
1 -1 -1 -1 1 -1 1 -1 1 -1 -1 1 -1
1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1
1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 -1
1 -1 -1 -1 1 -1 1 -1 -1 1 1 1 1
1 -1 -1 -1 1 -1 1 -1 -1 1 1 1 -1
1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1 1
1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1
1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1 1
1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1 -1
1 -1 -1 -1 1 -1 1 -1 -1 1 -1 -1 1
1 -1 -1 -1 1 -1 1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 1 -1 1 -1 -1 -1 1 1 1
1 -1 -1 -1 1 -1 1 -1 -1 -1 1 1 -1
1 -1 -1 -1 1 -1 1 -1 -1 -1 1 -1 1
1 -1 -1 -1 1 -1 1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 1 1
1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 -1 -1 1 1 1 1 1 1
1 -1 -1 -1 1 -1 -1 1 1 1 1 1 -1
1 -1 -1 -1 1 -1 -1 1 1 1 1 -1 1
1 -1 -1 -1 1 -1 -1 1 1 1 1 -1 -1
1 -1 -1 -1 1 -1 -1 1 1 1 -1 1 1
1 -1 -1 -1 1 -1 -1 1 1 1 -1 1 -1
1 -1 -1 -1 1 -1 -1 1 1 1 -1 -1 1
1 -1 -1 -1 1 -1 -1 1 1 1 -1 -1 -1
1 -1 -1 -1 1 -1 -1 1 1 -1 1 1 1
1 -1 -1 -1 1 -1 -1 1 1 -1 1 1 -1
1 -1 -1 -1 1 -1 -1 1 1 -1 1 -1 1
1 -1 -1 -1 1 -1 -1 1 1 -1 1 -1 -1
1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1 1
1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1
1 -1 -1 -1 1 -1 -1 1 1 -1 -1 -1 1
1 -1 -1 -1 1 -1 -1 1 1 -1 -1 -1 -1
1 -1 -1 -1 1 -1 -1 1 -1 1 1 1 1
1 -1 -1 -1 1 -1 -1 1 -1 1 1 1 -1
1 -1 -1 -1 1 -1 -1 1 -1 1 1 -1 1
1 -1 -1 -1 1 -1 -1 1 -1 1 1 -1 -1
1 -1 -1 -1 1 -1 -1 1 -1 1 -1 1 1
1 -1 -1 -1 1 -1 -1 1 -1 1 -1 1 -1
1 -1 -1 -1 1 -1 -1 1 -1 1 -1 -1 1
1 -1 -1 -1 1 -1 -1 1 -1 1 -1 -1 -1
1 -1 -1 -1 1 -1 -1 1 -1 -1 1 1 1
1 -1 -1 -1 1 -1 -1 1 -1 -1 1 1 -1
1 -1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1
1 -1 -1 -1 1 -1 -1 1 -1 -1 1 -1 -1
1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1
1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 1 -1
1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1
1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 -1 -1 -1 1 1 1 1 1
1 -1 -1 -1 1 -1 -1 -1 1 1 1 1 -1
1 -1 -1 -1 1 -1 -1 -1 1 1 1 -1 1
1 -1 -1 -1 1 -1 -1 -1 1 1 1 -1 -1
1 -1 -1 -1 1 -1 -1 -1 1 1 -1 1 1
1 -1 -1 -1 1 -1 -1 -1 1 1 -1 1 -1
1 -1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1
1 -1 -1 -1 1 -1 -1 -1 1 1 -1 -1 -1
1 -1 -1 -1 1 -1 -1 -1 1 -1 1 1 1
1 -1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1
1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1
1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1 -1
1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1
1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1
1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1
1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 -1
1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 1
1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1
1 -1 -1 -1 1 -1 -1 -1 -1 1 1 -1 1
1 -1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1
1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 1 1
1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1
1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1
1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1
1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 -1
1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 1
1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 1
1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 1 1 1 1 1 1 1 1
1 -1 -1 -1 -1 1 1 1 1 1 1 1 -1
1 -1 -1 -1 -1 1 1 1 1 1 1 -1 1
1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1
1 -1 -1 -1 -1 1 1 1 1 1 -1 1 1
1 -1 -1 -1 -1 1 1 1 1 1 -1 1 -1
1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 1
1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1
1 -1 -1 -1 -1 1 1 1 1 -1 1 1 1
1 -1 -1 -1 -1 1 1 1 1 -1 1 1 -1
1 -1 -1 -1 -1 1 1 1 1 -1 1 -1 1
1 -1 -1 -1 -1 1 1 1 1 -1 1 -1 -1
1 -1 -1 -1 -1 1 1 1 1 -1 -1 1 1
1 -1 -1 -1 -1 1 1 1 1 -1 -1 1 -1
1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 1
1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1
1 -1 -1 -1 -1 1 1 1 -1 1 1 1 1
1 -1 -1 -1 -1 1 1 1 -1 1 1 1 -1
1 -1 -1 -1 -1 1 1 1 -1 1 1 -1 1
1 -1 -1 -1 -1 1 1 1 -1 1 1 -1 -1
1 -1 -1 -1 -1 1 1 1 -1 1 -1 1 1
1 -1 -1 -1 -1 1 1 1 -1 1 -1 1 -1
1 -1 -1 -1 -1 1 1 1 -1 1 -1 -1 1
1 -1 -1 -1 -1 1 1 1 -1 1 -1 -1 -1
1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1
1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 -1
1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1 1
1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1
1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 1 1 -1 1 1 1 1 1
1 -1 -1 -1 -1 1 1 -1 1 1 1 1 -1
1 -1 -1 -1 -1 1 1 -1 1 1 1 -1 1
1 -1 -1 -1 -1 1 1 -1 1 1 1 -1 -1
1 -1 -1 -1 -1 1 1 -1 1 1 -1 1 1
1 -1 -1 -1 -1 1 1 -1 1 1 -1 1 -1
1 -1 -1 -1 -1 1 1 -1 1 1 -1 -1 1
1 -1 -1 -1 -1 1 1 -1 1 1 -1 -1 -1
1 -1 -1 -1 -1 1 1 -1 1 -1 1 1 1
1 -1 -1 -1 -1 1 1 -1 1 -1 1 1 -1
1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1 1
1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1
1 -1 -1 -1 -1 1 1 -1 1 -1 -1 1 1
1 -1 -1 -1 -1 1 1 -1 1 -1 -1 1 -1
1 -1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1
1 -1 -1 -1 -1 1 1 -1 1 -1 -1 -1 -1
1 -1 -1 -1 -1 1 1 -1 -1 1 1 1 1
1 -1 -1 -1 -1 1 1 -1 -1 1 1 1 -1
1 -1 -1 -1 -1 1 1 -1 -1 1 1 -1 1
1 -1 -1 -1 -1 1 1 -1 -1 1 1 -1 -1
1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1 1
1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1
1 -1 -1 -1 -1 1 1 -1 -1 1 -1 -1 1
1 -1 -1 -1 -1 1 1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 1
1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1
1 -1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1
1 -1 -1 -1 -1 1 1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 1 1
1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 1 -1 1 1 1 1 1 1
1 -1 -1 -1 -1 1 -1 1 1 1 1 1 -1
1 -1 -1 -1 -1 1 -1 1 1 1 1 -1 1
1 -1 -1 -1 -1 1 -1 1 1 1 1 -1 -1
1 -1 -1 -1 -1 1 -1 1 1 1 -1 1 1
1 -1 -1 -1 -1 1 -1 1 1 1 -1 1 -1
1 -1 -1 -1 -1 1 -1 1 1 1 -1 -1 1
1 -1 -1 -1 -1 1 -1 1 1 1 -1 -1 -1
1 -1 -1 -1 -1 1 -1 1 1 -1 1 1 1
1 -1 -1 -1 -1 1 -1 1 1 -1 1 1 -1
1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1 1
1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1
1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1 1
1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1 -1
1 -1 -1 -1 -1 1 -1 1 1 -1 -1 -1 1
1 -1 -1 -1 -1 1 -1 1 1 -1 -1 -1 -1
1 -1 -1 -1 -1 1 -1 1 -1 1 1 1 1
1 -1 -1 -1 -1 1 -1 1 -1 1 1 1 -1
1 -1 -1 -1 -1 1 -1 1 -1 1 1 -1 1
1 -1 -1 -1 -1 1 -1 1 -1 1 1 -1 -1
1 -1 -1 -1 -1 1 -1 1 -1 1 -1 1 1
1 -1 -1 -1 -1 1 -1 1 -1 1 -1 1 -1
1 -1 -1 -1 -1 1 -1 1 -1 1 -1 -1 1
1 -1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1
1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 1
1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1
1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1
1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1 1
1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 1 -1 -1 1 1 1 1 1
1 -1 -1 -1 -1 1 -1 -1 1 1 1 1 -1
1 -1 -1 -1 -1 1 -1 -1 1 1 1 -1 1
1 -1 -1 -1 -1 1 -1 -1 1 1 1 -1 -1
1 -1 -1 -1 -1 1 -1 -1 1 1 -1 1 1
1 -1 -1 -1 -1 1 -1 -1 1 1 -1 1 -1
1 -1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1
1 -1 -1 -1 -1 1 -1 -1 1 1 -1 -1 -1
1 -1 -1 -1 -1 1 -1 -1 1 -1 1 1 1
1 -1 -1 -1 -1 1 -1 -1 1 -1 1 1 -1
1 -1 -1 -1 -1 1 -1 -1 1 -1 1 -1 1
1 -1 -1 -1 -1 1 -1 -1 1 -1 1 -1 -1
1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 1 1
1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 1 -1
1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 1
1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1
1 -1 -1 -1 -1 1 -1 -1 -1 1 1 1 1
1 -1 -1 -1 -1 1 -1 -1 -1 1 1 1 -1
1 -1 -1 -1 -1 1 -1 -1 -1 1 1 -1 1
1 -1 -1 -1 -1 1 -1 -1 -1 1 1 -1 -1
1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 1 1
1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1
1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 1
1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1
1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1 -1
1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 1
1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1
1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1
1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1
1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 1
1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1
1 -1 -1 -1 -1 -1 1 1 1 1 -1 1 1
1 -1 -1 -1 -1 -1 1 1 1 1 -1 1 -1
1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 1
1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 1 1 -1 1 1 1
1 -1 -1 -1 -1 -1 1 1 1 -1 1 1 -1
1 -1 -1 -1 -1 -1 1 1 1 -1 1 -1 1
1 -1 -1 -1 -1 -1 1 1 1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 1 1 1 -1 -1 1 1
1 -1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 1 -1 1 1 1 1
1 -1 -1 -1 -1 -1 1 1 -1 1 1 1 -1
1 -1 -1 -1 -1 -1 1 1 -1 1 1 -1 1
1 -1 -1 -1 -1 -1 1 1 -1 1 1 -1 -1
1 -1 -1 -1 -1 -1 1 1 -1 1 -1 1 1
1 -1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1
1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1 1
1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 1 -1 -1 1 1 1
1 -1 -1 -1 -1 -1 1 1 -1 -1 1 1 -1
1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1
1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1
1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 -1 1 1 1 1 1
1 -1 -1 -1 -1 -1 1 -1 1 1 1 1 -1
1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1 1
1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1 -1
1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 1
1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1
1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1
1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 -1 1 -1 1 1 1
1 -1 -1 -1 -1 -1 1 -1 1 -1 1 1 -1
1 -1 -1 -1 -1 -1 1 -1 1 -1 1 -1 1
1 -1 -1 -1 -1 -1 1 -1 1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1
1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 -1 -1 1 1 1 1
1 -1 -1 -1 -1 -1 1 -1 -1 1 1 1 -1
1 -1 -1 -1 -1 -1 1 -1 -1 1 1 -1 1
1 -1 -1 -1 -1 -1 1 -1 -1 1 1 -1 -1
1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 1 1
1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 1 -1
1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 1
1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 1 1
1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 1 -1
1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 1
1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1
1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1
1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1
1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 1
1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 1 1 -1 1 1
1 -1 -1 -1 -1 -1 -1 1 1 1 -1 1 -1
1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 1 -1 1 1 1
1 -1 -1 -1 -1 -1 -1 1 1 -1 1 1 -1
1 -1 -1 -1 -1 -1 -1 1 1 -1 1 -1 1
1 -1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 1 1
1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 -1 1 1 1 1
1 -1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1
1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1
1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 1 1
1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 1 -1
1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 1 1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 1 -1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1
1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1
1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 1
1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 1 1
1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 1 -1
1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 1
1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1
1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 1
1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 1
1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1
1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1
1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 1
1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1
1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 -1
1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1
1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1
1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1
1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1
1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
end
cddlib-0.94j/examples-ine/cross6.ine 0000644 0001750 0001750 00000002302 13270061057 014263 0000000 0000000 * 6-dim cross polytope
H-representation
begin
64 7 integer
1 1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 1
1 1 -1 -1 -1 1 -1
1 1 -1 -1 -1 1 1
1 1 -1 -1 1 -1 -1
1 1 -1 -1 1 -1 1
1 1 -1 -1 1 1 -1
1 1 -1 -1 1 1 1
1 1 -1 1 -1 -1 -1
1 1 -1 1 -1 -1 1
1 1 -1 1 -1 1 -1
1 1 -1 1 -1 1 1
1 1 -1 1 1 -1 -1
1 1 -1 1 1 -1 1
1 1 -1 1 1 1 -1
1 1 -1 1 1 1 1
1 1 1 1 -1 -1 -1
1 1 1 1 -1 -1 1
1 1 1 1 -1 1 -1
1 1 1 1 -1 1 1
1 1 1 1 1 1 -1
1 1 1 1 1 1 1
1 1 1 1 1 -1 1
1 1 1 1 1 -1 -1
1 1 1 -1 1 1 1
1 1 1 -1 1 1 -1
1 1 1 -1 1 -1 1
1 1 1 -1 1 -1 -1
1 1 1 -1 -1 1 1
1 1 1 -1 -1 1 -1
1 1 1 -1 -1 -1 1
1 1 1 -1 -1 -1 -1
1 -1 1 1 1 1 1
1 -1 1 1 1 1 -1
1 -1 1 1 1 -1 1
1 -1 1 1 1 -1 -1
1 -1 1 1 -1 1 1
1 -1 1 1 -1 1 -1
1 -1 1 1 -1 -1 1
1 -1 1 1 -1 -1 -1
1 -1 1 -1 1 1 1
1 -1 1 -1 1 1 -1
1 -1 1 -1 1 -1 1
1 -1 1 -1 1 -1 -1
1 -1 1 -1 -1 1 1
1 -1 1 -1 -1 1 -1
1 -1 1 -1 -1 -1 1
1 -1 1 -1 -1 -1 -1
1 -1 -1 1 1 1 1
1 -1 -1 1 1 1 -1
1 -1 -1 1 1 -1 1
1 -1 -1 1 1 -1 -1
1 -1 -1 1 -1 1 1
1 -1 -1 1 -1 1 -1
1 -1 -1 1 -1 -1 1
1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 1 1 1
1 -1 -1 -1 1 1 -1
1 -1 -1 -1 1 -1 1
1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 1 1
1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 -1
end
cddlib-0.94j/examples-ine/cross8.ine 0000644 0001750 0001750 00000013503 13270061057 014272 0000000 0000000 * 8-dim cross polytope
H-representation
begin
256 9 integer
1 1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 -1 1
1 1 -1 -1 -1 -1 -1 1 -1
1 1 -1 -1 -1 -1 -1 1 1
1 1 -1 -1 -1 -1 1 -1 -1
1 1 -1 -1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 1 -1
1 1 -1 -1 -1 -1 1 1 1
1 1 -1 -1 -1 1 -1 -1 -1
1 1 -1 -1 -1 1 -1 -1 1
1 1 -1 -1 -1 1 -1 1 -1
1 1 -1 -1 -1 1 -1 1 1
1 1 -1 -1 -1 1 1 -1 -1
1 1 -1 -1 -1 1 1 -1 1
1 1 -1 -1 -1 1 1 1 -1
1 1 -1 -1 -1 1 1 1 1
1 1 -1 -1 1 -1 -1 -1 -1
1 1 -1 -1 1 -1 -1 -1 1
1 1 -1 -1 1 -1 -1 1 -1
1 1 -1 -1 1 -1 -1 1 1
1 1 -1 -1 1 -1 1 -1 -1
1 1 -1 -1 1 -1 1 -1 1
1 1 -1 -1 1 -1 1 1 -1
1 1 -1 -1 1 -1 1 1 1
1 1 -1 -1 1 1 -1 -1 -1
1 1 -1 -1 1 1 -1 -1 1
1 1 -1 -1 1 1 -1 1 -1
1 1 -1 -1 1 1 -1 1 1
1 1 -1 -1 1 1 1 -1 -1
1 1 -1 -1 1 1 1 -1 1
1 1 -1 -1 1 1 1 1 -1
1 1 -1 -1 1 1 1 1 1
1 1 -1 1 -1 -1 -1 -1 -1
1 1 -1 1 -1 -1 -1 -1 1
1 1 -1 1 -1 -1 -1 1 -1
1 1 -1 1 -1 -1 -1 1 1
1 1 -1 1 -1 -1 1 -1 -1
1 1 -1 1 -1 -1 1 -1 1
1 1 -1 1 -1 -1 1 1 -1
1 1 -1 1 -1 -1 1 1 1
1 1 -1 1 -1 1 -1 -1 -1
1 1 -1 1 -1 1 -1 -1 1
1 1 -1 1 -1 1 -1 1 -1
1 1 -1 1 -1 1 -1 1 1
1 1 -1 1 -1 1 1 -1 -1
1 1 -1 1 -1 1 1 -1 1
1 1 -1 1 -1 1 1 1 -1
1 1 -1 1 -1 1 1 1 1
1 1 -1 1 1 -1 -1 -1 -1
1 1 -1 1 1 -1 -1 -1 1
1 1 -1 1 1 -1 -1 1 -1
1 1 -1 1 1 -1 -1 1 1
1 1 -1 1 1 -1 1 -1 -1
1 1 -1 1 1 -1 1 -1 1
1 1 -1 1 1 -1 1 1 -1
1 1 -1 1 1 -1 1 1 1
1 1 -1 1 1 1 -1 -1 -1
1 1 -1 1 1 1 -1 -1 1
1 1 -1 1 1 1 -1 1 -1
1 1 -1 1 1 1 -1 1 1
1 1 -1 1 1 1 1 -1 -1
1 1 -1 1 1 1 1 -1 1
1 1 -1 1 1 1 1 1 -1
1 1 -1 1 1 1 1 1 1
1 1 1 1 -1 -1 -1 -1 -1
1 1 1 1 -1 -1 -1 -1 1
1 1 1 1 -1 -1 -1 1 -1
1 1 1 1 -1 -1 -1 1 1
1 1 1 1 -1 -1 1 -1 -1
1 1 1 1 -1 -1 1 -1 1
1 1 1 1 -1 -1 1 1 -1
1 1 1 1 -1 -1 1 1 1
1 1 1 1 -1 1 -1 -1 -1
1 1 1 1 -1 1 -1 -1 1
1 1 1 1 -1 1 -1 1 -1
1 1 1 1 -1 1 -1 1 1
1 1 1 1 -1 1 1 -1 -1
1 1 1 1 -1 1 1 -1 1
1 1 1 1 -1 1 1 1 -1
1 1 1 1 -1 1 1 1 1
1 1 1 1 1 1 -1 -1 -1
1 1 1 1 1 1 -1 -1 1
1 1 1 1 1 1 -1 1 -1
1 1 1 1 1 1 -1 1 1
1 1 1 1 1 1 1 1 -1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 -1 1
1 1 1 1 1 1 1 -1 -1
1 1 1 1 1 -1 1 1 1
1 1 1 1 1 -1 1 1 -1
1 1 1 1 1 -1 1 -1 1
1 1 1 1 1 -1 1 -1 -1
1 1 1 1 1 -1 -1 1 1
1 1 1 1 1 -1 -1 1 -1
1 1 1 1 1 -1 -1 -1 1
1 1 1 1 1 -1 -1 -1 -1
1 1 1 -1 1 1 1 1 1
1 1 1 -1 1 1 1 1 -1
1 1 1 -1 1 1 1 -1 1
1 1 1 -1 1 1 1 -1 -1
1 1 1 -1 1 1 -1 1 1
1 1 1 -1 1 1 -1 1 -1
1 1 1 -1 1 1 -1 -1 1
1 1 1 -1 1 1 -1 -1 -1
1 1 1 -1 1 -1 1 1 1
1 1 1 -1 1 -1 1 1 -1
1 1 1 -1 1 -1 1 -1 1
1 1 1 -1 1 -1 1 -1 -1
1 1 1 -1 1 -1 -1 1 1
1 1 1 -1 1 -1 -1 1 -1
1 1 1 -1 1 -1 -1 -1 1
1 1 1 -1 1 -1 -1 -1 -1
1 1 1 -1 -1 1 1 1 1
1 1 1 -1 -1 1 1 1 -1
1 1 1 -1 -1 1 1 -1 1
1 1 1 -1 -1 1 1 -1 -1
1 1 1 -1 -1 1 -1 1 1
1 1 1 -1 -1 1 -1 1 -1
1 1 1 -1 -1 1 -1 -1 1
1 1 1 -1 -1 1 -1 -1 -1
1 1 1 -1 -1 -1 1 1 1
1 1 1 -1 -1 -1 1 1 -1
1 1 1 -1 -1 -1 1 -1 1
1 1 1 -1 -1 -1 1 -1 -1
1 1 1 -1 -1 -1 -1 1 1
1 1 1 -1 -1 -1 -1 1 -1
1 1 1 -1 -1 -1 -1 -1 1
1 1 1 -1 -1 -1 -1 -1 -1
1 -1 1 1 1 1 1 1 1
1 -1 1 1 1 1 1 1 -1
1 -1 1 1 1 1 1 -1 1
1 -1 1 1 1 1 1 -1 -1
1 -1 1 1 1 1 -1 1 1
1 -1 1 1 1 1 -1 1 -1
1 -1 1 1 1 1 -1 -1 1
1 -1 1 1 1 1 -1 -1 -1
1 -1 1 1 1 -1 1 1 1
1 -1 1 1 1 -1 1 1 -1
1 -1 1 1 1 -1 1 -1 1
1 -1 1 1 1 -1 1 -1 -1
1 -1 1 1 1 -1 -1 1 1
1 -1 1 1 1 -1 -1 1 -1
1 -1 1 1 1 -1 -1 -1 1
1 -1 1 1 1 -1 -1 -1 -1
1 -1 1 1 -1 1 1 1 1
1 -1 1 1 -1 1 1 1 -1
1 -1 1 1 -1 1 1 -1 1
1 -1 1 1 -1 1 1 -1 -1
1 -1 1 1 -1 1 -1 1 1
1 -1 1 1 -1 1 -1 1 -1
1 -1 1 1 -1 1 -1 -1 1
1 -1 1 1 -1 1 -1 -1 -1
1 -1 1 1 -1 -1 1 1 1
1 -1 1 1 -1 -1 1 1 -1
1 -1 1 1 -1 -1 1 -1 1
1 -1 1 1 -1 -1 1 -1 -1
1 -1 1 1 -1 -1 -1 1 1
1 -1 1 1 -1 -1 -1 1 -1
1 -1 1 1 -1 -1 -1 -1 1
1 -1 1 1 -1 -1 -1 -1 -1
1 -1 1 -1 1 1 1 1 1
1 -1 1 -1 1 1 1 1 -1
1 -1 1 -1 1 1 1 -1 1
1 -1 1 -1 1 1 1 -1 -1
1 -1 1 -1 1 1 -1 1 1
1 -1 1 -1 1 1 -1 1 -1
1 -1 1 -1 1 1 -1 -1 1
1 -1 1 -1 1 1 -1 -1 -1
1 -1 1 -1 1 -1 1 1 1
1 -1 1 -1 1 -1 1 1 -1
1 -1 1 -1 1 -1 1 -1 1
1 -1 1 -1 1 -1 1 -1 -1
1 -1 1 -1 1 -1 -1 1 1
1 -1 1 -1 1 -1 -1 1 -1
1 -1 1 -1 1 -1 -1 -1 1
1 -1 1 -1 1 -1 -1 -1 -1
1 -1 1 -1 -1 1 1 1 1
1 -1 1 -1 -1 1 1 1 -1
1 -1 1 -1 -1 1 1 -1 1
1 -1 1 -1 -1 1 1 -1 -1
1 -1 1 -1 -1 1 -1 1 1
1 -1 1 -1 -1 1 -1 1 -1
1 -1 1 -1 -1 1 -1 -1 1
1 -1 1 -1 -1 1 -1 -1 -1
1 -1 1 -1 -1 -1 1 1 1
1 -1 1 -1 -1 -1 1 1 -1
1 -1 1 -1 -1 -1 1 -1 1
1 -1 1 -1 -1 -1 1 -1 -1
1 -1 1 -1 -1 -1 -1 1 1
1 -1 1 -1 -1 -1 -1 1 -1
1 -1 1 -1 -1 -1 -1 -1 1
1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 1 1 1 1 1
1 -1 -1 1 1 1 1 1 -1
1 -1 -1 1 1 1 1 -1 1
1 -1 -1 1 1 1 1 -1 -1
1 -1 -1 1 1 1 -1 1 1
1 -1 -1 1 1 1 -1 1 -1
1 -1 -1 1 1 1 -1 -1 1
1 -1 -1 1 1 1 -1 -1 -1
1 -1 -1 1 1 -1 1 1 1
1 -1 -1 1 1 -1 1 1 -1
1 -1 -1 1 1 -1 1 -1 1
1 -1 -1 1 1 -1 1 -1 -1
1 -1 -1 1 1 -1 -1 1 1
1 -1 -1 1 1 -1 -1 1 -1
1 -1 -1 1 1 -1 -1 -1 1
1 -1 -1 1 1 -1 -1 -1 -1
1 -1 -1 1 -1 1 1 1 1
1 -1 -1 1 -1 1 1 1 -1
1 -1 -1 1 -1 1 1 -1 1
1 -1 -1 1 -1 1 1 -1 -1
1 -1 -1 1 -1 1 -1 1 1
1 -1 -1 1 -1 1 -1 1 -1
1 -1 -1 1 -1 1 -1 -1 1
1 -1 -1 1 -1 1 -1 -1 -1
1 -1 -1 1 -1 -1 1 1 1
1 -1 -1 1 -1 -1 1 1 -1
1 -1 -1 1 -1 -1 1 -1 1
1 -1 -1 1 -1 -1 1 -1 -1
1 -1 -1 1 -1 -1 -1 1 1
1 -1 -1 1 -1 -1 -1 1 -1
1 -1 -1 1 -1 -1 -1 -1 1
1 -1 -1 1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 1 1 1 1
1 -1 -1 -1 1 1 1 1 -1
1 -1 -1 -1 1 1 1 -1 1
1 -1 -1 -1 1 1 1 -1 -1
1 -1 -1 -1 1 1 -1 1 1
1 -1 -1 -1 1 1 -1 1 -1
1 -1 -1 -1 1 1 -1 -1 1
1 -1 -1 -1 1 1 -1 -1 -1
1 -1 -1 -1 1 -1 1 1 1
1 -1 -1 -1 1 -1 1 1 -1
1 -1 -1 -1 1 -1 1 -1 1
1 -1 -1 -1 1 -1 1 -1 -1
1 -1 -1 -1 1 -1 -1 1 1
1 -1 -1 -1 1 -1 -1 1 -1
1 -1 -1 -1 1 -1 -1 -1 1
1 -1 -1 -1 1 -1 -1 -1 -1
1 -1 -1 -1 -1 1 1 1 1
1 -1 -1 -1 -1 1 1 1 -1
1 -1 -1 -1 -1 1 1 -1 1
1 -1 -1 -1 -1 1 1 -1 -1
1 -1 -1 -1 -1 1 -1 1 1
1 -1 -1 -1 -1 1 -1 1 -1
1 -1 -1 -1 -1 1 -1 -1 1
1 -1 -1 -1 -1 1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 1 1
1 -1 -1 -1 -1 -1 1 1 -1
1 -1 -1 -1 -1 -1 1 -1 1
1 -1 -1 -1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 1
1 -1 -1 -1 -1 -1 -1 1 -1
1 -1 -1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 -1 -1
end
cddlib-0.94j/examples-ine/cube10.ine 0000644 0001750 0001750 00000001351 13277651306 014137 0000000 0000000 * 10-dim hypercube
H-representation
begin
20 11 integer
1 1 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 1 0
1 0 0 0 0 0 0 0 0 0 1
1 -1 0 0 0 0 0 0 0 0 0
1 0 -1 0 0 0 0 0 0 0 0
1 0 0 -1 0 0 0 0 0 0 0
1 0 0 0 -1 0 0 0 0 0 0
1 0 0 0 0 -1 0 0 0 0 0
1 0 0 0 0 0 -1 0 0 0 0
1 0 0 0 0 0 0 -1 0 0 0
1 0 0 0 0 0 0 0 -1 0 0
1 0 0 0 0 0 0 0 0 -1 0
1 0 0 0 0 0 0 0 0 0 -1
end
cddlib-0.94j/examples-ine/cube12.ine 0000644 0001750 0001750 00000002001 13270061057 014121 0000000 0000000 * 12-dim hypercube
H-representation
begin
24 13 integer
1 1 0 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0
1 0 0 0 0 0 0 0 0 0 0 0 1
1 -1 0 0 0 0 0 0 0 0 0 0 0
1 0 -1 0 0 0 0 0 0 0 0 0 0
1 0 0 -1 0 0 0 0 0 0 0 0 0
1 0 0 0 -1 0 0 0 0 0 0 0 0
1 0 0 0 0 -1 0 0 0 0 0 0 0
1 0 0 0 0 0 -1 0 0 0 0 0 0
1 0 0 0 0 0 0 -1 0 0 0 0 0
1 0 0 0 0 0 0 0 -1 0 0 0 0
1 0 0 0 0 0 0 0 0 -1 0 0 0
1 0 0 0 0 0 0 0 0 0 -1 0 0
1 0 0 0 0 0 0 0 0 0 0 -1 0
1 0 0 0 0 0 0 0 0 0 0 0 -1
end
cddlib-0.94j/examples-ine/cube6.ine 0000644 0001750 0001750 00000000500 13270061057 014046 0000000 0000000 * 6-dim hypercube
H-representation
begin
12 7 integer
1 1 0 0 0 0 0
1 0 1 0 0 0 0
1 0 0 1 0 0 0
1 0 0 0 1 0 0
1 0 0 0 0 1 0
1 0 0 0 0 0 1
1 -1 0 0 0 0 0
1 0 -1 0 0 0 0
1 0 0 -1 0 0 0
1 0 0 0 -1 0 0
1 0 0 0 0 -1 0
1 0 0 0 0 0 -1
end
cddlib-0.94j/examples-ine/cube8.ine 0000644 0001750 0001750 00000000777 13270061057 014070 0000000 0000000 * 8-dim hypercube
H-representation
begin
16 9 integer
1 1 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0
1 0 0 0 1 0 0 0 0
1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 1 0
1 0 0 0 0 0 0 0 1
1 -1 0 0 0 0 0 0 0
1 0 -1 0 0 0 0 0 0
1 0 0 -1 0 0 0 0 0
1 0 0 0 -1 0 0 0 0
1 0 0 0 0 -1 0 0 0
1 0 0 0 0 0 -1 0 0
1 0 0 0 0 0 0 -1 0
1 0 0 0 0 0 0 0 -1
end
cddlib-0.94j/examples-ine/cubocta.ine 0000644 0001750 0001750 00000000430 13270061057 014464 0000000 0000000 filename: cubocta.ine
Cuboctahedron
H-representation
begin
14 4 integer
1 1 0 0
1 0 1 0
1 0 0 1
1 -1 0 0
1 0 -1 0
1 0 0 -1
2 1 1 1
2 -1 1 1
2 1 -1 1
2 1 1 -1
2 -1 -1 1
2 1 -1 -1
2 -1 1 -1
2 -1 -1 -1
end
cddlib-0.94j/examples-ine/ex1.ine 0000644 0001750 0001750 00000000353 13270061057 013545 0000000 0000000 * file name: ex1.ine
* 2 dimensional polyhedron with three vertices (0,3), (-1, 4) and (-1,10) and
* two extremal rays (2,1) and (1,2).
H-representation
begin
4 3 integer
12 2 -1
-6 -1 2
-3 1 1
1 1 0
end
cddlib-0.94j/examples-ine/infeas.ine 0000644 0001750 0001750 00000000653 13270061062 014314 0000000 0000000 * File name: infeas.ine
* The empty polytope. No vertices and rays.
H-representation
begin
13 7 integer
0 1 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 1 0
-2 1 0 0 0 0 0
0 0 0 0 0 0 1
1 -1 0 0 0 0 0
1 0 -1 0 0 0 0
1 0 0 -1 0 0 0
1 0 0 0 -1 0 0
1 0 0 0 0 -1 0
1 0 0 0 0 0 -1
end
minimize
0 1 1 1 1 1 1
debug
cddlib-0.94j/examples-ine/integralpoints.ine 0000644 0001750 0001750 00000002251 13270061057 016111 0000000 0000000 * This input file is an example for generating
* integral solutions to the following system of linear inequalities:
* 10 x1 + 7 x2 <= 70
* 11 x1 + 5 x2 >= 55
* x1 >= 0, x2 >= 0
* By using the fact that 0<=x1<=7 and 0<=x2<=10, we apply
* the (binary representation) substitution:
x1 = 4 x13 + 2 x12 + x11 (all binary variables)
x2 = 8 x24 + 4 x23 + 2 x22 + x21 (all binary variables)
* The reduced system of linear inequalities is the input data.
* Since all integral (i.e. 0-1) solutions are extreme points,
* the integral extreme points are in one-to-one correspondence
* with the integral solutions to the original system. In this
* example, there are 194 extreme points among which 10 are
* integral (0-1) solutions.
H-representation
begin
16 8 integer
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
1 -1 0 0 0 0 0 0
1 0 -1 0 0 0 0 0
1 0 0 -1 0 0 0 0
1 0 0 0 -1 0 0 0
1 0 0 0 0 -1 0 0
1 0 0 0 0 0 -1 0
1 0 0 0 0 0 0 -1
70 -40 -20 -10 -56 -28 -14 -7
-55 44 22 11 40 20 10 5
end
cddlib-0.94j/examples-ine/kkd18_4.ine 0000644 0001750 0001750 00000001325 13270061061 014210 0000000 0000000 * kkd18_4.ine
* This must be computed with rational arithmetic.
H-representation
begin
18 5 integer
3976210973720 -5964591245895 -33802508475500 -161110322828670
-745886931169976
5 -10 -50 -220 -974
5 -5 -35 -185 -899
5 0 -10 -90 -574
5 5 25 95 301
5 10 70 400 2146
5 15 125 855 5501
5 20 190 1490 11026
5 25 265 2335 19501
5 30 350 3420 31826
5 35 445 4775 49021
5 40 550 6430 72226
5 45 665 8415 102701
5 50 790 10760 141826
5 55 925 13495 191101
5 60 1070 16650 252146
5 65 1225 20255 326701
-3976210973719 5964591245895 33802508475500 161110322828670
745886931169976
end
cddlib-0.94j/examples-ine/kkd27_5.ine 0000644 0001750 0001750 00000002527 13270061061 014216 0000000 0000000 * kkd27_5.ine
* This must be computed with rational arithmetic.
H-representation
begin
27 6 integer
1172039901841798080 -1758060515119739835 -12306436783413558955
-72080893223436992535 -406122552605284841587 -2275777153240670950215
6 -15 -85 -435 -2269 -12195
6 -9 -67 -393 -2179 -12009
6 -3 -37 -279 -1789 -10743
6 3 5 -57 -739 -6057
6 9 59 309 1475 6549
6 15 125 855 5501 34455
6 21 203 1617 12131 88641
6 27 293 2631 22301 184407
6 33 395 3933 37091 342093
6 39 509 5559 57725 587799
6 45 635 7545 85571 954105
6 51 773 9927 122141 1480791
6 57 923 12741 169091 2215557
6 63 1085 16023 228221 3214743
6 69 1259 19809 301475 4544049
6 75 1445 24135 390941 6279255
6 81 1643 29037 498851 8506941
6 87 1853 34551 627581 11325207
6 93 2075 40713 779651 14844393
6 99 2309 47559 957725 19187799
6 105 2555 55125 1164611 24492405
6 111 2813 63447 1403261 30909591
6 117 3083 72561 1676771 38605857
6 123 3365 82503 1988381 47763543
6 129 3659 93309 2341475 58581549
-1172039901841798079 1758060515119739835 12306436783413558955
72080893223436992535 406122552605284841587 2275777153240670950215
end
cddlib-0.94j/examples-ine/kkd38_6.ine 0000644 0001750 0001750 00000004631 13270061061 014217 0000000 0000000 * kkd38_6.ine
* This must be computed with rational arithmetic.
H-representation
begin
38 7 integer
2919394390774395218459334 -4379091595292464054287507
-36492430237104184038520181 -253987324572060483286422939
-1691789494531258045567157717 -11149182918946980113429731347
-73511950112254277868261780941
7 -21 -133 -777 -4669 -29001 -184813
7 -14 -112 -728 -4564 -28784 -184372
7 -7 -77 -595 -4109 -27307 -179717
7 0 -28 -336 -2884 -21840 -156148
7 7 35 91 -301 -7133 -75445
7 14 112 728 4396 25424 141772
7 21 203 1617 12131 88641 638723
7 28 308 2800 23996 200368 1650188
7 35 427 4319 41251 384335 3535267
7 42 560 6216 65324 670992 6815180
7 49 707 8533 97811 1098349 12216107
7 56 868 11312 140476 1712816 20717068
7 63 1043 14595 195251 2570043 33602843
7 70 1232 18424 264236 3735760 52521932
7 77 1435 22841 349699 5286617 79549555
7 84 1652 27888 454076 7311024 117255692
7 91 1883 33607 579971 9909991 168778163
7 98 2128 40040 730156 13197968 237900748
7 105 2387 47229 907571 17303685 329136347
7 112 2660 55216 1115324 22370992 447815180
7 119 2947 64043 1356691 28559699 600178027
7 126 3248 73752 1635116 36046416 793474508
7 133 3563 84385 1954211 45025393 1036066403
7 140 3892 95984 2317756 55709360 1337536012
7 147 4235 108591 2729699 68330367 1708799555
7 154 4592 122248 3194156 83140624 2162225612
7 161 4963 136997 3715411 100413341 2711758603
7 168 5348 152880 4297916 120443568 3373047308
7 175 5747 169939 4946291 143549035 4163578427
7 182 6160 188216 5665324 170070992 5102815180
7 189 6587 207753 6459971 200375049 6212340947
7 196 7028 228592 7335356 234852016 7516007948
7 203 7483 250775 8296771 273918743 9040090963
7 210 7952 274344 9349676 318018960 10813446092
7 217 8435 299341 10499699 367624117 12867674555
7 224 8932 325808 11752636 423234224 15237291532
-2919394390774395218459333 4379091595292464054287507
36492430237104184038520181 253987324572060483286422939
1691789494531258045567157717 11149182918946980113429731347
73511950112254277868261780941
end
cddlib-0.94j/examples-ine/nonfull.ine 0000644 0001750 0001750 00000000323 13270061057 014522 0000000 0000000 * filename: nonfull.ine
* non full-dimensional polyhedron
H-representation
begin
6 4 integer
2 -1 0 0
-2 1 0 0
2 0 -1 0
-1 1 0 0
-1 0 1 0
-1 0 0 1
end
cddlib-0.94j/examples-ine/origin.ine 0000644 0001750 0001750 00000000526 13270061057 014341 0000000 0000000 * filename: origin.ine
* The polytope consists of a single point, the origin.
* cddlib now works properly for this input (version 090c and up).
H-representation
begin
7 7 integer
0 1 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1
0 -1 -1 -1 -1 -1 -1
end
cddlib-0.94j/examples-ine/reg24-5.ine 0000644 0001750 0001750 00000000746 13270061057 014143 0000000 0000000 * The facets of a self-dual 4-dim regular polytope
* with 24 octahedron facets.
H-representation
begin
24 5 integer
1 1 1 1 1
1 1 1 1 -1
1 1 1 -1 1
1 1 1 -1 -1
1 1 -1 1 1
1 1 -1 1 -1
1 1 -1 -1 1
1 1 -1 -1 -1
1 -1 1 1 1
1 -1 1 1 -1
1 -1 1 -1 1
1 -1 1 -1 -1
1 -1 -1 1 1
1 -1 -1 1 -1
1 -1 -1 -1 1
1 -1 -1 -1 -1
1 2 0 0 0
1 0 2 0 0
1 0 0 2 0
1 0 0 0 2
1 -2 0 0 0
1 0 -2 0 0
1 0 0 -2 0
1 0 0 0 -2
end
cddlib-0.94j/examples-ine/sampleh1.ine 0000644 0001750 0001750 00000000237 13270061061 014556 0000000 0000000 * file name: sampleh1.ine
* a 3-D cone containing no vertices and a line
H-representation
begin
3 4 integer
2 -1 -1 0
0 1 0 0
0 0 1 0
end
cddlib-0.94j/examples-ine/sampleh2.ine 0000644 0001750 0001750 00000000200 13270061061 014545 0000000 0000000 * file name: sampleh2.ine
* a hyperplane with no vertices and rays
H-representation
begin
1 4 integer
-1 0 0 1
end
cddlib-0.94j/examples-ine/sampleh3.ine 0000644 0001750 0001750 00000000216 13270061061 014555 0000000 0000000 * file name: sampleh3.ine
* a 3-D homogeneous cone with no vertices
H-representation
begin
2 4 integer
0 1 1 0
0 0 1 0
end
cddlib-0.94j/examples-ine/sampleh4.ine 0000644 0001750 0001750 00000000344 13270061061 014560 0000000 0000000 * File name: sampleh4.ine
* trivial inequalities: the polyhedron is the whole space.
H-representation
begin
6 4 integer
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
end
maximize
0 1 1 1
cddlib-0.94j/examples-ine/sampleh5.ine 0000644 0001750 0001750 00000000410 13270061061 014553 0000000 0000000 * file name: sampleh5.ine
* test file for redundancy removal
H-representation
linearity 1 3
begin
10 4 integer
0 1 0 0
0 0 1 0
0 0 0 1
0 2 0 0
0 0 0 3
1 -1 -1 -1
1 -1 -1 0
1 0 -1 -1
1 -1 0 -1
2 -1 -1 -1
end
maximize
0 1 1 1
cddlib-0.94j/examples-ine/sampleh6.ine 0000644 0001750 0001750 00000000260 13270061061 014557 0000000 0000000 * file name: sampleh6.ine
* test file for forced-equality checking
H-representation
begin
5 4 integer
0 1 0 0
0 0 1 0
0 0 0 1
1 -1 -1 -1
-1 1 1 0
end
cddlib-0.94j/examples-ine/sampleh7.ine 0000644 0001750 0001750 00000000440 13270061061 014560 0000000 0000000 * test file for redundancy removal
* the redundant rows are
* 3 4 5 9 10
* LP type = 1 Seed = 123
H-representation
begin
10 3 integer
0 1 0
0 0 1
-10000 651 693
-10000 697 637
-10000 368 824
-10000 87 725
-10000 387 219
-10000 430 202
-10000 356 988
-10000 674 979
end
cddlib-0.94j/examples-ine/sampleh8.ine 0000644 0001750 0001750 00000010410 13270061061 014557 0000000 0000000 * test file for redundancy removal
* the redundant rows are
* 10 11 12 14 21 23 26 32 39 40 41 44 46
* 50 51 54 56 57 59 62 63 64 69 76 77 78
* 79 83 84 85 87 88 91 94 97
* LP type = 1 Seed = 123
H-representation
begin
100 10 integer
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1
-10000 651 693 84 697 637 340 368 824 663
-10000 725 742 387 219 751 430 202 745 356
-10000 377 674 979 167 815 988 412 676 475
-10000 710 275 949 284 629 1 422 974 510
-10000 692 945 725 488 271 430 724 225 726
-10000 465 258 450 343 87 168 161 103 919
-10000 86 79 656 493 832 514 791 506 29
-10000 63 630 874 918 877 272 992 119 480
-10000 598 926 42 378 288 66 927 919 99
-10000 256 354 106 979 641 160 395 225 837
-10000 202 388 900 471 160 751 300 731 818
-10000 342 502 825 563 639 261 194 984 990
-10000 266 406 364 216 448 675 145 694 866
-10000 362 983 732 378 134 902 946 877 205
-10000 926 125 949 888 234 630 275 707 67
-10000 634 81 192 768 652 822 311 961 895
-10000 983 597 743 314 696 585 367 396 826
-10000 511 545 539 97 111 996 477 35 372
-10000 474 103 152 753 159 120 929 161 563
-10000 549 793 307 456 444 184 149 792 894
-10000 839 488 917 192 168 788 959 245 25
-10000 750 165 338 182 392 381 962 117 713
-10000 738 827 943 507 914 814 951 663 815
-10000 493 339 225 351 450 788 992 167 792
-10000 174 773 247 247 180 517 445 599 596
-10000 303 26 967 39 535 4 7 335 217
-10000 772 173 189 291 668 191 610 677 544
-10000 848 642 40 125 865 100 259 534 648
-10000 501 622 398 624 118 416 30 17 236
-10000 218 602 697 892 322 314 361 573 985
-10000 958 856 608 492 563 478 311 614 740
-10000 582 913 938 949 715 338 39 726 998
-10000 521 805 708 221 624 316 24 127 322
-10000 491 189 412 774 418 200 193 633 315
-10000 144 679 383 447 989 939 441 631 482
-10000 940 241 153 215 149 457 254 207 125
-10000 80 873 207 904 684 600 940 431 825
-10000 75 100 353 637 432 377 940 758 164
-10000 627 721 915 710 8 786 96 17 576
-10000 247 104 607 432 540 164 597 282 317
-10000 553 787 881 942 152 318 44 509 518
-10000 181 772 942 993 916 900 713 694 812
-10000 625 26 638 261 385 196 676 717 572
-10000 11 911 296 761 658 631 757 817 400
-10000 964 989 879 491 490 751 490 97 405
-10000 28 461 343 452 480 504 411 242 892
-10000 768 746 347 352 724 487 185 767 287
-10000 924 228 958 554 352 460 765 742 430
-10000 737 986 499 993 721 29 821 416 813
-10000 483 458 249 781 584 321 779 209 570
-10000 222 166 975 53 765 256 859 469 164
-10000 82 696 181 166 375 145 415 496 261
-10000 540 309 526 918 439 489 846 417 775
-10000 699 145 327 873 467 866 711 393 603
-10000 445 668 729 224 654 970 279 789 680
-10000 28 659 365 306 186 520 427 176 191
-10000 919 58 859 436 105 35 560 716 14
-10000 641 238 340 524 205 255 272 14 472
-10000 817 22 904 782 573 847 649 100 280
-10000 925 277 930 495 736 960 276 726 657
-10000 336 54 357 979 941 765 593 630 286
-10000 65 113 104 915 222 158 580 520 188
-10000 42 617 904 414 588 857 416 94 988
-10000 716 49 849 67 607 99 934 184 217
-10000 458 32 500 552 108 980 255 998 935
-10000 860 936 115 268 231 281 948 209 766
-10000 293 330 940 570 857 421 574 481 364
-10000 959 949 372 757 306 757 752 312 137
-10000 769 303 737 260 187 695 946 723 433
-10000 980 564 605 363 776 893 558 616 603
-10000 945 23 632 820 54 677 795 616 625
-10000 629 692 585 33 674 703 304 489 949
-10000 52 903 723 746 692 232 917 933 211
-10000 367 566 364 318 607 818 424 234 605
-10000 915 305 354 829 469 447 925 188 799
-10000 387 596 946 888 751 614 539 295 299
-10000 969 902 10 739 289 923 808 28 151
-10000 537 152 546 442 182 301 258 265 762
-10000 671 288 343 199 694 391 457 947 250
-10000 415 734 423 435 696 111 53 227 784
-10000 800 992 720 76 40 419 608 182 683
-10000 619 627 278 526 453 960 772 992 86
-10000 836 623 0 21 371 4 676 964 658
-10000 258 677 64 968 62 219 587 308 299
-10000 224 823 258 449 575 526 908 585 405
-10000 593 660 663 341 36 79 50 242 293
-10000 80 761 270 460 82 133 874 559 41
-10000 169 539 257 827 222 743 873 929 523
-10000 403 167 259 377 76 160 749 448 902
-10000 290 5 276 509 342 909 193 443 552
-10000 928 326 757 405 598 765 143 833 150
end
cddlib-0.94j/examples-ine/samplelp1.ine 0000644 0001750 0001750 00000000257 13270061061 014744 0000000 0000000 * file name: samplelp1.ine
* LP
H-representation
begin
6 4 integer
1 1 0 0
1 0 1 0
1 0 0 1
1 -1 0 0
1 0 -1 0
1 0 0 -1
end
maximize
0 1 1 1
cddlib-0.94j/examples-ine/samplelp2.ine 0000644 0001750 0001750 00000000277 13270061061 014747 0000000 0000000 * file name: samplelp2.ine
* LP
H-representation
linearity 2 3 4
begin
4 5 rational
0 1 1 0 0
0 0 2 0 0
3 0 -1 0 0
9/2 0 0 -1 -1
end
minimize
0 2 3/5 0 0
cddlib-0.94j/examples-ine/samplelp3.ine 0000644 0001750 0001750 00000014444 13270061061 014751 0000000 0000000 * file name: samplelp3.ine
* LP given by floating-point real numbers
H-representation
begin
120 5 real
2.618033989E+00 1 0 0 0
8.472135943E+00 2.618033984E+00 1.618033988E+00 -1 0
8.472135943E+00 2.618033984E+00 1.618033988E+00 1 0
8.472135945E+00 2.618033984E+00 1 0 1.618033990E+00
8.472135945E+00 2.618033984E+00 1 0 -1.618033990E+00
8.472135946E+00 2.618033985E+00 0 1.618033990E+00 1
8.472135946E+00 2.618033985E+00 0 1.618033990E+00 -1
8.472135946E+00 2.618033985E+00 0 -1.618033990E+00 1
8.472135946E+00 2.618033985E+00 0 -1.618033990E+00 -1
8.472135960E+00 2.618033990E+00 -1 0 1.618033991E+00
8.472135954E+00 2.618033988E+00 -1 0 -1.618033990E+00
8.472135941E+00 2.618033984E+00 -1.618033987E+00 1 0
8.472135946E+00 2.618033984E+00 -1.618033992E+00 -1 0
8.472135966E+00 1.618033989E+00 2.618033995E+00 0 1
8.472135966E+00 1.618033989E+00 2.618033995E+00 0 -1
5.236067982E+00 1 1 1 1
5.236067982E+00 1 1 1 -1
5.236067980E+00 1 1 -1 1
5.236067980E+00 1 1 -1 -1
8.472135941E+00 1.618033989E+00 1 2.618033982E+00 0
8.472135936E+00 1.618033985E+00 1 -2.618033983E+00 0
8.472135965E+00 1.618033992E+00 0 1 2.618033991E+00
8.472135965E+00 1.618033992E+00 0 1 -2.618033991E+00
8.472135967E+00 1.618033992E+00 0 -1 2.618033993E+00
8.472135967E+00 1.618033992E+00 0 -1 -2.618033993E+00
8.472135996E+00 1.618034002E+00 -1 2.618033998E+00 0
8.472135985E+00 1.618033997E+00 -1 -2.618033998E+00 0
5.236067982E+00 1 -1 1 1
5.236067987E+00 1 -1 1 -1
5.236067983E+00 1 -1 -1 1
5.236067984E+00 1 -1 -1 -1
8.472135981E+00 1.618033999E+00 -2.618033991E+00 0 1
8.472135972E+00 1.618033998E+00 -2.618033988E+00 0 -1
8.472135864E+00 1 2.618033957E+00 1.618033969E+00 0
8.472135874E+00 1 2.618033960E+00 -1.618033969E+00 0
8.472135841E+00 1 1.618033964E+00 0 2.618033948E+00
8.472135864E+00 1 1.618033970E+00 0 -2.618033956E+00
8.472135865E+00 1 0 2.618033957E+00 1.618033968E+00
8.472135880E+00 1 0 2.618033963E+00 -1.618033971E+00
8.472135921E+00 1 0 -2.618033977E+00 1.618033982E+00
8.472135936E+00 1 0 -2.618033982E+00 -1.618033984E+00
8.472135950E+00 1 -1.618033984E+00 0 2.618033987E+00
8.472135975E+00 1 -1.618033991E+00 0 -2.618033996E+00
8.472135940E+00 1 -2.618033980E+00 1.618033987E+00 0
8.472135918E+00 1 -2.618033977E+00 -1.618033979E+00 0
2.618033992E+00 0 1 0 0
8.472135970E+00 0 2.618033994E+00 1 1.618033987E+00
8.472135966E+00 0 2.618033993E+00 1 -1.618033986E+00
8.472135969E+00 0 2.618033993E+00 -1 1.618033989E+00
8.472135965E+00 0 2.618033993E+00 -1 -1.618033988E+00
8.472135978E+00 0 1.618033994E+00 2.618033994E+00 1
8.472136017E+00 0 1.618034002E+00 2.618034006E+00 -1
8.472135962E+00 0 1.618033993E+00 -2.618033988E+00 1
8.472135995E+00 0 1.618033999E+00 -2.618033998E+00 -1
8.472135946E+00 0 1 1.618033984E+00 2.618033986E+00
8.472135944E+00 0 1 1.618033985E+00 -2.618033986E+00
8.472135922E+00 0 1 -1.618033980E+00 2.618033979E+00
2.618033990E+00 0 0 0 1
8.472135919E+00 0 1 -1.618033980E+00 -2.618033979E+00
2.618033989E+00 0 0 0 -1
2.618033988E+00 0 0 1 0
2.618033987E+00 0 0 -1 0
8.472135960E+00 0 -1 1.618033993E+00 2.618033991E+00
8.472135908E+00 0 -1.618033977E+00 2.618033974E+00 1
8.472135958E+00 0 -1 1.618033994E+00 -2.618033991E+00
8.472135901E+00 0 -1.618033978E+00 2.618033974E+00 -1
8.472135954E+00 0 -1 -1.618033990E+00 2.618033990E+00
8.472135908E+00 0 -1.618033976E+00 -2.618033974E+00 1
8.472135952E+00 0 -1 -1.618033991E+00 -2.618033990E+00
8.472135907E+00 0 -1.618033978E+00 -2.618033975E+00 -1
8.472135946E+00 0 -2.618033995E+00 1 1.618033991E+00
8.472135953E+00 0 -2.618033995E+00 -1 1.618033994E+00
8.472135953E+00 0 -2.618033998E+00 1 -1.618033992E+00
8.472135955E+00 0 -2.618033996E+00 -1 -1.618033994E+00
2.618033981E+00 0 -1 0 0
8.472135799E+00 -1 2.618033936E+00 1.618033957E+00 0
8.472135806E+00 -1 2.618033939E+00 -1.618033956E+00 0
8.472135741E+00 -1 1.618033945E+00 0 2.618033918E+00
8.472135889E+00 -1.618033990E+00 2.618033960E+00 0 1
8.472135767E+00 -1 1.618033951E+00 0 -2.618033925E+00
8.472135878E+00 -1.618033996E+00 2.618033953E+00 0 -1
8.472135831E+00 -1 0 2.618033947E+00 1.618033962E+00
5.236068004E+00 -1 1 1 1
8.472135830E+00 -1 0 2.618033948E+00 -1.618033961E+00
5.236067998E+00 -1 1 1 -1
8.472135931E+00 -1 0 -2.618033980E+00 1.618033984E+00
5.236067998E+00 -1 1 -1 1
8.472135930E+00 -1 0 -2.618033980E+00 -1.618033982E+00
5.236067992E+00 -1 1 -1 -1
8.472135952E+00 -1.618033993E+00 1 2.618033986E+00 0
8.472135960E+00 -1.618033995E+00 1 -2.618033988E+00 0
8.472135973E+00 -1 -1.618033989E+00 0 2.618033995E+00
8.472135979E+00 -1.618033991E+00 0 1 2.618033997E+00
8.472135996E+00 -1 -1.618033995E+00 0 -2.618034002E+00
8.472135951E+00 -1.618033985E+00 0 1 -2.618033988E+00
8.472135999E+00 -1.618033998E+00 0 -1 2.618034003E+00
8.472135970E+00 -1.618033992E+00 0 -1 -2.618033994E+00
8.472135949E+00 -1 -2.618033984E+00 1.618033989E+00 0
8.472135976E+00 -1.618033990E+00 -1 2.618033998E+00 0
8.472135886E+00 -1 -2.618033968E+00 -1.618033973E+00 0
8.472136008E+00 -1.618034002E+00 -1 -2.618034009E+00 0
5.236068025E+00 -1 -1 1 1
5.236068045E+00 -1 -1 1 -1
5.236067992E+00 -1 -1 -1 1
5.236067996E+00 -1 -1 -1 -1
8.472135733E+00 -1.618033890E+00 -2.618033931E+00 0 1
8.472135716E+00 -1.618033884E+00 -2.618033926E+00 0 -1
8.472135892E+00 -2.618033958E+00 1.618033988E+00 1 0
8.472135949E+00 -2.618033975E+00 1.618033999E+00 -1 0
8.472135850E+00 -2.618033938E+00 1 0 1.618033982E+00
8.472135860E+00 -2.618033944E+00 1 0 -1.618033981E+00
8.472135925E+00 -2.618033969E+00 0 1.618033991E+00 1
8.472135937E+00 -2.618033972E+00 0 1.618033995E+00 -1
8.472135998E+00 -2.618034011E+00 0 -1.618033985E+00 1
8.472136011E+00 -2.618034015E+00 0 -1.618033988E+00 -1
8.472136073E+00 -2.618034037E+00 -1 0 1.618034000E+00
8.472136082E+00 -2.618034044E+00 -1 0 -1.618033997E+00
8.472135976E+00 -2.618034005E+00 -1.618033977E+00 1 0
8.472136051E+00 -2.618034034E+00 -1.618033992E+00 -1 0
2.618033989E+00 -1 0 0 0
end
maximize
0 1 2.1 3.1 4.5
cddlib-0.94j/examples-ine/samplelp4.ine 0000644 0001750 0001750 00000014365 13270061061 014754 0000000 0000000 * file name: lpmintest.ine
H-representation
begin
120 5 real
2.618033989E+00 1 0 0 0
8.472135943E+00 2.618033984E+00 1.618033988E+00 -1 0
8.472135943E+00 2.618033984E+00 1.618033988E+00 1 0
8.472135945E+00 2.618033984E+00 1 0 1.618033990E+00
8.472135945E+00 2.618033984E+00 1 0 -1.618033990E+00
8.472135946E+00 2.618033985E+00 0 1.618033990E+00 1
8.472135946E+00 2.618033985E+00 0 1.618033990E+00 -1
8.472135946E+00 2.618033985E+00 0 -1.618033990E+00 1
8.472135946E+00 2.618033985E+00 0 -1.618033990E+00 -1
8.472135960E+00 2.618033990E+00 -1 0 1.618033991E+00
8.472135954E+00 2.618033988E+00 -1 0 -1.618033990E+00
8.472135941E+00 2.618033984E+00 -1.618033987E+00 1 0
8.472135946E+00 2.618033984E+00 -1.618033992E+00 -1 0
8.472135966E+00 1.618033989E+00 2.618033995E+00 0 1
8.472135966E+00 1.618033989E+00 2.618033995E+00 0 -1
5.236067982E+00 1 1 1 1
5.236067982E+00 1 1 1 -1
5.236067980E+00 1 1 -1 1
5.236067980E+00 1 1 -1 -1
8.472135941E+00 1.618033989E+00 1 2.618033982E+00 0
8.472135936E+00 1.618033985E+00 1 -2.618033983E+00 0
8.472135965E+00 1.618033992E+00 0 1 2.618033991E+00
8.472135965E+00 1.618033992E+00 0 1 -2.618033991E+00
8.472135967E+00 1.618033992E+00 0 -1 2.618033993E+00
8.472135967E+00 1.618033992E+00 0 -1 -2.618033993E+00
8.472135996E+00 1.618034002E+00 -1 2.618033998E+00 0
8.472135985E+00 1.618033997E+00 -1 -2.618033998E+00 0
5.236067982E+00 1 -1 1 1
5.236067987E+00 1 -1 1 -1
5.236067983E+00 1 -1 -1 1
5.236067984E+00 1 -1 -1 -1
8.472135981E+00 1.618033999E+00 -2.618033991E+00 0 1
8.472135972E+00 1.618033998E+00 -2.618033988E+00 0 -1
8.472135864E+00 1 2.618033957E+00 1.618033969E+00 0
8.472135874E+00 1 2.618033960E+00 -1.618033969E+00 0
8.472135841E+00 1 1.618033964E+00 0 2.618033948E+00
8.472135864E+00 1 1.618033970E+00 0 -2.618033956E+00
8.472135865E+00 1 0 2.618033957E+00 1.618033968E+00
8.472135880E+00 1 0 2.618033963E+00 -1.618033971E+00
8.472135921E+00 1 0 -2.618033977E+00 1.618033982E+00
8.472135936E+00 1 0 -2.618033982E+00 -1.618033984E+00
8.472135950E+00 1 -1.618033984E+00 0 2.618033987E+00
8.472135975E+00 1 -1.618033991E+00 0 -2.618033996E+00
8.472135940E+00 1 -2.618033980E+00 1.618033987E+00 0
8.472135918E+00 1 -2.618033977E+00 -1.618033979E+00 0
2.618033992E+00 0 1 0 0
8.472135970E+00 0 2.618033994E+00 1 1.618033987E+00
8.472135966E+00 0 2.618033993E+00 1 -1.618033986E+00
8.472135969E+00 0 2.618033993E+00 -1 1.618033989E+00
8.472135965E+00 0 2.618033993E+00 -1 -1.618033988E+00
8.472135978E+00 0 1.618033994E+00 2.618033994E+00 1
8.472136017E+00 0 1.618034002E+00 2.618034006E+00 -1
8.472135962E+00 0 1.618033993E+00 -2.618033988E+00 1
8.472135995E+00 0 1.618033999E+00 -2.618033998E+00 -1
8.472135946E+00 0 1 1.618033984E+00 2.618033986E+00
8.472135944E+00 0 1 1.618033985E+00 -2.618033986E+00
8.472135922E+00 0 1 -1.618033980E+00 2.618033979E+00
2.618033990E+00 0 0 0 1
8.472135919E+00 0 1 -1.618033980E+00 -2.618033979E+00
2.618033989E+00 0 0 0 -1
2.618033988E+00 0 0 1 0
2.618033987E+00 0 0 -1 0
8.472135960E+00 0 -1 1.618033993E+00 2.618033991E+00
8.472135908E+00 0 -1.618033977E+00 2.618033974E+00 1
8.472135958E+00 0 -1 1.618033994E+00 -2.618033991E+00
8.472135901E+00 0 -1.618033978E+00 2.618033974E+00 -1
8.472135954E+00 0 -1 -1.618033990E+00 2.618033990E+00
8.472135908E+00 0 -1.618033976E+00 -2.618033974E+00 1
8.472135952E+00 0 -1 -1.618033991E+00 -2.618033990E+00
8.472135907E+00 0 -1.618033978E+00 -2.618033975E+00 -1
8.472135946E+00 0 -2.618033995E+00 1 1.618033991E+00
8.472135953E+00 0 -2.618033995E+00 -1 1.618033994E+00
8.472135953E+00 0 -2.618033998E+00 1 -1.618033992E+00
8.472135955E+00 0 -2.618033996E+00 -1 -1.618033994E+00
2.618033981E+00 0 -1 0 0
8.472135799E+00 -1 2.618033936E+00 1.618033957E+00 0
8.472135806E+00 -1 2.618033939E+00 -1.618033956E+00 0
8.472135741E+00 -1 1.618033945E+00 0 2.618033918E+00
8.472135889E+00 -1.618033990E+00 2.618033960E+00 0 1
8.472135767E+00 -1 1.618033951E+00 0 -2.618033925E+00
8.472135878E+00 -1.618033996E+00 2.618033953E+00 0 -1
8.472135831E+00 -1 0 2.618033947E+00 1.618033962E+00
5.236068004E+00 -1 1 1 1
8.472135830E+00 -1 0 2.618033948E+00 -1.618033961E+00
5.236067998E+00 -1 1 1 -1
8.472135931E+00 -1 0 -2.618033980E+00 1.618033984E+00
5.236067998E+00 -1 1 -1 1
8.472135930E+00 -1 0 -2.618033980E+00 -1.618033982E+00
5.236067992E+00 -1 1 -1 -1
8.472135952E+00 -1.618033993E+00 1 2.618033986E+00 0
8.472135960E+00 -1.618033995E+00 1 -2.618033988E+00 0
8.472135973E+00 -1 -1.618033989E+00 0 2.618033995E+00
8.472135979E+00 -1.618033991E+00 0 1 2.618033997E+00
8.472135996E+00 -1 -1.618033995E+00 0 -2.618034002E+00
8.472135951E+00 -1.618033985E+00 0 1 -2.618033988E+00
8.472135999E+00 -1.618033998E+00 0 -1 2.618034003E+00
8.472135970E+00 -1.618033992E+00 0 -1 -2.618033994E+00
8.472135949E+00 -1 -2.618033984E+00 1.618033989E+00 0
8.472135976E+00 -1.618033990E+00 -1 2.618033998E+00 0
8.472135886E+00 -1 -2.618033968E+00 -1.618033973E+00 0
8.472136008E+00 -1.618034002E+00 -1 -2.618034009E+00 0
5.236068025E+00 -1 -1 1 1
5.236068045E+00 -1 -1 1 -1
5.236067992E+00 -1 -1 -1 1
5.236067996E+00 -1 -1 -1 -1
8.472135733E+00 -1.618033890E+00 -2.618033931E+00 0 1
8.472135716E+00 -1.618033884E+00 -2.618033926E+00 0 -1
8.472135892E+00 -2.618033958E+00 1.618033988E+00 1 0
8.472135949E+00 -2.618033975E+00 1.618033999E+00 -1 0
8.472135850E+00 -2.618033938E+00 1 0 1.618033982E+00
8.472135860E+00 -2.618033944E+00 1 0 -1.618033981E+00
8.472135925E+00 -2.618033969E+00 0 1.618033991E+00 1
8.472135937E+00 -2.618033972E+00 0 1.618033995E+00 -1
8.472135998E+00 -2.618034011E+00 0 -1.618033985E+00 1
8.472136011E+00 -2.618034015E+00 0 -1.618033988E+00 -1
8.472136073E+00 -2.618034037E+00 -1 0 1.618034000E+00
8.472136082E+00 -2.618034044E+00 -1 0 -1.618033997E+00
8.472135976E+00 -2.618034005E+00 -1.618033977E+00 1 0
8.472136051E+00 -2.618034034E+00 -1.618033992E+00 -1 0
2.618033989E+00 -1 0 0 0
end
minimize
0 1 1 1 1
cddlib-0.94j/examples-ine/samplelp.ine 0000644 0001750 0001750 00000002070 13270061061 014656 0000000 0000000 * Rational LP data
H-representation
begin
20 5 rational
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
0 3008 20980 -97775 -101225
0 3985 25643 -135871 -130580
0 4324 26978 -133655 -168473
0 3534 25361 -46243 -100407
0 8836 40796 -176661 -215616
0 5376 37562 -182576 -217615
0 4982 33088 -98880 -167278
0 4775 39122 -136701 -193393
0 8046 42958 -225138 -256575
0 8554 48955 -257370 -312877
0 6147 45514 -165274 -227099
0 8366 55140 -203989 -321623
0 13479 68037 -174270 -341743
0 21808 78302 -322990 -487539
1 -8554/10000 -48955/10000 0 0
1 0 0 -257370/10000 -312877/10000
end
maximize
0 1 1/2 1/3 1/4
cddlib-0.94j/examples-ine3d/ 0000755 0001750 0001750 00000000000 13312731233 012656 5 0000000 0000000 cddlib-0.94j/examples-ine3d/cube3.ine 0000644 0001750 0001750 00000000246 13270061057 014301 0000000 0000000 filename: cube3.ine
Hypercube of dimension 3
H-representation
begin
6 4 integer
1 1 0 0
1 0 1 0
1 0 0 1
1 -1 0 0
1 0 -1 0
1 0 0 -1
end
cddlib-0.94j/examples-ine3d/cubocta.ine 0000644 0001750 0001750 00000000430 13270061057 014713 0000000 0000000 filename: cubocta.ine
Cuboctahedron
H-representation
begin
14 4 integer
1 1 0 0
1 0 1 0
1 0 0 1
1 -1 0 0
1 0 -1 0
1 0 0 -1
2 1 1 1
2 -1 1 1
2 1 -1 1
2 1 1 -1
2 -1 -1 1
2 1 -1 -1
2 -1 1 -1
2 -1 -1 -1
end
cddlib-0.94j/examples-ine3d/dodeca.ine 0000644 0001750 0001750 00000000742 13270061057 014520 0000000 0000000 filename: dodeca.ine
dodecahedron inequalities
H-representation
begin
12 4 real
1 0 -0.61803398874989485 -1.
1 -1. 0 -0.61803398874989485
1 -0.61803398874989485 -1. 0
1 0 0.61803398874989485 1.
1 1. 0 0.61803398874989485
1 0.61803398874989485 1. 0
1 0 0.61803398874989485 -1.
1 -1. 0 0.61803398874989485
1 0.61803398874989485 -1. 0
1 0 -0.61803398874989485 1.
1 1. 0 -0.61803398874989485
1 -0.61803398874989485 1. 0
end
cddlib-0.94j/examples-ine3d/grcubocta.ine 0000644 0001750 0001750 00000000722 13270061057 015250 0000000 0000000 filename: grcubocta.ine
Great rhombicuboctahedron
H-representation
begin
26 4 integer
1 1 0 0
1 0 1 0
1 0 0 1
1 -1 0 0
1 0 -1 0
1 0 0 -1
2 1 1 1
2 -1 1 1
2 1 -1 1
2 1 1 -1
2 -1 -1 1
2 1 -1 -1
2 -1 1 -1
2 -1 -1 -1
5 3 3 0
5 0 3 3
5 3 0 3
5 -3 3 0
5 0 -3 3
5 3 0 -3
5 3 -3 0
5 0 3 -3
5 -3 0 3
5 -3 -3 0
5 0 -3 -3
5 -3 0 -3
end
cddlib-0.94j/examples-ine3d/hexocta.ine 0000644 0001750 0001750 00000001305 13270061057 014730 0000000 0000000 filename: hexocta.ine
Hexakis octahedron
H-representation
begin
48 4 integer
3 -3 1 -2
3 -2 -1 -3
3 -2 1 -3
3 -3 -1 -2
3 -2 3 -1
3 -2 3 1
3 -3 2 -1
3 -3 2 1
3 1 -3 2
3 1 -2 3
3 -1 -3 2
3 -1 -2 3
3 1 2 3
3 1 3 2
3 -1 2 3
3 -1 3 2
3 3 1 -2
3 2 -1 -3
3 3 -1 -2
3 2 1 -3
3 2 3 -1
3 3 2 -1
3 2 3 1
3 3 2 1
3 2 1 3
3 3 -1 2
3 2 -1 3
3 3 1 2
3 2 -3 1
3 2 -3 -1
3 3 -2 1
3 3 -2 -1
3 -1 3 -2
3 -1 2 -3
3 1 3 -2
3 1 2 -3
3 -1 -2 -3
3 -1 -3 -2
3 1 -2 -3
3 1 -3 -2
3 -3 -1 2
3 -2 1 3
3 -2 -1 3
3 -3 1 2
3 -2 -3 1
3 -2 -3 -1
3 -3 -2 1
3 -3 -2 -1
end
cddlib-0.94j/examples-ine3d/icododeca.ine 0000644 0001750 0001750 00000003204 13270061057 015207 0000000 0000000 Icosidodecahedron
% rational numbers appearing here are
% -3-5^(1/2), -1-5^(1/2) and their negatives.
H-representation
begin
32 4 real
1 -2. -5.2360679775 0.
1 0. -2. -5.2360679775
1 0. -5.2360679775 -3.2360679775
1 0. -5.2360679775 3.2360679775
1 0. -2. 5.2360679775
1 2. -5.2360679775 0.
1 -5.2360679775 0. -2.
1 -5.2360679775 -3.2360679775 0.
1 -5.2360679775 3.2360679775 0.
1 -5.2360679775 0. 2.
1 -3.2360679775 0. -5.2360679775
1 -3.2360679775 -3.2360679775 -3.2360679775
1 -3.2360679775 3.2360679775 -3.2360679775
1 -3.2360679775 -3.2360679775 3.2360679775
1 -3.2360679775 3.2360679775 3.2360679775
1 -3.2360679775 0. 5.2360679775
1 3.2360679775 0. -5.2360679775
1 3.2360679775 -3.2360679775 -3.2360679775
1 3.2360679775 3.2360679775 -3.2360679775
1 3.2360679775 -3.2360679775 3.2360679775
1 3.2360679775 3.2360679775 3.2360679775
1 3.2360679775 0. 5.2360679775
1 5.2360679775 0. -2.
1 5.2360679775 -3.2360679775 0.
1 5.2360679775 3.2360679775 0.
1 5.2360679775 0. 2.
1 -2. 5.2360679775 0.
1 0. 2. -5.2360679775
1 0. 5.2360679775 -3.2360679775
1 0. 5.2360679775 3.2360679775
1 0. 2. 5.2360679775
1 2. 5.2360679775 0.
end
cddlib-0.94j/examples-ine3d/rcubocta.ine 0000644 0001750 0001750 00000000713 13270061057 015101 0000000 0000000 filename: rcubocta.ine
Rhombicuboctahedron
H-representation
begin
26 4 integer
1 1 0 0
1 0 1 0
1 0 0 1
1 -1 0 0
1 0 -1 0
1 0 0 -1
2 1 1 1
2 -1 1 1
2 1 -1 1
2 1 1 -1
2 -1 -1 1
2 1 -1 -1
2 -1 1 -1
2 -1 -1 -1
3 2 2 0
3 0 2 2
3 2 0 2
3 -2 2 0
3 0 -2 2
3 2 0 -2
3 2 -2 0
3 0 2 -2
3 -2 0 2
3 -2 -2 0
3 0 -2 -2
3 -2 0 -2
end
cddlib-0.94j/examples-ine3d/rhomtria.ine 0000644 0001750 0001750 00000002651 13270061057 015127 0000000 0000000 Rhombic Triacontahedron
H-representation
begin
30 4 real
.1 -1.54508497e-01 5.90169944e-02 -9.54915028e-02
.1 -9.54915028e-02 1.54508497e-01 -5.90169944e-02
.1 -9.54915028e-02 1.54508497e-01 5.90169944e-02
.1 -5.90169944e-02 -9.54915028e-02 1.54508497e-01
.1 0 0 1.90983006e-01
.1 -5.90169944e-02 9.54915028e-02 1.54508497e-01
.1 0 1.90983006e-01 0
.1 9.54915028e-02 -1.54508497e-01 5.90169944e-02
.1 5.90169944e-02 -9.54915028e-02 1.54508497e-01
.1 5.90169944e-02 9.54915028e-02 -1.54508497e-01
.1 9.54915028e-02 1.54508497e-01 -5.90169944e-02
.1 1.54508497e-01 -5.90169944e-02 -9.54915028e-02
.1 1.54508497e-01 5.90169944e-02 -9.54915028e-02
.1 1.90983006e-01 0 0
.1 1.54508497e-01 5.90169944e-02 9.54915028e-02
.1 1.54508497e-01 -5.90169944e-02 9.54915028e-02
.1 9.54915028e-02 1.54508497e-01 5.90169944e-02
.1 5.90169944e-02 9.54915028e-02 1.54508497e-01
.1 5.90169944e-02 -9.54915028e-02 -1.54508497e-01
.1 9.54915028e-02 -1.54508497e-01 -5.90169944e-02
.1 0 -1.90983006e-01 0
.1 -5.90169944e-02 9.54915028e-02 -1.54508497e-01
.1 0 0 -1.90983006e-01
.1 -5.90169944e-02 -9.54915028e-02 -1.54508497e-01
.1 -1.54508497e-01 5.90169944e-02 9.54915028e-02
.1 -1.54508497e-01 -5.90169944e-02 9.54915028e-02
.1 -9.54915028e-02 -1.54508497e-01 -5.90169944e-02
.1 -9.54915028e-02 -1.54508497e-01 5.90169944e-02
.1 -1.54508497e-01 -5.90169944e-02 -9.54915028e-02
.1 -1.90983006e-01 0 0
end
cddlib-0.94j/m4/ 0000755 0001750 0001750 00000000000 13312731233 010360 5 0000000 0000000 cddlib-0.94j/m4/libtool.m4 0000644 0001750 0001750 00001127076 13300566262 012231 0000000 0000000 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
# Copyright (C) 1996-2001, 2003-2017 Free Software Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
m4_define([_LT_COPYING], [dnl
# Copyright (C) 2014 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# GNU Libtool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of of the License, or
# (at your option) any later version.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program or library that is built
# using GNU Libtool, you may include this file under the same
# distribution terms that you use for the rest of that program.
#
# GNU Libtool is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
])
# serial 58 LT_INIT
# LT_PREREQ(VERSION)
# ------------------
# Complain and exit if this libtool version is less that VERSION.
m4_defun([LT_PREREQ],
[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
[m4_default([$3],
[m4_fatal([Libtool version $1 or higher is required],
63)])],
[$2])])
# _LT_CHECK_BUILDDIR
# ------------------
# Complain if the absolute build directory name contains unusual characters
m4_defun([_LT_CHECK_BUILDDIR],
[case `pwd` in
*\ * | *\ *)
AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
esac
])
# LT_INIT([OPTIONS])
# ------------------
AC_DEFUN([LT_INIT],
[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
AC_BEFORE([$0], [LT_LANG])dnl
AC_BEFORE([$0], [LT_OUTPUT])dnl
AC_BEFORE([$0], [LTDL_INIT])dnl
m4_require([_LT_CHECK_BUILDDIR])dnl
dnl Autoconf doesn't catch unexpanded LT_ macros by default:
m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
dnl unless we require an AC_DEFUNed macro:
AC_REQUIRE([LTOPTIONS_VERSION])dnl
AC_REQUIRE([LTSUGAR_VERSION])dnl
AC_REQUIRE([LTVERSION_VERSION])dnl
AC_REQUIRE([LTOBSOLETE_VERSION])dnl
m4_require([_LT_PROG_LTMAIN])dnl
_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
dnl Parse OPTIONS
_LT_SET_OPTIONS([$0], [$1])
# This can be used to rebuild libtool when needed
LIBTOOL_DEPS=$ltmain
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
AC_SUBST(LIBTOOL)dnl
_LT_SETUP
# Only expand once:
m4_define([LT_INIT])
])# LT_INIT
# Old names:
AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
# _LT_PREPARE_CC_BASENAME
# -----------------------
m4_defun([_LT_PREPARE_CC_BASENAME], [
# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
func_cc_basename ()
{
for cc_temp in @S|@*""; do
case $cc_temp in
compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
\-*) ;;
*) break;;
esac
done
func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
}
])# _LT_PREPARE_CC_BASENAME
# _LT_CC_BASENAME(CC)
# -------------------
# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
# but that macro is also expanded into generated libtool script, which
# arranges for $SED and $ECHO to be set by different means.
m4_defun([_LT_CC_BASENAME],
[m4_require([_LT_PREPARE_CC_BASENAME])dnl
AC_REQUIRE([_LT_DECL_SED])dnl
AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
func_cc_basename $1
cc_basename=$func_cc_basename_result
])
# _LT_FILEUTILS_DEFAULTS
# ----------------------
# It is okay to use these file commands and assume they have been set
# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
m4_defun([_LT_FILEUTILS_DEFAULTS],
[: ${CP="cp -f"}
: ${MV="mv -f"}
: ${RM="rm -f"}
])# _LT_FILEUTILS_DEFAULTS
# _LT_SETUP
# ---------
m4_defun([_LT_SETUP],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
dnl
_LT_DECL([], [host_alias], [0], [The host system])dnl
_LT_DECL([], [host], [0])dnl
_LT_DECL([], [host_os], [0])dnl
dnl
_LT_DECL([], [build_alias], [0], [The build system])dnl
_LT_DECL([], [build], [0])dnl
_LT_DECL([], [build_os], [0])dnl
dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([LT_PATH_LD])dnl
AC_REQUIRE([LT_PATH_NM])dnl
dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
test -z "$LN_S" && LN_S="ln -s"
_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
dnl
AC_REQUIRE([LT_CMD_MAX_LEN])dnl
_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
m4_require([_LT_CMD_RELOAD])dnl
m4_require([_LT_CHECK_MAGIC_METHOD])dnl
m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
m4_require([_LT_CMD_OLD_ARCHIVE])dnl
m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
m4_require([_LT_WITH_SYSROOT])dnl
m4_require([_LT_CMD_TRUNCATE])dnl
_LT_CONFIG_LIBTOOL_INIT([
# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes INIT.
if test -n "\${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
])
if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
_LT_CHECK_OBJDIR
m4_require([_LT_TAG_COMPILER])dnl
case $host_os in
aix3*)
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
;;
esac
# Global variables:
ofile=libtool
can_build_shared=yes
# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
with_gnu_ld=$lt_cv_prog_gnu_ld
old_CC=$CC
old_CFLAGS=$CFLAGS
# Set sane defaults for various variables
test -z "$CC" && CC=cc
test -z "$LTCC" && LTCC=$CC
test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
test -z "$LD" && LD=ld
test -z "$ac_objext" && ac_objext=o
_LT_CC_BASENAME([$compiler])
# Only perform the check for file, if the check method requires it
test -z "$MAGIC_CMD" && MAGIC_CMD=file
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
_LT_PATH_MAGIC
fi
;;
esac
# Use C for the default configuration in the libtool script
LT_SUPPORTED_TAG([CC])
_LT_LANG_C_CONFIG
_LT_LANG_DEFAULT_CONFIG
_LT_CONFIG_COMMANDS
])# _LT_SETUP
# _LT_PREPARE_SED_QUOTE_VARS
# --------------------------
# Define a few sed substitution that help us do robust quoting.
m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
[# Backslashify metacharacters that are still active within
# double-quoted strings.
sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
# Same as above, but do not quote variable references.
double_quote_subst='s/\([["`\\]]\)/\\\1/g'
# Sed substitution to delay expansion of an escaped shell variable in a
# double_quote_subst'ed string.
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
# Sed substitution to delay expansion of an escaped single quote.
delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
# Sed substitution to avoid accidental globbing in evaled expressions
no_glob_subst='s/\*/\\\*/g'
])
# _LT_PROG_LTMAIN
# ---------------
# Note that this code is called both from 'configure', and 'config.status'
# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
# 'config.status' has no value for ac_aux_dir unless we are using Automake,
# so we pass a copy along to make sure it has a sensible value anyway.
m4_defun([_LT_PROG_LTMAIN],
[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
ltmain=$ac_aux_dir/ltmain.sh
])# _LT_PROG_LTMAIN
## ------------------------------------- ##
## Accumulate code for creating libtool. ##
## ------------------------------------- ##
# So that we can recreate a full libtool script including additional
# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
# in macros and then make a single call at the end using the 'libtool'
# label.
# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
# ----------------------------------------
# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
m4_define([_LT_CONFIG_LIBTOOL_INIT],
[m4_ifval([$1],
[m4_append([_LT_OUTPUT_LIBTOOL_INIT],
[$1
])])])
# Initialize.
m4_define([_LT_OUTPUT_LIBTOOL_INIT])
# _LT_CONFIG_LIBTOOL([COMMANDS])
# ------------------------------
# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
m4_define([_LT_CONFIG_LIBTOOL],
[m4_ifval([$1],
[m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
[$1
])])])
# Initialize.
m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
# -----------------------------------------------------
m4_defun([_LT_CONFIG_SAVE_COMMANDS],
[_LT_CONFIG_LIBTOOL([$1])
_LT_CONFIG_LIBTOOL_INIT([$2])
])
# _LT_FORMAT_COMMENT([COMMENT])
# -----------------------------
# Add leading comment marks to the start of each line, and a trailing
# full-stop to the whole comment if one is not present already.
m4_define([_LT_FORMAT_COMMENT],
[m4_ifval([$1], [
m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
[['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
)])
## ------------------------ ##
## FIXME: Eliminate VARNAME ##
## ------------------------ ##
# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
# -------------------------------------------------------------------
# CONFIGNAME is the name given to the value in the libtool script.
# VARNAME is the (base) name used in the configure script.
# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
# VARNAME. Any other value will be used directly.
m4_define([_LT_DECL],
[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
[lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
[m4_ifval([$1], [$1], [$2])])
lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
m4_ifval([$4],
[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
lt_dict_add_subkey([lt_decl_dict], [$2],
[tagged?], [m4_ifval([$5], [yes], [no])])])
])
# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
# --------------------------------------------------------
m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
# ------------------------------------------------
m4_define([lt_decl_tag_varnames],
[_lt_decl_filter([tagged?], [yes], $@)])
# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
# ---------------------------------------------------------
m4_define([_lt_decl_filter],
[m4_case([$#],
[0], [m4_fatal([$0: too few arguments: $#])],
[1], [m4_fatal([$0: too few arguments: $#: $1])],
[2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
[3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
[lt_dict_filter([lt_decl_dict], $@)])[]dnl
])
# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
# --------------------------------------------------
m4_define([lt_decl_quote_varnames],
[_lt_decl_filter([value], [1], $@)])
# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
# ---------------------------------------------------
m4_define([lt_decl_dquote_varnames],
[_lt_decl_filter([value], [2], $@)])
# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
# ---------------------------------------------------
m4_define([lt_decl_varnames_tagged],
[m4_assert([$# <= 2])dnl
_$0(m4_quote(m4_default([$1], [[, ]])),
m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
m4_define([_lt_decl_varnames_tagged],
[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
# ------------------------------------------------
m4_define([lt_decl_all_varnames],
[_$0(m4_quote(m4_default([$1], [[, ]])),
m4_if([$2], [],
m4_quote(lt_decl_varnames),
m4_quote(m4_shift($@))))[]dnl
])
m4_define([_lt_decl_all_varnames],
[lt_join($@, lt_decl_varnames_tagged([$1],
lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
])
# _LT_CONFIG_STATUS_DECLARE([VARNAME])
# ------------------------------------
# Quote a variable value, and forward it to 'config.status' so that its
# declaration there will have the same value as in 'configure'. VARNAME
# must have a single quote delimited value for this to work.
m4_define([_LT_CONFIG_STATUS_DECLARE],
[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
# _LT_CONFIG_STATUS_DECLARATIONS
# ------------------------------
# We delimit libtool config variables with single quotes, so when
# we write them to config.status, we have to be sure to quote all
# embedded single quotes properly. In configure, this macro expands
# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
#
# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`'
m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
[m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
# _LT_LIBTOOL_TAGS
# ----------------
# Output comment and list of tags supported by the script
m4_defun([_LT_LIBTOOL_TAGS],
[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
available_tags='_LT_TAGS'dnl
])
# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
# -----------------------------------
# Extract the dictionary values for VARNAME (optionally with TAG) and
# expand to a commented shell variable setting:
#
# # Some comment about what VAR is for.
# visible_name=$lt_internal_name
m4_define([_LT_LIBTOOL_DECLARE],
[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
[description])))[]dnl
m4_pushdef([_libtool_name],
m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
[0], [_libtool_name=[$]$1],
[1], [_libtool_name=$lt_[]$1],
[2], [_libtool_name=$lt_[]$1],
[_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
])
# _LT_LIBTOOL_CONFIG_VARS
# -----------------------
# Produce commented declarations of non-tagged libtool config variables
# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
# section) are produced by _LT_LIBTOOL_TAG_VARS.
m4_defun([_LT_LIBTOOL_CONFIG_VARS],
[m4_foreach([_lt_var],
m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
[m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
# _LT_LIBTOOL_TAG_VARS(TAG)
# -------------------------
m4_define([_LT_LIBTOOL_TAG_VARS],
[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
[m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
# _LT_TAGVAR(VARNAME, [TAGNAME])
# ------------------------------
m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
# _LT_CONFIG_COMMANDS
# -------------------
# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
# variables for single and double quote escaping we saved from calls
# to _LT_DECL, we can put quote escaped variables declarations
# into 'config.status', and then the shell code to quote escape them in
# for loops in 'config.status'. Finally, any additional code accumulated
# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
m4_defun([_LT_CONFIG_COMMANDS],
[AC_PROVIDE_IFELSE([LT_OUTPUT],
dnl If the libtool generation code has been placed in $CONFIG_LT,
dnl instead of duplicating it all over again into config.status,
dnl then we will have config.status run $CONFIG_LT later, so it
dnl needs to know what name is stored there:
[AC_CONFIG_COMMANDS([libtool],
[$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
dnl If the libtool generation code is destined for config.status,
dnl expand the accumulated commands and init code now:
[AC_CONFIG_COMMANDS([libtool],
[_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
])#_LT_CONFIG_COMMANDS
# Initialize.
m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
[
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
sed_quote_subst='$sed_quote_subst'
double_quote_subst='$double_quote_subst'
delay_variable_subst='$delay_variable_subst'
_LT_CONFIG_STATUS_DECLARATIONS
LTCC='$LTCC'
LTCFLAGS='$LTCFLAGS'
compiler='$compiler_DEFAULT'
# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
eval 'cat <<_LTECHO_EOF
\$[]1
_LTECHO_EOF'
}
# Quote evaled strings.
for var in lt_decl_all_varnames([[ \
]], lt_decl_quote_varnames); do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
;;
esac
done
# Double-quote double-evaled strings.
for var in lt_decl_all_varnames([[ \
]], lt_decl_dquote_varnames); do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
;;
esac
done
_LT_OUTPUT_LIBTOOL_INIT
])
# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
# ------------------------------------
# Generate a child script FILE with all initialization necessary to
# reuse the environment learned by the parent script, and make the
# file executable. If COMMENT is supplied, it is inserted after the
# '#!' sequence but before initialization text begins. After this
# macro, additional text can be appended to FILE to form the body of
# the child script. The macro ends with non-zero status if the
# file could not be fully written (such as if the disk is full).
m4_ifdef([AS_INIT_GENERATED],
[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
[m4_defun([_LT_GENERATED_FILE_INIT],
[m4_require([AS_PREPARE])]dnl
[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
[lt_write_fail=0
cat >$1 <<_ASEOF || lt_write_fail=1
#! $SHELL
# Generated by $as_me.
$2
SHELL=\${CONFIG_SHELL-$SHELL}
export SHELL
_ASEOF
cat >>$1 <<\_ASEOF || lt_write_fail=1
AS_SHELL_SANITIZE
_AS_PREPARE
exec AS_MESSAGE_FD>&1
_ASEOF
test 0 = "$lt_write_fail" && chmod +x $1[]dnl
m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
# LT_OUTPUT
# ---------
# This macro allows early generation of the libtool script (before
# AC_OUTPUT is called), incase it is used in configure for compilation
# tests.
AC_DEFUN([LT_OUTPUT],
[: ${CONFIG_LT=./config.lt}
AC_MSG_NOTICE([creating $CONFIG_LT])
_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
[# Run this file to recreate a libtool stub with the current configuration.])
cat >>"$CONFIG_LT" <<\_LTEOF
lt_cl_silent=false
exec AS_MESSAGE_LOG_FD>>config.log
{
echo
AS_BOX([Running $as_me.])
} >&AS_MESSAGE_LOG_FD
lt_cl_help="\
'$as_me' creates a local libtool stub from the current configuration,
for use in further configure time tests before the real libtool is
generated.
Usage: $[0] [[OPTIONS]]
-h, --help print this help, then exit
-V, --version print version number, then exit
-q, --quiet do not print progress messages
-d, --debug don't remove temporary files
Report bugs to ."
lt_cl_version="\
m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING.
Copyright (C) 2011 Free Software Foundation, Inc.
This config.lt script is free software; the Free Software Foundation
gives unlimited permision to copy, distribute and modify it."
while test 0 != $[#]
do
case $[1] in
--version | --v* | -V )
echo "$lt_cl_version"; exit 0 ;;
--help | --h* | -h )
echo "$lt_cl_help"; exit 0 ;;
--debug | --d* | -d )
debug=: ;;
--quiet | --q* | --silent | --s* | -q )
lt_cl_silent=: ;;
-*) AC_MSG_ERROR([unrecognized option: $[1]
Try '$[0] --help' for more information.]) ;;
*) AC_MSG_ERROR([unrecognized argument: $[1]
Try '$[0] --help' for more information.]) ;;
esac
shift
done
if $lt_cl_silent; then
exec AS_MESSAGE_FD>/dev/null
fi
_LTEOF
cat >>"$CONFIG_LT" <<_LTEOF
_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
_LTEOF
cat >>"$CONFIG_LT" <<\_LTEOF
AC_MSG_NOTICE([creating $ofile])
_LT_OUTPUT_LIBTOOL_COMMANDS
AS_EXIT(0)
_LTEOF
chmod +x "$CONFIG_LT"
# configure is writing to config.log, but config.lt does its own redirection,
# appending to config.log, which fails on DOS, as config.log is still kept
# open by configure. Here we exec the FD to /dev/null, effectively closing
# config.log, so it can be properly (re)opened and appended to by config.lt.
lt_cl_success=:
test yes = "$silent" &&
lt_config_lt_args="$lt_config_lt_args --quiet"
exec AS_MESSAGE_LOG_FD>/dev/null
$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
exec AS_MESSAGE_LOG_FD>>config.log
$lt_cl_success || AS_EXIT(1)
])# LT_OUTPUT
# _LT_CONFIG(TAG)
# ---------------
# If TAG is the built-in tag, create an initial libtool script with a
# default configuration from the untagged config vars. Otherwise add code
# to config.status for appending the configuration named by TAG from the
# matching tagged config vars.
m4_defun([_LT_CONFIG],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
_LT_CONFIG_SAVE_COMMANDS([
m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
m4_if(_LT_TAG, [C], [
# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes.
if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
cfgfile=${ofile}T
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile"
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
# Written by Gordon Matzigkeit, 1996
_LT_COPYING
_LT_LIBTOOL_TAGS
# Configured defaults for sys_lib_dlsearch_path munging.
: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
# ### BEGIN LIBTOOL CONFIG
_LT_LIBTOOL_CONFIG_VARS
_LT_LIBTOOL_TAG_VARS
# ### END LIBTOOL CONFIG
_LT_EOF
cat <<'_LT_EOF' >> "$cfgfile"
# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
_LT_PREPARE_MUNGE_PATH_LIST
_LT_PREPARE_CC_BASENAME
# ### END FUNCTIONS SHARED WITH CONFIGURE
_LT_EOF
case $host_os in
aix3*)
cat <<\_LT_EOF >> "$cfgfile"
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
_LT_EOF
;;
esac
_LT_PROG_LTMAIN
# We use sed instead of cat because bash on DJGPP gets confused if
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
sed '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
],
[cat <<_LT_EOF >> "$ofile"
dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
dnl in a comment (ie after a #).
# ### BEGIN LIBTOOL TAG CONFIG: $1
_LT_LIBTOOL_TAG_VARS(_LT_TAG)
# ### END LIBTOOL TAG CONFIG: $1
_LT_EOF
])dnl /m4_if
],
[m4_if([$1], [], [
PACKAGE='$PACKAGE'
VERSION='$VERSION'
RM='$RM'
ofile='$ofile'], [])
])dnl /_LT_CONFIG_SAVE_COMMANDS
])# _LT_CONFIG
# LT_SUPPORTED_TAG(TAG)
# ---------------------
# Trace this macro to discover what tags are supported by the libtool
# --tag option, using:
# autoconf --trace 'LT_SUPPORTED_TAG:$1'
AC_DEFUN([LT_SUPPORTED_TAG], [])
# C support is built-in for now
m4_define([_LT_LANG_C_enabled], [])
m4_define([_LT_TAGS], [])
# LT_LANG(LANG)
# -------------
# Enable libtool support for the given language if not already enabled.
AC_DEFUN([LT_LANG],
[AC_BEFORE([$0], [LT_OUTPUT])dnl
m4_case([$1],
[C], [_LT_LANG(C)],
[C++], [_LT_LANG(CXX)],
[Go], [_LT_LANG(GO)],
[Java], [_LT_LANG(GCJ)],
[Fortran 77], [_LT_LANG(F77)],
[Fortran], [_LT_LANG(FC)],
[Windows Resource], [_LT_LANG(RC)],
[m4_ifdef([_LT_LANG_]$1[_CONFIG],
[_LT_LANG($1)],
[m4_fatal([$0: unsupported language: "$1"])])])dnl
])# LT_LANG
# _LT_LANG(LANGNAME)
# ------------------
m4_defun([_LT_LANG],
[m4_ifdef([_LT_LANG_]$1[_enabled], [],
[LT_SUPPORTED_TAG([$1])dnl
m4_append([_LT_TAGS], [$1 ])dnl
m4_define([_LT_LANG_]$1[_enabled], [])dnl
_LT_LANG_$1_CONFIG($1)])dnl
])# _LT_LANG
m4_ifndef([AC_PROG_GO], [
############################################################
# NOTE: This macro has been submitted for inclusion into #
# GNU Autoconf as AC_PROG_GO. When it is available in #
# a released version of Autoconf we should remove this #
# macro and use it instead. #
############################################################
m4_defun([AC_PROG_GO],
[AC_LANG_PUSH(Go)dnl
AC_ARG_VAR([GOC], [Go compiler command])dnl
AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
_AC_ARG_VAR_LDFLAGS()dnl
AC_CHECK_TOOL(GOC, gccgo)
if test -z "$GOC"; then
if test -n "$ac_tool_prefix"; then
AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
fi
fi
if test -z "$GOC"; then
AC_CHECK_PROG(GOC, gccgo, gccgo, false)
fi
])#m4_defun
])#m4_ifndef
# _LT_LANG_DEFAULT_CONFIG
# -----------------------
m4_defun([_LT_LANG_DEFAULT_CONFIG],
[AC_PROVIDE_IFELSE([AC_PROG_CXX],
[LT_LANG(CXX)],
[m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
AC_PROVIDE_IFELSE([AC_PROG_F77],
[LT_LANG(F77)],
[m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
AC_PROVIDE_IFELSE([AC_PROG_FC],
[LT_LANG(FC)],
[m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
dnl pulling things in needlessly.
AC_PROVIDE_IFELSE([AC_PROG_GCJ],
[LT_LANG(GCJ)],
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
[LT_LANG(GCJ)],
[AC_PROVIDE_IFELSE([LT_PROG_GCJ],
[LT_LANG(GCJ)],
[m4_ifdef([AC_PROG_GCJ],
[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
m4_ifdef([A][M_PROG_GCJ],
[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
m4_ifdef([LT_PROG_GCJ],
[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
AC_PROVIDE_IFELSE([AC_PROG_GO],
[LT_LANG(GO)],
[m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
AC_PROVIDE_IFELSE([LT_PROG_RC],
[LT_LANG(RC)],
[m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
])# _LT_LANG_DEFAULT_CONFIG
# Obsolete macros:
AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
dnl AC_DEFUN([AC_LIBTOOL_F77], [])
dnl AC_DEFUN([AC_LIBTOOL_FC], [])
dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
dnl AC_DEFUN([AC_LIBTOOL_RC], [])
# _LT_TAG_COMPILER
# ----------------
m4_defun([_LT_TAG_COMPILER],
[AC_REQUIRE([AC_PROG_CC])dnl
_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
# If no C compiler flags were specified, use CFLAGS.
LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
# Allow CC to be a program name with arguments.
compiler=$CC
])# _LT_TAG_COMPILER
# _LT_COMPILER_BOILERPLATE
# ------------------------
# Check for compiler boilerplate output or warnings with
# the simple compiler test code.
m4_defun([_LT_COMPILER_BOILERPLATE],
[m4_require([_LT_DECL_SED])dnl
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$RM conftest*
])# _LT_COMPILER_BOILERPLATE
# _LT_LINKER_BOILERPLATE
# ----------------------
# Check for linker boilerplate output or warnings with
# the simple link test code.
m4_defun([_LT_LINKER_BOILERPLATE],
[m4_require([_LT_DECL_SED])dnl
ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$RM -r conftest*
])# _LT_LINKER_BOILERPLATE
# _LT_REQUIRED_DARWIN_CHECKS
# -------------------------
m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
case $host_os in
rhapsody* | darwin*)
AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
AC_CHECK_TOOL([LIPO], [lipo], [:])
AC_CHECK_TOOL([OTOOL], [otool], [:])
AC_CHECK_TOOL([OTOOL64], [otool64], [:])
_LT_DECL([], [DSYMUTIL], [1],
[Tool to manipulate archived DWARF debug symbol files on Mac OS X])
_LT_DECL([], [NMEDIT], [1],
[Tool to change global to local symbols on Mac OS X])
_LT_DECL([], [LIPO], [1],
[Tool to manipulate fat objects and archives on Mac OS X])
_LT_DECL([], [OTOOL], [1],
[ldd/readelf like tool for Mach-O binaries on Mac OS X])
_LT_DECL([], [OTOOL64], [1],
[ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
[lt_cv_apple_cc_single_mod=no
if test -z "$LT_MULTI_MODULE"; then
# By default we will add the -single_module flag. You can override
# by either setting the environment variable LT_MULTI_MODULE
# non-empty at configure time, or by adding -multi_module to the
# link flags.
rm -rf libconftest.dylib*
echo "int foo(void){return 1;}" > conftest.c
echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-dynamiclib -Wl,-single_module conftest.c 2>conftest.err
_lt_result=$?
# If there is a non-empty error log, and "single_module"
# appears in it, assume the flag caused a linker warning
if test -s conftest.err && $GREP single_module conftest.err; then
cat conftest.err >&AS_MESSAGE_LOG_FD
# Otherwise, if the output was created with a 0 exit code from
# the compiler, it worked.
elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
fi
rm -rf libconftest.dylib*
rm -f conftest.*
fi])
AC_CACHE_CHECK([for -exported_symbols_list linker flag],
[lt_cv_ld_exported_symbols_list],
[lt_cv_ld_exported_symbols_list=no
save_LDFLAGS=$LDFLAGS
echo "_main" > conftest.sym
LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
[lt_cv_ld_exported_symbols_list=yes],
[lt_cv_ld_exported_symbols_list=no])
LDFLAGS=$save_LDFLAGS
])
AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
[lt_cv_ld_force_load=no
cat > conftest.c << _LT_EOF
int forced_loaded() { return 2;}
_LT_EOF
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
$AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
$RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
_lt_result=$?
if test -s conftest.err && $GREP force_load conftest.err; then
cat conftest.err >&AS_MESSAGE_LOG_FD
elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
fi
rm -f conftest.err libconftest.a conftest conftest.c
rm -rf conftest.dSYM
])
case $host_os in
rhapsody* | darwin1.[[012]])
_lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
darwin1.*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
10.[[012]][[,.]]*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
10.*)
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
if test yes = "$lt_cv_apple_cc_single_mod"; then
_lt_dar_single_mod='$single_module'
fi
if test yes = "$lt_cv_ld_exported_symbols_list"; then
_lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
else
_lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
fi
if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
_lt_dsymutil='~$DSYMUTIL $lib || :'
else
_lt_dsymutil=
fi
;;
esac
])
# _LT_DARWIN_LINKER_FEATURES([TAG])
# ---------------------------------
# Checks for linker and compiler features on darwin
m4_defun([_LT_DARWIN_LINKER_FEATURES],
[
m4_require([_LT_REQUIRED_DARWIN_CHECKS])
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
if test yes = "$lt_cv_ld_force_load"; then
_LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
[FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=''
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
case $cc_basename in
ifort*|nagfor*) _lt_dar_can_shared=yes ;;
*) _lt_dar_can_shared=$GCC ;;
esac
if test yes = "$_lt_dar_can_shared"; then
output_verbose_link_cmd=func_echo_all
_LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
_LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
_LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
_LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
m4_if([$1], [CXX],
[ if test yes != "$lt_cv_apple_cc_single_mod"; then
_LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
_LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
fi
],[])
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
])
# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
# ----------------------------------
# Links a minimal program and checks the executable
# for the system default hardcoded library path. In most cases,
# this is /usr/lib:/lib, but when the MPI compilers are used
# the location of the communication and MPI libs are included too.
# If we don't find anything, use the default library path according
# to the aix ld manual.
# Store the results from the different compilers for each TAGNAME.
# Allow to override them for all tags through lt_cv_aix_libpath.
m4_defun([_LT_SYS_MODULE_PATH_AIX],
[m4_require([_LT_DECL_SED])dnl
if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
[AC_LINK_IFELSE([AC_LANG_PROGRAM],[
lt_aix_libpath_sed='[
/Import File Strings/,/^$/ {
/^0/ {
s/^0 *\([^ ]*\) *$/\1/
p
}
}]'
_LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
_LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi],[])
if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
_LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
fi
])
aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
fi
])# _LT_SYS_MODULE_PATH_AIX
# _LT_SHELL_INIT(ARG)
# -------------------
m4_define([_LT_SHELL_INIT],
[m4_divert_text([M4SH-INIT], [$1
])])# _LT_SHELL_INIT
# _LT_PROG_ECHO_BACKSLASH
# -----------------------
# Find how we can fake an echo command that does not interpret backslash.
# In particular, with Autoconf 2.60 or later we add some code to the start
# of the generated configure script that will find a shell with a builtin
# printf (that we can use as an echo command).
m4_defun([_LT_PROG_ECHO_BACKSLASH],
[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
AC_MSG_CHECKING([how to print strings])
# Test print first, because it will be a builtin if present.
if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='printf %s\n'
else
# Use this function as a fallback that always works.
func_fallback_echo ()
{
eval 'cat <<_LTECHO_EOF
$[]1
_LTECHO_EOF'
}
ECHO='func_fallback_echo'
fi
# func_echo_all arg...
# Invoke $ECHO with all args, space-separated.
func_echo_all ()
{
$ECHO "$*"
}
case $ECHO in
printf*) AC_MSG_RESULT([printf]) ;;
print*) AC_MSG_RESULT([print -r]) ;;
*) AC_MSG_RESULT([cat]) ;;
esac
m4_ifdef([_AS_DETECT_SUGGESTED],
[_AS_DETECT_SUGGESTED([
test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
PATH=/empty FPATH=/empty; export PATH FPATH
test "X`printf %s $ECHO`" = "X$ECHO" \
|| test "X`print -r -- $ECHO`" = "X$ECHO" )])])
_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
])# _LT_PROG_ECHO_BACKSLASH
# _LT_WITH_SYSROOT
# ----------------
AC_DEFUN([_LT_WITH_SYSROOT],
[AC_MSG_CHECKING([for sysroot])
AC_ARG_WITH([sysroot],
[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
[Search for dependent libraries within DIR (or the compiler's sysroot
if not specified).])],
[], [with_sysroot=no])
dnl lt_sysroot will always be passed unquoted. We quote it here
dnl in case the user passed a directory name.
lt_sysroot=
case $with_sysroot in #(
yes)
if test yes = "$GCC"; then
lt_sysroot=`$CC --print-sysroot 2>/dev/null`
fi
;; #(
/*)
lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
;; #(
no|'')
;; #(
*)
AC_MSG_RESULT([$with_sysroot])
AC_MSG_ERROR([The sysroot must be an absolute path.])
;;
esac
AC_MSG_RESULT([${lt_sysroot:-no}])
_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
[dependent libraries, and where our libraries should be installed.])])
# _LT_ENABLE_LOCK
# ---------------
m4_defun([_LT_ENABLE_LOCK],
[AC_ARG_ENABLE([libtool-lock],
[AS_HELP_STRING([--disable-libtool-lock],
[avoid locking (might break parallel builds)])])
test no = "$enable_libtool_lock" || enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
case $host in
ia64-*-hpux*)
# Find out what ABI is being produced by ac_compile, and set mode
# options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
HPUX_IA64_MODE=32
;;
*ELF-64*)
HPUX_IA64_MODE=64
;;
esac
fi
rm -rf conftest*
;;
*-*-irix6*)
# Find out what ABI is being produced by ac_compile, and set linker
# options accordingly.
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
if test yes = "$lt_cv_prog_gnu_ld"; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
;;
*N32*)
LD="${LD-ld} -melf32bmipn32"
;;
*64-bit*)
LD="${LD-ld} -melf64bmip"
;;
esac
else
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
;;
*N32*)
LD="${LD-ld} -n32"
;;
*64-bit*)
LD="${LD-ld} -64"
;;
esac
fi
fi
rm -rf conftest*
;;
mips64*-*linux*)
# Find out what ABI is being produced by ac_compile, and set linker
# options accordingly.
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
emul=elf
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
emul="${emul}32"
;;
*64-bit*)
emul="${emul}64"
;;
esac
case `/usr/bin/file conftest.$ac_objext` in
*MSB*)
emul="${emul}btsmip"
;;
*LSB*)
emul="${emul}ltsmip"
;;
esac
case `/usr/bin/file conftest.$ac_objext` in
*N32*)
emul="${emul}n32"
;;
esac
LD="${LD-ld} -m $emul"
fi
rm -rf conftest*
;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out what ABI is being produced by ac_compile, and set linker
# options accordingly. Note that the listed cases only cover the
# situations where additional linker options are needed (such as when
# doing 32-bit compilation for a host where ld defaults to 64-bit, or
# vice versa); the common cases where no linker options are needed do
# not appear in the list.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
*32-bit*)
case $host in
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
case `/usr/bin/file conftest.o` in
*x86-64*)
LD="${LD-ld} -m elf32_x86_64"
;;
*)
LD="${LD-ld} -m elf_i386"
;;
esac
;;
powerpc64le-*linux*)
LD="${LD-ld} -m elf32lppclinux"
;;
powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
LD="${LD-ld} -m elf_s390"
;;
sparc64-*linux*)
LD="${LD-ld} -m elf32_sparc"
;;
esac
;;
*64-bit*)
case $host in
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_x86_64_fbsd"
;;
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
powerpcle-*linux*)
LD="${LD-ld} -m elf64lppc"
;;
powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
LD="${LD-ld} -m elf64_s390"
;;
sparc*-*linux*)
LD="${LD-ld} -m elf64_sparc"
;;
esac
;;
esac
fi
rm -rf conftest*
;;
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -belf"
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
[AC_LANG_PUSH(C)
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
AC_LANG_POP])
if test yes != "$lt_cv_cc_needs_belf"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS=$SAVE_CFLAGS
fi
;;
*-*solaris*)
# Find out what ABI is being produced by ac_compile, and set linker
# options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*)
case $host in
i?86-*-solaris*|x86_64-*-solaris*)
LD="${LD-ld} -m elf_x86_64"
;;
sparc*-*-solaris*)
LD="${LD-ld} -m elf64_sparc"
;;
esac
# GNU ld 2.21 introduced _sol2 emulations. Use them if available.
if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
LD=${LD-ld}_sol2
fi
;;
*)
if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
LD="${LD-ld} -64"
fi
;;
esac
;;
esac
fi
rm -rf conftest*
;;
esac
need_locks=$enable_libtool_lock
])# _LT_ENABLE_LOCK
# _LT_PROG_AR
# -----------
m4_defun([_LT_PROG_AR],
[AC_CHECK_TOOLS(AR, [ar], false)
: ${AR=ar}
_LT_DECL([], [AR], [1], [The archiver])
# Use ARFLAGS variable as AR's operation code to sync the variable naming with
# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
# higher priority because thats what people were doing historically (setting
# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
# variable obsoleted/removed.
test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
lt_ar_flags=$AR_FLAGS
_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
[Flags to create an archive])
AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
[lt_cv_ar_at_file=no
AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
[echo conftest.$ac_objext > conftest.lst
lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
AC_TRY_EVAL([lt_ar_try])
if test 0 -eq "$ac_status"; then
# Ensure the archiver fails upon bogus file names.
rm -f conftest.$ac_objext libconftest.a
AC_TRY_EVAL([lt_ar_try])
if test 0 -ne "$ac_status"; then
lt_cv_ar_at_file=@
fi
fi
rm -f conftest.* libconftest.a
])
])
if test no = "$lt_cv_ar_at_file"; then
archiver_list_spec=
else
archiver_list_spec=$lt_cv_ar_at_file
fi
_LT_DECL([], [archiver_list_spec], [1],
[How to feed a file listing to the archiver])
])# _LT_PROG_AR
# _LT_CMD_OLD_ARCHIVE
# -------------------
m4_defun([_LT_CMD_OLD_ARCHIVE],
[_LT_PROG_AR
AC_CHECK_TOOL(STRIP, strip, :)
test -z "$STRIP" && STRIP=:
_LT_DECL([], [STRIP], [1], [A symbol stripping program])
AC_CHECK_TOOL(RANLIB, ranlib, :)
test -z "$RANLIB" && RANLIB=:
_LT_DECL([], [RANLIB], [1],
[Commands used to install an old-style archive])
# Determine commands to create old-style static archives.
old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds=
if test -n "$RANLIB"; then
case $host_os in
bitrig* | openbsd*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
;;
esac
old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
fi
case $host_os in
darwin*)
lock_old_archive_extraction=yes ;;
*)
lock_old_archive_extraction=no ;;
esac
_LT_DECL([], [old_postinstall_cmds], [2])
_LT_DECL([], [old_postuninstall_cmds], [2])
_LT_TAGDECL([], [old_archive_cmds], [2],
[Commands used to build an old-style archive])
_LT_DECL([], [lock_old_archive_extraction], [0],
[Whether to use a lock for old archive extraction])
])# _LT_CMD_OLD_ARCHIVE
# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
# ----------------------------------------------------------------
# Check whether the given compiler option works
AC_DEFUN([_LT_COMPILER_OPTION],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_SED])dnl
AC_CACHE_CHECK([$1], [$2],
[$2=no
m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
# The option is referenced via a variable to avoid confusing sed.
lt_compile=`echo "$ac_compile" | $SED \
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&AS_MESSAGE_LOG_FD
echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
fi
fi
$RM conftest*
])
if test yes = "[$]$2"; then
m4_if([$5], , :, [$5])
else
m4_if([$6], , :, [$6])
fi
])# _LT_COMPILER_OPTION
# Old name:
AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
# [ACTION-SUCCESS], [ACTION-FAILURE])
# ----------------------------------------------------
# Check whether the given linker option works
AC_DEFUN([_LT_LINKER_OPTION],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_SED])dnl
AC_CACHE_CHECK([$1], [$2],
[$2=no
save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $3"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&AS_MESSAGE_LOG_FD
$ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
fi
else
$2=yes
fi
fi
$RM -r conftest*
LDFLAGS=$save_LDFLAGS
])
if test yes = "[$]$2"; then
m4_if([$4], , :, [$4])
else
m4_if([$5], , :, [$5])
fi
])# _LT_LINKER_OPTION
# Old name:
AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
# LT_CMD_MAX_LEN
#---------------
AC_DEFUN([LT_CMD_MAX_LEN],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
# find the maximum length of command line arguments
AC_MSG_CHECKING([the maximum length of command line arguments])
AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
i=0
teststring=ABCD
case $build_os in
msdosdjgpp*)
# On DJGPP, this test can blow up pretty badly due to problems in libc
# (any single argument exceeding 2000 bytes causes a buffer overrun
# during glob expansion). Even if it were fixed, the result of this
# check would be larger than it should be.
lt_cv_sys_max_cmd_len=12288; # 12K is about right
;;
gnu*)
# Under GNU Hurd, this test is not required because there is
# no limit to the length of command line arguments.
# Libtool will interpret -1 as no limit whatsoever
lt_cv_sys_max_cmd_len=-1;
;;
cygwin* | mingw* | cegcc*)
# On Win9x/ME, this test blows up -- it succeeds, but takes
# about 5 minutes as the teststring grows exponentially.
# Worse, since 9x/ME are not pre-emptively multitasking,
# you end up with a "frozen" computer, even though with patience
# the test eventually succeeds (with a max line length of 256k).
# Instead, let's just punt: use the minimum linelength reported by
# all of the supported platforms: 8192 (on NT/2K/XP).
lt_cv_sys_max_cmd_len=8192;
;;
mint*)
# On MiNT this can take a long time and run out of memory.
lt_cv_sys_max_cmd_len=8192;
;;
amigaos*)
# On AmigaOS with pdksh, this test takes hours, literally.
# So we just punt and use a minimum line length of 8192.
lt_cv_sys_max_cmd_len=8192;
;;
bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
elif test -x /usr/sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
else
lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
fi
# And add a safety zone
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
;;
interix*)
# We know the value 262144 and hardcode it with a safety zone (like BSD)
lt_cv_sys_max_cmd_len=196608
;;
os2*)
# The test takes a long time on OS/2.
lt_cv_sys_max_cmd_len=8192
;;
osf*)
# Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
# due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
# nice to cause kernel panics so lets avoid the loop below.
# First set a reasonable default.
lt_cv_sys_max_cmd_len=16384
#
if test -x /sbin/sysconfig; then
case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
*1*) lt_cv_sys_max_cmd_len=-1 ;;
esac
fi
;;
sco3.2v5*)
lt_cv_sys_max_cmd_len=102400
;;
sysv5* | sco5v6* | sysv4.2uw2*)
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
if test -n "$kargmax"; then
lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
else
lt_cv_sys_max_cmd_len=32768
fi
;;
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
if test -n "$lt_cv_sys_max_cmd_len" && \
test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
# Make teststring a little bigger before we do anything with it.
# a 1K string should be a reasonable start.
for i in 1 2 3 4 5 6 7 8; do
teststring=$teststring$teststring
done
SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
while { test X`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
test 17 != "$i" # 1/2 MB should be enough
do
i=`expr $i + 1`
teststring=$teststring$teststring
done
# Only check the string length outside the loop.
lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
teststring=
# Add a significant safety factor because C++ compilers can tack on
# massive amounts of additional arguments before passing them to the
# linker. It appears as though 1/2 is a usable value.
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
fi
;;
esac
])
if test -n "$lt_cv_sys_max_cmd_len"; then
AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
else
AC_MSG_RESULT(none)
fi
max_cmd_len=$lt_cv_sys_max_cmd_len
_LT_DECL([], [max_cmd_len], [0],
[What is the maximum length of a command?])
])# LT_CMD_MAX_LEN
# Old name:
AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
# _LT_HEADER_DLFCN
# ----------------
m4_defun([_LT_HEADER_DLFCN],
[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
])# _LT_HEADER_DLFCN
# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
# ----------------------------------------------------------------
m4_defun([_LT_TRY_DLOPEN_SELF],
[m4_require([_LT_HEADER_DLFCN])dnl
if test yes = "$cross_compiling"; then :
[$4]
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
[#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
#include
#endif
#include
#ifdef RTLD_GLOBAL
# define LT_DLGLOBAL RTLD_GLOBAL
#else
# ifdef DL_GLOBAL
# define LT_DLGLOBAL DL_GLOBAL
# else
# define LT_DLGLOBAL 0
# endif
#endif
/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
find out it does not work in some platform. */
#ifndef LT_DLLAZY_OR_NOW
# ifdef RTLD_LAZY
# define LT_DLLAZY_OR_NOW RTLD_LAZY
# else
# ifdef DL_LAZY
# define LT_DLLAZY_OR_NOW DL_LAZY
# else
# ifdef RTLD_NOW
# define LT_DLLAZY_OR_NOW RTLD_NOW
# else
# ifdef DL_NOW
# define LT_DLLAZY_OR_NOW DL_NOW
# else
# define LT_DLLAZY_OR_NOW 0
# endif
# endif
# endif
# endif
#endif
/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
int fnord () { return 42; }
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
int status = $lt_dlunknown;
if (self)
{
if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
else
{
if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
else puts (dlerror ());
}
/* dlclose (self); */
}
else
puts (dlerror ());
return status;
}]
_LT_EOF
if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
lt_status=$?
case x$lt_status in
x$lt_dlno_uscore) $1 ;;
x$lt_dlneed_uscore) $2 ;;
x$lt_dlunknown|x*) $3 ;;
esac
else :
# compilation failed
$3
fi
fi
rm -fr conftest*
])# _LT_TRY_DLOPEN_SELF
# LT_SYS_DLOPEN_SELF
# ------------------
AC_DEFUN([LT_SYS_DLOPEN_SELF],
[m4_require([_LT_HEADER_DLFCN])dnl
if test yes != "$enable_dlopen"; then
enable_dlopen=unknown
enable_dlopen_self=unknown
enable_dlopen_self_static=unknown
else
lt_cv_dlopen=no
lt_cv_dlopen_libs=
case $host_os in
beos*)
lt_cv_dlopen=load_add_on
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
;;
mingw* | pw32* | cegcc*)
lt_cv_dlopen=LoadLibrary
lt_cv_dlopen_libs=
;;
cygwin*)
lt_cv_dlopen=dlopen
lt_cv_dlopen_libs=
;;
darwin*)
# if libdl is installed we need to link against it
AC_CHECK_LIB([dl], [dlopen],
[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
lt_cv_dlopen=dyld
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
])
;;
tpf*)
# Don't try to run any link tests for TPF. We know it's impossible
# because TPF is a cross-compiler, and we know how we open DSOs.
lt_cv_dlopen=dlopen
lt_cv_dlopen_libs=
lt_cv_dlopen_self=no
;;
*)
AC_CHECK_FUNC([shl_load],
[lt_cv_dlopen=shl_load],
[AC_CHECK_LIB([dld], [shl_load],
[lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
[AC_CHECK_FUNC([dlopen],
[lt_cv_dlopen=dlopen],
[AC_CHECK_LIB([dl], [dlopen],
[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
[AC_CHECK_LIB([svld], [dlopen],
[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
[AC_CHECK_LIB([dld], [dld_link],
[lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
])
])
])
])
])
;;
esac
if test no = "$lt_cv_dlopen"; then
enable_dlopen=no
else
enable_dlopen=yes
fi
case $lt_cv_dlopen in
dlopen)
save_CPPFLAGS=$CPPFLAGS
test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
save_LDFLAGS=$LDFLAGS
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
save_LIBS=$LIBS
LIBS="$lt_cv_dlopen_libs $LIBS"
AC_CACHE_CHECK([whether a program can dlopen itself],
lt_cv_dlopen_self, [dnl
_LT_TRY_DLOPEN_SELF(
lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
])
if test yes = "$lt_cv_dlopen_self"; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
lt_cv_dlopen_self_static, [dnl
_LT_TRY_DLOPEN_SELF(
lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
])
fi
CPPFLAGS=$save_CPPFLAGS
LDFLAGS=$save_LDFLAGS
LIBS=$save_LIBS
;;
esac
case $lt_cv_dlopen_self in
yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
*) enable_dlopen_self=unknown ;;
esac
case $lt_cv_dlopen_self_static in
yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
*) enable_dlopen_self_static=unknown ;;
esac
fi
_LT_DECL([dlopen_support], [enable_dlopen], [0],
[Whether dlopen is supported])
_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
[Whether dlopen of programs is supported])
_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
[Whether dlopen of statically linked programs is supported])
])# LT_SYS_DLOPEN_SELF
# Old name:
AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
# _LT_COMPILER_C_O([TAGNAME])
# ---------------------------
# Check to see if options -c and -o are simultaneously supported by compiler.
# This macro does not hard code the compiler like AC_PROG_CC_C_O.
m4_defun([_LT_COMPILER_C_O],
[m4_require([_LT_DECL_SED])dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_TAG_COMPILER])dnl
AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
[_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
[_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
$RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
mkdir out
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
lt_compile=`echo "$ac_compile" | $SED \
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&AS_MESSAGE_LOG_FD
echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
$ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
fi
fi
chmod u+w . 2>&AS_MESSAGE_LOG_FD
$RM conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
$RM out/* && rmdir out
cd ..
$RM -r conftest
$RM conftest*
])
_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
[Does compiler simultaneously support -c and -o options?])
])# _LT_COMPILER_C_O
# _LT_COMPILER_FILE_LOCKS([TAGNAME])
# ----------------------------------
# Check to see if we can do hard links to lock some files if needed
m4_defun([_LT_COMPILER_FILE_LOCKS],
[m4_require([_LT_ENABLE_LOCK])dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
_LT_COMPILER_C_O([$1])
hard_links=nottested
if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
AC_MSG_CHECKING([if we can lock with hard links])
hard_links=yes
$RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
AC_MSG_RESULT([$hard_links])
if test no = "$hard_links"; then
AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
need_locks=warn
fi
else
need_locks=no
fi
_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
])# _LT_COMPILER_FILE_LOCKS
# _LT_CHECK_OBJDIR
# ----------------
m4_defun([_LT_CHECK_OBJDIR],
[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
[rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
if test -d .libs; then
lt_cv_objdir=.libs
else
# MS-DOS does not allow filenames that begin with a dot.
lt_cv_objdir=_libs
fi
rmdir .libs 2>/dev/null])
objdir=$lt_cv_objdir
_LT_DECL([], [objdir], [0],
[The name of the directory that contains temporary libtool files])dnl
m4_pattern_allow([LT_OBJDIR])dnl
AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
[Define to the sub-directory where libtool stores uninstalled libraries.])
])# _LT_CHECK_OBJDIR
# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
# --------------------------------------
# Check hardcoding attributes.
m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
[AC_MSG_CHECKING([how to hardcode library paths into programs])
_LT_TAGVAR(hardcode_action, $1)=
if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
test -n "$_LT_TAGVAR(runpath_var, $1)" ||
test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
# We can hardcode non-existent directories.
if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
# Linking always hardcodes the temporary library directory.
_LT_TAGVAR(hardcode_action, $1)=relink
else
# We can link without hardcoding, and we can hardcode nonexisting dirs.
_LT_TAGVAR(hardcode_action, $1)=immediate
fi
else
# We cannot hardcode anything, or else we can only hardcode existing
# directories.
_LT_TAGVAR(hardcode_action, $1)=unsupported
fi
AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
# Fast installation is not supported
enable_fast_install=no
elif test yes = "$shlibpath_overrides_runpath" ||
test no = "$enable_shared"; then
# Fast installation is not necessary
enable_fast_install=needless
fi
_LT_TAGDECL([], [hardcode_action], [0],
[How to hardcode a shared library path into an executable])
])# _LT_LINKER_HARDCODE_LIBPATH
# _LT_CMD_STRIPLIB
# ----------------
m4_defun([_LT_CMD_STRIPLIB],
[m4_require([_LT_DECL_EGREP])
striplib=
old_striplib=
AC_MSG_CHECKING([whether stripping libraries is possible])
if test -z "$STRIP"; then
AC_MSG_RESULT([no])
else
if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
old_striplib="$STRIP --strip-debug"
striplib="$STRIP --strip-unneeded"
AC_MSG_RESULT([yes])
else
case $host_os in
darwin*)
# FIXME - insert some real tests, host_os isn't really good enough
striplib="$STRIP -x"
old_striplib="$STRIP -S"
AC_MSG_RESULT([yes])
;;
freebsd*)
if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
old_striplib="$STRIP --strip-debug"
striplib="$STRIP --strip-unneeded"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
;;
*)
AC_MSG_RESULT([no])
;;
esac
fi
fi
_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
_LT_DECL([], [striplib], [1])
])# _LT_CMD_STRIPLIB
# _LT_PREPARE_MUNGE_PATH_LIST
# ---------------------------
# Make sure func_munge_path_list() is defined correctly.
m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
[[# func_munge_path_list VARIABLE PATH
# -----------------------------------
# VARIABLE is name of variable containing _space_ separated list of
# directories to be munged by the contents of PATH, which is string
# having a format:
# "DIR[:DIR]:"
# string "DIR[ DIR]" will be prepended to VARIABLE
# ":DIR[:DIR]"
# string "DIR[ DIR]" will be appended to VARIABLE
# "DIRP[:DIRP]::[DIRA:]DIRA"
# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
# "DIRA[ DIRA]" will be appended to VARIABLE
# "DIR[:DIR]"
# VARIABLE will be replaced by "DIR[ DIR]"
func_munge_path_list ()
{
case x@S|@2 in
x)
;;
*:)
eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
;;
x:*)
eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
;;
*::*)
eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
;;
*)
eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
;;
esac
}
]])# _LT_PREPARE_PATH_LIST
# _LT_SYS_DYNAMIC_LINKER([TAG])
# -----------------------------
# PORTME Fill in your ld.so characteristics
m4_defun([_LT_SYS_DYNAMIC_LINKER],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_OBJDUMP])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
AC_MSG_CHECKING([dynamic linker characteristics])
m4_if([$1],
[], [
if test yes = "$GCC"; then
case $host_os in
darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
*) lt_awk_arg='/^libraries:/' ;;
esac
case $host_os in
mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
*) lt_sed_strip_eq='s|=/|/|g' ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
case $lt_search_path_spec in
*\;*)
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
;;
*)
lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
;;
esac
# Ok, now we have the path, separated by spaces, we can step through it
# and add multilib dir if necessary...
lt_tmp_lt_search_path_spec=
lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
# ...but if some path component already ends with the multilib dir we assume
# that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
case "$lt_multi_os_dir; $lt_search_path_spec " in
"/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
lt_multi_os_dir=
;;
esac
for lt_sys_path in $lt_search_path_spec; do
if test -d "$lt_sys_path$lt_multi_os_dir"; then
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
elif test -n "$lt_multi_os_dir"; then
test -d "$lt_sys_path" && \
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
BEGIN {RS = " "; FS = "/|\n";} {
lt_foo = "";
lt_count = 0;
for (lt_i = NF; lt_i > 0; lt_i--) {
if ($lt_i != "" && $lt_i != ".") {
if ($lt_i == "..") {
lt_count++;
} else {
if (lt_count == 0) {
lt_foo = "/" $lt_i lt_foo;
} else {
lt_count--;
}
}
}
}
if (lt_foo != "") { lt_freq[[lt_foo]]++; }
if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
}'`
# AWK program above erroneously prepends '/' to C:/dos/paths
# for these hosts.
case $host_os in
mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
$SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
esac
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi])
library_names_spec=
libname_spec='lib$name'
soname_spec=
shrext_cmds=.so
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
finish_eval=
shlibpath_var=
shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
need_lib_prefix=unknown
hardcode_into_libs=no
# when you set need_version to no, make sure it does not cause -set_version
# flags to be left without arguments
need_version=unknown
AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
[User-defined run-time library search path.])
case $host_os in
aix3*)
version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
soname_spec='$libname$release$shared_ext$major'
;;
aix[[4-9]]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
if test ia64 = "$host_cpu"; then
# AIX 5 supports IA64
library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
# for dependence libraries. The import file would start with
# the line '#! .'. This would cause the generated library to
# depend on '.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
aix4 | aix4.[[01]] | aix4.[[01]].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
fi
;;
esac
# Using Import Files as archive members, it is possible to support
# filename-based versioning of shared library archives on AIX. While
# this would work for both with and without runtime linking, it will
# prevent static linking of such archives. So we do filename-based
# shared library versioning with .so extension only, which is used
# when both runtime linking and shared linking is enabled.
# Unfortunately, runtime linking may impact performance, so we do
# not want this to be the default eventually. Also, we use the
# versioned .so libs for executables only if there is the -brtl
# linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
# To allow for filename-based versioning support, we need to create
# libNAME.so.V as an archive file, containing:
# *) an Import File, referring to the versioned filename of the
# archive as well as the shared archive member, telling the
# bitwidth (32 or 64) of that shared object, and providing the
# list of exported symbols of that shared object, eventually
# decorated with the 'weak' keyword
# *) the shared object with the F_LOADONLY flag set, to really avoid
# it being seen by the linker.
# At run time we better use the real file rather than another symlink,
# but for link time we create the symlink libNAME.so -> libNAME.so.V
case $with_aix_soname,$aix_use_runtimelinking in
# AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
# soname into executable. Probably we can add versioning support to
# collect2, so additional links can be useful in future.
aix,yes) # traditional libtool
dynamic_linker='AIX unversionable lib.so'
# If using run time linking (on AIX 4.2 or later) use lib.so
# instead of lib.a to let people know that these are not
# typical AIX shared libraries.
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
;;
aix,no) # traditional AIX only
dynamic_linker='AIX lib.a[(]lib.so.V[)]'
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
library_names_spec='$libname$release.a $libname.a'
soname_spec='$libname$release$shared_ext$major'
;;
svr4,*) # full svr4 only
dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
# We do not specify a path in Import Files, so LIBPATH fires.
shlibpath_overrides_runpath=yes
;;
*,yes) # both, prefer svr4
dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
# unpreferred sharedlib libNAME.a needs extra handling
postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
# We do not specify a path in Import Files, so LIBPATH fires.
shlibpath_overrides_runpath=yes
;;
*,no) # both, prefer aix
dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
library_names_spec='$libname$release.a $libname.a'
soname_spec='$libname$release$shared_ext$major'
# unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
;;
esac
shlibpath_var=LIBPATH
fi
;;
amigaos*)
case $host_cpu in
powerpc)
# Since July 2007 AmigaOS4 officially supports .so libraries.
# When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
;;
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
beos*)
library_names_spec='$libname$shared_ext'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
bsdi[[45]]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
# the default ld.so.conf also contains /usr/contrib/lib and
# /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
# libtool to hard-code these into programs
;;
cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=.dll
need_version=no
need_lib_prefix=no
case $GCC,$cc_basename in
yes,*)
# gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
chmod a+x \$dldir/$dlname~
if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
$RM \$dlpath'
shlibpath_overrides_runpath=yes
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
m4_if([$1], [],[
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
;;
mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
;;
*,cl*)
# Native MSVC
libname_spec='$name'
soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
library_names_spec='$libname.dll.lib'
case $build_os in
mingw*)
sys_lib_search_path_spec=
lt_save_ifs=$IFS
IFS=';'
for lt_path in $LIB
do
IFS=$lt_save_ifs
# Let DOS variable expansion print the short 8.3 style file name.
lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
done
IFS=$lt_save_ifs
# Convert to MSYS style.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
;;
cygwin*)
# Convert to unix form, then to dos form, then back to unix form
# but this time dos style (no spaces!) so that the unix form looks
# like /cygdrive/c/PROGRA~1:/cygdr...
sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
;;
*)
sys_lib_search_path_spec=$LIB
if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
# It is most probably a Windows format PATH.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
else
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
# FIXME: find the short name or the path components, as spaces are
# common. (e.g. "Program Files" -> "PROGRA~1")
;;
esac
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
$RM \$dlpath'
shlibpath_overrides_runpath=yes
dynamic_linker='Win32 link.exe'
;;
*)
# Assume MSVC wrapper
library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
esac
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
darwin* | rhapsody*)
dynamic_linker="$host_os dyld"
version_type=darwin
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
soname_spec='$libname$release$major$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
m4_if([$1], [],[
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
dgux*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
if test -x /usr/bin/objformat; then
objformat=`/usr/bin/objformat`
else
case $host_os in
freebsd[[23]].*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
need_version=yes
;;
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[[01]]* | freebsdelf3.[[01]]*)
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
*) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
esac
;;
haiku*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=no
sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
hpux9* | hpux10* | hpux11*)
# Give a soname corresponding to the major version so that dld.sl refuses to
# link against other versions.
version_type=sunos
need_lib_prefix=no
need_version=no
case $host_cpu in
ia64*)
shrext_cmds='.so'
hardcode_into_libs=yes
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
;;
hppa*64*)
shrext_cmds='.sl'
hardcode_into_libs=yes
dynamic_linker="$host_os dld.sl"
shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
*)
shrext_cmds='.sl'
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
;;
esac
# HP-UX runs *really* slowly unless shared libraries are mode 555, ...
postinstall_cmds='chmod 555 $lib'
# or fails outright, so override atomically:
install_override_mode=555
;;
interix[[3-9]]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
*)
if test yes = "$lt_cv_prog_gnu_ld"; then
version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
esac
need_lib_prefix=no
need_version=no
soname_spec='$libname$release$shared_ext$major'
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
;;
*)
case $LD in # libtool.m4 will add one of these switches to LD
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
libsuff= shlibsuff= libmagic=32-bit;;
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
libsuff=32 shlibsuff=N32 libmagic=N32;;
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
libsuff=64 shlibsuff=64 libmagic=64-bit;;
*) libsuff= shlibsuff= libmagic=never-match;;
esac
;;
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
hardcode_into_libs=yes
;;
# No shared lib support for Linux oldld, aout, or coff.
linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
linux*android*)
version_type=none # Android doesn't support versioned libraries.
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext'
soname_spec='$libname$release$shared_ext'
finish_cmds=
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
dynamic_linker='Android linker'
# Don't embed -rpath directories since the linker doesn't support them.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
;;
# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
# Some binutils ld are patched to set DT_RUNPATH
AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
[lt_cv_shlibpath_overrides_runpath=no
save_LDFLAGS=$LDFLAGS
save_libdir=$libdir
eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
[AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
[lt_cv_shlibpath_overrides_runpath=yes])])
LDFLAGS=$save_LDFLAGS
libdir=$save_libdir
])
shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
# Ideally, we could use ldconfig to report *all* directores which are
# searched for libraries, however this is still not possible. Aside from not
# being certain /sbin/ldconfig is available, command
# 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
# even though it is searched at run-time. Try to do the best guess by
# appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
# powerpc, because MkLinux only supported shared libraries with the
# GNU dynamic linker. Since this was broken with cross compilers,
# most powerpc-linux boxes support dynamic linking these days and
# people can always --disable-shared, the test was removed, and we
# assume the GNU/Linux dynamic linker is in use.
dynamic_linker='GNU/Linux ld.so'
;;
netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
newsos6)
version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
*nto* | *qnx*)
version_type=qnx
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
dynamic_linker='ldqnx.so'
;;
openbsd* | bitrig*)
version_type=sunos
sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
need_version=no
else
need_version=yes
fi
library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
os2*)
libname_spec='$name'
version_type=windows
shrext_cmds=.dll
need_version=no
need_lib_prefix=no
# OS/2 can only load a DLL with a base name of 8 characters or less.
soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
v=$($ECHO $release$versuffix | tr -d .-);
n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
$ECHO $n$v`$shared_ext'
library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
shlibpath_var=BEGINLIBPATH
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
chmod a+x \$dldir/$dlname~
if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
dlpath=$dir/\$dldll~
$RM \$dlpath'
;;
osf3* | osf4* | osf5*)
version_type=osf
need_lib_prefix=no
need_version=no
soname_spec='$libname$release$shared_ext$major'
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
rdos*)
dynamic_linker=no
;;
solaris*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
# ldd complains unless libraries are executable
postinstall_cmds='chmod +x $lib'
;;
sunos4*)
version_type=sunos
library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
if test yes = "$with_gnu_ld"; then
need_lib_prefix=no
fi
need_version=yes
;;
sysv4 | sysv4.3*)
version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
shlibpath_overrides_runpath=no
need_lib_prefix=no
runpath_var=LD_RUN_PATH
;;
siemens)
need_lib_prefix=no
;;
motorola)
need_lib_prefix=no
need_version=no
shlibpath_overrides_runpath=no
sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
;;
esac
;;
sysv4*MP*)
if test -d /usr/nec; then
version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
soname_spec='$libname$shared_ext.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
version_type=sco
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
if test yes = "$with_gnu_ld"; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
case $host_os in
sco3.2v5*)
sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
;;
esac
fi
sys_lib_dlsearch_path_spec='/usr/lib'
;;
tpf*)
# TPF is a cross-target only. Preferred cross-host = GNU/Linux.
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
uts4*)
version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
*)
dynamic_linker=no
;;
esac
AC_MSG_RESULT([$dynamic_linker])
test no = "$dynamic_linker" && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test yes = "$GCC"; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
_LT_DECL([], [variables_saved_for_relink], [1],
[Variables whose values should be saved in libtool wrapper scripts and
restored at link time])
_LT_DECL([], [need_lib_prefix], [0],
[Do we need the "lib" prefix for modules?])
_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
_LT_DECL([], [version_type], [0], [Library versioning type])
_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
_LT_DECL([], [shlibpath_overrides_runpath], [0],
[Is shlibpath searched before the hard-coded library search path?])
_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
_LT_DECL([], [library_names_spec], [1],
[[List of archive names. First name is the real one, the rest are links.
The last name is the one that the linker finds with -lNAME]])
_LT_DECL([], [soname_spec], [1],
[[The coded name of the library, if different from the real name]])
_LT_DECL([], [install_override_mode], [1],
[Permission mode override for installation of shared libraries])
_LT_DECL([], [postinstall_cmds], [2],
[Command to use after installation of a shared archive])
_LT_DECL([], [postuninstall_cmds], [2],
[Command to use after uninstallation of a shared archive])
_LT_DECL([], [finish_cmds], [2],
[Commands used to finish a libtool library installation in a directory])
_LT_DECL([], [finish_eval], [1],
[[As "finish_cmds", except a single script fragment to be evaled but
not shown]])
_LT_DECL([], [hardcode_into_libs], [0],
[Whether we should hardcode library paths into libraries])
_LT_DECL([], [sys_lib_search_path_spec], [2],
[Compile-time system search path for libraries])
_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
[Detected run-time system search path for libraries])
_LT_DECL([], [configure_time_lt_sys_library_path], [2],
[Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
])# _LT_SYS_DYNAMIC_LINKER
# _LT_PATH_TOOL_PREFIX(TOOL)
# --------------------------
# find a file program that can recognize shared library
AC_DEFUN([_LT_PATH_TOOL_PREFIX],
[m4_require([_LT_DECL_EGREP])dnl
AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
[case $MAGIC_CMD in
[[\\/*] | ?:[\\/]*])
lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
lt_save_MAGIC_CMD=$MAGIC_CMD
lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
dnl $ac_dummy forces splitting on constant user-supplied paths.
dnl POSIX.2 word splitting is done only on the output of word expansions,
dnl not every word. This closes a longstanding sh security hole.
ac_dummy="m4_if([$2], , $PATH, [$2])"
for ac_dir in $ac_dummy; do
IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$1"; then
lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
else
cat <<_LT_EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
*** The result is that libtool may fail to recognize shared libraries
*** as such. This will affect the creation of libtool libraries that
*** depend on shared libraries, but programs linked with such libtool
*** libraries will work regardless of this problem. Nevertheless, you
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
_LT_EOF
fi ;;
esac
fi
break
fi
done
IFS=$lt_save_ifs
MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac])
MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
AC_MSG_RESULT($MAGIC_CMD)
else
AC_MSG_RESULT(no)
fi
_LT_DECL([], [MAGIC_CMD], [0],
[Used to examine libraries when file_magic_cmd begins with "file"])dnl
])# _LT_PATH_TOOL_PREFIX
# Old name:
AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
# _LT_PATH_MAGIC
# --------------
# find a file program that can recognize a shared library
m4_defun([_LT_PATH_MAGIC],
[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
_LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
else
MAGIC_CMD=:
fi
fi
])# _LT_PATH_MAGIC
# LT_PATH_LD
# ----------
# find the pathname to the GNU or non-GNU linker
AC_DEFUN([LT_PATH_LD],
[AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
AC_ARG_WITH([gnu-ld],
[AS_HELP_STRING([--with-gnu-ld],
[assume the C compiler uses GNU ld @<:@default=no@:>@])],
[test no = "$withval" || with_gnu_ld=yes],
[with_gnu_ld=no])dnl
ac_prog=ld
if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by $CC])
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
esac
case $ac_prog in
# Accept absolute paths.
[[\\/]]* | ?:[[\\/]]*)
re_direlt='/[[^/]][[^/]]*/\.\./'
# Canonicalize the pathname of ld
ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
test -z "$LD" && LD=$ac_prog
;;
"")
# If it fails, then pretend we aren't using GCC.
ac_prog=ld
;;
*)
# If it is relative, then search for the first ld in PATH.
with_gnu_ld=unknown
;;
esac
elif test yes = "$with_gnu_ld"; then
AC_MSG_CHECKING([for GNU ld])
else
AC_MSG_CHECKING([for non-GNU ld])
fi
AC_CACHE_VAL(lt_cv_path_LD,
[if test -z "$LD"; then
lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
lt_cv_path_LD=$ac_dir/$ac_prog
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i
cat conftest.i conftest.i >conftest2.i
: ${lt_DD:=$DD}
AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
cmp -s conftest.i conftest.out \
&& ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
fi])
rm -f conftest.i conftest2.i conftest.out])
])# _LT_PATH_DD
# _LT_CMD_TRUNCATE
# ----------------
# find command to truncate a binary pipe
m4_defun([_LT_CMD_TRUNCATE],
[m4_require([_LT_PATH_DD])
AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
[printf 0123456789abcdef0123456789abcdef >conftest.i
cat conftest.i conftest.i >conftest2.i
lt_cv_truncate_bin=
if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
cmp -s conftest.i conftest.out \
&& lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
fi
rm -f conftest.i conftest2.i conftest.out
test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
[Command to truncate a binary pipe])
])# _LT_CMD_TRUNCATE
# _LT_CHECK_MAGIC_METHOD
# ----------------------
# how to check for library dependencies
# -- PORTME fill in with the dynamic library characteristics
m4_defun([_LT_CHECK_MAGIC_METHOD],
[m4_require([_LT_DECL_EGREP])
m4_require([_LT_DECL_OBJDUMP])
AC_CACHE_CHECK([how to recognize dependent libraries],
lt_cv_deplibs_check_method,
[lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_deplibs_check_method='unknown'
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
# 'unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [[regex]]' -- check by looking for files in library path
# that responds to the $file_magic_cmd with a given extended regex.
# If you have 'file' or equivalent on your system and you're not sure
# whether 'pass_all' will *always* work, you probably want this one.
case $host_os in
aix[[4-9]]*)
lt_cv_deplibs_check_method=pass_all
;;
beos*)
lt_cv_deplibs_check_method=pass_all
;;
bsdi[[45]]*)
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
lt_cv_file_magic_cmd='/usr/bin/file -L'
lt_cv_file_magic_test_file=/shlib/libc.so
;;
cygwin*)
# func_win32_libid is a shell function defined in ltmain.sh
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
;;
mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
if ( file / ) >/dev/null 2>&1; then
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
# Keep this pattern in sync with the one in func_win32_libid.
lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
cegcc*)
# use the weaker test based on 'objdump'. See mingw*.
lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
lt_cv_file_magic_cmd='$OBJDUMP -f'
;;
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
freebsd* | dragonfly*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;;
esac
else
lt_cv_deplibs_check_method=pass_all
fi
;;
haiku*)
lt_cv_deplibs_check_method=pass_all
;;
hpux10.20* | hpux11*)
lt_cv_file_magic_cmd=/usr/bin/file
case $host_cpu in
ia64*)
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
;;
hppa*64*)
[lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
;;
*)
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
lt_cv_file_magic_test_file=/usr/lib/libc.sl
;;
esac
;;
interix[[3-9]]*)
# PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
;;
irix5* | irix6* | nonstopux*)
case $LD in
*-32|*"-32 ") libmagic=32-bit;;
*-n32|*"-n32 ") libmagic=N32;;
*-64|*"-64 ") libmagic=64-bit;;
*) libmagic=never-match;;
esac
lt_cv_deplibs_check_method=pass_all
;;
# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
fi
;;
newos6*)
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
*nto* | *qnx*)
lt_cv_deplibs_check_method=pass_all
;;
openbsd* | bitrig*)
if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
fi
;;
osf3* | osf4* | osf5*)
lt_cv_deplibs_check_method=pass_all
;;
rdos*)
lt_cv_deplibs_check_method=pass_all
;;
solaris*)
lt_cv_deplibs_check_method=pass_all
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
lt_cv_deplibs_check_method=pass_all
;;
sysv4 | sysv4.3*)
case $host_vendor in
motorola)
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
;;
ncr)
lt_cv_deplibs_check_method=pass_all
;;
sequent)
lt_cv_file_magic_cmd='/bin/file'
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
;;
sni)
lt_cv_file_magic_cmd='/bin/file'
lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
lt_cv_file_magic_test_file=/lib/libc.so
;;
siemens)
lt_cv_deplibs_check_method=pass_all
;;
pc)
lt_cv_deplibs_check_method=pass_all
;;
esac
;;
tpf*)
lt_cv_deplibs_check_method=pass_all
;;
os2*)
lt_cv_deplibs_check_method=pass_all
;;
esac
])
file_magic_glob=
want_nocaseglob=no
if test "$build" = "$host"; then
case $host_os in
mingw* | pw32*)
if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
want_nocaseglob=yes
else
file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
fi
;;
esac
fi
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
_LT_DECL([], [deplibs_check_method], [1],
[Method to check whether dependent libraries are shared objects])
_LT_DECL([], [file_magic_cmd], [1],
[Command to use when deplibs_check_method = "file_magic"])
_LT_DECL([], [file_magic_glob], [1],
[How to find potential files when deplibs_check_method = "file_magic"])
_LT_DECL([], [want_nocaseglob], [1],
[Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
])# _LT_CHECK_MAGIC_METHOD
# LT_PATH_NM
# ----------
# find the pathname to a BSD- or MS-compatible name lister
AC_DEFUN([LT_PATH_NM],
[AC_REQUIRE([AC_PROG_CC])dnl
AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
[if test -n "$NM"; then
# Let the user override the test.
lt_cv_path_NM=$NM
else
lt_nm_to_check=${ac_tool_prefix}nm
if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
lt_nm_to_check="$lt_nm_to_check nm"
fi
for lt_tmp_nm in $lt_nm_to_check; do
lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
tmp_nm=$ac_dir/$lt_tmp_nm
if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
# Check to see if the nm accepts a BSD-compat flag.
# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# Tru64's nm complains that /dev/null is an invalid object file
# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
case $build_os in
mingw*) lt_bad_file=conftest.nm/nofile ;;
*) lt_bad_file=/dev/null ;;
esac
case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
*$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
break 2
;;
*)
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
break 2
;;
*)
lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
continue # so that we can try to find one that supports BSD flags
;;
esac
;;
esac
fi
done
IFS=$lt_save_ifs
done
: ${lt_cv_path_NM=no}
fi])
if test no != "$lt_cv_path_NM"; then
NM=$lt_cv_path_NM
else
# Didn't find any BSD compatible name lister, look for dumpbin.
if test -n "$DUMPBIN"; then :
# Let the user override the test.
else
AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
*COFF*)
DUMPBIN="$DUMPBIN -symbols -headers"
;;
*)
DUMPBIN=:
;;
esac
fi
AC_SUBST([DUMPBIN])
if test : != "$DUMPBIN"; then
NM=$DUMPBIN
fi
fi
test -z "$NM" && NM=nm
AC_SUBST([NM])
_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
[lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
(eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&AS_MESSAGE_LOG_FD
(eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&AS_MESSAGE_LOG_FD
(eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
cat conftest.out >&AS_MESSAGE_LOG_FD
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
fi
rm -f conftest*])
])# LT_PATH_NM
# Old names:
AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AM_PROG_NM], [])
dnl AC_DEFUN([AC_PROG_NM], [])
# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
# --------------------------------
# how to determine the name of the shared library
# associated with a specific link library.
# -- PORTME fill in with the dynamic library characteristics
m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
[m4_require([_LT_DECL_EGREP])
m4_require([_LT_DECL_OBJDUMP])
m4_require([_LT_DECL_DLLTOOL])
AC_CACHE_CHECK([how to associate runtime and link libraries],
lt_cv_sharedlib_from_linklib_cmd,
[lt_cv_sharedlib_from_linklib_cmd='unknown'
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
# two different shell functions defined in ltmain.sh;
# decide which one to use based on capabilities of $DLLTOOL
case `$DLLTOOL --help 2>&1` in
*--identify-strict*)
lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
;;
*)
lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
;;
esac
;;
*)
# fallback: assume linklib IS sharedlib
lt_cv_sharedlib_from_linklib_cmd=$ECHO
;;
esac
])
sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
[Command to associate shared and link libraries])
])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
# _LT_PATH_MANIFEST_TOOL
# ----------------------
# locate the manifest tool
m4_defun([_LT_PATH_MANIFEST_TOOL],
[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
[lt_cv_path_mainfest_tool=no
echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
$MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
cat conftest.err >&AS_MESSAGE_LOG_FD
if $GREP 'Manifest Tool' conftest.out > /dev/null; then
lt_cv_path_mainfest_tool=yes
fi
rm -f conftest*])
if test yes != "$lt_cv_path_mainfest_tool"; then
MANIFEST_TOOL=:
fi
_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
])# _LT_PATH_MANIFEST_TOOL
# _LT_DLL_DEF_P([FILE])
# ---------------------
# True iff FILE is a Windows DLL '.def' file.
# Keep in sync with func_dll_def_p in the libtool script
AC_DEFUN([_LT_DLL_DEF_P],
[dnl
test DEF = "`$SED -n dnl
-e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
-e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
-e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
-e q dnl Only consider the first "real" line
$1`" dnl
])# _LT_DLL_DEF_P
# LT_LIB_M
# --------
# check for math library
AC_DEFUN([LT_LIB_M],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case $host in
*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
# These system don't have libm, or don't need it
;;
*-ncr-sysv4.3*)
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
;;
*)
AC_CHECK_LIB(m, cos, LIBM=-lm)
;;
esac
AC_SUBST([LIBM])
])# LT_LIB_M
# Old name:
AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_CHECK_LIBM], [])
# _LT_COMPILER_NO_RTTI([TAGNAME])
# -------------------------------
m4_defun([_LT_COMPILER_NO_RTTI],
[m4_require([_LT_TAG_COMPILER])dnl
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
if test yes = "$GCC"; then
case $cc_basename in
nvcc*)
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
*)
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
esac
_LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
lt_cv_prog_compiler_rtti_exceptions,
[-fno-rtti -fno-exceptions], [],
[_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
fi
_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
[Compiler flag to turn off builtin functions])
])# _LT_COMPILER_NO_RTTI
# _LT_CMD_GLOBAL_SYMBOLS
# ----------------------
m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([LT_PATH_NM])dnl
AC_REQUIRE([LT_PATH_LD])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_TAG_COMPILER])dnl
# Check for command to grab the raw symbol name followed by C symbol from nm.
AC_MSG_CHECKING([command to parse $NM output from $compiler object])
AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
[
# These are sane defaults that work on at least a few old systems.
# [They come from Ultrix. What could be older than Ultrix?!! ;)]
# Character class describing NM global symbol codes.
symcode='[[BCDEGRST]]'
# Regexp to match symbols that can be accessed directly from C.
sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
# Define system-specific variables.
case $host_os in
aix*)
symcode='[[BCDT]]'
;;
cygwin* | mingw* | pw32* | cegcc*)
symcode='[[ABCDGISTW]]'
;;
hpux*)
if test ia64 = "$host_cpu"; then
symcode='[[ABCDEGRST]]'
fi
;;
irix* | nonstopux*)
symcode='[[BCDEGRST]]'
;;
osf*)
symcode='[[BCDEGQRST]]'
;;
solaris*)
symcode='[[BDRT]]'
;;
sco3.2v5*)
symcode='[[DT]]'
;;
sysv4.2uw2*)
symcode='[[DT]]'
;;
sysv5* | sco5v6* | unixware* | OpenUNIX*)
symcode='[[ABDT]]'
;;
sysv4)
symcode='[[DFNSTU]]'
;;
esac
# If we're using GNU nm, then use its standard symbol codes.
case `$NM -V 2>&1` in
*GNU* | *'with BFD'*)
symcode='[[ABCDGIRSTW]]' ;;
esac
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Gets list of data symbols to import.
lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
# Adjust the below global symbol transforms to fixup imported variables.
lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
lt_c_name_lib_hook="\
-e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
-e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
else
# Disable hooks by default.
lt_cv_sys_global_symbol_to_import=
lt_cdecl_hook=
lt_c_name_hook=
lt_c_name_lib_hook=
fi
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
lt_cv_sys_global_symbol_to_cdecl="sed -n"\
$lt_cdecl_hook\
" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
$lt_c_name_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
# Transform an extracted symbol line into symbol name with lib prefix and
# symbol address.
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
$lt_c_name_lib_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
# Handle CRLF in mingw tool chain
opt_cr=
case $build_os in
mingw*)
opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
;;
esac
# Try without a prefix underscore, then with it.
for ac_symprfx in "" "_"; do
# Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
symxfrm="\\1 $ac_symprfx\\2 \\2"
# Write the raw and C identifiers.
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Fake it for dumpbin and say T for any non-static function,
# D for any global variable and I for any imported variable.
# Also find C++ and __fastcall symbols from MSVC++,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK ['"\
" {last_section=section; section=\$ 3};"\
" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
" {if(hide[section]) next};"\
" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx]"
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
# Check to see that the pipe works correctly.
pipe_works=no
rm -f conftest*
cat > conftest.$ac_ext <<_LT_EOF
#ifdef __cplusplus
extern "C" {
#endif
char nm_test_var;
void nm_test_func(void);
void nm_test_func(void){}
#ifdef __cplusplus
}
#endif
int main(){nm_test_var='a';nm_test_func();return(0);}
_LT_EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
nlist=conftest.nm
if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"
else
rm -f "$nlist"T
fi
# Make sure that we snagged all the symbols we need.
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT@&t@_DLSYM_CONST
#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT@&t@_DLSYM_CONST
#else
# define LT@&t@_DLSYM_CONST const
#endif
#ifdef __cplusplus
extern "C" {
#endif
_LT_EOF
# Now generate the symbol file.
eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
LT@&t@_DLSYM_CONST struct {
const char *name;
void *address;
}
lt__PROGRAM__LTX_preloaded_symbols[[]] =
{
{ "@PROGRAM@", (void *) 0 },
_LT_EOF
$SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
cat <<\_LT_EOF >> conftest.$ac_ext
{0, (void *) 0}
};
/* This works around a problem in FreeBSD linker */
#ifdef FREEBSD_WORKAROUND
static const void *lt_preloaded_setup() {
return lt__PROGRAM__LTX_preloaded_symbols;
}
#endif
#ifdef __cplusplus
}
#endif
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
lt_globsym_save_LIBS=$LIBS
lt_globsym_save_CFLAGS=$CFLAGS
LIBS=conftstm.$ac_objext
CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
pipe_works=yes
fi
LIBS=$lt_globsym_save_LIBS
CFLAGS=$lt_globsym_save_CFLAGS
else
echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
fi
else
echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
fi
else
echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
fi
else
echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
cat conftest.$ac_ext >&5
fi
rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
if test yes = "$pipe_works"; then
break
else
lt_cv_sys_global_symbol_pipe=
fi
done
])
if test -z "$lt_cv_sys_global_symbol_pipe"; then
lt_cv_sys_global_symbol_to_cdecl=
fi
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
AC_MSG_RESULT(failed)
else
AC_MSG_RESULT(ok)
fi
# Response file support.
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
nm_file_list_spec='@'
elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
nm_file_list_spec='@'
fi
_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
[Take the output of nm and produce a listing of raw symbols and C names])
_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
[Transform the output of nm in a proper C declaration])
_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
[Transform the output of nm into a list of symbols to manually relocate])
_LT_DECL([global_symbol_to_c_name_address],
[lt_cv_sys_global_symbol_to_c_name_address], [1],
[Transform the output of nm in a C name address pair])
_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
[lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
[Transform the output of nm in a C name address pair when lib prefix is needed])
_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
[The name lister interface])
_LT_DECL([], [nm_file_list_spec], [1],
[Specify filename containing input files for $NM])
]) # _LT_CMD_GLOBAL_SYMBOLS
# _LT_COMPILER_PIC([TAGNAME])
# ---------------------------
m4_defun([_LT_COMPILER_PIC],
[m4_require([_LT_TAG_COMPILER])dnl
_LT_TAGVAR(lt_prog_compiler_wl, $1)=
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_TAGVAR(lt_prog_compiler_static, $1)=
m4_if([$1], [CXX], [
# C++ specific cases for pic, static, wl, etc.
if test yes = "$GXX"; then
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
case $host_os in
aix*)
# All AIX code is PIC.
if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
amigaos*)
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
# adding the '-m68020' flag to GCC prevents building anything better,
# like '-m68040'.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
esac
;;
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
mingw* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# (--disable-auto-import) libraries
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
case $host_os in
os2*)
_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
;;
esac
;;
darwin* | rhapsody*)
# PIC is the default on this platform
# Common symbols not allowed in MH_DYLIB files
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
;;
*djgpp*)
# DJGPP does not support shared libraries at all
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
;;
haiku*)
# PIC is the default for Haiku.
# The "-static" flag exists, but is broken.
_LT_TAGVAR(lt_prog_compiler_static, $1)=
;;
interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
sysv4*MP*)
if test -d /usr/nec; then
_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
fi
;;
hpux*)
# PIC is the default for 64-bit PA HP-UX, but not for 32-bit
# PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
# sets the default TLS model and affects inlining.
case $host_cpu in
hppa*64*)
;;
*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
esac
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
# it will coredump.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
;;
*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
esac
else
case $host_os in
aix[[4-9]]*)
# All AIX code is PIC.
if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
else
_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
fi
;;
chorus*)
case $cc_basename in
cxch68*)
# Green Hills C++ Compiler
# _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
;;
esac
;;
mingw* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
;;
dgux*)
case $cc_basename in
ec++*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
;;
ghcx*)
# Green Hills C++ Compiler
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
;;
*)
;;
esac
;;
freebsd* | dragonfly*)
# FreeBSD uses GNU C++
;;
hpux9* | hpux10* | hpux11*)
case $cc_basename in
CC*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
if test ia64 != "$host_cpu"; then
_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
fi
;;
aCC*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
;;
*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
;;
esac
;;
*)
;;
esac
;;
interix*)
# This is c89, which is MS Visual C++ (no shared libs)
# Anyone wants to do a port?
;;
irix5* | irix6* | nonstopux*)
case $cc_basename in
CC*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
# CC pic flag -KPIC is the default.
;;
*)
;;
esac
;;
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# KAI C++ Compiler
_LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
ecpc* )
# old Intel C++ for x86_64, which still supported -KPIC.
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
icpc* )
# Intel C++, used to be incompatible with GCC.
# ICC 10 doesn't accept -KPIC any more.
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
pgCC* | pgcpp*)
# Portland Group C++ compiler
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
cxx*)
# Compaq C++
# Make sure the PIC flag is empty. It appears that all Alpha
# Linux and Compaq Tru64 Unix objects are PIC.
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
# IBM XL 8.0, 9.0 on PPC and BlueGene
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
# Sun C++ 5.9
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
;;
esac
;;
esac
;;
lynxos*)
;;
m88k*)
;;
mvs*)
case $cc_basename in
cxx*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
;;
*)
;;
esac
;;
netbsd*)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
# it will coredump.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
;;
osf3* | osf4* | osf5*)
case $cc_basename in
KCC*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
;;
RCC*)
# Rational C++ 2.4.1
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
;;
cxx*)
# Digital/Compaq C++
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# Make sure the PIC flag is empty. It appears that all Alpha
# Linux and Compaq Tru64 Unix objects are PIC.
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
*)
;;
esac
;;
psos*)
;;
solaris*)
case $cc_basename in
CC* | sunCC*)
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
;;
gcx*)
# Green Hills C++ Compiler
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
;;
*)
;;
esac
;;
sunos4*)
case $cc_basename in
CC*)
# Sun C++ 4.x
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
lcc*)
# Lucid
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
;;
*)
;;
esac
;;
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
case $cc_basename in
CC*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
esac
;;
tandem*)
case $cc_basename in
NCC*)
# NonStop-UX NCC 3.20
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
;;
*)
;;
esac
;;
vxworks*)
;;
*)
_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
;;
esac
fi
],
[
if test yes = "$GCC"; then
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
case $host_os in
aix*)
# All AIX code is PIC.
if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
amigaos*)
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
# adding the '-m68020' flag to GCC prevents building anything better,
# like '-m68040'.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
esac
;;
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# (--disable-auto-import) libraries
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
case $host_os in
os2*)
_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
;;
esac
;;
darwin* | rhapsody*)
# PIC is the default on this platform
# Common symbols not allowed in MH_DYLIB files
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
;;
haiku*)
# PIC is the default for Haiku.
# The "-static" flag exists, but is broken.
_LT_TAGVAR(lt_prog_compiler_static, $1)=
;;
hpux*)
# PIC is the default for 64-bit PA HP-UX, but not for 32-bit
# PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
# sets the default TLS model and affects inlining.
case $host_cpu in
hppa*64*)
# +Z the default
;;
*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
esac
;;
interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
msdosdjgpp*)
# Just because we use GCC doesn't mean we suddenly get shared libraries
# on systems that don't support them.
_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
enable_shared=no
;;
*nto* | *qnx*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
# it will coredump.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
;;
sysv4*MP*)
if test -d /usr/nec; then
_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
fi
;;
*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
esac
case $cc_basename in
nvcc*) # Cuda Compiler Driver 2.2
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
_LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
fi
;;
esac
else
# PORTME Check for flag to pass linker flags through the system compiler.
case $host_os in
aix*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
else
_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
fi
;;
darwin* | rhapsody*)
# PIC is the default on this platform
# Common symbols not allowed in MH_DYLIB files
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
case $cc_basename in
nagfor*)
# NAG Fortran compiler
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
esac
;;
mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
case $host_os in
os2*)
_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
;;
esac
;;
hpux9* | hpux10* | hpux11*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
# not for PA HP-UX.
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
;;
*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
;;
esac
# Is there a better lt_prog_compiler_static that works with the bundled CC?
_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
;;
irix5* | irix6* | nonstopux*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# PIC (with -KPIC) is the default.
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
# old Intel for x86_64, which still supported -KPIC.
ecc*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
# icc used to be incompatible with GCC.
# ICC 10 doesn't accept -KPIC any more.
icc* | ifort*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
# Lahey Fortran 8.1.
lf95*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
;;
nagfor*)
# NAG Fortran compiler
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
tcc*)
# Fabrice Bellard et al's Tiny C Compiler
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
ccc*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# All Alpha code is PIC.
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
xl* | bgxl* | bgf* | mpixl*)
# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)=''
;;
*Sun\ F* | *Sun*Fortran*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
;;
*Sun\ C*)
# Sun C 5.9
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
;;
*Intel*\ [[CF]]*Compiler*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
*Portland\ Group*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
esac
;;
esac
;;
newsos6)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
*nto* | *qnx*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
# it will coredump.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
;;
osf3* | osf4* | osf5*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# All OSF/1 code is PIC.
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
rdos*)
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
solaris*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
case $cc_basename in
f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
esac
;;
sunos4*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
sysv4 | sysv4.2uw2* | sysv4.3*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
sysv4*MP*)
if test -d /usr/nec; then
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
;;
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
unicos*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
;;
uts4*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
*)
_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
;;
esac
fi
])
case $host_os in
# For platforms that do not support PIC, -DPIC is meaningless:
*djgpp*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
;;
*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
;;
esac
AC_CACHE_CHECK([for $compiler option to produce PIC],
[_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
[_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
#
# Check to make sure the PIC flag actually works.
#
if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
_LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
[_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
[$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
[case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
"" | " "*) ;;
*) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
esac],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
fi
_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
[Additional compiler flags for building library objects])
_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
[How to pass a linker flag through the compiler])
#
# Check to make sure the static flag actually works.
#
wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
_LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
$lt_tmp_static_flag,
[],
[_LT_TAGVAR(lt_prog_compiler_static, $1)=])
_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
[Compiler flag to prevent dynamic linking])
])# _LT_COMPILER_PIC
# _LT_LINKER_SHLIBS([TAGNAME])
# ----------------------------
# See if the linker supports building shared libraries.
m4_defun([_LT_LINKER_SHLIBS],
[AC_REQUIRE([LT_PATH_LD])dnl
AC_REQUIRE([LT_PATH_NM])dnl
m4_require([_LT_PATH_MANIFEST_TOOL])dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
m4_require([_LT_TAG_COMPILER])dnl
AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
m4_if([$1], [CXX], [
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
_LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
case $host_os in
aix[[4-9]]*)
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to GNU nm, but means don't demangle to AIX nm.
# Without the "-l" option, or with the "-B" option, AIX nm treats
# weak defined symbols like other global defined symbols, whereas
# GNU nm marks them as "W".
# While the 'weak' keyword is ignored in the Export File, we need
# it in the Import File for the 'aix-soname' feature, so we have
# to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
_LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
_LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
cl*)
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
_LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
;;
esac
;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
esac
], [
runpath_var=
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(archive_cmds, $1)=
_LT_TAGVAR(archive_expsym_cmds, $1)=
_LT_TAGVAR(compiler_needs_object, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
_LT_TAGVAR(export_dynamic_flag_spec, $1)=
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
_LT_TAGVAR(hardcode_automatic, $1)=no
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
_LT_TAGVAR(inherit_rpath, $1)=no
_LT_TAGVAR(link_all_deplibs, $1)=unknown
_LT_TAGVAR(module_cmds, $1)=
_LT_TAGVAR(module_expsym_cmds, $1)=
_LT_TAGVAR(old_archive_from_new_cmds, $1)=
_LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
_LT_TAGVAR(thread_safe_flag_spec, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
# include_expsyms should be a list of space-separated symbols to be *always*
# included in the symbol list
_LT_TAGVAR(include_expsyms, $1)=
# exclude_expsyms can be an extended regexp of symbols to exclude
# it will be wrapped by ' (' and ')$', so one must not match beginning or
# end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
# as well as any symbol that contains 'd'.
_LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
# Exclude shared library initialization/finalization symbols.
dnl Note also adjust exclude_expsyms for C++ above.
extract_expsyms_cmds=
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
interix*)
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
openbsd* | bitrig*)
with_gnu_ld=no
;;
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
# On some targets, GNU ld is compatible enough with the native linker
# that we're better off using the native interface for both.
lt_use_gnu_ld_interface=no
if test yes = "$with_gnu_ld"; then
case $host_os in
aix*)
# The AIX port of GNU ld has always aspired to compatibility
# with the native linker. However, as the warning in the GNU ld
# block says, versions before 2.19.5* couldn't really create working
# shared libraries, regardless of the interface used.
case `$LD -v 2>&1` in
*\ \(GNU\ Binutils\)\ 2.19.5*) ;;
*\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
*\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
*)
lt_use_gnu_ld_interface=yes
;;
esac
;;
*)
lt_use_gnu_ld_interface=yes
;;
esac
fi
if test yes = "$lt_use_gnu_ld_interface"; then
# If archive_cmds runs LD, not CC, wlarc should be empty
wlarc='$wl'
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
_LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
supports_anon_versioning=no
case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
*\ 2.11.*) ;; # other 2.11 versions
*) supports_anon_versioning=yes ;;
esac
# See if GNU ld supports shared libraries.
case $host_os in
aix[[3-9]]*)
# On AIX/PPC, the GNU linker is very broken
if test ia64 != "$host_cpu"; then
_LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
*** Warning: the GNU linker, at least up to release 2.19, is reported
*** to be unable to reliably create shared libraries on AIX.
*** Therefore, libtool is disabling shared libraries support. If you
*** really care for shared libraries, you may want to install binutils
*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
*** You will then need to restart the configuration process.
_LT_EOF
fi
;;
amigaos*)
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)=''
;;
m68k)
_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_minus_L, $1)=yes
;;
esac
;;
beos*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Joseph Beckenbach says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
cygwin* | mingw* | pw32* | cegcc*)
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
_LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file, use it as
# is; otherwise, prepend EXPORTS...
_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
cp $export_symbols $output_objdir/$soname.def;
else
echo EXPORTS > $output_objdir/$soname.def;
cat $export_symbols >> $output_objdir/$soname.def;
fi~
$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
haiku*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
os2*)
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
shrext_cmds=.dll
_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
$ECHO EXPORTS >> $output_objdir/$libname.def~
emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
$ECHO EXPORTS >> $output_objdir/$libname.def~
prefix_cmds="$SED"~
if test EXPORTS = "`$SED 1q $export_symbols`"; then
prefix_cmds="$prefix_cmds -e 1d";
fi~
prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='@'
;;
interix[[3-9]]*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
if test linux-dietlibc = "$host_os"; then
case $cc_basename in
diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
esac
fi
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
&& test no = "$tmp_diet"
then
tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group f77 and f90 compilers
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
tmp_addflag=' -i_dynamic -nofor_main' ;;
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
lf95*) # Lahey Fortran 8.1
_LT_TAGVAR(whole_archive_flag_spec, $1)=
tmp_sharedflag='--shared' ;;
nagfor*) # NAGFOR 5.3
tmp_sharedflag='-Wl,-shared' ;;
xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
nvcc*) # Cuda Compiler Driver 2.2
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
tmp_sharedflag='-G' ;;
esac
_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
case $cc_basename in
tcc*)
_LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
;;
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
_LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
solaris*)
if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
_LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
*** Warning: The releases 2.8.* of the GNU linker cannot reliably
*** create shared libraries on Solaris systems. Therefore, libtool
*** is disabling shared libraries support. We urge you to upgrade GNU
*** binutils to release 2.9.1 or newer. Another option is to modify
*** your PATH or compiler configuration so that the native linker is
*** used, and then restart.
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
case `$LD -v 2>&1` in
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
_LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
*** reliably create shared libraries on SCO systems. Therefore, libtool
*** is disabling shared libraries support. We urge you to upgrade GNU
*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
*** your PATH or compiler configuration so that the native linker is
*** used, and then restart.
_LT_EOF
;;
*)
# For security reasons, it is highly recommended that you always
# use absolute paths for naming shared libraries, and exclude the
# DT_RUNPATH tag from executables and libraries. But doing so
# requires that you compile everything twice, which is a pain.
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
esac
;;
sunos4*)
_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
wlarc=
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
esac
if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
runpath_var=
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(export_dynamic_flag_spec, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
else
# PORTME fill in a description of your system's linker (not GNU ld)
case $host_os in
aix3*)
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=yes
_LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
_LT_TAGVAR(hardcode_direct, $1)=unsupported
fi
;;
aix[[4-9]]*)
if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
no_entry_flag=
else
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to GNU nm, but means don't demangle to AIX nm.
# Without the "-l" option, or with the "-B" option, AIX nm treats
# weak defined symbols like other global defined symbols, whereas
# GNU nm marks them as "W".
# While the 'weak' keyword is ignored in the Export File, we need
# it in the Import File for the 'aix-soname' feature, so we have
# to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
_LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# have runtime linking enabled, and use it for executables.
# For shared libraries, we enable/disable runtime linking
# depending on the kind of the shared library created -
# when "with_aix_soname,aix_use_runtimelinking" is:
# "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
# "aix,yes" lib.so shared, rtl:yes, for executables
# lib.a static archive
# "both,no" lib.so.V(shr.o) shared, rtl:yes
# lib.a(lib.so.V) shared, rtl:no, for executables
# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
# lib.a(lib.so.V) shared, rtl:no
# "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
# lib.a static archive
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
for ld_flag in $LDFLAGS; do
if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
aix_use_runtimelinking=yes
break
fi
done
if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
# With aix-soname=svr4, we create the lib.so.V shared archives only,
# so we don't have lib.a shared libs to link our executables.
# We have to force runtime linking in this case.
aix_use_runtimelinking=yes
LDFLAGS="$LDFLAGS -Wl,-brtl"
fi
;;
esac
exp_sym_flag='-bexport'
no_entry_flag='-bnoentry'
fi
# When large executables or shared objects are built, AIX ld can
# have problems creating the table of contents. If linking a library
# or program results in "error TOC overflow" add -mminimal-toc to
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
_LT_TAGVAR(archive_cmds, $1)=''
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='$wl-f,'
case $with_aix_soname,$aix_use_runtimelinking in
aix,*) ;; # traditional, no import file
svr4,* | *,yes) # use import file
# The Import File defines what to hardcode.
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
;;
esac
if test yes = "$GCC"; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
# We have reworked collect2
:
else
# We have old collect2
_LT_TAGVAR(hardcode_direct, $1)=unsupported
# It fails to find uninstalled libraries when the uninstalled
# path is not listed in the libpath. Setting hardcode_minus_L
# to unsupported forces relinking
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=
fi
;;
esac
shared_flag='-shared'
if test yes = "$aix_use_runtimelinking"; then
shared_flag="$shared_flag "'$wl-G'
fi
# Need to ensure runtime linking is disabled for the traditional
# shared library, or the linker may eventually find shared libraries
# /with/ Import File - we do not want to mix them.
shared_flag_aix='-shared'
shared_flag_svr4='-shared $wl-G'
else
# not using gcc
if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
if test yes = "$aix_use_runtimelinking"; then
shared_flag='$wl-G'
else
shared_flag='$wl-bM:SRE'
fi
shared_flag_aix='$wl-bM:SRE'
shared_flag_svr4='$wl-G'
fi
fi
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
_LT_TAGVAR(always_export_symbols, $1)=yes
if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
if test ia64 = "$host_cpu"; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
_LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
_LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
_LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
_LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
_LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
# -brtl affects multiple linker settings, -berok does not and is overridden later
compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
if test svr4 != "$with_aix_soname"; then
# This is similar to how AIX traditionally builds its shared libraries.
_LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
fi
if test aix != "$with_aix_soname"; then
_LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
else
# used by -dlpreopen to get the symbols
_LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
fi
_LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
amigaos*)
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)=''
;;
m68k)
_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_minus_L, $1)=yes
;;
esac
;;
bsdi[[45]]*)
_LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
;;
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
case $cc_basename in
cl*)
# Native MSVC
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='@'
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
cp "$export_symbols" "$output_objdir/$soname.def";
echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
else
$SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
fi~
$CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
# Don't use ranlib
_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
lt_tool_outputfile="@TOOL_OUTPUT@"~
case $lt_outputfile in
*.exe|*.EXE) ;;
*)
lt_outputfile=$lt_outputfile.exe
lt_tool_outputfile=$lt_tool_outputfile.exe
;;
esac~
if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
$MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
$RM "$lt_outputfile.manifest";
fi'
;;
*)
# Assume MSVC wrapper
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
# FIXME: Should let the user specify the lib program.
_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
;;
esac
;;
darwin* | rhapsody*)
_LT_DARWIN_LINKER_FEATURES($1)
;;
dgux*)
_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
# extra space).
freebsd2.2*)
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
freebsd2.*)
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
hpux9*)
if test yes = "$GCC"; then
_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
fi
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_direct, $1)=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
;;
hpux10*)
if test yes,no = "$GCC,$with_gnu_ld"; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
if test no = "$with_gnu_ld"; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
fi
;;
hpux11*)
if test yes,no = "$GCC,$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
hppa*64*)
_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
m4_if($1, [], [
# Older versions of the 11.00 compiler do not understand -b yet
# (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
_LT_LINKER_OPTION([if $CC understands -b],
_LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
[_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
[_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
[_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
;;
esac
fi
if test no = "$with_gnu_ld"; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
case $host_cpu in
hppa*64*|ia64*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
*)
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
;;
esac
fi
;;
irix5* | irix6* | nonstopux*)
if test yes = "$GCC"; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
# This should be the same for all languages, so no per-tag cache variable.
AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
[lt_cv_irix_exported_symbol],
[save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
AC_LINK_IFELSE(
[AC_LANG_SOURCE(
[AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
[C++], [[int foo (void) { return 0; }]],
[Fortran 77], [[
subroutine foo
end]],
[Fortran], [[
subroutine foo
end]])])],
[lt_cv_irix_exported_symbol=yes],
[lt_cv_irix_exported_symbol=no])
LDFLAGS=$save_LDFLAGS])
if test yes = "$lt_cv_irix_exported_symbol"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
else
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(inherit_rpath, $1)=yes
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
linux*)
case $cc_basename in
tcc*)
# Fabrice Bellard et al's Tiny C Compiler
_LT_TAGVAR(ld_shlibs, $1)=yes
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
fi
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
newsos6)
_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
*nto* | *qnx*)
;;
openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
else
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
fi
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
os2*)
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
shrext_cmds=.dll
_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
$ECHO EXPORTS >> $output_objdir/$libname.def~
emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
$ECHO EXPORTS >> $output_objdir/$libname.def~
prefix_cmds="$SED"~
if test EXPORTS = "`$SED 1q $export_symbols`"; then
prefix_cmds="$prefix_cmds -e 1d";
fi~
prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='@'
;;
osf3*)
if test yes = "$GCC"; then
_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
;;
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test yes = "$GCC"; then
_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
$CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
;;
solaris*)
_LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
if test yes = "$GCC"; then
wlarc='$wl'
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
$CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
wlarc=''
_LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
$LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
;;
*)
wlarc='$wl'
_LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
$CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
;;
esac
fi
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
# The compiler driver will combine and reorder linker options,
# but understands '-z linker_flag'. GCC discards it without '$wl',
# but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
if test yes = "$GCC"; then
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
fi
;;
esac
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
sunos4*)
if test sequent = "$host_vendor"; then
# Use $CC to link under sequent, because it throws in some extra .o
# files that make .init and .fini sections work.
_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
fi
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
sysv4)
case $host_vendor in
sni)
_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
;;
siemens)
## LD is ld it makes a PLAMLIB
## CC just makes a GrossModule.
_LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
_LT_TAGVAR(hardcode_direct, $1)=no
;;
motorola)
_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
;;
esac
runpath_var='LD_RUN_PATH'
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
sysv4.3*)
_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
;;
sysv4*MP*)
if test -d /usr/nec; then
_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
runpath_var=LD_RUN_PATH
hardcode_runpath_var=yes
_LT_TAGVAR(ld_shlibs, $1)=yes
fi
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
runpath_var='LD_RUN_PATH'
if test yes = "$GCC"; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
sysv5* | sco3.2v5* | sco5v6*)
# Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
runpath_var='LD_RUN_PATH'
if test yes = "$GCC"; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
uts4*)
_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
*)
_LT_TAGVAR(ld_shlibs, $1)=no
;;
esac
if test sni = "$host_vendor"; then
case $host in
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
;;
esac
fi
fi
])
AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
_LT_DECL([], [extract_expsyms_cmds], [2],
[The commands to extract the exported symbol list from a shared archive])
#
# Do we need to explicitly link libc?
#
case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
x|xyes)
# Assume -lc should be added
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
if test yes,yes = "$GCC,$enable_shared"; then
case $_LT_TAGVAR(archive_cmds, $1) in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
;;
'$CC '*)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
AC_CACHE_CHECK([whether -lc should be explicitly linked in],
[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
[$RM conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
soname=conftest
lib=conftest
libobjs=conftest.$ac_objext
deplibs=
wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
compiler_flags=-v
linker_flags=-v
verstring=
output_objdir=.
libname=conftest
lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
_LT_TAGVAR(allow_undefined_flag, $1)=
if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
then
lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
else
lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
fi
_LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
else
cat conftest.err 1>&5
fi
$RM conftest*
])
_LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
;;
esac
fi
;;
esac
_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
[Whether or not to add -lc for building shared libraries])
_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
[enable_shared_with_static_runtimes], [0],
[Whether or not to disallow shared libs when runtime libs are static])
_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
[Compiler flag to allow reflexive dlopens])
_LT_TAGDECL([], [whole_archive_flag_spec], [1],
[Compiler flag to generate shared objects directly from archives])
_LT_TAGDECL([], [compiler_needs_object], [1],
[Whether the compiler copes with passing no objects directly])
_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
[Create an old-style archive from a shared archive])
_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
[Create a temporary old-style archive to link instead of a shared archive])
_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
_LT_TAGDECL([], [archive_expsym_cmds], [2])
_LT_TAGDECL([], [module_cmds], [2],
[Commands used to build a loadable module if different from building
a shared archive.])
_LT_TAGDECL([], [module_expsym_cmds], [2])
_LT_TAGDECL([], [with_gnu_ld], [1],
[Whether we are building with GNU ld or not])
_LT_TAGDECL([], [allow_undefined_flag], [1],
[Flag that allows shared libraries with undefined symbols to be built])
_LT_TAGDECL([], [no_undefined_flag], [1],
[Flag that enforces no undefined symbols])
_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
[Flag to hardcode $libdir into a binary during linking.
This must work even if $libdir does not exist])
_LT_TAGDECL([], [hardcode_libdir_separator], [1],
[Whether we need a single "-rpath" flag with a separated argument])
_LT_TAGDECL([], [hardcode_direct], [0],
[Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
DIR into the resulting binary])
_LT_TAGDECL([], [hardcode_direct_absolute], [0],
[Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
DIR into the resulting binary and the resulting library dependency is
"absolute", i.e impossible to change by setting $shlibpath_var if the
library is relocated])
_LT_TAGDECL([], [hardcode_minus_L], [0],
[Set to "yes" if using the -LDIR flag during linking hardcodes DIR
into the resulting binary])
_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
[Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
into the resulting binary])
_LT_TAGDECL([], [hardcode_automatic], [0],
[Set to "yes" if building a shared library automatically hardcodes DIR
into the library and all subsequent libraries and executables linked
against it])
_LT_TAGDECL([], [inherit_rpath], [0],
[Set to yes if linker adds runtime paths of dependent libraries
to runtime path list])
_LT_TAGDECL([], [link_all_deplibs], [0],
[Whether libtool must link a program against all its dependency libraries])
_LT_TAGDECL([], [always_export_symbols], [0],
[Set to "yes" if exported symbols are required])
_LT_TAGDECL([], [export_symbols_cmds], [2],
[The commands to list exported symbols])
_LT_TAGDECL([], [exclude_expsyms], [1],
[Symbols that should not be listed in the preloaded symbols])
_LT_TAGDECL([], [include_expsyms], [1],
[Symbols that must always be exported])
_LT_TAGDECL([], [prelink_cmds], [2],
[Commands necessary for linking programs (against libraries) with templates])
_LT_TAGDECL([], [postlink_cmds], [2],
[Commands necessary for finishing linking programs])
_LT_TAGDECL([], [file_list_spec], [1],
[Specify filename containing input files])
dnl FIXME: Not yet implemented
dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
dnl [Compiler flag to generate thread safe objects])
])# _LT_LINKER_SHLIBS
# _LT_LANG_C_CONFIG([TAG])
# ------------------------
# Ensure that the configuration variables for a C compiler are suitably
# defined. These variables are subsequently used by _LT_CONFIG to write
# the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_C_CONFIG],
[m4_require([_LT_DECL_EGREP])dnl
lt_save_CC=$CC
AC_LANG_PUSH(C)
# Source file extension for C test sources.
ac_ext=c
# Object file extension for compiled C test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
lt_simple_link_test_code='int main(){return(0);}'
_LT_TAG_COMPILER
# Save the default compiler, since it gets overwritten when the other
# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
compiler_DEFAULT=$CC
# save warnings/boilerplate of simple test code
_LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
## the running order or otherwise move them around unless you know exactly
## what you are doing...
if test -n "$compiler"; then
_LT_COMPILER_NO_RTTI($1)
_LT_COMPILER_PIC($1)
_LT_COMPILER_C_O($1)
_LT_COMPILER_FILE_LOCKS($1)
_LT_LINKER_SHLIBS($1)
_LT_SYS_DYNAMIC_LINKER($1)
_LT_LINKER_HARDCODE_LIBPATH($1)
LT_SYS_DLOPEN_SELF
_LT_CMD_STRIPLIB
# Report what library types will actually be built
AC_MSG_CHECKING([if libtool supports shared libraries])
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
aix[[4-9]]*)
if test ia64 != "$host_cpu"; then
case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
yes,aix,yes) ;; # shared object as lib.so file only
yes,svr4,*) ;; # shared object as lib.so archive member only
yes,*) enable_static=no ;; # shared object in lib.a archive as well
esac
fi
;;
esac
AC_MSG_RESULT([$enable_shared])
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
_LT_CONFIG($1)
fi
AC_LANG_POP
CC=$lt_save_CC
])# _LT_LANG_C_CONFIG
# _LT_LANG_CXX_CONFIG([TAG])
# --------------------------
# Ensure that the configuration variables for a C++ compiler are suitably
# defined. These variables are subsequently used by _LT_CONFIG to write
# the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_CXX_CONFIG],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_PATH_MANIFEST_TOOL])dnl
if test -n "$CXX" && ( test no != "$CXX" &&
( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
(test g++ != "$CXX"))); then
AC_PROG_CXXCPP
else
_lt_caught_CXX_error=yes
fi
AC_LANG_PUSH(C++)
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(archive_expsym_cmds, $1)=
_LT_TAGVAR(compiler_needs_object, $1)=no
_LT_TAGVAR(export_dynamic_flag_spec, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
_LT_TAGVAR(hardcode_automatic, $1)=no
_LT_TAGVAR(inherit_rpath, $1)=no
_LT_TAGVAR(module_cmds, $1)=
_LT_TAGVAR(module_expsym_cmds, $1)=
_LT_TAGVAR(link_all_deplibs, $1)=unknown
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
_LT_TAGVAR(reload_flag, $1)=$reload_flag
_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
_LT_TAGVAR(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
# Source file extension for C++ test sources.
ac_ext=cpp
# Object file extension for compiled C++ test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext
# No sense in running all these tests if we already determined that
# the CXX compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
if test yes != "$_lt_caught_CXX_error"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_TAG_COMPILER
# save warnings/boilerplate of simple test code
_LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
lt_save_CFLAGS=$CFLAGS
lt_save_LD=$LD
lt_save_GCC=$GCC
GCC=$GXX
lt_save_with_gnu_ld=$with_gnu_ld
lt_save_path_LD=$lt_cv_path_LD
if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
else
$as_unset lt_cv_prog_gnu_ld
fi
if test -n "${lt_cv_path_LDCXX+set}"; then
lt_cv_path_LD=$lt_cv_path_LDCXX
else
$as_unset lt_cv_path_LD
fi
test -z "${LDCXX+set}" || LD=$LDCXX
CC=${CXX-"c++"}
CFLAGS=$CXXFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
if test -n "$compiler"; then
# We don't want -fno-exception when compiling C++ code, so set the
# no_builtin_flag separately
if test yes = "$GXX"; then
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
else
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
fi
if test yes = "$GXX"; then
# Set up default GNU C++ configuration
LT_PATH_LD
# Check if GNU C++ uses GNU ld as the underlying linker, since the
# archiving commands below assume that GNU ld is being used.
if test yes = "$with_gnu_ld"; then
_LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# If archive_cmds runs LD, not CC, wlarc should be empty
# XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
# investigate it a little bit more. (MM)
wlarc='$wl'
# ancient GNU ld didn't support --whole-archive et. al.
if eval "`$CC -print-prog-name=ld` --help 2>&1" |
$GREP 'no-whole-archive' > /dev/null; then
_LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
else
with_gnu_ld=no
wlarc=
# A generic and very simple default shared library creation
# command for GNU C++ for the case where it uses the native
# linker, instead of GNU ld. If possible, this setting should
# overridden to take advantage of the native linker features on
# the platform it is being used on.
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
fi
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
GXX=no
with_gnu_ld=no
wlarc=
fi
# PORTME: fill in a description of your system's C++ link characteristics
AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
_LT_TAGVAR(ld_shlibs, $1)=yes
case $host_os in
aix3*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
aix[[4-9]]*)
if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
no_entry_flag=
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# have runtime linking enabled, and use it for executables.
# For shared libraries, we enable/disable runtime linking
# depending on the kind of the shared library created -
# when "with_aix_soname,aix_use_runtimelinking" is:
# "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
# "aix,yes" lib.so shared, rtl:yes, for executables
# lib.a static archive
# "both,no" lib.so.V(shr.o) shared, rtl:yes
# lib.a(lib.so.V) shared, rtl:no, for executables
# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
# lib.a(lib.so.V) shared, rtl:no
# "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
# lib.a static archive
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
for ld_flag in $LDFLAGS; do
case $ld_flag in
*-brtl*)
aix_use_runtimelinking=yes
break
;;
esac
done
if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
# With aix-soname=svr4, we create the lib.so.V shared archives only,
# so we don't have lib.a shared libs to link our executables.
# We have to force runtime linking in this case.
aix_use_runtimelinking=yes
LDFLAGS="$LDFLAGS -Wl,-brtl"
fi
;;
esac
exp_sym_flag='-bexport'
no_entry_flag='-bnoentry'
fi
# When large executables or shared objects are built, AIX ld can
# have problems creating the table of contents. If linking a library
# or program results in "error TOC overflow" add -mminimal-toc to
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
_LT_TAGVAR(archive_cmds, $1)=''
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='$wl-f,'
case $with_aix_soname,$aix_use_runtimelinking in
aix,*) ;; # no import file
svr4,* | *,yes) # use import file
# The Import File defines what to hardcode.
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
;;
esac
if test yes = "$GXX"; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
# We have reworked collect2
:
else
# We have old collect2
_LT_TAGVAR(hardcode_direct, $1)=unsupported
# It fails to find uninstalled libraries when the uninstalled
# path is not listed in the libpath. Setting hardcode_minus_L
# to unsupported forces relinking
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=
fi
esac
shared_flag='-shared'
if test yes = "$aix_use_runtimelinking"; then
shared_flag=$shared_flag' $wl-G'
fi
# Need to ensure runtime linking is disabled for the traditional
# shared library, or the linker may eventually find shared libraries
# /with/ Import File - we do not want to mix them.
shared_flag_aix='-shared'
shared_flag_svr4='-shared $wl-G'
else
# not using gcc
if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
if test yes = "$aix_use_runtimelinking"; then
shared_flag='$wl-G'
else
shared_flag='$wl-bM:SRE'
fi
shared_flag_aix='$wl-bM:SRE'
shared_flag_svr4='$wl-G'
fi
fi
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to
# export.
_LT_TAGVAR(always_export_symbols, $1)=yes
if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
# The "-G" linker flag allows undefined symbols.
_LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
# Determine the default libpath from the value encoded in an empty
# executable.
_LT_SYS_MODULE_PATH_AIX([$1])
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
if test ia64 = "$host_cpu"; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
_LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
_LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
_LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
_LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
_LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
# -brtl affects multiple linker settings, -berok does not and is overridden later
compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
if test svr4 != "$with_aix_soname"; then
# This is similar to how AIX traditionally builds its shared
# libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
_LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
fi
if test aix != "$with_aix_soname"; then
_LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
else
# used by -dlpreopen to get the symbols
_LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
fi
_LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
beos*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Joseph Beckenbach says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
chorus*)
case $cc_basename in
*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
esac
;;
cygwin* | mingw* | pw32* | cegcc*)
case $GXX,$cc_basename in
,cl* | no,cl*)
# Native MSVC
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='@'
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
cp "$export_symbols" "$output_objdir/$soname.def";
echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
else
$SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
fi~
$CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
# Don't use ranlib
_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
lt_tool_outputfile="@TOOL_OUTPUT@"~
case $lt_outputfile in
*.exe|*.EXE) ;;
*)
lt_outputfile=$lt_outputfile.exe
lt_tool_outputfile=$lt_tool_outputfile.exe
;;
esac~
func_to_tool_file "$lt_outputfile"~
if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
$MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
$RM "$lt_outputfile.manifest";
fi'
;;
*)
# g++
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file, use it as
# is; otherwise, prepend EXPORTS...
_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
cp $export_symbols $output_objdir/$soname.def;
else
echo EXPORTS > $output_objdir/$soname.def;
cat $export_symbols >> $output_objdir/$soname.def;
fi~
$CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
esac
;;
darwin* | rhapsody*)
_LT_DARWIN_LINKER_FEATURES($1)
;;
os2*)
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
shrext_cmds=.dll
_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
$ECHO EXPORTS >> $output_objdir/$libname.def~
emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
$ECHO EXPORTS >> $output_objdir/$libname.def~
prefix_cmds="$SED"~
if test EXPORTS = "`$SED 1q $export_symbols`"; then
prefix_cmds="$prefix_cmds -e 1d";
fi~
prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='@'
;;
dgux*)
case $cc_basename in
ec++*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
ghcx*)
# Green Hills C++ Compiler
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
esac
;;
freebsd2.*)
# C++ shared libraries reported to be fairly broken before
# switch to ELF
_LT_TAGVAR(ld_shlibs, $1)=no
;;
freebsd-elf*)
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
;;
freebsd* | dragonfly*)
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
# conventions
_LT_TAGVAR(ld_shlibs, $1)=yes
;;
haiku*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
hpux9*)
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
# but as the default
# location of the library.
case $cc_basename in
CC*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
aCC*)
_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
#
# There doesn't appear to be a way to prevent this compiler from
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test yes = "$GXX"; then
_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
esac
;;
hpux10*|hpux11*)
if test no = "$with_gnu_ld"; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
case $host_cpu in
hppa*64*|ia64*)
;;
*)
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
;;
esac
fi
case $host_cpu in
hppa*64*|ia64*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
*)
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
# but as the default
# location of the library.
;;
esac
case $cc_basename in
CC*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
aCC*)
case $host_cpu in
hppa*64*)
_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
#
# There doesn't appear to be a way to prevent this compiler from
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test yes = "$GXX"; then
if test no = "$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
fi
else
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
esac
;;
interix[[3-9]]*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
irix5* | irix6*)
case $cc_basename in
CC*)
# SGI C++
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
# Archives containing C++ object files must be created using
# "CC -ar", where "CC" is the IRIX C++ compiler. This is
# necessary to make sure instantiated templates are included
# in the archive.
_LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
;;
*)
if test yes = "$GXX"; then
if test no = "$with_gnu_ld"; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
fi
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
esac
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(inherit_rpath, $1)=yes
;;
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
_LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
#
# There doesn't appear to be a way to prevent this compiler from
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# Archives containing C++ object files must be created using
# "CC -Bstatic", where "CC" is the KAI C++ compiler.
_LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
;;
icpc* | ecpc* )
# Intel C++
with_gnu_ld=yes
# version 8.0 and above of icpc choke on multiply defined symbols
# if we add $predep_objects and $postdep_objects, however 7.1 and
# earlier do not add the objects themselves.
case `$CC -V 2>&1` in
*"Version 7."*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
*) # Version 8.0 or newer
tmp_idyn=
case $host_cpu in
ia64*) tmp_idyn=' -i_dynamic';;
esac
_LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
esac
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
;;
pgCC* | pgcpp*)
# Portland Group C++ compiler
case `$CC -V` in
*pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
_LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
_LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
$RANLIB $oldlib'
_LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
*) # Version 6 and above use weak symbols
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
esac
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
;;
cxx*)
# Compaq C++
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
runpath_var=LD_RUN_PATH
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
#
# There doesn't appear to be a way to prevent this compiler from
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
;;
xl* | mpixl* | bgxl*)
# IBM XL 8.0 on PPC, with GNU ld
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
_LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
# Sun C++ 5.9
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
_LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
# Not sure whether something based on
# $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
# would be better.
output_verbose_link_cmd='func_echo_all'
# Archives containing C++ object files must be created using
# "CC -xar", where "CC" is the Sun C++ compiler. This is
# necessary to make sure instantiated templates are included
# in the archive.
_LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
;;
esac
;;
esac
;;
lynxos*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
m88k*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
mvs*)
case $cc_basename in
cxx*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
esac
;;
netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
wlarc=
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
fi
# Workaround some broken pre-1.5 toolchains
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
;;
*nto* | *qnx*)
_LT_TAGVAR(ld_shlibs, $1)=yes
;;
openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
_LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
fi
output_verbose_link_cmd=func_echo_all
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
osf3* | osf4* | osf5*)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
_LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
# Archives containing C++ object files must be created using
# the KAI C++ compiler.
case $host in
osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
esac
;;
RCC*)
# Rational C++ 2.4.1
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
cxx*)
case $host in
osf3*)
_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
;;
*)
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
echo "-hidden">> $lib.exp~
$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
$RM $lib.exp'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
;;
esac
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
#
# There doesn't appear to be a way to prevent this compiler from
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test yes,no = "$GXX,$with_gnu_ld"; then
_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
case $host in
osf3*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
;;
*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
;;
esac
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
esac
;;
psos*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
sunos4*)
case $cc_basename in
CC*)
# Sun C++ 4.x
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
lcc*)
# Lucid
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
esac
;;
solaris*)
case $cc_basename in
CC* | sunCC*)
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(archive_cmds_need_lc,$1)=yes
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
_LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
$CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
# The compiler driver will combine and reorder linker options,
# but understands '-z linker_flag'.
# Supported since Solaris 2.6 (maybe 2.5.1?)
_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
;;
esac
_LT_TAGVAR(link_all_deplibs, $1)=yes
output_verbose_link_cmd='func_echo_all'
# Archives containing C++ object files must be created using
# "CC -xar", where "CC" is the Sun C++ compiler. This is
# necessary to make sure instantiated templates are included
# in the archive.
_LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
;;
gcx*)
# Green Hills C++ Compiler
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
# The C++ compiler must be used to create the archive.
_LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
;;
*)
# GNU C++ compiler with Solaris linker
if test yes,no = "$GXX,$with_gnu_ld"; then
_LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
$CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
# g++ 2.7 appears to require '-G' NOT '-shared' on this
# platform.
_LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
$CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
fi
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
;;
esac
fi
;;
esac
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
runpath_var='LD_RUN_PATH'
case $cc_basename in
CC*)
_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
sysv5* | sco3.2v5* | sco5v6*)
# Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
runpath_var='LD_RUN_PATH'
case $cc_basename in
CC*)
_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
'"$_LT_TAGVAR(old_archive_cmds, $1)"
_LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
'"$_LT_TAGVAR(reload_cmds, $1)"
;;
*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
tandem*)
case $cc_basename in
NCC*)
# NonStop-UX NCC 3.20
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
esac
;;
vxworks*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
*)
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
;;
esac
AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
_LT_TAGVAR(GCC, $1)=$GXX
_LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
## the running order or otherwise move them around unless you know exactly
## what you are doing...
_LT_SYS_HIDDEN_LIBDEPS($1)
_LT_COMPILER_PIC($1)
_LT_COMPILER_C_O($1)
_LT_COMPILER_FILE_LOCKS($1)
_LT_LINKER_SHLIBS($1)
_LT_SYS_DYNAMIC_LINKER($1)
_LT_LINKER_HARDCODE_LIBPATH($1)
_LT_CONFIG($1)
fi # test -n "$compiler"
CC=$lt_save_CC
CFLAGS=$lt_save_CFLAGS
LDCXX=$LD
LD=$lt_save_LD
GCC=$lt_save_GCC
with_gnu_ld=$lt_save_with_gnu_ld
lt_cv_path_LDCXX=$lt_cv_path_LD
lt_cv_path_LD=$lt_save_path_LD
lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
fi # test yes != "$_lt_caught_CXX_error"
AC_LANG_POP
])# _LT_LANG_CXX_CONFIG
# _LT_FUNC_STRIPNAME_CNF
# ----------------------
# func_stripname_cnf prefix suffix name
# strip PREFIX and SUFFIX off of NAME.
# PREFIX and SUFFIX must not contain globbing or regex special
# characters, hashes, percent signs, but SUFFIX may contain a leading
# dot (in which case that matches only a dot).
#
# This function is identical to the (non-XSI) version of func_stripname,
# except this one can be used by m4 code that may be executed by configure,
# rather than the libtool script.
m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
AC_REQUIRE([_LT_DECL_SED])
AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
func_stripname_cnf ()
{
case @S|@2 in
.*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
esac
} # func_stripname_cnf
])# _LT_FUNC_STRIPNAME_CNF
# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
# ---------------------------------
# Figure out "hidden" library dependencies from verbose
# compiler output when linking a shared library.
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
# Dependencies to place before and after the object being linked:
_LT_TAGVAR(predep_objects, $1)=
_LT_TAGVAR(postdep_objects, $1)=
_LT_TAGVAR(predeps, $1)=
_LT_TAGVAR(postdeps, $1)=
_LT_TAGVAR(compiler_lib_search_path, $1)=
dnl we can't use the lt_simple_compile_test_code here,
dnl because it contains code intended for an executable,
dnl not a library. It's possible we should let each
dnl tag define a new lt_????_link_test_code variable,
dnl but it's only used here...
m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
int a;
void foo (void) { a = 0; }
_LT_EOF
], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
class Foo
{
public:
Foo (void) { a = 0; }
private:
int a;
};
_LT_EOF
], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
subroutine foo
implicit none
integer*4 a
a=0
return
end
_LT_EOF
], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
subroutine foo
implicit none
integer a
a=0
return
end
_LT_EOF
], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
public class foo {
private int a;
public void bar (void) {
a = 0;
}
};
_LT_EOF
], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
package foo
func foo() {
}
_LT_EOF
])
_lt_libdeps_save_CFLAGS=$CFLAGS
case "$CC $CFLAGS " in #(
*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
esac
dnl Parse the compiler output and extract the necessary
dnl objects, libraries and library flags.
if AC_TRY_EVAL(ac_compile); then
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
# Sentinel used to keep track of whether or not we are before
# the conftest object file.
pre_test_object_deps_done=no
for p in `eval "$output_verbose_link_cmd"`; do
case $prev$p in
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
# Remove the space.
if test x-L = "$p" ||
test x-R = "$p"; then
prev=$p
continue
fi
# Expand the sysroot to ease extracting the directories later.
if test -z "$prev"; then
case $p in
-L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
-R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
-l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
esac
fi
case $p in
=*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
esac
if test no = "$pre_test_object_deps_done"; then
case $prev in
-L | -R)
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
_LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
else
_LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
fi
;;
# The "-l" case would never come before the object being
# linked, so don't bother handling this case.
esac
else
if test -z "$_LT_TAGVAR(postdeps, $1)"; then
_LT_TAGVAR(postdeps, $1)=$prev$p
else
_LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
fi
fi
prev=
;;
*.lto.$objext) ;; # Ignore GCC LTO objects
*.$objext)
# This assumes that the test object file only shows up
# once in the compiler output.
if test "$p" = "conftest.$objext"; then
pre_test_object_deps_done=yes
continue
fi
if test no = "$pre_test_object_deps_done"; then
if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
_LT_TAGVAR(predep_objects, $1)=$p
else
_LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
fi
else
if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
_LT_TAGVAR(postdep_objects, $1)=$p
else
_LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
fi
fi
;;
*) ;; # Ignore the rest.
esac
done
# Clean up.
rm -f a.out a.exe
else
echo "libtool.m4: error: problem compiling $1 test program"
fi
$RM -f confest.$objext
CFLAGS=$_lt_libdeps_save_CFLAGS
# PORTME: override above test on systems where it is broken
m4_if([$1], [CXX],
[case $host_os in
interix[[3-9]]*)
# Interix 3.5 installs completely hosed .la files for C++, so rather than
# hack all around it, let's just trust "g++" to DTRT.
_LT_TAGVAR(predep_objects,$1)=
_LT_TAGVAR(postdep_objects,$1)=
_LT_TAGVAR(postdeps,$1)=
;;
esac
])
case " $_LT_TAGVAR(postdeps, $1) " in
*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
esac
_LT_TAGVAR(compiler_lib_search_dirs, $1)=
if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
_LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
fi
_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
[The directories searched by this compiler when creating a shared library])
_LT_TAGDECL([], [predep_objects], [1],
[Dependencies to place before and after the objects being linked to
create a shared library])
_LT_TAGDECL([], [postdep_objects], [1])
_LT_TAGDECL([], [predeps], [1])
_LT_TAGDECL([], [postdeps], [1])
_LT_TAGDECL([], [compiler_lib_search_path], [1],
[The library search path used internally by the compiler when linking
a shared library])
])# _LT_SYS_HIDDEN_LIBDEPS
# _LT_LANG_F77_CONFIG([TAG])
# --------------------------
# Ensure that the configuration variables for a Fortran 77 compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_F77_CONFIG],
[AC_LANG_PUSH(Fortran 77)
if test -z "$F77" || test no = "$F77"; then
_lt_disable_F77=yes
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(archive_expsym_cmds, $1)=
_LT_TAGVAR(export_dynamic_flag_spec, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no
_LT_TAGVAR(inherit_rpath, $1)=no
_LT_TAGVAR(module_cmds, $1)=
_LT_TAGVAR(module_expsym_cmds, $1)=
_LT_TAGVAR(link_all_deplibs, $1)=unknown
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
_LT_TAGVAR(reload_flag, $1)=$reload_flag
_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
_LT_TAGVAR(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
# Source file extension for f77 test sources.
ac_ext=f
# Object file extension for compiled f77 test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext
# No sense in running all these tests if we already determined that
# the F77 compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
if test yes != "$_lt_disable_F77"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="\
subroutine t
return
end
"
# Code to be used in simple link tests
lt_simple_link_test_code="\
program t
end
"
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_TAG_COMPILER
# save warnings/boilerplate of simple test code
_LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
lt_save_GCC=$GCC
lt_save_CFLAGS=$CFLAGS
CC=${F77-"f77"}
CFLAGS=$FFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
GCC=$G77
if test -n "$compiler"; then
AC_MSG_CHECKING([if libtool supports shared libraries])
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
aix[[4-9]]*)
if test ia64 != "$host_cpu"; then
case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
yes,aix,yes) ;; # shared object as lib.so file only
yes,svr4,*) ;; # shared object as lib.so archive member only
yes,*) enable_static=no ;; # shared object in lib.a archive as well
esac
fi
;;
esac
AC_MSG_RESULT([$enable_shared])
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
_LT_TAGVAR(GCC, $1)=$G77
_LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
## the running order or otherwise move them around unless you know exactly
## what you are doing...
_LT_COMPILER_PIC($1)
_LT_COMPILER_C_O($1)
_LT_COMPILER_FILE_LOCKS($1)
_LT_LINKER_SHLIBS($1)
_LT_SYS_DYNAMIC_LINKER($1)
_LT_LINKER_HARDCODE_LIBPATH($1)
_LT_CONFIG($1)
fi # test -n "$compiler"
GCC=$lt_save_GCC
CC=$lt_save_CC
CFLAGS=$lt_save_CFLAGS
fi # test yes != "$_lt_disable_F77"
AC_LANG_POP
])# _LT_LANG_F77_CONFIG
# _LT_LANG_FC_CONFIG([TAG])
# -------------------------
# Ensure that the configuration variables for a Fortran compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_FC_CONFIG],
[AC_LANG_PUSH(Fortran)
if test -z "$FC" || test no = "$FC"; then
_lt_disable_FC=yes
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(archive_expsym_cmds, $1)=
_LT_TAGVAR(export_dynamic_flag_spec, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no
_LT_TAGVAR(inherit_rpath, $1)=no
_LT_TAGVAR(module_cmds, $1)=
_LT_TAGVAR(module_expsym_cmds, $1)=
_LT_TAGVAR(link_all_deplibs, $1)=unknown
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
_LT_TAGVAR(reload_flag, $1)=$reload_flag
_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
_LT_TAGVAR(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
# Source file extension for fc test sources.
ac_ext=${ac_fc_srcext-f}
# Object file extension for compiled fc test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext
# No sense in running all these tests if we already determined that
# the FC compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
if test yes != "$_lt_disable_FC"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="\
subroutine t
return
end
"
# Code to be used in simple link tests
lt_simple_link_test_code="\
program t
end
"
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_TAG_COMPILER
# save warnings/boilerplate of simple test code
_LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
lt_save_GCC=$GCC
lt_save_CFLAGS=$CFLAGS
CC=${FC-"f95"}
CFLAGS=$FCFLAGS
compiler=$CC
GCC=$ac_cv_fc_compiler_gnu
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
if test -n "$compiler"; then
AC_MSG_CHECKING([if libtool supports shared libraries])
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
aix[[4-9]]*)
if test ia64 != "$host_cpu"; then
case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
yes,aix,yes) ;; # shared object as lib.so file only
yes,svr4,*) ;; # shared object as lib.so archive member only
yes,*) enable_static=no ;; # shared object in lib.a archive as well
esac
fi
;;
esac
AC_MSG_RESULT([$enable_shared])
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
_LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
_LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
## the running order or otherwise move them around unless you know exactly
## what you are doing...
_LT_SYS_HIDDEN_LIBDEPS($1)
_LT_COMPILER_PIC($1)
_LT_COMPILER_C_O($1)
_LT_COMPILER_FILE_LOCKS($1)
_LT_LINKER_SHLIBS($1)
_LT_SYS_DYNAMIC_LINKER($1)
_LT_LINKER_HARDCODE_LIBPATH($1)
_LT_CONFIG($1)
fi # test -n "$compiler"
GCC=$lt_save_GCC
CC=$lt_save_CC
CFLAGS=$lt_save_CFLAGS
fi # test yes != "$_lt_disable_FC"
AC_LANG_POP
])# _LT_LANG_FC_CONFIG
# _LT_LANG_GCJ_CONFIG([TAG])
# --------------------------
# Ensure that the configuration variables for the GNU Java Compiler compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_GCJ_CONFIG],
[AC_REQUIRE([LT_PROG_GCJ])dnl
AC_LANG_SAVE
# Source file extension for Java test sources.
ac_ext=java
# Object file extension for compiled Java test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
lt_simple_compile_test_code="class foo {}"
# Code to be used in simple link tests
lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_TAG_COMPILER
# save warnings/boilerplate of simple test code
_LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
lt_save_CFLAGS=$CFLAGS
lt_save_GCC=$GCC
GCC=yes
CC=${GCJ-"gcj"}
CFLAGS=$GCJFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_TAGVAR(LD, $1)=$LD
_LT_CC_BASENAME([$compiler])
# GCJ did not exist at the time GCC didn't implicitly link libc in.
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
_LT_TAGVAR(reload_flag, $1)=$reload_flag
_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
## the running order or otherwise move them around unless you know exactly
## what you are doing...
if test -n "$compiler"; then
_LT_COMPILER_NO_RTTI($1)
_LT_COMPILER_PIC($1)
_LT_COMPILER_C_O($1)
_LT_COMPILER_FILE_LOCKS($1)
_LT_LINKER_SHLIBS($1)
_LT_LINKER_HARDCODE_LIBPATH($1)
_LT_CONFIG($1)
fi
AC_LANG_RESTORE
GCC=$lt_save_GCC
CC=$lt_save_CC
CFLAGS=$lt_save_CFLAGS
])# _LT_LANG_GCJ_CONFIG
# _LT_LANG_GO_CONFIG([TAG])
# --------------------------
# Ensure that the configuration variables for the GNU Go compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_GO_CONFIG],
[AC_REQUIRE([LT_PROG_GO])dnl
AC_LANG_SAVE
# Source file extension for Go test sources.
ac_ext=go
# Object file extension for compiled Go test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
lt_simple_compile_test_code="package main; func main() { }"
# Code to be used in simple link tests
lt_simple_link_test_code='package main; func main() { }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_TAG_COMPILER
# save warnings/boilerplate of simple test code
_LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
lt_save_CFLAGS=$CFLAGS
lt_save_GCC=$GCC
GCC=yes
CC=${GOC-"gccgo"}
CFLAGS=$GOFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_TAGVAR(LD, $1)=$LD
_LT_CC_BASENAME([$compiler])
# Go did not exist at the time GCC didn't implicitly link libc in.
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
_LT_TAGVAR(reload_flag, $1)=$reload_flag
_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
## the running order or otherwise move them around unless you know exactly
## what you are doing...
if test -n "$compiler"; then
_LT_COMPILER_NO_RTTI($1)
_LT_COMPILER_PIC($1)
_LT_COMPILER_C_O($1)
_LT_COMPILER_FILE_LOCKS($1)
_LT_LINKER_SHLIBS($1)
_LT_LINKER_HARDCODE_LIBPATH($1)
_LT_CONFIG($1)
fi
AC_LANG_RESTORE
GCC=$lt_save_GCC
CC=$lt_save_CC
CFLAGS=$lt_save_CFLAGS
])# _LT_LANG_GO_CONFIG
# _LT_LANG_RC_CONFIG([TAG])
# -------------------------
# Ensure that the configuration variables for the Windows resource compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_RC_CONFIG],
[AC_REQUIRE([LT_PROG_RC])dnl
AC_LANG_SAVE
# Source file extension for RC test sources.
ac_ext=rc
# Object file extension for compiled RC test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
# Code to be used in simple link tests
lt_simple_link_test_code=$lt_simple_compile_test_code
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_TAG_COMPILER
# save warnings/boilerplate of simple test code
_LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
lt_save_CFLAGS=$CFLAGS
lt_save_GCC=$GCC
GCC=
CC=${RC-"windres"}
CFLAGS=
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
if test -n "$compiler"; then
:
_LT_CONFIG($1)
fi
GCC=$lt_save_GCC
AC_LANG_RESTORE
CC=$lt_save_CC
CFLAGS=$lt_save_CFLAGS
])# _LT_LANG_RC_CONFIG
# LT_PROG_GCJ
# -----------
AC_DEFUN([LT_PROG_GCJ],
[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
[m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
[AC_CHECK_TOOL(GCJ, gcj,)
test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
AC_SUBST(GCJFLAGS)])])[]dnl
])
# Old name:
AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
# LT_PROG_GO
# ----------
AC_DEFUN([LT_PROG_GO],
[AC_CHECK_TOOL(GOC, gccgo,)
])
# LT_PROG_RC
# ----------
AC_DEFUN([LT_PROG_RC],
[AC_CHECK_TOOL(RC, windres,)
])
# Old name:
AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([LT_AC_PROG_RC], [])
# _LT_DECL_EGREP
# --------------
# If we don't have a new enough Autoconf to choose the best grep
# available, choose the one first in the user's PATH.
m4_defun([_LT_DECL_EGREP],
[AC_REQUIRE([AC_PROG_EGREP])dnl
AC_REQUIRE([AC_PROG_FGREP])dnl
test -z "$GREP" && GREP=grep
_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
_LT_DECL([], [EGREP], [1], [An ERE matcher])
_LT_DECL([], [FGREP], [1], [A literal string matcher])
dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
AC_SUBST([GREP])
])
# _LT_DECL_OBJDUMP
# --------------
# If we don't have a new enough Autoconf to choose the best objdump
# available, choose the one first in the user's PATH.
m4_defun([_LT_DECL_OBJDUMP],
[AC_CHECK_TOOL(OBJDUMP, objdump, false)
test -z "$OBJDUMP" && OBJDUMP=objdump
_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
AC_SUBST([OBJDUMP])
])
# _LT_DECL_DLLTOOL
# ----------------
# Ensure DLLTOOL variable is set.
m4_defun([_LT_DECL_DLLTOOL],
[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
test -z "$DLLTOOL" && DLLTOOL=dlltool
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
AC_SUBST([DLLTOOL])
])
# _LT_DECL_SED
# ------------
# Check for a fully-functional sed program, that truncates
# as few characters as possible. Prefer GNU sed if found.
m4_defun([_LT_DECL_SED],
[AC_PROG_SED
test -z "$SED" && SED=sed
Xsed="$SED -e 1s/^X//"
_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
[Sed that helps us avoid accidentally triggering echo(1) options like -n])
])# _LT_DECL_SED
m4_ifndef([AC_PROG_SED], [
############################################################
# NOTE: This macro has been submitted for inclusion into #
# GNU Autoconf as AC_PROG_SED. When it is available in #
# a released version of Autoconf we should remove this #
# macro and use it instead. #
############################################################
m4_defun([AC_PROG_SED],
[AC_MSG_CHECKING([for a sed that does not truncate output])
AC_CACHE_VAL(lt_cv_path_SED,
[# Loop through the user's path and test for sed and gsed.
# Then use that list of sed's as ones to test for truncation.
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for lt_ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
fi
done
done
done
IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
# along with /bin/sed that truncates output.
for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
test ! -f "$lt_ac_sed" && continue
cat /dev/null > conftest.in
lt_ac_count=0
echo $ECHO_N "0123456789$ECHO_C" >conftest.in
# Check for GNU sed and select it if it is found.
if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
lt_cv_path_SED=$lt_ac_sed
break
fi
while true; do
cat conftest.in conftest.in >conftest.tmp
mv conftest.tmp conftest.in
cp conftest.in conftest.nl
echo >>conftest.nl
$lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
cmp -s conftest.out conftest.nl || break
# 10000 chars as input seems more than enough
test 10 -lt "$lt_ac_count" && break
lt_ac_count=`expr $lt_ac_count + 1`
if test "$lt_ac_count" -gt "$lt_ac_max"; then
lt_ac_max=$lt_ac_count
lt_cv_path_SED=$lt_ac_sed
fi
done
done
])
SED=$lt_cv_path_SED
AC_SUBST([SED])
AC_MSG_RESULT([$SED])
])#AC_PROG_SED
])#m4_ifndef
# Old name:
AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([LT_AC_PROG_SED], [])
# _LT_CHECK_SHELL_FEATURES
# ------------------------
# Find out whether the shell is Bourne or XSI compatible,
# or has some other useful features.
m4_defun([_LT_CHECK_SHELL_FEATURES],
[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
lt_unset=unset
else
lt_unset=false
fi
_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
# test EBCDIC or ASCII
case `echo X|tr X '\101'` in
A) # ASCII based system
# \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
lt_SP2NL='tr \040 \012'
lt_NL2SP='tr \015\012 \040\040'
;;
*) # EBCDIC based system
lt_SP2NL='tr \100 \n'
lt_NL2SP='tr \r\n \100\100'
;;
esac
_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
])# _LT_CHECK_SHELL_FEATURES
# _LT_PATH_CONVERSION_FUNCTIONS
# -----------------------------
# Determine what file name conversion functions should be used by
# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
# for certain cross-compile configurations and native mingw.
m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_MSG_CHECKING([how to convert $build file names to $host format])
AC_CACHE_VAL(lt_cv_to_host_file_cmd,
[case $host in
*-*-mingw* )
case $build in
*-*-mingw* ) # actually msys
lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
;;
*-*-cygwin* )
lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
;;
* ) # otherwise, assume *nix
lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
;;
esac
;;
*-*-cygwin* )
case $build in
*-*-mingw* ) # actually msys
lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
;;
*-*-cygwin* )
lt_cv_to_host_file_cmd=func_convert_file_noop
;;
* ) # otherwise, assume *nix
lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
;;
esac
;;
* ) # unhandled hosts (and "normal" native builds)
lt_cv_to_host_file_cmd=func_convert_file_noop
;;
esac
])
to_host_file_cmd=$lt_cv_to_host_file_cmd
AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
[0], [convert $build file names to $host format])dnl
AC_MSG_CHECKING([how to convert $build file names to toolchain format])
AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
[#assume ordinary cross tools, or native build.
lt_cv_to_tool_file_cmd=func_convert_file_noop
case $host in
*-*-mingw* )
case $build in
*-*-mingw* ) # actually msys
lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
;;
esac
;;
esac
])
to_tool_file_cmd=$lt_cv_to_tool_file_cmd
AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
[0], [convert $build files to toolchain format])dnl
])# _LT_PATH_CONVERSION_FUNCTIONS
cddlib-0.94j/m4/ltoptions.m4 0000644 0001750 0001750 00000034262 13300566262 012611 0000000 0000000 # Helper functions for option handling. -*- Autoconf -*-
#
# Copyright (C) 2004-2005, 2007-2009, 2011-2017 Free Software
# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
# serial 8 ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
# ------------------------------------------
m4_define([_LT_MANGLE_OPTION],
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
# ---------------------------------------
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
# saved as a flag.
m4_define([_LT_SET_OPTION],
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
_LT_MANGLE_DEFUN([$1], [$2]),
[m4_warning([Unknown $1 option '$2'])])[]dnl
])
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
# ------------------------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
m4_define([_LT_IF_OPTION],
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
# -------------------------------------------------------
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
# are set.
m4_define([_LT_UNLESS_OPTIONS],
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
[m4_define([$0_found])])])[]dnl
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
])[]dnl
])
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
# ----------------------------------------
# OPTION-LIST is a space-separated list of Libtool options associated
# with MACRO-NAME. If any OPTION has a matching handler declared with
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
# the unknown option and exit.
m4_defun([_LT_SET_OPTIONS],
[# Set options
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
[_LT_SET_OPTION([$1], _LT_Option)])
m4_if([$1],[LT_INIT],[
dnl
dnl Simply set some default values (i.e off) if boolean options were not
dnl specified:
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
])
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
])
dnl
dnl If no reference was made to various pairs of opposing options, then
dnl we run the default mode handler for the pair. For example, if neither
dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
dnl archives by default:
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
[_LT_ENABLE_FAST_INSTALL])
_LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
[_LT_WITH_AIX_SONAME([aix])])
])
])# _LT_SET_OPTIONS
## --------------------------------- ##
## Macros to handle LT_INIT options. ##
## --------------------------------- ##
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
# -----------------------------------------
m4_define([_LT_MANGLE_DEFUN],
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
# -----------------------------------------------
m4_define([LT_OPTION_DEFINE],
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
])# LT_OPTION_DEFINE
# dlopen
# ------
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
])
AU_DEFUN([AC_LIBTOOL_DLOPEN],
[_LT_SET_OPTION([LT_INIT], [dlopen])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
put the 'dlopen' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
# win32-dll
# ---------
# Declare package support for building win32 dll's.
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
[enable_win32_dll=yes
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
;;
esac
test -z "$AS" && AS=as
_LT_DECL([], [AS], [1], [Assembler program])dnl
test -z "$DLLTOOL" && DLLTOOL=dlltool
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
test -z "$OBJDUMP" && OBJDUMP=objdump
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
])# win32-dll
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
_LT_SET_OPTION([LT_INIT], [win32-dll])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
put the 'win32-dll' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
# _LT_ENABLE_SHARED([DEFAULT])
# ----------------------------
# implement the --enable-shared flag, and supports the 'shared' and
# 'disable-shared' LT_INIT options.
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_SHARED],
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([shared],
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
[p=${PACKAGE-default}
case $enableval in
yes) enable_shared=yes ;;
no) enable_shared=no ;;
*)
enable_shared=no
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_shared=yes
fi
done
IFS=$lt_save_ifs
;;
esac],
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
_LT_DECL([build_libtool_libs], [enable_shared], [0],
[Whether or not to build shared libraries])
])# _LT_ENABLE_SHARED
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
# Old names:
AC_DEFUN([AC_ENABLE_SHARED],
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
])
AC_DEFUN([AC_DISABLE_SHARED],
[_LT_SET_OPTION([LT_INIT], [disable-shared])
])
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
# _LT_ENABLE_STATIC([DEFAULT])
# ----------------------------
# implement the --enable-static flag, and support the 'static' and
# 'disable-static' LT_INIT options.
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_STATIC],
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([static],
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
[p=${PACKAGE-default}
case $enableval in
yes) enable_static=yes ;;
no) enable_static=no ;;
*)
enable_static=no
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_static=yes
fi
done
IFS=$lt_save_ifs
;;
esac],
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
_LT_DECL([build_old_libs], [enable_static], [0],
[Whether or not to build static libraries])
])# _LT_ENABLE_STATIC
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
# Old names:
AC_DEFUN([AC_ENABLE_STATIC],
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
])
AC_DEFUN([AC_DISABLE_STATIC],
[_LT_SET_OPTION([LT_INIT], [disable-static])
])
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
# ----------------------------------
# implement the --enable-fast-install flag, and support the 'fast-install'
# and 'disable-fast-install' LT_INIT options.
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_FAST_INSTALL],
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([fast-install],
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
[p=${PACKAGE-default}
case $enableval in
yes) enable_fast_install=yes ;;
no) enable_fast_install=no ;;
*)
enable_fast_install=no
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
IFS=$lt_save_ifs
;;
esac],
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
_LT_DECL([fast_install], [enable_fast_install], [0],
[Whether or not to optimize for fast installation])dnl
])# _LT_ENABLE_FAST_INSTALL
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
# Old names:
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
the 'fast-install' option into LT_INIT's first parameter.])
])
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
the 'disable-fast-install' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
# _LT_WITH_AIX_SONAME([DEFAULT])
# ----------------------------------
# implement the --with-aix-soname flag, and support the `aix-soname=aix'
# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
m4_define([_LT_WITH_AIX_SONAME],
[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
shared_archive_member_spec=
case $host,$enable_shared in
power*-*-aix[[5-9]]*,yes)
AC_MSG_CHECKING([which variant of shared library versioning to provide])
AC_ARG_WITH([aix-soname],
[AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
[shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
[case $withval in
aix|svr4|both)
;;
*)
AC_MSG_ERROR([Unknown argument to --with-aix-soname])
;;
esac
lt_cv_with_aix_soname=$with_aix_soname],
[AC_CACHE_VAL([lt_cv_with_aix_soname],
[lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
with_aix_soname=$lt_cv_with_aix_soname])
AC_MSG_RESULT([$with_aix_soname])
if test aix != "$with_aix_soname"; then
# For the AIX way of multilib, we name the shared archive member
# based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
# and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
# Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
# the AIX toolchain works better with OBJECT_MODE set (default 32).
if test 64 = "${OBJECT_MODE-32}"; then
shared_archive_member_spec=shr_64
else
shared_archive_member_spec=shr
fi
fi
;;
*)
with_aix_soname=aix
;;
esac
_LT_DECL([], [shared_archive_member_spec], [0],
[Shared archive member basename, for filename based shared library versioning on AIX])dnl
])# _LT_WITH_AIX_SONAME
LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
# _LT_WITH_PIC([MODE])
# --------------------
# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
# LT_INIT options.
# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
m4_define([_LT_WITH_PIC],
[AC_ARG_WITH([pic],
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
[lt_p=${PACKAGE-default}
case $withval in
yes|no) pic_mode=$withval ;;
*)
pic_mode=default
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do
IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes
fi
done
IFS=$lt_save_ifs
;;
esac],
[pic_mode=m4_default([$1], [default])])
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
])# _LT_WITH_PIC
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
# Old name:
AU_DEFUN([AC_LIBTOOL_PICMODE],
[_LT_SET_OPTION([LT_INIT], [pic-only])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
put the 'pic-only' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
## ----------------- ##
## LTDL_INIT Options ##
## ----------------- ##
m4_define([_LTDL_MODE], [])
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
[m4_define([_LTDL_MODE], [nonrecursive])])
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
[m4_define([_LTDL_MODE], [recursive])])
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
[m4_define([_LTDL_MODE], [subproject])])
m4_define([_LTDL_TYPE], [])
LT_OPTION_DEFINE([LTDL_INIT], [installable],
[m4_define([_LTDL_TYPE], [installable])])
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
[m4_define([_LTDL_TYPE], [convenience])])
cddlib-0.94j/m4/ltsugar.m4 0000644 0001750 0001750 00000010440 13300566262 012227 0000000 0000000 # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
# Copyright (C) 2004-2005, 2007-2008, 2011-2017 Free Software
# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
# serial 6 ltsugar.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
# lt_join(SEP, ARG1, [ARG2...])
# -----------------------------
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
# associated separator.
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
# versions in m4sugar had bugs.
m4_define([lt_join],
[m4_if([$#], [1], [],
[$#], [2], [[$2]],
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
m4_define([_lt_join],
[m4_if([$#$2], [2], [],
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
# lt_car(LIST)
# lt_cdr(LIST)
# ------------
# Manipulate m4 lists.
# These macros are necessary as long as will still need to support
# Autoconf-2.59, which quotes differently.
m4_define([lt_car], [[$1]])
m4_define([lt_cdr],
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
[$#], 1, [],
[m4_dquote(m4_shift($@))])])
m4_define([lt_unquote], $1)
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
# ------------------------------------------
# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
# Note that neither SEPARATOR nor STRING are expanded; they are appended
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
# than defined and empty).
#
# This macro is needed until we can rely on Autoconf 2.62, since earlier
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
m4_define([lt_append],
[m4_define([$1],
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
# ----------------------------------------------------------
# Produce a SEP delimited list of all paired combinations of elements of
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
# has the form PREFIXmINFIXSUFFIXn.
# Needed until we can rely on m4_combine added in Autoconf 2.62.
m4_define([lt_combine],
[m4_if(m4_eval([$# > 3]), [1],
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
[[m4_foreach([_Lt_prefix], [$2],
[m4_foreach([_Lt_suffix],
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
# -----------------------------------------------------------------------
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
m4_define([lt_if_append_uniq],
[m4_ifdef([$1],
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
[lt_append([$1], [$2], [$3])$4],
[$5])],
[lt_append([$1], [$2], [$3])$4])])
# lt_dict_add(DICT, KEY, VALUE)
# -----------------------------
m4_define([lt_dict_add],
[m4_define([$1($2)], [$3])])
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
# --------------------------------------------
m4_define([lt_dict_add_subkey],
[m4_define([$1($2:$3)], [$4])])
# lt_dict_fetch(DICT, KEY, [SUBKEY])
# ----------------------------------
m4_define([lt_dict_fetch],
[m4_ifval([$3],
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
# -----------------------------------------------------------------
m4_define([lt_if_dict_fetch],
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
[$5],
[$6])])
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
# --------------------------------------------------------------
m4_define([lt_dict_filter],
[m4_if([$5], [], [],
[lt_join(m4_quote(m4_default([$4], [[, ]])),
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
])
cddlib-0.94j/m4/ltversion.m4 0000644 0001750 0001750 00000001335 13300566262 012576 0000000 0000000 # ltversion.m4 -- version numbers -*- Autoconf -*-
#
# Copyright (C) 2004, 2011-2017 Free Software Foundation, Inc.
# Written by Scott James Remnant, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
# @configure_input@
# serial 4219 ltversion.m4
# This file is part of GNU Libtool
m4_define([LT_PACKAGE_VERSION], [2.4.6.40-6ca5-dirty])
m4_define([LT_PACKAGE_REVISION], [2.4.6.40])
AC_DEFUN([LTVERSION_VERSION],
[macro_version='2.4.6.40-6ca5-dirty'
macro_revision='2.4.6.40'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
cddlib-0.94j/m4/lt~obsolete.m4 0000644 0001750 0001750 00000013774 13300566262 013135 0000000 0000000 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
#
# Copyright (C) 2004-2005, 2007, 2009, 2011-2017 Free Software
# Foundation, Inc.
# Written by Scott James Remnant, 2004.
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
# serial 5 lt~obsolete.m4
# These exist entirely to fool aclocal when bootstrapping libtool.
#
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
# which have later been changed to m4_define as they aren't part of the
# exported API, or moved to Autoconf or Automake where they belong.
#
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
# using a macro with the same name in our local m4/libtool.m4 it'll
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
# and doesn't know about Autoconf macros at all.)
#
# So we provide this file, which has a silly filename so it's always
# included after everything else. This provides aclocal with the
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
# because those macros already exist, or will be overwritten later.
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
#
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
# Yes, that means every name once taken will need to remain here until
# we give up compatibility with versions before 1.7, at which point
# we need to keep only those names which we still refer to.
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
cddlib-0.94j/Makefile.am 0000644 0001750 0001750 00000001130 13300566366 012021 0000000 0000000 # Directories where we can build something.
SUBDIRS = doc lib-src src
# Install the examples into /usr/share/doc/cddlib/examples*
nobase_doc_DATA = $(srcdir)/examples/* $(srcdir)/examples-ine/* $(srcdir)/examples-ine3d/* $(srcdir)/examples-ext/*
# Additional bits that should be part of the released tarball.
EXTRA_DIST = $(nobase_doc_DATA) $(srcdir)/README.core2processor $(srcdir)/bootstrap
ACLOCAL_AMFLAGS = -I m4
# All localdebug should be disabled before we package a releasable tarball
distcheck-hook:
! find $(srcdir) -type f -print0 | xargs -0 $(EGREP) 'localdebug *= *dd_TRUE'
cddlib-0.94j/configure 0000755 0001750 0001750 00001524573 13307421344 011713 0000000 0000000 #! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for cddlib 0.94j.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
&& (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='print -r --'
as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='printf %s\n'
as_echo_n='printf %s'
else
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
as_echo_n='/usr/ucb/echo -n'
else
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
as_echo_n_body='eval
arg=$1;
case $arg in #(
*"$as_nl"*)
expr "X$arg" : "X\\(.*\\)$as_nl";
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
esac;
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
'
export as_echo_n_body
as_echo_n='sh -c $as_echo_n_body as_echo'
fi
export as_echo_body
as_echo='sh -c $as_echo_body as_echo'
fi
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# IFS
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there. '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# Use a proper internal environment variable to ensure we don't fall
# into an infinite loop, continuously re-executing ourselves.
if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
_as_can_reexec=no; export _as_can_reexec;
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
as_fn_exit 255
fi
# We don't want this to propagate to other subprocesses.
{ _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
# is contrary to our usage. Disable this feature.
alias -g '\${1+\"\$@\"}'='\"\$@\"'
setopt NO_GLOB_SUBST
else
case \`(set -o) 2>/dev/null\` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
"
as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }
exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
else
exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1
test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
PATH=/empty FPATH=/empty; export PATH FPATH
test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
|| test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
if (eval "$as_required") 2>/dev/null; then :
as_have_required=yes
else
as_have_required=no
fi
if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
as_found=:
case $as_dir in #(
/*)
for as_base in sh bash ksh sh5; do
# Try only shells that exist, to save several forks.
as_shell=$as_dir/$as_base
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
{ $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
CONFIG_SHELL=$as_shell as_have_required=yes
if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
break 2
fi
fi
done;;
esac
as_found=false
done
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
{ $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
CONFIG_SHELL=$SHELL as_have_required=yes
fi; }
IFS=$as_save_IFS
if test "x$CONFIG_SHELL" != x; then :
export CONFIG_SHELL
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
if test x$as_have_required = xno; then :
$as_echo "$0: This script requires a shell more modern than all"
$as_echo "$0: the shells that I found on your system."
if test x${ZSH_VERSION+set} = xset ; then
$as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
$as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
$0: including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
fi
exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS
## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
$as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
$as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
as_lineno_1=$LINENO as_lineno_1a=$LINENO
as_lineno_2=$LINENO as_lineno_2a=$LINENO
eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
# Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
sed -n '
p
/[$]LINENO/=
' <$as_myself |
sed '
s/[$]LINENO.*/&-/
t lineno
b
:lineno
N
:loop
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
# If we had to re-execute with $CONFIG_SHELL, we're ensured to have
# already done that, so ensure we don't try to do so again and fall
# in an infinite loop. This has already happened in practice.
_as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
. "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
SHELL=${CONFIG_SHELL-/bin/sh}
test -n "$DJDIR" || exec 7<&0 &1
# Name of the host.
# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='cddlib'
PACKAGE_TARNAME='cddlib'
PACKAGE_VERSION='0.94j'
PACKAGE_STRING='cddlib 0.94j'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
# Factoring default headers for most tests.
ac_includes_default="\
#include
#ifdef HAVE_SYS_TYPES_H
# include
#endif
#ifdef HAVE_SYS_STAT_H
# include
#endif
#ifdef STDC_HEADERS
# include
# include
#else
# ifdef HAVE_STDLIB_H
# include
# endif
#endif
#ifdef HAVE_STRING_H
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# include
# endif
# include
#endif
#ifdef HAVE_STRINGS_H
# include
#endif
#ifdef HAVE_INTTYPES_H
# include
#endif
#ifdef HAVE_STDINT_H
# include
#endif
#ifdef HAVE_UNISTD_H
# include
#endif"
ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
PS_FALSE
PS_TRUE
dvips
HTML_FALSE
HTML_TRUE
latex2html
PDF_FALSE
PDF_TRUE
pdflatex
LATEX_FALSE
LATEX_TRUE
latex
GMP_FALSE
GMP_TRUE
CDD_LDFLAGS
CPP
LT_SYS_LIBRARY_PATH
OTOOL64
OTOOL
LIPO
NMEDIT
DSYMUTIL
MANIFEST_TOOL
RANLIB
ac_ct_AR
AR
LN_S
NM
ac_ct_DUMPBIN
DUMPBIN
LD
FGREP
SED
host_os
host_vendor
host_cpu
host
build_os
build_vendor
build_cpu
build
LIBTOOL
OBJDUMP
DLLTOOL
AS
EGREP
GREP
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
am__nodep
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
am__quote
am__include
DEPDIR
OBJEXT
EXEEXT
ac_ct_CC
CPPFLAGS
LDFLAGS
CFLAGS
CC
AM_BACKSLASH
AM_DEFAULT_VERBOSITY
AM_DEFAULT_V
AM_V
am__untar
am__tar
AMTAR
am__leading_dot
SET_MAKE
AWK
mkdir_p
MKDIR_P
INSTALL_STRIP_PROGRAM
STRIP
install_sh
MAKEINFO
AUTOHEADER
AUTOMAKE
AUTOCONF
ACLOCAL
VERSION
PACKAGE
CYGPATH_W
am__isrc
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
libcdd_version_info
target_alias
host_alias
build_alias
LIBS
ECHO_T
ECHO_N
ECHO_C
DEFS
mandir
localedir
libdir
psdir
pdfdir
dvidir
htmldir
infodir
docdir
oldincludedir
includedir
localstatedir
sharedstatedir
sysconfdir
datadir
datarootdir
libexecdir
sbindir
bindir
program_transform_name
prefix
exec_prefix
PACKAGE_URL
PACKAGE_BUGREPORT
PACKAGE_STRING
PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_silent_rules
enable_dependency_tracking
enable_shared
enable_static
with_pic
enable_fast_install
with_aix_soname
with_gnu_ld
with_sysroot
enable_libtool_lock
'
ac_precious_vars='build_alias
host_alias
target_alias
CC
CFLAGS
LDFLAGS
LIBS
CPPFLAGS
LT_SYS_LIBRARY_PATH
CPP'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
ac_unrecognized_opts=
ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE
# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datarootdir='${prefix}/share'
datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
mandir='${datarootdir}/man'
ac_prev=
ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval $ac_prev=\$ac_option
ac_prev=
continue
fi
case $ac_option in
*=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
*=) ac_optarg= ;;
*) ac_optarg=yes ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
case $ac_dashdash$ac_option in
--)
ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir=$ac_optarg ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build_alias ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build_alias=$ac_optarg ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file=$ac_optarg ;;
--config-cache | -C)
cache_file=config.cache ;;
-datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
-datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
| --dataroo | --dataro | --datar)
ac_prev=datarootdir ;;
-datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
| --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
-docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
docdir=$ac_optarg ;;
-dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
ac_prev=dvidir ;;
-dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix=$ac_optarg ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he | -h)
ac_init_help=long ;;
-help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
ac_init_help=recursive ;;
-help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
ac_init_help=short ;;
-host | --host | --hos | --ho)
ac_prev=host_alias ;;
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
-htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
ac_prev=htmldir ;;
-htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
| --ht=*)
htmldir=$ac_optarg ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir=$ac_optarg ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir=$ac_optarg ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir=$ac_optarg ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localedir | --localedir | --localedi | --localed | --locale)
ac_prev=localedir ;;
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
localedir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir=$ac_optarg ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c | -n)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir=$ac_optarg ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix=$ac_optarg ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix=$ac_optarg ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix=$ac_optarg ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
ac_prev=pdfdir ;;
-pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
pdfdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
-psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
psdir=$ac_optarg ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir=$ac_optarg ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir=$ac_optarg ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site=$ac_optarg ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir=$ac_optarg ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir=$ac_optarg ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target_alias ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target_alias=$ac_optarg ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers | -V)
ac_init_version=: ;;
-with-* | --with-*)
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes=$ac_optarg ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
-*) as_fn_error $? "unrecognized option: \`$ac_option'
Try \`$0 --help' for more information"
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
as_fn_error $? "missing argument to $ac_option"
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
case $ac_val in
*/ )
ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
eval $ac_var=\$ac_val;;
esac
# Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
host=$host_alias
target=$target_alias
# FIXME: To remove some day.
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
fi
ac_tool_prefix=
test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
ac_confdir=`$as_dirname -- "$as_myself" ||
$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_myself" : 'X\(//\)[^/]' \| \
X"$as_myself" : 'X\(//\)$' \| \
X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
srcdir=$ac_confdir
if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
srcdir=.
fi
# Remove unnecessary trailing slashes from srcdir.
# Double slashes in file names in object file debugging info
# mess up M-x gdb in Emacs.
case $srcdir in
*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
esac
for ac_var in $ac_precious_vars; do
eval ac_env_${ac_var}_set=\${${ac_var}+set}
eval ac_env_${ac_var}_value=\$${ac_var}
eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
eval ac_cv_env_${ac_var}_value=\$${ac_var}
done
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures cddlib 0.94j to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/cddlib]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM run sed PROGRAM on installed program names
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
_ACEOF
fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of cddlib 0.94j:";;
esac
cat <<\_ACEOF
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-silent-rules less verbose build output (undo: "make V=1")
--disable-silent-rules verbose build output (undo: "make V=0")
--enable-dependency-tracking
do not reject slow dependency extractors
--disable-dependency-tracking
speeds up one-time build
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
--with-aix-soname=aix|svr4|both
shared library versioning (aka "SONAME") variant to
provide on AIX, [default=aix].
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-sysroot[=DIR] Search for dependent libraries within DIR (or the
compiler's sysroot if not specified).
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L if you have libraries in a
nonstandard directory
LIBS libraries to pass to the linker, e.g. -l
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
you have headers in a nonstandard directory
LT_SYS_LIBRARY_PATH
User-defined run-time library search path.
CPP C preprocessor
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to the package provider.
_ACEOF
ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
test -d "$ac_dir" ||
{ cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
cd "$ac_dir" || { ac_status=$?; continue; }
# Check for guested configure.
if test -f "$ac_srcdir/configure.gnu"; then
echo &&
$SHELL "$ac_srcdir/configure.gnu" --help=recursive
elif test -f "$ac_srcdir/configure"; then
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
$as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
cddlib configure 0.94j
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
exit
fi
## ------------------------ ##
## Autoconf initialization. ##
## ------------------------ ##
# ac_fn_c_try_compile LINENO
# --------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
# ac_fn_c_try_link LINENO
# -----------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_link ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest$ac_exeext
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
test -x conftest$ac_exeext
}; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
# Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
# created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_link
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists and can be compiled using the include files in
# INCLUDES, setting the cache variable VAR accordingly.
ac_fn_c_check_header_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
#include <$2>
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
eval "$3=yes"
else
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_compile
# ac_fn_c_try_cpp LINENO
# ----------------------
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_cpp ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { { ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } > conftest.i && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp
# ac_fn_c_try_run LINENO
# ----------------------
# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
# that executables *can* be run.
ac_fn_c_try_run ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
ac_retval=0
else
$as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=$ac_status
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_run
# ac_fn_c_check_func LINENO FUNC VAR
# ----------------------------------
# Tests whether FUNC exists, setting the cache variable VAR accordingly
ac_fn_c_check_func ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Define $2 to an innocuous variant, in case declares $2.
For example, HP-UX 11i declares gettimeofday. */
#define $2 innocuous_$2
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $2 (); below.
Prefer to if __STDC__ is defined, since
exists even on freestanding compilers. */
#ifdef __STDC__
# include
#else
# include
#endif
#undef $2
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char $2 ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined __stub_$2 || defined __stub___$2
choke me
#endif
int
main ()
{
return $2 ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
eval "$3=yes"
else
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_func
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by cddlib $as_me 0.94j, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
_ACEOF
exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##
hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
_ASUNAME
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
$as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS
} >&5
cat >&5 <<_ACEOF
## ----------- ##
## Core tests. ##
## ----------- ##
_ACEOF
# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_must_keep_next=false
for ac_pass in 1 2
do
for ac_arg
do
case $ac_arg in
-no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2)
as_fn_append ac_configure_args1 " '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
case $ac_arg in
*=* | --config-cache | -C | -disable-* | --disable-* \
| -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
| -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
| -with-* | --with-* | -without-* | --without-* | --x)
case "$ac_configure_args0 " in
"$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
esac
;;
-* ) ac_must_keep_next=true ;;
esac
fi
as_fn_append ac_configure_args " '$ac_arg'"
;;
esac
done
done
{ ac_configure_args0=; unset ac_configure_args0;}
{ ac_configure_args1=; unset ac_configure_args1;}
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
echo
$as_echo "## ---------------- ##
## Cache variables. ##
## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
(
for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
sed -n \
"s/'\''/'\''\\\\'\'''\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
;; #(
*)
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
)
echo
$as_echo "## ----------------- ##
## Output variables. ##
## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
$as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
$as_echo "## ------------------- ##
## File substitutions. ##
## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
$as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
$as_echo "## ----------- ##
## confdefs.h. ##
## ----------- ##"
echo
cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
$as_echo "$as_me: caught signal $ac_signal"
$as_echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h
$as_echo "/* confdefs.h */" > confdefs.h
# Predefined preprocessor variables.
cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_URL "$PACKAGE_URL"
_ACEOF
# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
# We do not want a PATH search for config.site.
case $CONFIG_SITE in #((
-*) ac_site_file1=./$CONFIG_SITE;;
*/*) ac_site_file1=$CONFIG_SITE;;
*) ac_site_file1=./$CONFIG_SITE;;
esac
elif test "x$prefix" != xNONE; then
ac_site_file1=$prefix/share/config.site
ac_site_file2=$prefix/etc/config.site
else
ac_site_file1=$ac_default_prefix/share/config.site
ac_site_file2=$ac_default_prefix/etc/config.site
fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
test "x$ac_site_file" = xNONE && continue
if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file" \
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
fi
done
if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special files
# actually), so we avoid doing that. DJGPP emulates it as a regular file.
if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
eval ac_old_val=\$ac_cv_env_${ac_var}_value
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
# differences in whitespace do not lead to failure.
ac_old_val_w=`echo x $ac_old_val`
ac_new_val_w=`echo x $ac_new_val`
if test "$ac_old_val_w" != "$ac_new_val_w"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
ac_cache_corrupted=:
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
eval $ac_var=\$ac_old_val
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
*\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
*) as_fn_append ac_configure_args " '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
## -------------------- ##
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
libcdd_version_info=0:0:0
am__api_version='1.15'
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
if test -f "$ac_dir/install-sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
elif test -f "$ac_dir/install.sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
elif test -f "$ac_dir/shtool"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/shtool install -c"
break
fi
done
if test -z "$ac_aux_dir"; then
as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
# SysV /etc/install, /usr/sbin/install
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
# AmigaOS /C/install, which installs bootblocks on floppy discs
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
# Reject install programs that cannot install multiple files.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if ${ac_cv_path_install+:} false; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
# Account for people who put trailing slashes in PATH elements.
case $as_dir/ in #((
./ | .// | /[cC]/* | \
/etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
/usr/ucb/* ) ;;
*)
# OSF1 and SCO ODT 3.0 have their own names for install.
# Don't use installbsd from OSF since it installs stuff as root
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
:
elif test $ac_prog = install &&
grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# program-specific install script used by HP pwplus--don't use.
:
else
rm -rf conftest.one conftest.two conftest.dir
echo one > conftest.one
echo two > conftest.two
mkdir conftest.dir
if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
test -s conftest.one && test -s conftest.two &&
test -s conftest.dir/conftest.one &&
test -s conftest.dir/conftest.two
then
ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
break 3
fi
fi
fi
done
done
;;
esac
done
IFS=$as_save_IFS
rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_cv_path_install
else
# As a last resort, use the slow shell script. Don't cache a
# value for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
INSTALL=$ac_install_sh
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
$as_echo "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
$as_echo_n "checking whether build environment is sane... " >&6; }
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
'
case `pwd` in
*[\\\"\#\$\&\'\`$am_lf]*)
as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
esac
case $srcdir in
*[\\\"\#\$\&\'\`$am_lf\ \ ]*)
as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
esac
# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
am_has_slept=no
for am_try in 1 2; do
echo "timestamp, slept: $am_has_slept" > conftest.file
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$*" = "X"; then
# -L didn't work.
set X `ls -t "$srcdir/configure" conftest.file`
fi
if test "$*" != "X $srcdir/configure conftest.file" \
&& test "$*" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
alias in your environment" "$LINENO" 5
fi
if test "$2" = conftest.file || test $am_try -eq 2; then
break
fi
# Just in case.
sleep 1
am_has_slept=yes
done
test "$2" = conftest.file
)
then
# Ok.
:
else
as_fn_error $? "newly created file is older than distributed files!
Check your system clock" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
# If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer.
am_sleep_pid=
if grep 'slept: no' conftest.file >/dev/null 2>&1; then
( sleep 1 ) &
am_sleep_pid=$!
fi
rm -f conftest.file
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $.
# By default was `s,x,x', remove it if useless.
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# Expand $ac_aux_dir to an absolute path.
am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
*)
MISSING="\${SHELL} $am_aux_dir/missing" ;;
esac
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
am_missing_run="$MISSING "
else
am_missing_run=
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
*)
install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
fi
# Installed binaries are usually stripped using 'strip' when the user
# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the 'STRIP' environment variable to overrule this program.
if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
STRIP=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
fi
else
STRIP="$ac_cv_prog_STRIP"
fi
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
if ${ac_cv_path_mkdir+:} false; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in mkdir gmkdir; do
for ac_exec_ext in '' $ac_executable_extensions; do
as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
'mkdir (GNU coreutils) '* | \
'mkdir (coreutils) '* | \
'mkdir (fileutils) '4.1*)
ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
break 3;;
esac
done
done
done
IFS=$as_save_IFS
fi
test -d ./--version && rmdir ./--version
if test "${ac_cv_path_mkdir+set}" = set; then
MKDIR_P="$ac_cv_path_mkdir -p"
else
# As a last resort, use the slow shell script. Don't cache a
# value for MKDIR_P within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
MKDIR_P="$ac_install_sh -d"
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
$as_echo "$MKDIR_P" >&6; }
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AWK+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
$as_echo "$AWK" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$AWK" && break
done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
*)
eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
SET_MAKE=
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
# Check whether --enable-silent-rules was given.
if test "${enable_silent_rules+set}" = set; then :
enableval=$enable_silent_rules;
fi
case $enable_silent_rules in # (((
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=1;;
esac
am_make=${MAKE-make}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
if ${am_cv_make_support_nested_variables+:} false; then :
$as_echo_n "(cached) " >&6
else
if $as_echo 'TRUE=$(BAR$(V))
BAR0=false
BAR1=true
V=1
am__doit:
@$(TRUE)
.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
am_cv_make_support_nested_variables=yes
else
am_cv_make_support_nested_variables=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
$as_echo "$am_cv_make_support_nested_variables" >&6; }
if test $am_cv_make_support_nested_variables = yes; then
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
AM_V=$AM_DEFAULT_VERBOSITY
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
AM_BACKSLASH='\'
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
fi
fi
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
# Define the identity of the package.
PACKAGE='cddlib'
VERSION='0.94j'
cat >>confdefs.h <<_ACEOF
#define PACKAGE "$PACKAGE"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define VERSION "$VERSION"
_ACEOF
# Some tools Automake needs.
ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
#
#
mkdir_p='$(MKDIR_P)'
# We need awk for the "check" target (and possibly the TAP driver). The
# system "awk" is bad on some platforms.
# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AMTAR='$${TAR-tar}'
# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar pax cpio none'
am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
# POSIX will say in a future version that running "rm -f" with no argument
# is OK; and we want to be able to make that assumption in our Makefile
# recipes. So use an aggressive probe to check that the usage we want is
# actually supported "in the wild" to an acceptable degree.
# See automake bug#10828.
# To make any issue more visible, cause the running configure to be aborted
# by default if the 'rm' program in use doesn't match our expectations; the
# user can still override this though.
if rm -f && rm -fr && rm -rf; then : OK; else
cat >&2 <<'END'
Oops!
Your 'rm' program seems unable to run without file operands specified
on the command line, even when the '-f' option is present. This is contrary
to the behaviour of most rm programs out there, and not conforming with
the upcoming POSIX standard:
Please tell bug-automake@gnu.org about your system, including the value
of your $PATH and any error possibly output before this message. This
can help us improve future automake versions.
END
if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
echo 'Configuration will proceed anyway, since you have set the' >&2
echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
echo >&2
else
cat >&2 <<'END'
Aborting the configuration process, to ensure you take notice of the issue.
You can download and install GNU coreutils to get an 'rm' implementation
that behaves properly: .
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
to "yes", and re-run configure.
END
as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
fi
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
ac_prog_rejected=no
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
set dummy $ac_cv_prog_CC
shift
if test $# != 0; then
# We chose a different compiler from the bogus one.
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$ac_ct_CC" && break
done
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
fi
fi
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
for ac_option in --version -v -V -qversion; do
{ { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
sed '10a\
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
fi
rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
$as_echo_n "checking whether the C compiler works... " >&6; }
ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files:
ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
* ) ac_rmfiles="$ac_rmfiles $ac_file";;
esac
done
rm -f $ac_rmfiles
if { { ac_try="$ac_link_default"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then :
# Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
# in a Makefile. We should not override ac_cv_exeext if it was cached,
# so that the user can short-circuit this test for compilers unknown to
# Autoconf.
for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
then :; else
ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
fi
# We set ac_cv_exeext here because the later test for it is not
# safe: cross compilers may not add the suffix if given an `-o'
# argument, so we may need to know it at that point already.
# Even if this section looks crufty: it has the advantage of
# actually working.
break;;
* )
break;;
esac
done
test "$ac_cv_exeext" = no && ac_cv_exeext=
else
ac_file=''
fi
if test -z "$ac_file"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
See \`config.log' for more details" "$LINENO" 5; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
$as_echo_n "checking for C compiler default output file name... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
$as_echo_n "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then :
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
# `rm'.
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main ()
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
;
return 0;
}
_ACEOF
ac_clean_files="$ac_clean_files conftest.out"
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
{ { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if { ac_try='./conftest$ac_cv_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
if ${ac_cv_objext+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.o conftest.obj
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then :
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of object files: cannot compile
See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
if ${ac_cv_c_compiler_gnu+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_compiler_gnu=yes
else
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
$as_echo "$ac_cv_c_compiler_gnu" >&6; }
if test $ac_compiler_gnu = yes; then
GCC=yes
else
GCC=
fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
if ${ac_cv_prog_cc_g+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_prog_cc_g=yes
else
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
else
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-g"
fi
else
if test "$GCC" = yes; then
CFLAGS="-O2"
else
CFLAGS=
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
if ${ac_cv_prog_cc_c89+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
struct stat;
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
static char *e (p, i)
char **p;
int i;
{
return p[i];
}
static char *f (char * (*g) (char **, int), char **p, ...)
{
char *s;
va_list v;
va_start (v,p);
s = g (p, va_arg (v,int));
va_end (v);
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
as 'x'. The following induces an error, until -std is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
that's true only with -std. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
inside strings and character constants. */
#define FOO(x) 'x'
int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
int argc;
char **argv;
int
main ()
{
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
;
return 0;
}
_ACEOF
for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_prog_cc_c89=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
# AC_CACHE_VAL
case "x$ac_cv_prog_cc_c89" in
x)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
$as_echo "none needed" >&6; } ;;
xno)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
$as_echo "unsupported" >&6; } ;;
*)
CC="$CC $ac_cv_prog_cc_c89"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
if test "x$ac_cv_prog_cc_c89" != xno; then :
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
if ${am_cv_prog_cc_c_o+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
# Make sure it works both with $CC and with simple cc.
# Following AC_PROG_CC_C_O, we do the test twice because some
# compilers refuse to overwrite an existing .o file with -o,
# though they will create one.
am_cv_prog_cc_c_o=yes
for am_i in 1 2; do
if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } \
&& test -f conftest2.$ac_objext; then
: OK
else
am_cv_prog_cc_c_o=no
break
fi
done
rm -f core conftest*
unset am_i
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
$as_echo "$am_cv_prog_cc_c_o" >&6; }
if test "$am_cv_prog_cc_c_o" != yes; then
# Losing compiler, so override with the script.
# FIXME: It is wrong to rewrite CC.
# But if we don't then we get into trouble of one sort or another.
# A longer-term fix would be to have automake use am__CC in this case,
# and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
CC="$am_aux_dir/compile $CC"
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
@echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# Ignore all kinds of additional output from 'make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=include
am__quote=
_am_result=GNU
;;
esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=.include
am__quote="\""
_am_result=BSD
;;
esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
$as_echo "$_am_result" >&6; }
rm -f confinc confmf
# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then :
enableval=$enable_dependency_tracking;
fi
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
am__nodep='_no'
fi
if test "x$enable_dependency_tracking" != xno; then
AMDEP_TRUE=
AMDEP_FALSE='#'
else
AMDEP_TRUE='#'
AMDEP_FALSE=
fi
depcc="$CC" am_compiler_list=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
$as_echo_n "checking dependency style of $depcc... " >&6; }
if ${am_cv_CC_dependencies_compiler_type+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named 'D' -- because '-MD' means "put the output
# in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_CC_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi
am__universal=false
case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
# Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
# Solaris 10 /bin/sh.
echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
# We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
# handle '-M -o', and we need to detect this. Also, some Intel
# versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
gcc)
# This depmode causes a compiler race in universal mode.
test "$am__universal" = false || continue
;;
nosideeffect)
# After this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
# This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
am__minus_obj=
;;
none) break ;;
esac
if depmode=$depmode \
source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_CC_dependencies_compiler_type=$depmode
break
fi
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_CC_dependencies_compiler_type=none
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
am__fastdepCC_TRUE=
am__fastdepCC_FALSE='#'
else
am__fastdepCC_TRUE='#'
am__fastdepCC_FALSE=
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
if ${ac_cv_path_GREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
ac_path_GREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_GREP" || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
$as_echo 'GREP' >> "conftest.nl"
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_GREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_GREP="$ac_path_GREP"
ac_path_GREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_GREP_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_GREP=$GREP
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
$as_echo "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
if ${ac_cv_path_EGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
then ac_cv_path_EGREP="$GREP -E"
else
if test -z "$EGREP"; then
ac_path_EGREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_EGREP" || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
$as_echo 'EGREP' >> "conftest.nl"
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_EGREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_EGREP="$ac_path_EGREP"
ac_path_EGREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_EGREP_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_EGREP=$EGREP
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
$as_echo "$ac_cv_path_EGREP" >&6; }
EGREP="$ac_cv_path_EGREP"
case `pwd` in
*\ * | *\ *)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
esac
macro_version='2.4.6.40-6ca5-dirty'
macro_revision='2.4.6.40'
ltmain=$ac_aux_dir/ltmain.sh
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
if ${ac_cv_build+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_build
shift
build_cpu=$1
build_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
build_os=$*
IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
if ${ac_cv_host+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_host
shift
host_cpu=$1
host_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
host_os=$*
IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
# Backslashify metacharacters that are still active within
# double-quoted strings.
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
# Same as above, but do not quote variable references.
double_quote_subst='s/\(["`\\]\)/\\\1/g'
# Sed substitution to delay expansion of an escaped shell variable in a
# double_quote_subst'ed string.
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
# Sed substitution to delay expansion of an escaped single quote.
delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
# Sed substitution to avoid accidental globbing in evaled expressions
no_glob_subst='s/\*/\\\*/g'
ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='printf %s\n'
else
# Use this function as a fallback that always works.
func_fallback_echo ()
{
eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
ECHO='func_fallback_echo'
fi
# func_echo_all arg...
# Invoke $ECHO with all args, space-separated.
func_echo_all ()
{
$ECHO ""
}
case $ECHO in
printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
$as_echo "printf" >&6; } ;;
print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
$as_echo "print -r" >&6; } ;;
*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
$as_echo "cat" >&6; } ;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
$as_echo_n "checking for a sed that does not truncate output... " >&6; }
if ${ac_cv_path_SED+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
for ac_i in 1 2 3 4 5 6 7; do
ac_script="$ac_script$as_nl$ac_script"
done
echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
{ ac_script=; unset ac_script;}
if test -z "$SED"; then
ac_path_SED_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_SED" || continue
# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
case `"$ac_path_SED" --version 2>&1` in
*GNU*)
ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
$as_echo '' >> "conftest.nl"
"$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_SED_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_SED="$ac_path_SED"
ac_path_SED_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_SED_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_SED"; then
as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
fi
else
ac_cv_path_SED=$SED
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
$as_echo "$ac_cv_path_SED" >&6; }
SED="$ac_cv_path_SED"
rm -f conftest.sed
test -z "$SED" && SED=sed
Xsed="$SED -e 1s/^X//"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
$as_echo_n "checking for fgrep... " >&6; }
if ${ac_cv_path_FGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
then ac_cv_path_FGREP="$GREP -F"
else
if test -z "$FGREP"; then
ac_path_FGREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in fgrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_FGREP" || continue
# Check for GNU ac_path_FGREP and select it if it is found.
# Check for GNU $ac_path_FGREP
case `"$ac_path_FGREP" --version 2>&1` in
*GNU*)
ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
$as_echo 'FGREP' >> "conftest.nl"
"$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_FGREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_FGREP="$ac_path_FGREP"
ac_path_FGREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_FGREP_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_FGREP"; then
as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_FGREP=$FGREP
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
$as_echo "$ac_cv_path_FGREP" >&6; }
FGREP="$ac_cv_path_FGREP"
test -z "$GREP" && GREP=grep
# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then :
withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
else
with_gnu_ld=no
fi
ac_prog=ld
if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
esac
case $ac_prog in
# Accept absolute paths.
[\\/]* | ?:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
# Canonicalize the pathname of ld
ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
test -z "$LD" && LD=$ac_prog
;;
"")
# If it fails, then pretend we aren't using GCC.
ac_prog=ld
;;
*)
# If it is relative, then search for the first ld in PATH.
with_gnu_ld=unknown
;;
esac
elif test yes = "$with_gnu_ld"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
$as_echo_n "checking for GNU ld... " >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if ${lt_cv_path_LD+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
lt_cv_path_LD=$ac_dir/$ac_prog
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 &5
$as_echo "$LD" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if ${lt_cv_prog_gnu_ld+:} false; then :
$as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 &5
$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
if ${lt_cv_path_NM+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$NM"; then
# Let the user override the test.
lt_cv_path_NM=$NM
else
lt_nm_to_check=${ac_tool_prefix}nm
if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
lt_nm_to_check="$lt_nm_to_check nm"
fi
for lt_tmp_nm in $lt_nm_to_check; do
lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
tmp_nm=$ac_dir/$lt_tmp_nm
if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
# Check to see if the nm accepts a BSD-compat flag.
# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# Tru64's nm complains that /dev/null is an invalid object file
# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
case $build_os in
mingw*) lt_bad_file=conftest.nm/nofile ;;
*) lt_bad_file=/dev/null ;;
esac
case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
*$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
break 2
;;
*)
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
break 2
;;
*)
lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
continue # so that we can try to find one that supports BSD flags
;;
esac
;;
esac
fi
done
IFS=$lt_save_ifs
done
: ${lt_cv_path_NM=no}
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
$as_echo "$lt_cv_path_NM" >&6; }
if test no != "$lt_cv_path_NM"; then
NM=$lt_cv_path_NM
else
# Didn't find any BSD compatible name lister, look for dumpbin.
if test -n "$DUMPBIN"; then :
# Let the user override the test.
else
if test -n "$ac_tool_prefix"; then
for ac_prog in dumpbin "link -dump"
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_DUMPBIN+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$DUMPBIN"; then
ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
DUMPBIN=$ac_cv_prog_DUMPBIN
if test -n "$DUMPBIN"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
$as_echo "$DUMPBIN" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$DUMPBIN" && break
done
fi
if test -z "$DUMPBIN"; then
ac_ct_DUMPBIN=$DUMPBIN
for ac_prog in dumpbin "link -dump"
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_DUMPBIN"; then
ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
if test -n "$ac_ct_DUMPBIN"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
$as_echo "$ac_ct_DUMPBIN" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$ac_ct_DUMPBIN" && break
done
if test "x$ac_ct_DUMPBIN" = x; then
DUMPBIN=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DUMPBIN=$ac_ct_DUMPBIN
fi
fi
case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
*COFF*)
DUMPBIN="$DUMPBIN -symbols -headers"
;;
*)
DUMPBIN=:
;;
esac
fi
if test : != "$DUMPBIN"; then
NM=$DUMPBIN
fi
fi
test -z "$NM" && NM=nm
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
$as_echo_n "checking the name lister ($NM) interface... " >&6; }
if ${lt_cv_nm_interface+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
(eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
(eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
(eval echo "\"\$as_me:$LINENO: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
fi
rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
$as_echo "$lt_cv_nm_interface" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
$as_echo_n "checking whether ln -s works... " >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
$as_echo "no, using $LN_S" >&6; }
fi
# find the maximum length of command line arguments
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
$as_echo_n "checking the maximum length of command line arguments... " >&6; }
if ${lt_cv_sys_max_cmd_len+:} false; then :
$as_echo_n "(cached) " >&6
else
i=0
teststring=ABCD
case $build_os in
msdosdjgpp*)
# On DJGPP, this test can blow up pretty badly due to problems in libc
# (any single argument exceeding 2000 bytes causes a buffer overrun
# during glob expansion). Even if it were fixed, the result of this
# check would be larger than it should be.
lt_cv_sys_max_cmd_len=12288; # 12K is about right
;;
gnu*)
# Under GNU Hurd, this test is not required because there is
# no limit to the length of command line arguments.
# Libtool will interpret -1 as no limit whatsoever
lt_cv_sys_max_cmd_len=-1;
;;
cygwin* | mingw* | cegcc*)
# On Win9x/ME, this test blows up -- it succeeds, but takes
# about 5 minutes as the teststring grows exponentially.
# Worse, since 9x/ME are not pre-emptively multitasking,
# you end up with a "frozen" computer, even though with patience
# the test eventually succeeds (with a max line length of 256k).
# Instead, let's just punt: use the minimum linelength reported by
# all of the supported platforms: 8192 (on NT/2K/XP).
lt_cv_sys_max_cmd_len=8192;
;;
mint*)
# On MiNT this can take a long time and run out of memory.
lt_cv_sys_max_cmd_len=8192;
;;
amigaos*)
# On AmigaOS with pdksh, this test takes hours, literally.
# So we just punt and use a minimum line length of 8192.
lt_cv_sys_max_cmd_len=8192;
;;
bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
elif test -x /usr/sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
else
lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
fi
# And add a safety zone
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
;;
interix*)
# We know the value 262144 and hardcode it with a safety zone (like BSD)
lt_cv_sys_max_cmd_len=196608
;;
os2*)
# The test takes a long time on OS/2.
lt_cv_sys_max_cmd_len=8192
;;
osf*)
# Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
# due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
# nice to cause kernel panics so lets avoid the loop below.
# First set a reasonable default.
lt_cv_sys_max_cmd_len=16384
#
if test -x /sbin/sysconfig; then
case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
*1*) lt_cv_sys_max_cmd_len=-1 ;;
esac
fi
;;
sco3.2v5*)
lt_cv_sys_max_cmd_len=102400
;;
sysv5* | sco5v6* | sysv4.2uw2*)
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
if test -n "$kargmax"; then
lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
else
lt_cv_sys_max_cmd_len=32768
fi
;;
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
if test -n "$lt_cv_sys_max_cmd_len" && \
test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
# Make teststring a little bigger before we do anything with it.
# a 1K string should be a reasonable start.
for i in 1 2 3 4 5 6 7 8; do
teststring=$teststring$teststring
done
SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
while { test X`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
test 17 != "$i" # 1/2 MB should be enough
do
i=`expr $i + 1`
teststring=$teststring$teststring
done
# Only check the string length outside the loop.
lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
teststring=
# Add a significant safety factor because C++ compilers can tack on
# massive amounts of additional arguments before passing them to the
# linker. It appears as though 1/2 is a usable value.
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
fi
;;
esac
fi
if test -n "$lt_cv_sys_max_cmd_len"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
$as_echo "none" >&6; }
fi
max_cmd_len=$lt_cv_sys_max_cmd_len
: ${CP="cp -f"}
: ${MV="mv -f"}
: ${RM="rm -f"}
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
lt_unset=unset
else
lt_unset=false
fi
# test EBCDIC or ASCII
case `echo X|tr X '\101'` in
A) # ASCII based system
# \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
lt_SP2NL='tr \040 \012'
lt_NL2SP='tr \015\012 \040\040'
;;
*) # EBCDIC based system
lt_SP2NL='tr \100 \n'
lt_NL2SP='tr \r\n \100\100'
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
if ${lt_cv_to_host_file_cmd+:} false; then :
$as_echo_n "(cached) " >&6
else
case $host in
*-*-mingw* )
case $build in
*-*-mingw* ) # actually msys
lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
;;
*-*-cygwin* )
lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
;;
* ) # otherwise, assume *nix
lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
;;
esac
;;
*-*-cygwin* )
case $build in
*-*-mingw* ) # actually msys
lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
;;
*-*-cygwin* )
lt_cv_to_host_file_cmd=func_convert_file_noop
;;
* ) # otherwise, assume *nix
lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
;;
esac
;;
* ) # unhandled hosts (and "normal" native builds)
lt_cv_to_host_file_cmd=func_convert_file_noop
;;
esac
fi
to_host_file_cmd=$lt_cv_to_host_file_cmd
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
$as_echo "$lt_cv_to_host_file_cmd" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
if ${lt_cv_to_tool_file_cmd+:} false; then :
$as_echo_n "(cached) " >&6
else
#assume ordinary cross tools, or native build.
lt_cv_to_tool_file_cmd=func_convert_file_noop
case $host in
*-*-mingw* )
case $build in
*-*-mingw* ) # actually msys
lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
;;
esac
;;
esac
fi
to_tool_file_cmd=$lt_cv_to_tool_file_cmd
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_ld_reload_flag='-r'
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
$as_echo "$lt_cv_ld_reload_flag" >&6; }
reload_flag=$lt_cv_ld_reload_flag
case $reload_flag in
"" | " "*) ;;
*) reload_flag=" $reload_flag" ;;
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
if test yes != "$GCC"; then
reload_cmds=false
fi
;;
darwin*)
if test yes = "$GCC"; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
else
reload_cmds='$LD$reload_flag -o $output$reload_objs'
fi
;;
esac
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_OBJDUMP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OBJDUMP"; then
ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
OBJDUMP=$ac_cv_prog_OBJDUMP
if test -n "$OBJDUMP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
$as_echo "$OBJDUMP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_OBJDUMP"; then
ac_ct_OBJDUMP=$OBJDUMP
# Extract the first word of "objdump", so it can be a program name with args.
set dummy objdump; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OBJDUMP"; then
ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OBJDUMP="objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
if test -n "$ac_ct_OBJDUMP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
$as_echo "$ac_ct_OBJDUMP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_OBJDUMP" = x; then
OBJDUMP="false"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OBJDUMP=$ac_ct_OBJDUMP
fi
else
OBJDUMP="$ac_cv_prog_OBJDUMP"
fi
test -z "$OBJDUMP" && OBJDUMP=objdump
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
$as_echo_n "checking how to recognize dependent libraries... " >&6; }
if ${lt_cv_deplibs_check_method+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_deplibs_check_method='unknown'
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
# 'unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [[regex]]' -- check by looking for files in library path
# that responds to the $file_magic_cmd with a given extended regex.
# If you have 'file' or equivalent on your system and you're not sure
# whether 'pass_all' will *always* work, you probably want this one.
case $host_os in
aix[4-9]*)
lt_cv_deplibs_check_method=pass_all
;;
beos*)
lt_cv_deplibs_check_method=pass_all
;;
bsdi[45]*)
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
lt_cv_file_magic_cmd='/usr/bin/file -L'
lt_cv_file_magic_test_file=/shlib/libc.so
;;
cygwin*)
# func_win32_libid is a shell function defined in ltmain.sh
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
;;
mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
if ( file / ) >/dev/null 2>&1; then
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
# Keep this pattern in sync with the one in func_win32_libid.
lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
cegcc*)
# use the weaker test based on 'objdump'. See mingw*.
lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
lt_cv_file_magic_cmd='$OBJDUMP -f'
;;
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
freebsd* | dragonfly*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;;
esac
else
lt_cv_deplibs_check_method=pass_all
fi
;;
haiku*)
lt_cv_deplibs_check_method=pass_all
;;
hpux10.20* | hpux11*)
lt_cv_file_magic_cmd=/usr/bin/file
case $host_cpu in
ia64*)
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
;;
hppa*64*)
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
;;
*)
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
lt_cv_file_magic_test_file=/usr/lib/libc.sl
;;
esac
;;
interix[3-9]*)
# PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
;;
irix5* | irix6* | nonstopux*)
case $LD in
*-32|*"-32 ") libmagic=32-bit;;
*-n32|*"-n32 ") libmagic=N32;;
*-64|*"-64 ") libmagic=64-bit;;
*) libmagic=never-match;;
esac
lt_cv_deplibs_check_method=pass_all
;;
# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
fi
;;
newos6*)
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
*nto* | *qnx*)
lt_cv_deplibs_check_method=pass_all
;;
openbsd* | bitrig*)
if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
fi
;;
osf3* | osf4* | osf5*)
lt_cv_deplibs_check_method=pass_all
;;
rdos*)
lt_cv_deplibs_check_method=pass_all
;;
solaris*)
lt_cv_deplibs_check_method=pass_all
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
lt_cv_deplibs_check_method=pass_all
;;
sysv4 | sysv4.3*)
case $host_vendor in
motorola)
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
;;
ncr)
lt_cv_deplibs_check_method=pass_all
;;
sequent)
lt_cv_file_magic_cmd='/bin/file'
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
;;
sni)
lt_cv_file_magic_cmd='/bin/file'
lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
lt_cv_file_magic_test_file=/lib/libc.so
;;
siemens)
lt_cv_deplibs_check_method=pass_all
;;
pc)
lt_cv_deplibs_check_method=pass_all
;;
esac
;;
tpf*)
lt_cv_deplibs_check_method=pass_all
;;
os2*)
lt_cv_deplibs_check_method=pass_all
;;
esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
file_magic_glob=
want_nocaseglob=no
if test "$build" = "$host"; then
case $host_os in
mingw* | pw32*)
if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
want_nocaseglob=yes
else
file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
fi
;;
esac
fi
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ac_tool_prefix}dlltool; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_DLLTOOL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$DLLTOOL"; then
ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
DLLTOOL=$ac_cv_prog_DLLTOOL
if test -n "$DLLTOOL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
$as_echo "$DLLTOOL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_DLLTOOL"; then
ac_ct_DLLTOOL=$DLLTOOL
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_DLLTOOL"; then
ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
if test -n "$ac_ct_DLLTOOL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
$as_echo "$ac_ct_DLLTOOL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_DLLTOOL" = x; then
DLLTOOL="false"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DLLTOOL=$ac_ct_DLLTOOL
fi
else
DLLTOOL="$ac_cv_prog_DLLTOOL"
fi
test -z "$DLLTOOL" && DLLTOOL=dlltool
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_sharedlib_from_linklib_cmd='unknown'
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
# two different shell functions defined in ltmain.sh;
# decide which one to use based on capabilities of $DLLTOOL
case `$DLLTOOL --help 2>&1` in
*--identify-strict*)
lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
;;
*)
lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
;;
esac
;;
*)
# fallback: assume linklib IS sharedlib
lt_cv_sharedlib_from_linklib_cmd=$ECHO
;;
esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
if test -n "$ac_tool_prefix"; then
for ac_prog in ar
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
$as_echo "$AR" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$AR" && break
done
fi
if test -z "$AR"; then
ac_ct_AR=$AR
for ac_prog in ar
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_AR"; then
ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AR="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
$as_echo "$ac_ct_AR" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$ac_ct_AR" && break
done
if test "x$ac_ct_AR" = x; then
AR="false"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
fi
: ${AR=ar}
# Use ARFLAGS variable as AR's operation code to sync the variable naming with
# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
# higher priority because thats what people were doing historically (setting
# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
# variable obsoleted/removed.
test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
lt_ar_flags=$AR_FLAGS
# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
$as_echo_n "checking for archiver @FILE support... " >&6; }
if ${lt_cv_ar_at_file+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_ar_at_file=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
echo conftest.$ac_objext > conftest.lst
lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
(eval $lt_ar_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if test 0 -eq "$ac_status"; then
# Ensure the archiver fails upon bogus file names.
rm -f conftest.$ac_objext libconftest.a
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
(eval $lt_ar_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if test 0 -ne "$ac_status"; then
lt_cv_ar_at_file=@
fi
fi
rm -f conftest.* libconftest.a
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
$as_echo "$lt_cv_ar_at_file" >&6; }
if test no = "$lt_cv_ar_at_file"; then
archiver_list_spec=
else
archiver_list_spec=$lt_cv_ar_at_file
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
STRIP=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
fi
else
STRIP="$ac_cv_prog_STRIP"
fi
test -z "$STRIP" && STRIP=:
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_RANLIB+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
$as_echo "$RANLIB" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_RANLIB"; then
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_RANLIB"; then
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
$as_echo "$ac_ct_RANLIB" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_RANLIB" = x; then
RANLIB=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
RANLIB=$ac_ct_RANLIB
fi
else
RANLIB="$ac_cv_prog_RANLIB"
fi
test -z "$RANLIB" && RANLIB=:
# Determine commands to create old-style static archives.
old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds=
if test -n "$RANLIB"; then
case $host_os in
bitrig* | openbsd*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
;;
esac
old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
fi
case $host_os in
darwin*)
lock_old_archive_extraction=yes ;;
*)
lock_old_archive_extraction=no ;;
esac
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
# If no C compiler flags were specified, use CFLAGS.
LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
# Allow CC to be a program name with arguments.
compiler=$CC
# Check for command to grab the raw symbol name followed by C symbol from nm.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
if ${lt_cv_sys_global_symbol_pipe+:} false; then :
$as_echo_n "(cached) " >&6
else
# These are sane defaults that work on at least a few old systems.
# [They come from Ultrix. What could be older than Ultrix?!! ;)]
# Character class describing NM global symbol codes.
symcode='[BCDEGRST]'
# Regexp to match symbols that can be accessed directly from C.
sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
# Define system-specific variables.
case $host_os in
aix*)
symcode='[BCDT]'
;;
cygwin* | mingw* | pw32* | cegcc*)
symcode='[ABCDGISTW]'
;;
hpux*)
if test ia64 = "$host_cpu"; then
symcode='[ABCDEGRST]'
fi
;;
irix* | nonstopux*)
symcode='[BCDEGRST]'
;;
osf*)
symcode='[BCDEGQRST]'
;;
solaris*)
symcode='[BDRT]'
;;
sco3.2v5*)
symcode='[DT]'
;;
sysv4.2uw2*)
symcode='[DT]'
;;
sysv5* | sco5v6* | unixware* | OpenUNIX*)
symcode='[ABDT]'
;;
sysv4)
symcode='[DFNSTU]'
;;
esac
# If we're using GNU nm, then use its standard symbol codes.
case `$NM -V 2>&1` in
*GNU* | *'with BFD'*)
symcode='[ABCDGIRSTW]' ;;
esac
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Gets list of data symbols to import.
lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
# Adjust the below global symbol transforms to fixup imported variables.
lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
lt_c_name_lib_hook="\
-e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
-e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
else
# Disable hooks by default.
lt_cv_sys_global_symbol_to_import=
lt_cdecl_hook=
lt_c_name_hook=
lt_c_name_lib_hook=
fi
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
lt_cv_sys_global_symbol_to_cdecl="sed -n"\
$lt_cdecl_hook\
" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
$lt_c_name_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
# Transform an extracted symbol line into symbol name with lib prefix and
# symbol address.
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
$lt_c_name_lib_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
# Handle CRLF in mingw tool chain
opt_cr=
case $build_os in
mingw*)
opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
;;
esac
# Try without a prefix underscore, then with it.
for ac_symprfx in "" "_"; do
# Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
symxfrm="\\1 $ac_symprfx\\2 \\2"
# Write the raw and C identifiers.
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Fake it for dumpbin and say T for any non-static function,
# D for any global variable and I for any imported variable.
# Also find C++ and __fastcall symbols from MSVC++,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK '"\
" {last_section=section; section=\$ 3};"\
" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
" {if(hide[section]) next};"\
" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx"
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
# Check to see that the pipe works correctly.
pipe_works=no
rm -f conftest*
cat > conftest.$ac_ext <<_LT_EOF
#ifdef __cplusplus
extern "C" {
#endif
char nm_test_var;
void nm_test_func(void);
void nm_test_func(void){}
#ifdef __cplusplus
}
#endif
int main(){nm_test_var='a';nm_test_func();return(0);}
_LT_EOF
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
# Now try to grab the symbols.
nlist=conftest.nm
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
(eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"
else
rm -f "$nlist"T
fi
# Make sure that we snagged all the symbols we need.
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT_DLSYM_CONST
#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT_DLSYM_CONST
#else
# define LT_DLSYM_CONST const
#endif
#ifdef __cplusplus
extern "C" {
#endif
_LT_EOF
# Now generate the symbol file.
eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
LT_DLSYM_CONST struct {
const char *name;
void *address;
}
lt__PROGRAM__LTX_preloaded_symbols[] =
{
{ "@PROGRAM@", (void *) 0 },
_LT_EOF
$SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
cat <<\_LT_EOF >> conftest.$ac_ext
{0, (void *) 0}
};
/* This works around a problem in FreeBSD linker */
#ifdef FREEBSD_WORKAROUND
static const void *lt_preloaded_setup() {
return lt__PROGRAM__LTX_preloaded_symbols;
}
#endif
#ifdef __cplusplus
}
#endif
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
lt_globsym_save_LIBS=$LIBS
lt_globsym_save_CFLAGS=$CFLAGS
LIBS=conftstm.$ac_objext
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && test -s conftest$ac_exeext; then
pipe_works=yes
fi
LIBS=$lt_globsym_save_LIBS
CFLAGS=$lt_globsym_save_CFLAGS
else
echo "cannot find nm_test_func in $nlist" >&5
fi
else
echo "cannot find nm_test_var in $nlist" >&5
fi
else
echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
fi
else
echo "$progname: failed program was:" >&5
cat conftest.$ac_ext >&5
fi
rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
if test yes = "$pipe_works"; then
break
else
lt_cv_sys_global_symbol_pipe=
fi
done
fi
if test -z "$lt_cv_sys_global_symbol_pipe"; then
lt_cv_sys_global_symbol_to_cdecl=
fi
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
$as_echo "failed" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
$as_echo "ok" >&6; }
fi
# Response file support.
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
nm_file_list_spec='@'
elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
nm_file_list_spec='@'
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
$as_echo_n "checking for sysroot... " >&6; }
# Check whether --with-sysroot was given.
if test "${with_sysroot+set}" = set; then :
withval=$with_sysroot;
else
with_sysroot=no
fi
lt_sysroot=
case $with_sysroot in #(
yes)
if test yes = "$GCC"; then
lt_sysroot=`$CC --print-sysroot 2>/dev/null`
fi
;; #(
/*)
lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
;; #(
no|'')
;; #(
*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
$as_echo "$with_sysroot" >&6; }
as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
$as_echo "${lt_sysroot:-no}" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
$as_echo_n "checking for a working dd... " >&6; }
if ${ac_cv_path_lt_DD+:} false; then :
$as_echo_n "(cached) " >&6
else
printf 0123456789abcdef0123456789abcdef >conftest.i
cat conftest.i conftest.i >conftest2.i
: ${lt_DD:=$DD}
if test -z "$lt_DD"; then
ac_path_lt_DD_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in dd; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_lt_DD" || continue
if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
cmp -s conftest.i conftest.out \
&& ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
fi
$ac_path_lt_DD_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_lt_DD"; then
:
fi
else
ac_cv_path_lt_DD=$lt_DD
fi
rm -f conftest.i conftest2.i conftest.out
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
$as_echo "$ac_cv_path_lt_DD" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
$as_echo_n "checking how to truncate binary pipes... " >&6; }
if ${lt_cv_truncate_bin+:} false; then :
$as_echo_n "(cached) " >&6
else
printf 0123456789abcdef0123456789abcdef >conftest.i
cat conftest.i conftest.i >conftest2.i
lt_cv_truncate_bin=
if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
cmp -s conftest.i conftest.out \
&& lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
fi
rm -f conftest.i conftest2.i conftest.out
test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
$as_echo "$lt_cv_truncate_bin" >&6; }
# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
func_cc_basename ()
{
for cc_temp in $*""; do
case $cc_temp in
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
\-*) ;;
*) break;;
esac
done
func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
}
# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then :
enableval=$enable_libtool_lock;
fi
test no = "$enable_libtool_lock" || enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
case $host in
ia64-*-hpux*)
# Find out what ABI is being produced by ac_compile, and set mode
# options accordingly.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
HPUX_IA64_MODE=32
;;
*ELF-64*)
HPUX_IA64_MODE=64
;;
esac
fi
rm -rf conftest*
;;
*-*-irix6*)
# Find out what ABI is being produced by ac_compile, and set linker
# options accordingly.
echo '#line '$LINENO' "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
if test yes = "$lt_cv_prog_gnu_ld"; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
;;
*N32*)
LD="${LD-ld} -melf32bmipn32"
;;
*64-bit*)
LD="${LD-ld} -melf64bmip"
;;
esac
else
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
;;
*N32*)
LD="${LD-ld} -n32"
;;
*64-bit*)
LD="${LD-ld} -64"
;;
esac
fi
fi
rm -rf conftest*
;;
mips64*-*linux*)
# Find out what ABI is being produced by ac_compile, and set linker
# options accordingly.
echo '#line '$LINENO' "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
emul=elf
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
emul="${emul}32"
;;
*64-bit*)
emul="${emul}64"
;;
esac
case `/usr/bin/file conftest.$ac_objext` in
*MSB*)
emul="${emul}btsmip"
;;
*LSB*)
emul="${emul}ltsmip"
;;
esac
case `/usr/bin/file conftest.$ac_objext` in
*N32*)
emul="${emul}n32"
;;
esac
LD="${LD-ld} -m $emul"
fi
rm -rf conftest*
;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out what ABI is being produced by ac_compile, and set linker
# options accordingly. Note that the listed cases only cover the
# situations where additional linker options are needed (such as when
# doing 32-bit compilation for a host where ld defaults to 64-bit, or
# vice versa); the common cases where no linker options are needed do
# not appear in the list.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
case `/usr/bin/file conftest.o` in
*32-bit*)
case $host in
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
case `/usr/bin/file conftest.o` in
*x86-64*)
LD="${LD-ld} -m elf32_x86_64"
;;
*)
LD="${LD-ld} -m elf_i386"
;;
esac
;;
powerpc64le-*linux*)
LD="${LD-ld} -m elf32lppclinux"
;;
powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
LD="${LD-ld} -m elf_s390"
;;
sparc64-*linux*)
LD="${LD-ld} -m elf32_sparc"
;;
esac
;;
*64-bit*)
case $host in
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_x86_64_fbsd"
;;
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
powerpcle-*linux*)
LD="${LD-ld} -m elf64lppc"
;;
powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
LD="${LD-ld} -m elf64_s390"
;;
sparc*-*linux*)
LD="${LD-ld} -m elf64_sparc"
;;
esac
;;
esac
fi
rm -rf conftest*
;;
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -belf"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
if ${lt_cv_cc_needs_belf+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
lt_cv_cc_needs_belf=yes
else
lt_cv_cc_needs_belf=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
$as_echo "$lt_cv_cc_needs_belf" >&6; }
if test yes != "$lt_cv_cc_needs_belf"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS=$SAVE_CFLAGS
fi
;;
*-*solaris*)
# Find out what ABI is being produced by ac_compile, and set linker
# options accordingly.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
case `/usr/bin/file conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*)
case $host in
i?86-*-solaris*|x86_64-*-solaris*)
LD="${LD-ld} -m elf_x86_64"
;;
sparc*-*-solaris*)
LD="${LD-ld} -m elf64_sparc"
;;
esac
# GNU ld 2.21 introduced _sol2 emulations. Use them if available.
if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
LD=${LD-ld}_sol2
fi
;;
*)
if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
LD="${LD-ld} -64"
fi
;;
esac
;;
esac
fi
rm -rf conftest*
;;
esac
need_locks=$enable_libtool_lock
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
set dummy ${ac_tool_prefix}mt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$MANIFEST_TOOL"; then
ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
if test -n "$MANIFEST_TOOL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
$as_echo "$MANIFEST_TOOL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
# Extract the first word of "mt", so it can be a program name with args.
set dummy mt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_MANIFEST_TOOL"; then
ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
if test -n "$ac_ct_MANIFEST_TOOL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_MANIFEST_TOOL" = x; then
MANIFEST_TOOL=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
fi
else
MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
fi
test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
if ${lt_cv_path_mainfest_tool+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_path_mainfest_tool=no
echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
$MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
cat conftest.err >&5
if $GREP 'Manifest Tool' conftest.out > /dev/null; then
lt_cv_path_mainfest_tool=yes
fi
rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
$as_echo "$lt_cv_path_mainfest_tool" >&6; }
if test yes != "$lt_cv_path_mainfest_tool"; then
MANIFEST_TOOL=:
fi
case $host_os in
rhapsody* | darwin*)
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_DSYMUTIL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$DSYMUTIL"; then
ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
DSYMUTIL=$ac_cv_prog_DSYMUTIL
if test -n "$DSYMUTIL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
$as_echo "$DSYMUTIL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_DSYMUTIL"; then
ac_ct_DSYMUTIL=$DSYMUTIL
# Extract the first word of "dsymutil", so it can be a program name with args.
set dummy dsymutil; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_DSYMUTIL"; then
ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
if test -n "$ac_ct_DSYMUTIL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
$as_echo "$ac_ct_DSYMUTIL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_DSYMUTIL" = x; then
DSYMUTIL=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DSYMUTIL=$ac_ct_DSYMUTIL
fi
else
DSYMUTIL="$ac_cv_prog_DSYMUTIL"
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
set dummy ${ac_tool_prefix}nmedit; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_NMEDIT+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$NMEDIT"; then
ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
NMEDIT=$ac_cv_prog_NMEDIT
if test -n "$NMEDIT"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
$as_echo "$NMEDIT" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_NMEDIT"; then
ac_ct_NMEDIT=$NMEDIT
# Extract the first word of "nmedit", so it can be a program name with args.
set dummy nmedit; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_NMEDIT"; then
ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_NMEDIT="nmedit"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
if test -n "$ac_ct_NMEDIT"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
$as_echo "$ac_ct_NMEDIT" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_NMEDIT" = x; then
NMEDIT=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
NMEDIT=$ac_ct_NMEDIT
fi
else
NMEDIT="$ac_cv_prog_NMEDIT"
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
set dummy ${ac_tool_prefix}lipo; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_LIPO+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$LIPO"; then
ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
LIPO=$ac_cv_prog_LIPO
if test -n "$LIPO"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
$as_echo "$LIPO" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_LIPO"; then
ac_ct_LIPO=$LIPO
# Extract the first word of "lipo", so it can be a program name with args.
set dummy lipo; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_LIPO"; then
ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_LIPO="lipo"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
if test -n "$ac_ct_LIPO"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
$as_echo "$ac_ct_LIPO" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_LIPO" = x; then
LIPO=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
LIPO=$ac_ct_LIPO
fi
else
LIPO="$ac_cv_prog_LIPO"
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
set dummy ${ac_tool_prefix}otool; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_OTOOL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OTOOL"; then
ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
OTOOL=$ac_cv_prog_OTOOL
if test -n "$OTOOL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
$as_echo "$OTOOL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_OTOOL"; then
ac_ct_OTOOL=$OTOOL
# Extract the first word of "otool", so it can be a program name with args.
set dummy otool; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OTOOL"; then
ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OTOOL="otool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
if test -n "$ac_ct_OTOOL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
$as_echo "$ac_ct_OTOOL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_OTOOL" = x; then
OTOOL=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OTOOL=$ac_ct_OTOOL
fi
else
OTOOL="$ac_cv_prog_OTOOL"
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
set dummy ${ac_tool_prefix}otool64; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_OTOOL64+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OTOOL64"; then
ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
OTOOL64=$ac_cv_prog_OTOOL64
if test -n "$OTOOL64"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
$as_echo "$OTOOL64" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_OTOOL64"; then
ac_ct_OTOOL64=$OTOOL64
# Extract the first word of "otool64", so it can be a program name with args.
set dummy otool64; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OTOOL64"; then
ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OTOOL64="otool64"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
if test -n "$ac_ct_OTOOL64"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
$as_echo "$ac_ct_OTOOL64" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_OTOOL64" = x; then
OTOOL64=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OTOOL64=$ac_ct_OTOOL64
fi
else
OTOOL64="$ac_cv_prog_OTOOL64"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
$as_echo_n "checking for -single_module linker flag... " >&6; }
if ${lt_cv_apple_cc_single_mod+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_apple_cc_single_mod=no
if test -z "$LT_MULTI_MODULE"; then
# By default we will add the -single_module flag. You can override
# by either setting the environment variable LT_MULTI_MODULE
# non-empty at configure time, or by adding -multi_module to the
# link flags.
rm -rf libconftest.dylib*
echo "int foo(void){return 1;}" > conftest.c
echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-dynamiclib -Wl,-single_module conftest.c" >&5
$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-dynamiclib -Wl,-single_module conftest.c 2>conftest.err
_lt_result=$?
# If there is a non-empty error log, and "single_module"
# appears in it, assume the flag caused a linker warning
if test -s conftest.err && $GREP single_module conftest.err; then
cat conftest.err >&5
# Otherwise, if the output was created with a 0 exit code from
# the compiler, it worked.
elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&5
fi
rm -rf libconftest.dylib*
rm -f conftest.*
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
if ${lt_cv_ld_exported_symbols_list+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_ld_exported_symbols_list=no
save_LDFLAGS=$LDFLAGS
echo "_main" > conftest.sym
LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
lt_cv_ld_exported_symbols_list=yes
else
lt_cv_ld_exported_symbols_list=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
$as_echo_n "checking for -force_load linker flag... " >&6; }
if ${lt_cv_ld_force_load+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_ld_force_load=no
cat > conftest.c << _LT_EOF
int forced_loaded() { return 2;}
_LT_EOF
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5
$AR $AR_FLAGS libconftest.a conftest.o 2>&5
echo "$RANLIB libconftest.a" >&5
$RANLIB libconftest.a 2>&5
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
_lt_result=$?
if test -s conftest.err && $GREP force_load conftest.err; then
cat conftest.err >&5
elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&5
fi
rm -f conftest.err libconftest.a conftest conftest.c
rm -rf conftest.dSYM
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
$as_echo "$lt_cv_ld_force_load" >&6; }
case $host_os in
rhapsody* | darwin1.[012])
_lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
darwin1.*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[91]*)
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
10.[012][,.]*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
10.*)
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
if test yes = "$lt_cv_apple_cc_single_mod"; then
_lt_dar_single_mod='$single_module'
fi
if test yes = "$lt_cv_ld_exported_symbols_list"; then
_lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
else
_lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
fi
if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
_lt_dsymutil='~$DSYMUTIL $lib || :'
else
_lt_dsymutil=
fi
;;
esac
# func_munge_path_list VARIABLE PATH
# -----------------------------------
# VARIABLE is name of variable containing _space_ separated list of
# directories to be munged by the contents of PATH, which is string
# having a format:
# "DIR[:DIR]:"
# string "DIR[ DIR]" will be prepended to VARIABLE
# ":DIR[:DIR]"
# string "DIR[ DIR]" will be appended to VARIABLE
# "DIRP[:DIRP]::[DIRA:]DIRA"
# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
# "DIRA[ DIRA]" will be appended to VARIABLE
# "DIR[:DIR]"
# VARIABLE will be replaced by "DIR[ DIR]"
func_munge_path_list ()
{
case x$2 in
x)
;;
*:)
eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
;;
x:*)
eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
;;
*::*)
eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
;;
*)
eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
;;
esac
}
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
if ${ac_cv_prog_CPP+:} false; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
do
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# Prefer to if __STDC__ is defined, since
# exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __STDC__
# include
#else
# include
#endif
Syntax error
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
else
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
break
fi
done
ac_cv_prog_CPP=$CPP
fi
CPP=$ac_cv_prog_CPP
else
ac_cv_prog_CPP=$CPP
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# Prefer to if __STDC__ is defined, since
# exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __STDC__
# include
#else
# include
#endif
Syntax error
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
else
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details" "$LINENO" 5; }
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
if ${ac_cv_header_stdc+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
#include
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_header_stdc=yes
else
ac_cv_header_stdc=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "memchr" >/dev/null 2>&1; then :
else
ac_cv_header_stdc=no
fi
rm -f conftest*
fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "free" >/dev/null 2>&1; then :
else
ac_cv_header_stdc=no
fi
rm -f conftest*
fi
if test $ac_cv_header_stdc = yes; then
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
if test "$cross_compiling" = yes; then :
:
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#else
# define ISLOWER(c) \
(('a' <= (c) && (c) <= 'i') \
|| ('j' <= (c) && (c) <= 'r') \
|| ('s' <= (c) && (c) <= 'z'))
# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
#endif
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
int
main ()
{
int i;
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
|| toupper (i) != TOUPPER (i))
return 2;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
else
ac_cv_header_stdc=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
$as_echo "#define STDC_HEADERS 1" >>confdefs.h
fi
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
"
if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
done
for ac_header in dlfcn.h
do :
ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
"
if test "x$ac_cv_header_dlfcn_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_DLFCN_H 1
_ACEOF
fi
done
# Set options
enable_win32_dll=yes
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set dummy ${ac_tool_prefix}as; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AS+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AS"; then
ac_cv_prog_AS="$AS" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AS="${ac_tool_prefix}as"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
AS=$ac_cv_prog_AS
if test -n "$AS"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
$as_echo "$AS" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_AS"; then
ac_ct_AS=$AS
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AS+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_AS"; then
ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AS="as"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_AS=$ac_cv_prog_ac_ct_AS
if test -n "$ac_ct_AS"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
$as_echo "$ac_ct_AS" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_AS" = x; then
AS="false"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AS=$ac_ct_AS
fi
else
AS="$ac_cv_prog_AS"
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ac_tool_prefix}dlltool; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_DLLTOOL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$DLLTOOL"; then
ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
DLLTOOL=$ac_cv_prog_DLLTOOL
if test -n "$DLLTOOL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
$as_echo "$DLLTOOL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_DLLTOOL"; then
ac_ct_DLLTOOL=$DLLTOOL
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_DLLTOOL"; then
ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
if test -n "$ac_ct_DLLTOOL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
$as_echo "$ac_ct_DLLTOOL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_DLLTOOL" = x; then
DLLTOOL="false"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DLLTOOL=$ac_ct_DLLTOOL
fi
else
DLLTOOL="$ac_cv_prog_DLLTOOL"
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_OBJDUMP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OBJDUMP"; then
ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
OBJDUMP=$ac_cv_prog_OBJDUMP
if test -n "$OBJDUMP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
$as_echo "$OBJDUMP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_OBJDUMP"; then
ac_ct_OBJDUMP=$OBJDUMP
# Extract the first word of "objdump", so it can be a program name with args.
set dummy objdump; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OBJDUMP"; then
ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OBJDUMP="objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
if test -n "$ac_ct_OBJDUMP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
$as_echo "$ac_ct_OBJDUMP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_OBJDUMP" = x; then
OBJDUMP="false"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OBJDUMP=$ac_ct_OBJDUMP
fi
else
OBJDUMP="$ac_cv_prog_OBJDUMP"
fi
;;
esac
test -z "$AS" && AS=as
test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$OBJDUMP" && OBJDUMP=objdump
enable_dlopen=no
# Check whether --enable-shared was given.
if test "${enable_shared+set}" = set; then :
enableval=$enable_shared; p=${PACKAGE-default}
case $enableval in
yes) enable_shared=yes ;;
no) enable_shared=no ;;
*)
enable_shared=no
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_shared=yes
fi
done
IFS=$lt_save_ifs
;;
esac
else
enable_shared=yes
fi
# Check whether --enable-static was given.
if test "${enable_static+set}" = set; then :
enableval=$enable_static; p=${PACKAGE-default}
case $enableval in
yes) enable_static=yes ;;
no) enable_static=no ;;
*)
enable_static=no
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_static=yes
fi
done
IFS=$lt_save_ifs
;;
esac
else
enable_static=yes
fi
# Check whether --with-pic was given.
if test "${with_pic+set}" = set; then :
withval=$with_pic; lt_p=${PACKAGE-default}
case $withval in
yes|no) pic_mode=$withval ;;
*)
pic_mode=default
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do
IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes
fi
done
IFS=$lt_save_ifs
;;
esac
else
pic_mode=default
fi
# Check whether --enable-fast-install was given.
if test "${enable_fast_install+set}" = set; then :
enableval=$enable_fast_install; p=${PACKAGE-default}
case $enableval in
yes) enable_fast_install=yes ;;
no) enable_fast_install=no ;;
*)
enable_fast_install=no
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
IFS=$lt_save_ifs
;;
esac
else
enable_fast_install=yes
fi
shared_archive_member_spec=
case $host,$enable_shared in
power*-*-aix[5-9]*,yes)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
# Check whether --with-aix-soname was given.
if test "${with_aix_soname+set}" = set; then :
withval=$with_aix_soname; case $withval in
aix|svr4|both)
;;
*)
as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
;;
esac
lt_cv_with_aix_soname=$with_aix_soname
else
if ${lt_cv_with_aix_soname+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_with_aix_soname=aix
fi
with_aix_soname=$lt_cv_with_aix_soname
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
$as_echo "$with_aix_soname" >&6; }
if test aix != "$with_aix_soname"; then
# For the AIX way of multilib, we name the shared archive member
# based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
# and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
# Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
# the AIX toolchain works better with OBJECT_MODE set (default 32).
if test 64 = "${OBJECT_MODE-32}"; then
shared_archive_member_spec=shr_64
else
shared_archive_member_spec=shr
fi
fi
;;
*)
with_aix_soname=aix
;;
esac
# This can be used to rebuild libtool when needed
LIBTOOL_DEPS=$ltmain
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
test -z "$LN_S" && LN_S="ln -s"
if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
$as_echo_n "checking for objdir... " >&6; }
if ${lt_cv_objdir+:} false; then :
$as_echo_n "(cached) " >&6
else
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
if test -d .libs; then
lt_cv_objdir=.libs
else
# MS-DOS does not allow filenames that begin with a dot.
lt_cv_objdir=_libs
fi
rmdir .libs 2>/dev/null
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
$as_echo "$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir
cat >>confdefs.h <<_ACEOF
#define LT_OBJDIR "$lt_cv_objdir/"
_ACEOF
case $host_os in
aix3*)
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
;;
esac
# Global variables:
ofile=libtool
can_build_shared=yes
# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
with_gnu_ld=$lt_cv_prog_gnu_ld
old_CC=$CC
old_CFLAGS=$CFLAGS
# Set sane defaults for various variables
test -z "$CC" && CC=cc
test -z "$LTCC" && LTCC=$CC
test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
test -z "$LD" && LD=ld
test -z "$ac_objext" && ac_objext=o
func_cc_basename $compiler
cc_basename=$func_cc_basename_result
# Only perform the check for file, if the check method requires it
test -z "$MAGIC_CMD" && MAGIC_CMD=file
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
if ${lt_cv_path_MAGIC_CMD+:} false; then :
$as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
lt_save_MAGIC_CMD=$MAGIC_CMD
lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
for ac_dir in $ac_dummy; do
IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/${ac_tool_prefix}file"; then
lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
else
cat <<_LT_EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
*** The result is that libtool may fail to recognize shared libraries
*** as such. This will affect the creation of libtool libraries that
*** depend on shared libraries, but programs linked with such libtool
*** libraries will work regardless of this problem. Nevertheless, you
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
_LT_EOF
fi ;;
esac
fi
break
fi
done
IFS=$lt_save_ifs
MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac
fi
MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
$as_echo_n "checking for file... " >&6; }
if ${lt_cv_path_MAGIC_CMD+:} false; then :
$as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
lt_save_MAGIC_CMD=$MAGIC_CMD
lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
for ac_dir in $ac_dummy; do
IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/file"; then
lt_cv_path_MAGIC_CMD=$ac_dir/"file"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
else
cat <<_LT_EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
*** The result is that libtool may fail to recognize shared libraries
*** as such. This will affect the creation of libtool libraries that
*** depend on shared libraries, but programs linked with such libtool
*** libraries will work regardless of this problem. Nevertheless, you
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
_LT_EOF
fi ;;
esac
fi
break
fi
done
IFS=$lt_save_ifs
MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac
fi
MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
else
MAGIC_CMD=:
fi
fi
fi
;;
esac
# Use C for the default configuration in the libtool script
lt_save_CC=$CC
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Source file extension for C test sources.
ac_ext=c
# Object file extension for compiled C test sources.
objext=o
objext=$objext
# Code to be used in simple compile tests
lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
lt_simple_link_test_code='int main(){return(0);}'
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
# If no C compiler flags were specified, use CFLAGS.
LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
# Allow CC to be a program name with arguments.
compiler=$CC
# Save the default compiler, since it gets overwritten when the other
# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
compiler_DEFAULT=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$RM conftest*
ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$RM -r conftest*
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
## the running order or otherwise move them around unless you know exactly
## what you are doing...
if test -n "$compiler"; then
lt_prog_compiler_no_builtin_flag=
if test yes = "$GCC"; then
case $cc_basename in
nvcc*)
lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
*)
lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
# The option is referenced via a variable to avoid confusing sed.
lt_compile=`echo "$ac_compile" | $SED \
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_rtti_exceptions=yes
fi
fi
$RM conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
else
:
fi
fi
lt_prog_compiler_wl=
lt_prog_compiler_pic=
lt_prog_compiler_static=
if test yes = "$GCC"; then
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_static='-static'
case $host_os in
aix*)
# All AIX code is PIC.
if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static='-Bstatic'
fi
lt_prog_compiler_pic='-fPIC'
;;
amigaos*)
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
lt_prog_compiler_pic='-fPIC'
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
# adding the '-m68020' flag to GCC prevents building anything better,
# like '-m68040'.
lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
;;
esac
;;
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# (--disable-auto-import) libraries
lt_prog_compiler_pic='-DDLL_EXPORT'
case $host_os in
os2*)
lt_prog_compiler_static='$wl-static'
;;
esac
;;
darwin* | rhapsody*)
# PIC is the default on this platform
# Common symbols not allowed in MH_DYLIB files
lt_prog_compiler_pic='-fno-common'
;;
haiku*)
# PIC is the default for Haiku.
# The "-static" flag exists, but is broken.
lt_prog_compiler_static=
;;
hpux*)
# PIC is the default for 64-bit PA HP-UX, but not for 32-bit
# PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
# sets the default TLS model and affects inlining.
case $host_cpu in
hppa*64*)
# +Z the default
;;
*)
lt_prog_compiler_pic='-fPIC'
;;
esac
;;
interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
msdosdjgpp*)
# Just because we use GCC doesn't mean we suddenly get shared libraries
# on systems that don't support them.
lt_prog_compiler_can_build_shared=no
enable_shared=no
;;
*nto* | *qnx*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
# it will coredump.
lt_prog_compiler_pic='-fPIC -shared'
;;
sysv4*MP*)
if test -d /usr/nec; then
lt_prog_compiler_pic=-Kconform_pic
fi
;;
*)
lt_prog_compiler_pic='-fPIC'
;;
esac
case $cc_basename in
nvcc*) # Cuda Compiler Driver 2.2
lt_prog_compiler_wl='-Xlinker '
if test -n "$lt_prog_compiler_pic"; then
lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
fi
;;
esac
else
# PORTME Check for flag to pass linker flags through the system compiler.
case $host_os in
aix*)
lt_prog_compiler_wl='-Wl,'
if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static='-Bstatic'
else
lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
fi
;;
darwin* | rhapsody*)
# PIC is the default on this platform
# Common symbols not allowed in MH_DYLIB files
lt_prog_compiler_pic='-fno-common'
case $cc_basename in
nagfor*)
# NAG Fortran compiler
lt_prog_compiler_wl='-Wl,-Wl,,'
lt_prog_compiler_pic='-PIC'
lt_prog_compiler_static='-Bstatic'
;;
esac
;;
mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
case $host_os in
os2*)
lt_prog_compiler_static='$wl-static'
;;
esac
;;
hpux9* | hpux10* | hpux11*)
lt_prog_compiler_wl='-Wl,'
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
# not for PA HP-UX.
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
;;
*)
lt_prog_compiler_pic='+Z'
;;
esac
# Is there a better lt_prog_compiler_static that works with the bundled CC?
lt_prog_compiler_static='$wl-a ${wl}archive'
;;
irix5* | irix6* | nonstopux*)
lt_prog_compiler_wl='-Wl,'
# PIC (with -KPIC) is the default.
lt_prog_compiler_static='-non_shared'
;;
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
# old Intel for x86_64, which still supported -KPIC.
ecc*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-static'
;;
# icc used to be incompatible with GCC.
# ICC 10 doesn't accept -KPIC any more.
icc* | ifort*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-fPIC'
lt_prog_compiler_static='-static'
;;
# Lahey Fortran 8.1.
lf95*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
nagfor*)
# NAG Fortran compiler
lt_prog_compiler_wl='-Wl,-Wl,,'
lt_prog_compiler_pic='-PIC'
lt_prog_compiler_static='-Bstatic'
;;
tcc*)
# Fabrice Bellard et al's Tiny C Compiler
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-fPIC'
lt_prog_compiler_static='-static'
;;
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-fpic'
lt_prog_compiler_static='-Bstatic'
;;
ccc*)
lt_prog_compiler_wl='-Wl,'
# All Alpha code is PIC.
lt_prog_compiler_static='-non_shared'
;;
xl* | bgxl* | bgf* | mpixl*)
# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-qpic'
lt_prog_compiler_static='-qstaticlink'
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
lt_prog_compiler_wl=''
;;
*Sun\ F* | *Sun*Fortran*)
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
lt_prog_compiler_wl='-Qoption ld '
;;
*Sun\ C*)
# Sun C 5.9
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
lt_prog_compiler_wl='-Wl,'
;;
*Intel*\ [CF]*Compiler*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-fPIC'
lt_prog_compiler_static='-static'
;;
*Portland\ Group*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-fpic'
lt_prog_compiler_static='-Bstatic'
;;
esac
;;
esac
;;
newsos6)
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
;;
*nto* | *qnx*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
# it will coredump.
lt_prog_compiler_pic='-fPIC -shared'
;;
osf3* | osf4* | osf5*)
lt_prog_compiler_wl='-Wl,'
# All OSF/1 code is PIC.
lt_prog_compiler_static='-non_shared'
;;
rdos*)
lt_prog_compiler_static='-non_shared'
;;
solaris*)
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
esac
;;
sunos4*)
lt_prog_compiler_wl='-Qoption ld '
lt_prog_compiler_pic='-PIC'
lt_prog_compiler_static='-Bstatic'
;;
sysv4 | sysv4.2uw2* | sysv4.3*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
;;
sysv4*MP*)
if test -d /usr/nec; then
lt_prog_compiler_pic='-Kconform_pic'
lt_prog_compiler_static='-Bstatic'
fi
;;
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
;;
unicos*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_can_build_shared=no
;;
uts4*)
lt_prog_compiler_pic='-pic'
lt_prog_compiler_static='-Bstatic'
;;
*)
lt_prog_compiler_can_build_shared=no
;;
esac
fi
case $host_os in
# For platforms that do not support PIC, -DPIC is meaningless:
*djgpp*)
lt_prog_compiler_pic=
;;
*)
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if ${lt_cv_prog_compiler_pic+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
$as_echo "$lt_cv_prog_compiler_pic" >&6; }
lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
if ${lt_cv_prog_compiler_pic_works+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
# The option is referenced via a variable to avoid confusing sed.
lt_compile=`echo "$ac_compile" | $SED \
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_pic_works=yes
fi
fi
$RM conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
if test yes = "$lt_cv_prog_compiler_pic_works"; then
case $lt_prog_compiler_pic in
"" | " "*) ;;
*) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
esac
else
lt_prog_compiler_pic=
lt_prog_compiler_can_build_shared=no
fi
fi
#
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
if ${lt_cv_prog_compiler_static_works+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works=no
save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&5
$ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_static_works=yes
fi
else
lt_cv_prog_compiler_static_works=yes
fi
fi
$RM -r conftest*
LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
if test yes = "$lt_cv_prog_compiler_static_works"; then
:
else
lt_prog_compiler_static=
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if ${lt_cv_prog_compiler_c_o+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o=no
$RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
mkdir out
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
lt_compile=`echo "$ac_compile" | $SED \
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
$ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o=yes
fi
fi
chmod u+w . 2>&5
$RM conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
$RM out/* && rmdir out
cd ..
$RM -r conftest
$RM conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if ${lt_cv_prog_compiler_c_o+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o=no
$RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
mkdir out
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
lt_compile=`echo "$ac_compile" | $SED \
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
$ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o=yes
fi
fi
chmod u+w . 2>&5
$RM conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
$RM out/* && rmdir out
cd ..
$RM -r conftest
$RM conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
hard_links=nottested
if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
$as_echo "$hard_links" >&6; }
if test no = "$hard_links"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag=
always_export_symbols=no
archive_cmds=
archive_expsym_cmds=
compiler_needs_object=no
enable_shared_with_static_runtimes=no
export_dynamic_flag_spec=
export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
hardcode_automatic=no
hardcode_direct=no
hardcode_direct_absolute=no
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
inherit_rpath=no
link_all_deplibs=unknown
module_cmds=
module_expsym_cmds=
old_archive_from_new_cmds=
old_archive_from_expsyms_cmds=
thread_safe_flag_spec=
whole_archive_flag_spec=
# include_expsyms should be a list of space-separated symbols to be *always*
# included in the symbol list
include_expsyms=
# exclude_expsyms can be an extended regexp of symbols to exclude
# it will be wrapped by ' (' and ')$', so one must not match beginning or
# end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
# as well as any symbol that contains 'd'.
exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
# Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
interix*)
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
openbsd* | bitrig*)
with_gnu_ld=no
;;
esac
ld_shlibs=yes
# On some targets, GNU ld is compatible enough with the native linker
# that we're better off using the native interface for both.
lt_use_gnu_ld_interface=no
if test yes = "$with_gnu_ld"; then
case $host_os in
aix*)
# The AIX port of GNU ld has always aspired to compatibility
# with the native linker. However, as the warning in the GNU ld
# block says, versions before 2.19.5* couldn't really create working
# shared libraries, regardless of the interface used.
case `$LD -v 2>&1` in
*\ \(GNU\ Binutils\)\ 2.19.5*) ;;
*\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
*\ \(GNU\ Binutils\)\ [3-9]*) ;;
*)
lt_use_gnu_ld_interface=yes
;;
esac
;;
*)
lt_use_gnu_ld_interface=yes
;;
esac
fi
if test yes = "$lt_use_gnu_ld_interface"; then
# If archive_cmds runs LD, not CC, wlarc should be empty
wlarc='$wl'
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
export_dynamic_flag_spec='$wl--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
whole_archive_flag_spec=
fi
supports_anon_versioning=no
case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
*\ 2.11.*) ;; # other 2.11 versions
*) supports_anon_versioning=yes ;;
esac
# See if GNU ld supports shared libraries.
case $host_os in
aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test ia64 != "$host_cpu"; then
ld_shlibs=no
cat <<_LT_EOF 1>&2
*** Warning: the GNU linker, at least up to release 2.19, is reported
*** to be unable to reliably create shared libraries on AIX.
*** Therefore, libtool is disabling shared libraries support. If you
*** really care for shared libraries, you may want to install binutils
*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
*** You will then need to restart the configuration process.
_LT_EOF
fi
;;
amigaos*)
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds=''
;;
m68k)
archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
esac
;;
beos*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
allow_undefined_flag=unsupported
# Joseph Beckenbach says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
ld_shlibs=no
fi
;;
cygwin* | mingw* | pw32* | cegcc*)
# _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
# as there is no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
export_dynamic_flag_spec='$wl--export-all-symbols'
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file, use it as
# is; otherwise, prepend EXPORTS...
archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
cp $export_symbols $output_objdir/$soname.def;
else
echo EXPORTS > $output_objdir/$soname.def;
cat $export_symbols >> $output_objdir/$soname.def;
fi~
$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
ld_shlibs=no
fi
;;
haiku*)
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
link_all_deplibs=yes
;;
os2*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
allow_undefined_flag=unsupported
shrext_cmds=.dll
archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
$ECHO EXPORTS >> $output_objdir/$libname.def~
emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
$ECHO EXPORTS >> $output_objdir/$libname.def~
prefix_cmds="$SED"~
if test EXPORTS = "`$SED 1q $export_symbols`"; then
prefix_cmds="$prefix_cmds -e 1d";
fi~
prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
enable_shared_with_static_runtimes=yes
file_list_spec='@'
;;
interix[3-9]*)
hardcode_direct=no
hardcode_shlibpath_var=no
hardcode_libdir_flag_spec='$wl-rpath,$libdir'
export_dynamic_flag_spec='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
if test linux-dietlibc = "$host_os"; then
case $cc_basename in
diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
esac
fi
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
&& test no = "$tmp_diet"
then
tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group f77 and f90 compilers
whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
tmp_addflag=' -i_dynamic -nofor_main' ;;
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
lf95*) # Lahey Fortran 8.1
whole_archive_flag_spec=
tmp_sharedflag='--shared' ;;
nagfor*) # NAGFOR 5.3
tmp_sharedflag='-Wl,-shared' ;;
xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
nvcc*) # Cuda Compiler Driver 2.2
whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object=yes
;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
tmp_sharedflag='-G' ;;
esac
archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
case $cc_basename in
tcc*)
export_dynamic_flag_spec='-rdynamic'
;;
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
else
ld_shlibs=no
fi
;;
netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
solaris*)
if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
cat <<_LT_EOF 1>&2
*** Warning: The releases 2.8.* of the GNU linker cannot reliably
*** create shared libraries on Solaris systems. Therefore, libtool
*** is disabling shared libraries support. We urge you to upgrade GNU
*** binutils to release 2.9.1 or newer. Another option is to modify
*** your PATH or compiler configuration so that the native linker is
*** used, and then restart.
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
case `$LD -v 2>&1` in
*\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
ld_shlibs=no
cat <<_LT_EOF 1>&2
*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
*** reliably create shared libraries on SCO systems. Therefore, libtool
*** is disabling shared libraries support. We urge you to upgrade GNU
*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
*** your PATH or compiler configuration so that the native linker is
*** used, and then restart.
_LT_EOF
;;
*)
# For security reasons, it is highly recommended that you always
# use absolute paths for naming shared libraries, and exclude the
# DT_RUNPATH tag from executables and libraries. But doing so
# requires that you compile everything twice, which is a pain.
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
;;
esac
;;
sunos4*)
archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
wlarc=
hardcode_direct=yes
hardcode_shlibpath_var=no
;;
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
;;
esac
if test no = "$ld_shlibs"; then
runpath_var=
hardcode_libdir_flag_spec=
export_dynamic_flag_spec=
whole_archive_flag_spec=
fi
else
# PORTME fill in a description of your system's linker (not GNU ld)
case $host_os in
aix3*)
allow_undefined_flag=unsupported
always_export_symbols=yes
archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
fi
;;
aix[4-9]*)
if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
no_entry_flag=
else
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to GNU nm, but means don't demangle to AIX nm.
# Without the "-l" option, or with the "-B" option, AIX nm treats
# weak defined symbols like other global defined symbols, whereas
# GNU nm marks them as "W".
# While the 'weak' keyword is ignored in the Export File, we need
# it in the Import File for the 'aix-soname' feature, so we have
# to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# have runtime linking enabled, and use it for executables.
# For shared libraries, we enable/disable runtime linking
# depending on the kind of the shared library created -
# when "with_aix_soname,aix_use_runtimelinking" is:
# "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
# "aix,yes" lib.so shared, rtl:yes, for executables
# lib.a static archive
# "both,no" lib.so.V(shr.o) shared, rtl:yes
# lib.a(lib.so.V) shared, rtl:no, for executables
# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
# lib.a(lib.so.V) shared, rtl:no
# "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
# lib.a static archive
case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
aix_use_runtimelinking=yes
break
fi
done
if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
# With aix-soname=svr4, we create the lib.so.V shared archives only,
# so we don't have lib.a shared libs to link our executables.
# We have to force runtime linking in this case.
aix_use_runtimelinking=yes
LDFLAGS="$LDFLAGS -Wl,-brtl"
fi
;;
esac
exp_sym_flag='-bexport'
no_entry_flag='-bnoentry'
fi
# When large executables or shared objects are built, AIX ld can
# have problems creating the table of contents. If linking a library
# or program results in "error TOC overflow" add -mminimal-toc to
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
archive_cmds=''
hardcode_direct=yes
hardcode_direct_absolute=yes
hardcode_libdir_separator=':'
link_all_deplibs=yes
file_list_spec='$wl-f,'
case $with_aix_soname,$aix_use_runtimelinking in
aix,*) ;; # traditional, no import file
svr4,* | *,yes) # use import file
# The Import File defines what to hardcode.
hardcode_direct=no
hardcode_direct_absolute=no
;;
esac
if test yes = "$GCC"; then
case $host_os in aix4.[012]|aix4.[012].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
# We have reworked collect2
:
else
# We have old collect2
hardcode_direct=unsupported
# It fails to find uninstalled libraries when the uninstalled
# path is not listed in the libpath. Setting hardcode_minus_L
# to unsupported forces relinking
hardcode_minus_L=yes
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
;;
esac
shared_flag='-shared'
if test yes = "$aix_use_runtimelinking"; then
shared_flag="$shared_flag "'$wl-G'
fi
# Need to ensure runtime linking is disabled for the traditional
# shared library, or the linker may eventually find shared libraries
# /with/ Import File - we do not want to mix them.
shared_flag_aix='-shared'
shared_flag_svr4='-shared $wl-G'
else
# not using gcc
if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
if test yes = "$aix_use_runtimelinking"; then
shared_flag='$wl-G'
else
shared_flag='$wl-bM:SRE'
fi
shared_flag_aix='$wl-bM:SRE'
shared_flag_svr4='$wl-G'
fi
fi
export_dynamic_flag_spec='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
always_export_symbols=yes
if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
if ${lt_cv_aix_libpath_+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
/^0/ {
s/^0 *\([^ ]*\) *$/\1/
p
}
}'
lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
if test -z "$lt_cv_aix_libpath_"; then
lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath_"; then
lt_cv_aix_libpath_=/usr/lib:/lib
fi
fi
aix_libpath=$lt_cv_aix_libpath_
fi
hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
if test ia64 = "$host_cpu"; then
hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
allow_undefined_flag="-z nodefs"
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
if ${lt_cv_aix_libpath_+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
/^0/ {
s/^0 *\([^ ]*\) *$/\1/
p
}
}'
lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
if test -z "$lt_cv_aix_libpath_"; then
lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath_"; then
lt_cv_aix_libpath_=/usr/lib:/lib
fi
fi
aix_libpath=$lt_cv_aix_libpath_
fi
hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
no_undefined_flag=' $wl-bernotok'
allow_undefined_flag=' $wl-berok'
if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
whole_archive_flag_spec='$convenience'
fi
archive_cmds_need_lc=yes
archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
# -brtl affects multiple linker settings, -berok does not and is overridden later
compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
if test svr4 != "$with_aix_soname"; then
# This is similar to how AIX traditionally builds its shared libraries.
archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
fi
if test aix != "$with_aix_soname"; then
archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
else
# used by -dlpreopen to get the symbols
archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
fi
archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
amigaos*)
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds=''
;;
m68k)
archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
esac
;;
bsdi[45]*)
export_dynamic_flag_spec=-rdynamic
;;
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
case $cc_basename in
cl*)
# Native MSVC
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
always_export_symbols=yes
file_list_spec='@'
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
cp "$export_symbols" "$output_objdir/$soname.def";
echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
else
$SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
fi~
$CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
enable_shared_with_static_runtimes=yes
exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
# Don't use ranlib
old_postinstall_cmds='chmod 644 $oldlib'
postlink_cmds='lt_outputfile="@OUTPUT@"~
lt_tool_outputfile="@TOOL_OUTPUT@"~
case $lt_outputfile in
*.exe|*.EXE) ;;
*)
lt_outputfile=$lt_outputfile.exe
lt_tool_outputfile=$lt_tool_outputfile.exe
;;
esac~
if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
$MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
$RM "$lt_outputfile.manifest";
fi'
;;
*)
# Assume MSVC wrapper
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
old_archive_from_new_cmds='true'
# FIXME: Should let the user specify the lib program.
old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
enable_shared_with_static_runtimes=yes
;;
esac
;;
darwin* | rhapsody*)
archive_cmds_need_lc=no
hardcode_direct=no
hardcode_automatic=yes
hardcode_shlibpath_var=unsupported
if test yes = "$lt_cv_ld_force_load"; then
whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
else
whole_archive_flag_spec=''
fi
link_all_deplibs=yes
allow_undefined_flag=$_lt_dar_allow_undefined
case $cc_basename in
ifort*|nagfor*) _lt_dar_can_shared=yes ;;
*) _lt_dar_can_shared=$GCC ;;
esac
if test yes = "$_lt_dar_can_shared"; then
output_verbose_link_cmd=func_echo_all
archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
else
ld_shlibs=no
fi
;;
dgux*)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_libdir_flag_spec='-L$libdir'
hardcode_shlibpath_var=no
;;
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
# extra space).
freebsd2.2*)
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
freebsd2.*)
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
hardcode_minus_L=yes
hardcode_shlibpath_var=no
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
;;
hpux9*)
if test yes = "$GCC"; then
archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
fi
hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
export_dynamic_flag_spec='$wl-E'
;;
hpux10*)
if test yes,no = "$GCC,$with_gnu_ld"; then
archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
if test no = "$with_gnu_ld"; then
hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
hardcode_direct_absolute=yes
export_dynamic_flag_spec='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
fi
;;
hpux11*)
if test yes,no = "$GCC,$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
hppa*64*)
archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
# Older versions of the 11.00 compiler do not understand -b yet
# (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
$as_echo_n "checking if $CC understands -b... " >&6; }
if ${lt_cv_prog_compiler__b+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler__b=no
save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -b"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&5
$ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler__b=yes
fi
else
lt_cv_prog_compiler__b=yes
fi
fi
$RM -r conftest*
LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
$as_echo "$lt_cv_prog_compiler__b" >&6; }
if test yes = "$lt_cv_prog_compiler__b"; then
archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
;;
esac
fi
if test no = "$with_gnu_ld"; then
hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
case $host_cpu in
hppa*64*|ia64*)
hardcode_direct=no
hardcode_shlibpath_var=no
;;
*)
hardcode_direct=yes
hardcode_direct_absolute=yes
export_dynamic_flag_spec='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
esac
fi
;;
irix5* | irix6* | nonstopux*)
if test yes = "$GCC"; then
archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
# This should be the same for all languages, so no per-tag cache variable.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
if ${lt_cv_irix_exported_symbol+:} false; then :
$as_echo_n "(cached) " >&6
else
save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo (void) { return 0; }
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
lt_cv_irix_exported_symbol=yes
else
lt_cv_irix_exported_symbol=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
$as_echo "$lt_cv_irix_exported_symbol" >&6; }
if test yes = "$lt_cv_irix_exported_symbol"; then
archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
fi
archive_cmds_need_lc='no'
hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
inherit_rpath=yes
link_all_deplibs=yes
;;
linux*)
case $cc_basename in
tcc*)
# Fabrice Bellard et al's Tiny C Compiler
ld_shlibs=yes
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
fi
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
;;
newsos6)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
hardcode_shlibpath_var=no
;;
*nto* | *qnx*)
;;
openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
hardcode_shlibpath_var=no
hardcode_direct_absolute=yes
if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
hardcode_libdir_flag_spec='$wl-rpath,$libdir'
export_dynamic_flag_spec='$wl-E'
else
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec='$wl-rpath,$libdir'
fi
else
ld_shlibs=no
fi
;;
os2*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
allow_undefined_flag=unsupported
shrext_cmds=.dll
archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
$ECHO EXPORTS >> $output_objdir/$libname.def~
emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
$ECHO EXPORTS >> $output_objdir/$libname.def~
prefix_cmds="$SED"~
if test EXPORTS = "`$SED 1q $export_symbols`"; then
prefix_cmds="$prefix_cmds -e 1d";
fi~
prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
enable_shared_with_static_runtimes=yes
file_list_spec='@'
;;
osf3*)
if test yes = "$GCC"; then
allow_undefined_flag=' $wl-expect_unresolved $wl\*'
archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
allow_undefined_flag=' -expect_unresolved \*'
archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
fi
archive_cmds_need_lc='no'
hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test yes = "$GCC"; then
allow_undefined_flag=' $wl-expect_unresolved $wl\*'
archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
$CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
fi
archive_cmds_need_lc='no'
hardcode_libdir_separator=:
;;
solaris*)
no_undefined_flag=' -z defs'
if test yes = "$GCC"; then
wlarc='$wl'
archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
$CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
wlarc=''
archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
$LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
;;
*)
wlarc='$wl'
archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
$CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
;;
esac
fi
hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
# The compiler driver will combine and reorder linker options,
# but understands '-z linker_flag'. GCC discards it without '$wl',
# but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
if test yes = "$GCC"; then
whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
else
whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
fi
;;
esac
link_all_deplibs=yes
;;
sunos4*)
if test sequent = "$host_vendor"; then
# Use $CC to link under sequent, because it throws in some extra .o
# files that make .init and .fini sections work.
archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
fi
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
hardcode_shlibpath_var=no
;;
sysv4)
case $host_vendor in
sni)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes # is this really true???
;;
siemens)
## LD is ld it makes a PLAMLIB
## CC just makes a GrossModule.
archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
reload_cmds='$CC -r -o $output$reload_objs'
hardcode_direct=no
;;
motorola)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
;;
esac
runpath_var='LD_RUN_PATH'
hardcode_shlibpath_var=no
;;
sysv4.3*)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_shlibpath_var=no
export_dynamic_flag_spec='-Bexport'
;;
sysv4*MP*)
if test -d /usr/nec; then
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_shlibpath_var=no
runpath_var=LD_RUN_PATH
hardcode_runpath_var=yes
ld_shlibs=yes
fi
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
no_undefined_flag='$wl-z,text'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
runpath_var='LD_RUN_PATH'
if test yes = "$GCC"; then
archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
sysv5* | sco3.2v5* | sco5v6*)
# Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
no_undefined_flag='$wl-z,text'
allow_undefined_flag='$wl-z,nodefs'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
hardcode_libdir_flag_spec='$wl-R,$libdir'
hardcode_libdir_separator=':'
link_all_deplibs=yes
export_dynamic_flag_spec='$wl-Bexport'
runpath_var='LD_RUN_PATH'
if test yes = "$GCC"; then
archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
uts4*)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_libdir_flag_spec='-L$libdir'
hardcode_shlibpath_var=no
;;
*)
ld_shlibs=no
;;
esac
if test sni = "$host_vendor"; then
case $host in
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
export_dynamic_flag_spec='$wl-Blargedynsym'
;;
esac
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
$as_echo "$ld_shlibs" >&6; }
test no = "$ld_shlibs" && can_build_shared=no
with_gnu_ld=$with_gnu_ld
#
# Do we need to explicitly link libc?
#
case "x$archive_cmds_need_lc" in
x|xyes)
# Assume -lc should be added
archive_cmds_need_lc=yes
if test yes,yes = "$GCC,$enable_shared"; then
case $archive_cmds in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
;;
'$CC '*)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
if ${lt_cv_archive_cmds_need_lc+:} false; then :
$as_echo_n "(cached) " >&6
else
$RM conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } 2>conftest.err; then
soname=conftest
lib=conftest
libobjs=conftest.$ac_objext
deplibs=
wl=$lt_prog_compiler_wl
pic_flag=$lt_prog_compiler_pic
compiler_flags=-v
linker_flags=-v
verstring=
output_objdir=.
libname=conftest
lt_save_allow_undefined_flag=$allow_undefined_flag
allow_undefined_flag=
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
(eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
then
lt_cv_archive_cmds_need_lc=no
else
lt_cv_archive_cmds_need_lc=yes
fi
allow_undefined_flag=$lt_save_allow_undefined_flag
else
cat conftest.err 1>&5
fi
$RM conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
;;
esac
fi
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
$as_echo_n "checking dynamic linker characteristics... " >&6; }
if test yes = "$GCC"; then
case $host_os in
darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
*) lt_awk_arg='/^libraries:/' ;;
esac
case $host_os in
mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
*) lt_sed_strip_eq='s|=/|/|g' ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
case $lt_search_path_spec in
*\;*)
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
;;
*)
lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
;;
esac
# Ok, now we have the path, separated by spaces, we can step through it
# and add multilib dir if necessary...
lt_tmp_lt_search_path_spec=
lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
# ...but if some path component already ends with the multilib dir we assume
# that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
case "$lt_multi_os_dir; $lt_search_path_spec " in
"/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
lt_multi_os_dir=
;;
esac
for lt_sys_path in $lt_search_path_spec; do
if test -d "$lt_sys_path$lt_multi_os_dir"; then
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
elif test -n "$lt_multi_os_dir"; then
test -d "$lt_sys_path" && \
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
BEGIN {RS = " "; FS = "/|\n";} {
lt_foo = "";
lt_count = 0;
for (lt_i = NF; lt_i > 0; lt_i--) {
if ($lt_i != "" && $lt_i != ".") {
if ($lt_i == "..") {
lt_count++;
} else {
if (lt_count == 0) {
lt_foo = "/" $lt_i lt_foo;
} else {
lt_count--;
}
}
}
}
if (lt_foo != "") { lt_freq[lt_foo]++; }
if (lt_freq[lt_foo] == 1) { print lt_foo; }
}'`
# AWK program above erroneously prepends '/' to C:/dos/paths
# for these hosts.
case $host_os in
mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
$SED 's|/\([A-Za-z]:\)|\1|g'` ;;
esac
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi
library_names_spec=
libname_spec='lib$name'
soname_spec=
shrext_cmds=.so
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
finish_eval=
shlibpath_var=
shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
need_lib_prefix=unknown
hardcode_into_libs=no
# when you set need_version to no, make sure it does not cause -set_version
# flags to be left without arguments
need_version=unknown
case $host_os in
aix3*)
version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
soname_spec='$libname$release$shared_ext$major'
;;
aix[4-9]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
if test ia64 = "$host_cpu"; then
# AIX 5 supports IA64
library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
# for dependence libraries. The import file would start with
# the line '#! .'. This would cause the generated library to
# depend on '.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
fi
;;
esac
# Using Import Files as archive members, it is possible to support
# filename-based versioning of shared library archives on AIX. While
# this would work for both with and without runtime linking, it will
# prevent static linking of such archives. So we do filename-based
# shared library versioning with .so extension only, which is used
# when both runtime linking and shared linking is enabled.
# Unfortunately, runtime linking may impact performance, so we do
# not want this to be the default eventually. Also, we use the
# versioned .so libs for executables only if there is the -brtl
# linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
# To allow for filename-based versioning support, we need to create
# libNAME.so.V as an archive file, containing:
# *) an Import File, referring to the versioned filename of the
# archive as well as the shared archive member, telling the
# bitwidth (32 or 64) of that shared object, and providing the
# list of exported symbols of that shared object, eventually
# decorated with the 'weak' keyword
# *) the shared object with the F_LOADONLY flag set, to really avoid
# it being seen by the linker.
# At run time we better use the real file rather than another symlink,
# but for link time we create the symlink libNAME.so -> libNAME.so.V
case $with_aix_soname,$aix_use_runtimelinking in
# AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
# soname into executable. Probably we can add versioning support to
# collect2, so additional links can be useful in future.
aix,yes) # traditional libtool
dynamic_linker='AIX unversionable lib.so'
# If using run time linking (on AIX 4.2 or later) use lib.so
# instead of lib.a to let people know that these are not
# typical AIX shared libraries.
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
;;
aix,no) # traditional AIX only
dynamic_linker='AIX lib.a(lib.so.V)'
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
library_names_spec='$libname$release.a $libname.a'
soname_spec='$libname$release$shared_ext$major'
;;
svr4,*) # full svr4 only
dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
# We do not specify a path in Import Files, so LIBPATH fires.
shlibpath_overrides_runpath=yes
;;
*,yes) # both, prefer svr4
dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
# unpreferred sharedlib libNAME.a needs extra handling
postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
# We do not specify a path in Import Files, so LIBPATH fires.
shlibpath_overrides_runpath=yes
;;
*,no) # both, prefer aix
dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
library_names_spec='$libname$release.a $libname.a'
soname_spec='$libname$release$shared_ext$major'
# unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
;;
esac
shlibpath_var=LIBPATH
fi
;;
amigaos*)
case $host_cpu in
powerpc)
# Since July 2007 AmigaOS4 officially supports .so libraries.
# When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
;;
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
beos*)
library_names_spec='$libname$shared_ext'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
bsdi[45]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
# the default ld.so.conf also contains /usr/contrib/lib and
# /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
# libtool to hard-code these into programs
;;
cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=.dll
need_version=no
need_lib_prefix=no
case $GCC,$cc_basename in
yes,*)
# gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
chmod a+x \$dldir/$dlname~
if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
$RM \$dlpath'
shlibpath_overrides_runpath=yes
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
;;
mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
;;
*,cl*)
# Native MSVC
libname_spec='$name'
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
library_names_spec='$libname.dll.lib'
case $build_os in
mingw*)
sys_lib_search_path_spec=
lt_save_ifs=$IFS
IFS=';'
for lt_path in $LIB
do
IFS=$lt_save_ifs
# Let DOS variable expansion print the short 8.3 style file name.
lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
done
IFS=$lt_save_ifs
# Convert to MSYS style.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
;;
cygwin*)
# Convert to unix form, then to dos form, then back to unix form
# but this time dos style (no spaces!) so that the unix form looks
# like /cygdrive/c/PROGRA~1:/cygdr...
sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
;;
*)
sys_lib_search_path_spec=$LIB
if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
# It is most probably a Windows format PATH.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
else
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
# FIXME: find the short name or the path components, as spaces are
# common. (e.g. "Program Files" -> "PROGRA~1")
;;
esac
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
$RM \$dlpath'
shlibpath_overrides_runpath=yes
dynamic_linker='Win32 link.exe'
;;
*)
# Assume MSVC wrapper
library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
esac
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
darwin* | rhapsody*)
dynamic_linker="$host_os dyld"
version_type=darwin
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
soname_spec='$libname$release$major$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
dgux*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
if test -x /usr/bin/objformat; then
objformat=`/usr/bin/objformat`
else
case $host_os in
freebsd[23].*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
need_version=yes
;;
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[01]* | freebsdelf3.[01]*)
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
*) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
esac
;;
haiku*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=no
sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
hpux9* | hpux10* | hpux11*)
# Give a soname corresponding to the major version so that dld.sl refuses to
# link against other versions.
version_type=sunos
need_lib_prefix=no
need_version=no
case $host_cpu in
ia64*)
shrext_cmds='.so'
hardcode_into_libs=yes
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
;;
hppa*64*)
shrext_cmds='.sl'
hardcode_into_libs=yes
dynamic_linker="$host_os dld.sl"
shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
*)
shrext_cmds='.sl'
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
;;
esac
# HP-UX runs *really* slowly unless shared libraries are mode 555, ...
postinstall_cmds='chmod 555 $lib'
# or fails outright, so override atomically:
install_override_mode=555
;;
interix[3-9]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
*)
if test yes = "$lt_cv_prog_gnu_ld"; then
version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
esac
need_lib_prefix=no
need_version=no
soname_spec='$libname$release$shared_ext$major'
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
;;
*)
case $LD in # libtool.m4 will add one of these switches to LD
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
libsuff= shlibsuff= libmagic=32-bit;;
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
libsuff=32 shlibsuff=N32 libmagic=N32;;
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
libsuff=64 shlibsuff=64 libmagic=64-bit;;
*) libsuff= shlibsuff= libmagic=never-match;;
esac
;;
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
hardcode_into_libs=yes
;;
# No shared lib support for Linux oldld, aout, or coff.
linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
linux*android*)
version_type=none # Android doesn't support versioned libraries.
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext'
soname_spec='$libname$release$shared_ext'
finish_cmds=
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
dynamic_linker='Android linker'
# Don't embed -rpath directories since the linker doesn't support them.
hardcode_libdir_flag_spec='-L$libdir'
;;
# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
# Some binutils ld are patched to set DT_RUNPATH
if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_shlibpath_overrides_runpath=no
save_LDFLAGS=$LDFLAGS
save_libdir=$libdir
eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
lt_cv_shlibpath_overrides_runpath=yes
fi
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$save_LDFLAGS
libdir=$save_libdir
fi
shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
# Ideally, we could use ldconfig to report *all* directores which are
# searched for libraries, however this is still not possible. Aside from not
# being certain /sbin/ldconfig is available, command
# 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
# even though it is searched at run-time. Try to do the best guess by
# appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
# powerpc, because MkLinux only supported shared libraries with the
# GNU dynamic linker. Since this was broken with cross compilers,
# most powerpc-linux boxes support dynamic linking these days and
# people can always --disable-shared, the test was removed, and we
# assume the GNU/Linux dynamic linker is in use.
dynamic_linker='GNU/Linux ld.so'
;;
netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
newsos6)
version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
*nto* | *qnx*)
version_type=qnx
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
dynamic_linker='ldqnx.so'
;;
openbsd* | bitrig*)
version_type=sunos
sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
need_version=no
else
need_version=yes
fi
library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
os2*)
libname_spec='$name'
version_type=windows
shrext_cmds=.dll
need_version=no
need_lib_prefix=no
# OS/2 can only load a DLL with a base name of 8 characters or less.
soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
v=$($ECHO $release$versuffix | tr -d .-);
n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
$ECHO $n$v`$shared_ext'
library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
shlibpath_var=BEGINLIBPATH
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
chmod a+x \$dldir/$dlname~
if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
dlpath=$dir/\$dldll~
$RM \$dlpath'
;;
osf3* | osf4* | osf5*)
version_type=osf
need_lib_prefix=no
need_version=no
soname_spec='$libname$release$shared_ext$major'
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
rdos*)
dynamic_linker=no
;;
solaris*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
# ldd complains unless libraries are executable
postinstall_cmds='chmod +x $lib'
;;
sunos4*)
version_type=sunos
library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
if test yes = "$with_gnu_ld"; then
need_lib_prefix=no
fi
need_version=yes
;;
sysv4 | sysv4.3*)
version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
shlibpath_overrides_runpath=no
need_lib_prefix=no
runpath_var=LD_RUN_PATH
;;
siemens)
need_lib_prefix=no
;;
motorola)
need_lib_prefix=no
need_version=no
shlibpath_overrides_runpath=no
sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
;;
esac
;;
sysv4*MP*)
if test -d /usr/nec; then
version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
soname_spec='$libname$shared_ext.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
version_type=sco
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
if test yes = "$with_gnu_ld"; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
case $host_os in
sco3.2v5*)
sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
;;
esac
fi
sys_lib_dlsearch_path_spec='/usr/lib'
;;
tpf*)
# TPF is a cross-target only. Preferred cross-host = GNU/Linux.
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
uts4*)
version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
*)
dynamic_linker=no
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
$as_echo "$dynamic_linker" >&6; }
test no = "$dynamic_linker" && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test yes = "$GCC"; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" ||
test -n "$runpath_var" ||
test yes = "$hardcode_automatic"; then
# We can hardcode non-existent directories.
if test no != "$hardcode_direct" &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
test no != "$hardcode_minus_L"; then
# Linking always hardcodes the temporary library directory.
hardcode_action=relink
else
# We can link without hardcoding, and we can hardcode nonexisting dirs.
hardcode_action=immediate
fi
else
# We cannot hardcode anything, or else we can only hardcode existing
# directories.
hardcode_action=unsupported
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
$as_echo "$hardcode_action" >&6; }
if test relink = "$hardcode_action" ||
test yes = "$inherit_rpath"; then
# Fast installation is not supported
enable_fast_install=no
elif test yes = "$shlibpath_overrides_runpath" ||
test no = "$enable_shared"; then
# Fast installation is not necessary
enable_fast_install=needless
fi
if test yes != "$enable_dlopen"; then
enable_dlopen=unknown
enable_dlopen_self=unknown
enable_dlopen_self_static=unknown
else
lt_cv_dlopen=no
lt_cv_dlopen_libs=
case $host_os in
beos*)
lt_cv_dlopen=load_add_on
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
;;
mingw* | pw32* | cegcc*)
lt_cv_dlopen=LoadLibrary
lt_cv_dlopen_libs=
;;
cygwin*)
lt_cv_dlopen=dlopen
lt_cv_dlopen_libs=
;;
darwin*)
# if libdl is installed we need to link against it
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
if ${ac_cv_lib_dl_dlopen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char dlopen ();
int
main ()
{
return dlopen ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_dl_dlopen=yes
else
ac_cv_lib_dl_dlopen=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
else
lt_cv_dlopen=dyld
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
fi
;;
tpf*)
# Don't try to run any link tests for TPF. We know it's impossible
# because TPF is a cross-compiler, and we know how we open DSOs.
lt_cv_dlopen=dlopen
lt_cv_dlopen_libs=
lt_cv_dlopen_self=no
;;
*)
ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
if test "x$ac_cv_func_shl_load" = xyes; then :
lt_cv_dlopen=shl_load
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
$as_echo_n "checking for shl_load in -ldld... " >&6; }
if ${ac_cv_lib_dld_shl_load+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char shl_load ();
int
main ()
{
return shl_load ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_dld_shl_load=yes
else
ac_cv_lib_dld_shl_load=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
else
ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
if test "x$ac_cv_func_dlopen" = xyes; then :
lt_cv_dlopen=dlopen
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
if ${ac_cv_lib_dl_dlopen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char dlopen ();
int
main ()
{
return dlopen ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_dl_dlopen=yes
else
ac_cv_lib_dl_dlopen=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
$as_echo_n "checking for dlopen in -lsvld... " >&6; }
if ${ac_cv_lib_svld_dlopen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsvld $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char dlopen ();
int
main ()
{
return dlopen ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_svld_dlopen=yes
else
ac_cv_lib_svld_dlopen=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
$as_echo_n "checking for dld_link in -ldld... " >&6; }
if ${ac_cv_lib_dld_dld_link+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char dld_link ();
int
main ()
{
return dld_link ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_dld_dld_link=yes
else
ac_cv_lib_dld_dld_link=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
fi
fi
fi
fi
fi
fi
;;
esac
if test no = "$lt_cv_dlopen"; then
enable_dlopen=no
else
enable_dlopen=yes
fi
case $lt_cv_dlopen in
dlopen)
save_CPPFLAGS=$CPPFLAGS
test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
save_LDFLAGS=$LDFLAGS
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
save_LIBS=$LIBS
LIBS="$lt_cv_dlopen_libs $LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
$as_echo_n "checking whether a program can dlopen itself... " >&6; }
if ${lt_cv_dlopen_self+:} false; then :
$as_echo_n "(cached) " >&6
else
if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
#include
#endif
#include
#ifdef RTLD_GLOBAL
# define LT_DLGLOBAL RTLD_GLOBAL
#else
# ifdef DL_GLOBAL
# define LT_DLGLOBAL DL_GLOBAL
# else
# define LT_DLGLOBAL 0
# endif
#endif
/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
find out it does not work in some platform. */
#ifndef LT_DLLAZY_OR_NOW
# ifdef RTLD_LAZY
# define LT_DLLAZY_OR_NOW RTLD_LAZY
# else
# ifdef DL_LAZY
# define LT_DLLAZY_OR_NOW DL_LAZY
# else
# ifdef RTLD_NOW
# define LT_DLLAZY_OR_NOW RTLD_NOW
# else
# ifdef DL_NOW
# define LT_DLLAZY_OR_NOW DL_NOW
# else
# define LT_DLLAZY_OR_NOW 0
# endif
# endif
# endif
# endif
#endif
/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
int fnord () { return 42; }
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
int status = $lt_dlunknown;
if (self)
{
if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
else
{
if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
else puts (dlerror ());
}
/* dlclose (self); */
}
else
puts (dlerror ());
return status;
}
_LT_EOF
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
esac
else :
# compilation failed
lt_cv_dlopen_self=no
fi
fi
rm -fr conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
$as_echo "$lt_cv_dlopen_self" >&6; }
if test yes = "$lt_cv_dlopen_self"; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
if ${lt_cv_dlopen_self_static+:} false; then :
$as_echo_n "(cached) " >&6
else
if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self_static=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
#include
#endif
#include
#ifdef RTLD_GLOBAL
# define LT_DLGLOBAL RTLD_GLOBAL
#else
# ifdef DL_GLOBAL
# define LT_DLGLOBAL DL_GLOBAL
# else
# define LT_DLGLOBAL 0
# endif
#endif
/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
find out it does not work in some platform. */
#ifndef LT_DLLAZY_OR_NOW
# ifdef RTLD_LAZY
# define LT_DLLAZY_OR_NOW RTLD_LAZY
# else
# ifdef DL_LAZY
# define LT_DLLAZY_OR_NOW DL_LAZY
# else
# ifdef RTLD_NOW
# define LT_DLLAZY_OR_NOW RTLD_NOW
# else
# ifdef DL_NOW
# define LT_DLLAZY_OR_NOW DL_NOW
# else
# define LT_DLLAZY_OR_NOW 0
# endif
# endif
# endif
# endif
#endif
/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
int fnord () { return 42; }
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
int status = $lt_dlunknown;
if (self)
{
if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
else
{
if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
else puts (dlerror ());
}
/* dlclose (self); */
}
else
puts (dlerror ());
return status;
}
_LT_EOF
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
esac
else :
# compilation failed
lt_cv_dlopen_self_static=no
fi
fi
rm -fr conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
$as_echo "$lt_cv_dlopen_self_static" >&6; }
fi
CPPFLAGS=$save_CPPFLAGS
LDFLAGS=$save_LDFLAGS
LIBS=$save_LIBS
;;
esac
case $lt_cv_dlopen_self in
yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
*) enable_dlopen_self=unknown ;;
esac
case $lt_cv_dlopen_self_static in
yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
*) enable_dlopen_self_static=unknown ;;
esac
fi
striplib=
old_striplib=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
$as_echo_n "checking whether stripping libraries is possible... " >&6; }
if test -z "$STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else
if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
old_striplib="$STRIP --strip-debug"
striplib="$STRIP --strip-unneeded"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
case $host_os in
darwin*)
# FIXME - insert some real tests, host_os isn't really good enough
striplib="$STRIP -x"
old_striplib="$STRIP -S"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
;;
freebsd*)
if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
old_striplib="$STRIP --strip-debug"
striplib="$STRIP --strip-unneeded"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
;;
*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
;;
esac
fi
fi
# Report what library types will actually be built
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
$as_echo_n "checking if libtool supports shared libraries... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
$as_echo "$can_build_shared" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
$as_echo_n "checking whether to build shared libraries... " >&6; }
test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
aix[4-9]*)
if test ia64 != "$host_cpu"; then
case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
yes,aix,yes) ;; # shared object as lib.so file only
yes,svr4,*) ;; # shared object as lib.so archive member only
yes,*) enable_static=no ;; # shared object in lib.a archive as well
esac
fi
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
$as_echo "$enable_shared" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
$as_echo_n "checking whether to build static libraries... " >&6; }
# Make sure either enable_shared or enable_static is yes.
test yes = "$enable_shared" || enable_static=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
$as_echo "$enable_static" >&6; }
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
CC=$lt_save_CC
ac_config_commands="$ac_config_commands libtool"
# Only expand once:
case $host_os in
*cygwin*|*mingw*)
if test x"$enable_shared" = "xyes"; then
CDD_LDFLAGS="$CDD_LDFLAGS -no-undefined"
fi
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5
$as_echo_n "checking for __gmpz_init in -lgmp... " >&6; }
if ${ac_cv_lib_gmp___gmpz_init+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lgmp $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char __gmpz_init ();
int
main ()
{
return __gmpz_init ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_gmp___gmpz_init=yes
else
ac_cv_lib_gmp___gmpz_init=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5
$as_echo "$ac_cv_lib_gmp___gmpz_init" >&6; }
if test "x$ac_cv_lib_gmp___gmpz_init" = xyes; then :
true
fi
if test "x$ac_cv_lib_gmp___gmpz_init" = "xyes"; then
GMP_TRUE=
GMP_FALSE='#'
else
GMP_TRUE='#'
GMP_FALSE=
fi
for ac_prog in latex
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_latex+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$latex"; then
ac_cv_prog_latex="$latex" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_latex="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
latex=$ac_cv_prog_latex
if test -n "$latex"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $latex" >&5
$as_echo "$latex" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$latex" && break
done
if test "x$ac_cv_prog_latex" != "x"; then
LATEX_TRUE=
LATEX_FALSE='#'
else
LATEX_TRUE='#'
LATEX_FALSE=
fi
for ac_prog in pdflatex
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_pdflatex+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$pdflatex"; then
ac_cv_prog_pdflatex="$pdflatex" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_pdflatex="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
pdflatex=$ac_cv_prog_pdflatex
if test -n "$pdflatex"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pdflatex" >&5
$as_echo "$pdflatex" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$pdflatex" && break
done
if test "x$ac_cv_prog_pdflatex" != "x"; then
PDF_TRUE=
PDF_FALSE='#'
else
PDF_TRUE='#'
PDF_FALSE=
fi
for ac_prog in latex2html
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_latex2html+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$latex2html"; then
ac_cv_prog_latex2html="$latex2html" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_latex2html="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
latex2html=$ac_cv_prog_latex2html
if test -n "$latex2html"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $latex2html" >&5
$as_echo "$latex2html" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$latex2html" && break
done
if test "x$ac_cv_prog_latex2html" != "x"; then
HTML_TRUE=
HTML_FALSE='#'
else
HTML_TRUE='#'
HTML_FALSE=
fi
for ac_prog in dvips
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_dvips+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$dvips"; then
ac_cv_prog_dvips="$dvips" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_dvips="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
dvips=$ac_cv_prog_dvips
if test -n "$dvips"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dvips" >&5
$as_echo "$dvips" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$dvips" && break
done
if test "x$ac_cv_prog_dvips" != "x"; then
PS_TRUE=
PS_FALSE='#'
else
PS_TRUE='#'
PS_FALSE=
fi
ac_config_files="$ac_config_files doc/Makefile lib-src/Makefile src/Makefile Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs, see configure's option --config-cache.
# It is not useful on other systems. If it contains results you don't
# want to keep, you may remove or edit it.
#
# config.status only pays attention to the cache file if you give it
# the --recheck option to rerun configure.
#
# `ac_cv_env_foo' variables (set or unset) will be overridden when
# loading this file, other *unset* `ac_cv_foo' will be assigned the
# following values.
_ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(
for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space=' '; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
# `set' does not quote correctly, so add quotes: double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \.
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
) |
sed '
/^ac_cv_env_/b end
t clear
:clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
if test "x$cache_file" != "x/dev/null"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
if test ! -f "$cache_file" || test -h "$cache_file"; then
cat confcache >"$cache_file"
else
case $cache_file in #(
*/* | ?:*)
mv -f confcache "$cache_file"$$ &&
mv -f "$cache_file"$$ "$cache_file" ;; #(
*)
mv -f confcache "$cache_file" ;;
esac
fi
fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
#
# If the first sed substitution is executed (which looks for macros that
# take arguments), then branch to the quote section. Otherwise,
# look for a macro that doesn't take arguments.
ac_script='
:mline
/\\$/{
N
s,\\\n,,
b mline
}
t clear
:clear
s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
t quote
s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
t quote
b any
:quote
s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
s/\[/\\&/g
s/\]/\\&/g
s/\$/$$/g
H
:any
${
g
s/^\n//
s/\n/ /g
p
}
'
DEFS=`sed -n "$ac_script" confdefs.h`
ac_libobjs=
ac_ltlibobjs=
U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
$as_echo_n "checking that generated files are newer than configure... " >&6; }
if test -n "$am_sleep_pid"; then
# Hide warnings about reused PIDs.
wait $am_sleep_pid 2>/dev/null
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
$as_echo "done" >&6; }
if test -n "$EXEEXT"; then
am__EXEEXT_TRUE=
am__EXEEXT_FALSE='#'
else
am__EXEEXT_TRUE='#'
am__EXEEXT_FALSE=
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
as_fn_error $? "conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${GMP_TRUE}" && test -z "${GMP_FALSE}"; then
as_fn_error $? "conditional \"GMP\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${LATEX_TRUE}" && test -z "${LATEX_FALSE}"; then
as_fn_error $? "conditional \"LATEX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${PDF_TRUE}" && test -z "${PDF_FALSE}"; then
as_fn_error $? "conditional \"PDF\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${HTML_TRUE}" && test -z "${HTML_FALSE}"; then
as_fn_error $? "conditional \"HTML\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${PS_TRUE}" && test -z "${PS_FALSE}"; then
as_fn_error $? "conditional \"PS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
as_write_fail=0
cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.
debug=false
ac_cs_recheck=false
ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
export SHELL
_ASEOF
cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
&& (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='print -r --'
as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='printf %s\n'
as_echo_n='printf %s'
else
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
as_echo_n='/usr/ucb/echo -n'
else
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
as_echo_n_body='eval
arg=$1;
case $arg in #(
*"$as_nl"*)
expr "X$arg" : "X\\(.*\\)$as_nl";
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
esac;
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
'
export as_echo_n_body
as_echo_n='sh -c $as_echo_n_body as_echo'
fi
export as_echo_body
as_echo='sh -c $as_echo_body as_echo'
fi
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# IFS
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there. '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
$as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
$as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
exec 6>&1
## ----------------------------------- ##
## Main body of $CONFIG_STATUS script. ##
## ----------------------------------- ##
_ASEOF
test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by cddlib $as_me 0.94j, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
CONFIG_LINKS = $CONFIG_LINKS
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
on `(hostname || uname -n) 2>/dev/null | sed 1q`
"
_ACEOF
case $ac_config_files in *"
"*) set x $ac_config_files; shift; ac_config_files=$*;;
esac
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_commands="$ac_config_commands"
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files and other configuration actions
from templates according to the current configuration. Unless the files
and actions are specified as TAGs, all are instantiated by default.
Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
--config print configuration, then exit
-q, --quiet, --silent
do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
--file=FILE[:TEMPLATE]
instantiate the configuration file FILE
Configuration files:
$config_files
Configuration commands:
$config_commands
Report bugs to the package provider."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
cddlib config.status 0.94j
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
MKDIR_P='$MKDIR_P'
AWK='$AWK'
test -n "\$AWK" || AWK=awk
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
case $1 in
--*=?*)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
--*=)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=
ac_shift=:
;;
*)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
esac
case $ac_option in
# Handling of the options.
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
$as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
'') as_fn_error $? "missing file argument" ;;
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
--he | --h | --help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
-*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1"
ac_need_defaults=false ;;
esac
shift
done
ac_configure_extra_args=
if $ac_cs_silent; then
exec 6>/dev/null
ac_configure_extra_args="$ac_configure_extra_args --silent"
fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
exec "\$@"
fi
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
$as_echo "$ac_log"
} >&5
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
sed_quote_subst='$sed_quote_subst'
double_quote_subst='$double_quote_subst'
delay_variable_subst='$delay_variable_subst'
macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`'
AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
LTCC='$LTCC'
LTCFLAGS='$LTCFLAGS'
compiler='$compiler_DEFAULT'
# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
eval 'cat <<_LTECHO_EOF
\$1
_LTECHO_EOF'
}
# Quote evaled strings.
for var in AS \
DLLTOOL \
OBJDUMP \
SHELL \
ECHO \
PATH_SEPARATOR \
SED \
GREP \
EGREP \
FGREP \
LD \
NM \
LN_S \
lt_SP2NL \
lt_NL2SP \
reload_flag \
deplibs_check_method \
file_magic_cmd \
file_magic_glob \
want_nocaseglob \
sharedlib_from_linklib_cmd \
AR \
archiver_list_spec \
STRIP \
RANLIB \
CC \
CFLAGS \
compiler \
lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_import \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
lt_cv_nm_interface \
nm_file_list_spec \
lt_cv_truncate_bin \
lt_prog_compiler_no_builtin_flag \
lt_prog_compiler_pic \
lt_prog_compiler_wl \
lt_prog_compiler_static \
lt_cv_prog_compiler_c_o \
need_locks \
MANIFEST_TOOL \
DSYMUTIL \
NMEDIT \
LIPO \
OTOOL \
OTOOL64 \
shrext_cmds \
export_dynamic_flag_spec \
whole_archive_flag_spec \
compiler_needs_object \
with_gnu_ld \
allow_undefined_flag \
no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_separator \
exclude_expsyms \
include_expsyms \
file_list_spec \
variables_saved_for_relink \
libname_spec \
library_names_spec \
soname_spec \
install_override_mode \
finish_eval \
old_striplib \
striplib; do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
;;
esac
done
# Double-quote double-evaled strings.
for var in reload_cmds \
old_postinstall_cmds \
old_postuninstall_cmds \
old_archive_cmds \
extract_expsyms_cmds \
old_archive_from_new_cmds \
old_archive_from_expsyms_cmds \
archive_cmds \
archive_expsym_cmds \
module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
postlink_cmds \
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
sys_lib_search_path_spec \
configure_time_dlsearch_path \
configure_time_lt_sys_library_path; do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
;;
esac
done
ac_aux_dir='$ac_aux_dir'
# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes INIT.
if test -n "\${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
PACKAGE='$PACKAGE'
VERSION='$VERSION'
RM='$RM'
ofile='$ofile'
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"lib-src/Makefile") CONFIG_FILES="$CONFIG_FILES lib-src/Makefile" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
fi
# Have a temporary directory for convenience. Make it in the build tree
# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
# Hook for its removal unless debugging.
# Note that there is a small window in which the directory will not be cleaned:
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
tmp= ac_tmp=
trap 'exit_status=$?
: "${ac_tmp:=$tmp}"
{ test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then
ac_cr=`echo X | tr X '\015'`
# On cygwin, bash can eat \r inside `` if the user requested igncr.
# But we know of no other shell where ac_cr would be empty at this
# point, so we can use a bashism as a fallback.
if test "x$ac_cr" = x; then
eval ac_cr=\$\'\\r\'
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
ac_cs_awk_cr='\\r'
else
ac_cs_awk_cr=$ac_cr
fi
echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
{
echo "cat >conf$$subs.awk <<_ACEOF" &&
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
s/^/S["/; s/!.*/"]=/
p
g
s/^[^!]*!//
:repl
t repl
s/'"$ac_delim"'$//
t delim
:nl
h
s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
n
b repl
:more1
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t nl
:delim
h
s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
b
:more2
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t delim
' >$CONFIG_STATUS || ac_write_fail=1
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
}
{
line = $ 0
nfields = split(line, field, "@")
substed = 0
len = length(field[1])
for (i = 2; i < nfields; i++) {
key = field[i]
keylen = length(key)
if (S_is_set[key]) {
value = S[key]
line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
len += length(value) + length(field[++i])
substed = 1
} else
len += 1 + keylen
}
print line
}
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
h
s///
s/^/:/
s/[ ]*$/:/
s/:\$(srcdir):/:/g
s/:\${srcdir}:/:/g
s/:@srcdir@:/:/g
s/^:*//
s/:*$//
x
s/\(=[ ]*\).*/\1/
G
s/\n//
s/^[^=]*=[ ]*$//
}'
fi
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
shift
for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
ac_save_IFS=$IFS
IFS=:
set x $ac_tag
IFS=$ac_save_IFS
shift
ac_file=$1
shift
case $ac_mode in
:L) ac_source=$1;;
:[FH])
ac_file_inputs=
for ac_f
do
case $ac_f in
-) ac_f="$ac_tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
test -f "$ac_f" ||
case $ac_f in
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
configure_input='Generated from '`
$as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
`' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
$as_echo "$as_me: creating $ac_file" >&6;}
fi
# Neutralize special characters interpreted by sed in replacement strings.
case $configure_input in #(
*\&* | *\|* | *\\* )
ac_sed_conf_input=`$as_echo "$configure_input" |
sed 's/[\\\\&|]/\\\\&/g'`;; #(
*) ac_sed_conf_input=$configure_input;;
esac
case $ac_tag in
*:-:* | *:-) cat >"$ac_tmp/stdin" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
as_dir="$ac_dir"; as_fn_mkdir_p
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
case $ac_mode in
:F)
#
# CONFIG_FILE
#
case $INSTALL in
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
*) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
ac_MKDIR_P=$MKDIR_P
case $MKDIR_P in
[\\/$]* | ?:[\\/]* ) ;;
*/*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
esac
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
ac_sed_dataroot='
/datarootdir/ {
p
q
}
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@mandir@/p'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@mandir@&$mandir&g
s&\\\${datarootdir}&$datarootdir&g' ;;
esac
_ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
s&@builddir@&$ac_builddir&;t t
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
>$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
"$ac_tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&2;}
rm -f "$ac_tmp/stdin"
case $ac_file in
-) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
*) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
:C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
$as_echo "$as_me: executing $ac_file commands" >&6;}
;;
esac
case $ac_file$ac_mode in
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
# Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
*\'*) eval set x "$CONFIG_FILES" ;;
*) set x $CONFIG_FILES ;;
esac
shift
for mf
do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# Grep'ing the whole file is not good either: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$mf" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
else
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
# from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
as_dir=$dirpart/$fdir; as_fn_mkdir_p
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
}
;;
"libtool":C)
# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes.
if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
cfgfile=${ofile}T
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile"
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
# Written by Gordon Matzigkeit, 1996
# Copyright (C) 2014 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# GNU Libtool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of of the License, or
# (at your option) any later version.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program or library that is built
# using GNU Libtool, you may include this file under the same
# distribution terms that you use for the rest of that program.
#
# GNU Libtool is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# The names of the tagged configurations supported by this script.
available_tags=''
# Configured defaults for sys_lib_dlsearch_path munging.
: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
# ### BEGIN LIBTOOL CONFIG
# Which release of libtool.m4 was used?
macro_version=$macro_version
macro_revision=$macro_revision
# Assembler program.
AS=$lt_AS
# DLL creation program.
DLLTOOL=$lt_DLLTOOL
# Object dumper program.
OBJDUMP=$lt_OBJDUMP
# Whether or not to build shared libraries.
build_libtool_libs=$enable_shared
# Whether or not to build static libraries.
build_old_libs=$enable_static
# What type of objects to build.
pic_mode=$pic_mode
# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install
# Shared archive member basename,for filename based shared library versioning on AIX.
shared_archive_member_spec=$shared_archive_member_spec
# Shell to use when invoking shell scripts.
SHELL=$lt_SHELL
# An echo program that protects backslashes.
ECHO=$lt_ECHO
# The PATH separator for the build system.
PATH_SEPARATOR=$lt_PATH_SEPARATOR
# The host system.
host_alias=$host_alias
host=$host
host_os=$host_os
# The build system.
build_alias=$build_alias
build=$build
build_os=$build_os
# A sed program that does not truncate output.
SED=$lt_SED
# Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed="\$SED -e 1s/^X//"
# A grep program that handles long lines.
GREP=$lt_GREP
# An ERE matcher.
EGREP=$lt_EGREP
# A literal string matcher.
FGREP=$lt_FGREP
# A BSD- or MS-compatible name lister.
NM=$lt_NM
# Whether we need soft or hard links.
LN_S=$lt_LN_S
# What is the maximum length of a command?
max_cmd_len=$max_cmd_len
# Object file suffix (normally "o").
objext=$ac_objext
# Executable file suffix (normally "").
exeext=$exeext
# whether the shell understands "unset".
lt_unset=$lt_unset
# turn spaces into newlines.
SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
# convert \$build file names to \$host format.
to_host_file_cmd=$lt_cv_to_host_file_cmd
# convert \$build files to toolchain format.
to_tool_file_cmd=$lt_cv_to_tool_file_cmd
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
# Command to use when deplibs_check_method = "file_magic".
file_magic_cmd=$lt_file_magic_cmd
# How to find potential files when deplibs_check_method = "file_magic".
file_magic_glob=$lt_file_magic_glob
# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
want_nocaseglob=$lt_want_nocaseglob
# Command to associate shared and link libraries.
sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
# The archiver.
AR=$lt_AR
# Flags to create an archive (by configure).
lt_ar_flags=$lt_ar_flags
# Flags to create an archive.
AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"}
# How to feed a file listing to the archiver.
archiver_list_spec=$lt_archiver_list_spec
# A symbol stripping program.
STRIP=$lt_STRIP
# Commands used to install an old-style archive.
RANLIB=$lt_RANLIB
old_postinstall_cmds=$lt_old_postinstall_cmds
old_postuninstall_cmds=$lt_old_postuninstall_cmds
# Whether to use a lock for old archive extraction.
lock_old_archive_extraction=$lock_old_archive_extraction
# A C compiler.
LTCC=$lt_CC
# LTCC compiler flags.
LTCFLAGS=$lt_CFLAGS
# Take the output of nm and produce a listing of raw symbols and C names.
global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
# Transform the output of nm in a proper C declaration.
global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
# Transform the output of nm into a list of symbols to manually relocate.
global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
# Transform the output of nm in a C name address pair.
global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
# The name lister interface.
nm_interface=$lt_lt_cv_nm_interface
# Specify filename containing input files for \$NM.
nm_file_list_spec=$lt_nm_file_list_spec
# The root where to search for dependent libraries,and where our libraries should be installed.
lt_sysroot=$lt_sysroot
# Command to truncate a binary pipe.
lt_truncate_bin=$lt_lt_cv_truncate_bin
# The name of the directory that contains temporary libtool files.
objdir=$objdir
# Used to examine libraries when file_magic_cmd begins with "file".
MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
# Manifest tool.
MANIFEST_TOOL=$lt_MANIFEST_TOOL
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
# Tool to change global to local symbols on Mac OS X.
NMEDIT=$lt_NMEDIT
# Tool to manipulate fat objects and archives on Mac OS X.
LIPO=$lt_LIPO
# ldd/readelf like tool for Mach-O binaries on Mac OS X.
OTOOL=$lt_OTOOL
# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
OTOOL64=$lt_OTOOL64
# Old archive suffix (normally "a").
libext=$libext
# Shared library suffix (normally ".so").
shrext_cmds=$lt_shrext_cmds
# The commands to extract the exported symbol list from a shared archive.
extract_expsyms_cmds=$lt_extract_expsyms_cmds
# Variables whose values should be saved in libtool wrapper scripts and
# restored at link time.
variables_saved_for_relink=$lt_variables_saved_for_relink
# Do we need the "lib" prefix for modules?
need_lib_prefix=$need_lib_prefix
# Do we need a version for libraries?
need_version=$need_version
# Library versioning type.
version_type=$version_type
# Shared library runtime path variable.
runpath_var=$runpath_var
# Shared library path variable.
shlibpath_var=$shlibpath_var
# Is shlibpath searched before the hard-coded library search path?
shlibpath_overrides_runpath=$shlibpath_overrides_runpath
# Format of library name prefix.
libname_spec=$lt_libname_spec
# List of archive names. First name is the real one, the rest are links.
# The last name is the one that the linker finds with -lNAME
library_names_spec=$lt_library_names_spec
# The coded name of the library, if different from the real name.
soname_spec=$lt_soname_spec
# Permission mode override for installation of shared libraries.
install_override_mode=$lt_install_override_mode
# Command to use after installation of a shared archive.
postinstall_cmds=$lt_postinstall_cmds
# Command to use after uninstallation of a shared archive.
postuninstall_cmds=$lt_postuninstall_cmds
# Commands used to finish a libtool library installation in a directory.
finish_cmds=$lt_finish_cmds
# As "finish_cmds", except a single script fragment to be evaled but
# not shown.
finish_eval=$lt_finish_eval
# Whether we should hardcode library paths into libraries.
hardcode_into_libs=$hardcode_into_libs
# Compile-time system search path for libraries.
sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
# Detected run-time system search path for libraries.
sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
# Whether dlopen is supported.
dlopen_support=$enable_dlopen
# Whether dlopen of programs is supported.
dlopen_self=$enable_dlopen_self
# Whether dlopen of statically linked programs is supported.
dlopen_self_static=$enable_dlopen_self_static
# Commands to strip libraries.
old_striplib=$lt_old_striplib
striplib=$lt_striplib
# The linker used to build libraries.
LD=$lt_LD
# How to create reloadable object files.
reload_flag=$lt_reload_flag
reload_cmds=$lt_reload_cmds
# Commands used to build an old-style archive.
old_archive_cmds=$lt_old_archive_cmds
# A language specific compiler.
CC=$lt_compiler
# Is the compiler the GNU compiler?
with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
# Additional compiler flags for building library objects.
pic_flag=$lt_lt_prog_compiler_pic
# How to pass a linker flag through the compiler.
wl=$lt_lt_prog_compiler_wl
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
# Does compiler simultaneously support -c and -o options?
compiler_c_o=$lt_lt_cv_prog_compiler_c_o
# Whether or not to add -lc for building shared libraries.
build_libtool_need_lc=$archive_cmds_need_lc
# Whether or not to disallow shared libs when runtime libs are static.
allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
# Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
# Compiler flag to generate shared objects directly from archives.
whole_archive_flag_spec=$lt_whole_archive_flag_spec
# Whether the compiler copes with passing no objects directly.
compiler_needs_object=$lt_compiler_needs_object
# Create an old-style archive from a shared archive.
old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
# Create a temporary old-style archive to link instead of a shared archive.
old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
# Commands used to build a shared archive.
archive_cmds=$lt_archive_cmds
archive_expsym_cmds=$lt_archive_expsym_cmds
# Commands used to build a loadable module if different from building
# a shared archive.
module_cmds=$lt_module_cmds
module_expsym_cmds=$lt_module_expsym_cmds
# Whether we are building with GNU ld or not.
with_gnu_ld=$lt_with_gnu_ld
# Flag that allows shared libraries with undefined symbols to be built.
allow_undefined_flag=$lt_allow_undefined_flag
# Flag that enforces no undefined symbols.
no_undefined_flag=$lt_no_undefined_flag
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist
hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=$lt_hardcode_libdir_separator
# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
# DIR into the resulting binary.
hardcode_direct=$hardcode_direct
# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
# DIR into the resulting binary and the resulting library dependency is
# "absolute",i.e impossible to change by setting \$shlibpath_var if the
# library is relocated.
hardcode_direct_absolute=$hardcode_direct_absolute
# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
# into the resulting binary.
hardcode_minus_L=$hardcode_minus_L
# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
# into the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var
# Set to "yes" if building a shared library automatically hardcodes DIR
# into the library and all subsequent libraries and executables linked
# against it.
hardcode_automatic=$hardcode_automatic
# Set to yes if linker adds runtime paths of dependent libraries
# to runtime path list.
inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
# The commands to list exported symbols.
export_symbols_cmds=$lt_export_symbols_cmds
# Symbols that should not be listed in the preloaded symbols.
exclude_expsyms=$lt_exclude_expsyms
# Symbols that must always be exported.
include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
# Commands necessary for finishing linking programs.
postlink_cmds=$lt_postlink_cmds
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
# How to hardcode a shared library path into an executable.
hardcode_action=$hardcode_action
# ### END LIBTOOL CONFIG
_LT_EOF
cat <<'_LT_EOF' >> "$cfgfile"
# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
# func_munge_path_list VARIABLE PATH
# -----------------------------------
# VARIABLE is name of variable containing _space_ separated list of
# directories to be munged by the contents of PATH, which is string
# having a format:
# "DIR[:DIR]:"
# string "DIR[ DIR]" will be prepended to VARIABLE
# ":DIR[:DIR]"
# string "DIR[ DIR]" will be appended to VARIABLE
# "DIRP[:DIRP]::[DIRA:]DIRA"
# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
# "DIRA[ DIRA]" will be appended to VARIABLE
# "DIR[:DIR]"
# VARIABLE will be replaced by "DIR[ DIR]"
func_munge_path_list ()
{
case x$2 in
x)
;;
*:)
eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
;;
x:*)
eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
;;
*::*)
eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
;;
*)
eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
;;
esac
}
# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
func_cc_basename ()
{
for cc_temp in $*""; do
case $cc_temp in
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
\-*) ;;
*) break;;
esac
done
func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
}
# ### END FUNCTIONS SHARED WITH CONFIGURE
_LT_EOF
case $host_os in
aix3*)
cat <<\_LT_EOF >> "$cfgfile"
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
_LT_EOF
;;
esac
ltmain=$ac_aux_dir/ltmain.sh
# We use sed instead of cat because bash on DJGPP gets confused if
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
sed '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
;;
esac
done # for ac_tag
as_fn_exit 0
_ACEOF
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
# Unfortunately, on DOS this fails, as config.log is still kept open
# by configure, so config.status won't be able to write to it; its
# output is simply discarded. So we exec the FD to /dev/null,
# effectively closing config.log, so it can be properly (re)opened and
# appended to by config.status. When coming back to configure, we
# need to make the FD available again.
if test "$no_create" != yes; then
ac_cs_success=:
ac_config_status_args=
test "$silent" = yes &&
ac_config_status_args="$ac_config_status_args --quiet"
exec 5>/dev/null
$SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
$ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
cddlib-0.94j/configure.ac 0000644 0001750 0001750 00000003562 13307421337 012261 0000000 0000000 dnl Process this file with autoconf to produce a configure script, e.g., by running ./bootstrap.
dnl We need at least autoconf 2.69 for this configure.ac to work.
AC_PREREQ([2.69])
AC_INIT([cddlib], [0.94j])
dnl Version number of the library c:r:a.
dnl Set to c+1:0:0 on a non-backwards-compatible change.
dnl Set to c+1:0:a+1 on a backwards-compatible change.
dnl Set to c:r+1:a if the interface is unchanged.
AC_SUBST([libcdd_version_info], [0:0:0])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.14.1])
dnl Find C compiler.
AC_PROG_CC
dnl Set INSTALL or use install-sh.
AC_PROG_INSTALL
dnl Our "make distcheck" needs egrep.
AC_PROG_EGREP
dnl Configure libtool.
LT_INIT([win32-dll])
AC_CANONICAL_HOST
dnl libtool requires "-no-undefined" for win32 dll
AC_SUBST(CDD_LDFLAGS)
case $host_os in
*cygwin*|*mingw*)
if test x"$enable_shared" = "xyes"; then
CDD_LDFLAGS="$CDD_LDFLAGS -no-undefined"
fi
;;
esac
dnl Look for gmp. But do not prepend -lgmp to LIBS as we do not want to link everything against gmp.
AC_CHECK_LIB([gmp], [__gmpz_init], [true])
dnl We do not build the gmp enabled library if we don't have gmp.
AM_CONDITIONAL([GMP], [test "x$ac_cv_lib_gmp___gmpz_init" = "xyes"])
dnl Check for latex to build the documentation dvi
AC_CHECK_PROGS([latex], [latex])
AM_CONDITIONAL([LATEX], [test "x$ac_cv_prog_latex" != "x"])
dnl Check for pdflatex to build the documentation pdf
AC_CHECK_PROGS([pdflatex], [pdflatex])
AM_CONDITIONAL([PDF], [test "x$ac_cv_prog_pdflatex" != "x"])
dnl Check for latex2html to build the documentation in HTML format
AC_CHECK_PROGS([latex2html], [latex2html])
AM_CONDITIONAL([HTML], [test "x$ac_cv_prog_latex2html" != "x"])
dnl Check for dvips to build the documentation ps
AC_CHECK_PROGS([dvips], [dvips])
AM_CONDITIONAL([PS], [test "x$ac_cv_prog_dvips" != "x"])
AC_CONFIG_FILES([doc/Makefile lib-src/Makefile src/Makefile Makefile])
AC_OUTPUT
cddlib-0.94j/aclocal.m4 0000644 0001750 0001750 00000122467 13307421343 011636 0000000 0000000 # generated automatically by aclocal 1.15.1 -*- Autoconf -*-
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
[m4_warning([this file was generated for autoconf 2.69.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.15.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
# _AM_AUTOCONF_VERSION(VERSION)
# -----------------------------
# aclocal traces this macro to find the Autoconf version.
# This is a private macro too. Using m4_define simplifies
# the logic in aclocal, which can simply ignore this definition.
m4_define([_AM_AUTOCONF_VERSION], [])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.15.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
# therefore $ac_aux_dir as well) can be either absolute or relative,
# depending on how configure is run. This is pretty annoying, since
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
# source directory, any form will work fine, but in subdirectories a
# relative path needs to be adjusted first.
#
# $ac_aux_dir/missing
# fails when called from a subdirectory if $ac_aux_dir is relative
# $top_srcdir/$ac_aux_dir/missing
# fails if $ac_aux_dir is absolute,
# fails when called from a subdirectory in a VPATH build with
# a relative $ac_aux_dir
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
# harmless because $srcdir is '.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
# and then we would define $MISSING as
# MISSING="\${SHELL} $am_aux_dir/missing"
# This will work as long as MISSING is not called from configure, because
# unfortunately $(top_srcdir) has no meaning in configure.
# However there are other variables, like CC, which are often used in
# configure, and could therefore not use this "fixed" $ac_aux_dir.
#
# Another solution, used here, is to always expand $ac_aux_dir to an
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
# Expand $ac_aux_dir to an absolute path.
am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
[AC_PREREQ([2.52])dnl
m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
m4_define([_AM_COND_VALUE_$1], [$2])dnl
if $2; then
$1_TRUE=
$1_FALSE='#'
else
$1_TRUE='#'
$1_FALSE=
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([[conditional "$1" was never defined.
Usually this means the macro was only invoked conditionally.]])
fi])])
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
# dependency, and given that the user is not expected to run this macro,
# just rely on AC_PROG_CC.
AC_DEFUN([_AM_DEPENDENCIES],
[AC_REQUIRE([AM_SET_DEPDIR])dnl
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
[$1], [CXX], [depcc="$CXX" am_compiler_list=],
[$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
[$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
[$1], [UPC], [depcc="$UPC" am_compiler_list=],
[$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named 'D' -- because '-MD' means "put the output
# in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_$1_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
am__universal=false
m4_case([$1], [CC],
[case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac],
[CXX],
[case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac])
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
# Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
# Solaris 10 /bin/sh.
echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
# We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
# handle '-M -o', and we need to detect this. Also, some Intel
# versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
gcc)
# This depmode causes a compiler race in universal mode.
test "$am__universal" = false || continue
;;
nosideeffect)
# After this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
# This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
am__minus_obj=
;;
none) break ;;
esac
if depmode=$depmode \
source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_$1_dependencies_compiler_type=$depmode
break
fi
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_$1_dependencies_compiler_type=none
fi
])
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
AM_CONDITIONAL([am__fastdep$1], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3])
])
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
])
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
[AC_ARG_ENABLE([dependency-tracking], [dnl
AS_HELP_STRING(
[--enable-dependency-tracking],
[do not reject slow dependency extractors])
AS_HELP_STRING(
[--disable-dependency-tracking],
[speeds up one-time build])])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
am__nodep='_no'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])dnl
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
AC_SUBST([am__nodep])dnl
_AM_SUBST_NOTMAKE([am__nodep])dnl
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[{
# Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
*\'*) eval set x "$CONFIG_FILES" ;;
*) set x $CONFIG_FILES ;;
esac
shift
for mf
do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# Grep'ing the whole file is not good either: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
# from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`AS_DIRNAME(["$file"])`
AS_MKDIR_P([$dirpart/$fdir])
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
# AM_OUTPUT_DEPENDENCY_COMMANDS
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each '.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
m4_define([AC_PROG_CC],
m4_defn([AC_PROG_CC])
[_AM_PROG_CC_C_O
])
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# The call with PACKAGE and VERSION arguments is the old style
# call (pre autoconf-2.50), which is being phased out. PACKAGE
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition. After
# the next Automake release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.65])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
fi
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
AC_SUBST([CYGPATH_W])
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[AC_DIAGNOSE([obsolete],
[$0: two- and three-arguments forms are deprecated.])
m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if(
m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
[ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
AM_MISSING_PROG([AUTOCONF], [autoconf])
AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
AM_MISSING_PROG([AUTOHEADER], [autoheader])
AM_MISSING_PROG([MAKEINFO], [makeinfo])
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
#
#
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
# We need awk for the "check" target (and possibly the TAP driver). The
# system "awk" is bad on some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
[_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
[_AM_DEPENDENCIES([CC])],
[m4_define([AC_PROG_CC],
m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
[_AM_DEPENDENCIES([CXX])],
[m4_define([AC_PROG_CXX],
m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
[_AM_DEPENDENCIES([OBJC])],
[m4_define([AC_PROG_OBJC],
m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
[_AM_DEPENDENCIES([OBJCXX])],
[m4_define([AC_PROG_OBJCXX],
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
AC_REQUIRE([AM_SILENT_RULES])dnl
dnl The testsuite driver may need to know about EXEEXT, so add the
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
# POSIX will say in a future version that running "rm -f" with no argument
# is OK; and we want to be able to make that assumption in our Makefile
# recipes. So use an aggressive probe to check that the usage we want is
# actually supported "in the wild" to an acceptable degree.
# See automake bug#10828.
# To make any issue more visible, cause the running configure to be aborted
# by default if the 'rm' program in use doesn't match our expectations; the
# user can still override this though.
if rm -f && rm -fr && rm -rf; then : OK; else
cat >&2 <<'END'
Oops!
Your 'rm' program seems unable to run without file operands specified
on the command line, even when the '-f' option is present. This is contrary
to the behaviour of most rm programs out there, and not conforming with
the upcoming POSIX standard:
Please tell bug-automake@gnu.org about your system, including the value
of your $PATH and any error possibly output before this message. This
can help us improve future automake versions.
END
if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
echo 'Configuration will proceed anyway, since you have set the' >&2
echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
echo >&2
else
cat >&2 <<'END'
Aborting the configuration process, to ensure you take notice of the issue.
You can download and install GNU coreutils to get an 'rm' implementation
that behaves properly: .
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
to "yes", and re-run configure.
END
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
fi
fi
dnl The trailing newline in this macro's definition is deliberate, for
dnl backward compatibility and to allow trailing 'dnl'-style comments
dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
# loop where config.status creates the headers, so we can generate
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
_am_arg=$1
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
$_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
*)
install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
fi
AC_SUBST([install_sh])])
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
[rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
@echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make])
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# Ignore all kinds of additional output from 'make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=include
am__quote=
_am_result=GNU
;;
esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=.include
am__quote="\""
_am_result=BSD
;;
esac
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
[AC_REQUIRE([AM_MISSING_HAS_RUN])
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
# AM_MISSING_HAS_RUN
# ------------------
# Define MISSING if not defined so far and test if it is modern enough.
# If it is, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
*)
MISSING="\${SHELL} $am_aux_dir/missing" ;;
esac
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
am_missing_run="$MISSING "
else
am_missing_run=
AC_MSG_WARN(['missing' script is too old or missing])
fi
])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
# --------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
# _AM_SET_OPTIONS(OPTIONS)
# ------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_PROG_CC_C_O
# ---------------
# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
# to automatically call this.
AC_DEFUN([_AM_PROG_CC_C_O],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([compile])dnl
AC_LANG_PUSH([C])dnl
AC_CACHE_CHECK(
[whether $CC understands -c and -o together],
[am_cv_prog_cc_c_o],
[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
# Make sure it works both with $CC and with simple cc.
# Following AC_PROG_CC_C_O, we do the test twice because some
# compilers refuse to overwrite an existing .o file with -o,
# though they will create one.
am_cv_prog_cc_c_o=yes
for am_i in 1 2; do
if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
&& test -f conftest2.$ac_objext; then
: OK
else
am_cv_prog_cc_c_o=no
break
fi
done
rm -f core conftest*
unset am_i])
if test "$am_cv_prog_cc_c_o" != yes; then
# Losing compiler, so override with the script.
# FIXME: It is wrong to rewrite CC.
# But if we don't then we get into trouble of one sort or another.
# A longer-term fix would be to have automake use am__CC in this case,
# and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
CC="$am_aux_dir/compile $CC"
fi
AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_RUN_LOG(COMMAND)
# -------------------
# Run COMMAND, save the exit status in ac_status, and log it.
# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
AC_DEFUN([AM_RUN_LOG],
[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
(exit $ac_status); }])
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
'
case `pwd` in
*[[\\\"\#\$\&\'\`$am_lf]]*)
AC_MSG_ERROR([unsafe absolute working directory name]);;
esac
case $srcdir in
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
esac
# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
am_has_slept=no
for am_try in 1 2; do
echo "timestamp, slept: $am_has_slept" > conftest.file
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
set X `ls -t "$srcdir/configure" conftest.file`
fi
if test "$[*]" != "X $srcdir/configure conftest.file" \
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
if test "$[2]" = conftest.file || test $am_try -eq 2; then
break
fi
# Just in case.
sleep 1
am_has_slept=yes
done
test "$[2]" = conftest.file
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
AC_MSG_RESULT([yes])
# If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer.
am_sleep_pid=
if grep 'slept: no' conftest.file >/dev/null 2>&1; then
( sleep 1 ) &
am_sleep_pid=$!
fi
AC_CONFIG_COMMANDS_PRE(
[AC_MSG_CHECKING([that generated files are newer than configure])
if test -n "$am_sleep_pid"; then
# Hide warnings about reused PIDs.
wait $am_sleep_pid 2>/dev/null
fi
AC_MSG_RESULT([done])])
rm -f conftest.file
])
# Copyright (C) 2009-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_SILENT_RULES([DEFAULT])
# --------------------------
# Enable less verbose build rules; with the default set to DEFAULT
# ("yes" being less verbose, "no" or empty being verbose).
AC_DEFUN([AM_SILENT_RULES],
[AC_ARG_ENABLE([silent-rules], [dnl
AS_HELP_STRING(
[--enable-silent-rules],
[less verbose build output (undo: "make V=1")])
AS_HELP_STRING(
[--disable-silent-rules],
[verbose build output (undo: "make V=0")])dnl
])
case $enable_silent_rules in @%:@ (((
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
esac
dnl
dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
dnl do not support nested variable expansions.
dnl See automake bug#9928 and bug#10237.
am_make=${MAKE-make}
AC_CACHE_CHECK([whether $am_make supports nested variables],
[am_cv_make_support_nested_variables],
[if AS_ECHO([['TRUE=$(BAR$(V))
BAR0=false
BAR1=true
V=1
am__doit:
@$(TRUE)
.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
am_cv_make_support_nested_variables=yes
else
am_cv_make_support_nested_variables=no
fi])
if test $am_cv_make_support_nested_variables = yes; then
dnl Using '$V' instead of '$(V)' breaks IRIX make.
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
AM_V=$AM_DEFAULT_VERBOSITY
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
AC_SUBST([AM_V])dnl
AM_SUBST_NOTMAKE([AM_V])dnl
AC_SUBST([AM_DEFAULT_V])dnl
AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
AM_BACKSLASH='\'
AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_INSTALL_STRIP
# ---------------------
# One issue with vendor 'install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
# always use install-sh in "make install-strip", and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using 'strip' when the user
# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the 'STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
# AM_SUBST_NOTMAKE(VARIABLE)
# --------------------------
# Public sister of _AM_SUBST_NOTMAKE.
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
# FORMAT should be one of 'v7', 'ustar', or 'pax'.
#
# Substitute a variable $(am__tar) that is a command
# writing to stdout a FORMAT-tarball containing the directory
# $tardir.
# tardir=directory && $(am__tar) > result.tar
#
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
#
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AC_SUBST([AMTAR], ['$${TAR-tar}'])
# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
m4_if([$1], [v7],
[am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
[m4_case([$1],
[ustar],
[# The POSIX 1988 'ustar' format is defined with fixed-size fields.
# There is notably a 21 bits limit for the UID and the GID. In fact,
# the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
# and bug#13588).
am_max_uid=2097151 # 2^21 - 1
am_max_gid=$am_max_uid
# The $UID and $GID variables are not portable, so we need to resort
# to the POSIX-mandated id(1) utility. Errors in the 'id' calls
# below are definitely unexpected, so allow the users to see them
# (that is, avoid stderr redirection).
am_uid=`id -u || echo unknown`
am_gid=`id -g || echo unknown`
AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
if test $am_uid -le $am_max_uid; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
_am_tools=none
fi
AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
if test $am_gid -le $am_max_gid; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
_am_tools=none
fi],
[pax],
[],
[m4_fatal([Unknown tar format])])
AC_MSG_CHECKING([how to create a $1 tar archive])
# Go ahead even if we have the value already cached. We do so because we
# need to set the values for the 'am__tar' and 'am__untar' variables.
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
for _am_tool in $_am_tools; do
case $_am_tool in
gnutar)
for _am_tar in tar gnutar gtar; do
AM_RUN_LOG([$_am_tar --version]) && break
done
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
am__untar="$_am_tar -xf -"
;;
plaintar)
# Must skip GNU tar: if it does not support --format= it doesn't create
# ustar tarball either.
(tar --version) >/dev/null 2>&1 && continue
am__tar='tar chf - "$$tardir"'
am__tar_='tar chf - "$tardir"'
am__untar='tar xf -'
;;
pax)
am__tar='pax -L -x $1 -w "$$tardir"'
am__tar_='pax -L -x $1 -w "$tardir"'
am__untar='pax -r'
;;
cpio)
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
am__untar='cpio -i -H $1 -d'
;;
none)
am__tar=false
am__tar_=false
am__untar=false
;;
esac
# If the value was cached, stop now. We just wanted to have am__tar
# and am__untar set.
test -n "${am_cv_prog_tar_$1}" && break
# tar/untar a dummy directory, and stop if the command works.
rm -rf conftest.dir
mkdir conftest.dir
echo GrepMe > conftest.dir/file
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
rm -rf conftest.dir
if test -s conftest.tar; then
AM_RUN_LOG([$am__untar /dev/null 2>&1 && break
fi
done
rm -rf conftest.dir
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([m4/libtool.m4])
m4_include([m4/ltoptions.m4])
m4_include([m4/ltsugar.m4])
m4_include([m4/ltversion.m4])
m4_include([m4/lt~obsolete.m4])
cddlib-0.94j/Makefile.in 0000644 0001750 0001750 00000066535 13307421344 012047 0000000 0000000 # Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(docdir)"
DATA = $(nobase_doc_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog \
INSTALL NEWS README compile config.guess config.sub depcomp \
install-sh ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
if test -d "$(distdir)"; then \
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
DIST_TARGETS = dist-gzip
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CDD_LDFLAGS = @CDD_LDFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
dvips = @dvips@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
latex = @latex@
latex2html = @latex2html@
libcdd_version_info = @libcdd_version_info@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pdflatex = @pdflatex@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
# Directories where we can build something.
SUBDIRS = doc lib-src src
# Install the examples into /usr/share/doc/cddlib/examples*
nobase_doc_DATA = $(srcdir)/examples/* $(srcdir)/examples-ine/* $(srcdir)/examples-ine3d/* $(srcdir)/examples-ext/*
# Additional bits that should be part of the released tarball.
EXTRA_DIST = $(nobase_doc_DATA) $(srcdir)/README.core2processor $(srcdir)/bootstrap
ACLOCAL_AMFLAGS = -I m4
all: all-recursive
.SUFFIXES:
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool config.lt
install-nobase_docDATA: $(nobase_doc_DATA)
@$(NORMAL_INSTALL)
@list='$(nobase_doc_DATA)'; test -n "$(docdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
fi; \
$(am__nobase_list) | while read dir files; do \
xfiles=; for file in $$files; do \
if test -f "$$file"; then xfiles="$$xfiles $$file"; \
else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
test -z "$$xfiles" || { \
test "x$$dir" = x. || { \
echo " $(MKDIR_P) '$(DESTDIR)$(docdir)/$$dir'"; \
$(MKDIR_P) "$(DESTDIR)$(docdir)/$$dir"; }; \
echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(docdir)/$$dir'"; \
$(INSTALL_DATA) $$xfiles "$(DESTDIR)$(docdir)/$$dir" || exit $$?; }; \
done
uninstall-nobase_docDATA:
@$(NORMAL_UNINSTALL)
@list='$(nobase_doc_DATA)'; test -n "$(docdir)" || list=; \
$(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir)
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__post_remove_distdir)
dist dist-all:
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
$(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build/sub \
&& ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__post_remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@test -n '$(distuninstallcheck_dir)' || { \
echo 'ERROR: trying to run $@ with an empty' \
'$$(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
$(am__cd) '$(distuninstallcheck_dir)' || { \
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(docdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-nobase_docDATA
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-nobase_docDATA
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
clean-libtool cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
dist-xz dist-zip distcheck distclean distclean-generic \
distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-nobase_docDATA install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-nobase_docDATA
.PRECIOUS: Makefile
# All localdebug should be disabled before we package a releasable tarball
distcheck-hook:
! find $(srcdir) -type f -print0 | xargs -0 $(EGREP) 'localdebug *= *dd_TRUE'
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
cddlib-0.94j/AUTHORS 0000644 0001750 0001750 00000000410 13307420663 011031 0000000 0000000 Komei Fukuda
Department of Mathematics, and
Institute of Theoretical Computer Science
ETH Zurich (CAB G 33.3)
Universitaetstrasse 6
CH-8092 Zurich, Switzerland
Tel +41-44-632-4023, Fax +41-44-632-1063
http://www.inf.ethz.ch/personal/fukudak/
cddlib-0.94j/COPYING 0000644 0001750 0001750 00000043076 13267167546 011050 0000000 0000000 GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C) 19yy
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
cddlib-0.94j/ChangeLog 0000644 0001750 0001750 00000064600 13312731134 011540 0000000 0000000 libcdd, cdd & cdd+ HISTORY file
*** libcdd version (date) / changes ***
Version 094j (June 21, 2018) /
- Thanks to Julian Rüth, modernized autotooling, mirrored
code on GitHub, introduced cddexec as a replacement of
cdd_both_reps that many distributions packaged, made
randomization portable. Thanks to Matthias C. M. Troffaes, fixed
representation type in dd_MatrixAppendTo.
Version 094i (March 9, 2018) /
- The missing definition of dd_set_d function in the case of
-DGMPRATIONAL flag is used. The only change is in cddmp.h.
The use of this function is explained in testcdd2.c program.
This function is useful when input is mostly float (real).
Even such a case, running on the rational exact arithmetic
might be helpful to debug the floating point computation.
Version 094h (April 30, 2015) /
- Thanks to Mathieu Dutour, one minor bug has been fixed.
Version 094g (March 23, 2012) /
- Thanks to both Anders Jensen and Mathieu Dutour
a few memory leaks in cddlib.c and cddlp.c have been
fixed. Also, some patches sent by Jerry James have
been applied. These were for making the library
shared and more compatible for C++ compilers.
Version 094f (February 7, 2008) /
- Thanks to Sven Verdoolaege's fixes,
the "configure" script now uses "gcc" as the default
compiler, rather than "g++" in earlier releases,
and the libraries can be linked properly with
both C and C++ programs.
Version 094e (January 27, 2008) /
- A bug of reporting a wrong (sign) certificate of
an infeasible LP is fixed. This bug reported by
Charles Geyer, occurs if the exact GMP version of
the dd_LPSolve is used with minimization. A bug of
reporting infeasibility of a feasible LP with
column non-full rank LP is fixed. This bug was reported
by Sven Verdoolaege.
Version 094d (February 12, 2007) /
- A bug of reporting a wrong unbounded direction vector of
a dual inconsistent LP is fixed. This bug occurs only
if the exact GMP version of the dd_LPSolve is used.
For example, this error may occur in scdd_gmp. This
error was reported by Lars Schewe.
Version 094c (April 23, 2006) /
- A bug for reading a rational number of length longer
than 255 characters have been fixed. This was reported
by Ruriko Yoshida. Now the longest
number is controlled by dd_wordlenmax defined in
cddtypes.h . The longest line is also controlled by
dd_linelenmax . These are currently fixed to
1024 and 4096. Larger numbers and lines can be
handled by modifying these numbers and recompilation.
Version 094b (August 25, 2005) /
- A bug for the representation conversion, reported by
Michal Kvasnica, was fixed. The earlier 094* versions
prematurely terminate the conversion when the number
of rows is equal to the number of columns in the input.
This means the earlier 094* do not compute correctly
for simplices, for example.
Version 094a (August 24, 2005) /
- A bug of dd_LPSolve is fixed. This bug, reported by
Dima Pasechnik, due to a mishandling of cycling of LP
algorithms, is fixed.
Version 094 (August 4, 2005) /
- dd_MatrixCanonicalize has been added. This reduces
matrix M to a minimal representation by computing
all implicit linearity rows and all redundant rows.
It applies lexicographic sorting of rows to remove
duplicates before applying redundancy removal.
This function combines the two computations together
in more efficient manner than before.
See the new redcheck.c for its use. Several basic
operations for matrices have been added, such as
dd_MatrixRowsRemove and dd_MatrixRowsRemove2.
The representation conversion dd_DDMatrix2Poly now
handles the empty H-polyhedra properly, by calling
an LP-based emptiness checker before running the double
description algorithm.
New functions finding specific points in H-polyhedra
are added. dd_ExistsRestrictedFace is a general inequality
system solver with specified equations, inequalities and
strict inequalities. dd_FindRelativeInterior finds
a point in the relative interior of a polyhedron.
Version 093d (February 27, 2005) /
- The problem of outputting the running log has been corrected.
This problem and a solution was communicated by Charles Geyer.
Now, a new global dd_boolean variable dd_log (= dd_FALSE by default)
controls log output. An scdd/lcdd bug of terminating with segmentation
fault when an input polyhedron is numerically delicate has been
corrected. This bug was reported by Stefan Volkwein.
Version 093c (December 26, 2003) /
- A bug of Phase I of the dual simplex method in floating-point
arithmetics is fixed. The problem (bus error) occurred when input data
is not appropriate for floating-point arithmetics. The problem
occurrs even for the GMP executables as the exact LP solver first
tries to detect the terminal basis with float-point arithmetics.
Version 093b (November 10, 2003) /
- The nonterminating problem of the LP solver has been fixed.
This was due to a cycling of the criss-cross method in
floating-point arithmetics, that is extremely rare.
Also, the phase I of the dual simplex method has been
modified. The auxiliary LP is perhaps less likely to
be degenerate.
Version 093a (Augst 11, 2003) /
- The LP basis finding procedure dd_FindLPBasis2 has been
updated. The functions dd_Matrix2WeakAdjacency, dd_SRedundant and
dd_SRedundantRows are added. The manual has been updated.
Version 093 (July 18, 2003) /
- dd_LPSolve with GMP now runs fisrt with floating point arithmetics
and checks with GMP the correctness of the result. New functions dd_Matrix2Adjacency,
dd_FourierElimination, dd_BlockElimination, dd_DDMatrix2Poly2 are added.
Some minor memory leak problems are fixed. (Thanks to the excellent
memory debugger valgrind on linux.)
Version 092b (October 19, 2002) /
- An illegal memory access for EqualityIndex reported by
Thao Dang is fixed. Another bug of lcdd_gmp which takes
"real" data and return a false result is fixed. It now warns
that input is not correct for the exact arithmetic lcdd_gmp.
This error was reported by Andras Salamon.
Version 092a (December 19, 2001) /
- Joerg Rambau kindly created an autoconf distribution of
cddlib-092. This version 092a is made from Rambau's
version with a slight modification. For the momoment,
the Mathematica cdd interface, cddmathlink (in src-mathlink),
still needs to be handled in the conventional manner by
editing Makefile.
Version 092 (December 12, 2001) /
- the default value of dd_almostzero is now set to 1.0E-7
instead of 1.0E-6. New functions are added for checking
redundancy of H- and V- representations such as
dd_Redundant, dd_RedundantRows, dd_ImplicitLinearity,
dd_ImplicitLinearityRows, and dd_RayShooting.
Also some basic operations on dd_MatrixPtr have been added such as
dd_MatrixAppendTo, dd_MatrixRowRemove, dd_MatrixSubmatrix.
The names of enumeration type variables have been modified.
Now all names have prefix "dd_", e.g. Rational, Integer are
now dd_Rational and dd_Integer. This applies to TRUE and FALSE,
which are now dd_TRUE and dd_FALSE.
Version 091d (March 9, 2001) /
- Memory leak in dd_FreeLPData and dd_FreeLPSolution are
fixed.
Version 091c (February 27, 2001) /
- Bug to terminate before the completion of computation
(to produce a segmentation fault) is fixed. This
bug was reported by Hugh Anderson.
Version 091b (February 26, 2001) /
- Numerous memory leak bugs with GMP exact arithmetic,
reported by Marc Pfetsch, are fixed. Also, a minor
bug of cddlib to terminate with core dump, reported by
Hugh Anderson, is fixed. The messages printed to
the standard output "stdout" are now sent to "stderr".
This was suggested by Ingo Schurr.
Version 091a (February 16, 2001) /
- Memory leak problems when GMP is used are fixed for
dd_InitializeAmatrix, dd_CreateMatrix and
dd_Larger. These bugs, reported by Marc Pfetsch,
can be fatal if GMP is used and the functions are
called many times. It has no effect for floating-point
arithmetic computation.
Version 091 (Sept. 25, 2000) /
- Memory leak in FreeDDMemory (cddcore.c)
is fixed. This bug, which might cause a serious problem,
was reported by Shawn Rusaw. Also, a bug reported by
Istvan Csabai on dynamic row ordering is fixed. This
problem is most likely not affecting anyone, since the
dynamic row ordering option is not available via the
publicly released documentations. David Avis contributed
a sample cddlib code, lcdd.c, which runs like his convex
hull code, lrs. In particular, it is useful to generate
standard output stream for piping in unix.
Version 090e (July 12, 2000) /
- A bug of reading very large integer values incorrectly
is fixed. The previous versions were truncating very large
integer values to a number representable by long integer.
Version 090d (June 25, 2000) /
- Serious bugs of dd_CopyOutput, dd_CopyInequalities are fixed.
This bug is found by Istvan Csabai. Earlier versions 090*
output wrong H-representations whenever the RHS constants
are not nonnegative, even though the computation runs
correctly internally.
Version 090c (June 12, 2000) /
- set_intialize is modified so that it allocates a smallest space even when
a nonpositive length is requested.
The bug of not outputting the origin is fixed
when input is homogeneous inequality system and the cone contains
no extreme rays. Note that cddlib does not output this vertex
when the homogeneous cone has extreme rays, since cddlib outputs
a minimal representation.
- A new function dd_DDInputAppend is added.
- dd_DDMatrix2Poly replaces (and combines) the two old functions
dd_Matrix2Poly and dd_DoubleDescription.
- dd_LPSolutionLoad is renamed as dd_CopyLPSolution.
Version 090b (June 2, 2000) /
- Thanks to Shawn Rusaw's great help, I could detect and fix many
memory related problems (memory leak, out-of-bounds, etc).
Also, when input is not regular (nonfull or containing line),
cddlib did not generate adjacency/incidence properly and
this version should work more correctly.
Version 090a (May 30, 2000) /
- a small bug fix in cddarith.c. The bug is reported by Shawn Rusaw.
Version 090 (May 28, 2000) /
- Major revision over the previous versions. It can be now compiled
with GMP rational (-DGMPRATIONAL) as well as the standard C double.
cdd and lp codes are merged and easily called together. Many functions
and data types are modified and renamed. It comes with a simple
cdd/cdd+-type standalne program scdd which does the standard
representation conversion (*.ine <-> *.ext) and outputs all four
types of auxiliary files (*.icd, *.iad, *.ecd, *ead). Although it
lacks some functions such as preprojection of cdd+, scdd is potentially
the most powerful cdd ever since it runs in the two arithmetics and
it can handle any input.
Because of the better readability and the overhead of employing
function calls to do GMP arithmetic, the speed is little slower than
cdd+-076 on both arithmetics C double and GMP rational.
Version 086 (Jan 22, 2000) /
- A bug fixed in dd_LexSmaller that affercted the lexicographic
ordering of input data. This fix is essential for efficiency.
Also several memory leaks have been fixed. Many of these bugs
were found by Mr. Masanori Sato of Tokyo Institute of Technology.
Never released.
Version 085 (October 4, 1999) /
- It can read rational data. Several minor bugs have been fixed.
The new makefile creates cdd and dplex library archives
libcdd.a and libdplex.a for unix systems.
Version 080 (March 24, 1999) /
- The first C-library version of cdd. It is stilll very primitive
and has no documentation. See README.libcdd. Unlike the existing
versions of cdd/cdd+, cddlib can deal with essentially any input,
namely, non-full-dimensional convex hull problems and
vertex-free extreme point (i.e. generator) listing problems. Also
it comes with MathLink program cddmathlink that can be called from
Mathematica to perform cdd operations.
*** cdd version (date) / changes ***
Version 0.61a (December, 1997) /
Few minor corrections over 0.61.
Version 0.61 (December 1, 1997) /
It accepts "H-representation" and "V-representation" statements
which are added to a Polyhedra format (1997).
dp_FindInteriorPoint is added to dplex. Some small bugs are
fixed in dplex.
Version 0.60 (August 27, 1996) /
The following changes are equivalent to ones that had been made
for cdd+-074.
The default output file names have been changed to be consistent
with the transformation. To avoid confusion, *.ine file should
be used only for a system of linear inequalities, and *.ext file
only for a set of extreme points and rays. Accordingly,
the files *.ead (previously *.adj) and *.ecd (previously *.icd)
are reserved for the adjacency and incidence files for the extremal
vertices/rays.
Similarly, *.iad (previously *.iad) and *.icd (previously none)
are reserved for the adjacency and incidence files for the inequality
data.
The LP code is now independent of cdd, and rewritten as a C library.
This library is called dplex, and contains two algorithms,
the dual simplex and the criss-cross method.
Version C0.56 (August 7, 1995) /
Some compilation problem associated with incompatible set_type
variables in setoper.c is fixed. Various minor bugs are fixed.
The output format of incidence file is slightly modified. (See
the Reference Manual cddman.tex).
Version C0.55a (December 18, 1994) /
The broken "preprojection" option in Version 0.55 is fixed.
Version C0.55 (December 5, 1994) /
Set operation library setoper has been modified to use
the optimized set_card function by David Bremner. It is expected
that cdd runs much faster for problems with large row sizes.
The package organization has been changed. Now the package
consists of four C-programs, cdd.c, cddio.c, cddarith.c and setoper.c.
New options verify_input, equality and strict_inequality are added.
Also new options, lineshelling and row_decomposition are added but
these options are still not in very reliable form and not
recommended to use. Some newly found (minor) bugs are fixed.
Version C0.54 (October 30, 1994) /
The partial_enumeration option is renamed as "equality" option.
A new option of "strict_inequality" is added to enumerate those
vertices/rays satisfying some specified inequalities with strict
inequality. Some bugs in reporting progress of iteration is fixed.
Version C0.53 (July 29, 1994) /
- Some imcompatibility of cdd and domcheck has been fixed. Namely, one can
write any comments after each inequality data as long as it is written in
the same line as the last number (i.e., a_{id}, for each i) of each ith
inequality data. Anything written after the last number will be ignored.
Also, random ordering option is added for specifying the ordering of
rows (inequalities).
Version C0.52b (March 28, 1994) /
- The slowness problem of Version C0.52(a) is fixed.
Version C0.51d (March 28, 1994) /
- Because of the slowness of Version 0.52* due to unknown reasons, this version
has been produced for a temporary replacement. This version fixes the bug
mentioned in Version C0.52 release.
Version C0.52a (March 28, 1994) /
- A bug of Version C0.52 generating unnecessary information when
maximize, minimize and find_interior are chosen is fixed.
Version C0.52 (March 21, 1994) /
- A bug of Version C0.51c generating segmentation fault when the option
preprojection is used is fixed. This bug was reported by Alexander Bockmayr of
Max-Planck Institute.
- Some structural changes in the programs, cdd.c and cddarith.c, have been made
mainly for a future planning of adding an option to decompose a problem into
smaller subproblems.
Version C0.51c (March 15, 1994) /
- A bug of Version C0.51b (mishandling of homogeneous inputs, i.e. zero RHS)
is fixed. This bug was reported by Alexander Bockmayr of
Max-Planck Institute.
Version C0.51b (March 9, 1994) /
- A bug of Version C0.51a (mishandling of non full-dimensional
polyhedron) is fixed. The bug was reported by Alexander Bockmayr of
Max-Planck Institute.
Version C0.51a (Feb. 16, 1994) /
- A bug of Version C0.51 (mishandling of empty polyhedron) is fixed.
Version C0.51 (Feb. 12, 1994) /
- Some bugs of Version C0.50 has been fixed.
- The option "algebraic" for selecting the algebraic adjacency computation
is deleted. The reason is the combinatorial adjacency computation
is almost always faster.
- The option "minimize" is implemented to minimize a linear function over
the polytope. Previously, only "maximize" was supported.
- The option "find_interior" has been added to compute an interior point of
the input polyhedron.
Version C0.50 (Feb. 7, 1994) /
- Major upgrade to implement a new data structure to store adjacencies of rays.
The adjacency record lists, Edges(iteration), are used to store only necessary
adjacencies for each iteration. This version runs much faster unless
a dynamic ordering of rows (i.e. maxcutoff or mincutoff) is chosen.
The users are strongly discouraged to use these dynamic ordering options.
Version C0.38(Jan. 31, 1994) /
- Bmatrix struct has been modified to store only the row pointers. Thus the program
does not use any 2-dim arrays, and uses mainly dynamic allocation memory as much
as necessary irrespective of the declared maximum size MMAX times NMAX.
Thus, even in Macintosh computers large problems can be solved.
- CrissCrossSolve LP solver has been updated to output dual solutions as well.
Version C0.37(Jan. 25, 1994) /
- Amatrix struct has been modified to store only the row pointers.
Version C0.36(Jan. 23, 1994) /
- RayRecord struct has been modified to store only a pointer for a ZeroSet so that
the necessary space for the set is allocated each time. This saves a space for
storing each RayRecord ZeroSet. For this modification, the setoper library
must have been changed so that set_initialize allocates the minimum space.
Note that this new version (Jan. 23, 1994) does not work with the older cdd
programs.
Version C0.35(Jan. 23, 1994) /
- RayRecord struct has been modified to store only a pointer for a Ray vector so that
the necessary space for the vector is allocated each time. This saves a space for
storing each RayRecord.
Version C0.34(Jan. 22, 1994) /
- adjacency option has been added to output the adjacency list of output.
Version C0.33(Jan. 16, 1994) /
- partial_enumeration option has been added. By this option, one can enumerate all vertices
and rays which are lying on a selected set of inequalities. The input
-------------
begin
m n Type
b -A1 -A2
end
partial_enumeration
4 1 4 6 7
-------------
restricts the enumeration for those lying on the 1st, 4th, 6th & 7th hyperplanes.
Version C0.32(Jan. 11, 1994) /
- "preprojection" option has been added. This option can be considered as a preprocessing
of orthogonal projection of the polyhedon to a subset of variables. That is, if the inequality
inequality system is of form A1 x1 + A2 x2 <= b, and the variable indices for x2, say 1, 4, 6, 7,
are listed in the input file as
-------------
begin
m n Type
b -A1 -A2
end
preprojection
4 1 4 6 7
-------------
Then, cdd will output the inequality system, A1 x1 <= b, together with the list R of extremal
rays of the homogeneous cone {z: z >=0 and z A2 = 0 }. Consequently, the inequality system
{r A1 x1 <= r b for each r in R} represents the projection of the original polyhedron onto
x1-space with possible redundancy. The supplementary C program (written by F. Margot)
will be used to obtain a minimal system from these two outputs.
Version C0.31(December 20, 1993) /
- The main program cdd.c has been divided into two parts, cdd.c and cddarith.c, the latter
contains all the procedures dealing with floating point numbers and operations.
- LP solver CrissCrossSolve has been added. Now the option "maximize" can be used to
optimize any linear function over the polyhedron.
- The setoper library has been updated to accomodate set_card(set) function.
Version C0.27(December 8, 1993) /
- It uses a new versions of setoper.h and setoper.c (Dec 8, 1993 version) which have
set complemen procedure set_compl.
Version C0.26b(December 8, 1993) /
- FindBasis and ComputeRank have been replaced with new programs which do not copy
Amatrix (for save storage and time). Accordingly, the procedure CopyAmarix has been
removed.
Version C0.26 (November 29, 1993) /
- FindBasis has been modified to be faster when the number of inequalities is large.
- addition of #incidence option for outputting the cardinality of active
hyperplanes instead of the set of all active hyperplanes at each vertex.
- InitBasisAtBottom option has been added to select the last set of rows
as the initial basis (determining a simplex cone/polytope).
This option is {\em not\/} default. See User's manual.
Version C0.25 (November 28, 1993)
- The bug for mishandling the empty polyhedra input is fixed.
Accordingly, the new variable CompStatus (Completion Status)
has been added.
- The procedure AddNewHyperplane and EvaluateARay have been completely
changed. EvaluateARay computes A(hnew) * Ray for each Rays, and sort
the linked list of rays so that the hnew-infeasible rays will be
put consecutively from FirstRay.
Version C0.24 (November 27, 1993) /
- Modified to be able to deal with column size (nn) larger than 32.
- Bugs of LexMin, LexMax ordering options are fixed.
Version C0.23a, b (November 23, 1993) /
- Few small bugs of C0.23 have been fixed.
- Up to this version, the program can deal with column size at most 32.
Version C0.23 (November 22, 1993) /
- First release of cdd.
Version C0.22 (November 21, 1993) /
- File open procedures have been updated.
Version C0.21 (November 10, 1993) /
- The first version of cdd created by translating pdd.p (0.21) with
Dave Gillespie's p2c translator and by modifying the c-code. The set operation
libraries setoper.c, setoper.h (Nov.14, 1993) were created to make the code run
without any p2c libraries.
*** cdd+ version (date) / changes ***
cdd+ Version 0.77beta (April 20, 2003) /
This version is made so that it can be compiled with
newer gcc. such as gcc 3.1.*.
cdd+ Version 0.76 (March 17, 1999) /
This is functionally the same as Ver. 075. This version can
be compiled to run with GNU's GMP rational arithmetic library using
Polymake's GMP-wrappers. cddr+ with GMP runs much faster than
the previous versions of cddr+ (with g++ Rational library).
cdd+ Version 0.75 (November 30, 1997) /
This is a maintenance update of the previous version to employ the
new 1997 Polyhedra format (introducing H-representation and
V-representation statements). Three options for accuracy control
is added: "zero_tolerance", "round_output_off" and "output_digits".
cdd+ Version 0.74 (June 17, 1996) /
Few minor bug fixes were made.
cdd+ Version 0.74beta2 (June 5, 1996) /
Also "vertex_listing_external" and "facet_listing_external"
are added. These options do "vertex_listing" and "facet_listing"
against the external file which can be huge. These options are
useful when one has a small candidate set of vertices (or inequalities)
and a large set of perhaps-redundant points (or inequalities).
The external file must be named as "test.ext.external" (test.ine.external)
if the candidate input file is test.ext (test.ine).
cdd+ Version 0.74beta (June 4, 1996) /
The option "vertex_listing" is added.
The dual simplex method uses the standard Phase I instead of
the criss-cross method. Consequently the LP code is faster.
cdd+ Version 0.74alpha (March 30, 1996) /
The default output file names have been changed to be consistent
with the transformation. To avoid confusion, *.ine file should
be used only for a system of linear inequalities, and *.ext file
only for a set of extreme points and rays. Accordingly,
the files *.ead (previously *.adj) and *.ecd (previously *.icd)
are reserved for the adjacency and incidence files for the extremal
vertices/rays.
Similarly, *.iad (previously *.iad) and *.icd (previously none)
are reserved for the adjacency and incidence files for the inequality
data.
Also, when a file with default file name exists in the current
directory, the default extension name will be doubled. For instance,
if test.ine is input and test.ext exists, then the extreme points
and rays will be written in the file test.ext.ext. The program
does not check "test.ext.ext" exists, and thus such a file
will be overwritten if exists.
cdd+ Version 0.73 (Septembe 6, 1995) /
A new option "input_adjacency" has been added.
The output format of incidence file is slightly modified. (See
the Reference Manual cddman.tex). This incidence file format is compatible
with cdd-056 and we will try not to change the format any more.
cdd+ Version 0.72a (April 16, 1995) /
Cycling bug of Version 072 of LP maximize and minimize has been
fixed.
cdd+ Version 0.72 (April 16, 1995) /
The option "postanalysis" is added. This option is to be used
after *.ext file is obtained. When this option is set
with adjacency and/or incidence options, one can get
adjacency and incidence files from both *.ine and *.ext
files. Thus it is not necessary to generate *.adj and *.icd
files together with *.ext file.
cdd+ Version 0.71 (April 15, 1995) /
Two new functions (through options) are added. The option
"facet_listing" checks whether each input inequality determines
a facet or not. The second option "tope_listing" generates
all full-dimensional regions (topes) of the associated
arrangement of hyperplanes by reverse search algorithm.
Also, the option "show_tableau" is added to illustrate
how the criss-cross method works in the tableau (dictornary)
form. Criss-cross LP solver is now sensitive to ordering
options, lexmin, minindex, radom, etc.
cdd+ Version 0.70 (April 3, 1995) /
The first C++ version of cdd which can run on both floating-point
and rational (exact) arithmetics. The basic functions are
identical to cdd-055. This version requires GNU gcc compilers
(2.6.0 or higher) and a compatible g++lib.
--- end of file: cddHISTORY ---
cddlib-0.94j/INSTALL 0000644 0001750 0001750 00000036614 13300566265 011033 0000000 0000000 Installation Instructions
*************************
Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
Basic Installation
==================
Briefly, the shell command './configure && make && make install'
should configure, build, and install this package. The following
more-detailed instructions are generic; see the 'README' file for
instructions specific to this package. Some packages provide this
'INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The 'configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a 'Makefile' in each directory of the package.
It may also create one or more '.h' files containing system-dependent
definitions. Finally, it creates a shell script 'config.status' that
you can run in the future to recreate the current configuration, and a
file 'config.log' containing compiler output (useful mainly for
debugging 'configure').
It can also use an optional file (typically called 'config.cache' and
enabled with '--cache-file=config.cache' or simply '-C') that saves the
results of its tests to speed up reconfiguring. Caching is disabled by
default to prevent problems with accidental use of stale cache files.
If you need to do unusual things to compile the package, please try
to figure out how 'configure' could check whether to do them, and mail
diffs or instructions to the address given in the 'README' so they can
be considered for the next release. If you are using the cache, and at
some point 'config.cache' contains results you don't want to keep, you
may remove or edit it.
The file 'configure.ac' (or 'configure.in') is used to create
'configure' by a program called 'autoconf'. You need 'configure.ac' if
you want to change it or regenerate 'configure' using a newer version of
'autoconf'.
The simplest way to compile this package is:
1. 'cd' to the directory containing the package's source code and type
'./configure' to configure the package for your system.
Running 'configure' might take a while. While running, it prints
some messages telling which features it is checking for.
2. Type 'make' to compile the package.
3. Optionally, type 'make check' to run any self-tests that come with
the package, generally using the just-built uninstalled binaries.
4. Type 'make install' to install the programs and any data files and
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the 'make install' phase executed with root
privileges.
5. Optionally, type 'make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior 'make install' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
source code directory by typing 'make clean'. To also remove the
files that 'configure' created (so you can compile the package for
a different kind of computer), type 'make distclean'. There is
also a 'make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
7. Often, you can also type 'make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide 'make
distcheck', which can by used by developers to test that all other
targets like 'make install' and 'make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the 'configure' script does not know about. Run './configure --help'
for details on some of the pertinent environment variables.
You can give 'configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here is
an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU 'make'. 'cd' to the
directory where you want the object files and executables to go and run
the 'configure' script. 'configure' automatically checks for the source
code in the directory that 'configure' is in and in '..'. This is known
as a "VPATH" build.
With a non-GNU 'make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use 'make distclean' before
reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple '-arch' options to the
compiler but only a single '-arch' option to the preprocessor. Like
this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CPP="gcc -E" CXXCPP="g++ -E"
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the 'lipo' tool if you have problems.
Installation Names
==================
By default, 'make install' installs the package's commands under
'/usr/local/bin', include files under '/usr/local/include', etc. You
can specify an installation prefix other than '/usr/local' by giving
'configure' the option '--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like '--bindir=DIR' to specify different values for particular
kinds of files. Run 'configure --help' for a list of the directories
you can set and what kinds of files go in them. In general, the default
for these options is expressed in terms of '${prefix}', so that
specifying just '--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to 'configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
'make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, 'make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
'${prefix}'. Any directories that were specified during 'configure',
but not in terms of '${prefix}', must each be overridden at install time
for the entire installation to be relocated. The approach of makefile
variable overrides for each directory variable is required by the GNU
Coding Standards, and ideally causes no recompilation. However, some
platforms have known limitations with the semantics of shared libraries
that end up requiring recompilation when using this method, particularly
noticeable in packages that use GNU Libtool.
The second method involves providing the 'DESTDIR' variable. For
example, 'make install DESTDIR=/alternate/directory' will prepend
'/alternate/directory' before all installation names. The approach of
'DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of '${prefix}'
at 'configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving 'configure' the
option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
Some packages pay attention to '--enable-FEATURE' options to
'configure', where FEATURE indicates an optional part of the package.
They may also pay attention to '--with-PACKAGE' options, where PACKAGE
is something like 'gnu-as' or 'x' (for the X Window System). The
'README' should mention any '--enable-' and '--with-' options that the
package recognizes.
For packages that use the X Window System, 'configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the 'configure' options '--x-includes=DIR' and
'--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of 'make' will be. For these packages, running './configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with 'make V=1'; while running './configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with 'make V=0'.
Particular systems
==================
On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX 'make' updates targets which have the same time stamps as their
prerequisites, which makes it generally unusable when shipped generated
files such as 'configure' are involved. Use GNU 'make' instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its '' header file. The option '-nodtk' can be used as a
workaround. If GNU CC is not installed, it is therefore recommended to
try
./configure CC="cc"
and if that doesn't work, try
./configure CC="cc -nodtk"
On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
directory contains several dysfunctional programs; working variants of
these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
in your 'PATH', put it _after_ '/usr/bin'.
On Haiku, software installed for all users goes in '/boot/common',
not '/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type
==========================
There may be some features 'configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
_same_ architectures, 'configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
'--build=TYPE' option. TYPE can either be a short name for the system
type, such as 'sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS
KERNEL-OS
See the file 'config.sub' for the possible values of each field. If
'config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option '--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with '--host=TYPE'.
Sharing Defaults
================
If you want to set default values for 'configure' scripts to share,
you can create a site shell script called 'config.site' that gives
default values for variables like 'CC', 'cache_file', and 'prefix'.
'configure' looks for 'PREFIX/share/config.site' if it exists, then
'PREFIX/etc/config.site' if it exists. Or, you can set the
'CONFIG_SITE' environment variable to the location of the site script.
A warning: not all 'configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to 'configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the 'configure' command line, using 'VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified 'gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
Autoconf limitation. Until the limitation is lifted, you can use this
workaround:
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
'configure' Invocation
======================
'configure' recognizes the following options to control how it
operates.
'--help'
'-h'
Print a summary of all of the options to 'configure', and exit.
'--help=short'
'--help=recursive'
Print a summary of the options unique to this package's
'configure', and exit. The 'short' variant lists options used only
in the top level, while the 'recursive' variant lists options also
present in any nested packages.
'--version'
'-V'
Print the version of Autoconf used to generate the 'configure'
script, and exit.
'--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally 'config.cache'. FILE defaults to '/dev/null' to
disable caching.
'--config-cache'
'-C'
Alias for '--cache-file=config.cache'.
'--quiet'
'--silent'
'-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to '/dev/null' (any error
messages will still be shown).
'--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
'configure' can determine that directory automatically.
'--prefix=DIR'
Use DIR as the installation prefix. *note Installation Names:: for
more details, including other options available for fine-tuning the
installation locations.
'--no-create'
'-n'
Run the configure checks, but stop before creating any output
files.
'configure' also accepts some other, not widely useful, options. Run
'configure --help' for more details.
cddlib-0.94j/NEWS 0000644 0001750 0001750 00000064600 13312731134 010465 0000000 0000000 libcdd, cdd & cdd+ HISTORY file
*** libcdd version (date) / changes ***
Version 094j (June 21, 2018) /
- Thanks to Julian Rüth, modernized autotooling, mirrored
code on GitHub, introduced cddexec as a replacement of
cdd_both_reps that many distributions packaged, made
randomization portable. Thanks to Matthias C. M. Troffaes, fixed
representation type in dd_MatrixAppendTo.
Version 094i (March 9, 2018) /
- The missing definition of dd_set_d function in the case of
-DGMPRATIONAL flag is used. The only change is in cddmp.h.
The use of this function is explained in testcdd2.c program.
This function is useful when input is mostly float (real).
Even such a case, running on the rational exact arithmetic
might be helpful to debug the floating point computation.
Version 094h (April 30, 2015) /
- Thanks to Mathieu Dutour, one minor bug has been fixed.
Version 094g (March 23, 2012) /
- Thanks to both Anders Jensen and Mathieu Dutour
a few memory leaks in cddlib.c and cddlp.c have been
fixed. Also, some patches sent by Jerry James have
been applied. These were for making the library
shared and more compatible for C++ compilers.
Version 094f (February 7, 2008) /
- Thanks to Sven Verdoolaege's fixes,
the "configure" script now uses "gcc" as the default
compiler, rather than "g++" in earlier releases,
and the libraries can be linked properly with
both C and C++ programs.
Version 094e (January 27, 2008) /
- A bug of reporting a wrong (sign) certificate of
an infeasible LP is fixed. This bug reported by
Charles Geyer, occurs if the exact GMP version of
the dd_LPSolve is used with minimization. A bug of
reporting infeasibility of a feasible LP with
column non-full rank LP is fixed. This bug was reported
by Sven Verdoolaege.
Version 094d (February 12, 2007) /
- A bug of reporting a wrong unbounded direction vector of
a dual inconsistent LP is fixed. This bug occurs only
if the exact GMP version of the dd_LPSolve is used.
For example, this error may occur in scdd_gmp. This
error was reported by Lars Schewe.
Version 094c (April 23, 2006) /
- A bug for reading a rational number of length longer
than 255 characters have been fixed. This was reported
by Ruriko Yoshida. Now the longest
number is controlled by dd_wordlenmax defined in
cddtypes.h . The longest line is also controlled by
dd_linelenmax . These are currently fixed to
1024 and 4096. Larger numbers and lines can be
handled by modifying these numbers and recompilation.
Version 094b (August 25, 2005) /
- A bug for the representation conversion, reported by
Michal Kvasnica, was fixed. The earlier 094* versions
prematurely terminate the conversion when the number
of rows is equal to the number of columns in the input.
This means the earlier 094* do not compute correctly
for simplices, for example.
Version 094a (August 24, 2005) /
- A bug of dd_LPSolve is fixed. This bug, reported by
Dima Pasechnik, due to a mishandling of cycling of LP
algorithms, is fixed.
Version 094 (August 4, 2005) /
- dd_MatrixCanonicalize has been added. This reduces
matrix M to a minimal representation by computing
all implicit linearity rows and all redundant rows.
It applies lexicographic sorting of rows to remove
duplicates before applying redundancy removal.
This function combines the two computations together
in more efficient manner than before.
See the new redcheck.c for its use. Several basic
operations for matrices have been added, such as
dd_MatrixRowsRemove and dd_MatrixRowsRemove2.
The representation conversion dd_DDMatrix2Poly now
handles the empty H-polyhedra properly, by calling
an LP-based emptiness checker before running the double
description algorithm.
New functions finding specific points in H-polyhedra
are added. dd_ExistsRestrictedFace is a general inequality
system solver with specified equations, inequalities and
strict inequalities. dd_FindRelativeInterior finds
a point in the relative interior of a polyhedron.
Version 093d (February 27, 2005) /
- The problem of outputting the running log has been corrected.
This problem and a solution was communicated by Charles Geyer.
Now, a new global dd_boolean variable dd_log (= dd_FALSE by default)
controls log output. An scdd/lcdd bug of terminating with segmentation
fault when an input polyhedron is numerically delicate has been
corrected. This bug was reported by Stefan Volkwein.
Version 093c (December 26, 2003) /
- A bug of Phase I of the dual simplex method in floating-point
arithmetics is fixed. The problem (bus error) occurred when input data
is not appropriate for floating-point arithmetics. The problem
occurrs even for the GMP executables as the exact LP solver first
tries to detect the terminal basis with float-point arithmetics.
Version 093b (November 10, 2003) /
- The nonterminating problem of the LP solver has been fixed.
This was due to a cycling of the criss-cross method in
floating-point arithmetics, that is extremely rare.
Also, the phase I of the dual simplex method has been
modified. The auxiliary LP is perhaps less likely to
be degenerate.
Version 093a (Augst 11, 2003) /
- The LP basis finding procedure dd_FindLPBasis2 has been
updated. The functions dd_Matrix2WeakAdjacency, dd_SRedundant and
dd_SRedundantRows are added. The manual has been updated.
Version 093 (July 18, 2003) /
- dd_LPSolve with GMP now runs fisrt with floating point arithmetics
and checks with GMP the correctness of the result. New functions dd_Matrix2Adjacency,
dd_FourierElimination, dd_BlockElimination, dd_DDMatrix2Poly2 are added.
Some minor memory leak problems are fixed. (Thanks to the excellent
memory debugger valgrind on linux.)
Version 092b (October 19, 2002) /
- An illegal memory access for EqualityIndex reported by
Thao Dang is fixed. Another bug of lcdd_gmp which takes
"real" data and return a false result is fixed. It now warns
that input is not correct for the exact arithmetic lcdd_gmp.
This error was reported by Andras Salamon.
Version 092a (December 19, 2001) /
- Joerg Rambau kindly created an autoconf distribution of
cddlib-092. This version 092a is made from Rambau's
version with a slight modification. For the momoment,
the Mathematica cdd interface, cddmathlink (in src-mathlink),
still needs to be handled in the conventional manner by
editing Makefile.
Version 092 (December 12, 2001) /
- the default value of dd_almostzero is now set to 1.0E-7
instead of 1.0E-6. New functions are added for checking
redundancy of H- and V- representations such as
dd_Redundant, dd_RedundantRows, dd_ImplicitLinearity,
dd_ImplicitLinearityRows, and dd_RayShooting.
Also some basic operations on dd_MatrixPtr have been added such as
dd_MatrixAppendTo, dd_MatrixRowRemove, dd_MatrixSubmatrix.
The names of enumeration type variables have been modified.
Now all names have prefix "dd_", e.g. Rational, Integer are
now dd_Rational and dd_Integer. This applies to TRUE and FALSE,
which are now dd_TRUE and dd_FALSE.
Version 091d (March 9, 2001) /
- Memory leak in dd_FreeLPData and dd_FreeLPSolution are
fixed.
Version 091c (February 27, 2001) /
- Bug to terminate before the completion of computation
(to produce a segmentation fault) is fixed. This
bug was reported by Hugh Anderson.
Version 091b (February 26, 2001) /
- Numerous memory leak bugs with GMP exact arithmetic,
reported by Marc Pfetsch, are fixed. Also, a minor
bug of cddlib to terminate with core dump, reported by
Hugh Anderson, is fixed. The messages printed to
the standard output "stdout" are now sent to "stderr".
This was suggested by Ingo Schurr.
Version 091a (February 16, 2001) /
- Memory leak problems when GMP is used are fixed for
dd_InitializeAmatrix, dd_CreateMatrix and
dd_Larger. These bugs, reported by Marc Pfetsch,
can be fatal if GMP is used and the functions are
called many times. It has no effect for floating-point
arithmetic computation.
Version 091 (Sept. 25, 2000) /
- Memory leak in FreeDDMemory (cddcore.c)
is fixed. This bug, which might cause a serious problem,
was reported by Shawn Rusaw. Also, a bug reported by
Istvan Csabai on dynamic row ordering is fixed. This
problem is most likely not affecting anyone, since the
dynamic row ordering option is not available via the
publicly released documentations. David Avis contributed
a sample cddlib code, lcdd.c, which runs like his convex
hull code, lrs. In particular, it is useful to generate
standard output stream for piping in unix.
Version 090e (July 12, 2000) /
- A bug of reading very large integer values incorrectly
is fixed. The previous versions were truncating very large
integer values to a number representable by long integer.
Version 090d (June 25, 2000) /
- Serious bugs of dd_CopyOutput, dd_CopyInequalities are fixed.
This bug is found by Istvan Csabai. Earlier versions 090*
output wrong H-representations whenever the RHS constants
are not nonnegative, even though the computation runs
correctly internally.
Version 090c (June 12, 2000) /
- set_intialize is modified so that it allocates a smallest space even when
a nonpositive length is requested.
The bug of not outputting the origin is fixed
when input is homogeneous inequality system and the cone contains
no extreme rays. Note that cddlib does not output this vertex
when the homogeneous cone has extreme rays, since cddlib outputs
a minimal representation.
- A new function dd_DDInputAppend is added.
- dd_DDMatrix2Poly replaces (and combines) the two old functions
dd_Matrix2Poly and dd_DoubleDescription.
- dd_LPSolutionLoad is renamed as dd_CopyLPSolution.
Version 090b (June 2, 2000) /
- Thanks to Shawn Rusaw's great help, I could detect and fix many
memory related problems (memory leak, out-of-bounds, etc).
Also, when input is not regular (nonfull or containing line),
cddlib did not generate adjacency/incidence properly and
this version should work more correctly.
Version 090a (May 30, 2000) /
- a small bug fix in cddarith.c. The bug is reported by Shawn Rusaw.
Version 090 (May 28, 2000) /
- Major revision over the previous versions. It can be now compiled
with GMP rational (-DGMPRATIONAL) as well as the standard C double.
cdd and lp codes are merged and easily called together. Many functions
and data types are modified and renamed. It comes with a simple
cdd/cdd+-type standalne program scdd which does the standard
representation conversion (*.ine <-> *.ext) and outputs all four
types of auxiliary files (*.icd, *.iad, *.ecd, *ead). Although it
lacks some functions such as preprojection of cdd+, scdd is potentially
the most powerful cdd ever since it runs in the two arithmetics and
it can handle any input.
Because of the better readability and the overhead of employing
function calls to do GMP arithmetic, the speed is little slower than
cdd+-076 on both arithmetics C double and GMP rational.
Version 086 (Jan 22, 2000) /
- A bug fixed in dd_LexSmaller that affercted the lexicographic
ordering of input data. This fix is essential for efficiency.
Also several memory leaks have been fixed. Many of these bugs
were found by Mr. Masanori Sato of Tokyo Institute of Technology.
Never released.
Version 085 (October 4, 1999) /
- It can read rational data. Several minor bugs have been fixed.
The new makefile creates cdd and dplex library archives
libcdd.a and libdplex.a for unix systems.
Version 080 (March 24, 1999) /
- The first C-library version of cdd. It is stilll very primitive
and has no documentation. See README.libcdd. Unlike the existing
versions of cdd/cdd+, cddlib can deal with essentially any input,
namely, non-full-dimensional convex hull problems and
vertex-free extreme point (i.e. generator) listing problems. Also
it comes with MathLink program cddmathlink that can be called from
Mathematica to perform cdd operations.
*** cdd version (date) / changes ***
Version 0.61a (December, 1997) /
Few minor corrections over 0.61.
Version 0.61 (December 1, 1997) /
It accepts "H-representation" and "V-representation" statements
which are added to a Polyhedra format (1997).
dp_FindInteriorPoint is added to dplex. Some small bugs are
fixed in dplex.
Version 0.60 (August 27, 1996) /
The following changes are equivalent to ones that had been made
for cdd+-074.
The default output file names have been changed to be consistent
with the transformation. To avoid confusion, *.ine file should
be used only for a system of linear inequalities, and *.ext file
only for a set of extreme points and rays. Accordingly,
the files *.ead (previously *.adj) and *.ecd (previously *.icd)
are reserved for the adjacency and incidence files for the extremal
vertices/rays.
Similarly, *.iad (previously *.iad) and *.icd (previously none)
are reserved for the adjacency and incidence files for the inequality
data.
The LP code is now independent of cdd, and rewritten as a C library.
This library is called dplex, and contains two algorithms,
the dual simplex and the criss-cross method.
Version C0.56 (August 7, 1995) /
Some compilation problem associated with incompatible set_type
variables in setoper.c is fixed. Various minor bugs are fixed.
The output format of incidence file is slightly modified. (See
the Reference Manual cddman.tex).
Version C0.55a (December 18, 1994) /
The broken "preprojection" option in Version 0.55 is fixed.
Version C0.55 (December 5, 1994) /
Set operation library setoper has been modified to use
the optimized set_card function by David Bremner. It is expected
that cdd runs much faster for problems with large row sizes.
The package organization has been changed. Now the package
consists of four C-programs, cdd.c, cddio.c, cddarith.c and setoper.c.
New options verify_input, equality and strict_inequality are added.
Also new options, lineshelling and row_decomposition are added but
these options are still not in very reliable form and not
recommended to use. Some newly found (minor) bugs are fixed.
Version C0.54 (October 30, 1994) /
The partial_enumeration option is renamed as "equality" option.
A new option of "strict_inequality" is added to enumerate those
vertices/rays satisfying some specified inequalities with strict
inequality. Some bugs in reporting progress of iteration is fixed.
Version C0.53 (July 29, 1994) /
- Some imcompatibility of cdd and domcheck has been fixed. Namely, one can
write any comments after each inequality data as long as it is written in
the same line as the last number (i.e., a_{id}, for each i) of each ith
inequality data. Anything written after the last number will be ignored.
Also, random ordering option is added for specifying the ordering of
rows (inequalities).
Version C0.52b (March 28, 1994) /
- The slowness problem of Version C0.52(a) is fixed.
Version C0.51d (March 28, 1994) /
- Because of the slowness of Version 0.52* due to unknown reasons, this version
has been produced for a temporary replacement. This version fixes the bug
mentioned in Version C0.52 release.
Version C0.52a (March 28, 1994) /
- A bug of Version C0.52 generating unnecessary information when
maximize, minimize and find_interior are chosen is fixed.
Version C0.52 (March 21, 1994) /
- A bug of Version C0.51c generating segmentation fault when the option
preprojection is used is fixed. This bug was reported by Alexander Bockmayr of
Max-Planck Institute.
- Some structural changes in the programs, cdd.c and cddarith.c, have been made
mainly for a future planning of adding an option to decompose a problem into
smaller subproblems.
Version C0.51c (March 15, 1994) /
- A bug of Version C0.51b (mishandling of homogeneous inputs, i.e. zero RHS)
is fixed. This bug was reported by Alexander Bockmayr of
Max-Planck Institute.
Version C0.51b (March 9, 1994) /
- A bug of Version C0.51a (mishandling of non full-dimensional
polyhedron) is fixed. The bug was reported by Alexander Bockmayr of
Max-Planck Institute.
Version C0.51a (Feb. 16, 1994) /
- A bug of Version C0.51 (mishandling of empty polyhedron) is fixed.
Version C0.51 (Feb. 12, 1994) /
- Some bugs of Version C0.50 has been fixed.
- The option "algebraic" for selecting the algebraic adjacency computation
is deleted. The reason is the combinatorial adjacency computation
is almost always faster.
- The option "minimize" is implemented to minimize a linear function over
the polytope. Previously, only "maximize" was supported.
- The option "find_interior" has been added to compute an interior point of
the input polyhedron.
Version C0.50 (Feb. 7, 1994) /
- Major upgrade to implement a new data structure to store adjacencies of rays.
The adjacency record lists, Edges(iteration), are used to store only necessary
adjacencies for each iteration. This version runs much faster unless
a dynamic ordering of rows (i.e. maxcutoff or mincutoff) is chosen.
The users are strongly discouraged to use these dynamic ordering options.
Version C0.38(Jan. 31, 1994) /
- Bmatrix struct has been modified to store only the row pointers. Thus the program
does not use any 2-dim arrays, and uses mainly dynamic allocation memory as much
as necessary irrespective of the declared maximum size MMAX times NMAX.
Thus, even in Macintosh computers large problems can be solved.
- CrissCrossSolve LP solver has been updated to output dual solutions as well.
Version C0.37(Jan. 25, 1994) /
- Amatrix struct has been modified to store only the row pointers.
Version C0.36(Jan. 23, 1994) /
- RayRecord struct has been modified to store only a pointer for a ZeroSet so that
the necessary space for the set is allocated each time. This saves a space for
storing each RayRecord ZeroSet. For this modification, the setoper library
must have been changed so that set_initialize allocates the minimum space.
Note that this new version (Jan. 23, 1994) does not work with the older cdd
programs.
Version C0.35(Jan. 23, 1994) /
- RayRecord struct has been modified to store only a pointer for a Ray vector so that
the necessary space for the vector is allocated each time. This saves a space for
storing each RayRecord.
Version C0.34(Jan. 22, 1994) /
- adjacency option has been added to output the adjacency list of output.
Version C0.33(Jan. 16, 1994) /
- partial_enumeration option has been added. By this option, one can enumerate all vertices
and rays which are lying on a selected set of inequalities. The input
-------------
begin
m n Type
b -A1 -A2
end
partial_enumeration
4 1 4 6 7
-------------
restricts the enumeration for those lying on the 1st, 4th, 6th & 7th hyperplanes.
Version C0.32(Jan. 11, 1994) /
- "preprojection" option has been added. This option can be considered as a preprocessing
of orthogonal projection of the polyhedon to a subset of variables. That is, if the inequality
inequality system is of form A1 x1 + A2 x2 <= b, and the variable indices for x2, say 1, 4, 6, 7,
are listed in the input file as
-------------
begin
m n Type
b -A1 -A2
end
preprojection
4 1 4 6 7
-------------
Then, cdd will output the inequality system, A1 x1 <= b, together with the list R of extremal
rays of the homogeneous cone {z: z >=0 and z A2 = 0 }. Consequently, the inequality system
{r A1 x1 <= r b for each r in R} represents the projection of the original polyhedron onto
x1-space with possible redundancy. The supplementary C program (written by F. Margot)
will be used to obtain a minimal system from these two outputs.
Version C0.31(December 20, 1993) /
- The main program cdd.c has been divided into two parts, cdd.c and cddarith.c, the latter
contains all the procedures dealing with floating point numbers and operations.
- LP solver CrissCrossSolve has been added. Now the option "maximize" can be used to
optimize any linear function over the polyhedron.
- The setoper library has been updated to accomodate set_card(set) function.
Version C0.27(December 8, 1993) /
- It uses a new versions of setoper.h and setoper.c (Dec 8, 1993 version) which have
set complemen procedure set_compl.
Version C0.26b(December 8, 1993) /
- FindBasis and ComputeRank have been replaced with new programs which do not copy
Amatrix (for save storage and time). Accordingly, the procedure CopyAmarix has been
removed.
Version C0.26 (November 29, 1993) /
- FindBasis has been modified to be faster when the number of inequalities is large.
- addition of #incidence option for outputting the cardinality of active
hyperplanes instead of the set of all active hyperplanes at each vertex.
- InitBasisAtBottom option has been added to select the last set of rows
as the initial basis (determining a simplex cone/polytope).
This option is {\em not\/} default. See User's manual.
Version C0.25 (November 28, 1993)
- The bug for mishandling the empty polyhedra input is fixed.
Accordingly, the new variable CompStatus (Completion Status)
has been added.
- The procedure AddNewHyperplane and EvaluateARay have been completely
changed. EvaluateARay computes A(hnew) * Ray for each Rays, and sort
the linked list of rays so that the hnew-infeasible rays will be
put consecutively from FirstRay.
Version C0.24 (November 27, 1993) /
- Modified to be able to deal with column size (nn) larger than 32.
- Bugs of LexMin, LexMax ordering options are fixed.
Version C0.23a, b (November 23, 1993) /
- Few small bugs of C0.23 have been fixed.
- Up to this version, the program can deal with column size at most 32.
Version C0.23 (November 22, 1993) /
- First release of cdd.
Version C0.22 (November 21, 1993) /
- File open procedures have been updated.
Version C0.21 (November 10, 1993) /
- The first version of cdd created by translating pdd.p (0.21) with
Dave Gillespie's p2c translator and by modifying the c-code. The set operation
libraries setoper.c, setoper.h (Nov.14, 1993) were created to make the code run
without any p2c libraries.
*** cdd+ version (date) / changes ***
cdd+ Version 0.77beta (April 20, 2003) /
This version is made so that it can be compiled with
newer gcc. such as gcc 3.1.*.
cdd+ Version 0.76 (March 17, 1999) /
This is functionally the same as Ver. 075. This version can
be compiled to run with GNU's GMP rational arithmetic library using
Polymake's GMP-wrappers. cddr+ with GMP runs much faster than
the previous versions of cddr+ (with g++ Rational library).
cdd+ Version 0.75 (November 30, 1997) /
This is a maintenance update of the previous version to employ the
new 1997 Polyhedra format (introducing H-representation and
V-representation statements). Three options for accuracy control
is added: "zero_tolerance", "round_output_off" and "output_digits".
cdd+ Version 0.74 (June 17, 1996) /
Few minor bug fixes were made.
cdd+ Version 0.74beta2 (June 5, 1996) /
Also "vertex_listing_external" and "facet_listing_external"
are added. These options do "vertex_listing" and "facet_listing"
against the external file which can be huge. These options are
useful when one has a small candidate set of vertices (or inequalities)
and a large set of perhaps-redundant points (or inequalities).
The external file must be named as "test.ext.external" (test.ine.external)
if the candidate input file is test.ext (test.ine).
cdd+ Version 0.74beta (June 4, 1996) /
The option "vertex_listing" is added.
The dual simplex method uses the standard Phase I instead of
the criss-cross method. Consequently the LP code is faster.
cdd+ Version 0.74alpha (March 30, 1996) /
The default output file names have been changed to be consistent
with the transformation. To avoid confusion, *.ine file should
be used only for a system of linear inequalities, and *.ext file
only for a set of extreme points and rays. Accordingly,
the files *.ead (previously *.adj) and *.ecd (previously *.icd)
are reserved for the adjacency and incidence files for the extremal
vertices/rays.
Similarly, *.iad (previously *.iad) and *.icd (previously none)
are reserved for the adjacency and incidence files for the inequality
data.
Also, when a file with default file name exists in the current
directory, the default extension name will be doubled. For instance,
if test.ine is input and test.ext exists, then the extreme points
and rays will be written in the file test.ext.ext. The program
does not check "test.ext.ext" exists, and thus such a file
will be overwritten if exists.
cdd+ Version 0.73 (Septembe 6, 1995) /
A new option "input_adjacency" has been added.
The output format of incidence file is slightly modified. (See
the Reference Manual cddman.tex). This incidence file format is compatible
with cdd-056 and we will try not to change the format any more.
cdd+ Version 0.72a (April 16, 1995) /
Cycling bug of Version 072 of LP maximize and minimize has been
fixed.
cdd+ Version 0.72 (April 16, 1995) /
The option "postanalysis" is added. This option is to be used
after *.ext file is obtained. When this option is set
with adjacency and/or incidence options, one can get
adjacency and incidence files from both *.ine and *.ext
files. Thus it is not necessary to generate *.adj and *.icd
files together with *.ext file.
cdd+ Version 0.71 (April 15, 1995) /
Two new functions (through options) are added. The option
"facet_listing" checks whether each input inequality determines
a facet or not. The second option "tope_listing" generates
all full-dimensional regions (topes) of the associated
arrangement of hyperplanes by reverse search algorithm.
Also, the option "show_tableau" is added to illustrate
how the criss-cross method works in the tableau (dictornary)
form. Criss-cross LP solver is now sensitive to ordering
options, lexmin, minindex, radom, etc.
cdd+ Version 0.70 (April 3, 1995) /
The first C++ version of cdd which can run on both floating-point
and rational (exact) arithmetics. The basic functions are
identical to cdd-055. This version requires GNU gcc compilers
(2.6.0 or higher) and a compatible g++lib.
--- end of file: cddHISTORY ---
cddlib-0.94j/README 0000644 0001750 0001750 00000007532 13307420663 010655 0000000 0000000 # cddlib
The C-library cddlib is a C implementation of the *Double Description Method*
of Motzkin et al. for generating all vertices (i.e. extreme points) and extreme
rays of a general convex polyhedron in Rd given by a system of
linear inequalities:
> P = { x=(x1, ..., xd)T : b - A·x ≥ 0 }
where A is a given m×d real matrix, b is a given m-vector and 0 is the m-vector
of all zeros.
The program can be used for the reverse operation (i.e. convex hull
computation). This means that one can move back and forth between an inequality
representation and a generator (i.e. vertex and ray) representation of a
polyhedron with cddlib. Also, cddlib can solve a linear programming problem,
i.e. a problem of maximizing and minimizing a linear function over P.
## Report an Issue
If you find some problems or bugs, please kindly report them to our [issue
tracker](https://github.com/cddlib/cddlib/issues).
## Documentation
The
[documentation](ftp://ftp.math.ethz.ch/users/fukudak/cdd/cddlibman/cddlibman.html)
is still incomplete but contains descriptions of the most important functions.
Please look at the [examples](src/) for how the library functions can be used
in user's C-codes.
## H-representation & V-polyhedron
One convenient feature of cddlib is the ability to handle essentially any data.
More precisely, it can generate an H-representation of a V-polyhedron which is
not full-dimensional, and it can generate a V-representation of an H-polyhedron
which has no extreme points.
## Numerical Problems
A little caution is in order. Many people have seen numerical problems when the
floating version of cddlib is used. As we all know, floating-point computation
might not give a correct answer, especially when an input data is very
sensitive to a small perturbation. When some strange behavior is observed, it
is always wise to create a rational approximation of the input (for example,
one can replace 0.3333333 with 1/3) and to compute it with cddlib compiled with
[GMP Rational](https://gmplib.org) to see what a correct behavior should be.
Whenever the time is not important, it is safer to use GMP rational arithmetic.
If you need speedy computation with floating-point arithmetic, you might want
to *play with* the constant `dd_almostzero` defined in [cdd.h](lib-src/cdd.h):
#define dd_almostzero 1.0E-6
This number is used to recognize whether a number is zero: a number whose
absolute value is smaller than `dd_almostzero` is considered zero, and nonzero
otherwise. You might want to change this to modify the behavior of cddlib.
Another thing one can do is scaling. If the values in one column of an input is
of smaller magnitude than those in another column, scale one so that they
become comparable.
## Build the Latest Released Version
Download the most recent tarball from our [Releases
page](https://github.com/cddlib/cddlib/releases) and build cddlib with
```
tar zxf cddlib-*.tar.gz
cd cddlib-*
./configure
make
```
To install cddlib to `/usr/local` type
```
sudo make install
```
To link your own code with cddlib, invoke your compiler with something like
```
gcc -I/usr/local/include -L/usr/local/lib YOUR_CODE.c -lcdd
```
or, if you want to use rational arithmetic provided by
[GMP](https://gmplib.org), with
```
gcc -I/usr/local/include -L/usr/local/lib -DGMPRATIONAL YOUR_CODE.c -lcddgmp -lgmp
```
## Build from the Source Code Repository
Similar to the above, you can build from our [github repository](https://github.com/cddlib/cddlib) with
```
git clone https://github.com/cddlib/cddlib.git
cd cddlib
./bootstrap
./configure
make
```
## Contact the Author
The library cddlib is free software, but if cddlib turns out to be useful,
please kindly send a note or paper to the [author](./AUTHORS) mentioning what
purpose and how cddlib has been used for. The most powerful support for free
software development is user's appreciation.
cddlib-0.94j/compile 0000755 0001750 0001750 00000016326 13300566265 011356 0000000 0000000 #! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2016-01-11.22; # UTC
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Written by Tom Tromey .
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to or send patches to
# .
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to .
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
cddlib-0.94j/config.guess 0000755 0001750 0001750 00000126343 13300566265 012321 0000000 0000000 #! /bin/sh
# Attempt to guess a canonical system name.
# Copyright 1992-2017 Free Software Foundation, Inc.
timestamp='2017-05-27'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see .
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that
# program. This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
#
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
#
# Please send patches to .
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION]
Output the configuration name of the system \`$me' is run on.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to ."
version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright 1992-2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit ;;
--version | -v )
echo "$version" ; exit ;;
--help | --h* | -h )
echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help" >&2
exit 1 ;;
* )
break ;;
esac
done
if test $# != 0; then
echo "$me: too many arguments$help" >&2
exit 1
fi
trap 'exit 1' 1 2 15
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team.
set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
case "${UNAME_SYSTEM}" in
Linux|GNU|GNU/*)
# If the system lacks a compiler, then just pick glibc.
# We could probably try harder.
LIBC=gnu
eval $set_cc_for_build
cat <<-EOF > $dummy.c
#include
#if defined(__UCLIBC__)
LIBC=uclibc
#elif defined(__dietlibc__)
LIBC=dietlibc
#else
LIBC=gnu
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
;;
esac
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
# compatibility and a consistent mechanism for selecting the
# object file format.
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
/sbin/$sysctl 2>/dev/null || \
/usr/sbin/$sysctl 2>/dev/null || \
echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
earmv*)
arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
machine=${arch}${endian}-unknown
;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently (or will in the future) and ABI.
case "${UNAME_MACHINE_ARCH}" in
earm*)
os=netbsdelf
;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
os=netbsd
else
os=netbsdelf
fi
;;
*)
os=netbsd
;;
esac
# Determine ABI tags.
case "${UNAME_MACHINE_ARCH}" in
earm*)
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
;;
esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
case "${UNAME_VERSION}" in
Debian*)
release='-gnu'
;;
*)
release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}${abi}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
exit ;;
*:LibertyBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
*:SolidBSD:*:*)
echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
exit ;;
macppc:MirBSD:*:*)
echo powerpc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:Sortix:*:*)
echo ${UNAME_MACHINE}-unknown-sortix
exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
;;
*5.*)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
UNAME_MACHINE=alpha ;;
"EV4.5 (21064)")
UNAME_MACHINE=alpha ;;
"LCA4 (21066/21068)")
UNAME_MACHINE=alpha ;;
"EV5 (21164)")
UNAME_MACHINE=alphaev5 ;;
"EV5.6 (21164A)")
UNAME_MACHINE=alphaev56 ;;
"EV5.6 (21164PC)")
UNAME_MACHINE=alphapca56 ;;
"EV5.7 (21164PC)")
UNAME_MACHINE=alphapca57 ;;
"EV6 (21264)")
UNAME_MACHINE=alphaev6 ;;
"EV6.7 (21264A)")
UNAME_MACHINE=alphaev67 ;;
"EV6.8CB (21264C)")
UNAME_MACHINE=alphaev68 ;;
"EV6.8AL (21264B)")
UNAME_MACHINE=alphaev68 ;;
"EV6.8CX (21264D)")
UNAME_MACHINE=alphaev68 ;;
"EV6.9A (21264/EV69A)")
UNAME_MACHINE=alphaev69 ;;
"EV7 (21364)")
UNAME_MACHINE=alphaev7 ;;
"EV7.9 (21364A)")
UNAME_MACHINE=alphaev79 ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
exit $exitcode ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
exit ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4
exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
exit ;;
*:[Mm]orph[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-morphos
exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
exit ;;
*:z/VM:*:*)
echo s390-ibm-zvmoe
exit ;;
*:OS400:*:*)
echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit ;;
arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
fi
exit ;;
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
exit ;;
DRS?6000:unix:4.0:6*)
echo sparc-icl-nx6
exit ;;
DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7; exit ;;
esac ;;
s390x:SunOS:*:*)
echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
echo i386-pc-auroraux${UNAME_RELEASE}
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
eval $set_cc_for_build
SUN_ARCH=i386
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
SUN_ARCH=x86_64
fi
fi
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
exit ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
;;
sun4)
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
exit ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
exit ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
exit ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
exit ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#ifdef __cplusplus
#include /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c &&
dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
SYSTEM_NAME=`$dummy $dummyarg` &&
{ echo "$SYSTEM_NAME"; exit; }
echo mips-mips-riscos${UNAME_RELEASE}
exit ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
exit ;;
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
exit ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
exit ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
exit ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
[ ${TARGET_BINARY_INTERFACE}x = x ]
then
echo m88k-dg-dgux${UNAME_RELEASE}
else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
fi
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
exit ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
exit ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
exit ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
echo i386-ibm-aix
exit ;;
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
then
echo "$SYSTEM_NAME"
else
echo rs6000-ibm-aix3.2.5
fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
exit ;;
*:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/lslpp ] ; then
IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
exit ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
exit ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
exit ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit ;;
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
32) HP_ARCH=hppa2.0n ;;
64) HP_ARCH=hppa2.0w ;;
'') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
esac ;;
esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#define _HPUX_SOURCE
#include
#include
int main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
#endif
long cpu = sysconf (_SC_CPU_VERSION);
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (bits)
{
case 64: puts ("hppa2.0w"); break;
case 32: puts ("hppa2.0n"); break;
default: puts ("hppa2.0"); break;
} break;
#else /* !defined(_SC_KERNEL_BITS) */
puts ("hppa2.0"); break;
#endif
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
(CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
if [ ${HP_ARCH} = hppa2.0w ]
then
eval $set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
# generating 64-bit code. GNU and HP use different nomenclature:
#
# $ CC_FOR_BUILD=cc ./config.guess
# => hppa2.0w-hp-hpux11.23
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
grep -q __LP64__
then
HP_ARCH=hppa2.0w
else
HP_ARCH=hppa64
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit ;;
ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ia64-hp-hpux${HPUX_REV}
exit ;;
3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
{ echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
exit ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
exit ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
exit ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
exit ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
exit ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
exit ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
*:UNICOS/mp:*:*)
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
UNAME_PROCESSOR=`/usr/bin/uname -p`
case ${UNAME_PROCESSOR} in
amd64)
UNAME_PROCESSOR=x86_64 ;;
i386)
UNAME_PROCESSOR=i586 ;;
esac
echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
*:MINGW64*:*)
echo ${UNAME_MACHINE}-pc-mingw64
exit ;;
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
*:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
# uname -m includes "-pc" on this system.
echo ${UNAME_MACHINE}-mingw32
exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
*:Interix*:*)
case ${UNAME_MACHINE} in
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
authenticamd | genuineintel | EM64T)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
IA64)
echo ia64-unknown-interix${UNAME_RELEASE}
exit ;;
esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
8664:Windows_NT:*)
echo x86_64-pc-mks
exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i586-pc-interix
exit ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
exit ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
echo x86_64-unknown-cygwin
exit ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
*:GNU:*:*)
# the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
aarch64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
PCA56) UNAME_MACHINE=alphapca56 ;;
PCA57) UNAME_MACHINE=alphapca56 ;;
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
else
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
cris:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
e2k:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
hexagon:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:Linux:*:*)
echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
k1om:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
#undef ${UNAME_MACHINE}
#undef ${UNAME_MACHINE}el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=${UNAME_MACHINE}el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=${UNAME_MACHINE}
#else
CPU=
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
mips64el:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
openrisc*:Linux:*:*)
echo or1k-unknown-linux-${LIBC}
exit ;;
or32:Linux:*:* | or1k*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
echo sparc-unknown-linux-${LIBC}
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-${LIBC}
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
*) echo hppa-unknown-linux-${LIBC} ;;
esac
exit ;;
ppc64:Linux:*:*)
echo powerpc64-unknown-linux-${LIBC}
exit ;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-${LIBC}
exit ;;
ppc64le:Linux:*:*)
echo powerpc64le-unknown-linux-${LIBC}
exit ;;
ppcle:Linux:*:*)
echo powerpcle-unknown-linux-${LIBC}
exit ;;
riscv32:Linux:*:* | riscv64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
tile*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo i386-sequent-sysv4
exit ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
exit ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
exit ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
exit ;;
i*86:syllable:*:*)
echo ${UNAME_MACHINE}-pc-syllable
exit ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
exit ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
exit ;;
i*86:*:5:[678]*)
# UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
# prints for the "djgpp" host, or else GDB configure will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit ;;
paragon:*:*:*)
echo i860-intel-osf1
exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
exit ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
exit ;;
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
exit ;;
M680?0:D-NIX:5.3:*)
echo m68k-diab-dnix
exit ;;
M68*:*:R3V[5678]*:*)
test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4; exit; } ;;
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
OS_REL='.3'
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit ;;
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
exit ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
exit ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
echo ${UNAME_MACHINE}-sni-sysv4
else
echo ns32k-sni-sysv
fi
exit ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says
echo i586-unisys-sysv4
exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes .
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
exit ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit ;;
i*86:VOS:*:*)
# From Paul.Green@stratus.com.
echo ${UNAME_MACHINE}-stratus-vos
exit ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
exit ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
exit ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
exit ;;
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
echo i586-pc-haiku
exit ;;
x86_64:Haiku:*:*)
echo x86_64-unknown-haiku
exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
exit ;;
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit ;;
SX-7:SUPER-UX:*:*)
echo sx7-nec-superux${UNAME_RELEASE}
exit ;;
SX-8:SUPER-UX:*:*)
echo sx8-nec-superux${UNAME_RELEASE}
exit ;;
SX-8R:SUPER-UX:*:*)
echo sx8r-nec-superux${UNAME_RELEASE}
exit ;;
SX-ACE:SUPER-UX:*:*)
echo sxace-nec-superux${UNAME_RELEASE}
exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
eval $set_cc_for_build
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
case $UNAME_PROCESSOR in
i386) UNAME_PROCESSOR=x86_64 ;;
powerpc) UNAME_PROCESSOR=powerpc64 ;;
esac
fi
# On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_PPC >/dev/null
then
UNAME_PROCESSOR=powerpc
fi
fi
elif test "$UNAME_PROCESSOR" = i386 ; then
# Avoid executing cc on OS X 10.9, as it ships with a stub
# that puts up a graphical alert prompting to install
# developer tools. Any system running Mac OS X 10.7 or
# later (Darwin 11 and later) is required to have a 64-bit
# processor. This is not true of the ARM version of Darwin
# that Apple uses in portable devices.
UNAME_PROCESSOR=x86_64
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = x86; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
NEO-*:NONSTOP_KERNEL:*:*)
echo neo-tandem-nsk${UNAME_RELEASE}
exit ;;
NSE-*:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
NSR-*:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit ;;
NSX-*:NONSTOP_KERNEL:*:*)
echo nsx-tandem-nsk${UNAME_RELEASE}
exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
exit ;;
BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv
exit ;;
DS/*:UNIX_System_V:*:*)
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
if test "$cputype" = 386; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
exit ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
exit ;;
*:TENEX:*:*)
echo pdp10-unknown-tenex
exit ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
echo pdp10-dec-tops20
exit ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
echo pdp10-xkl-tops20
exit ;;
*:TOPS-20:*:*)
echo pdp10-unknown-tops20
exit ;;
*:ITS:*:*)
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
echo mips-sei-seiux${UNAME_RELEASE}
exit ;;
*:DragonFly:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
*:*VMS:*:*)
UNAME_MACHINE=`(uname -p) 2>/dev/null`
case "${UNAME_MACHINE}" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
V*) echo vax-dec-vms ; exit ;;
esac ;;
*:XENIX:*:SysV)
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
exit ;;
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
exit ;;
i*86:AROS:*:*)
echo ${UNAME_MACHINE}-pc-aros
exit ;;
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
amd64:Isilon\ OneFS:*:*)
echo x86_64-unknown-onefs
exit ;;
esac
cat >&2 </dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
hostinfo = `(hostinfo) 2>/dev/null`
/bin/universe = `(/bin/universe) 2>/dev/null`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
/bin/arch = `(/bin/arch) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
UNAME_MACHINE = ${UNAME_MACHINE}
UNAME_RELEASE = ${UNAME_RELEASE}
UNAME_SYSTEM = ${UNAME_SYSTEM}
UNAME_VERSION = ${UNAME_VERSION}
EOF
exit 1
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
cddlib-0.94j/config.sub 0000755 0001750 0001750 00000107243 13300566265 011762 0000000 0000000 #! /bin/sh
# Configuration validation subroutine script.
# Copyright 1992-2017 Free Software Foundation, Inc.
timestamp='2017-04-02'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see .
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that
# program. This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
# Please send patches to .
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to ."
version="\
GNU config.sub ($timestamp)
Copyright 1992-2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit ;;
--version | -v )
echo "$version" ; exit ;;
--help | --h* | -h )
echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help"
exit 1 ;;
*local*)
# First pass through any local machine types.
echo $1
exit ;;
* )
break ;;
esac
done
case $# in
0) echo "$me: missing argument$help" >&2
exit 1;;
1) ;;
*) echo "$me: too many arguments$help" >&2
exit 1;;
esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
kopensolaris*-gnu* | cloudabi*-eabi* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
android-linux)
os=-linux-android
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
then os=`echo $1 | sed 's/.*-/-/'`
else os=; fi
;;
esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
-sun*os*)
# Prevent following clause from handling this invalid input.
;;
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple | -axis | -knuth | -cray | -microblaze*)
os=
basic_machine=$1
;;
-bluegene*)
os=-cnk
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
;;
-scout)
;;
-wrs)
os=-vxworks
basic_machine=$1
;;
-chorusos*)
os=-chorusos
basic_machine=$1
;;
-chorusrdb)
os=-chorusrdb
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
-sco6)
os=-sco5v6
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-udk*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-lynx*178)
os=-lynxos178
;;
-lynx*5)
os=-lynxos5
;;
-lynx*)
os=-lynxos
;;
-ptx*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
;;
-windowsnt*)
os=`echo $os | sed -e 's/windowsnt/winnt/'`
;;
-psos*)
os=-psos
;;
-mint | -mint[0-9]*)
basic_machine=m68k-atari
os=-mint
;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
| aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
| ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| e2k | epiphany \
| fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i860 | i960 | ia16 | ia64 \
| ip2k | iq2000 \
| k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mips64octeon | mips64octeonel \
| mips64orion | mips64orionel \
| mips64r5900 | mips64r5900el \
| mips64vr | mips64vrel \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
| open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pru \
| pyramid \
| riscv32 | riscv64 \
| rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| spu \
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| visium \
| wasm32 \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
basic_machine=$basic_machine-unknown
;;
c54x)
basic_machine=tic54x-unknown
;;
c55x)
basic_machine=tic55x-unknown
;;
c6x)
basic_machine=tic6x-unknown
;;
leon|leon[3-9])
basic_machine=sparc-$basic_machine
;;
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
ms1)
basic_machine=mt-unknown
;;
strongarm | thumb | xscale)
basic_machine=arm-unknown
;;
xgate)
basic_machine=$basic_machine-unknown
os=-none
;;
xscaleeb)
basic_machine=armeb-unknown
;;
xscaleel)
basic_machine=armel-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i*86 | x86_64)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
*-*-*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
| aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| e2k-* | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| hexagon-* \
| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
| ip2k-* | iq2000-* \
| k1om-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
| microblaze-* | microblazeel-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
| mips64octeon-* | mips64octeonel-* \
| mips64orion-* | mips64orionel-* \
| mips64r5900-* | mips64r5900el-* \
| mips64vr-* | mips64vrel-* \
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa32r6-* | mipsisa32r6el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64r6-* | mipsisa64r6el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipsr5900-* | mipsr5900el-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
| or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pru-* \
| pyramid-* \
| riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
| tron-* \
| ubicom32-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
| visium-* \
| wasm32-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-* | z80-*)
;;
# Recognize the basic CPU types without company name, with glob match.
xtensa*)
basic_machine=$basic_machine-unknown
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
basic_machine=i386-unknown
os=-bsd
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
a29khif)
basic_machine=a29k-amd
os=-udi
;;
abacus)
basic_machine=abacus-unknown
;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
;;
alliant | fx80)
basic_machine=fx80-alliant
;;
altos | altos3068)
basic_machine=m68k-altos
;;
am29k)
basic_machine=a29k-none
os=-bsd
;;
amd64)
basic_machine=x86_64-pc
;;
amd64-*)
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
;;
amiga | amiga-*)
basic_machine=m68k-unknown
;;
amigaos | amigados)
basic_machine=m68k-unknown
os=-amigaos
;;
amigaunix | amix)
basic_machine=m68k-unknown
os=-sysv4
;;
apollo68)
basic_machine=m68k-apollo
os=-sysv
;;
apollo68bsd)
basic_machine=m68k-apollo
os=-bsd
;;
aros)
basic_machine=i386-pc
os=-aros
;;
asmjs)
basic_machine=asmjs-unknown
;;
aux)
basic_machine=m68k-apple
os=-aux
;;
balance)
basic_machine=ns32k-sequent
os=-dynix
;;
blackfin)
basic_machine=bfin-unknown
os=-linux
;;
blackfin-*)
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
bluegene*)
basic_machine=powerpc-ibm
os=-cnk
;;
c54x-*)
basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
c55x-*)
basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
c6x-*)
basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
c90)
basic_machine=c90-cray
os=-unicos
;;
cegcc)
basic_machine=arm-unknown
os=-cegcc
;;
convex-c1)
basic_machine=c1-convex
os=-bsd
;;
convex-c2)
basic_machine=c2-convex
os=-bsd
;;
convex-c32)
basic_machine=c32-convex
os=-bsd
;;
convex-c34)
basic_machine=c34-convex
os=-bsd
;;
convex-c38)
basic_machine=c38-convex
os=-bsd
;;
cray | j90)
basic_machine=j90-cray
os=-unicos
;;
craynv)
basic_machine=craynv-cray
os=-unicosmp
;;
cr16 | cr16-*)
basic_machine=cr16-unknown
os=-elf
;;
crds | unos)
basic_machine=m68k-crds
;;
crisv32 | crisv32-* | etraxfs*)
basic_machine=crisv32-axis
;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
crx)
basic_machine=crx-unknown
os=-elf
;;
da30 | da30-*)
basic_machine=m68k-da30
;;
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
basic_machine=mips-dec
;;
decsystem10* | dec10*)
basic_machine=pdp10-dec
os=-tops10
;;
decsystem20* | dec20*)
basic_machine=pdp10-dec
os=-tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
basic_machine=m68k-motorola
;;
delta88)
basic_machine=m88k-motorola
os=-sysv3
;;
dicos)
basic_machine=i686-pc
os=-dicos
;;
djgpp)
basic_machine=i586-pc
os=-msdosdjgpp
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
;;
dpx2* | dpx2*-bull)
basic_machine=m68k-bull
os=-sysv3
;;
e500v[12])
basic_machine=powerpc-unknown
os=$os"spe"
;;
e500v[12]-*)
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
os=$os"spe"
;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
;;
elxsi)
basic_machine=elxsi-elxsi
os=-bsd
;;
encore | umax | mmax)
basic_machine=ns32k-encore
;;
es1800 | OSE68k | ose68k | ose | OSE)
basic_machine=m68k-ericsson
os=-ose
;;
fx2800)
basic_machine=i860-alliant
;;
genix)
basic_machine=ns32k-ns
;;
gmicro)
basic_machine=tron-gmicro
os=-sysv
;;
go32)
basic_machine=i386-pc
os=-go32
;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
h8300hms)
basic_machine=h8300-hitachi
os=-hms
;;
h8300xray)
basic_machine=h8300-hitachi
os=-xray
;;
h8500hms)
basic_machine=h8500-hitachi
os=-hms
;;
harris)
basic_machine=m88k-harris
os=-sysv3
;;
hp300-*)
basic_machine=m68k-hp
;;
hp300bsd)
basic_machine=m68k-hp
os=-bsd
;;
hp300hpux)
basic_machine=m68k-hp
os=-hpux
;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
hp9k6[0-9][0-9] | hp6[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
basic_machine=hppa1.1-hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hppa-next)
os=-nextstep3
;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
;;
hppro)
basic_machine=hppa1.1-hp
os=-proelf
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i*86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i*86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i*86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
i386mach)
basic_machine=i386-mach
os=-mach
;;
i386-vsta | vsta)
basic_machine=i386-unknown
os=-vsta
;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
-irix*)
;;
*)
os=-irix4
;;
esac
;;
isi68 | isi)
basic_machine=m68k-isi
os=-sysv
;;
leon-*|leon[3-9]-*)
basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
;;
m68knommu-*)
basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
m88k-omron*)
basic_machine=m88k-omron
;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
;;
merlin)
basic_machine=ns32k-utek
os=-sysv
;;
microblaze*)
basic_machine=microblaze-xilinx
;;
mingw64)
basic_machine=x86_64-pc
os=-mingw64
;;
mingw32)
basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
basic_machine=arm-unknown
os=-mingw32ce
;;
miniframe)
basic_machine=m68000-convergent
;;
*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
basic_machine=m68k-atari
os=-mint
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;;
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
monitor)
basic_machine=m68k-rom68k
os=-coff
;;
morphos)
basic_machine=powerpc-unknown
os=-morphos
;;
moxiebox)
basic_machine=moxie-unknown
os=-moxiebox
;;
msdos)
basic_machine=i386-pc
os=-msdos
;;
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
basic_machine=i686-pc
os=-msys
;;
mvs)
basic_machine=i370-ibm
os=-mvs
;;
nacl)
basic_machine=le32-unknown
os=-nacl
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
netbsd386)
basic_machine=i386-unknown
os=-netbsd
;;
netwinder)
basic_machine=armv4l-rebel
os=-linux
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
;;
news1000)
basic_machine=m68030-sony
os=-newsos
;;
news-3600 | risc-news)
basic_machine=mips-sony
os=-newsos
;;
necv70)
basic_machine=v70-nec
os=-sysv
;;
next | m*-next )
basic_machine=m68k-next
case $os in
-nextstep* )
;;
-ns2*)
os=-nextstep2
;;
*)
os=-nextstep3
;;
esac
;;
nh3000)
basic_machine=m68k-harris
os=-cxux
;;
nh[45]000)
basic_machine=m88k-harris
os=-cxux
;;
nindy960)
basic_machine=i960-intel
os=-nindy
;;
mon960)
basic_machine=i960-intel
os=-mon960
;;
nonstopux)
basic_machine=mips-compaq
os=-nonstopux
;;
np1)
basic_machine=np1-gould
;;
neo-tandem)
basic_machine=neo-tandem
;;
nse-tandem)
basic_machine=nse-tandem
;;
nsr-tandem)
basic_machine=nsr-tandem
;;
nsx-tandem)
basic_machine=nsx-tandem
;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
;;
openrisc | openrisc-*)
basic_machine=or32-unknown
;;
os400)
basic_machine=powerpc-ibm
os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
;;
os68k)
basic_machine=m68k-none
os=-os68k
;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
paragon)
basic_machine=i860-intel
os=-osf
;;
parisc)
basic_machine=hppa-unknown
os=-linux
;;
parisc-*)
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
pbd)
basic_machine=sparc-tti
;;
pbb)
basic_machine=m68k-tti
;;
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pc98)
basic_machine=i386-pc
;;
pc98-*)
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
pentiumpro | p6 | 6x86 | athlon | athlon_*)
basic_machine=i686-pc
;;
pentiumii | pentium2 | pentiumiii | pentium3)
basic_machine=i686-pc
;;
pentium4)
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium4-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
;;
power) basic_machine=power-ibm
;;
ppc | ppcbe) basic_machine=powerpc-unknown
;;
ppc-* | ppcbe-*)
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64) basic_machine=powerpc64-unknown
;;
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
;;
pw32)
basic_machine=i586-unknown
os=-pw32
;;
rdos | rdos64)
basic_machine=x86_64-pc
os=-rdos
;;
rdos32)
basic_machine=i386-pc
os=-rdos
;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
;;
rm[46]00)
basic_machine=mips-siemens
;;
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
s390 | s390-*)
basic_machine=s390-ibm
;;
s390x | s390x-*)
basic_machine=s390x-ibm
;;
sa29200)
basic_machine=a29k-amd
os=-udi
;;
sb1)
basic_machine=mipsisa64sb1-unknown
;;
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
sde)
basic_machine=mipsisa32-sde
os=-elf
;;
sei)
basic_machine=mips-sei
os=-seiux
;;
sequent)
basic_machine=i386-sequent
;;
sh)
basic_machine=sh-hitachi
os=-hms
;;
sh5el)
basic_machine=sh5le-unknown
;;
sh64)
basic_machine=sh64-unknown
;;
sparclite-wrs | simso-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
sps7)
basic_machine=m68k-bull
os=-sysv2
;;
spur)
basic_machine=spur-unknown
;;
st2000)
basic_machine=m68k-tandem
;;
stratus)
basic_machine=i860-stratus
os=-sysv4
;;
strongarm-* | thumb-*)
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
sun2)
basic_machine=m68000-sun
;;
sun2os3)
basic_machine=m68000-sun
os=-sunos3
;;
sun2os4)
basic_machine=m68000-sun
os=-sunos4
;;
sun3os3)
basic_machine=m68k-sun
os=-sunos3
;;
sun3os4)
basic_machine=m68k-sun
os=-sunos4
;;
sun4os3)
basic_machine=sparc-sun
os=-sunos3
;;
sun4os4)
basic_machine=sparc-sun
os=-sunos4
;;
sun4sol2)
basic_machine=sparc-sun
os=-solaris2
;;
sun3 | sun3-*)
basic_machine=m68k-sun
;;
sun4)
basic_machine=sparc-sun
;;
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
sv1)
basic_machine=sv1-cray
os=-unicos
;;
symmetry)
basic_machine=i386-sequent
os=-dynix
;;
t3e)
basic_machine=alphaev5-cray
os=-unicos
;;
t90)
basic_machine=t90-cray
os=-unicos
;;
tile*)
basic_machine=$basic_machine-unknown
os=-linux-gnu
;;
tx39)
basic_machine=mipstx39-unknown
;;
tx39el)
basic_machine=mipstx39el-unknown
;;
toad1)
basic_machine=pdp10-xkl
os=-tops20
;;
tower | tower-32)
basic_machine=m68k-ncr
;;
tpf)
basic_machine=s390x-ibm
os=-tpf
;;
udi29k)
basic_machine=a29k-amd
os=-udi
;;
ultra3)
basic_machine=a29k-nyu
os=-sym1
;;
v810 | necv810)
basic_machine=v810-nec
os=-none
;;
vaxv)
basic_machine=vax-dec
os=-sysv
;;
vms)
basic_machine=vax-dec
os=-vms
;;
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
vxworks960)
basic_machine=i960-wrs
os=-vxworks
;;
vxworks68)
basic_machine=m68k-wrs
os=-vxworks
;;
vxworks29k)
basic_machine=a29k-wrs
os=-vxworks
;;
wasm32)
basic_machine=wasm32-unknown
;;
w65*)
basic_machine=w65-wdc
os=-none
;;
w89k-*)
basic_machine=hppa1.1-winbond
os=-proelf
;;
xbox)
basic_machine=i686-pc
os=-mingw32
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
xscale-* | xscalee[bl]-*)
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
;;
ymp)
basic_machine=ymp-cray
os=-unicos
;;
z8k-*-coff)
basic_machine=z8k-unknown
os=-sim
;;
z80-*-coff)
basic_machine=z80-unknown
os=-sim
;;
none)
basic_machine=none-none
os=-none
;;
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
w89k)
basic_machine=hppa1.1-winbond
;;
op50n)
basic_machine=hppa1.1-oki
;;
op60c)
basic_machine=hppa1.1-oki
;;
romp)
basic_machine=romp-ibm
;;
mmix)
basic_machine=mmix-knuth
;;
rs6000)
basic_machine=rs6000-ibm
;;
vax)
basic_machine=vax-dec
;;
pdp10)
# there are many clones, so DEC is not a safe bet
basic_machine=pdp10-unknown
;;
pdp11)
basic_machine=pdp11-dec
;;
we32k)
basic_machine=we32k-att
;;
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
basic_machine=cydra-cydrome
;;
orion)
basic_machine=orion-highlevel
;;
orion105)
basic_machine=clipper-highlevel
;;
mac | mpw | mac-mpw)
basic_machine=m68k-apple
;;
pmac | pmac-mpw)
basic_machine=powerpc-apple
;;
*-unknown)
# Make sure to match an already-canonicalized machine name.
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
;;
*-commodore*)
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
;;
*)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
if [ x"$os" != x"" ]
then
case $os in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-auroraux)
os=-auroraux
;;
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
-solaris)
os=-solaris2
;;
-svr4*)
os=-sysv4
;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
case $basic_machine in
x86-* | i*86-*)
;;
*)
os=-nto$os
;;
esac
;;
-nto-qnx*)
;;
-nto*)
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
-sunos5*)
os=`echo $os | sed -e 's|sunos5|solaris2|'`
;;
-sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'`
;;
-opened*)
os=-openedition
;;
-os400*)
os=-os400
;;
-wince*)
os=-wince
;;
-osfrose*)
os=-osfrose
;;
-osf*)
os=-osf
;;
-utek*)
os=-bsd
;;
-dynix*)
os=-bsd
;;
-acis*)
os=-aos
;;
-atheos*)
os=-atheos
;;
-syllable*)
os=-syllable
;;
-386bsd)
os=-bsd
;;
-ctix* | -uts*)
os=-sysv
;;
-nova*)
os=-rtmk-nova
;;
-ns2 )
os=-nextstep2
;;
-nsk*)
os=-nsk
;;
# Preserve the version number of sinix5.
-sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
;;
-sinix*)
os=-sysv4
;;
-tpf*)
os=-tpf
;;
-triton*)
os=-sysv3
;;
-oss*)
os=-sysv3
;;
-svr4)
os=-sysv4
;;
-svr3)
os=-sysv3
;;
-sysvr4)
os=-sysv4
;;
# This must come after -sysvr4.
-sysv*)
;;
-ose*)
os=-ose
;;
-es1800*)
os=-ose
;;
-xenix)
os=-xenix
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
;;
-aros*)
os=-aros
;;
-zvmoe)
os=-zvmoe
;;
-dicos*)
os=-dicos
;;
-nacl*)
;;
-ios)
;;
-none)
;;
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
exit 1
;;
esac
else
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
case $basic_machine in
score-*)
os=-elf
;;
spu-*)
os=-elf
;;
*-acorn)
os=-riscix1.2
;;
arm*-rebel)
os=-linux
;;
arm*-semi)
os=-aout
;;
c4x-* | tic4x-*)
os=-coff
;;
c8051-*)
os=-elf
;;
hexagon-*)
os=-elf
;;
tic54x-*)
os=-coff
;;
tic55x-*)
os=-coff
;;
tic6x-*)
os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
;;
pdp11-*)
os=-none
;;
*-dec | vax-*)
os=-ultrix4.2
;;
m68*-apollo)
os=-domain
;;
i386-sun)
os=-sunos4.0.2
;;
m68000-sun)
os=-sunos3
;;
m68*-cisco)
os=-aout
;;
mep-*)
os=-elf
;;
mips*-cisco)
os=-elf
;;
mips*-*)
os=-elf
;;
or32-*)
os=-coff
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
sparc-* | *-sun)
os=-sunos4.1.1
;;
pru-*)
os=-elf
;;
*-be)
os=-beos
;;
*-haiku)
os=-haiku
;;
*-ibm)
os=-aix
;;
*-knuth)
os=-mmixware
;;
*-wec)
os=-proelf
;;
*-winbond)
os=-proelf
;;
*-oki)
os=-proelf
;;
*-hp)
os=-hpux
;;
*-hitachi)
os=-hiux
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=-sysv
;;
*-cbm)
os=-amigaos
;;
*-dg)
os=-dgux
;;
*-dolphin)
os=-sysv3
;;
m68k-ccur)
os=-rtu
;;
m88k-omron*)
os=-luna
;;
*-next )
os=-nextstep
;;
*-sequent)
os=-ptx
;;
*-crds)
os=-unos
;;
*-ns)
os=-genix
;;
i370-*)
os=-mvs
;;
*-next)
os=-nextstep3
;;
*-gould)
os=-sysv
;;
*-highlevel)
os=-bsd
;;
*-encore)
os=-bsd
;;
*-sgi)
os=-irix
;;
*-siemens)
os=-sysv4
;;
*-masscomp)
os=-rtu
;;
f30[01]-fujitsu | f700-fujitsu)
os=-uxpv
;;
*-rom68k)
os=-coff
;;
*-*bug)
os=-coff
;;
*-apple)
os=-macos
;;
*-atari*)
os=-mint
;;
*)
os=-none
;;
esac
fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
vendor=unknown
case $basic_machine in
*-unknown)
case $os in
-riscix*)
vendor=acorn
;;
-sunos*)
vendor=sun
;;
-cnk*|-aix*)
vendor=ibm
;;
-beos*)
vendor=be
;;
-hpux*)
vendor=hp
;;
-mpeix*)
vendor=hp
;;
-hiux*)
vendor=hitachi
;;
-unos*)
vendor=crds
;;
-dgux*)
vendor=dg
;;
-luna*)
vendor=omron
;;
-genix*)
vendor=ns
;;
-mvs* | -opened*)
vendor=ibm
;;
-os400*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-tpf*)
vendor=ibm
;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
-aux*)
vendor=apple
;;
-hms*)
vendor=hitachi
;;
-mpw* | -macos*)
vendor=apple
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
vendor=atari
;;
-vos*)
vendor=stratus
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
esac
echo $basic_machine$os
exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
cddlib-0.94j/depcomp 0000755 0001750 0001750 00000056017 13300566265 011356 0000000 0000000 #! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2016-01-11.22; # UTC
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva .
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by 'PROGRAMS ARGS'.
object Object file output by 'PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputting dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to .
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
# Get the directory component of the given path, and save it in the
# global variables '$dir'. Note that this directory component will
# be either empty or ending with a '/' character. This is deliberate.
set_dir_from ()
{
case $1 in
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
*) dir=;;
esac
}
# Get the suffix-stripped basename of the given path, and save it the
# global variable '$base'.
set_base_from ()
{
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
}
# If no dependency file was actually created by the compiler invocation,
# we still have to create a dummy depfile, to avoid errors with the
# Makefile "include basename.Plo" scheme.
make_dummy_depfile ()
{
echo "#dummy" > "$depfile"
}
# Factor out some common post-processing of the generated depfile.
# Requires the auxiliary global variable '$tmpdepfile' to be set.
aix_post_process_depfile ()
{
# If the compiler actually managed to produce a dependency file,
# post-process it.
if test -f "$tmpdepfile"; then
# Each line is of the form 'foo.o: dependency.h'.
# Do two passes, one to just change these to
# $object: dependency.h
# and one to simply output
# dependency.h:
# which is needed to avoid the deleted-header problem.
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
} > "$depfile"
rm -f "$tmpdepfile"
else
make_dummy_depfile
fi
}
# A tabulation character.
tab=' '
# A newline character.
nl='
'
# Character ranges might be problematic outside the C locale.
# These definitions help.
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
lower=abcdefghijklmnopqrstuvwxyz
digits=0123456789
alpha=${upper}${lower}
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Avoid interferences from the environment.
gccflag= dashmflag=
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u='sed s,\\\\,/,g'
depmode=msvisualcpp
fi
if test "$depmode" = msvc7msys; then
# This is just like msvc7 but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u='sed s,\\\\,/,g'
depmode=msvc7
fi
if test "$depmode" = xlc; then
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
gccflag=-qmakedep=gcc,-MF
depmode=gcc
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
## the command line argument order; so add the flags where they
## appear in depend2.am. Note that the slowdown incurred here
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
for arg
do
case $arg in
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
*) set fnord "$@" "$arg" ;;
esac
shift # fnord
shift # $arg
done
"$@"
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
## (see the conditional assignment to $gccflag above).
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say). Also, it might not be
## supported by the other compilers which use the 'gcc' depmode.
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
# The second -e expression handles DOS-style file names with drive
# letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the "deleted header file" problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
## Some versions of gcc put a space before the ':'. On the theory
## that the space means something, we add a space to the output as
## well. hp depmode also adds that space, but also prefixes the VPATH
## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like '#:fec' to the end of the
# dependency line.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
| tr "$nl" ' ' >> "$depfile"
echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> "$depfile"
else
make_dummy_depfile
fi
rm -f "$tmpdepfile"
;;
xlc)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts '$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
set_dir_from "$object"
set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
tmpdepfile3=$dir.libs/$base.u
"$@" -Wc,-M
else
tmpdepfile1=$dir$base.u
tmpdepfile2=$dir$base.u
tmpdepfile3=$dir$base.u
"$@" -M
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
do
test -f "$tmpdepfile" && break
done
aix_post_process_depfile
;;
tcc)
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
# FIXME: That version still under development at the moment of writing.
# Make that this statement remains true also for stable, released
# versions.
# It will wrap lines (doesn't matter whether long or short) with a
# trailing '\', as in:
#
# foo.o : \
# foo.c \
# foo.h \
#
# It will put a trailing '\' even on the last line, and will use leading
# spaces rather than leading tabs (at least since its commit 0394caf7
# "Emit spaces for -MD").
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
# We have to change lines of the first kind to '$object: \'.
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
# And for each line of the second kind, we have to emit a 'dep.h:'
# dummy dependency, to avoid the deleted-header problem.
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
## The order of this option in the case statement is important, since the
## shell code in configure will try each of these formats in the order
## listed in this file. A plain '-MD' option would be understood by many
## compilers, so we must ensure this comes after the gcc and icc options.
pgcc)
# Portland's C compiler understands '-MD'.
# Will always output deps to 'file.d' where file is the root name of the
# source file under compilation, even if file resides in a subdirectory.
# The object file name does not affect the name of the '.d' file.
# pgcc 10.2 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using '\' :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
set_dir_from "$object"
# Use the source, not the object, to determine the base name, since
# that's sadly what pgcc will do too.
set_base_from "$source"
tmpdepfile=$base.d
# For projects that build the same source file twice into different object
# files, the pgcc approach of using the *source* file root name can cause
# problems in parallel builds. Use a locking strategy to avoid stomping on
# the same $tmpdepfile.
lockdir=$base.d-lock
trap "
echo '$0: caught signal, cleaning up...' >&2
rmdir '$lockdir'
exit 1
" 1 2 13 15
numtries=100
i=$numtries
while test $i -gt 0; do
# mkdir is a portable test-and-set.
if mkdir "$lockdir" 2>/dev/null; then
# This process acquired the lock.
"$@" -MD
stat=$?
# Release the lock.
rmdir "$lockdir"
break
else
# If the lock is being held by a different process, wait
# until the winning process is done or we timeout.
while test -d "$lockdir" && test $i -gt 0; do
sleep 1
i=`expr $i - 1`
done
fi
i=`expr $i - 1`
done
trap - 1 2 13 15
if test $i -le 0; then
echo "$0: failed to acquire lock after $numtries attempts" >&2
echo "$0: check lockdir '$lockdir'" >&2
exit 1
fi
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp2)
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
# compilers, which have integrated preprocessors. The correct option
# to use with these is +Maked; it writes dependencies to a file named
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
set_dir_from "$object"
set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
"$@" -Wc,+Maked
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
"$@" +Maked
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
# Add 'dependent.h:' lines.
sed -ne '2,${
s/^ *//
s/ \\*$//
s/$/:/
p
}' "$tmpdepfile" >> "$depfile"
else
make_dummy_depfile
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in 'foo.d' instead, so we check for that too.
# Subdirectories are respected.
set_dir_from "$object"
set_base_from "$object"
if test "$libtool" = yes; then
# Libtool generates 2 separate objects for the 2 libraries. These
# two compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir$base.o.d # libtool 1.5
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
do
test -f "$tmpdepfile" && break
done
# Same post-processing that is required for AIX mode.
aix_post_process_depfile
;;
msvc7)
if test "$libtool" = yes; then
showIncludes=-Wc,-showIncludes
else
showIncludes=-showIncludes
fi
"$@" $showIncludes > "$tmpdepfile"
stat=$?
grep -v '^Note: including file: ' "$tmpdepfile"
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
# The first sed program below extracts the file names and escapes
# backslashes for cygpath. The second sed program outputs the file
# name when reading, but also accumulates all include files in the
# hold buffer in order to output them again at the end. This only
# works with sed implementations that can handle large buffers.
sed < "$tmpdepfile" -n '
/^Note: including file: *\(.*\)/ {
s//\1/
s/\\/\\\\/g
p
}' | $cygpath_u | sort -u | sed -n '
s/ /\\ /g
s/\(.*\)/'"$tab"'\1 \\/p
s/.\(.*\) \\/\1:/
H
$ {
s/.*/'"$tab"'/
G
p
}' >> "$depfile"
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
rm -f "$tmpdepfile"
;;
msvc7msys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# Remove '-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for ':'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
"$@" $dashmflag |
sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this sed invocation
# correctly. Breaking it into two sed invocations is a workaround.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no eat=no
for arg
do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
if test $eat = yes; then
eat=no
continue
fi
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-arch)
eat=yes ;;
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix=`echo "$object" | sed 's/^.*\././'`
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
# makedepend may prepend the VPATH from the source file name to the object.
# No need to regex-escape $object, excess matching of '.' is harmless.
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process the last invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed '1,2d' "$tmpdepfile" \
| tr ' ' "$nl" \
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# Remove '-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E \
| sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
| sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
IFS=" "
for arg
do
case "$arg" in
-o)
shift
;;
$object)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E 2>/dev/null |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
echo "$tab" >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvcmsys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
cddlib-0.94j/install-sh 0000755 0001750 0001750 00000034524 13300566265 012004 0000000 0000000 #!/bin/sh
# install - install a program, script, or datafile
scriptversion=2016-01-11.22; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
tab=' '
nl='
'
IFS=" $tab$nl"
# Set DOITPROG to "echo" to test this script.
doit=${DOITPROG-}
doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
src=
dst=
dir_arg=
dst_arg=
copy_on_change=false
is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t)
is_target_a_directory=always
dst_arg=$2
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
shift;;
-T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
# We allow the use of options -d and -T together, by making -d
# take the precedence; this is for compatibility with GNU install.
if test -n "$dir_arg"; then
if test -n "$dst_arg"; then
echo "$0: target directory not allowed when installing a directory." >&2
exit 1
fi
fi
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
if test $# -gt 1 || test "$is_target_a_directory" = always; then
if test ! -d "$dst_arg"; then
echo "$0: $dst_arg: Is not a directory." >&2
exit 1
fi
fi
fi
if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
trap "ret=141; $do_exit" 13
trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names problematic for 'test' and other utilities.
case $src in
-* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
[-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
oIFS=$IFS
IFS=/
set -f
set fnord $dstdir
shift
set +f
IFS=$oIFS
prefixes=
for d
do
test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
cddlib-0.94j/ltmain.sh 0000644 0001750 0001750 00001206740 13300566262 011617 0000000 0000000 #! /bin/sh
## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
## by inline-source v2016-02-21.11
# libtool (GNU libtool) 2.4.6.40-6ca5-dirty
# Provide generalized library-building support services.
# Written by Gordon Matzigkeit , 1996
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# GNU Libtool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# As a special exception to the GNU General Public License,
# if you distribute this file as part of a program or library that
# is built using GNU Libtool, you may include this file under the
# same distribution terms that you use for the rest of that program.
#
# GNU Libtool is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
PROGRAM=libtool
PACKAGE=libtool
VERSION=2.4.6.40-6ca5-dirty
package_revision=2.4.6.40
## ------ ##
## Usage. ##
## ------ ##
# Run './libtool --help' for help with using this script from the
# command line.
## ------------------------------- ##
## User overridable command paths. ##
## ------------------------------- ##
# After configure completes, it has a better idea of some of the
# shell tools we need than the defaults used by the functions shared
# with bootstrap, so set those here where they can still be over-
# ridden by the user, but otherwise take precedence.
: ${AUTOCONF="autoconf"}
: ${AUTOMAKE="automake"}
## -------------------------- ##
## Source external libraries. ##
## -------------------------- ##
# Much of our low-level functionality needs to be sourced from external
# libraries, which are installed to $pkgauxdir.
# Set a version string for this script.
scriptversion=2017-04-19.12; # UTC
# General shell script boiler plate, and helper functions.
# Written by Gary V. Vaughan, 2004
# This is free software. There is NO warranty; not even for
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# Copyright (C) 2004-2017 Bootstrap Authors
#
# This file is dual licensed under the terms of the MIT license
# , and GPL version 3 or later
# . You must apply one of
# these licenses when using or redistributing this software or any of
# the files within it. See the URLs above, or the file `LICENSE`
# included in the Bootstrap distribution for the full license texts.
# Please report bugs or propose patches to:
#
## ------ ##
## Usage. ##
## ------ ##
# Evaluate this file near the top of your script to gain access to
# the functions and variables defined here:
#
# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
#
# If you need to override any of the default environment variable
# settings, do that before evaluating this file.
## -------------------- ##
## Shell normalisation. ##
## -------------------- ##
# Some shells need a little help to be as Bourne compatible as possible.
# Before doing anything else, make sure all that help has been provided!
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
fi
# NLS nuisances: We save the old values in case they are required later.
_G_user_locale=
_G_safe_locale=
for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
eval "if test set = \"\${$_G_var+set}\"; then
save_$_G_var=\$$_G_var
$_G_var=C
export $_G_var
_G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
_G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
fi"
done
# Make sure IFS has a sensible default
sp=' '
nl='
'
IFS="$sp $nl"
# There are apparently some retarded systems that use ';' as a PATH separator!
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# func_unset VAR
# --------------
# Portably unset VAR.
# In some shells, an 'unset VAR' statement leaves a non-zero return
# status if VAR is already unset, which might be problematic if the
# statement is used at the end of a function (thus poisoning its return
# value) or when 'set -e' is active (causing even a spurious abort of
# the script in this case).
func_unset ()
{
{ eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; }
}
# Make sure CDPATH doesn't cause `cd` commands to output the target dir.
func_unset CDPATH
# Make sure ${,E,F}GREP behave sanely.
func_unset GREP_OPTIONS
## ------------------------- ##
## Locate command utilities. ##
## ------------------------- ##
# func_executable_p FILE
# ----------------------
# Check that FILE is an executable regular file.
func_executable_p ()
{
test -f "$1" && test -x "$1"
}
# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
# --------------------------------------------
# Search for either a program that responds to --version with output
# containing "GNU", or else returned by CHECK_FUNC otherwise, by
# trying all the directories in PATH with each of the elements of
# PROGS_LIST.
#
# CHECK_FUNC should accept the path to a candidate program, and
# set $func_check_prog_result if it truncates its output less than
# $_G_path_prog_max characters.
func_path_progs ()
{
_G_progs_list=$1
_G_check_func=$2
_G_PATH=${3-"$PATH"}
_G_path_prog_max=0
_G_path_prog_found=false
_G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
for _G_dir in $_G_PATH; do
IFS=$_G_save_IFS
test -z "$_G_dir" && _G_dir=.
for _G_prog_name in $_G_progs_list; do
for _exeext in '' .EXE; do
_G_path_prog=$_G_dir/$_G_prog_name$_exeext
func_executable_p "$_G_path_prog" || continue
case `"$_G_path_prog" --version 2>&1` in
*GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
*) $_G_check_func $_G_path_prog
func_path_progs_result=$func_check_prog_result
;;
esac
$_G_path_prog_found && break 3
done
done
done
IFS=$_G_save_IFS
test -z "$func_path_progs_result" && {
echo "no acceptable sed could be found in \$PATH" >&2
exit 1
}
}
# We want to be able to use the functions in this file before configure
# has figured out where the best binaries are kept, which means we have
# to search for them ourselves - except when the results are already set
# where we skip the searches.
# Unless the user overrides by setting SED, search the path for either GNU
# sed, or the sed that truncates its output the least.
test -z "$SED" && {
_G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
for _G_i in 1 2 3 4 5 6 7; do
_G_sed_script=$_G_sed_script$nl$_G_sed_script
done
echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
_G_sed_script=
func_check_prog_sed ()
{
_G_path_prog=$1
_G_count=0
printf 0123456789 >conftest.in
while :
do
cat conftest.in conftest.in >conftest.tmp
mv conftest.tmp conftest.in
cp conftest.in conftest.nl
echo '' >> conftest.nl
"$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break
diff conftest.out conftest.nl >/dev/null 2>&1 || break
_G_count=`expr $_G_count + 1`
if test "$_G_count" -gt "$_G_path_prog_max"; then
# Best one so far, save it but keep looking for a better one
func_check_prog_result=$_G_path_prog
_G_path_prog_max=$_G_count
fi
# 10*(2^10) chars as input seems more than enough
test 10 -lt "$_G_count" && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out
}
func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin"
rm -f conftest.sed
SED=$func_path_progs_result
}
# Unless the user overrides by setting GREP, search the path for either GNU
# grep, or the grep that truncates its output the least.
test -z "$GREP" && {
func_check_prog_grep ()
{
_G_path_prog=$1
_G_count=0
_G_path_prog_max=0
printf 0123456789 >conftest.in
while :
do
cat conftest.in conftest.in >conftest.tmp
mv conftest.tmp conftest.in
cp conftest.in conftest.nl
echo 'GREP' >> conftest.nl
"$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break
diff conftest.out conftest.nl >/dev/null 2>&1 || break
_G_count=`expr $_G_count + 1`
if test "$_G_count" -gt "$_G_path_prog_max"; then
# Best one so far, save it but keep looking for a better one
func_check_prog_result=$_G_path_prog
_G_path_prog_max=$_G_count
fi
# 10*(2^10) chars as input seems more than enough
test 10 -lt "$_G_count" && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out
}
func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin"
GREP=$func_path_progs_result
}
## ------------------------------- ##
## User overridable command paths. ##
## ------------------------------- ##
# All uppercase variable names are used for environment variables. These
# variables can be overridden by the user before calling a script that
# uses them if a suitable command of that name is not already available
# in the command search PATH.
: ${CP="cp -f"}
: ${ECHO="printf %s\n"}
: ${EGREP="$GREP -E"}
: ${FGREP="$GREP -F"}
: ${LN_S="ln -s"}
: ${MAKE="make"}
: ${MKDIR="mkdir"}
: ${MV="mv -f"}
: ${RM="rm -f"}
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
## -------------------- ##
## Useful sed snippets. ##
## -------------------- ##
sed_dirname='s|/[^/]*$||'
sed_basename='s|^.*/||'
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
# Same as above, but do not quote variable references.
sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
# Sed substitution that turns a string into a regex matching for the
# string literally.
sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
# Sed substitution that converts a w32 file name or path
# that contains forward slashes, into one that contains
# (escaped) backslashes. A very naive implementation.
sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
# Re-'\' parameter expansions in output of sed_double_quote_subst that
# were '\'-ed in input to the same. If an odd number of '\' preceded a
# '$' in input to sed_double_quote_subst, that '$' was protected from
# expansion. Since each input '\' is now two '\'s, look for any number
# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'.
_G_bs='\\'
_G_bs2='\\\\'
_G_bs4='\\\\\\\\'
_G_dollar='\$'
sed_double_backslash="\
s/$_G_bs4/&\\
/g
s/^$_G_bs2$_G_dollar/$_G_bs&/
s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
s/\n//g"
## ----------------- ##
## Global variables. ##
## ----------------- ##
# Except for the global variables explicitly listed below, the following
# functions in the '^func_' namespace, and the '^require_' namespace
# variables initialised in the 'Resource management' section, sourcing
# this file will not pollute your global namespace with anything
# else. There's no portable way to scope variables in Bourne shell
# though, so actually running these functions will sometimes place
# results into a variable named after the function, and often use
# temporary variables in the '^_G_' namespace. If you are careful to
# avoid using those namespaces casually in your sourcing script, things
# should continue to work as you expect. And, of course, you can freely
# overwrite any of the functions or variables defined here before
# calling anything to customize them.
EXIT_SUCCESS=0
EXIT_FAILURE=1
EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
# Allow overriding, eg assuming that you follow the convention of
# putting '$debug_cmd' at the start of all your functions, you can get
# bash to show function call trace with:
#
# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
debug_cmd=${debug_cmd-":"}
exit_cmd=:
# By convention, finish your script with:
#
# exit $exit_status
#
# so that you can set exit_status to non-zero if you want to indicate
# something went wrong during execution without actually bailing out at
# the point of failure.
exit_status=$EXIT_SUCCESS
# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
# is ksh but when the shell is invoked as "sh" and the current value of
# the _XPG environment variable is not equal to 1 (one), the special
# positional parameter $0, within a function call, is the name of the
# function.
progpath=$0
# The name of this program.
progname=`$ECHO "$progpath" |$SED "$sed_basename"`
# Make sure we have an absolute progpath for reexecution:
case $progpath in
[\\/]*|[A-Za-z]:\\*) ;;
*[\\/]*)
progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
progdir=`cd "$progdir" && pwd`
progpath=$progdir/$progname
;;
*)
_G_IFS=$IFS
IFS=${PATH_SEPARATOR-:}
for progdir in $PATH; do
IFS=$_G_IFS
test -x "$progdir/$progname" && break
done
IFS=$_G_IFS
test -n "$progdir" || progdir=`pwd`
progpath=$progdir/$progname
;;
esac
## ----------------- ##
## Standard options. ##
## ----------------- ##
# The following options affect the operation of the functions defined
# below, and should be set appropriately depending on run-time para-
# meters passed on the command line.
opt_dry_run=false
opt_quiet=false
opt_verbose=false
# Categories 'all' and 'none' are always available. Append any others
# you will pass as the first argument to func_warning from your own
# code.
warning_categories=
# By default, display warnings according to 'opt_warning_types'. Set
# 'warning_func' to ':' to elide all warnings, or func_fatal_error to
# treat the next displayed warning as a fatal error.
warning_func=func_warn_and_continue
# Set to 'all' to display all warnings, 'none' to suppress all
# warnings, or a space delimited list of some subset of
# 'warning_categories' to display only the listed warnings.
opt_warning_types=all
## -------------------- ##
## Resource management. ##
## -------------------- ##
# This section contains definitions for functions that each ensure a
# particular resource (a file, or a non-empty configuration variable for
# example) is available, and if appropriate to extract default values
# from pertinent package files. Call them using their associated
# 'require_*' variable to ensure that they are executed, at most, once.
#
# It's entirely deliberate that calling these functions can set
# variables that don't obey the namespace limitations obeyed by the rest
# of this file, in order that that they be as useful as possible to
# callers.
# require_term_colors
# -------------------
# Allow display of bold text on terminals that support it.
require_term_colors=func_require_term_colors
func_require_term_colors ()
{
$debug_cmd
test -t 1 && {
# COLORTERM and USE_ANSI_COLORS environment variables take
# precedence, because most terminfo databases neglect to describe
# whether color sequences are supported.
test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
if test 1 = "$USE_ANSI_COLORS"; then
# Standard ANSI escape sequences
tc_reset='[0m'
tc_bold='[1m'; tc_standout='[7m'
tc_red='[31m'; tc_green='[32m'
tc_blue='[34m'; tc_cyan='[36m'
else
# Otherwise trust the terminfo database after all.
test -n "`tput sgr0 2>/dev/null`" && {
tc_reset=`tput sgr0`
test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
tc_standout=$tc_bold
test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
}
fi
}
require_term_colors=:
}
## ----------------- ##
## Function library. ##
## ----------------- ##
# This section contains a variety of useful functions to call in your
# scripts. Take note of the portable wrappers for features provided by
# some modern shells, which will fall back to slower equivalents on
# less featureful shells.
# func_append VAR VALUE
# ---------------------
# Append VALUE onto the existing contents of VAR.
# We should try to minimise forks, especially on Windows where they are
# unreasonably slow, so skip the feature probes when bash or zsh are
# being used:
if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
: ${_G_HAVE_ARITH_OP="yes"}
: ${_G_HAVE_XSI_OPS="yes"}
# The += operator was introduced in bash 3.1
case $BASH_VERSION in
[12].* | 3.0 | 3.0*) ;;
*)
: ${_G_HAVE_PLUSEQ_OP="yes"}
;;
esac
fi
# _G_HAVE_PLUSEQ_OP
# Can be empty, in which case the shell is probed, "yes" if += is
# useable or anything else if it does not work.
test -z "$_G_HAVE_PLUSEQ_OP" \
&& (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
&& _G_HAVE_PLUSEQ_OP=yes
if test yes = "$_G_HAVE_PLUSEQ_OP"
then
# This is an XSI compatible shell, allowing a faster implementation...
eval 'func_append ()
{
$debug_cmd
eval "$1+=\$2"
}'
else
# ...otherwise fall back to using expr, which is often a shell builtin.
func_append ()
{
$debug_cmd
eval "$1=\$$1\$2"
}
fi
# func_append_quoted VAR VALUE
# ----------------------------
# Quote VALUE and append to the end of shell variable VAR, separated
# by a space.
if test yes = "$_G_HAVE_PLUSEQ_OP"; then
eval 'func_append_quoted ()
{
$debug_cmd
func_quote_arg pretty "$2"
eval "$1+=\\ \$func_quote_arg_result"
}'
else
func_append_quoted ()
{
$debug_cmd
func_quote_arg pretty "$2"
eval "$1=\$$1\\ \$func_quote_arg_result"
}
fi
# func_append_uniq VAR VALUE
# --------------------------
# Append unique VALUE onto the existing contents of VAR, assuming
# entries are delimited by the first character of VALUE. For example:
#
# func_append_uniq options " --another-option option-argument"
#
# will only append to $options if " --another-option option-argument "
# is not already present somewhere in $options already (note spaces at
# each end implied by leading space in second argument).
func_append_uniq ()
{
$debug_cmd
eval _G_current_value='`$ECHO $'$1'`'
_G_delim=`expr "$2" : '\(.\)'`
case $_G_delim$_G_current_value$_G_delim in
*"$2$_G_delim"*) ;;
*) func_append "$@" ;;
esac
}
# func_arith TERM...
# ------------------
# Set func_arith_result to the result of evaluating TERMs.
test -z "$_G_HAVE_ARITH_OP" \
&& (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
&& _G_HAVE_ARITH_OP=yes
if test yes = "$_G_HAVE_ARITH_OP"; then
eval 'func_arith ()
{
$debug_cmd
func_arith_result=$(( $* ))
}'
else
func_arith ()
{
$debug_cmd
func_arith_result=`expr "$@"`
}
fi
# func_basename FILE
# ------------------
# Set func_basename_result to FILE with everything up to and including
# the last / stripped.
if test yes = "$_G_HAVE_XSI_OPS"; then
# If this shell supports suffix pattern removal, then use it to avoid
# forking. Hide the definitions single quotes in case the shell chokes
# on unsupported syntax...
_b='func_basename_result=${1##*/}'
_d='case $1 in
*/*) func_dirname_result=${1%/*}$2 ;;
* ) func_dirname_result=$3 ;;
esac'
else
# ...otherwise fall back to using sed.
_b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
_d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"`
if test "X$func_dirname_result" = "X$1"; then
func_dirname_result=$3
else
func_append func_dirname_result "$2"
fi'
fi
eval 'func_basename ()
{
$debug_cmd
'"$_b"'
}'
# func_dirname FILE APPEND NONDIR_REPLACEMENT
# -------------------------------------------
# Compute the dirname of FILE. If nonempty, add APPEND to the result,
# otherwise set result to NONDIR_REPLACEMENT.
eval 'func_dirname ()
{
$debug_cmd
'"$_d"'
}'
# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
# --------------------------------------------------------
# Perform func_basename and func_dirname in a single function
# call:
# dirname: Compute the dirname of FILE. If nonempty,
# add APPEND to the result, otherwise set result
# to NONDIR_REPLACEMENT.
# value returned in "$func_dirname_result"
# basename: Compute filename of FILE.
# value retuned in "$func_basename_result"
# For efficiency, we do not delegate to the functions above but instead
# duplicate the functionality here.
eval 'func_dirname_and_basename ()
{
$debug_cmd
'"$_b"'
'"$_d"'
}'
# func_echo ARG...
# ----------------
# Echo program name prefixed message.
func_echo ()
{
$debug_cmd
_G_message=$*
func_echo_IFS=$IFS
IFS=$nl
for _G_line in $_G_message; do
IFS=$func_echo_IFS
$ECHO "$progname: $_G_line"
done
IFS=$func_echo_IFS
}
# func_echo_all ARG...
# --------------------
# Invoke $ECHO with all args, space-separated.
func_echo_all ()
{
$ECHO "$*"
}
# func_echo_infix_1 INFIX ARG...
# ------------------------------
# Echo program name, followed by INFIX on the first line, with any
# additional lines not showing INFIX.
func_echo_infix_1 ()
{
$debug_cmd
$require_term_colors
_G_infix=$1; shift
_G_indent=$_G_infix
_G_prefix="$progname: $_G_infix: "
_G_message=$*
# Strip color escape sequences before counting printable length
for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
do
test -n "$_G_tc" && {
_G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
_G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
}
done
_G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes
func_echo_infix_1_IFS=$IFS
IFS=$nl
for _G_line in $_G_message; do
IFS=$func_echo_infix_1_IFS
$ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
_G_prefix=$_G_indent
done
IFS=$func_echo_infix_1_IFS
}
# func_error ARG...
# -----------------
# Echo program name prefixed message to standard error.
func_error ()
{
$debug_cmd
$require_term_colors
func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2
}
# func_fatal_error ARG...
# -----------------------
# Echo program name prefixed message to standard error, and exit.
func_fatal_error ()
{
$debug_cmd
func_error "$*"
exit $EXIT_FAILURE
}
# func_grep EXPRESSION FILENAME
# -----------------------------
# Check whether EXPRESSION matches any line of FILENAME, without output.
func_grep ()
{
$debug_cmd
$GREP "$1" "$2" >/dev/null 2>&1
}
# func_len STRING
# ---------------
# Set func_len_result to the length of STRING. STRING may not
# start with a hyphen.
test -z "$_G_HAVE_XSI_OPS" \
&& (eval 'x=a/b/c;
test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
&& _G_HAVE_XSI_OPS=yes
if test yes = "$_G_HAVE_XSI_OPS"; then
eval 'func_len ()
{
$debug_cmd
func_len_result=${#1}
}'
else
func_len ()
{
$debug_cmd
func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
}
fi
# func_mkdir_p DIRECTORY-PATH
# ---------------------------
# Make sure the entire path to DIRECTORY-PATH is available.
func_mkdir_p ()
{
$debug_cmd
_G_directory_path=$1
_G_dir_list=
if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
# Protect directory names starting with '-'
case $_G_directory_path in
-*) _G_directory_path=./$_G_directory_path ;;
esac
# While some portion of DIR does not yet exist...
while test ! -d "$_G_directory_path"; do
# ...make a list in topmost first order. Use a colon delimited
# list incase some portion of path contains whitespace.
_G_dir_list=$_G_directory_path:$_G_dir_list
# If the last portion added has no slash in it, the list is done
case $_G_directory_path in */*) ;; *) break ;; esac
# ...otherwise throw away the child directory and loop
_G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
done
_G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
func_mkdir_p_IFS=$IFS; IFS=:
for _G_dir in $_G_dir_list; do
IFS=$func_mkdir_p_IFS
# mkdir can fail with a 'File exist' error if two processes
# try to create one of the directories concurrently. Don't
# stop in that case!
$MKDIR "$_G_dir" 2>/dev/null || :
done
IFS=$func_mkdir_p_IFS
# Bail out if we (or some other process) failed to create a directory.
test -d "$_G_directory_path" || \
func_fatal_error "Failed to create '$1'"
fi
}
# func_mktempdir [BASENAME]
# -------------------------
# Make a temporary directory that won't clash with other running
# libtool processes, and avoids race conditions if possible. If
# given, BASENAME is the basename for that directory.
func_mktempdir ()
{
$debug_cmd
_G_template=${TMPDIR-/tmp}/${1-$progname}
if test : = "$opt_dry_run"; then
# Return a directory name, but don't create it in dry-run mode
_G_tmpdir=$_G_template-$$
else
# If mktemp works, use that first and foremost
_G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
if test ! -d "$_G_tmpdir"; then
# Failing that, at least try and use $RANDOM to avoid a race
_G_tmpdir=$_G_template-${RANDOM-0}$$
func_mktempdir_umask=`umask`
umask 0077
$MKDIR "$_G_tmpdir"
umask $func_mktempdir_umask
fi
# If we're not in dry-run mode, bomb out on failure
test -d "$_G_tmpdir" || \
func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
fi
$ECHO "$_G_tmpdir"
}
# func_normal_abspath PATH
# ------------------------
# Remove doubled-up and trailing slashes, "." path components,
# and cancel out any ".." path components in PATH after making
# it an absolute path.
func_normal_abspath ()
{
$debug_cmd
# These SED scripts presuppose an absolute path with a trailing slash.
_G_pathcar='s|^/\([^/]*\).*$|\1|'
_G_pathcdr='s|^/[^/]*||'
_G_removedotparts=':dotsl
s|/\./|/|g
t dotsl
s|/\.$|/|'
_G_collapseslashes='s|/\{1,\}|/|g'
_G_finalslash='s|/*$|/|'
# Start from root dir and reassemble the path.
func_normal_abspath_result=
func_normal_abspath_tpath=$1
func_normal_abspath_altnamespace=
case $func_normal_abspath_tpath in
"")
# Empty path, that just means $cwd.
func_stripname '' '/' "`pwd`"
func_normal_abspath_result=$func_stripname_result
return
;;
# The next three entries are used to spot a run of precisely
# two leading slashes without using negated character classes;
# we take advantage of case's first-match behaviour.
///*)
# Unusual form of absolute path, do nothing.
;;
//*)
# Not necessarily an ordinary path; POSIX reserves leading '//'
# and for example Cygwin uses it to access remote file shares
# over CIFS/SMB, so we conserve a leading double slash if found.
func_normal_abspath_altnamespace=/
;;
/*)
# Absolute path, do nothing.
;;
*)
# Relative path, prepend $cwd.
func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
;;
esac
# Cancel out all the simple stuff to save iterations. We also want
# the path to end with a slash for ease of parsing, so make sure
# there is one (and only one) here.
func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
while :; do
# Processed it all yet?
if test / = "$func_normal_abspath_tpath"; then
# If we ascended to the root using ".." the result may be empty now.
if test -z "$func_normal_abspath_result"; then
func_normal_abspath_result=/
fi
break
fi
func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-e "$_G_pathcar"`
func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-e "$_G_pathcdr"`
# Figure out what to do with it
case $func_normal_abspath_tcomponent in
"")
# Trailing empty path component, ignore it.
;;
..)
# Parent dir; strip last assembled component from result.
func_dirname "$func_normal_abspath_result"
func_normal_abspath_result=$func_dirname_result
;;
*)
# Actual path component, append it.
func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
;;
esac
done
# Restore leading double-slash if one was found on entry.
func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
}
# func_notquiet ARG...
# --------------------
# Echo program name prefixed message only when not in quiet mode.
func_notquiet ()
{
$debug_cmd
$opt_quiet || func_echo ${1+"$@"}
# A bug in bash halts the script if the last line of a function
# fails when set -e is in force, so we need another command to
# work around that:
:
}
# func_relative_path SRCDIR DSTDIR
# --------------------------------
# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
func_relative_path ()
{
$debug_cmd
func_relative_path_result=
func_normal_abspath "$1"
func_relative_path_tlibdir=$func_normal_abspath_result
func_normal_abspath "$2"
func_relative_path_tbindir=$func_normal_abspath_result
# Ascend the tree starting from libdir
while :; do
# check if we have found a prefix of bindir
case $func_relative_path_tbindir in
$func_relative_path_tlibdir)
# found an exact match
func_relative_path_tcancelled=
break
;;
$func_relative_path_tlibdir*)
# found a matching prefix
func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
func_relative_path_tcancelled=$func_stripname_result
if test -z "$func_relative_path_result"; then
func_relative_path_result=.
fi
break
;;
*)
func_dirname $func_relative_path_tlibdir
func_relative_path_tlibdir=$func_dirname_result
if test -z "$func_relative_path_tlibdir"; then
# Have to descend all the way to the root!
func_relative_path_result=../$func_relative_path_result
func_relative_path_tcancelled=$func_relative_path_tbindir
break
fi
func_relative_path_result=../$func_relative_path_result
;;
esac
done
# Now calculate path; take care to avoid doubling-up slashes.
func_stripname '' '/' "$func_relative_path_result"
func_relative_path_result=$func_stripname_result
func_stripname '/' '/' "$func_relative_path_tcancelled"
if test -n "$func_stripname_result"; then
func_append func_relative_path_result "/$func_stripname_result"
fi
# Normalisation. If bindir is libdir, return '.' else relative path.
if test -n "$func_relative_path_result"; then
func_stripname './' '' "$func_relative_path_result"
func_relative_path_result=$func_stripname_result
fi
test -n "$func_relative_path_result" || func_relative_path_result=.
:
}
# func_quote_portable EVAL ARG
# ----------------------------
# Internal function to portably implement func_quote_arg. Note that we still
# keep attention to performance here so we as much as possible try to avoid
# calling sed binary (so far O(N) complexity as long as func_append is O(1)).
func_quote_portable ()
{
$debug_cmd
func_quote_portable_result=$2
# one-time-loop (easy break)
while true
do
if $1; then
func_quote_portable_result=`$ECHO "$2" | $SED \
-e "$sed_double_quote_subst" -e "$sed_double_backslash"`
break
fi
# Quote for eval.
case $func_quote_portable_result in
*[\\\`\"\$]*)
case $func_quote_portable_result in
*[\[\*\?]*)
func_quote_portable_result=`$ECHO "$func_quote_portable_result" \
| $SED "$sed_quote_subst"`
break
;;
esac
func_quote_portable_old_IFS=$IFS
for _G_char in '\' '`' '"' '$'
do
# STATE($1) PREV($2) SEPARATOR($3)
set start "" ""
func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy
IFS=$_G_char
for _G_part in $func_quote_portable_result
do
case $1 in
quote)
func_append func_quote_portable_result "$3$2"
set quote "$_G_part" "\\$_G_char"
;;
start)
set first "" ""
func_quote_portable_result=
;;
first)
set quote "$_G_part" ""
;;
esac
done
done
IFS=$func_quote_portable_old_IFS
;;
*) ;;
esac
break
done
func_quote_portable_unquoted_result=$func_quote_portable_result
case $func_quote_portable_result in
# double-quote args containing shell metacharacters to delay
# word splitting, command substitution and variable expansion
# for a subsequent eval.
# many bourne shells cannot handle close brackets correctly
# in scan sets, so we specify it separately.
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
func_quote_portable_result=\"$func_quote_portable_result\"
;;
esac
}
# func_quotefast_eval ARG
# -----------------------
# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG',
# but optimized for speed. Result is stored in $func_quotefast_eval.
if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then
printf -v _GL_test_printf_tilde %q '~'
if test '\~' = "$_GL_test_printf_tilde"; then
func_quotefast_eval ()
{
printf -v func_quotefast_eval_result %q "$1"
}
else
# Broken older Bash implementations. Make those faster too if possible.
func_quotefast_eval ()
{
case $1 in
'~'*)
func_quote_portable false "$1"
func_quotefast_eval_result=$func_quote_portable_result
;;
*)
printf -v func_quotefast_eval_result %q "$1"
;;
esac
}
fi
else
func_quotefast_eval ()
{
func_quote_portable false "$1"
func_quotefast_eval_result=$func_quote_portable_result
}
fi
# func_quote_arg MODEs ARG
# ------------------------
# Quote one ARG to be evaled later. MODEs argument may contain zero or more
# specifiers listed below separated by ',' character. This function returns two
# values:
# i) func_quote_arg_result
# double-quoted (when needed), suitable for a subsequent eval
# ii) func_quote_arg_unquoted_result
# has all characters that are still active within double
# quotes backslashified. Available only if 'unquoted' is specified.
#
# Available modes:
# ----------------
# 'eval' (default)
# - escape shell special characters
# 'expand'
# - the same as 'eval'; but do not quote variable references
# 'pretty'
# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might
# be used later in func_quote to get output like: 'echo "a b"' instead
# of 'echo a\ b'. This is slower than default on some shells.
# 'unquoted'
# - produce also $func_quote_arg_unquoted_result which does not contain
# wrapping double-quotes.
#
# Examples for 'func_quote_arg pretty,unquoted string':
#
# string | *_result | *_unquoted_result
# ------------+-----------------------+-------------------
# " | \" | \"
# a b | "a b" | a b
# "a b" | "\"a b\"" | \"a b\"
# * | "*" | *
# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\"
#
# Examples for 'func_quote_arg pretty,unquoted,expand string':
#
# string | *_result | *_unquoted_result
# --------------+---------------------+--------------------
# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\"
func_quote_arg ()
{
_G_quote_expand=false
case ,$1, in
*,expand,*)
_G_quote_expand=:
;;
esac
case ,$1, in
*,pretty,*|*,expand,*|*,unquoted,*)
func_quote_portable $_G_quote_expand "$2"
func_quote_arg_result=$func_quote_portable_result
func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result
;;
*)
# Faster quote-for-eval for some shells.
func_quotefast_eval "$2"
func_quote_arg_result=$func_quotefast_eval_result
;;
esac
}
# func_quote MODEs ARGs...
# ------------------------
# Quote all ARGs to be evaled later and join them into single command. See
# func_quote_arg's description for more info.
func_quote ()
{
$debug_cmd
_G_func_quote_mode=$1 ; shift
func_quote_result=
while test 0 -lt $#; do
func_quote_arg "$_G_func_quote_mode" "$1"
if test -n "$func_quote_result"; then
func_append func_quote_result " $func_quote_arg_result"
else
func_append func_quote_result "$func_quote_arg_result"
fi
shift
done
}
# func_stripname PREFIX SUFFIX NAME
# ---------------------------------
# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
# PREFIX and SUFFIX must not contain globbing or regex special
# characters, hashes, percent signs, but SUFFIX may contain a leading
# dot (in which case that matches only a dot).
if test yes = "$_G_HAVE_XSI_OPS"; then
eval 'func_stripname ()
{
$debug_cmd
# pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
# positional parameters, so assign one to ordinary variable first.
func_stripname_result=$3
func_stripname_result=${func_stripname_result#"$1"}
func_stripname_result=${func_stripname_result%"$2"}
}'
else
func_stripname ()
{
$debug_cmd
case $2 in
.*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
esac
}
fi
# func_show_eval CMD [FAIL_EXP]
# -----------------------------
# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it.
func_show_eval ()
{
$debug_cmd
_G_cmd=$1
_G_fail_exp=${2-':'}
func_quote_arg pretty,expand "$_G_cmd"
eval "func_notquiet $func_quote_arg_result"
$opt_dry_run || {
eval "$_G_cmd"
_G_status=$?
if test 0 -ne "$_G_status"; then
eval "(exit $_G_status); $_G_fail_exp"
fi
}
}
# func_show_eval_locale CMD [FAIL_EXP]
# ------------------------------------
# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it. Use the saved locale for evaluation.
func_show_eval_locale ()
{
$debug_cmd
_G_cmd=$1
_G_fail_exp=${2-':'}
$opt_quiet || {
func_quote_arg expand,pretty "$_G_cmd"
eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || {
eval "$_G_user_locale
$_G_cmd"
_G_status=$?
eval "$_G_safe_locale"
if test 0 -ne "$_G_status"; then
eval "(exit $_G_status); $_G_fail_exp"
fi
}
}
# func_tr_sh
# ----------
# Turn $1 into a string suitable for a shell variable name.
# Result is stored in $func_tr_sh_result. All characters
# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
# if $1 begins with a digit, a '_' is prepended as well.
func_tr_sh ()
{
$debug_cmd
case $1 in
[0-9]* | *[!a-zA-Z0-9_]*)
func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
;;
* )
func_tr_sh_result=$1
;;
esac
}
# func_verbose ARG...
# -------------------
# Echo program name prefixed message in verbose mode only.
func_verbose ()
{
$debug_cmd
$opt_verbose && func_echo "$*"
:
}
# func_warn_and_continue ARG...
# -----------------------------
# Echo program name prefixed warning message to standard error.
func_warn_and_continue ()
{
$debug_cmd
$require_term_colors
func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
}
# func_warning CATEGORY ARG...
# ----------------------------
# Echo program name prefixed warning message to standard error. Warning
# messages can be filtered according to CATEGORY, where this function
# elides messages where CATEGORY is not listed in the global variable
# 'opt_warning_types'.
func_warning ()
{
$debug_cmd
# CATEGORY must be in the warning_categories list!
case " $warning_categories " in
*" $1 "*) ;;
*) func_internal_error "invalid warning category '$1'" ;;
esac
_G_category=$1
shift
case " $opt_warning_types " in
*" $_G_category "*) $warning_func ${1+"$@"} ;;
esac
}
# func_sort_ver VER1 VER2
# -----------------------
# 'sort -V' is not generally available.
# Note this deviates from the version comparison in automake
# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
# but this should suffice as we won't be specifying old
# version formats or redundant trailing .0 in bootstrap.conf.
# If we did want full compatibility then we should probably
# use m4_version_compare from autoconf.
func_sort_ver ()
{
$debug_cmd
printf '%s\n%s\n' "$1" "$2" \
| sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
}
# func_lt_ver PREV CURR
# ---------------------
# Return true if PREV and CURR are in the correct order according to
# func_sort_ver, otherwise false. Use it like this:
#
# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
func_lt_ver ()
{
$debug_cmd
test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
}
# Local variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
# time-stamp-time-zone: "UTC"
# End:
#! /bin/sh
# A portable, pluggable option parser for Bourne shell.
# Written by Gary V. Vaughan, 2010
# This is free software. There is NO warranty; not even for
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# Copyright (C) 2010-2017 Bootstrap Authors
#
# This file is dual licensed under the terms of the MIT license
# , and GPL version 3 or later
# . You must apply one of
# these licenses when using or redistributing this software or any of
# the files within it. See the URLs above, or the file `LICENSE`
# included in the Bootstrap distribution for the full license texts.
# Please report bugs or propose patches to:
#
# Set a version string for this script.
scriptversion=2016-03-06.01; # UTC
## ------ ##
## Usage. ##
## ------ ##
# This file is a library for parsing options in your shell scripts along
# with assorted other useful supporting features that you can make use
# of too.
#
# For the simplest scripts you might need only:
#
# #!/bin/sh
# . relative/path/to/funclib.sh
# . relative/path/to/options-parser
# scriptversion=1.0
# func_options ${1+"$@"}
# eval set dummy "$func_options_result"; shift
# ...rest of your script...
#
# In order for the '--version' option to work, you will need to have a
# suitably formatted comment like the one at the top of this file
# starting with '# Written by ' and ending with '# Copyright'.
#
# For '-h' and '--help' to work, you will also need a one line
# description of your script's purpose in a comment directly above the
# '# Written by ' line, like the one at the top of this file.
#
# The default options also support '--debug', which will turn on shell
# execution tracing (see the comment above debug_cmd below for another
# use), and '--verbose' and the func_verbose function to allow your script
# to display verbose messages only when your user has specified
# '--verbose'.
#
# After sourcing this file, you can plug in processing for additional
# options by amending the variables from the 'Configuration' section
# below, and following the instructions in the 'Option parsing'
# section further down.
## -------------- ##
## Configuration. ##
## -------------- ##
# You should override these variables in your script after sourcing this
# file so that they reflect the customisations you have added to the
# option parser.
# The usage line for option parsing errors and the start of '-h' and
# '--help' output messages. You can embed shell variables for delayed
# expansion at the time the message is displayed, but you will need to
# quote other shell meta-characters carefully to prevent them being
# expanded when the contents are evaled.
usage='$progpath [OPTION]...'
# Short help message in response to '-h' and '--help'. Add to this or
# override it after sourcing this library to reflect the full set of
# options your script accepts.
usage_message="\
--debug enable verbose shell tracing
-W, --warnings=CATEGORY
report the warnings falling in CATEGORY [all]
-v, --verbose verbosely report processing
--version print version information and exit
-h, --help print short or long help message and exit
"
# Additional text appended to 'usage_message' in response to '--help'.
long_help_message="
Warning categories include:
'all' show all warnings
'none' turn off all the warnings
'error' warnings are treated as fatal errors"
# Help message printed before fatal option parsing errors.
fatal_help="Try '\$progname --help' for more information."
## ------------------------- ##
## Hook function management. ##
## ------------------------- ##
# This section contains functions for adding, removing, and running hooks
# in the main code. A hook is just a list of function names that can be
# run in order later on.
# func_hookable FUNC_NAME
# -----------------------
# Declare that FUNC_NAME will run hooks added with
# 'func_add_hook FUNC_NAME ...'.
func_hookable ()
{
$debug_cmd
func_append hookable_fns " $1"
}
# func_add_hook FUNC_NAME HOOK_FUNC
# ---------------------------------
# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must
# first have been declared "hookable" by a call to 'func_hookable'.
func_add_hook ()
{
$debug_cmd
case " $hookable_fns " in
*" $1 "*) ;;
*) func_fatal_error "'$1' does not accept hook functions." ;;
esac
eval func_append ${1}_hooks '" $2"'
}
# func_remove_hook FUNC_NAME HOOK_FUNC
# ------------------------------------
# Remove HOOK_FUNC from the list of hook functions to be called by
# FUNC_NAME.
func_remove_hook ()
{
$debug_cmd
eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
}
# func_propagate_result FUNC_NAME_A FUNC_NAME_B
# ---------------------------------------------
# If the *_result variable of FUNC_NAME_A _is set_, assign its value to
# *_result variable of FUNC_NAME_B.
func_propagate_result ()
{
$debug_cmd
func_propagate_result_result=:
if eval "test \"\${${1}_result+set}\" = set"
then
eval "${2}_result=\$${1}_result"
else
func_propagate_result_result=false
fi
}
# func_run_hooks FUNC_NAME [ARG]...
# ---------------------------------
# Run all hook functions registered to FUNC_NAME.
# It's assumed that the list of hook functions contains nothing more
# than a whitespace-delimited list of legal shell function names, and
# no effort is wasted trying to catch shell meta-characters or preserve
# whitespace.
func_run_hooks ()
{
$debug_cmd
case " $hookable_fns " in
*" $1 "*) ;;
*) func_fatal_error "'$1' does not support hook functions." ;;
esac
eval _G_hook_fns=\$$1_hooks; shift
for _G_hook in $_G_hook_fns; do
func_unset "${_G_hook}_result"
eval $_G_hook '${1+"$@"}'
func_propagate_result $_G_hook func_run_hooks
if $func_propagate_result_result; then
eval set dummy "$func_run_hooks_result"; shift
fi
done
}
## --------------- ##
## Option parsing. ##
## --------------- ##
# In order to add your own option parsing hooks, you must accept the
# full positional parameter list from your hook function. You may remove
# or edit any options that you action, and then pass back the remaining
# unprocessed options in '_result', escaped
# suitably for 'eval'.
#
# The '_result' variable is automatically unset
# before your hook gets called; for best performance, only set the
# *_result variable when necessary (i.e. don't call the 'func_quote'
# function unnecessarily because it can be an expensive operation on some
# machines).
#
# Like this:
#
# my_options_prep ()
# {
# $debug_cmd
#
# # Extend the existing usage message.
# usage_message=$usage_message'
# -s, --silent don'\''t print informational messages
# '
# # No change in '$@' (ignored completely by this hook). Leave
# # my_options_prep_result variable intact.
# }
# func_add_hook func_options_prep my_options_prep
#
#
# my_silent_option ()
# {
# $debug_cmd
#
# args_changed=false
#
# # Note that, for efficiency, we parse as many options as we can
# # recognise in a loop before passing the remainder back to the
# # caller on the first unrecognised argument we encounter.
# while test $# -gt 0; do
# opt=$1; shift
# case $opt in
# --silent|-s) opt_silent=:
# args_changed=:
# ;;
# # Separate non-argument short options:
# -s*) func_split_short_opt "$_G_opt"
# set dummy "$func_split_short_opt_name" \
# "-$func_split_short_opt_arg" ${1+"$@"}
# shift
# args_changed=:
# ;;
# *) # Make sure the first unrecognised option "$_G_opt"
# # is added back to "$@" in case we need it later,
# # if $args_changed was set to 'true'.
# set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
# esac
# done
#
# # Only call 'func_quote' here if we processed at least one argument.
# if $args_changed; then
# func_quote eval ${1+"$@"}
# my_silent_option_result=$func_quote_result
# fi
# }
# func_add_hook func_parse_options my_silent_option
#
#
# my_option_validation ()
# {
# $debug_cmd
#
# $opt_silent && $opt_verbose && func_fatal_help "\
# '--silent' and '--verbose' options are mutually exclusive."
# }
# func_add_hook func_validate_options my_option_validation
#
# You'll also need to manually amend $usage_message to reflect the extra
# options you parse. It's preferable to append if you can, so that
# multiple option parsing hooks can be added safely.
# func_options_finish [ARG]...
# ----------------------------
# Finishing the option parse loop (call 'func_options' hooks ATM).
func_options_finish ()
{
$debug_cmd
func_run_hooks func_options ${1+"$@"}
func_propagate_result func_run_hooks func_options_finish
}
# func_options [ARG]...
# ---------------------
# All the functions called inside func_options are hookable. See the
# individual implementations for details.
func_hookable func_options
func_options ()
{
$debug_cmd
_G_options_quoted=false
for my_func in options_prep parse_options validate_options options_finish
do
func_unset func_${my_func}_result
func_unset func_run_hooks_result
eval func_$my_func '${1+"$@"}'
func_propagate_result func_$my_func func_options
if $func_propagate_result_result; then
eval set dummy "$func_options_result"; shift
_G_options_quoted=:
fi
done
$_G_options_quoted || {
# As we (func_options) are top-level options-parser function and
# nobody quoted "$@" for us yet, we need to do it explicitly for
# caller.
func_quote eval ${1+"$@"}
func_options_result=$func_quote_result
}
}
# func_options_prep [ARG]...
# --------------------------
# All initialisations required before starting the option parse loop.
# Note that when calling hook functions, we pass through the list of
# positional parameters. If a hook function modifies that list, and
# needs to propagate that back to rest of this script, then the complete
# modified list must be put in 'func_run_hooks_result' before returning.
func_hookable func_options_prep
func_options_prep ()
{
$debug_cmd
# Option defaults:
opt_verbose=false
opt_warning_types=
func_run_hooks func_options_prep ${1+"$@"}
func_propagate_result func_run_hooks func_options_prep
}
# func_parse_options [ARG]...
# ---------------------------
# The main option parsing loop.
func_hookable func_parse_options
func_parse_options ()
{
$debug_cmd
_G_parse_options_requote=false
# this just eases exit handling
while test $# -gt 0; do
# Defer to hook functions for initial option parsing, so they
# get priority in the event of reusing an option name.
func_run_hooks func_parse_options ${1+"$@"}
func_propagate_result func_run_hooks func_parse_options
if $func_propagate_result_result; then
eval set dummy "$func_parse_options_result"; shift
# Even though we may have changed "$@", we passed the "$@" array
# down into the hook and it quoted it for us (because we are in
# this if-branch). No need to quote it again.
_G_parse_options_requote=false
fi
# Break out of the loop if we already parsed every option.
test $# -gt 0 || break
# We expect that one of the options parsed in this function matches
# and thus we remove _G_opt from "$@" and need to re-quote.
_G_match_parse_options=:
_G_opt=$1
shift
case $_G_opt in
--debug|-x) debug_cmd='set -x'
func_echo "enabling shell trace mode" >&2
$debug_cmd
;;
--no-warnings|--no-warning|--no-warn)
set dummy --warnings none ${1+"$@"}
shift
;;
--warnings|--warning|-W)
if test $# = 0 && func_missing_arg $_G_opt; then
_G_parse_options_requote=:
break
fi
case " $warning_categories $1" in
*" $1 "*)
# trailing space prevents matching last $1 above
func_append_uniq opt_warning_types " $1"
;;
*all)
opt_warning_types=$warning_categories
;;
*none)
opt_warning_types=none
warning_func=:
;;
*error)
opt_warning_types=$warning_categories
warning_func=func_fatal_error
;;
*)
func_fatal_error \
"unsupported warning category: '$1'"
;;
esac
shift
;;
--verbose|-v) opt_verbose=: ;;
--version) func_version ;;
-\?|-h) func_usage ;;
--help) func_help ;;
# Separate optargs to long options (plugins may need this):
--*=*) func_split_equals "$_G_opt"
set dummy "$func_split_equals_lhs" \
"$func_split_equals_rhs" ${1+"$@"}
shift
;;
# Separate optargs to short options:
-W*)
func_split_short_opt "$_G_opt"
set dummy "$func_split_short_opt_name" \
"$func_split_short_opt_arg" ${1+"$@"}
shift
;;
# Separate non-argument short options:
-\?*|-h*|-v*|-x*)
func_split_short_opt "$_G_opt"
set dummy "$func_split_short_opt_name" \
"-$func_split_short_opt_arg" ${1+"$@"}
shift
;;
--) _G_parse_options_requote=: ; break ;;
-*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
*) set dummy "$_G_opt" ${1+"$@"}; shift
_G_match_parse_options=false
break
;;
esac
if $_G_match_parse_options; then
_G_parse_options_requote=:
fi
done
if $_G_parse_options_requote; then
# save modified positional parameters for caller
func_quote eval ${1+"$@"}
func_parse_options_result=$func_quote_result
fi
}
# func_validate_options [ARG]...
# ------------------------------
# Perform any sanity checks on option settings and/or unconsumed
# arguments.
func_hookable func_validate_options
func_validate_options ()
{
$debug_cmd
# Display all warnings if -W was not given.
test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
func_run_hooks func_validate_options ${1+"$@"}
func_propagate_result func_run_hooks func_validate_options
# Bail if the options were screwed!
$exit_cmd $EXIT_FAILURE
}
## ----------------- ##
## Helper functions. ##
## ----------------- ##
# This section contains the helper functions used by the rest of the
# hookable option parser framework in ascii-betical order.
# func_fatal_help ARG...
# ----------------------
# Echo program name prefixed message to standard error, followed by
# a help hint, and exit.
func_fatal_help ()
{
$debug_cmd
eval \$ECHO \""Usage: $usage"\"
eval \$ECHO \""$fatal_help"\"
func_error ${1+"$@"}
exit $EXIT_FAILURE
}
# func_help
# ---------
# Echo long help message to standard output and exit.
func_help ()
{
$debug_cmd
func_usage_message
$ECHO "$long_help_message"
exit 0
}
# func_missing_arg ARGNAME
# ------------------------
# Echo program name prefixed message to standard error and set global
# exit_cmd.
func_missing_arg ()
{
$debug_cmd
func_error "Missing argument for '$1'."
exit_cmd=exit
}
# func_split_equals STRING
# ------------------------
# Set func_split_equals_lhs and func_split_equals_rhs shell variables
# after splitting STRING at the '=' sign.
test -z "$_G_HAVE_XSI_OPS" \
&& (eval 'x=a/b/c;
test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
&& _G_HAVE_XSI_OPS=yes
if test yes = "$_G_HAVE_XSI_OPS"
then
# This is an XSI compatible shell, allowing a faster implementation...
eval 'func_split_equals ()
{
$debug_cmd
func_split_equals_lhs=${1%%=*}
func_split_equals_rhs=${1#*=}
if test "x$func_split_equals_lhs" = "x$1"; then
func_split_equals_rhs=
fi
}'
else
# ...otherwise fall back to using expr, which is often a shell builtin.
func_split_equals ()
{
$debug_cmd
func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
func_split_equals_rhs=
test "x$func_split_equals_lhs" = "x$1" \
|| func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
}
fi #func_split_equals
# func_split_short_opt SHORTOPT
# -----------------------------
# Set func_split_short_opt_name and func_split_short_opt_arg shell
# variables after splitting SHORTOPT after the 2nd character.
if test yes = "$_G_HAVE_XSI_OPS"
then
# This is an XSI compatible shell, allowing a faster implementation...
eval 'func_split_short_opt ()
{
$debug_cmd
func_split_short_opt_arg=${1#??}
func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
}'
else
# ...otherwise fall back to using expr, which is often a shell builtin.
func_split_short_opt ()
{
$debug_cmd
func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
}
fi #func_split_short_opt
# func_usage
# ----------
# Echo short help message to standard output and exit.
func_usage ()
{
$debug_cmd
func_usage_message
$ECHO "Run '$progname --help |${PAGER-more}' for full usage"
exit 0
}
# func_usage_message
# ------------------
# Echo short help message to standard output.
func_usage_message ()
{
$debug_cmd
eval \$ECHO \""Usage: $usage"\"
echo
$SED -n 's|^# ||
/^Written by/{
x;p;x
}
h
/^Written by/q' < "$progpath"
echo
eval \$ECHO \""$usage_message"\"
}
# func_version
# ------------
# Echo version message to standard output and exit.
# The version message is extracted from the calling file's header
# comments, with leading '# ' stripped:
# 1. First display the progname and version
# 2. Followed by the header comment line matching /^# Written by /
# 3. Then a blank line followed by the first following line matching
# /^# Copyright /
# 4. Immediately followed by any lines between the previous matches,
# except lines preceding the intervening completely blank line.
# For example, see the header comments of this file.
func_version ()
{
$debug_cmd
printf '%s\n' "$progname $scriptversion"
$SED -n '
/^# Written by /!b
s|^# ||; p; n
:fwd2blnk
/./ {
n
b fwd2blnk
}
p; n
:holdwrnt
s|^# ||
s|^# *$||
/^Copyright /!{
/./H
n
b holdwrnt
}
s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
G
s|\(\n\)\n*|\1|g
p; q' < "$progpath"
exit $?
}
# Local variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
# time-stamp-time-zone: "UTC"
# End:
# Set a version string.
scriptversion='(GNU libtool) 2.4.6.40-6ca5-dirty'
# func_echo ARG...
# ----------------
# Libtool also displays the current mode in messages, so override
# funclib.sh func_echo with this custom definition.
func_echo ()
{
$debug_cmd
_G_message=$*
func_echo_IFS=$IFS
IFS=$nl
for _G_line in $_G_message; do
IFS=$func_echo_IFS
$ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
done
IFS=$func_echo_IFS
}
# func_warning ARG...
# -------------------
# Libtool warnings are not categorized, so override funclib.sh
# func_warning with this simpler definition.
func_warning ()
{
$debug_cmd
$warning_func ${1+"$@"}
}
## ---------------- ##
## Options parsing. ##
## ---------------- ##
# Hook in the functions to make sure our own options are parsed during
# the option parsing loop.
usage='$progpath [OPTION]... [MODE-ARG]...'
# Short help message in response to '-h'.
usage_message="Options:
--config show all configuration variables
--debug enable verbose shell tracing
-n, --dry-run display commands without modifying any files
--features display basic configuration information and exit
--mode=MODE use operation mode MODE
--no-warnings equivalent to '-Wnone'
--preserve-dup-deps don't remove duplicate dependency libraries
--quiet, --silent don't print informational messages
--tag=TAG use configuration variables from tag TAG
-v, --verbose print more informational messages than default
--version print version information
-W, --warnings=CATEGORY report the warnings falling in CATEGORY [all]
-h, --help, --help-all print short, long, or detailed help message
"
# Additional text appended to 'usage_message' in response to '--help'.
func_help ()
{
$debug_cmd
func_usage_message
$ECHO "$long_help_message
MODE must be one of the following:
clean remove files from the build directory
compile compile a source file into a libtool object
execute automatically set library path, then run a program
finish complete the installation of libtool libraries
install install libraries or executables
link create a library or an executable
uninstall remove libraries from an installed directory
MODE-ARGS vary depending on the MODE. When passed as first option,
'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
Try '$progname --help --mode=MODE' for a more detailed description of MODE.
When reporting a bug, please describe a test case to reproduce it and
include the following information:
host-triplet: $host
shell: $SHELL
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
version: $progname (GNU libtool) 2.4.6.40-6ca5-dirty
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
Report bugs to .
GNU libtool home page: .
General help using GNU software: ."
exit 0
}
# func_lo2o OBJECT-NAME
# ---------------------
# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
# object suffix.
lo2o=s/\\.lo\$/.$objext/
o2lo=s/\\.$objext\$/.lo/
if test yes = "$_G_HAVE_XSI_OPS"; then
eval 'func_lo2o ()
{
case $1 in
*.lo) func_lo2o_result=${1%.lo}.$objext ;;
* ) func_lo2o_result=$1 ;;
esac
}'
# func_xform LIBOBJ-OR-SOURCE
# ---------------------------
# Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
# suffix to a '.lo' libtool-object suffix.
eval 'func_xform ()
{
func_xform_result=${1%.*}.lo
}'
else
# ...otherwise fall back to using sed.
func_lo2o ()
{
func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
}
func_xform ()
{
func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
}
fi
# func_fatal_configuration ARG...
# -------------------------------
# Echo program name prefixed message to standard error, followed by
# a configuration failure hint, and exit.
func_fatal_configuration ()
{
func_fatal_error ${1+"$@"} \
"See the $PACKAGE documentation for more information." \
"Fatal configuration error."
}
# func_config
# -----------
# Display the configuration for all the tags in this script.
func_config ()
{
re_begincf='^# ### BEGIN LIBTOOL'
re_endcf='^# ### END LIBTOOL'
# Default configuration.
$SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
# Now print the configurations for the tags.
for tagname in $taglist; do
$SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
done
exit $?
}
# func_features
# -------------
# Display the features supported by this script.
func_features ()
{
echo "host: $host"
if test yes = "$build_libtool_libs"; then
echo "enable shared libraries"
else
echo "disable shared libraries"
fi
if test yes = "$build_old_libs"; then
echo "enable static libraries"
else
echo "disable static libraries"
fi
exit $?
}
# func_enable_tag TAGNAME
# -----------------------
# Verify that TAGNAME is valid, and either flag an error and exit, or
# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
# variable here.
func_enable_tag ()
{
# Global variable:
tagname=$1
re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
sed_extractcf=/$re_begincf/,/$re_endcf/p
# Validate tagname.
case $tagname in
*[!-_A-Za-z0-9,/]*)
func_fatal_error "invalid tag name: $tagname"
;;
esac
# Don't test for the "default" C tag, as we know it's
# there but not specially marked.
case $tagname in
CC) ;;
*)
if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
taglist="$taglist $tagname"
# Evaluate the configuration. Be careful to quote the path
# and the sed script, to avoid splitting on whitespace, but
# also don't use non-portable quotes within backquotes within
# quotes we have to do it in 2 steps:
extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
eval "$extractedcf"
else
func_error "ignoring unknown tag $tagname"
fi
;;
esac
}
# func_check_version_match
# ------------------------
# Ensure that we are using m4 macros, and libtool script from the same
# release of libtool.
func_check_version_match ()
{
if test "$package_revision" != "$macro_revision"; then
if test "$VERSION" != "$macro_version"; then
if test -z "$macro_version"; then
cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from an older release.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
else
cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
fi
else
cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
$progname: but the definition of this LT_INIT comes from revision $macro_revision.
$progname: You should recreate aclocal.m4 with macros from revision $package_revision
$progname: of $PACKAGE $VERSION and run autoconf again.
_LT_EOF
fi
exit $EXIT_MISMATCH
fi
}
# libtool_options_prep [ARG]...
# -----------------------------
# Preparation for options parsed by libtool.
libtool_options_prep ()
{
$debug_mode
# Option defaults:
opt_config=false
opt_dlopen=
opt_dry_run=false
opt_help=false
opt_mode=
opt_preserve_dup_deps=false
opt_quiet=false
nonopt=
preserve_args=
_G_rc_lt_options_prep=:
# Shorthand for --mode=foo, only valid as the first argument
case $1 in
clean|clea|cle|cl)
shift; set dummy --mode clean ${1+"$@"}; shift
;;
compile|compil|compi|comp|com|co|c)
shift; set dummy --mode compile ${1+"$@"}; shift
;;
execute|execut|execu|exec|exe|ex|e)
shift; set dummy --mode execute ${1+"$@"}; shift
;;
finish|finis|fini|fin|fi|f)
shift; set dummy --mode finish ${1+"$@"}; shift
;;
install|instal|insta|inst|ins|in|i)
shift; set dummy --mode install ${1+"$@"}; shift
;;
link|lin|li|l)
shift; set dummy --mode link ${1+"$@"}; shift
;;
uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
shift; set dummy --mode uninstall ${1+"$@"}; shift
;;
*)
_G_rc_lt_options_prep=false
;;
esac
if $_G_rc_lt_options_prep; then
# Pass back the list of options.
func_quote eval ${1+"$@"}
libtool_options_prep_result=$func_quote_result
fi
}
func_add_hook func_options_prep libtool_options_prep
# libtool_parse_options [ARG]...
# ---------------------------------
# Provide handling for libtool specific options.
libtool_parse_options ()
{
$debug_cmd
_G_rc_lt_parse_options=false
# Perform our own loop to consume as many options as possible in
# each iteration.
while test $# -gt 0; do
_G_match_lt_parse_options=:
_G_opt=$1
shift
case $_G_opt in
--dry-run|--dryrun|-n)
opt_dry_run=:
;;
--config) func_config ;;
--dlopen|-dlopen)
opt_dlopen="${opt_dlopen+$opt_dlopen
}$1"
shift
;;
--preserve-dup-deps)
opt_preserve_dup_deps=: ;;
--features) func_features ;;
--finish) set dummy --mode finish ${1+"$@"}; shift ;;
--help) opt_help=: ;;
--help-all) opt_help=': help-all' ;;
--mode) test $# = 0 && func_missing_arg $_G_opt && break
opt_mode=$1
case $1 in
# Valid mode arguments:
clean|compile|execute|finish|install|link|relink|uninstall) ;;
# Catch anything else as an error
*) func_error "invalid argument for $_G_opt"
exit_cmd=exit
break
;;
esac
shift
;;
--no-silent|--no-quiet)
opt_quiet=false
func_append preserve_args " $_G_opt"
;;
--no-warnings|--no-warning|--no-warn)
opt_warning=false
func_append preserve_args " $_G_opt"
;;
--no-verbose)
opt_verbose=false
func_append preserve_args " $_G_opt"
;;
--silent|--quiet)
opt_quiet=:
opt_verbose=false
func_append preserve_args " $_G_opt"
;;
--tag) test $# = 0 && func_missing_arg $_G_opt && break
opt_tag=$1
func_append preserve_args " $_G_opt $1"
func_enable_tag "$1"
shift
;;
--verbose|-v) opt_quiet=false
opt_verbose=:
func_append preserve_args " $_G_opt"
;;
# An option not handled by this hook function:
*) set dummy "$_G_opt" ${1+"$@"} ; shift
_G_match_lt_parse_options=false
break
;;
esac
$_G_match_lt_parse_options && _G_rc_lt_parse_options=:
done
if $_G_rc_lt_parse_options; then
# save modified positional parameters for caller
func_quote eval ${1+"$@"}
libtool_parse_options_result=$func_quote_result
fi
}
func_add_hook func_parse_options libtool_parse_options
# libtool_validate_options [ARG]...
# ---------------------------------
# Perform any sanity checks on option settings and/or unconsumed
# arguments.
libtool_validate_options ()
{
# save first non-option argument
if test 0 -lt $#; then
nonopt=$1
shift
fi
# preserve --debug
test : = "$debug_cmd" || func_append preserve_args " --debug"
case $host in
# Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
# see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
*cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
# don't eliminate duplications in $postdeps and $predeps
opt_duplicate_compiler_generated_deps=:
;;
*)
opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
;;
esac
$opt_help || {
# Sanity checks first:
func_check_version_match
test yes != "$build_libtool_libs" \
&& test yes != "$build_old_libs" \
&& func_fatal_configuration "not configured to build any kind of library"
# Darwin sucks
eval std_shrext=\"$shrext_cmds\"
# Only execute mode is allowed to have -dlopen flags.
if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
func_error "unrecognized option '-dlopen'"
$ECHO "$help" 1>&2
exit $EXIT_FAILURE
fi
# Change the help message to a mode-specific one.
generic_help=$help
help="Try '$progname --help --mode=$opt_mode' for more information."
}
# Pass back the unparsed argument list
func_quote eval ${1+"$@"}
libtool_validate_options_result=$func_quote_result
}
func_add_hook func_validate_options libtool_validate_options
# Process options as early as possible so that --help and --version
# can return quickly.
func_options ${1+"$@"}
eval set dummy "$func_options_result"; shift
## ----------- ##
## Main. ##
## ----------- ##
magic='%%%MAGIC variable%%%'
magic_exe='%%%MAGIC EXE variable%%%'
# Global variables.
extracted_archives=
extracted_serial=0
# If this variable is set in any of the actions, the command in it
# will be execed at the end. This prevents here-documents from being
# left over by shells.
exec_cmd=
# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
# func_generated_by_libtool
# True iff stdin has been generated by Libtool. This function is only
# a basic sanity check; it will hardly flush out determined imposters.
func_generated_by_libtool_p ()
{
$GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
}
# func_lalib_p file
# True iff FILE is a libtool '.la' library or '.lo' object file.
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_lalib_p ()
{
test -f "$1" &&
$SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
}
# func_lalib_unsafe_p file
# True iff FILE is a libtool '.la' library or '.lo' object file.
# This function implements the same check as func_lalib_p without
# resorting to external programs. To this end, it redirects stdin and
# closes it afterwards, without saving the original file descriptor.
# As a safety measure, use it only where a negative result would be
# fatal anyway. Works if 'file' does not exist.
func_lalib_unsafe_p ()
{
lalib_p=no
if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
for lalib_p_l in 1 2 3 4
do
read lalib_p_line
case $lalib_p_line in
\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
esac
done
exec 0<&5 5<&-
fi
test yes = "$lalib_p"
}
# func_ltwrapper_script_p file
# True iff FILE is a libtool wrapper script
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_script_p ()
{
test -f "$1" &&
$lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
}
# func_ltwrapper_executable_p file
# True iff FILE is a libtool wrapper executable
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_executable_p ()
{
func_ltwrapper_exec_suffix=
case $1 in
*.exe) ;;
*) func_ltwrapper_exec_suffix=.exe ;;
esac
$GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
}
# func_ltwrapper_scriptname file
# Assumes file is an ltwrapper_executable
# uses $file to determine the appropriate filename for a
# temporary ltwrapper_script.
func_ltwrapper_scriptname ()
{
func_dirname_and_basename "$1" "" "."
func_stripname '' '.exe' "$func_basename_result"
func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
}
# func_ltwrapper_p file
# True iff FILE is a libtool wrapper script or wrapper executable
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_p ()
{
func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
}
# func_execute_cmds commands fail_cmd
# Execute tilde-delimited COMMANDS.
# If FAIL_CMD is given, eval that upon failure.
# FAIL_CMD may read-access the current command in variable CMD!
func_execute_cmds ()
{
$debug_cmd
save_ifs=$IFS; IFS='~'
for cmd in $1; do
IFS=$sp$nl
eval cmd=\"$cmd\"
IFS=$save_ifs
func_show_eval "$cmd" "${2-:}"
done
IFS=$save_ifs
}
# func_source file
# Source FILE, adding directory component if necessary.
# Note that it is not necessary on cygwin/mingw to append a dot to
# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
# behavior happens only for exec(3), not for open(2)! Also, sourcing
# 'FILE.' does not work on cygwin managed mounts.
func_source ()
{
$debug_cmd
case $1 in
*/* | *\\*) . "$1" ;;
*) . "./$1" ;;
esac
}
# func_resolve_sysroot PATH
# Replace a leading = in PATH with a sysroot. Store the result into
# func_resolve_sysroot_result
func_resolve_sysroot ()
{
func_resolve_sysroot_result=$1
case $func_resolve_sysroot_result in
=*)
func_stripname '=' '' "$func_resolve_sysroot_result"
func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
;;
esac
}
# func_replace_sysroot PATH
# If PATH begins with the sysroot, replace it with = and
# store the result into func_replace_sysroot_result.
func_replace_sysroot ()
{
case $lt_sysroot:$1 in
?*:"$lt_sysroot"*)
func_stripname "$lt_sysroot" '' "$1"
func_replace_sysroot_result='='$func_stripname_result
;;
*)
# Including no sysroot.
func_replace_sysroot_result=$1
;;
esac
}
# func_infer_tag arg
# Infer tagged configuration to use if any are available and
# if one wasn't chosen via the "--tag" command line option.
# Only attempt this if the compiler in the base compile
# command doesn't match the default compiler.
# arg is usually of the form 'gcc ...'
func_infer_tag ()
{
$debug_cmd
if test -n "$available_tags" && test -z "$tagname"; then
CC_quoted=
for arg in $CC; do
func_append_quoted CC_quoted "$arg"
done
CC_expanded=`func_echo_all $CC`
CC_quoted_expanded=`func_echo_all $CC_quoted`
case $@ in
# Blanks in the command may have been stripped by the calling shell,
# but not from the CC environment variable when configure was run.
" $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
" $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
# Blanks at the start of $base_compile will cause this to fail
# if we don't check for them as well.
*)
for z in $available_tags; do
if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
# Evaluate the configuration.
eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
CC_quoted=
for arg in $CC; do
# Double-quote args containing other shell metacharacters.
func_append_quoted CC_quoted "$arg"
done
CC_expanded=`func_echo_all $CC`
CC_quoted_expanded=`func_echo_all $CC_quoted`
case "$@ " in
" $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
" $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
# The compiler in the base compile command matches
# the one in the tagged configuration.
# Assume this is the tagged configuration we want.
tagname=$z
break
;;
esac
fi
done
# If $tagname still isn't set, then no tagged configuration
# was found and let the user know that the "--tag" command
# line option must be used.
if test -z "$tagname"; then
func_echo "unable to infer tagged configuration"
func_fatal_error "specify a tag with '--tag'"
# else
# func_verbose "using $tagname tagged configuration"
fi
;;
esac
fi
}
# func_write_libtool_object output_name pic_name nonpic_name
# Create a libtool object file (analogous to a ".la" file),
# but don't create it if we're doing a dry run.
func_write_libtool_object ()
{
write_libobj=$1
if test yes = "$build_libtool_libs"; then
write_lobj=\'$2\'
else
write_lobj=none
fi
if test yes = "$build_old_libs"; then
write_oldobj=\'$3\'
else
write_oldobj=none
fi
$opt_dry_run || {
cat >${write_libobj}T </dev/null`
if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
$SED -e "$sed_naive_backslashify"`
else
func_convert_core_file_wine_to_w32_result=
fi
fi
}
# end: func_convert_core_file_wine_to_w32
# func_convert_core_path_wine_to_w32 ARG
# Helper function used by path conversion functions when $build is *nix, and
# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
# configured wine environment available, with the winepath program in $build's
# $PATH. Assumes ARG has no leading or trailing path separator characters.
#
# ARG is path to be converted from $build format to win32.
# Result is available in $func_convert_core_path_wine_to_w32_result.
# Unconvertible file (directory) names in ARG are skipped; if no directory names
# are convertible, then the result may be empty.
func_convert_core_path_wine_to_w32 ()
{
$debug_cmd
# unfortunately, winepath doesn't convert paths, only file names
func_convert_core_path_wine_to_w32_result=
if test -n "$1"; then
oldIFS=$IFS
IFS=:
for func_convert_core_path_wine_to_w32_f in $1; do
IFS=$oldIFS
func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
if test -n "$func_convert_core_file_wine_to_w32_result"; then
if test -z "$func_convert_core_path_wine_to_w32_result"; then
func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
else
func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
fi
fi
done
IFS=$oldIFS
fi
}
# end: func_convert_core_path_wine_to_w32
# func_cygpath ARGS...
# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
# (2), returns the Cygwin file name or path in func_cygpath_result (input
# file name or path is assumed to be in w32 format, as previously converted
# from $build's *nix or MSYS format). In case (3), returns the w32 file name
# or path in func_cygpath_result (input file name or path is assumed to be in
# Cygwin format). Returns an empty string on error.
#
# ARGS are passed to cygpath, with the last one being the file name or path to
# be converted.
#
# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
# environment variable; do not put it in $PATH.
func_cygpath ()
{
$debug_cmd
if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
if test "$?" -ne 0; then
# on failure, ensure result is empty
func_cygpath_result=
fi
else
func_cygpath_result=
func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
fi
}
#end: func_cygpath
# func_convert_core_msys_to_w32 ARG
# Convert file name or path ARG from MSYS format to w32 format. Return
# result in func_convert_core_msys_to_w32_result.
func_convert_core_msys_to_w32 ()
{
$debug_cmd
# awkward: cmd appends spaces to result
func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
$SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
}
#end: func_convert_core_msys_to_w32
# func_convert_file_check ARG1 ARG2
# Verify that ARG1 (a file name in $build format) was converted to $host
# format in ARG2. Otherwise, emit an error message, but continue (resetting
# func_to_host_file_result to ARG1).
func_convert_file_check ()
{
$debug_cmd
if test -z "$2" && test -n "$1"; then
func_error "Could not determine host file name corresponding to"
func_error " '$1'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback:
func_to_host_file_result=$1
fi
}
# end func_convert_file_check
# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
# Verify that FROM_PATH (a path in $build format) was converted to $host
# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
# func_to_host_file_result to a simplistic fallback value (see below).
func_convert_path_check ()
{
$debug_cmd
if test -z "$4" && test -n "$3"; then
func_error "Could not determine the host path corresponding to"
func_error " '$3'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback. This is a deliberately simplistic "conversion" and
# should not be "improved". See libtool.info.
if test "x$1" != "x$2"; then
lt_replace_pathsep_chars="s|$1|$2|g"
func_to_host_path_result=`echo "$3" |
$SED -e "$lt_replace_pathsep_chars"`
else
func_to_host_path_result=$3
fi
fi
}
# end func_convert_path_check
# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
# and appending REPL if ORIG matches BACKPAT.
func_convert_path_front_back_pathsep ()
{
$debug_cmd
case $4 in
$1 ) func_to_host_path_result=$3$func_to_host_path_result
;;
esac
case $4 in
$2 ) func_append func_to_host_path_result "$3"
;;
esac
}
# end func_convert_path_front_back_pathsep
##################################################
# $build to $host FILE NAME CONVERSION FUNCTIONS #
##################################################
# invoked via '$to_host_file_cmd ARG'
#
# In each case, ARG is the path to be converted from $build to $host format.
# Result will be available in $func_to_host_file_result.
# func_to_host_file ARG
# Converts the file name ARG from $build format to $host format. Return result
# in func_to_host_file_result.
func_to_host_file ()
{
$debug_cmd
$to_host_file_cmd "$1"
}
# end func_to_host_file
# func_to_tool_file ARG LAZY
# converts the file name ARG from $build format to toolchain format. Return
# result in func_to_tool_file_result. If the conversion in use is listed
# in (the comma separated) LAZY, no conversion takes place.
func_to_tool_file ()
{
$debug_cmd
case ,$2, in
*,"$to_tool_file_cmd",*)
func_to_tool_file_result=$1
;;
*)
$to_tool_file_cmd "$1"
func_to_tool_file_result=$func_to_host_file_result
;;
esac
}
# end func_to_tool_file
# func_convert_file_noop ARG
# Copy ARG to func_to_host_file_result.
func_convert_file_noop ()
{
func_to_host_file_result=$1
}
# end func_convert_file_noop
# func_convert_file_msys_to_w32 ARG
# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
# conversion to w32 is not available inside the cwrapper. Returns result in
# func_to_host_file_result.
func_convert_file_msys_to_w32 ()
{
$debug_cmd
func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_msys_to_w32 "$1"
func_to_host_file_result=$func_convert_core_msys_to_w32_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
# end func_convert_file_msys_to_w32
# func_convert_file_cygwin_to_w32 ARG
# Convert file name ARG from Cygwin to w32 format. Returns result in
# func_to_host_file_result.
func_convert_file_cygwin_to_w32 ()
{
$debug_cmd
func_to_host_file_result=$1
if test -n "$1"; then
# because $build is cygwin, we call "the" cygpath in $PATH; no need to use
# LT_CYGPATH in this case.
func_to_host_file_result=`cygpath -m "$1"`
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
# end func_convert_file_cygwin_to_w32
# func_convert_file_nix_to_w32 ARG
# Convert file name ARG from *nix to w32 format. Requires a wine environment
# and a working winepath. Returns result in func_to_host_file_result.
func_convert_file_nix_to_w32 ()
{
$debug_cmd
func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_file_wine_to_w32 "$1"
func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
# end func_convert_file_nix_to_w32
# func_convert_file_msys_to_cygwin ARG
# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
# Returns result in func_to_host_file_result.
func_convert_file_msys_to_cygwin ()
{
$debug_cmd
func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_msys_to_w32 "$1"
func_cygpath -u "$func_convert_core_msys_to_w32_result"
func_to_host_file_result=$func_cygpath_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
# end func_convert_file_msys_to_cygwin
# func_convert_file_nix_to_cygwin ARG
# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
# in func_to_host_file_result.
func_convert_file_nix_to_cygwin ()
{
$debug_cmd
func_to_host_file_result=$1
if test -n "$1"; then
# convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
func_convert_core_file_wine_to_w32 "$1"
func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
func_to_host_file_result=$func_cygpath_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
# end func_convert_file_nix_to_cygwin
#############################################
# $build to $host PATH CONVERSION FUNCTIONS #
#############################################
# invoked via '$to_host_path_cmd ARG'
#
# In each case, ARG is the path to be converted from $build to $host format.
# The result will be available in $func_to_host_path_result.
#
# Path separators are also converted from $build format to $host format. If
# ARG begins or ends with a path separator character, it is preserved (but
# converted to $host format) on output.
#
# All path conversion functions are named using the following convention:
# file name conversion function : func_convert_file_X_to_Y ()
# path conversion function : func_convert_path_X_to_Y ()
# where, for any given $build/$host combination the 'X_to_Y' value is the
# same. If conversion functions are added for new $build/$host combinations,
# the two new functions must follow this pattern, or func_init_to_host_path_cmd
# will break.
# func_init_to_host_path_cmd
# Ensures that function "pointer" variable $to_host_path_cmd is set to the
# appropriate value, based on the value of $to_host_file_cmd.
to_host_path_cmd=
func_init_to_host_path_cmd ()
{
$debug_cmd
if test -z "$to_host_path_cmd"; then
func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
to_host_path_cmd=func_convert_path_$func_stripname_result
fi
}
# func_to_host_path ARG
# Converts the path ARG from $build format to $host format. Return result
# in func_to_host_path_result.
func_to_host_path ()
{
$debug_cmd
func_init_to_host_path_cmd
$to_host_path_cmd "$1"
}
# end func_to_host_path
# func_convert_path_noop ARG
# Copy ARG to func_to_host_path_result.
func_convert_path_noop ()
{
func_to_host_path_result=$1
}
# end func_convert_path_noop
# func_convert_path_msys_to_w32 ARG
# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
# conversion to w32 is not available inside the cwrapper. Returns result in
# func_to_host_path_result.
func_convert_path_msys_to_w32 ()
{
$debug_cmd
func_to_host_path_result=$1
if test -n "$1"; then
# Remove leading and trailing path separator characters from ARG. MSYS
# behavior is inconsistent here; cygpath turns them into '.;' and ';.';
# and winepath ignores them completely.
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
func_to_host_path_result=$func_convert_core_msys_to_w32_result
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
fi
}
# end func_convert_path_msys_to_w32
# func_convert_path_cygwin_to_w32 ARG
# Convert path ARG from Cygwin to w32 format. Returns result in
# func_to_host_file_result.
func_convert_path_cygwin_to_w32 ()
{
$debug_cmd
func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
fi
}
# end func_convert_path_cygwin_to_w32
# func_convert_path_nix_to_w32 ARG
# Convert path ARG from *nix to w32 format. Requires a wine environment and
# a working winepath. Returns result in func_to_host_file_result.
func_convert_path_nix_to_w32 ()
{
$debug_cmd
func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
fi
}
# end func_convert_path_nix_to_w32
# func_convert_path_msys_to_cygwin ARG
# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
# Returns result in func_to_host_file_result.
func_convert_path_msys_to_cygwin ()
{
$debug_cmd
func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
func_to_host_path_result=$func_cygpath_result
func_convert_path_check : : \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" : "$1"
fi
}
# end func_convert_path_msys_to_cygwin
# func_convert_path_nix_to_cygwin ARG
# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
# func_to_host_file_result.
func_convert_path_nix_to_cygwin ()
{
$debug_cmd
func_to_host_path_result=$1
if test -n "$1"; then
# Remove leading and trailing path separator characters from
# ARG. msys behavior is inconsistent here, cygpath turns them
# into '.;' and ';.', and winepath ignores them completely.
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
func_to_host_path_result=$func_cygpath_result
func_convert_path_check : : \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" : "$1"
fi
}
# end func_convert_path_nix_to_cygwin
# func_dll_def_p FILE
# True iff FILE is a Windows DLL '.def' file.
# Keep in sync with _LT_DLL_DEF_P in libtool.m4
func_dll_def_p ()
{
$debug_cmd
func_dll_def_p_tmp=`$SED -n \
-e 's/^[ ]*//' \
-e '/^\(;.*\)*$/d' \
-e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \
-e q \
"$1"`
test DEF = "$func_dll_def_p_tmp"
}
# func_mode_compile arg...
func_mode_compile ()
{
$debug_cmd
# Get the compilation command and the source file.
base_compile=
srcfile=$nonopt # always keep a non-empty value in "srcfile"
suppress_opt=yes
suppress_output=
arg_mode=normal
libobj=
later=
pie_flag=
for arg
do
case $arg_mode in
arg )
# do not "continue". Instead, add this to base_compile
lastarg=$arg
arg_mode=normal
;;
target )
libobj=$arg
arg_mode=normal
continue
;;
normal )
# Accept any command-line options.
case $arg in
-o)
test -n "$libobj" && \
func_fatal_error "you cannot specify '-o' more than once"
arg_mode=target
continue
;;
-pie | -fpie | -fPIE)
func_append pie_flag " $arg"
continue
;;
-shared | -static | -prefer-pic | -prefer-non-pic)
func_append later " $arg"
continue
;;
-no-suppress)
suppress_opt=no
continue
;;
-Xcompiler)
arg_mode=arg # the next one goes into the "base_compile" arg list
continue # The current "srcfile" will either be retained or
;; # replaced later. I would guess that would be a bug.
-Wc,*)
func_stripname '-Wc,' '' "$arg"
args=$func_stripname_result
lastarg=
save_ifs=$IFS; IFS=,
for arg in $args; do
IFS=$save_ifs
func_append_quoted lastarg "$arg"
done
IFS=$save_ifs
func_stripname ' ' '' "$lastarg"
lastarg=$func_stripname_result
# Add the arguments to base_compile.
func_append base_compile " $lastarg"
continue
;;
*)
# Accept the current argument as the source file.
# The previous "srcfile" becomes the current argument.
#
lastarg=$srcfile
srcfile=$arg
;;
esac # case $arg
;;
esac # case $arg_mode
# Aesthetically quote the previous argument.
func_append_quoted base_compile "$lastarg"
done # for arg
case $arg_mode in
arg)
func_fatal_error "you must specify an argument for -Xcompile"
;;
target)
func_fatal_error "you must specify a target with '-o'"
;;
*)
# Get the name of the library object.
test -z "$libobj" && {
func_basename "$srcfile"
libobj=$func_basename_result
}
;;
esac
# Recognize several different file suffixes.
# If the user specifies -o file.o, it is replaced with file.lo
case $libobj in
*.[cCFSifmso] | \
*.ada | *.adb | *.ads | *.asm | \
*.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
*.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
func_xform "$libobj"
libobj=$func_xform_result
;;
esac
case $libobj in
*.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
*)
func_fatal_error "cannot determine name of library object from '$libobj'"
;;
esac
func_infer_tag $base_compile
for arg in $later; do
case $arg in
-shared)
test yes = "$build_libtool_libs" \
|| func_fatal_configuration "cannot build a shared library"
build_old_libs=no
continue
;;
-static)
build_libtool_libs=no
build_old_libs=yes
continue
;;
-prefer-pic)
pic_mode=yes
continue
;;
-prefer-non-pic)
pic_mode=no
continue
;;
esac
done
func_quote_arg pretty "$libobj"
test "X$libobj" != "X$func_quote_arg_result" \
&& $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
&& func_warning "libobj name '$libobj' may not contain shell special characters."
func_dirname_and_basename "$obj" "/" ""
objname=$func_basename_result
xdir=$func_dirname_result
lobj=$xdir$objdir/$objname
test -z "$base_compile" && \
func_fatal_help "you must specify a compilation command"
# Delete any leftover library objects.
if test yes = "$build_old_libs"; then
removelist="$obj $lobj $libobj ${libobj}T"
else
removelist="$lobj $libobj ${libobj}T"
fi
# On Cygwin there's no "real" PIC flag so we must build both object types
case $host_os in
cygwin* | mingw* | pw32* | os2* | cegcc*)
pic_mode=default
;;
esac
if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
# non-PIC code in shared libraries is not supported
pic_mode=default
fi
# Calculate the filename of the output object if compiler does
# not support -o with -c
if test no = "$compiler_c_o"; then
output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
lockfile=$output_obj.lock
else
output_obj=
need_locks=no
lockfile=
fi
# Lock this critical section if it is needed
# We use this script file to make the link, it avoids creating a new file
if test yes = "$need_locks"; then
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
func_echo "Waiting for $lockfile to be removed"
sleep 2
done
elif test warn = "$need_locks"; then
if test -f "$lockfile"; then
$ECHO "\
*** ERROR, $lockfile exists and contains:
`cat $lockfile 2>/dev/null`
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
$opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
func_append removelist " $output_obj"
$ECHO "$srcfile" > "$lockfile"
fi
$opt_dry_run || $RM $removelist
func_append removelist " $lockfile"
trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
srcfile=$func_to_tool_file_result
func_quote_arg pretty "$srcfile"
qsrcfile=$func_quote_arg_result
# Only build a PIC object if we are building libtool libraries.
if test yes = "$build_libtool_libs"; then
# Without this assignment, base_compile gets emptied.
fbsd_hideous_sh_bug=$base_compile
if test no != "$pic_mode"; then
command="$base_compile $qsrcfile $pic_flag"
else
# Don't build PIC code
command="$base_compile $qsrcfile"
fi
func_mkdir_p "$xdir$objdir"
if test -z "$output_obj"; then
# Place PIC objects in $objdir
func_append command " -o $lobj"
fi
func_show_eval_locale "$command" \
'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
but it should contain:
$srcfile
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
$opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
# Just move the object if needed, then go on to compile the next one
if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
func_show_eval '$MV "$output_obj" "$lobj"' \
'error=$?; $opt_dry_run || $RM $removelist; exit $error'
fi
# Allow error messages only from the first compilation.
if test yes = "$suppress_opt"; then
suppress_output=' >/dev/null 2>&1'
fi
fi
# Only build a position-dependent object if we build old libraries.
if test yes = "$build_old_libs"; then
if test yes != "$pic_mode"; then
# Don't build PIC code
command="$base_compile $qsrcfile$pie_flag"
else
command="$base_compile $qsrcfile $pic_flag"
fi
if test yes = "$compiler_c_o"; then
func_append command " -o $obj"
fi
# Suppress compiler output if we already did a PIC compilation.
func_append command "$suppress_output"
func_show_eval_locale "$command" \
'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
but it should contain:
$srcfile
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
$opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
# Just move the object if needed
if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
func_show_eval '$MV "$output_obj" "$obj"' \
'error=$?; $opt_dry_run || $RM $removelist; exit $error'
fi
fi
$opt_dry_run || {
func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
# Unlock the critical section if it was locked
if test no != "$need_locks"; then
removelist=$lockfile
$RM "$lockfile"
fi
}
exit $EXIT_SUCCESS
}
$opt_help || {
test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
}
func_mode_help ()
{
# We need to display help for each of the modes.
case $opt_mode in
"")
# Generic help is extracted from the usage comments
# at the start of this file.
func_help
;;
clean)
$ECHO \
"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
Remove files from the build directory.
RM is the name of the program to use to delete files associated with each FILE
(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
to RM.
If FILE is a libtool library, object or program, all the files associated
with it are deleted. Otherwise, only FILE itself is deleted using RM."
;;
compile)
$ECHO \
"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
Compile a source file into a libtool library object.
This mode accepts the following additional options:
-o OUTPUT-FILE set the output file name to OUTPUT-FILE
-no-suppress do not suppress compiler output for multiple passes
-prefer-pic try to build PIC objects only
-prefer-non-pic try to build non-PIC objects only
-shared do not build a '.o' file suitable for static linking
-static only build a '.o' file suitable for static linking
-Wc,FLAG pass FLAG directly to the compiler
COMPILE-COMMAND is a command to be used in creating a 'standard' object file
from the given SOURCEFILE.
The output file name is determined by removing the directory component from
SOURCEFILE, then substituting the C source code suffix '.c' with the
library object suffix, '.lo'."
;;
execute)
$ECHO \
"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
Automatically set library path, then run a program.
This mode accepts the following additional options:
-dlopen FILE add the directory containing FILE to the library path
This mode sets the library path environment variable according to '-dlopen'
flags.
If any of the ARGS are libtool executable wrappers, then they are translated
into their corresponding uninstalled binary, and any of their required library
directories are added to the library path.
Then, COMMAND is executed, with ARGS as arguments."
;;
finish)
$ECHO \
"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
Complete the installation of libtool libraries.
Each LIBDIR is a directory that contains libtool libraries.
The commands that this mode executes may require superuser privileges. Use
the '--dry-run' option if you just want to see what would be executed."
;;
install)
$ECHO \
"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
Install executables or libraries.
INSTALL-COMMAND is the installation command. The first component should be
either the 'install' or 'cp' program.
The following components of INSTALL-COMMAND are treated specially:
-inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
The rest of the components are interpreted as arguments to that command (only
BSD-compatible install options are recognized)."
;;
link)
$ECHO \
"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
Link object files or libraries together to form another library, or to
create an executable program.
LINK-COMMAND is a command using the C compiler that you would use to create
a program from several object files.
The following components of LINK-COMMAND are treated specially:
-all-static do not do any dynamic linking at all
-avoid-version do not add a version suffix if possible
-bindir BINDIR specify path to binaries directory (for systems where
libraries must be found in the PATH setting at runtime)
-dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime
-dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-export-symbols SYMFILE
try to export only the symbols listed in SYMFILE
-export-symbols-regex REGEX
try to export only the symbols matching REGEX
-LLIBDIR search LIBDIR for required installed libraries
-lNAME OUTPUT-FILE requires the installed library libNAME
-module build a library that can dlopened
-no-fast-install disable the fast-install mode
-no-install link a not-installable executable
-no-undefined declare that a library does not refer to external symbols
-o OUTPUT-FILE create OUTPUT-FILE from the specified objects
-objectlist FILE use a list of object files found in FILE to specify objects
-os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes)
-precious-files-regex REGEX
don't remove output files matching REGEX
-release RELEASE specify package release information
-rpath LIBDIR the created library will eventually be installed in LIBDIR
-R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
-shared only do dynamic linking of libtool libraries
-shrext SUFFIX override the standard shared library file extension
-static do not do any dynamic linking of uninstalled libtool libraries
-static-libtool-libs
do not do any dynamic linking of libtool libraries
-version-info CURRENT[:REVISION[:AGE]]
specify library version info [each variable defaults to 0]
-weak LIBNAME declare that the target provides the LIBNAME interface
-Wc,FLAG
-Xcompiler FLAG pass linker-specific FLAG directly to the compiler
-Wl,FLAG
-Xlinker FLAG pass linker-specific FLAG directly to the linker
-XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
All other options (arguments beginning with '-') are ignored.
Every other argument is treated as a filename. Files ending in '.la' are
treated as uninstalled libtool libraries, other files are standard or library
object files.
If the OUTPUT-FILE ends in '.la', then a libtool library is created,
only library objects ('.lo' files) may be specified, and '-rpath' is
required, except when creating a convenience library.
If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
using 'ar' and 'ranlib', or on Windows using 'lib'.
If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
is created, otherwise an executable program is created."
;;
uninstall)
$ECHO \
"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
Remove libraries from an installation directory.
RM is the name of the program to use to delete files associated with each FILE
(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
to RM.
If FILE is a libtool library, all the files associated with it are deleted.
Otherwise, only FILE itself is deleted using RM."
;;
*)
func_fatal_help "invalid operation mode '$opt_mode'"
;;
esac
echo
$ECHO "Try '$progname --help' for more information about other modes."
}
# Now that we've collected a possible --mode arg, show help if necessary
if $opt_help; then
if test : = "$opt_help"; then
func_mode_help
else
{
func_help noexit
for opt_mode in compile link execute install finish uninstall clean; do
func_mode_help
done
} | $SED -n '1p; 2,$s/^Usage:/ or: /p'
{
func_help noexit
for opt_mode in compile link execute install finish uninstall clean; do
echo
func_mode_help
done
} |
$SED '1d
/^When reporting/,/^Report/{
H
d
}
$x
/information about other modes/d
/more detailed .*MODE/d
s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
fi
exit $?
fi
# func_mode_execute arg...
func_mode_execute ()
{
$debug_cmd
# The first argument is the command name.
cmd=$nonopt
test -z "$cmd" && \
func_fatal_help "you must specify a COMMAND"
# Handle -dlopen flags immediately.
for file in $opt_dlopen; do
test -f "$file" \
|| func_fatal_help "'$file' is not a file"
dir=
case $file in
*.la)
func_resolve_sysroot "$file"
file=$func_resolve_sysroot_result
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$file" \
|| func_fatal_help "'$lib' is not a valid libtool archive"
# Read the libtool library.
dlname=
library_names=
func_source "$file"
# Skip this library if it cannot be dlopened.
if test -z "$dlname"; then
# Warn if it was a shared library.
test -n "$library_names" && \
func_warning "'$file' was not linked with '-export-dynamic'"
continue
fi
func_dirname "$file" "" "."
dir=$func_dirname_result
if test -f "$dir/$objdir/$dlname"; then
func_append dir "/$objdir"
else
if test ! -f "$dir/$dlname"; then
func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
fi
fi
;;
*.lo)
# Just add the directory containing the .lo file.
func_dirname "$file" "" "."
dir=$func_dirname_result
;;
*)
func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
continue
;;
esac
# Get the absolute pathname.
absdir=`cd "$dir" && pwd`
test -n "$absdir" && dir=$absdir
# Now add the directory to shlibpath_var.
if eval "test -z \"\$$shlibpath_var\""; then
eval "$shlibpath_var=\"\$dir\""
else
eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
fi
done
# This variable tells wrapper scripts just to set shlibpath_var
# rather than running their programs.
libtool_execute_magic=$magic
# Check if any of the arguments is a wrapper script.
args=
for file
do
case $file in
-* | *.la | *.lo ) ;;
*)
# Do a test to see if this is really a libtool program.
if func_ltwrapper_script_p "$file"; then
func_source "$file"
# Transform arg to wrapped name.
file=$progdir/$program
elif func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
func_source "$func_ltwrapper_scriptname_result"
# Transform arg to wrapped name.
file=$progdir/$program
fi
;;
esac
# Quote arguments (to preserve shell metacharacters).
func_append_quoted args "$file"
done
if $opt_dry_run; then
# Display what would be done.
if test -n "$shlibpath_var"; then
eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
echo "export $shlibpath_var"
fi
$ECHO "$cmd$args"
exit $EXIT_SUCCESS
else
if test -n "$shlibpath_var"; then
# Export the shlibpath_var.
eval "export $shlibpath_var"
fi
# Restore saved environment variables
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
eval "if test \"\${save_$lt_var+set}\" = set; then
$lt_var=\$save_$lt_var; export $lt_var
else
$lt_unset $lt_var
fi"
done
# Now prepare to actually exec the command.
exec_cmd=\$cmd$args
fi
}
test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
# func_mode_finish arg...
func_mode_finish ()
{
$debug_cmd
libs=
libdirs=
admincmds=
for opt in "$nonopt" ${1+"$@"}
do
if test -d "$opt"; then
func_append libdirs " $opt"
elif test -f "$opt"; then
if func_lalib_unsafe_p "$opt"; then
func_append libs " $opt"
else
func_warning "'$opt' is not a valid libtool archive"
fi
else
func_fatal_error "invalid argument '$opt'"
fi
done
if test -n "$libs"; then
if test -n "$lt_sysroot"; then
sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
else
sysroot_cmd=
fi
# Remove sysroot references
if $opt_dry_run; then
for lib in $libs; do
echo "removing references to $lt_sysroot and '=' prefixes from $lib"
done
else
tmpdir=`func_mktempdir`
for lib in $libs; do
$SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
> $tmpdir/tmp-la
mv -f $tmpdir/tmp-la $lib
done
${RM}r "$tmpdir"
fi
fi
if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
for libdir in $libdirs; do
if test -n "$finish_cmds"; then
# Do each command in the finish commands.
func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
'"$cmd"'"'
fi
if test -n "$finish_eval"; then
# Do the single finish_eval.
eval cmds=\"$finish_eval\"
$opt_dry_run || eval "$cmds" || func_append admincmds "
$cmds"
fi
done
fi
# Exit here if they wanted silent mode.
$opt_quiet && exit $EXIT_SUCCESS
if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
echo "----------------------------------------------------------------------"
echo "Libraries have been installed in:"
for libdir in $libdirs; do
$ECHO " $libdir"
done
echo
echo "If you ever happen to want to link against installed libraries"
echo "in a given directory, LIBDIR, you must either use libtool, and"
echo "specify the full pathname of the library, or use the '-LLIBDIR'"
echo "flag during linking and do at least one of the following:"
if test -n "$shlibpath_var"; then
echo " - add LIBDIR to the '$shlibpath_var' environment variable"
echo " during execution"
fi
if test -n "$runpath_var"; then
echo " - add LIBDIR to the '$runpath_var' environment variable"
echo " during linking"
fi
if test -n "$hardcode_libdir_flag_spec"; then
libdir=LIBDIR
eval flag=\"$hardcode_libdir_flag_spec\"
$ECHO " - use the '$flag' linker flag"
fi
if test -n "$admincmds"; then
$ECHO " - have your system administrator run these commands:$admincmds"
fi
if test -f /etc/ld.so.conf; then
echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
fi
echo
echo "See any operating system documentation about shared libraries for"
case $host in
solaris2.[6789]|solaris2.1[0-9])
echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
echo "pages."
;;
*)
echo "more information, such as the ld(1) and ld.so(8) manual pages."
;;
esac
echo "----------------------------------------------------------------------"
fi
exit $EXIT_SUCCESS
}
test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
# func_mode_install arg...
func_mode_install ()
{
$debug_cmd
# There may be an optional sh(1) argument at the beginning of
# install_prog (especially on Windows NT).
if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
# Allow the use of GNU shtool's install command.
case $nonopt in *shtool*) :;; *) false;; esac
then
# Aesthetically quote it.
func_quote_arg pretty "$nonopt"
install_prog="$func_quote_arg_result "
arg=$1
shift
else
install_prog=
arg=$nonopt
fi
# The real first argument should be the name of the installation program.
# Aesthetically quote it.
func_quote_arg pretty "$arg"
func_append install_prog "$func_quote_arg_result"
install_shared_prog=$install_prog
case " $install_prog " in
*[\\\ /]cp\ *) install_cp=: ;;
*) install_cp=false ;;
esac
# We need to accept at least all the BSD install flags.
dest=
files=
opts=
prev=
install_type=
isdir=false
stripme=
no_mode=:
for arg
do
arg2=
if test -n "$dest"; then
func_append files " $dest"
dest=$arg
continue
fi
case $arg in
-d) isdir=: ;;
-f)
if $install_cp; then :; else
prev=$arg
fi
;;
-g | -m | -o)
prev=$arg
;;
-s)
stripme=" -s"
continue
;;
-*)
;;
*)
# If the previous option needed an argument, then skip it.
if test -n "$prev"; then
if test X-m = "X$prev" && test -n "$install_override_mode"; then
arg2=$install_override_mode
no_mode=false
fi
prev=
else
dest=$arg
continue
fi
;;
esac
# Aesthetically quote the argument.
func_quote_arg pretty "$arg"
func_append install_prog " $func_quote_arg_result"
if test -n "$arg2"; then
func_quote_arg pretty "$arg2"
fi
func_append install_shared_prog " $func_quote_arg_result"
done
test -z "$install_prog" && \
func_fatal_help "you must specify an install program"
test -n "$prev" && \
func_fatal_help "the '$prev' option requires an argument"
if test -n "$install_override_mode" && $no_mode; then
if $install_cp; then :; else
func_quote_arg pretty "$install_override_mode"
func_append install_shared_prog " -m $func_quote_arg_result"
fi
fi
if test -z "$files"; then
if test -z "$dest"; then
func_fatal_help "no file or destination specified"
else
func_fatal_help "you must specify a destination"
fi
fi
# Strip any trailing slash from the destination.
func_stripname '' '/' "$dest"
dest=$func_stripname_result
# Check to see that the destination is a directory.
test -d "$dest" && isdir=:
if $isdir; then
destdir=$dest
destname=
else
func_dirname_and_basename "$dest" "" "."
destdir=$func_dirname_result
destname=$func_basename_result
# Not a directory, so check to see that there is only one file specified.
set dummy $files; shift
test "$#" -gt 1 && \
func_fatal_help "'$dest' is not a directory"
fi
case $destdir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
for file in $files; do
case $file in
*.lo) ;;
*)
func_fatal_help "'$destdir' must be an absolute directory name"
;;
esac
done
;;
esac
# This variable tells wrapper scripts just to set variables rather
# than running their programs.
libtool_install_magic=$magic
staticlibs=
future_libdirs=
current_libdirs=
for file in $files; do
# Do each installation.
case $file in
*.$libext)
# Do the static libraries later.
func_append staticlibs " $file"
;;
*.la)
func_resolve_sysroot "$file"
file=$func_resolve_sysroot_result
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$file" \
|| func_fatal_help "'$file' is not a valid libtool archive"
library_names=
old_library=
relink_command=
func_source "$file"
# Add the libdir to current_libdirs if it is the destination.
if test "X$destdir" = "X$libdir"; then
case "$current_libdirs " in
*" $libdir "*) ;;
*) func_append current_libdirs " $libdir" ;;
esac
else
# Note the libdir as a future libdir.
case "$future_libdirs " in
*" $libdir "*) ;;
*) func_append future_libdirs " $libdir" ;;
esac
fi
func_dirname "$file" "/" ""
dir=$func_dirname_result
func_append dir "$objdir"
if test -n "$relink_command"; then
# Determine the prefix the user has applied to our future dir.
inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
# Don't allow the user to place us outside of our expected
# location b/c this prevents finding dependent libraries that
# are installed to the same prefix.
# At present, this check doesn't affect windows .dll's that
# are installed into $libdir/../bin (currently, that works fine)
# but it's something to keep an eye on.
test "$inst_prefix_dir" = "$destdir" && \
func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
if test -n "$inst_prefix_dir"; then
# Stick the inst_prefix_dir data into the link command.
relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
else
relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
fi
func_warning "relinking '$file'"
func_show_eval "$relink_command" \
'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
fi
# See the names of the shared library.
set dummy $library_names; shift
if test -n "$1"; then
realname=$1
shift
srcname=$realname
test -n "$relink_command" && srcname=${realname}T
# Install the shared library and build the symlinks.
func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
'exit $?'
tstripme=$stripme
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
case $realname in
*.dll.a)
tstripme=
;;
esac
;;
os2*)
case $realname in
*_dll.a)
tstripme=
;;
esac
;;
esac
if test -n "$tstripme" && test -n "$striplib"; then
func_show_eval "$striplib $destdir/$realname" 'exit $?'
fi
if test "$#" -gt 0; then
# Delete the old symlinks, and create new ones.
# Try 'ln -sf' first, because the 'ln' binary might depend on
# the symlink we replace! Solaris /bin/ln does not understand -f,
# so we also need to try rm && ln -s.
for linkname
do
test "$linkname" != "$realname" \
&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
done
fi
# Do each command in the postinstall commands.
lib=$destdir/$realname
func_execute_cmds "$postinstall_cmds" 'exit $?'
fi
# Install the pseudo-library for information purposes.
func_basename "$file"
name=$func_basename_result
instname=$dir/${name}i
func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
# Maybe install the static library, too.
test -n "$old_library" && func_append staticlibs " $dir/$old_library"
;;
*.lo)
# Install (i.e. copy) a libtool object.
# Figure out destination file name, if it wasn't already specified.
if test -n "$destname"; then
destfile=$destdir/$destname
else
func_basename "$file"
destfile=$func_basename_result
destfile=$destdir/$destfile
fi
# Deduce the name of the destination old-style object file.
case $destfile in
*.lo)
func_lo2o "$destfile"
staticdest=$func_lo2o_result
;;
*.$objext)
staticdest=$destfile
destfile=
;;
*)
func_fatal_help "cannot copy a libtool object to '$destfile'"
;;
esac
# Install the libtool object if requested.
test -n "$destfile" && \
func_show_eval "$install_prog $file $destfile" 'exit $?'
# Install the old object if enabled.
if test yes = "$build_old_libs"; then
# Deduce the name of the old-style object file.
func_lo2o "$file"
staticobj=$func_lo2o_result
func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
fi
exit $EXIT_SUCCESS
;;
*)
# Figure out destination file name, if it wasn't already specified.
if test -n "$destname"; then
destfile=$destdir/$destname
else
func_basename "$file"
destfile=$func_basename_result
destfile=$destdir/$destfile
fi
# If the file is missing, and there is a .exe on the end, strip it
# because it is most likely a libtool script we actually want to
# install
stripped_ext=
case $file in
*.exe)
if test ! -f "$file"; then
func_stripname '' '.exe' "$file"
file=$func_stripname_result
stripped_ext=.exe
fi
;;
esac
# Do a test to see if this is really a libtool program.
case $host in
*cygwin* | *mingw*)
if func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
wrapper=$func_ltwrapper_scriptname_result
else
func_stripname '' '.exe' "$file"
wrapper=$func_stripname_result
fi
;;
*)
wrapper=$file
;;
esac
if func_ltwrapper_script_p "$wrapper"; then
notinst_deplibs=
relink_command=
func_source "$wrapper"
# Check the variables that should have been set.
test -z "$generated_by_libtool_version" && \
func_fatal_error "invalid libtool wrapper script '$wrapper'"
finalize=:
for lib in $notinst_deplibs; do
# Check to see that each library is installed.
libdir=
if test -f "$lib"; then
func_source "$lib"
fi
libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
if test -n "$libdir" && test ! -f "$libfile"; then
func_warning "'$lib' has not been installed in '$libdir'"
finalize=false
fi
done
relink_command=
func_source "$wrapper"
outputname=
if test no = "$fast_install" && test -n "$relink_command"; then
$opt_dry_run || {
if $finalize; then
tmpdir=`func_mktempdir`
func_basename "$file$stripped_ext"
file=$func_basename_result
outputname=$tmpdir/$file
# Replace the output file specification.
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
$opt_quiet || {
func_quote_arg expand,pretty "$relink_command"
eval "func_echo $func_quote_arg_result"
}
if eval "$relink_command"; then :
else
func_error "error: relink '$file' with the above command before installing it"
$opt_dry_run || ${RM}r "$tmpdir"
continue
fi
file=$outputname
else
func_warning "cannot relink '$file'"
fi
}
else
# Install the binary that we compiled earlier.
file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
fi
fi
# remove .exe since cygwin /usr/bin/install will append another
# one anyway
case $install_prog,$host in
*/usr/bin/install*,*cygwin*)
case $file:$destfile in
*.exe:*.exe)
# this is ok
;;
*.exe:*)
destfile=$destfile.exe
;;
*:*.exe)
func_stripname '' '.exe' "$destfile"
destfile=$func_stripname_result
;;
esac
;;
esac
func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
$opt_dry_run || if test -n "$outputname"; then
${RM}r "$tmpdir"
fi
;;
esac
done
for file in $staticlibs; do
func_basename "$file"
name=$func_basename_result
# Set up the ranlib parameters.
oldlib=$destdir/$name
func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
tool_oldlib=$func_to_tool_file_result
func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
if test -n "$stripme" && test -n "$old_striplib"; then
func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
fi
# Do each command in the postinstall commands.
func_execute_cmds "$old_postinstall_cmds" 'exit $?'
done
test -n "$future_libdirs" && \
func_warning "remember to run '$progname --finish$future_libdirs'"
if test -n "$current_libdirs"; then
# Maybe just do a dry run.
$opt_dry_run && current_libdirs=" -n$current_libdirs"
exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
else
exit $EXIT_SUCCESS
fi
}
test install = "$opt_mode" && func_mode_install ${1+"$@"}
# func_generate_dlsyms outputname originator pic_p
# Extract symbols from dlprefiles and create ${outputname}S.o with
# a dlpreopen symbol table.
func_generate_dlsyms ()
{
$debug_cmd
my_outputname=$1
my_originator=$2
my_pic_p=${3-false}
my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
my_dlsyms=
if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
if test -n "$NM" && test -n "$global_symbol_pipe"; then
my_dlsyms=${my_outputname}S.c
else
func_error "not configured to extract global symbols from dlpreopened files"
fi
fi
if test -n "$my_dlsyms"; then
case $my_dlsyms in
"") ;;
*.c)
# Discover the nlist of each of the dlfiles.
nlist=$output_objdir/$my_outputname.nm
func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
# Parse the name list into a source file.
func_verbose "creating $output_objdir/$my_dlsyms"
$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
#ifdef __cplusplus
extern \"C\" {
#endif
#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
#endif
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT_DLSYM_CONST
#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT_DLSYM_CONST
#else
# define LT_DLSYM_CONST const
#endif
#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
/* External symbol declarations for the compiler. */\
"
if test yes = "$dlself"; then
func_verbose "generating symbol list for '$output'"
$opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
# Add our own program objects to the symbol list.
progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
for progfile in $progfiles; do
func_to_tool_file "$progfile" func_convert_file_msys_to_w32
func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
$opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
done
if test -n "$exclude_expsyms"; then
$opt_dry_run || {
eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"'
}
fi
if test -n "$export_symbols_regex"; then
$opt_dry_run || {
eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"'
}
fi
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
export_symbols=$output_objdir/$outputname.exp
$opt_dry_run || {
$RM $export_symbols
eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
case $host in
*cygwin* | *mingw* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
;;
esac
}
else
$opt_dry_run || {
eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"'
case $host in
*cygwin* | *mingw* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
;;
esac
}
fi
fi
for dlprefile in $dlprefiles; do
func_verbose "extracting global C symbols from '$dlprefile'"
func_basename "$dlprefile"
name=$func_basename_result
case $host in
*cygwin* | *mingw* | *cegcc* )
# if an import library, we need to obtain dlname
if func_win32_import_lib_p "$dlprefile"; then
func_tr_sh "$dlprefile"
eval "curr_lafile=\$libfile_$func_tr_sh_result"
dlprefile_dlbasename=
if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
# Use subshell, to avoid clobbering current variable values
dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
if test -n "$dlprefile_dlname"; then
func_basename "$dlprefile_dlname"
dlprefile_dlbasename=$func_basename_result
else
# no lafile. user explicitly requested -dlpreopen .
$sharedlib_from_linklib_cmd "$dlprefile"
dlprefile_dlbasename=$sharedlib_from_linklib_result
fi
fi
$opt_dry_run || {
if test -n "$dlprefile_dlbasename"; then
eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
else
func_warning "Could not compute DLL name from $name"
eval '$ECHO ": $name " >> "$nlist"'
fi
func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
$SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
}
else # not an import lib
$opt_dry_run || {
eval '$ECHO ": $name " >> "$nlist"'
func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
}
fi
;;
*)
$opt_dry_run || {
eval '$ECHO ": $name " >> "$nlist"'
func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
}
;;
esac
done
$opt_dry_run || {
# Make sure we have at least an empty file.
test -f "$nlist" || : > "$nlist"
if test -n "$exclude_expsyms"; then
$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
$MV "$nlist"T "$nlist"
fi
# Try sorting and uniquifying the output.
if $GREP -v "^: " < "$nlist" |
if sort -k 3 /dev/null 2>&1; then
sort -k 3
else
sort +2
fi |
uniq > "$nlist"S; then
:
else
$GREP -v "^: " < "$nlist" > "$nlist"S
fi
if test -f "$nlist"S; then
eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
else
echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
fi
func_show_eval '$RM "${nlist}I"'
if test -n "$global_symbol_to_import"; then
eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
fi
echo >> "$output_objdir/$my_dlsyms" "\
/* The mapping between symbol names and symbols. */
typedef struct {
const char *name;
void *address;
} lt_dlsymlist;
extern LT_DLSYM_CONST lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[];\
"
if test -s "$nlist"I; then
echo >> "$output_objdir/$my_dlsyms" "\
static void lt_syminit(void)
{
LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
for (; symbol->name; ++symbol)
{"
$SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
echo >> "$output_objdir/$my_dlsyms" "\
}
}"
fi
echo >> "$output_objdir/$my_dlsyms" "\
LT_DLSYM_CONST lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[] =
{ {\"$my_originator\", (void *) 0},"
if test -s "$nlist"I; then
echo >> "$output_objdir/$my_dlsyms" "\
{\"@INIT@\", (void *) <_syminit},"
fi
case $need_lib_prefix in
no)
eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
;;
*)
eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
;;
esac
echo >> "$output_objdir/$my_dlsyms" "\
{0, (void *) 0}
};
/* This works around a problem in FreeBSD linker */
#ifdef FREEBSD_WORKAROUND
static const void *lt_preloaded_setup() {
return lt_${my_prefix}_LTX_preloaded_symbols;
}
#endif
#ifdef __cplusplus
}
#endif\
"
} # !$opt_dry_run
pic_flag_for_symtable=
case "$compile_command " in
*" -static "*) ;;
*)
case $host in
# compiling the symbol table file with pic_flag works around
# a FreeBSD bug that causes programs to crash when -lm is
# linked before any other PIC object. But we must not use
# pic_flag when linking with -static. The problem exists in
# FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
*-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
*-*-hpux*)
pic_flag_for_symtable=" $pic_flag" ;;
*)
$my_pic_p && pic_flag_for_symtable=" $pic_flag"
;;
esac
;;
esac
symtab_cflags=
for arg in $LTCFLAGS; do
case $arg in
-pie | -fpie | -fPIE) ;;
*) func_append symtab_cflags " $arg" ;;
esac
done
# Now compile the dynamic symbol file.
func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
# Clean up the generated files.
func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
# Transform the symbol file into the correct name.
symfileobj=$output_objdir/${my_outputname}S.$objext
case $host in
*cygwin* | *mingw* | *cegcc* )
if test -f "$output_objdir/$my_outputname.def"; then
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
else
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
fi
;;
*)
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
;;
esac
;;
*)
func_fatal_error "unknown suffix for '$my_dlsyms'"
;;
esac
else
# We keep going just in case the user didn't refer to
# lt_preloaded_symbols. The linker will fail if global_symbol_pipe
# really was required.
# Nullify the symbol file.
compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
fi
}
# func_cygming_gnu_implib_p ARG
# This predicate returns with zero status (TRUE) if
# ARG is a GNU/binutils-style import library. Returns
# with nonzero status (FALSE) otherwise.
func_cygming_gnu_implib_p ()
{
$debug_cmd
func_to_tool_file "$1" func_convert_file_msys_to_w32
func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
test -n "$func_cygming_gnu_implib_tmp"
}
# func_cygming_ms_implib_p ARG
# This predicate returns with zero status (TRUE) if
# ARG is an MS-style import library. Returns
# with nonzero status (FALSE) otherwise.
func_cygming_ms_implib_p ()
{
$debug_cmd
func_to_tool_file "$1" func_convert_file_msys_to_w32
func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
test -n "$func_cygming_ms_implib_tmp"
}
# func_win32_libid arg
# return the library type of file 'arg'
#
# Need a lot of goo to handle *both* DLLs and import libs
# Has to be a shell function in order to 'eat' the argument
# that is supplied when $file_magic_command is called.
# Despite the name, also deal with 64 bit binaries.
func_win32_libid ()
{
$debug_cmd
win32_libid_type=unknown
win32_fileres=`file -L $1 2>/dev/null`
case $win32_fileres in
*ar\ archive\ import\ library*) # definitely import
win32_libid_type="x86 archive import"
;;
*ar\ archive*) # could be an import, or static
# Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
$EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
case $nm_interface in
"MS dumpbin")
if func_cygming_ms_implib_p "$1" ||
func_cygming_gnu_implib_p "$1"
then
win32_nmres=import
else
win32_nmres=
fi
;;
*)
func_to_tool_file "$1" func_convert_file_msys_to_w32
win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
$SED -n -e '
1,100{
/ I /{
s|.*|import|
p
q
}
}'`
;;
esac
case $win32_nmres in
import*) win32_libid_type="x86 archive import";;
*) win32_libid_type="x86 archive static";;
esac
fi
;;
*DLL*)
win32_libid_type="x86 DLL"
;;
*executable*) # but shell scripts are "executable" too...
case $win32_fileres in
*MS\ Windows\ PE\ Intel*)
win32_libid_type="x86 DLL"
;;
esac
;;
esac
$ECHO "$win32_libid_type"
}
# func_cygming_dll_for_implib ARG
#
# Platform-specific function to extract the
# name of the DLL associated with the specified
# import library ARG.
# Invoked by eval'ing the libtool variable
# $sharedlib_from_linklib_cmd
# Result is available in the variable
# $sharedlib_from_linklib_result
func_cygming_dll_for_implib ()
{
$debug_cmd
sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
}
# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
#
# The is the core of a fallback implementation of a
# platform-specific function to extract the name of the
# DLL associated with the specified import library LIBNAME.
#
# SECTION_NAME is either .idata$6 or .idata$7, depending
# on the platform and compiler that created the implib.
#
# Echos the name of the DLL associated with the
# specified import library.
func_cygming_dll_for_implib_fallback_core ()
{
$debug_cmd
match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
$OBJDUMP -s --section "$1" "$2" 2>/dev/null |
$SED '/^Contents of section '"$match_literal"':/{
# Place marker at beginning of archive member dllname section
s/.*/====MARK====/
p
d
}
# These lines can sometimes be longer than 43 characters, but
# are always uninteresting
/:[ ]*file format pe[i]\{,1\}-/d
/^In archive [^:]*:/d
# Ensure marker is printed
/^====MARK====/p
# Remove all lines with less than 43 characters
/^.\{43\}/!d
# From remaining lines, remove first 43 characters
s/^.\{43\}//' |
$SED -n '
# Join marker and all lines until next marker into a single line
/^====MARK====/ b para
H
$ b para
b
:para
x
s/\n//g
# Remove the marker
s/^====MARK====//
# Remove trailing dots and whitespace
s/[\. \t]*$//
# Print
/./p' |
# we now have a list, one entry per line, of the stringified
# contents of the appropriate section of all members of the
# archive that possess that section. Heuristic: eliminate
# all those that have a first or second character that is
# a '.' (that is, objdump's representation of an unprintable
# character.) This should work for all archives with less than
# 0x302f exports -- but will fail for DLLs whose name actually
# begins with a literal '.' or a single character followed by
# a '.'.
#
# Of those that remain, print the first one.
$SED -e '/^\./d;/^.\./d;q'
}
# func_cygming_dll_for_implib_fallback ARG
# Platform-specific function to extract the
# name of the DLL associated with the specified
# import library ARG.
#
# This fallback implementation is for use when $DLLTOOL
# does not support the --identify-strict option.
# Invoked by eval'ing the libtool variable
# $sharedlib_from_linklib_cmd
# Result is available in the variable
# $sharedlib_from_linklib_result
func_cygming_dll_for_implib_fallback ()
{
$debug_cmd
if func_cygming_gnu_implib_p "$1"; then
# binutils import library
sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
elif func_cygming_ms_implib_p "$1"; then
# ms-generated import library
sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
else
# unknown
sharedlib_from_linklib_result=
fi
}
# func_extract_an_archive dir oldlib
func_extract_an_archive ()
{
$debug_cmd
f_ex_an_ar_dir=$1; shift
f_ex_an_ar_oldlib=$1
if test yes = "$lock_old_archive_extraction"; then
lockfile=$f_ex_an_ar_oldlib.lock
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
func_echo "Waiting for $lockfile to be removed"
sleep 2
done
fi
func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
'stat=$?; rm -f "$lockfile"; exit $stat'
if test yes = "$lock_old_archive_extraction"; then
$opt_dry_run || rm -f "$lockfile"
fi
if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
:
else
func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
fi
}
# func_extract_archives gentop oldlib ...
func_extract_archives ()
{
$debug_cmd
my_gentop=$1; shift
my_oldlibs=${1+"$@"}
my_oldobjs=
my_xlib=
my_xabs=
my_xdir=
for my_xlib in $my_oldlibs; do
# Extract the objects.
case $my_xlib in
[\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
*) my_xabs=`pwd`"/$my_xlib" ;;
esac
func_basename "$my_xlib"
my_xlib=$func_basename_result
my_xlib_u=$my_xlib
while :; do
case " $extracted_archives " in
*" $my_xlib_u "*)
func_arith $extracted_serial + 1
extracted_serial=$func_arith_result
my_xlib_u=lt$extracted_serial-$my_xlib ;;
*) break ;;
esac
done
extracted_archives="$extracted_archives $my_xlib_u"
my_xdir=$my_gentop/$my_xlib_u
func_mkdir_p "$my_xdir"
case $host in
*-darwin*)
func_verbose "Extracting $my_xabs"
# Do not bother doing anything if just a dry run
$opt_dry_run || {
darwin_orig_dir=`pwd`
cd $my_xdir || exit $?
darwin_archive=$my_xabs
darwin_curdir=`pwd`
func_basename "$darwin_archive"
darwin_base_archive=$func_basename_result
darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
if test -n "$darwin_arches"; then
darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
darwin_arch=
func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
for darwin_arch in $darwin_arches; do
func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
$LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
cd "unfat-$$/$darwin_base_archive-$darwin_arch"
func_extract_an_archive "`pwd`" "$darwin_base_archive"
cd "$darwin_curdir"
$RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
done # $darwin_arches
## Okay now we've a bunch of thin objects, gotta fatten them up :)
darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
darwin_file=
darwin_files=
for darwin_file in $darwin_filelist; do
darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
$LIPO -create -output "$darwin_file" $darwin_files
done # $darwin_filelist
$RM -rf unfat-$$
cd "$darwin_orig_dir"
else
cd $darwin_orig_dir
func_extract_an_archive "$my_xdir" "$my_xabs"
fi # $darwin_arches
} # !$opt_dry_run
;;
*)
func_extract_an_archive "$my_xdir" "$my_xabs"
;;
esac
my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
done
func_extract_archives_result=$my_oldobjs
}
# func_emit_wrapper [arg=no]
#
# Emit a libtool wrapper script on stdout.
# Don't directly open a file because we may want to
# incorporate the script contents within a cygwin/mingw
# wrapper executable. Must ONLY be called from within
# func_mode_link because it depends on a number of variables
# set therein.
#
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
# variable will take. If 'yes', then the emitted script
# will assume that the directory where it is stored is
# the $objdir directory. This is a cygwin/mingw-specific
# behavior.
func_emit_wrapper ()
{
func_emit_wrapper_arg1=${1-no}
$ECHO "\
#! $SHELL
# $output - temporary wrapper script for $objdir/$outputname
# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# The $output program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='$sed_quote_subst'
# Be Bourne compatible
if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
# is contrary to our usage. Disable this feature.
alias -g '\${1+\"\$@\"}'='\"\$@\"'
setopt NO_GLOB_SUBST
else
case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
relink_command=\"$relink_command\"
# This environment variable determines our operation mode.
if test \"\$libtool_install_magic\" = \"$magic\"; then
# install mode needs the following variables:
generated_by_libtool_version='$macro_version'
notinst_deplibs='$notinst_deplibs'
else
# When we are sourced in execute mode, \$file and \$ECHO are already set.
if test \"\$libtool_execute_magic\" != \"$magic\"; then
file=\"\$0\""
func_quote_arg pretty "$ECHO"
qECHO=$func_quote_arg_result
$ECHO "\
# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
eval 'cat <<_LTECHO_EOF
\$1
_LTECHO_EOF'
}
ECHO=$qECHO
fi
# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string "--lt-"
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's $0 value, followed by "$@".
lt_option_debug=
func_parse_lt_options ()
{
lt_script_arg0=\$0
shift
for lt_opt
do
case \"\$lt_opt\" in
--lt-debug) lt_option_debug=1 ;;
--lt-dump-script)
lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
cat \"\$lt_dump_D/\$lt_dump_F\"
exit 0
;;
--lt-*)
\$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
exit 1
;;
esac
done
# Print the debug banner immediately:
if test -n \"\$lt_option_debug\"; then
echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
fi
}
# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
lt_dump_args_N=1;
for lt_arg
do
\$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
done
}
# Core function for launching the target application
func_exec_program_core ()
{
"
case $host in
# Backslashes separate directories on plain windows
*-*-mingw | *-*-os2* | *-cegcc*)
$ECHO "\
if test -n \"\$lt_option_debug\"; then
\$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
func_lt_dump_args \${1+\"\$@\"} 1>&2
fi
exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
"
;;
*)
$ECHO "\
if test -n \"\$lt_option_debug\"; then
\$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
func_lt_dump_args \${1+\"\$@\"} 1>&2
fi
exec \"\$progdir/\$program\" \${1+\"\$@\"}
"
;;
esac
$ECHO "\
\$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
exit 1
}
# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from \$@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
case \" \$* \" in
*\\ --lt-*)
for lt_wr_arg
do
case \$lt_wr_arg in
--lt-*) ;;
*) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
esac
shift
done ;;
esac
func_exec_program_core \${1+\"\$@\"}
}
# Parse options
func_parse_lt_options \"\$0\" \${1+\"\$@\"}
# Find the directory that this script lives in.
thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
test \"x\$thisdir\" = \"x\$file\" && thisdir=.
# Follow symbolic links until we get to the real thisdir.
file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
while test -n \"\$file\"; do
destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
# If there was a directory component, then change thisdir.
if test \"x\$destdir\" != \"x\$file\"; then
case \"\$destdir\" in
[\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
*) thisdir=\"\$thisdir/\$destdir\" ;;
esac
fi
file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
done
# Usually 'no', except on cygwin/mingw when embedded into
# the cwrapper.
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
# special case for '.'
if test \"\$thisdir\" = \".\"; then
thisdir=\`pwd\`
fi
# remove .libs from thisdir
case \"\$thisdir\" in
*[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
$objdir ) thisdir=. ;;
esac
fi
# Try to get the absolute directory name.
absdir=\`cd \"\$thisdir\" && pwd\`
test -n \"\$absdir\" && thisdir=\"\$absdir\"
"
if test yes = "$fast_install"; then
$ECHO "\
program=lt-'$outputname'$exeext
progdir=\"\$thisdir/$objdir\"
if test ! -f \"\$progdir/\$program\" ||
{ file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
test \"X\$file\" != \"X\$progdir/\$program\"; }; then
file=\"\$\$-\$program\"
if test ! -d \"\$progdir\"; then
$MKDIR \"\$progdir\"
else
$RM \"\$progdir/\$file\"
fi"
$ECHO "\
# relink executable if necessary
if test -n \"\$relink_command\"; then
if relink_command_output=\`eval \$relink_command 2>&1\`; then :
else
\$ECHO \"\$relink_command_output\" >&2
$RM \"\$progdir/\$file\"
exit 1
fi
fi
$MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
{ $RM \"\$progdir/\$program\";
$MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
$RM \"\$progdir/\$file\"
fi"
else
$ECHO "\
program='$outputname'
progdir=\"\$thisdir/$objdir\"
"
fi
$ECHO "\
if test -f \"\$progdir/\$program\"; then"
# fixup the dll searchpath if we need to.
#
# Fix the DLL searchpath if we need to. Do this before prepending
# to shlibpath, because on Windows, both are PATH and uninstalled
# libraries must come first.
if test -n "$dllsearchpath"; then
$ECHO "\
# Add the dll search path components to the executable PATH
PATH=$dllsearchpath:\$PATH
"
fi
# Export our shlibpath_var if we have one.
if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
$ECHO "\
# Add our own library path to $shlibpath_var
$shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
# Some systems cannot cope with colon-terminated $shlibpath_var
# The second colon is a workaround for a bug in BeOS R4 sed
$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
export $shlibpath_var
"
fi
$ECHO "\
if test \"\$libtool_execute_magic\" != \"$magic\"; then
# Run the actual program with our arguments.
func_exec_program \${1+\"\$@\"}
fi
else
# The program doesn't exist.
\$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
\$ECHO \"This script is just a wrapper for \$program.\" 1>&2
\$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
exit 1
fi
fi\
"
}
# func_emit_cwrapperexe_src
# emit the source code for a wrapper executable on stdout
# Must ONLY be called from within func_mode_link because
# it depends on a number of variable set therein.
func_emit_cwrapperexe_src ()
{
cat <
#include
#ifdef _MSC_VER
# include
# include
# include
#else
# include
# include
# ifdef __CYGWIN__
# include
# endif
#endif
#include
#include
#include
#include
#include
#include
#include
#include
#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
/* declarations of non-ANSI functions */
#if defined __MINGW32__
# ifdef __STRICT_ANSI__
int _putenv (const char *);
# endif
#elif defined __CYGWIN__
# ifdef __STRICT_ANSI__
char *realpath (const char *, char *);
int putenv (char *);
int setenv (const char *, const char *, int);
# endif
/* #elif defined other_platform || defined ... */
#endif
/* portability defines, excluding path handling macros */
#if defined _MSC_VER
# define setmode _setmode
# define stat _stat
# define chmod _chmod
# define getcwd _getcwd
# define putenv _putenv
# define S_IXUSR _S_IEXEC
#elif defined __MINGW32__
# define setmode _setmode
# define stat _stat
# define chmod _chmod
# define getcwd _getcwd
# define putenv _putenv
#elif defined __CYGWIN__
# define HAVE_SETENV
# define FOPEN_WB "wb"
/* #elif defined other platforms ... */
#endif
#if defined PATH_MAX
# define LT_PATHMAX PATH_MAX
#elif defined MAXPATHLEN
# define LT_PATHMAX MAXPATHLEN
#else
# define LT_PATHMAX 1024
#endif
#ifndef S_IXOTH
# define S_IXOTH 0
#endif
#ifndef S_IXGRP
# define S_IXGRP 0
#endif
/* path handling portability macros */
#ifndef DIR_SEPARATOR
# define DIR_SEPARATOR '/'
# define PATH_SEPARATOR ':'
#endif
#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
defined __OS2__
# define HAVE_DOS_BASED_FILE_SYSTEM
# define FOPEN_WB "wb"
# ifndef DIR_SEPARATOR_2
# define DIR_SEPARATOR_2 '\\'
# endif
# ifndef PATH_SEPARATOR_2
# define PATH_SEPARATOR_2 ';'
# endif
#endif
#ifndef DIR_SEPARATOR_2
# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
#else /* DIR_SEPARATOR_2 */
# define IS_DIR_SEPARATOR(ch) \
(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
#endif /* DIR_SEPARATOR_2 */
#ifndef PATH_SEPARATOR_2
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
#else /* PATH_SEPARATOR_2 */
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
#endif /* PATH_SEPARATOR_2 */
#ifndef FOPEN_WB
# define FOPEN_WB "w"
#endif
#ifndef _O_BINARY
# define _O_BINARY 0
#endif
#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
#define XFREE(stale) do { \
if (stale) { free (stale); stale = 0; } \
} while (0)
#if defined LT_DEBUGWRAPPER
static int lt_debug = 1;
#else
static int lt_debug = 0;
#endif
const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
void *xmalloc (size_t num);
char *xstrdup (const char *string);
const char *base_name (const char *name);
char *find_executable (const char *wrapper);
char *chase_symlinks (const char *pathspec);
int make_executable (const char *path);
int check_executable (const char *path);
char *strendzap (char *str, const char *pat);
void lt_debugprintf (const char *file, int line, const char *fmt, ...);
void lt_fatal (const char *file, int line, const char *message, ...);
static const char *nonnull (const char *s);
static const char *nonempty (const char *s);
void lt_setenv (const char *name, const char *value);
char *lt_extend_str (const char *orig_value, const char *add, int to_end);
void lt_update_exe_path (const char *name, const char *value);
void lt_update_lib_path (const char *name, const char *value);
char **prepare_spawn (char **argv);
void lt_dump_script (FILE *f);
EOF
cat <= 0)
&& (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
return 1;
else
return 0;
}
int
make_executable (const char *path)
{
int rval = 0;
struct stat st;
lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
nonempty (path));
if ((!path) || (!*path))
return 0;
if (stat (path, &st) >= 0)
{
rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
}
return rval;
}
/* Searches for the full path of the wrapper. Returns
newly allocated full path name if found, NULL otherwise
Does not chase symlinks, even on platforms that support them.
*/
char *
find_executable (const char *wrapper)
{
int has_slash = 0;
const char *p;
const char *p_next;
/* static buffer for getcwd */
char tmp[LT_PATHMAX + 1];
size_t tmp_len;
char *concat_name;
lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
nonempty (wrapper));
if ((wrapper == NULL) || (*wrapper == '\0'))
return NULL;
/* Absolute path? */
#if defined HAVE_DOS_BASED_FILE_SYSTEM
if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
{
concat_name = xstrdup (wrapper);
if (check_executable (concat_name))
return concat_name;
XFREE (concat_name);
}
else
{
#endif
if (IS_DIR_SEPARATOR (wrapper[0]))
{
concat_name = xstrdup (wrapper);
if (check_executable (concat_name))
return concat_name;
XFREE (concat_name);
}
#if defined HAVE_DOS_BASED_FILE_SYSTEM
}
#endif
for (p = wrapper; *p; p++)
if (*p == '/')
{
has_slash = 1;
break;
}
if (!has_slash)
{
/* no slashes; search PATH */
const char *path = getenv ("PATH");
if (path != NULL)
{
for (p = path; *p; p = p_next)
{
const char *q;
size_t p_len;
for (q = p; *q; q++)
if (IS_PATH_SEPARATOR (*q))
break;
p_len = (size_t) (q - p);
p_next = (*q == '\0' ? q : q + 1);
if (p_len == 0)
{
/* empty path: current directory */
if (getcwd (tmp, LT_PATHMAX) == NULL)
lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
nonnull (strerror (errno)));
tmp_len = strlen (tmp);
concat_name =
XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
memcpy (concat_name, tmp, tmp_len);
concat_name[tmp_len] = '/';
strcpy (concat_name + tmp_len + 1, wrapper);
}
else
{
concat_name =
XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
memcpy (concat_name, p, p_len);
concat_name[p_len] = '/';
strcpy (concat_name + p_len + 1, wrapper);
}
if (check_executable (concat_name))
return concat_name;
XFREE (concat_name);
}
}
/* not found in PATH; assume curdir */
}
/* Relative path | not found in path: prepend cwd */
if (getcwd (tmp, LT_PATHMAX) == NULL)
lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
nonnull (strerror (errno)));
tmp_len = strlen (tmp);
concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
memcpy (concat_name, tmp, tmp_len);
concat_name[tmp_len] = '/';
strcpy (concat_name + tmp_len + 1, wrapper);
if (check_executable (concat_name))
return concat_name;
XFREE (concat_name);
return NULL;
}
char *
chase_symlinks (const char *pathspec)
{
#ifndef S_ISLNK
return xstrdup (pathspec);
#else
char buf[LT_PATHMAX];
struct stat s;
char *tmp_pathspec = xstrdup (pathspec);
char *p;
int has_symlinks = 0;
while (strlen (tmp_pathspec) && !has_symlinks)
{
lt_debugprintf (__FILE__, __LINE__,
"checking path component for symlinks: %s\n",
tmp_pathspec);
if (lstat (tmp_pathspec, &s) == 0)
{
if (S_ISLNK (s.st_mode) != 0)
{
has_symlinks = 1;
break;
}
/* search backwards for last DIR_SEPARATOR */
p = tmp_pathspec + strlen (tmp_pathspec) - 1;
while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
p--;
if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
{
/* no more DIR_SEPARATORS left */
break;
}
*p = '\0';
}
else
{
lt_fatal (__FILE__, __LINE__,
"error accessing file \"%s\": %s",
tmp_pathspec, nonnull (strerror (errno)));
}
}
XFREE (tmp_pathspec);
if (!has_symlinks)
{
return xstrdup (pathspec);
}
tmp_pathspec = realpath (pathspec, buf);
if (tmp_pathspec == 0)
{
lt_fatal (__FILE__, __LINE__,
"could not follow symlinks for %s", pathspec);
}
return xstrdup (tmp_pathspec);
#endif
}
char *
strendzap (char *str, const char *pat)
{
size_t len, patlen;
assert (str != NULL);
assert (pat != NULL);
len = strlen (str);
patlen = strlen (pat);
if (patlen <= len)
{
str += len - patlen;
if (STREQ (str, pat))
*str = '\0';
}
return str;
}
void
lt_debugprintf (const char *file, int line, const char *fmt, ...)
{
va_list args;
if (lt_debug)
{
(void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
va_start (args, fmt);
(void) vfprintf (stderr, fmt, args);
va_end (args);
}
}
static void
lt_error_core (int exit_status, const char *file,
int line, const char *mode,
const char *message, va_list ap)
{
fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
vfprintf (stderr, message, ap);
fprintf (stderr, ".\n");
if (exit_status >= 0)
exit (exit_status);
}
void
lt_fatal (const char *file, int line, const char *message, ...)
{
va_list ap;
va_start (ap, message);
lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
va_end (ap);
}
static const char *
nonnull (const char *s)
{
return s ? s : "(null)";
}
static const char *
nonempty (const char *s)
{
return (s && !*s) ? "(empty)" : nonnull (s);
}
void
lt_setenv (const char *name, const char *value)
{
lt_debugprintf (__FILE__, __LINE__,
"(lt_setenv) setting '%s' to '%s'\n",
nonnull (name), nonnull (value));
{
#ifdef HAVE_SETENV
/* always make a copy, for consistency with !HAVE_SETENV */
char *str = xstrdup (value);
setenv (name, str, 1);
#else
size_t len = strlen (name) + 1 + strlen (value) + 1;
char *str = XMALLOC (char, len);
sprintf (str, "%s=%s", name, value);
if (putenv (str) != EXIT_SUCCESS)
{
XFREE (str);
}
#endif
}
}
char *
lt_extend_str (const char *orig_value, const char *add, int to_end)
{
char *new_value;
if (orig_value && *orig_value)
{
size_t orig_value_len = strlen (orig_value);
size_t add_len = strlen (add);
new_value = XMALLOC (char, add_len + orig_value_len + 1);
if (to_end)
{
strcpy (new_value, orig_value);
strcpy (new_value + orig_value_len, add);
}
else
{
strcpy (new_value, add);
strcpy (new_value + add_len, orig_value);
}
}
else
{
new_value = xstrdup (add);
}
return new_value;
}
void
lt_update_exe_path (const char *name, const char *value)
{
lt_debugprintf (__FILE__, __LINE__,
"(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
nonnull (name), nonnull (value));
if (name && *name && value && *value)
{
char *new_value = lt_extend_str (getenv (name), value, 0);
/* some systems can't cope with a ':'-terminated path #' */
size_t len = strlen (new_value);
while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
{
new_value[--len] = '\0';
}
lt_setenv (name, new_value);
XFREE (new_value);
}
}
void
lt_update_lib_path (const char *name, const char *value)
{
lt_debugprintf (__FILE__, __LINE__,
"(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
nonnull (name), nonnull (value));
if (name && *name && value && *value)
{
char *new_value = lt_extend_str (getenv (name), value, 0);
lt_setenv (name, new_value);
XFREE (new_value);
}
}
EOF
case $host_os in
mingw*)
cat <<"EOF"
/* Prepares an argument vector before calling spawn().
Note that spawn() does not by itself call the command interpreter
(getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&v);
v.dwPlatformId == VER_PLATFORM_WIN32_NT;
}) ? "cmd.exe" : "command.com").
Instead it simply concatenates the arguments, separated by ' ', and calls
CreateProcess(). We must quote the arguments since Win32 CreateProcess()
interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
special way:
- Space and tab are interpreted as delimiters. They are not treated as
delimiters if they are surrounded by double quotes: "...".
- Unescaped double quotes are removed from the input. Their only effect is
that within double quotes, space and tab are treated like normal
characters.
- Backslashes not followed by double quotes are not special.
- But 2*n+1 backslashes followed by a double quote become
n backslashes followed by a double quote (n >= 0):
\" -> "
\\\" -> \"
\\\\\" -> \\"
*/
#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
char **
prepare_spawn (char **argv)
{
size_t argc;
char **new_argv;
size_t i;
/* Count number of arguments. */
for (argc = 0; argv[argc] != NULL; argc++)
;
/* Allocate new argument vector. */
new_argv = XMALLOC (char *, argc + 1);
/* Put quoted arguments into the new argument vector. */
for (i = 0; i < argc; i++)
{
const char *string = argv[i];
if (string[0] == '\0')
new_argv[i] = xstrdup ("\"\"");
else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
{
int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
size_t length;
unsigned int backslashes;
const char *s;
char *quoted_string;
char *p;
length = 0;
backslashes = 0;
if (quote_around)
length++;
for (s = string; *s != '\0'; s++)
{
char c = *s;
if (c == '"')
length += backslashes + 1;
length++;
if (c == '\\')
backslashes++;
else
backslashes = 0;
}
if (quote_around)
length += backslashes + 1;
quoted_string = XMALLOC (char, length + 1);
p = quoted_string;
backslashes = 0;
if (quote_around)
*p++ = '"';
for (s = string; *s != '\0'; s++)
{
char c = *s;
if (c == '"')
{
unsigned int j;
for (j = backslashes + 1; j > 0; j--)
*p++ = '\\';
}
*p++ = c;
if (c == '\\')
backslashes++;
else
backslashes = 0;
}
if (quote_around)
{
unsigned int j;
for (j = backslashes; j > 0; j--)
*p++ = '\\';
*p++ = '"';
}
*p = '\0';
new_argv[i] = quoted_string;
}
else
new_argv[i] = (char *) string;
}
new_argv[argc] = NULL;
return new_argv;
}
EOF
;;
esac
cat <<"EOF"
void lt_dump_script (FILE* f)
{
EOF
func_emit_wrapper yes |
$SED -n -e '
s/^\(.\{79\}\)\(..*\)/\1\
\2/
h
s/\([\\"]\)/\\\1/g
s/$/\\n/
s/\([^\n]*\).*/ fputs ("\1", f);/p
g
D'
cat <<"EOF"
}
EOF
}
# end: func_emit_cwrapperexe_src
# func_win32_import_lib_p ARG
# True if ARG is an import lib, as indicated by $file_magic_cmd
func_win32_import_lib_p ()
{
$debug_cmd
case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
*import*) : ;;
*) false ;;
esac
}
# func_suncc_cstd_abi
# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
# Several compiler flags select an ABI that is incompatible with the
# Cstd library. Avoid specifying it if any are in CXXFLAGS.
func_suncc_cstd_abi ()
{
$debug_cmd
case " $compile_command " in
*" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
suncc_use_cstd_abi=no
;;
*)
suncc_use_cstd_abi=yes
;;
esac
}
# func_mode_link arg...
func_mode_link ()
{
$debug_cmd
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out
# what system we are compiling for in order to pass an extra
# flag for every libtool invocation.
# allow_undefined=no
# FIXME: Unfortunately, there are problems with the above when trying
# to make a dll that has undefined symbols, in which case not
# even a static library is built. For now, we need to specify
# -no-undefined on the libtool link line when we can be certain
# that all symbols are satisfied, otherwise we get a static library.
allow_undefined=yes
;;
*)
allow_undefined=yes
;;
esac
libtool_args=$nonopt
base_compile="$nonopt $@"
compile_command=$nonopt
finalize_command=$nonopt
compile_rpath=
finalize_rpath=
compile_shlibpath=
finalize_shlibpath=
convenience=
old_convenience=
deplibs=
old_deplibs=
compiler_flags=
linker_flags=
dllsearchpath=
lib_search_path=`pwd`
inst_prefix_dir=
new_inherited_linker_flags=
avoid_version=no
bindir=
dlfiles=
dlprefiles=
dlself=no
export_dynamic=no
export_symbols=
export_symbols_regex=
generated=
libobjs=
ltlibs=
module=no
no_install=no
objs=
os2dllname=
non_pic_objects=
precious_files_regex=
prefer_static_libs=no
preload=false
prev=
prevarg=
release=
rpath=
xrpath=
perm_rpath=
temp_rpath=
thread_safe=no
vinfo=
vinfo_number=no
weak_libs=
single_module=$wl-single_module
func_infer_tag $base_compile
# We need to know -static, to get the right output filenames.
for arg
do
case $arg in
-shared)
test yes != "$build_libtool_libs" \
&& func_fatal_configuration "cannot build a shared library"
build_old_libs=no
break
;;
-all-static | -static | -static-libtool-libs)
case $arg in
-all-static)
if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
func_warning "complete static linking is impossible in this configuration"
fi
if test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
prefer_static_libs=yes
;;
-static)
if test -z "$pic_flag" && test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
prefer_static_libs=built
;;
-static-libtool-libs)
if test -z "$pic_flag" && test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
prefer_static_libs=yes
;;
esac
build_libtool_libs=no
build_old_libs=yes
break
;;
esac
done
# See if our shared archives depend on static archives.
test -n "$old_archive_from_new_cmds" && build_old_libs=yes
# Go through the arguments, transforming them on the way.
while test "$#" -gt 0; do
arg=$1
shift
func_quote_arg pretty,unquoted "$arg"
qarg=$func_quote_arg_unquoted_result
func_append libtool_args " $func_quote_arg_result"
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
case $prev in
output)
func_append compile_command " @OUTPUT@"
func_append finalize_command " @OUTPUT@"
;;
esac
case $prev in
bindir)
bindir=$arg
prev=
continue
;;
dlfiles|dlprefiles)
$preload || {
# Add the symbol object into the linking commands.
func_append compile_command " @SYMFILE@"
func_append finalize_command " @SYMFILE@"
preload=:
}
case $arg in
*.la | *.lo) ;; # We handle these cases below.
force)
if test no = "$dlself"; then
dlself=needless
export_dynamic=yes
fi
prev=
continue
;;
self)
if test dlprefiles = "$prev"; then
dlself=yes
elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
dlself=yes
else
dlself=needless
export_dynamic=yes
fi
prev=
continue
;;
*)
if test dlfiles = "$prev"; then
func_append dlfiles " $arg"
else
func_append dlprefiles " $arg"
fi
prev=
continue
;;
esac
;;
expsyms)
export_symbols=$arg
test -f "$arg" \
|| func_fatal_error "symbol file '$arg' does not exist"
prev=
continue
;;
expsyms_regex)
export_symbols_regex=$arg
prev=
continue
;;
framework)
case $host in
*-*-darwin*)
case "$deplibs " in
*" $qarg.ltframework "*) ;;
*) func_append deplibs " $qarg.ltframework" # this is fixed later
;;
esac
;;
esac
prev=
continue
;;
inst_prefix)
inst_prefix_dir=$arg
prev=
continue
;;
mllvm)
# Clang does not use LLVM to link, so we can simply discard any
# '-mllvm $arg' options when doing the link step.
prev=
continue
;;
objectlist)
if test -f "$arg"; then
save_arg=$arg
moreargs=
for fil in `cat "$save_arg"`
do
# func_append moreargs " $fil"
arg=$fil
# A libtool-controlled object.
# Check to see that this really is a libtool object.
if func_lalib_unsafe_p "$arg"; then
pic_object=
non_pic_object=
# Read the .lo file
func_source "$arg"
if test -z "$pic_object" ||
test -z "$non_pic_object" ||
test none = "$pic_object" &&
test none = "$non_pic_object"; then
func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
xdir=$func_dirname_result
if test none != "$pic_object"; then
# Prepend the subdirectory the object is found in.
pic_object=$xdir$pic_object
if test dlfiles = "$prev"; then
if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
func_append dlfiles " $pic_object"
prev=
continue
else
# If libtool objects are unsupported, then we need to preload.
prev=dlprefiles
fi
fi
# CHECK ME: I think I busted this. -Ossama
if test dlprefiles = "$prev"; then
# Preload the old-style object.
func_append dlprefiles " $pic_object"
prev=
fi
# A PIC object.
func_append libobjs " $pic_object"
arg=$pic_object
fi
# Non-PIC object.
if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
func_append non_pic_objects " $non_pic_object"
if test -z "$pic_object" || test none = "$pic_object"; then
arg=$non_pic_object
fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
non_pic_object=$pic_object
func_append non_pic_objects " $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
if $opt_dry_run; then
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
xdir=$func_dirname_result
func_lo2o "$arg"
pic_object=$xdir$objdir/$func_lo2o_result
non_pic_object=$xdir$func_lo2o_result
func_append libobjs " $pic_object"
func_append non_pic_objects " $non_pic_object"
else
func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
done
else
func_fatal_error "link input file '$arg' does not exist"
fi
arg=$save_arg
prev=
continue
;;
os2dllname)
os2dllname=$arg
prev=
continue
;;
precious_regex)
precious_files_regex=$arg
prev=
continue
;;
release)
release=-$arg
prev=
continue
;;
rpath | xrpath)
# We need an absolute path.
case $arg in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
func_fatal_error "only absolute run-paths are allowed"
;;
esac
if test rpath = "$prev"; then
case "$rpath " in
*" $arg "*) ;;
*) func_append rpath " $arg" ;;
esac
else
case "$xrpath " in
*" $arg "*) ;;
*) func_append xrpath " $arg" ;;
esac
fi
prev=
continue
;;
shrext)
shrext_cmds=$arg
prev=
continue
;;
weak)
func_append weak_libs " $arg"
prev=
continue
;;
xcclinker)
func_append linker_flags " $qarg"
func_append compiler_flags " $qarg"
prev=
func_append compile_command " $qarg"
func_append finalize_command " $qarg"
continue
;;
xcompiler)
func_append compiler_flags " $qarg"
prev=
func_append compile_command " $qarg"
func_append finalize_command " $qarg"
continue
;;
xlinker)
func_append linker_flags " $qarg"
func_append compiler_flags " $wl$qarg"
prev=
func_append compile_command " $wl$qarg"
func_append finalize_command " $wl$qarg"
continue
;;
*)
eval "$prev=\"\$arg\""
prev=
continue
;;
esac
fi # test -n "$prev"
prevarg=$arg
case $arg in
-all-static)
if test -n "$link_static_flag"; then
# See comment for -static flag below, for more details.
func_append compile_command " $link_static_flag"
func_append finalize_command " $link_static_flag"
fi
continue
;;
-allow-undefined)
# FIXME: remove this flag sometime in the future.
func_fatal_error "'-allow-undefined' must not be used because it is the default"
;;
-avoid-version)
avoid_version=yes
continue
;;
-bindir)
prev=bindir
continue
;;
-dlopen)
prev=dlfiles
continue
;;
-dlpreopen)
prev=dlprefiles
continue
;;
-export-dynamic)
export_dynamic=yes
continue
;;
-export-symbols | -export-symbols-regex)
if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
func_fatal_error "more than one -exported-symbols argument is not allowed"
fi
if test X-export-symbols = "X$arg"; then
prev=expsyms
else
prev=expsyms_regex
fi
continue
;;
-framework)
prev=framework
continue
;;
-inst-prefix-dir)
prev=inst_prefix
continue
;;
# The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
# so, if we see these flags be careful not to treat them like -L
-L[A-Z][A-Z]*:*)
case $with_gcc/$host in
no/*-*-irix* | /*-*-irix*)
func_append compile_command " $arg"
func_append finalize_command " $arg"
;;
esac
continue
;;
-L*)
func_stripname "-L" '' "$arg"
if test -z "$func_stripname_result"; then
if test "$#" -gt 0; then
func_fatal_error "require no space between '-L' and '$1'"
else
func_fatal_error "need path for '-L' option"
fi
fi
func_resolve_sysroot "$func_stripname_result"
dir=$func_resolve_sysroot_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
absdir=`cd "$dir" && pwd`
test -z "$absdir" && \
func_fatal_error "cannot determine absolute directory name of '$dir'"
dir=$absdir
;;
esac
case "$deplibs " in
*" -L$dir "* | *" $arg "*)
# Will only happen for absolute or sysroot arguments
;;
*)
# Preserve sysroot, but never include relative directories
case $dir in
[\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
*) func_append deplibs " -L$dir" ;;
esac
func_append lib_search_path " $dir"
;;
esac
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
::) dllsearchpath=$dir;;
*) func_append dllsearchpath ":$dir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
::) dllsearchpath=$testbindir;;
*) func_append dllsearchpath ":$testbindir";;
esac
;;
esac
continue
;;
-l*)
if test X-lc = "X$arg" || test X-lm = "X$arg"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such)
continue
;;
*-*-os2*)
# These systems don't actually have a C library (as such)
test X-lc = "X$arg" && continue
;;
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc due to us having libc/libc_r.
test X-lc = "X$arg" && continue
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C and math libraries are in the System framework
func_append deplibs " System.ltframework"
continue
;;
*-*-sco3.2v5* | *-*-sco5v6*)
# Causes problems with __ctype
test X-lc = "X$arg" && continue
;;
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
# Compiler inserts libc in the correct place for threads to work
test X-lc = "X$arg" && continue
;;
esac
elif test X-lc_r = "X$arg"; then
case $host in
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc_r directly, use -pthread flag.
continue
;;
esac
fi
func_append deplibs " $arg"
continue
;;
-mllvm)
prev=mllvm
continue
;;
-module)
module=yes
continue
;;
# Tru64 UNIX uses -model [arg] to determine the layout of C++
# classes, name mangling, and exception handling.
# Darwin uses the -arch flag to determine output architecture.
-model|-arch|-isysroot|--sysroot)
func_append compiler_flags " $arg"
func_append compile_command " $arg"
func_append finalize_command " $arg"
prev=xcompiler
continue
;;
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
func_append compiler_flags " $arg"
func_append compile_command " $arg"
func_append finalize_command " $arg"
case "$new_inherited_linker_flags " in
*" $arg "*) ;;
* ) func_append new_inherited_linker_flags " $arg" ;;
esac
continue
;;
-multi_module)
single_module=$wl-multi_module
continue
;;
-no-fast-install)
fast_install=no
continue
;;
-no-install)
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows
# and Darwin in order for the loader to find any dlls it needs.
func_warning "'-no-install' is ignored for $host"
func_warning "assuming '-no-fast-install' instead"
fast_install=no
;;
*) no_install=yes ;;
esac
continue
;;
-no-undefined)
allow_undefined=no
continue
;;
-objectlist)
prev=objectlist
continue
;;
-os2dllname)
prev=os2dllname
continue
;;
-o) prev=output ;;
-precious-files-regex)
prev=precious_regex
continue
;;
-release)
prev=release
continue
;;
-rpath)
prev=rpath
continue
;;
-R)
prev=xrpath
continue
;;
-R*)
func_stripname '-R' '' "$arg"
dir=$func_stripname_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
=*)
func_stripname '=' '' "$dir"
dir=$lt_sysroot$func_stripname_result
;;
*)
func_fatal_error "only absolute run-paths are allowed"
;;
esac
case "$xrpath " in
*" $dir "*) ;;
*) func_append xrpath " $dir" ;;
esac
continue
;;
-shared)
# The effects of -shared are defined in a previous loop.
continue
;;
-shrext)
prev=shrext
continue
;;
-static | -static-libtool-libs)
# The effects of -static are defined in a previous loop.
# We used to do the same as -all-static on platforms that
# didn't have a PIC flag, but the assumption that the effects
# would be equivalent was wrong. It would break on at least
# Digital Unix and AIX.
continue
;;
-thread-safe)
thread_safe=yes
continue
;;
-version-info)
prev=vinfo
continue
;;
-version-number)
prev=vinfo
vinfo_number=yes
continue
;;
-weak)
prev=weak
continue
;;
-Wc,*)
func_stripname '-Wc,' '' "$arg"
args=$func_stripname_result
arg=
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
func_quote_arg pretty "$flag"
func_append arg " $func_quote_arg_result"
func_append compiler_flags " $func_quote_arg_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
-Wl,*)
func_stripname '-Wl,' '' "$arg"
args=$func_stripname_result
arg=
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
func_quote_arg pretty "$flag"
func_append arg " $wl$func_quote_arg_result"
func_append compiler_flags " $wl$func_quote_arg_result"
func_append linker_flags " $func_quote_arg_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
-Xcompiler)
prev=xcompiler
continue
;;
-Xlinker)
prev=xlinker
continue
;;
-XCClinker)
prev=xcclinker
continue
;;
# -msg_* for osf cc
-msg_*)
func_quote_arg pretty "$arg"
arg=$func_quote_arg_result
;;
# Flags to be passed through unchanged, with rationale:
# -64, -mips[0-9] enable 64-bit mode for the SGI compiler
# -r[0-9][0-9]* specify processor for the SGI compiler
# -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
# +DA*, +DD* enable 64-bit mode for the HP compiler
# -q* compiler args for the IBM compiler
# -m*, -t[45]*, -txscale* architecture-specific flags for GCC
# -F/path path to uninstalled frameworks, gcc on darwin
# -p, -pg, --coverage, -fprofile-* profiling flags for GCC
# -fstack-protector* stack protector flags for GCC
# @file GCC response files
# -tp=* Portland pgcc target processor selection
# --sysroot=* for sysroot support
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
# -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
# -fsanitize=* Clang/GCC memory and address sanitizer
# -fuse-ld=* Linker select flags for GCC
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
-specs=*|-fsanitize=*|-fuse-ld=*)
func_quote_arg pretty "$arg"
arg=$func_quote_arg_result
func_append compile_command " $arg"
func_append finalize_command " $arg"
func_append compiler_flags " $arg"
continue
;;
-Z*)
if test os2 = "`expr $host : '.*\(os2\)'`"; then
# OS/2 uses -Zxxx to specify OS/2-specific options
compiler_flags="$compiler_flags $arg"
func_append compile_command " $arg"
func_append finalize_command " $arg"
case $arg in
-Zlinker | -Zstack)
prev=xcompiler
;;
esac
continue
else
# Otherwise treat like 'Some other compiler flag' below
func_quote_arg pretty "$arg"
arg=$func_quote_arg_result
fi
;;
# Some other compiler flag.
-* | +*)
func_quote_arg pretty "$arg"
arg=$func_quote_arg_result
;;
*.$objext)
# A standard object.
func_append objs " $arg"
;;
*.lo)
# A libtool-controlled object.
# Check to see that this really is a libtool object.
if func_lalib_unsafe_p "$arg"; then
pic_object=
non_pic_object=
# Read the .lo file
func_source "$arg"
if test -z "$pic_object" ||
test -z "$non_pic_object" ||
test none = "$pic_object" &&
test none = "$non_pic_object"; then
func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
xdir=$func_dirname_result
test none = "$pic_object" || {
# Prepend the subdirectory the object is found in.
pic_object=$xdir$pic_object
if test dlfiles = "$prev"; then
if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
func_append dlfiles " $pic_object"
prev=
continue
else
# If libtool objects are unsupported, then we need to preload.
prev=dlprefiles
fi
fi
# CHECK ME: I think I busted this. -Ossama
if test dlprefiles = "$prev"; then
# Preload the old-style object.
func_append dlprefiles " $pic_object"
prev=
fi
# A PIC object.
func_append libobjs " $pic_object"
arg=$pic_object
}
# Non-PIC object.
if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
func_append non_pic_objects " $non_pic_object"
if test -z "$pic_object" || test none = "$pic_object"; then
arg=$non_pic_object
fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
non_pic_object=$pic_object
func_append non_pic_objects " $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
if $opt_dry_run; then
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
xdir=$func_dirname_result
func_lo2o "$arg"
pic_object=$xdir$objdir/$func_lo2o_result
non_pic_object=$xdir$func_lo2o_result
func_append libobjs " $pic_object"
func_append non_pic_objects " $non_pic_object"
else
func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
;;
*.$libext)
# An archive.
func_append deplibs " $arg"
func_append old_deplibs " $arg"
continue
;;
*.la)
# A libtool-controlled library.
func_resolve_sysroot "$arg"
if test dlfiles = "$prev"; then
# This library was specified with -dlopen.
func_append dlfiles " $func_resolve_sysroot_result"
prev=
elif test dlprefiles = "$prev"; then
# The library was specified with -dlpreopen.
func_append dlprefiles " $func_resolve_sysroot_result"
prev=
else
func_append deplibs " $func_resolve_sysroot_result"
fi
continue
;;
# Some other compiler argument.
*)
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
func_quote_arg pretty "$arg"
arg=$func_quote_arg_result
;;
esac # arg
# Now actually substitute the argument into the commands.
if test -n "$arg"; then
func_append compile_command " $arg"
func_append finalize_command " $arg"
fi
done # argument parsing loop
test -n "$prev" && \
func_fatal_help "the '$prevarg' option requires an argument"
if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
eval arg=\"$export_dynamic_flag_spec\"
func_append compile_command " $arg"
func_append finalize_command " $arg"
fi
oldlibs=
# calculate the name of the file, without its directory
func_basename "$output"
outputname=$func_basename_result
libobjs_save=$libobjs
if test -n "$shlibpath_var"; then
# get the directories listed in $shlibpath_var
eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
else
shlib_search_path=
fi
eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
# Definition is injected by LT_CONFIG during libtool generation.
func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
func_dirname "$output" "/" ""
output_objdir=$func_dirname_result$objdir
func_to_tool_file "$output_objdir/"
tool_output_objdir=$func_to_tool_file_result
# Create the object directory.
func_mkdir_p "$output_objdir"
# Determine the type of output
case $output in
"")
func_fatal_help "you must specify an output file"
;;
*.$libext) linkmode=oldlib ;;
*.lo | *.$objext) linkmode=obj ;;
*.la) linkmode=lib ;;
*) linkmode=prog ;; # Anything else should be a program.
esac
specialdeplibs=
libs=
# Find all interdependent deplibs by searching for libraries
# that are linked more than once (e.g. -la -lb -la)
for deplib in $deplibs; do
if $opt_preserve_dup_deps; then
case "$libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
func_append libs " $deplib"
done
if test lib = "$linkmode"; then
libs="$predeps $libs $compiler_lib_search_path $postdeps"
# Compute libraries that are listed more than once in $predeps
# $postdeps and mark them as special (i.e., whose duplicates are
# not to be eliminated).
pre_post_deps=
if $opt_duplicate_compiler_generated_deps; then
for pre_post_dep in $predeps $postdeps; do
case "$pre_post_deps " in
*" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
esac
func_append pre_post_deps " $pre_post_dep"
done
fi
pre_post_deps=
fi
deplibs=
newdependency_libs=
newlib_search_path=
need_relink=no # whether we're linking any uninstalled libtool libraries
notinst_deplibs= # not-installed libtool libraries
notinst_path= # paths that contain not-installed libtool libraries
case $linkmode in
lib)
passes="conv dlpreopen link"
for file in $dlfiles $dlprefiles; do
case $file in
*.la) ;;
*)
func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
;;
esac
done
;;
prog)
compile_deplibs=
finalize_deplibs=
alldeplibs=false
newdlfiles=
newdlprefiles=
passes="conv scan dlopen dlpreopen link"
;;
*) passes="conv"
;;
esac
for pass in $passes; do
# The preopen pass in lib mode reverses $deplibs; put it back here
# so that -L comes before libs that need it for instance...
if test lib,link = "$linkmode,$pass"; then
## FIXME: Find the place where the list is rebuilt in the wrong
## order, and fix it there properly
tmp_deplibs=
for deplib in $deplibs; do
tmp_deplibs="$deplib $tmp_deplibs"
done
deplibs=$tmp_deplibs
fi
if test lib,link = "$linkmode,$pass" ||
test prog,scan = "$linkmode,$pass"; then
libs=$deplibs
deplibs=
fi
if test prog = "$linkmode"; then
case $pass in
dlopen) libs=$dlfiles ;;
dlpreopen) libs=$dlprefiles ;;
link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
esac
fi
if test lib,dlpreopen = "$linkmode,$pass"; then
# Collect and forward deplibs of preopened libtool libs
for lib in $dlprefiles; do
# Ignore non-libtool-libs
dependency_libs=
func_resolve_sysroot "$lib"
case $lib in
*.la) func_source "$func_resolve_sysroot_result" ;;
esac
# Collect preopened libtool deplibs, except any this library
# has declared as weak libs
for deplib in $dependency_libs; do
func_basename "$deplib"
deplib_base=$func_basename_result
case " $weak_libs " in
*" $deplib_base "*) ;;
*) func_append deplibs " $deplib" ;;
esac
done
done
libs=$dlprefiles
fi
if test dlopen = "$pass"; then
# Collect dlpreopened libraries
save_deplibs=$deplibs
deplibs=
fi
for deplib in $libs; do
lib=
found=false
case $deplib in
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
func_append compiler_flags " $deplib"
if test lib = "$linkmode"; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
* ) func_append new_inherited_linker_flags " $deplib" ;;
esac
fi
fi
continue
;;
-l*)
if test lib != "$linkmode" && test prog != "$linkmode"; then
func_warning "'-l' is ignored for archives/objects"
continue
fi
func_stripname '-l' '' "$deplib"
name=$func_stripname_result
if test lib = "$linkmode"; then
searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
else
searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
fi
for searchdir in $searchdirs; do
for search_ext in .la $std_shrext .so .a; do
# Search the libtool library
lib=$searchdir/lib$name$search_ext
if test -f "$lib"; then
if test .la = "$search_ext"; then
found=:
else
found=false
fi
break 2
fi
done
done
if $found; then
# deplib is a libtool library
# If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
# We need to do some special things here, and not later.
if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $deplib "*)
if func_lalib_p "$lib"; then
library_names=
old_library=
func_source "$lib"
for l in $old_library $library_names; do
ll=$l
done
if test "X$ll" = "X$old_library"; then # only static version available
found=false
func_dirname "$lib" "" "."
ladir=$func_dirname_result
lib=$ladir/$old_library
if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
fi
continue
fi
fi
;;
*) ;;
esac
fi
else
# deplib doesn't seem to be a libtool library
if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
fi
continue
fi
;; # -l
*.ltframework)
if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
if test lib = "$linkmode"; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
* ) func_append new_inherited_linker_flags " $deplib" ;;
esac
fi
fi
continue
;;
-L*)
case $linkmode in
lib)
deplibs="$deplib $deplibs"
test conv = "$pass" && continue
newdependency_libs="$deplib $newdependency_libs"
func_stripname '-L' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
prog)
if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
if test scan = "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
fi
func_stripname '-L' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
*)
func_warning "'-L' is ignored for archives/objects"
;;
esac # linkmode
continue
;; # -L
-R*)
if test link = "$pass"; then
func_stripname '-R' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
dir=$func_resolve_sysroot_result
# Make sure the xrpath contains only unique directories.
case "$xrpath " in
*" $dir "*) ;;
*) func_append xrpath " $dir" ;;
esac
fi
deplibs="$deplib $deplibs"
continue
;;
*.la)
func_resolve_sysroot "$deplib"
lib=$func_resolve_sysroot_result
;;
*.$libext)
if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
case $linkmode in
lib)
# Linking convenience modules into shared libraries is allowed,
# but linking other static libraries is non-portable.
case " $dlpreconveniencelibs " in
*" $deplib "*) ;;
*)
valid_a_lib=false
case $deplibs_check_method in
match_pattern*)
set dummy $deplibs_check_method; shift
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
valid_a_lib=:
fi
;;
pass_all)
valid_a_lib=:
;;
esac
if $valid_a_lib; then
echo
$ECHO "*** Warning: Linking the shared library $output against the"
$ECHO "*** static library $deplib is not portable!"
deplibs="$deplib $deplibs"
else
echo
$ECHO "*** Warning: Trying to link with static lib archive $deplib."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because the file extensions .$libext of this argument makes me believe"
echo "*** that it is just a static archive that I should not use here."
fi
;;
esac
continue
;;
prog)
if test link != "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
fi
continue
;;
esac # linkmode
;; # *.$libext
*.lo | *.$objext)
if test conv = "$pass"; then
deplibs="$deplib $deplibs"
elif test prog = "$linkmode"; then
if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
# If there is no dlopen support or we're linking statically,
# we need to preload.
func_append newdlprefiles " $deplib"
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
func_append newdlfiles " $deplib"
fi
fi
continue
;;
%DEPLIBS%)
alldeplibs=:
continue
;;
esac # case $deplib
$found || test -f "$lib" \
|| func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$lib" \
|| func_fatal_error "'$lib' is not a valid libtool archive"
func_dirname "$lib" "" "."
ladir=$func_dirname_result
dlname=
dlopen=
dlpreopen=
libdir=
library_names=
old_library=
inherited_linker_flags=
# If the library was installed with an old release of libtool,
# it will not redefine variables installed, or shouldnotlink
installed=yes
shouldnotlink=no
avoidtemprpath=
# Read the .la file
func_source "$lib"
# Convert "-framework foo" to "foo.ltframework"
if test -n "$inherited_linker_flags"; then
tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
case " $new_inherited_linker_flags " in
*" $tmp_inherited_linker_flag "*) ;;
*) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
esac
done
fi
dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
if test lib,link = "$linkmode,$pass" ||
test prog,scan = "$linkmode,$pass" ||
{ test prog != "$linkmode" && test lib != "$linkmode"; }; then
test -n "$dlopen" && func_append dlfiles " $dlopen"
test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
fi
if test conv = "$pass"; then
# Only check for convenience libraries
deplibs="$lib $deplibs"
if test -z "$libdir"; then
if test -z "$old_library"; then
func_fatal_error "cannot find name of link library for '$lib'"
fi
# It is a libtool convenience library, so add in its objects.
func_append convenience " $ladir/$objdir/$old_library"
func_append old_convenience " $ladir/$objdir/$old_library"
elif test prog != "$linkmode" && test lib != "$linkmode"; then
func_fatal_error "'$lib' is not a convenience library"
fi
tmp_libs=
for deplib in $dependency_libs; do
deplibs="$deplib $deplibs"
if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
func_append tmp_libs " $deplib"
done
continue
fi # $pass = conv
# Get the name of the library we link against.
linklib=
if test -n "$old_library" &&
{ test yes = "$prefer_static_libs" ||
test built,no = "$prefer_static_libs,$installed"; }; then
linklib=$old_library
else
for l in $old_library $library_names; do
linklib=$l
done
fi
if test -z "$linklib"; then
func_fatal_error "cannot find name of link library for '$lib'"
fi
# This library was specified with -dlopen.
if test dlopen = "$pass"; then
test -z "$libdir" \
&& func_fatal_error "cannot -dlopen a convenience library: '$lib'"
if test -z "$dlname" ||
test yes != "$dlopen_support" ||
test no = "$build_libtool_libs"
then
# If there is no dlname, no dlopen support or we're linking
# statically, we need to preload. We also need to preload any
# dependent libraries so libltdl's deplib preloader doesn't
# bomb out in the load deplibs phase.
func_append dlprefiles " $lib $dependency_libs"
else
func_append newdlfiles " $lib"
fi
continue
fi # $pass = dlopen
# We need an absolute path.
case $ladir in
[\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
*)
abs_ladir=`cd "$ladir" && pwd`
if test -z "$abs_ladir"; then
func_warning "cannot determine absolute directory name of '$ladir'"
func_warning "passing it literally to the linker, although it might fail"
abs_ladir=$ladir
fi
;;
esac
func_basename "$lib"
laname=$func_basename_result
# Find the relevant object directory and library name.
if test yes = "$installed"; then
if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
func_warning "library '$lib' was moved."
dir=$ladir
absdir=$abs_ladir
libdir=$abs_ladir
else
dir=$lt_sysroot$libdir
absdir=$lt_sysroot$libdir
fi
test yes = "$hardcode_automatic" && avoidtemprpath=yes
else
if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
dir=$ladir
absdir=$abs_ladir
# Remove this search path later
func_append notinst_path " $abs_ladir"
else
dir=$ladir/$objdir
absdir=$abs_ladir/$objdir
# Remove this search path later
func_append notinst_path " $abs_ladir"
fi
fi # $installed = yes
func_stripname 'lib' '.la' "$laname"
name=$func_stripname_result
# This library was specified with -dlpreopen.
if test dlpreopen = "$pass"; then
if test -z "$libdir" && test prog = "$linkmode"; then
func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
fi
case $host in
# special handling for platforms with PE-DLLs.
*cygwin* | *mingw* | *cegcc* )
# Linker will automatically link against shared library if both
# static and shared are present. Therefore, ensure we extract
# symbols from the import library if a shared library is present
# (otherwise, the dlopen module name will be incorrect). We do
# this by putting the import library name into $newdlprefiles.
# We recover the dlopen module name by 'saving' the la file
# name in a special purpose variable, and (later) extracting the
# dlname from the la file.
if test -n "$dlname"; then
func_tr_sh "$dir/$linklib"
eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
func_append newdlprefiles " $dir/$linklib"
else
func_append newdlprefiles " $dir/$old_library"
# Keep a list of preopened convenience libraries to check
# that they are being used correctly in the link pass.
test -z "$libdir" && \
func_append dlpreconveniencelibs " $dir/$old_library"
fi
;;
* )
# Prefer using a static library (so that no silly _DYNAMIC symbols
# are required to link).
if test -n "$old_library"; then
func_append newdlprefiles " $dir/$old_library"
# Keep a list of preopened convenience libraries to check
# that they are being used correctly in the link pass.
test -z "$libdir" && \
func_append dlpreconveniencelibs " $dir/$old_library"
# Otherwise, use the dlname, so that lt_dlopen finds it.
elif test -n "$dlname"; then
func_append newdlprefiles " $dir/$dlname"
else
func_append newdlprefiles " $dir/$linklib"
fi
;;
esac
fi # $pass = dlpreopen
if test -z "$libdir"; then
# Link the convenience library
if test lib = "$linkmode"; then
deplibs="$dir/$old_library $deplibs"
elif test prog,link = "$linkmode,$pass"; then
compile_deplibs="$dir/$old_library $compile_deplibs"
finalize_deplibs="$dir/$old_library $finalize_deplibs"
else
deplibs="$lib $deplibs" # used for prog,scan pass
fi
continue
fi
if test prog = "$linkmode" && test link != "$pass"; then
func_append newlib_search_path " $ladir"
deplibs="$lib $deplibs"
linkalldeplibs=false
if test no != "$link_all_deplibs" || test -z "$library_names" ||
test no = "$build_libtool_libs"; then
linkalldeplibs=:
fi
tmp_libs=
for deplib in $dependency_libs; do
case $deplib in
-L*) func_stripname '-L' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
esac
# Need to link against all dependency_libs?
if $linkalldeplibs; then
deplibs="$deplib $deplibs"
else
# Need to hardcode shared library paths
# or/and link against static libraries
newdependency_libs="$deplib $newdependency_libs"
fi
if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
func_append tmp_libs " $deplib"
done # for deplib
continue
fi # $linkmode = prog...
if test prog,link = "$linkmode,$pass"; then
if test -n "$library_names" &&
{ { test no = "$prefer_static_libs" ||
test built,yes = "$prefer_static_libs,$installed"; } ||
test -z "$old_library"; }; then
# We need to hardcode the library path
if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
# Make sure the rpath contains only unique directories.
case $temp_rpath: in
*"$absdir:"*) ;;
*) func_append temp_rpath "$absdir:" ;;
esac
fi
# Hardcode the library path.
# Skip directories that are in the system default run-time
# search path.
case " $sys_lib_dlsearch_path " in
*" $absdir "*) ;;
*)
case "$compile_rpath " in
*" $absdir "*) ;;
*) func_append compile_rpath " $absdir" ;;
esac
;;
esac
case " $sys_lib_dlsearch_path " in
*" $libdir "*) ;;
*)
case "$finalize_rpath " in
*" $libdir "*) ;;
*) func_append finalize_rpath " $libdir" ;;
esac
;;
esac
fi # $linkmode,$pass = prog,link...
if $alldeplibs &&
{ test pass_all = "$deplibs_check_method" ||
{ test yes = "$build_libtool_libs" &&
test -n "$library_names"; }; }; then
# We only need to search for static libraries
continue
fi
fi
link_static=no # Whether the deplib will be linked statically
use_static_libs=$prefer_static_libs
if test built = "$use_static_libs" && test yes = "$installed"; then
use_static_libs=no
fi
if test -n "$library_names" &&
{ test no = "$use_static_libs" || test -z "$old_library"; }; then
case $host in
*cygwin* | *mingw* | *cegcc* | *os2*)
# No point in relinking DLLs because paths are not encoded
func_append notinst_deplibs " $lib"
need_relink=no
;;
*)
if test no = "$installed"; then
func_append notinst_deplibs " $lib"
need_relink=yes
fi
;;
esac
# This is a shared library
# Warn about portability, can't link against -module's on some
# systems (darwin). Don't bleat about dlopened modules though!
dlopenmodule=
for dlpremoduletest in $dlprefiles; do
if test "X$dlpremoduletest" = "X$lib"; then
dlopenmodule=$dlpremoduletest
break
fi
done
if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
echo
if test prog = "$linkmode"; then
$ECHO "*** Warning: Linking the executable $output against the loadable module"
else
$ECHO "*** Warning: Linking the shared library $output against the loadable module"
fi
$ECHO "*** $linklib is not portable!"
fi
if test lib = "$linkmode" &&
test yes = "$hardcode_into_libs"; then
# Hardcode the library path.
# Skip directories that are in the system default run-time
# search path.
case " $sys_lib_dlsearch_path " in
*" $absdir "*) ;;
*)
case "$compile_rpath " in
*" $absdir "*) ;;
*) func_append compile_rpath " $absdir" ;;
esac
;;
esac
case " $sys_lib_dlsearch_path " in
*" $libdir "*) ;;
*)
case "$finalize_rpath " in
*" $libdir "*) ;;
*) func_append finalize_rpath " $libdir" ;;
esac
;;
esac
fi
if test -n "$old_archive_from_expsyms_cmds"; then
# figure out the soname
set dummy $library_names
shift
realname=$1
shift
libname=`eval "\\$ECHO \"$libname_spec\""`
# use dlname if we got it. it's perfectly good, no?
if test -n "$dlname"; then
soname=$dlname
elif test -n "$soname_spec"; then
# bleh windows
case $host in
*cygwin* | mingw* | *cegcc* | *os2*)
func_arith $current - $age
major=$func_arith_result
versuffix=-$major
;;
esac
eval soname=\"$soname_spec\"
else
soname=$realname
fi
# Make a new name for the extract_expsyms_cmds to use
soroot=$soname
func_basename "$soroot"
soname=$func_basename_result
func_stripname 'lib' '.dll' "$soname"
newlib=libimp-$func_stripname_result.a
# If the library has no export list, then create one now
if test -f "$output_objdir/$soname-def"; then :
else
func_verbose "extracting exported symbol list from '$soname'"
func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
fi
# Create $newlib
if test -f "$output_objdir/$newlib"; then :; else
func_verbose "generating import library for '$soname'"
func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
fi
# make sure the library variables are pointing to the new library
dir=$output_objdir
linklib=$newlib
fi # test -n "$old_archive_from_expsyms_cmds"
if test prog = "$linkmode" || test relink != "$opt_mode"; then
add_shlibpath=
add_dir=
add=
lib_linked=yes
case $hardcode_action in
immediate | unsupported)
if test no = "$hardcode_direct"; then
add=$dir/$linklib
case $host in
*-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
*-*-sysv4*uw2*) add_dir=-L$dir ;;
*-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
*-*-unixware7*) add_dir=-L$dir ;;
*-*-darwin* )
# if the lib is a (non-dlopened) module then we cannot
# link against it, someone is ignoring the earlier warnings
if /usr/bin/file -L $add 2> /dev/null |
$GREP ": [^:]* bundle" >/dev/null; then
if test "X$dlopenmodule" != "X$lib"; then
$ECHO "*** Warning: lib $linklib is a module, not a shared library"
if test -z "$old_library"; then
echo
echo "*** And there doesn't seem to be a static archive available"
echo "*** The link will probably fail, sorry"
else
add=$dir/$old_library
fi
elif test -n "$old_library"; then
add=$dir/$old_library
fi
fi
esac
elif test no = "$hardcode_minus_L"; then
case $host in
*-*-sunos*) add_shlibpath=$dir ;;
esac
add_dir=-L$dir
add=-l$name
elif test no = "$hardcode_shlibpath_var"; then
add_shlibpath=$dir
add=-l$name
else
lib_linked=no
fi
;;
relink)
if test yes = "$hardcode_direct" &&
test no = "$hardcode_direct_absolute"; then
add=$dir/$linklib
elif test yes = "$hardcode_minus_L"; then
add_dir=-L$absdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
[\\/]*)
func_append add_dir " -L$inst_prefix_dir$libdir"
;;
esac
fi
add=-l$name
elif test yes = "$hardcode_shlibpath_var"; then
add_shlibpath=$dir
add=-l$name
else
lib_linked=no
fi
;;
*) lib_linked=no ;;
esac
if test yes != "$lib_linked"; then
func_fatal_configuration "unsupported hardcode properties"
fi
if test -n "$add_shlibpath"; then
case :$compile_shlibpath: in
*":$add_shlibpath:"*) ;;
*) func_append compile_shlibpath "$add_shlibpath:" ;;
esac
fi
if test prog = "$linkmode"; then
test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
test -n "$add" && compile_deplibs="$add $compile_deplibs"
else
test -n "$add_dir" && deplibs="$add_dir $deplibs"
test -n "$add" && deplibs="$add $deplibs"
if test yes != "$hardcode_direct" &&
test yes != "$hardcode_minus_L" &&
test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
*) func_append finalize_shlibpath "$libdir:" ;;
esac
fi
fi
fi
if test prog = "$linkmode" || test relink = "$opt_mode"; then
add_shlibpath=
add_dir=
add=
# Finalize command for both is simple: just hardcode it.
if test yes = "$hardcode_direct" &&
test no = "$hardcode_direct_absolute"; then
add=$libdir/$linklib
elif test yes = "$hardcode_minus_L"; then
add_dir=-L$libdir
add=-l$name
elif test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
*) func_append finalize_shlibpath "$libdir:" ;;
esac
add=-l$name
elif test yes = "$hardcode_automatic"; then
if test -n "$inst_prefix_dir" &&
test -f "$inst_prefix_dir$libdir/$linklib"; then
add=$inst_prefix_dir$libdir/$linklib
else
add=$libdir/$linklib
fi
else
# We cannot seem to hardcode it, guess we'll fake it.
add_dir=-L$libdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
[\\/]*)
func_append add_dir " -L$inst_prefix_dir$libdir"
;;
esac
fi
add=-l$name
fi
if test prog = "$linkmode"; then
test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
else
test -n "$add_dir" && deplibs="$add_dir $deplibs"
test -n "$add" && deplibs="$add $deplibs"
fi
fi
elif test prog = "$linkmode"; then
# Here we assume that one of hardcode_direct or hardcode_minus_L
# is not unsupported. This is valid on all known static and
# shared platforms.
if test unsupported != "$hardcode_direct"; then
test -n "$old_library" && linklib=$old_library
compile_deplibs="$dir/$linklib $compile_deplibs"
finalize_deplibs="$dir/$linklib $finalize_deplibs"
else
compile_deplibs="-l$name -L$dir $compile_deplibs"
finalize_deplibs="-l$name -L$dir $finalize_deplibs"
fi
elif test yes = "$build_libtool_libs"; then
# Not a shared library
if test pass_all != "$deplibs_check_method"; then
# We're trying link a shared library against a static one
# but the system doesn't support it.
# Just print a warning and add the library to dependency_libs so
# that the program can be linked against the static library.
echo
$ECHO "*** Warning: This system cannot link to static lib archive $lib."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have."
if test yes = "$module"; then
echo "*** But as you try to build a module library, libtool will still create "
echo "*** a static module, that should work as long as the dlopening application"
echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
if test -z "$global_symbol_pipe"; then
echo
echo "*** However, this would only work if libtool was able to extract symbol"
echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** not find such a program. So, this module is probably useless."
echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
if test no = "$build_old_libs"; then
build_libtool_libs=module
build_old_libs=yes
else
build_libtool_libs=no
fi
fi
else
deplibs="$dir/$old_library $deplibs"
link_static=yes
fi
fi # link shared/static library?
if test lib = "$linkmode"; then
if test -n "$dependency_libs" &&
{ test yes != "$hardcode_into_libs" ||
test yes = "$build_old_libs" ||
test yes = "$link_static"; }; then
# Extract -R from dependency_libs
temp_deplibs=
for libdir in $dependency_libs; do
case $libdir in
-R*) func_stripname '-R' '' "$libdir"
temp_xrpath=$func_stripname_result
case " $xrpath " in
*" $temp_xrpath "*) ;;
*) func_append xrpath " $temp_xrpath";;
esac;;
*) func_append temp_deplibs " $libdir";;
esac
done
dependency_libs=$temp_deplibs
fi
func_append newlib_search_path " $absdir"
# Link against this library
test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
# ... and its dependency_libs
tmp_libs=
for deplib in $dependency_libs; do
newdependency_libs="$deplib $newdependency_libs"
case $deplib in
-L*) func_stripname '-L' '' "$deplib"
func_resolve_sysroot "$func_stripname_result";;
*) func_resolve_sysroot "$deplib" ;;
esac
if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $func_resolve_sysroot_result "*)
func_append specialdeplibs " $func_resolve_sysroot_result" ;;
esac
fi
func_append tmp_libs " $func_resolve_sysroot_result"
done
if test no != "$link_all_deplibs"; then
# Add the search paths of all dependency libraries
for deplib in $dependency_libs; do
path=
case $deplib in
-L*) path=$deplib ;;
*.la)
func_resolve_sysroot "$deplib"
deplib=$func_resolve_sysroot_result
func_dirname "$deplib" "" "."
dir=$func_dirname_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
*)
absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then
func_warning "cannot determine absolute directory name of '$dir'"
absdir=$dir
fi
;;
esac
if $GREP "^installed=no" $deplib > /dev/null; then
case $host in
*-*-darwin*)
depdepl=
eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
if test -n "$deplibrary_names"; then
for tmp in $deplibrary_names; do
depdepl=$tmp
done
if test -f "$absdir/$objdir/$depdepl"; then
depdepl=$absdir/$objdir/$depdepl
darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
if test -z "$darwin_install_name"; then
darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
fi
func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
path=
fi
fi
;;
*)
path=-L$absdir/$objdir
;;
esac
else
eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
test -z "$libdir" && \
func_fatal_error "'$deplib' is not a valid libtool archive"
test "$absdir" != "$libdir" && \
func_warning "'$deplib' seems to be moved"
path=-L$absdir
fi
;;
esac
case " $deplibs " in
*" $path "*) ;;
*) deplibs="$path $deplibs" ;;
esac
done
fi # link_all_deplibs != no
fi # linkmode = lib
done # for deplib in $libs
if test link = "$pass"; then
if test prog = "$linkmode"; then
compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
else
compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
fi
fi
dependency_libs=$newdependency_libs
if test dlpreopen = "$pass"; then
# Link the dlpreopened libraries before other libraries
for deplib in $save_deplibs; do
deplibs="$deplib $deplibs"
done
fi
if test dlopen != "$pass"; then
test conv = "$pass" || {
# Make sure lib_search_path contains only unique directories.
lib_search_path=
for dir in $newlib_search_path; do
case "$lib_search_path " in
*" $dir "*) ;;
*) func_append lib_search_path " $dir" ;;
esac
done
newlib_search_path=
}
if test prog,link = "$linkmode,$pass"; then
vars="compile_deplibs finalize_deplibs"
else
vars=deplibs
fi
for var in $vars dependency_libs; do
# Add libraries to $var in reverse order
eval tmp_libs=\"\$$var\"
new_libs=
for deplib in $tmp_libs; do
# FIXME: Pedantically, this is the right thing to do, so
# that some nasty dependency loop isn't accidentally
# broken:
#new_libs="$deplib $new_libs"
# Pragmatically, this seems to cause very few problems in
# practice:
case $deplib in
-L*) new_libs="$deplib $new_libs" ;;
-R*) ;;
*)
# And here is the reason: when a library appears more
# than once as an explicit dependence of a library, or
# is implicitly linked in more than once by the
# compiler, it is considered special, and multiple
# occurrences thereof are not removed. Compare this
# with having the same library being listed as a
# dependency of multiple other libraries: in this case,
# we know (pedantically, we assume) the library does not
# need to be listed more than once, so we keep only the
# last copy. This is not always right, but it is rare
# enough that we require users that really mean to play
# such unportable linking tricks to link the library
# using -Wl,-lname, so that libtool does not consider it
# for duplicate removal.
case " $specialdeplibs " in
*" $deplib "*) new_libs="$deplib $new_libs" ;;
*)
case " $new_libs " in
*" $deplib "*) ;;
*) new_libs="$deplib $new_libs" ;;
esac
;;
esac
;;
esac
done
tmp_libs=
for deplib in $new_libs; do
case $deplib in
-L*)
case " $tmp_libs " in
*" $deplib "*) ;;
*) func_append tmp_libs " $deplib" ;;
esac
;;
*) func_append tmp_libs " $deplib" ;;
esac
done
eval $var=\"$tmp_libs\"
done # for var
fi
# Add Sun CC postdeps if required:
test CXX = "$tagname" && {
case $host_os in
linux*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C++ 5.9
func_suncc_cstd_abi
if test no != "$suncc_use_cstd_abi"; then
func_append postdeps ' -library=Cstd -library=Crun'
fi
;;
esac
;;
solaris*)
func_cc_basename "$CC"
case $func_cc_basename_result in
CC* | sunCC*)
func_suncc_cstd_abi
if test no != "$suncc_use_cstd_abi"; then
func_append postdeps ' -library=Cstd -library=Crun'
fi
;;
esac
;;
esac
}
# Last step: remove runtime libs from dependency_libs
# (they stay in deplibs)
tmp_libs=
for i in $dependency_libs; do
case " $predeps $postdeps $compiler_lib_search_path " in
*" $i "*)
i=
;;
esac
if test -n "$i"; then
func_append tmp_libs " $i"
fi
done
dependency_libs=$tmp_libs
done # for pass
if test prog = "$linkmode"; then
dlfiles=$newdlfiles
fi
if test prog = "$linkmode" || test lib = "$linkmode"; then
dlprefiles=$newdlprefiles
fi
case $linkmode in
oldlib)
if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
func_warning "'-dlopen' is ignored for archives"
fi
case " $deplibs" in
*\ -l* | *\ -L*)
func_warning "'-l' and '-L' are ignored for archives" ;;
esac
test -n "$rpath" && \
func_warning "'-rpath' is ignored for archives"
test -n "$xrpath" && \
func_warning "'-R' is ignored for archives"
test -n "$vinfo" && \
func_warning "'-version-info/-version-number' is ignored for archives"
test -n "$release" && \
func_warning "'-release' is ignored for archives"
test -n "$export_symbols$export_symbols_regex" && \
func_warning "'-export-symbols' is ignored for archives"
# Now set the variables for building old libraries.
build_libtool_libs=no
oldlibs=$output
func_append objs "$old_deplibs"
;;
lib)
# Make sure we only generate libraries of the form 'libNAME.la'.
case $outputname in
lib*)
func_stripname 'lib' '.la' "$outputname"
name=$func_stripname_result
eval shared_ext=\"$shrext_cmds\"
eval libname=\"$libname_spec\"
;;
*)
test no = "$module" \
&& func_fatal_help "libtool library '$output' must begin with 'lib'"
if test no != "$need_lib_prefix"; then
# Add the "lib" prefix for modules if required
func_stripname '' '.la' "$outputname"
name=$func_stripname_result
eval shared_ext=\"$shrext_cmds\"
eval libname=\"$libname_spec\"
else
func_stripname '' '.la' "$outputname"
libname=$func_stripname_result
fi
;;
esac
if test -n "$objs"; then
if test pass_all != "$deplibs_check_method"; then
func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
else
echo
$ECHO "*** Warning: Linking the shared library $output against the non-libtool"
$ECHO "*** objects $objs is not portable!"
func_append libobjs " $objs"
fi
fi
test no = "$dlself" \
|| func_warning "'-dlopen self' is ignored for libtool libraries"
set dummy $rpath
shift
test 1 -lt "$#" \
&& func_warning "ignoring multiple '-rpath's for a libtool library"
install_libdir=$1
oldlibs=
if test -z "$rpath"; then
if test yes = "$build_libtool_libs"; then
# Building a libtool convenience library.
# Some compilers have problems with a '.al' extension so
# convenience libraries should have the same extension an
# archive normally would.
oldlibs="$output_objdir/$libname.$libext $oldlibs"
build_libtool_libs=convenience
build_old_libs=yes
fi
test -n "$vinfo" && \
func_warning "'-version-info/-version-number' is ignored for convenience libraries"
test -n "$release" && \
func_warning "'-release' is ignored for convenience libraries"
else
# Parse the version information argument.
save_ifs=$IFS; IFS=:
set dummy $vinfo 0 0 0
shift
IFS=$save_ifs
test -n "$7" && \
func_fatal_help "too many parameters to '-version-info'"
# convert absolute version numbers to libtool ages
# this retains compatibility with .la files and attempts
# to make the code below a bit more comprehensible
case $vinfo_number in
yes)
number_major=$1
number_minor=$2
number_revision=$3
#
# There are really only two kinds -- those that
# use the current revision as the major version
# and those that subtract age and use age as
# a minor version. But, then there is irix
# that has an extra 1 added just for fun
#
case $version_type in
# correct linux to gnu/linux during the next big refactor
darwin|freebsd-elf|linux|osf|windows|none)
func_arith $number_major + $number_minor
current=$func_arith_result
age=$number_minor
revision=$number_revision
;;
freebsd-aout|qnx|sunos)
current=$number_major
revision=$number_minor
age=0
;;
irix|nonstopux)
func_arith $number_major + $number_minor
current=$func_arith_result
age=$number_minor
revision=$number_minor
lt_irix_increment=no
;;
esac
;;
no)
current=$1
revision=$2
age=$3
;;
esac
# Check that each of the things are valid numbers.
case $current in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
func_error "CURRENT '$current' must be a nonnegative integer"
func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $revision in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
func_error "REVISION '$revision' must be a nonnegative integer"
func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $age in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
func_error "AGE '$age' must be a nonnegative integer"
func_fatal_error "'$vinfo' is not valid version information"
;;
esac
if test "$age" -gt "$current"; then
func_error "AGE '$age' is greater than the current interface number '$current'"
func_fatal_error "'$vinfo' is not valid version information"
fi
# Calculate the version variables.
major=
versuffix=
verstring=
case $version_type in
none) ;;
darwin)
# Like Linux, but with the current version available in
# verstring for coding it into the library header
func_arith $current - $age
major=.$func_arith_result
versuffix=$major.$age.$revision
# Darwin ld doesn't like 0 for these options...
func_arith $current + 1
minor_current=$func_arith_result
xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
# On Darwin other compilers
case $CC in
nagfor*)
verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
;;
*)
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
;;
esac
;;
freebsd-aout)
major=.$current
versuffix=.$current.$revision
;;
freebsd-elf)
func_arith $current - $age
major=.$func_arith_result
versuffix=$major.$age.$revision
;;
irix | nonstopux)
if test no = "$lt_irix_increment"; then
func_arith $current - $age
else
func_arith $current - $age + 1
fi
major=$func_arith_result
case $version_type in
nonstopux) verstring_prefix=nonstopux ;;
*) verstring_prefix=sgi ;;
esac
verstring=$verstring_prefix$major.$revision
# Add in all the interfaces that we are compatible with.
loop=$revision
while test 0 -ne "$loop"; do
func_arith $revision - $loop
iface=$func_arith_result
func_arith $loop - 1
loop=$func_arith_result
verstring=$verstring_prefix$major.$iface:$verstring
done
# Before this point, $major must not contain '.'.
major=.$major
versuffix=$major.$revision
;;
linux) # correct to gnu/linux during the next big refactor
func_arith $current - $age
major=.$func_arith_result
versuffix=$major.$age.$revision
;;
osf)
func_arith $current - $age
major=.$func_arith_result
versuffix=.$current.$age.$revision
verstring=$current.$age.$revision
# Add in all the interfaces that we are compatible with.
loop=$age
while test 0 -ne "$loop"; do
func_arith $current - $loop
iface=$func_arith_result
func_arith $loop - 1
loop=$func_arith_result
verstring=$verstring:$iface.0
done
# Make executables depend on our current version.
func_append verstring ":$current.0"
;;
qnx)
major=.$current
versuffix=.$current
;;
sco)
major=.$current
versuffix=.$current
;;
sunos)
major=.$current
versuffix=.$current.$revision
;;
windows)
# Use '-' rather than '.', since we only want one
# extension on DOS 8.3 file systems.
func_arith $current - $age
major=$func_arith_result
versuffix=-$major
;;
*)
func_fatal_configuration "unknown library version type '$version_type'"
;;
esac
# Clear the version info if we defaulted, and they specified a release.
if test -z "$vinfo" && test -n "$release"; then
major=
case $version_type in
darwin)
# we can't check for "0.0" in archive_cmds due to quoting
# problems, so we reset it completely
verstring=
;;
*)
verstring=0.0
;;
esac
if test no = "$need_version"; then
versuffix=
else
versuffix=.0.0
fi
fi
# Remove version info from name if versioning should be avoided
if test yes,no = "$avoid_version,$need_version"; then
major=
versuffix=
verstring=
fi
# Check to see if the archive will have undefined symbols.
if test yes = "$allow_undefined"; then
if test unsupported = "$allow_undefined_flag"; then
if test yes = "$build_old_libs"; then
func_warning "undefined symbols not allowed in $host shared libraries; building static only"
build_libtool_libs=no
else
func_fatal_error "can't build $host shared library unless -no-undefined is specified"
fi
fi
else
# Don't allow undefined symbols.
allow_undefined_flag=$no_undefined_flag
fi
fi
func_generate_dlsyms "$libname" "$libname" :
func_append libobjs " $symfileobj"
test " " = "$libobjs" && libobjs=
if test relink != "$opt_mode"; then
# Remove our outputs, but don't remove object files since they
# may have been created when compiling PIC objects.
removelist=
tempremovelist=`$ECHO "$output_objdir/*"`
for p in $tempremovelist; do
case $p in
*.$objext | *.gcno)
;;
$output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
if test -n "$precious_files_regex"; then
if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
then
continue
fi
fi
func_append removelist " $p"
;;
*) ;;
esac
done
test -n "$removelist" && \
func_show_eval "${RM}r \$removelist"
fi
# Now set the variables for building old libraries.
if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
func_append oldlibs " $output_objdir/$libname.$libext"
# Transform .lo files to .o files.
oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
fi
# Eliminate all temporary directories.
#for path in $notinst_path; do
# lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
# deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
# dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
#done
if test -n "$xrpath"; then
# If the user specified any rpath flags, then add them.
temp_xrpath=
for libdir in $xrpath; do
func_replace_sysroot "$libdir"
func_append temp_xrpath " -R$func_replace_sysroot_result"
case "$finalize_rpath " in
*" $libdir "*) ;;
*) func_append finalize_rpath " $libdir" ;;
esac
done
if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
dependency_libs="$temp_xrpath $dependency_libs"
fi
fi
# Make sure dlfiles contains only unique files that won't be dlpreopened
old_dlfiles=$dlfiles
dlfiles=
for lib in $old_dlfiles; do
case " $dlprefiles $dlfiles " in
*" $lib "*) ;;
*) func_append dlfiles " $lib" ;;
esac
done
# Make sure dlprefiles contains only unique files
old_dlprefiles=$dlprefiles
dlprefiles=
for lib in $old_dlprefiles; do
case "$dlprefiles " in
*" $lib "*) ;;
*) func_append dlprefiles " $lib" ;;
esac
done
if test yes = "$build_libtool_libs"; then
if test -n "$rpath"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
# these systems don't actually have a c library (as such)!
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C library is in the System framework
func_append deplibs " System.ltframework"
;;
*-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed.
;;
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
# Do not include libc due to us having libc/libc_r.
;;
*-*-sco3.2v5* | *-*-sco5v6*)
# Causes problems with __ctype
;;
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
# Compiler inserts libc in the correct place for threads to work
;;
*)
# Add libc to deplibs on all other systems if necessary.
if test yes = "$build_libtool_need_lc"; then
func_append deplibs " -lc"
fi
;;
esac
fi
# Transform deplibs into only deplibs that can be linked in shared.
name_save=$name
libname_save=$libname
release_save=$release
versuffix_save=$versuffix
major_save=$major
# I'm not sure if I'm treating the release correctly. I think
# release should show up in the -l (ie -lgmp5) so we don't want to
# add it in twice. Is that correct?
release=
versuffix=
major=
newdeplibs=
droppeddeps=no
case $deplibs_check_method in
pass_all)
# Don't check for shared/static. Everything works.
# This might be a little naive. We might want to check
# whether the library exists or not. But this is on
# osf3 & osf4 and I'm not really sure... Just
# implementing what was already the behavior.
newdeplibs=$deplibs
;;
test_compile)
# This code stresses the "libraries are programs" paradigm to its
# limits. Maybe even breaks it. We compile a program, linking it
# against the deplibs as a proxy for the library. Then we can check
# whether they linked in statically or dynamically with ldd.
$opt_dry_run || $RM conftest.c
cat > conftest.c </dev/null`
$nocaseglob
else
potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
fi
for potent_lib in $potential_libs; do
# Follow soft links.
if ls -lLd "$potent_lib" 2>/dev/null |
$GREP " -> " >/dev/null; then
continue
fi
# The statement above tries to avoid entering an
# endless loop below, in case of cyclic links.
# We might still enter an endless loop, since a link
# loop can be closed while we follow links,
# but so what?
potlib=$potent_lib
while test -h "$potlib" 2>/dev/null; do
potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
case $potliblink in
[\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
*) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
esac
done
if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
$SED -e 10q |
$EGREP "$file_magic_regex" > /dev/null; then
func_append newdeplibs " $a_deplib"
a_deplib=
break 2
fi
done
done
fi
if test -n "$a_deplib"; then
droppeddeps=yes
echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because I did check the linker path looking for a file starting"
if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for file magic test)"
else
$ECHO "*** with $libname and none of the candidates passed a file format test"
$ECHO "*** using a file magic. Last file checked: $potlib"
fi
fi
;;
*)
# Add a -L argument.
func_append newdeplibs " $a_deplib"
;;
esac
done # Gone through all deplibs.
;;
match_pattern*)
set dummy $deplibs_check_method; shift
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
case $a_deplib in
-l*)
func_stripname -l '' "$a_deplib"
name=$func_stripname_result
if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $a_deplib "*)
func_append newdeplibs " $a_deplib"
a_deplib=
;;
esac
fi
if test -n "$a_deplib"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
potlib=$potent_lib # see symlink-check above in file_magic test
if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
$EGREP "$match_pattern_regex" > /dev/null; then
func_append newdeplibs " $a_deplib"
a_deplib=
break 2
fi
done
done
fi
if test -n "$a_deplib"; then
droppeddeps=yes
echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because I did check the linker path looking for a file starting"
if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
else
$ECHO "*** with $libname and none of the candidates passed a file format test"
$ECHO "*** using a regex pattern. Last file checked: $potlib"
fi
fi
;;
*)
# Add a -L argument.
func_append newdeplibs " $a_deplib"
;;
esac
done # Gone through all deplibs.
;;
none | unknown | *)
newdeplibs=
tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
if test yes = "$allow_libtool_libs_with_static_runtimes"; then
for i in $predeps $postdeps; do
# can't use Xsed below, because $i might contain '/'
tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
done
fi
case $tmp_deplibs in
*[!\ \ ]*)
echo
if test none = "$deplibs_check_method"; then
echo "*** Warning: inter-library dependencies are not supported in this platform."
else
echo "*** Warning: inter-library dependencies are not known to be supported."
fi
echo "*** All declared inter-library dependencies are being dropped."
droppeddeps=yes
;;
esac
;;
esac
versuffix=$versuffix_save
major=$major_save
release=$release_save
libname=$libname_save
name=$name_save
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
# On Rhapsody replace the C library with the System framework
newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
;;
esac
if test yes = "$droppeddeps"; then
if test yes = "$module"; then
echo
echo "*** Warning: libtool could not satisfy all declared inter-library"
$ECHO "*** dependencies of module $libname. Therefore, libtool will create"
echo "*** a static module, that should work as long as the dlopening"
echo "*** application is linked with the -dlopen flag."
if test -z "$global_symbol_pipe"; then
echo
echo "*** However, this would only work if libtool was able to extract symbol"
echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** not find such a program. So, this module is probably useless."
echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
if test no = "$build_old_libs"; then
oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
build_libtool_libs=no
fi
else
echo "*** The inter-library dependencies that have been dropped here will be"
echo "*** automatically added whenever a program is linked with this library"
echo "*** or is declared to -dlopen it."
if test no = "$allow_undefined"; then
echo
echo "*** Since this library must not contain undefined symbols,"
echo "*** because either the platform does not support them or"
echo "*** it was explicitly requested with -no-undefined,"
echo "*** libtool will only create a static version of it."
if test no = "$build_old_libs"; then
oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
build_libtool_libs=no
fi
fi
fi
fi
# Done checking deplibs!
deplibs=$newdeplibs
fi
# Time to change all our "foo.ltframework" stuff back to "-framework foo"
case $host in
*-*-darwin*)
newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
;;
esac
# move library search paths that coincide with paths to not yet
# installed libraries to the beginning of the library search list
new_libs=
for path in $notinst_path; do
case " $new_libs " in
*" -L$path/$objdir "*) ;;
*)
case " $deplibs " in
*" -L$path/$objdir "*)
func_append new_libs " -L$path/$objdir" ;;
esac
;;
esac
done
for deplib in $deplibs; do
case $deplib in
-L*)
case " $new_libs " in
*" $deplib "*) ;;
*) func_append new_libs " $deplib" ;;
esac
;;
*) func_append new_libs " $deplib" ;;
esac
done
deplibs=$new_libs
# All the library-specific variables (install_libdir is set above).
library_names=
old_library=
dlname=
# Test again, we may have decided not to build it any more
if test yes = "$build_libtool_libs"; then
# Remove $wl instances when linking with ld.
# FIXME: should test the right _cmds variable.
case $archive_cmds in
*\$LD\ *) wl= ;;
esac
if test yes = "$hardcode_into_libs"; then
# Hardcode the library paths
hardcode_libdirs=
dep_rpath=
rpath=$finalize_rpath
test relink = "$opt_mode" || rpath=$compile_rpath$rpath
for libdir in $rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
func_replace_sysroot "$libdir"
libdir=$func_replace_sysroot_result
if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
func_append dep_rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
*" $libdir "*) ;;
*) func_append perm_rpath " $libdir" ;;
esac
fi
done
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
libdir=$hardcode_libdirs
eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
fi
if test -n "$runpath_var" && test -n "$perm_rpath"; then
# We should set the runpath_var.
rpath=
for dir in $perm_rpath; do
func_append rpath "$dir:"
done
eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
fi
test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
fi
shlibpath=$finalize_shlibpath
test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
if test -n "$shlibpath"; then
eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
fi
# Get the real and link names of the library.
eval shared_ext=\"$shrext_cmds\"
eval library_names=\"$library_names_spec\"
set dummy $library_names
shift
realname=$1
shift
if test -n "$soname_spec"; then
eval soname=\"$soname_spec\"
else
soname=$realname
fi
if test -z "$dlname"; then
dlname=$soname
fi
lib=$output_objdir/$realname
linknames=
for link
do
func_append linknames " $link"
done
# Use standard objects if they are pic
test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
test "X$libobjs" = "X " && libobjs=
delfiles=
if test -n "$export_symbols" && test -n "$include_expsyms"; then
$opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
export_symbols=$output_objdir/$libname.uexp
func_append delfiles " $export_symbols"
fi
orig_export_symbols=
case $host_os in
cygwin* | mingw* | cegcc*)
if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
# exporting using user supplied symfile
func_dll_def_p "$export_symbols" || {
# and it's NOT already a .def file. Must figure out
# which of the given symbols are data symbols and tag
# them as such. So, trigger use of export_symbols_cmds.
# export_symbols gets reassigned inside the "prepare
# the list of exported symbols" if statement, so the
# include_expsyms logic still works.
orig_export_symbols=$export_symbols
export_symbols=
always_export_symbols=yes
}
fi
;;
esac
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
func_verbose "generating symbol list for '$libname.la'"
export_symbols=$output_objdir/$libname.exp
$opt_dry_run || $RM $export_symbols
cmds=$export_symbols_cmds
save_ifs=$IFS; IFS='~'
for cmd1 in $cmds; do
IFS=$save_ifs
# Take the normal branch if the nm_file_list_spec branch
# doesn't work or if tool conversion is not needed.
case $nm_file_list_spec~$to_tool_file_cmd in
*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
try_normal_branch=yes
eval cmd=\"$cmd1\"
func_len " $cmd"
len=$func_len_result
;;
*)
try_normal_branch=no
;;
esac
if test yes = "$try_normal_branch" \
&& { test "$len" -lt "$max_cmd_len" \
|| test "$max_cmd_len" -le -1; }
then
func_show_eval "$cmd" 'exit $?'
skipped_export=false
elif test -n "$nm_file_list_spec"; then
func_basename "$output"
output_la=$func_basename_result
save_libobjs=$libobjs
save_output=$output
output=$output_objdir/$output_la.nm
func_to_tool_file "$output"
libobjs=$nm_file_list_spec$func_to_tool_file_result
func_append delfiles " $output"
func_verbose "creating $NM input file list: $output"
for obj in $save_libobjs; do
func_to_tool_file "$obj"
$ECHO "$func_to_tool_file_result"
done > "$output"
eval cmd=\"$cmd1\"
func_show_eval "$cmd" 'exit $?'
output=$save_output
libobjs=$save_libobjs
skipped_export=false
else
# The command line is too long to execute in one step.
func_verbose "using reloadable object file for export list..."
skipped_export=:
# Break out early, otherwise skipped_export may be
# set to false by a later but shorter cmd.
break
fi
done
IFS=$save_ifs
if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
fi
fi
fi
if test -n "$export_symbols" && test -n "$include_expsyms"; then
tmp_export_symbols=$export_symbols
test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
# The given exports_symbols file has to be filtered, so filter it.
func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
# FIXME: $output_objdir/$libname.filter potentially contains lots of
# 's' commands, which not all seds can handle. GNU sed should be fine
# though. Also, the filter scales superlinearly with the number of
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
$opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
func_append delfiles " $export_symbols $output_objdir/$libname.filter"
export_symbols=$output_objdir/$libname.def
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
tmp_deplibs=
for test_deplib in $deplibs; do
case " $convenience " in
*" $test_deplib "*) ;;
*)
func_append tmp_deplibs " $test_deplib"
;;
esac
done
deplibs=$tmp_deplibs
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec" &&
test yes = "$compiler_needs_object" &&
test -z "$libobjs"; then
# extract the archives, so we have objects to list.
# TODO: could optimize this to just extract one archive.
whole_archive_flag_spec=
fi
if test -n "$whole_archive_flag_spec"; then
save_libobjs=$libobjs
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
test "X$libobjs" = "X " && libobjs=
else
gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $convenience
func_append libobjs " $func_extract_archives_result"
test "X$libobjs" = "X " && libobjs=
fi
fi
if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
eval flag=\"$thread_safe_flag_spec\"
func_append linker_flags " $flag"
fi
# Make a backup of the uninstalled library when relinking
if test relink = "$opt_mode"; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
fi
# Do each of the archive commands.
if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
eval test_cmds=\"$module_expsym_cmds\"
cmds=$module_expsym_cmds
else
eval test_cmds=\"$module_cmds\"
cmds=$module_cmds
fi
else
if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
eval test_cmds=\"$archive_expsym_cmds\"
cmds=$archive_expsym_cmds
else
eval test_cmds=\"$archive_cmds\"
cmds=$archive_cmds
fi
fi
if test : != "$skipped_export" &&
func_len " $test_cmds" &&
len=$func_len_result &&
test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
:
else
# The command line is too long to link in one step, link piecewise
# or, if using GNU ld and skipped_export is not :, use a linker
# script.
# Save the value of $output and $libobjs because we want to
# use them later. If we have whole_archive_flag_spec, we
# want to use save_libobjs as it was before
# whole_archive_flag_spec was expanded, because we can't
# assume the linker understands whole_archive_flag_spec.
# This may have to be revisited, in case too many
# convenience libraries get linked in and end up exceeding
# the spec.
if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
save_libobjs=$libobjs
fi
save_output=$output
func_basename "$output"
output_la=$func_basename_result
# Clear the reloadable object creation command queue and
# initialize k to one.
test_cmds=
concat_cmds=
objlist=
last_robj=
k=1
if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
output=$output_objdir/$output_la.lnkscript
func_verbose "creating GNU ld script: $output"
echo 'INPUT (' > $output
for obj in $save_libobjs
do
func_to_tool_file "$obj"
$ECHO "$func_to_tool_file_result" >> $output
done
echo ')' >> $output
func_append delfiles " $output"
func_to_tool_file "$output"
output=$func_to_tool_file_result
elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
output=$output_objdir/$output_la.lnk
func_verbose "creating linker input file list: $output"
: > $output
set x $save_libobjs
shift
firstobj=
if test yes = "$compiler_needs_object"; then
firstobj="$1 "
shift
fi
for obj
do
func_to_tool_file "$obj"
$ECHO "$func_to_tool_file_result" >> $output
done
func_append delfiles " $output"
func_to_tool_file "$output"
output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
else
if test -n "$save_libobjs"; then
func_verbose "creating reloadable object files..."
output=$output_objdir/$output_la-$k.$objext
eval test_cmds=\"$reload_cmds\"
func_len " $test_cmds"
len0=$func_len_result
len=$len0
# Loop over the list of objects to be linked.
for obj in $save_libobjs
do
func_len " $obj"
func_arith $len + $func_len_result
len=$func_arith_result
if test -z "$objlist" ||
test "$len" -lt "$max_cmd_len"; then
func_append objlist " $obj"
else
# The command $test_cmds is almost too long, add a
# command to the queue.
if test 1 -eq "$k"; then
# The first file doesn't have a previous command to add.
reload_objs=$objlist
eval concat_cmds=\"$reload_cmds\"
else
# All subsequent reloadable object files will link in
# the last one created.
reload_objs="$objlist $last_robj"
eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
fi
last_robj=$output_objdir/$output_la-$k.$objext
func_arith $k + 1
k=$func_arith_result
output=$output_objdir/$output_la-$k.$objext
objlist=" $obj"
func_len " $last_robj"
func_arith $len0 + $func_len_result
len=$func_arith_result
fi
done
# Handle the remaining objects by creating one last
# reloadable object file. All subsequent reloadable object
# files will link in the last one created.
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
reload_objs="$objlist $last_robj"
eval concat_cmds=\"\$concat_cmds$reload_cmds\"
if test -n "$last_robj"; then
eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
func_append delfiles " $output"
else
output=
fi
${skipped_export-false} && {
func_verbose "generating symbol list for '$libname.la'"
export_symbols=$output_objdir/$libname.exp
$opt_dry_run || $RM $export_symbols
libobjs=$output
# Append the command to create the export file.
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
if test -n "$last_robj"; then
eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
}
test -n "$save_libobjs" &&
func_verbose "creating a temporary reloadable object file: $output"
# Loop through the commands generated above and execute them.
save_ifs=$IFS; IFS='~'
for cmd in $concat_cmds; do
IFS=$save_ifs
$opt_quiet || {
func_quote_arg expand,pretty "$cmd"
eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
# Restore the uninstalled library and exit
if test relink = "$opt_mode"; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
fi
exit $lt_exit
}
done
IFS=$save_ifs
if test -n "$export_symbols_regex" && ${skipped_export-false}; then
func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
fi
fi
${skipped_export-false} && {
if test -n "$export_symbols" && test -n "$include_expsyms"; then
tmp_export_symbols=$export_symbols
test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
if test -n "$orig_export_symbols"; then
# The given exports_symbols file has to be filtered, so filter it.
func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
# FIXME: $output_objdir/$libname.filter potentially contains lots of
# 's' commands, which not all seds can handle. GNU sed should be fine
# though. Also, the filter scales superlinearly with the number of
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
$opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
func_append delfiles " $export_symbols $output_objdir/$libname.filter"
export_symbols=$output_objdir/$libname.def
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
}
libobjs=$output
# Restore the value of output.
output=$save_output
if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
test "X$libobjs" = "X " && libobjs=
fi
# Expand the library linking commands again to reset the
# value of $libobjs for piecewise linking.
# Do each of the archive commands.
if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
cmds=$module_expsym_cmds
else
cmds=$module_cmds
fi
else
if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
cmds=$archive_expsym_cmds
else
cmds=$archive_cmds
fi
fi
fi
if test -n "$delfiles"; then
# Append the command to remove temporary files to $cmds.
eval cmds=\"\$cmds~\$RM $delfiles\"
fi
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
func_append libobjs " $func_extract_archives_result"
test "X$libobjs" = "X " && libobjs=
fi
save_ifs=$IFS; IFS='~'
for cmd in $cmds; do
IFS=$sp$nl
eval cmd=\"$cmd\"
IFS=$save_ifs
$opt_quiet || {
func_quote_arg expand,pretty "$cmd"
eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
# Restore the uninstalled library and exit
if test relink = "$opt_mode"; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
fi
exit $lt_exit
}
done
IFS=$save_ifs
# Restore the uninstalled library and exit
if test relink = "$opt_mode"; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
if test -n "$convenience"; then
if test -z "$whole_archive_flag_spec"; then
func_show_eval '${RM}r "$gentop"'
fi
fi
exit $EXIT_SUCCESS
fi
# Create links to the real library.
for linkname in $linknames; do
if test "$realname" != "$linkname"; then
func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
fi
done
# If -module or -export-dynamic was specified, set the dlname.
if test yes = "$module" || test yes = "$export_dynamic"; then
# On all known operating systems, these are identical.
dlname=$soname
fi
fi
;;
obj)
if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
func_warning "'-dlopen' is ignored for objects"
fi
case " $deplibs" in
*\ -l* | *\ -L*)
func_warning "'-l' and '-L' are ignored for objects" ;;
esac
test -n "$rpath" && \
func_warning "'-rpath' is ignored for objects"
test -n "$xrpath" && \
func_warning "'-R' is ignored for objects"
test -n "$vinfo" && \
func_warning "'-version-info' is ignored for objects"
test -n "$release" && \
func_warning "'-release' is ignored for objects"
case $output in
*.lo)
test -n "$objs$old_deplibs" && \
func_fatal_error "cannot build library object '$output' from non-libtool objects"
libobj=$output
func_lo2o "$libobj"
obj=$func_lo2o_result
;;
*)
libobj=
obj=$output
;;
esac
# Delete the old objects.
$opt_dry_run || $RM $obj $libobj
# Objects from convenience libraries. This assumes
# single-version convenience libraries. Whenever we create
# different ones for PIC/non-PIC, this we'll have to duplicate
# the extraction.
reload_conv_objs=
gentop=
# if reload_cmds runs $LD directly, get rid of -Wl from
# whole_archive_flag_spec and hope we can get by with turning comma
# into space.
case $reload_cmds in
*\$LD[\ \$]*) wl= ;;
esac
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
else
gentop=$output_objdir/${obj}x
func_append generated " $gentop"
func_extract_archives $gentop $convenience
reload_conv_objs="$reload_objs $func_extract_archives_result"
fi
fi
# If we're not building shared, we need to use non_pic_objs
test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
# Create the old-style object.
reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
output=$obj
func_execute_cmds "$reload_cmds" 'exit $?'
# Exit if we aren't doing a library object file.
if test -z "$libobj"; then
if test -n "$gentop"; then
func_show_eval '${RM}r "$gentop"'
fi
exit $EXIT_SUCCESS
fi
test yes = "$build_libtool_libs" || {
if test -n "$gentop"; then
func_show_eval '${RM}r "$gentop"'
fi
# Create an invalid libtool object if no PIC, so that we don't
# accidentally link it into a program.
# $show "echo timestamp > $libobj"
# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
exit $EXIT_SUCCESS
}
if test -n "$pic_flag" || test default != "$pic_mode"; then
# Only do commands if we really have different PIC objects.
reload_objs="$libobjs $reload_conv_objs"
output=$libobj
func_execute_cmds "$reload_cmds" 'exit $?'
fi
if test -n "$gentop"; then
func_show_eval '${RM}r "$gentop"'
fi
exit $EXIT_SUCCESS
;;
prog)
case $host in
*cygwin*) func_stripname '' '.exe' "$output"
output=$func_stripname_result.exe;;
esac
test -n "$vinfo" && \
func_warning "'-version-info' is ignored for programs"
test -n "$release" && \
func_warning "'-release' is ignored for programs"
$preload \
&& test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
&& func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
# On Rhapsody replace the C library is the System framework
compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
;;
esac
case $host in
*-*-darwin*)
# Don't allow lazy linking, it breaks C++ global constructors
# But is supposedly fixed on 10.4 or later (yay!).
if test CXX = "$tagname"; then
case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
10.[0123])
func_append compile_command " $wl-bind_at_load"
func_append finalize_command " $wl-bind_at_load"
;;
esac
fi
# Time to change all our "foo.ltframework" stuff back to "-framework foo"
compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
;;
esac
# move library search paths that coincide with paths to not yet
# installed libraries to the beginning of the library search list
new_libs=
for path in $notinst_path; do
case " $new_libs " in
*" -L$path/$objdir "*) ;;
*)
case " $compile_deplibs " in
*" -L$path/$objdir "*)
func_append new_libs " -L$path/$objdir" ;;
esac
;;
esac
done
for deplib in $compile_deplibs; do
case $deplib in
-L*)
case " $new_libs " in
*" $deplib "*) ;;
*) func_append new_libs " $deplib" ;;
esac
;;
*) func_append new_libs " $deplib" ;;
esac
done
compile_deplibs=$new_libs
func_append compile_command " $compile_deplibs"
func_append finalize_command " $finalize_deplibs"
if test -n "$rpath$xrpath"; then
# If the user specified any rpath flags, then add them.
for libdir in $rpath $xrpath; do
# This is the magic to use -rpath.
case "$finalize_rpath " in
*" $libdir "*) ;;
*) func_append finalize_rpath " $libdir" ;;
esac
done
fi
# Now hardcode the library paths
rpath=
hardcode_libdirs=
for libdir in $compile_rpath $finalize_rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
func_append rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
*" $libdir "*) ;;
*) func_append perm_rpath " $libdir" ;;
esac
fi
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
::) dllsearchpath=$libdir;;
*) func_append dllsearchpath ":$libdir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
::) dllsearchpath=$testbindir;;
*) func_append dllsearchpath ":$testbindir";;
esac
;;
esac
done
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
compile_rpath=$rpath
rpath=
hardcode_libdirs=
for libdir in $finalize_rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
func_append rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$finalize_perm_rpath " in
*" $libdir "*) ;;
*) func_append finalize_perm_rpath " $libdir" ;;
esac
fi
done
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
finalize_rpath=$rpath
if test -n "$libobjs" && test yes = "$build_old_libs"; then
# Transform all the library objects into standard objects.
compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
fi
func_generate_dlsyms "$outputname" "@PROGRAM@" false
# template prelinking step
if test -n "$prelink_cmds"; then
func_execute_cmds "$prelink_cmds" 'exit $?'
fi
wrappers_required=:
case $host in
*cegcc* | *mingw32ce*)
# Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
wrappers_required=false
;;
*cygwin* | *mingw* )
test yes = "$build_libtool_libs" || wrappers_required=false
;;
*)
if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
wrappers_required=false
fi
;;
esac
$wrappers_required || {
# Replace the output file specification.
compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
link_command=$compile_command$compile_rpath
# We have no uninstalled library dependencies, so finalize right now.
exit_status=0
func_show_eval "$link_command" 'exit_status=$?'
if test -n "$postlink_cmds"; then
func_to_tool_file "$output"
postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
func_execute_cmds "$postlink_cmds" 'exit $?'
fi
# Delete the generated files.
if test -f "$output_objdir/${outputname}S.$objext"; then
func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
fi
exit $exit_status
}
if test -n "$compile_shlibpath$finalize_shlibpath"; then
compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
fi
if test -n "$finalize_shlibpath"; then
finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
fi
compile_var=
finalize_var=
if test -n "$runpath_var"; then
if test -n "$perm_rpath"; then
# We should set the runpath_var.
rpath=
for dir in $perm_rpath; do
func_append rpath "$dir:"
done
compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
if test -n "$finalize_perm_rpath"; then
# We should set the runpath_var.
rpath=
for dir in $finalize_perm_rpath; do
func_append rpath "$dir:"
done
finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
fi
if test yes = "$no_install"; then
# We don't need to create a wrapper script.
link_command=$compile_var$compile_command$compile_rpath
# Replace the output file specification.
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
# Delete the old output file.
$opt_dry_run || $RM $output
# Link the executable and exit
func_show_eval "$link_command" 'exit $?'
if test -n "$postlink_cmds"; then
func_to_tool_file "$output"
postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
func_execute_cmds "$postlink_cmds" 'exit $?'
fi
exit $EXIT_SUCCESS
fi
case $hardcode_action,$fast_install in
relink,*)
# Fast installation is not supported
link_command=$compile_var$compile_command$compile_rpath
relink_command=$finalize_var$finalize_command$finalize_rpath
func_warning "this platform does not like uninstalled shared libraries"
func_warning "'$output' will be relinked during installation"
;;
*,yes)
link_command=$finalize_var$compile_command$finalize_rpath
relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
;;
*,no)
link_command=$compile_var$compile_command$compile_rpath
relink_command=$finalize_var$finalize_command$finalize_rpath
;;
*,needless)
link_command=$finalize_var$compile_command$finalize_rpath
relink_command=
;;
esac
# Replace the output file specification.
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
# Delete the old output files.
$opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
func_show_eval "$link_command" 'exit $?'
if test -n "$postlink_cmds"; then
func_to_tool_file "$output_objdir/$outputname"
postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
func_execute_cmds "$postlink_cmds" 'exit $?'
fi
# Now create the wrapper script.
func_verbose "creating $output"
# Quote the relink command for shipping.
if test -n "$relink_command"; then
# Preserve any variables that may affect compiler behavior
for var in $variables_saved_for_relink; do
if eval test -z \"\${$var+set}\"; then
relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
func_quote_arg pretty "$var_value"
relink_command="$var=$func_quote_arg_result; export $var; $relink_command"
fi
done
func_quote eval cd "`pwd`"
func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)"
relink_command=$func_quote_arg_unquoted_result
fi
# Only actually do things if not in dry run mode.
$opt_dry_run || {
# win32 will think the script is a binary if it has
# a .exe suffix, so we strip it off here.
case $output in
*.exe) func_stripname '' '.exe' "$output"
output=$func_stripname_result ;;
esac
# test for cygwin because mv fails w/o .exe extensions
case $host in
*cygwin*)
exeext=.exe
func_stripname '' '.exe' "$outputname"
outputname=$func_stripname_result ;;
*) exeext= ;;
esac
case $host in
*cygwin* | *mingw* )
func_dirname_and_basename "$output" "" "."
output_name=$func_basename_result
output_path=$func_dirname_result
cwrappersource=$output_path/$objdir/lt-$output_name.c
cwrapper=$output_path/$output_name.exe
$RM $cwrappersource $cwrapper
trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
func_emit_cwrapperexe_src > $cwrappersource
# The wrapper executable is built using the $host compiler,
# because it contains $host paths and files. If cross-
# compiling, it, like the target executable, must be
# executed on the $host or under an emulation environment.
$opt_dry_run || {
$LTCC $LTCFLAGS -o $cwrapper $cwrappersource
$STRIP $cwrapper
}
# Now, create the wrapper script for func_source use:
func_ltwrapper_scriptname $cwrapper
$RM $func_ltwrapper_scriptname_result
trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
$opt_dry_run || {
# note: this script will not be executed, so do not chmod.
if test "x$build" = "x$host"; then
$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
else
func_emit_wrapper no > $func_ltwrapper_scriptname_result
fi
}
;;
* )
$RM $output
trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
func_emit_wrapper no > $output
chmod +x $output
;;
esac
}
exit $EXIT_SUCCESS
;;
esac
# See if we need to build an old-fashioned archive.
for oldlib in $oldlibs; do
case $build_libtool_libs in
convenience)
oldobjs="$libobjs_save $symfileobj"
addlibs=$convenience
build_libtool_libs=no
;;
module)
oldobjs=$libobjs_save
addlibs=$old_convenience
build_libtool_libs=no
;;
*)
oldobjs="$old_deplibs $non_pic_objects"
$preload && test -f "$symfileobj" \
&& func_append oldobjs " $symfileobj"
addlibs=$old_convenience
;;
esac
if test -n "$addlibs"; then
gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $addlibs
func_append oldobjs " $func_extract_archives_result"
fi
# Do each command in the archive commands.
if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
cmds=$old_archive_from_new_cmds
else
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
func_append oldobjs " $func_extract_archives_result"
fi
# POSIX demands no paths to be encoded in archives. We have
# to avoid creating archives with duplicate basenames if we
# might have to extract them afterwards, e.g., when creating a
# static archive out of a convenience library, or when linking
# the entirety of a libtool archive into another (currently
# not supported by libtool).
if (for obj in $oldobjs
do
func_basename "$obj"
$ECHO "$func_basename_result"
done | sort | sort -uc >/dev/null 2>&1); then
:
else
echo "copying selected object files to avoid basename conflicts..."
gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_mkdir_p "$gentop"
save_oldobjs=$oldobjs
oldobjs=
counter=1
for obj in $save_oldobjs
do
func_basename "$obj"
objbase=$func_basename_result
case " $oldobjs " in
" ") oldobjs=$obj ;;
*[\ /]"$objbase "*)
while :; do
# Make sure we don't pick an alternate name that also
# overlaps.
newobj=lt$counter-$objbase
func_arith $counter + 1
counter=$func_arith_result
case " $oldobjs " in
*[\ /]"$newobj "*) ;;
*) if test ! -f "$gentop/$newobj"; then break; fi ;;
esac
done
func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
func_append oldobjs " $gentop/$newobj"
;;
*) func_append oldobjs " $obj" ;;
esac
done
fi
func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
tool_oldlib=$func_to_tool_file_result
eval cmds=\"$old_archive_cmds\"
func_len " $cmds"
len=$func_len_result
if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
cmds=$old_archive_cmds
elif test -n "$archiver_list_spec"; then
func_verbose "using command file archive linking..."
for obj in $oldobjs
do
func_to_tool_file "$obj"
$ECHO "$func_to_tool_file_result"
done > $output_objdir/$libname.libcmd
func_to_tool_file "$output_objdir/$libname.libcmd"
oldobjs=" $archiver_list_spec$func_to_tool_file_result"
cmds=$old_archive_cmds
else
# the command line is too long to link in one step, link in parts
func_verbose "using piecewise archive linking..."
save_RANLIB=$RANLIB
RANLIB=:
objlist=
concat_cmds=
save_oldobjs=$oldobjs
oldobjs=
# Is there a better way of finding the last object in the list?
for obj in $save_oldobjs
do
last_oldobj=$obj
done
eval test_cmds=\"$old_archive_cmds\"
func_len " $test_cmds"
len0=$func_len_result
len=$len0
for obj in $save_oldobjs
do
func_len " $obj"
func_arith $len + $func_len_result
len=$func_arith_result
func_append objlist " $obj"
if test "$len" -lt "$max_cmd_len"; then
:
else
# the above command should be used before it gets too long
oldobjs=$objlist
if test "$obj" = "$last_oldobj"; then
RANLIB=$save_RANLIB
fi
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
objlist=
len=$len0
fi
done
RANLIB=$save_RANLIB
oldobjs=$objlist
if test -z "$oldobjs"; then
eval cmds=\"\$concat_cmds\"
else
eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
fi
fi
fi
func_execute_cmds "$cmds" 'exit $?'
done
test -n "$generated" && \
func_show_eval "${RM}r$generated"
# Now create the libtool archive.
case $output in
*.la)
old_library=
test yes = "$build_old_libs" && old_library=$libname.$libext
func_verbose "creating $output"
# Preserve any variables that may affect compiler behavior
for var in $variables_saved_for_relink; do
if eval test -z \"\${$var+set}\"; then
relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
func_quote_arg pretty,unquoted "$var_value"
relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command"
fi
done
# Quote the link command for shipping.
func_quote eval cd "`pwd`"
relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
func_quote_arg pretty,unquoted "$relink_command"
relink_command=$func_quote_arg_unquoted_result
if test yes = "$hardcode_automatic"; then
relink_command=
fi
# Only create the output if not a dry run.
$opt_dry_run || {
for installed in no yes; do
if test yes = "$installed"; then
if test -z "$install_libdir"; then
break
fi
output=$output_objdir/${outputname}i
# Replace all uninstalled libtool libraries with the installed ones
newdependency_libs=
for deplib in $dependency_libs; do
case $deplib in
*.la)
func_basename "$deplib"
name=$func_basename_result
func_resolve_sysroot "$deplib"
eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
test -z "$libdir" && \
func_fatal_error "'$deplib' is not a valid libtool archive"
func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
;;
-L*)
func_stripname -L '' "$deplib"
func_replace_sysroot "$func_stripname_result"
func_append newdependency_libs " -L$func_replace_sysroot_result"
;;
-R*)
func_stripname -R '' "$deplib"
func_replace_sysroot "$func_stripname_result"
func_append newdependency_libs " -R$func_replace_sysroot_result"
;;
*) func_append newdependency_libs " $deplib" ;;
esac
done
dependency_libs=$newdependency_libs
newdlfiles=
for lib in $dlfiles; do
case $lib in
*.la)
func_basename "$lib"
name=$func_basename_result
eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
func_fatal_error "'$lib' is not a valid libtool archive"
func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
;;
*) func_append newdlfiles " $lib" ;;
esac
done
dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
case $lib in
*.la)
# Only pass preopened files to the pseudo-archive (for
# eventual linking with the app. that links it) if we
# didn't already link the preopened objects directly into
# the library:
func_basename "$lib"
name=$func_basename_result
eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
func_fatal_error "'$lib' is not a valid libtool archive"
func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
;;
esac
done
dlprefiles=$newdlprefiles
else
newdlfiles=
for lib in $dlfiles; do
case $lib in
[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
func_append newdlfiles " $abs"
done
dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
case $lib in
[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
func_append newdlprefiles " $abs"
done
dlprefiles=$newdlprefiles
fi
$RM $output
# place dlname in correct position for cygwin
# In fact, it would be nice if we could use this code for all target
# systems that can't hard-code library paths into their executables
# and that have no shared library path variable independent of PATH,
# but it turns out we can't easily determine that from inspecting
# libtool variables, so we have to hard-code the OSs to which it
# applies here; at the moment, that means platforms that use the PE
# object format with DLL files. See the long comment at the top of
# tests/bindir.at for full details.
tdlname=$dlname
case $host,$output,$installed,$module,$dlname in
*cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
# If a -bindir argument was supplied, place the dll there.
if test -n "$bindir"; then
func_relative_path "$install_libdir" "$bindir"
tdlname=$func_relative_path_result/$dlname
else
# Otherwise fall back on heuristic.
tdlname=../bin/$dlname
fi
;;
esac
$ECHO > $output "\
# $outputname - a libtool library file
# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='$tdlname'
# Names of this library.
library_names='$library_names'
# The name of the static archive.
old_library='$old_library'
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags='$new_inherited_linker_flags'
# Libraries that this one depends upon.
dependency_libs='$dependency_libs'
# Names of additional weak libraries provided by this library
weak_library_names='$weak_libs'
# Version information for $libname.
current=$current
age=$age
revision=$revision
# Is this an already installed library?
installed=$installed
# Should we warn about portability when linking against -modules?
shouldnotlink=$module
# Files to dlopen/dlpreopen
dlopen='$dlfiles'
dlpreopen='$dlprefiles'
# Directory that this library needs to be installed in:
libdir='$install_libdir'"
if test no,yes = "$installed,$need_relink"; then
$ECHO >> $output "\
relink_command=\"$relink_command\""
fi
done
}
# Do a symbolic link so that the libtool archive can be found in
# LD_LIBRARY_PATH before the program is installed.
func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
;;
esac
exit $EXIT_SUCCESS
}
if test link = "$opt_mode" || test relink = "$opt_mode"; then
func_mode_link ${1+"$@"}
fi
# func_mode_uninstall arg...
func_mode_uninstall ()
{
$debug_cmd
RM=$nonopt
files=
rmforce=false
exit_status=0
# This variable tells wrapper scripts just to set variables rather
# than running their programs.
libtool_install_magic=$magic
for arg
do
case $arg in
-f) func_append RM " $arg"; rmforce=: ;;
-*) func_append RM " $arg" ;;
*) func_append files " $arg" ;;
esac
done
test -z "$RM" && \
func_fatal_help "you must specify an RM program"
rmdirs=
for file in $files; do
func_dirname "$file" "" "."
dir=$func_dirname_result
if test . = "$dir"; then
odir=$objdir
else
odir=$dir/$objdir
fi
func_basename "$file"
name=$func_basename_result
test uninstall = "$opt_mode" && odir=$dir
# Remember odir for removal later, being careful to avoid duplicates
if test clean = "$opt_mode"; then
case " $rmdirs " in
*" $odir "*) ;;
*) func_append rmdirs " $odir" ;;
esac
fi
# Don't error if the file doesn't exist and rm -f was used.
if { test -L "$file"; } >/dev/null 2>&1 ||
{ test -h "$file"; } >/dev/null 2>&1 ||
test -f "$file"; then
:
elif test -d "$file"; then
exit_status=1
continue
elif $rmforce; then
continue
fi
rmfiles=$file
case $name in
*.la)
# Possibly a libtool archive, so verify it.
if func_lalib_p "$file"; then
func_source $dir/$name
# Delete the libtool libraries and symlinks.
for n in $library_names; do
func_append rmfiles " $odir/$n"
done
test -n "$old_library" && func_append rmfiles " $odir/$old_library"
case $opt_mode in
clean)
case " $library_names " in
*" $dlname "*) ;;
*) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
esac
test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
;;
uninstall)
if test -n "$library_names"; then
# Do each command in the postuninstall commands.
func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
fi
if test -n "$old_library"; then
# Do each command in the old_postuninstall commands.
func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
fi
# FIXME: should reinstall the best remaining shared library.
;;
esac
fi
;;
*.lo)
# Possibly a libtool object, so verify it.
if func_lalib_p "$file"; then
# Read the .lo file
func_source $dir/$name
# Add PIC object to the list of files to remove.
if test -n "$pic_object" && test none != "$pic_object"; then
func_append rmfiles " $dir/$pic_object"
fi
# Add non-PIC object to the list of files to remove.
if test -n "$non_pic_object" && test none != "$non_pic_object"; then
func_append rmfiles " $dir/$non_pic_object"
fi
fi
;;
*)
if test clean = "$opt_mode"; then
noexename=$name
case $file in
*.exe)
func_stripname '' '.exe' "$file"
file=$func_stripname_result
func_stripname '' '.exe' "$name"
noexename=$func_stripname_result
# $file with .exe has already been added to rmfiles,
# add $file without .exe
func_append rmfiles " $file"
;;
esac
# Do a test to see if this is a libtool program.
if func_ltwrapper_p "$file"; then
if func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
relink_command=
func_source $func_ltwrapper_scriptname_result
func_append rmfiles " $func_ltwrapper_scriptname_result"
else
relink_command=
func_source $dir/$noexename
fi
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
func_append rmfiles " $odir/$name $odir/${name}S.$objext"
if test yes = "$fast_install" && test -n "$relink_command"; then
func_append rmfiles " $odir/lt-$name"
fi
if test "X$noexename" != "X$name"; then
func_append rmfiles " $odir/lt-$noexename.c"
fi
fi
fi
;;
esac
func_show_eval "$RM $rmfiles" 'exit_status=1'
done
# Try to remove the $objdir's in the directories where we deleted files
for dir in $rmdirs; do
if test -d "$dir"; then
func_show_eval "rmdir $dir >/dev/null 2>&1"
fi
done
exit $exit_status
}
if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
func_mode_uninstall ${1+"$@"}
fi
test -z "$opt_mode" && {
help=$generic_help
func_fatal_help "you must specify a MODE"
}
test -z "$exec_cmd" && \
func_fatal_help "invalid operation mode '$opt_mode'"
if test -n "$exec_cmd"; then
eval exec "$exec_cmd"
exit $EXIT_FAILURE
fi
exit $exit_status
# The TAGs below are defined such that we never get into a situation
# where we disable both kinds of libraries. Given conflicting
# choices, we go for a static library, that is the most portable,
# since we can't tell whether shared libraries were disabled because
# the user asked for that or because the platform doesn't support
# them. This is particularly important on AIX, because we don't
# support having both static and shared libraries enabled at the same
# time on that platform, so we default to a shared-only configuration.
# If a disable-shared tag is given, we'll fallback to a static-only
# configuration. But we'll never go from static-only to shared-only.
# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
build_libtool_libs=no
build_old_libs=yes
# ### END LIBTOOL TAG CONFIG: disable-shared
# ### BEGIN LIBTOOL TAG CONFIG: disable-static
build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
# ### END LIBTOOL TAG CONFIG: disable-static
# Local Variables:
# mode:shell-script
# sh-indentation:2
# End:
cddlib-0.94j/missing 0000755 0001750 0001750 00000015331 13300566265 011372 0000000 0000000 #! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2016-01-11.22; # UTC
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard , 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
case $1 in
--is-lightweight)
# Used by our autoconf macros to check whether the available missing
# script is modern enough.
exit 0
;;
--run)
# Back-compat with the calling convention used by older automake.
shift
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
Supported PROGRAM values:
aclocal autoconf autoheader autom4te automake makeinfo
bison yacc flex lex help2man
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
Send bug reports to ."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
# Run the given program, remember its exit status.
"$@"; st=$?
# If it succeeded, we are done.
test $st -eq 0 && exit 0
# Also exit now if we it failed (or wasn't found), and '--version' was
# passed; such an option is passed most likely to detect whether the
# program is present and works.
case $2 in --version|--help) exit $st;; esac
# Exit code 63 means version mismatch. This often happens when the user
# tries to use an ancient version of a tool on a file that requires a
# minimum version.
if test $st -eq 63; then
msg="probably too old"
elif test $st -eq 127; then
# Program was missing.
msg="missing on your system"
else
# Program was found and executed, but failed. Give up.
exit $st
fi
perl_URL=http://www.perl.org/
flex_URL=http://flex.sourceforge.net/
gnu_software_URL=http://www.gnu.org/software
program_details ()
{
case $1 in
aclocal|automake)
echo "The '$1' program is part of the GNU Automake package:"
echo "<$gnu_software_URL/automake>"
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/autoconf>"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
autoconf|autom4te|autoheader)
echo "The '$1' program is part of the GNU Autoconf package:"
echo "<$gnu_software_URL/autoconf/>"
echo "It also requires GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
esac
}
give_advice ()
{
# Normalize program name to check for.
normalized_program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
printf '%s\n' "'$1' is $msg."
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
case $normalized_program in
autoconf*)
echo "You should only need it if you modified 'configure.ac',"
echo "or m4 files included by it."
program_details 'autoconf'
;;
autoheader*)
echo "You should only need it if you modified 'acconfig.h' or"
echo "$configure_deps."
program_details 'autoheader'
;;
automake*)
echo "You should only need it if you modified 'Makefile.am' or"
echo "$configure_deps."
program_details 'automake'
;;
aclocal*)
echo "You should only need it if you modified 'acinclude.m4' or"
echo "$configure_deps."
program_details 'aclocal'
;;
autom4te*)
echo "You might have modified some maintainer files that require"
echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
echo "You should only need it if you modified a '.y' file."
echo "You may want to install the GNU Bison package:"
echo "<$gnu_software_URL/bison/>"
;;
lex*|flex*)
echo "You should only need it if you modified a '.l' file."
echo "You may want to install the Fast Lexical Analyzer package:"
echo "<$flex_URL>"
;;
help2man*)
echo "You should only need it if you modified a dependency" \
"of a man page."
echo "You may want to install the GNU Help2man package:"
echo "<$gnu_software_URL/help2man/>"
;;
makeinfo*)
echo "You should only need it if you modified a '.texi' file, or"
echo "any other file indirectly affecting the aspect of the manual."
echo "You might want to install the Texinfo package:"
echo "<$gnu_software_URL/texinfo/>"
echo "The spurious makeinfo call might also be the consequence of"
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
echo "want to install GNU make:"
echo "<$gnu_software_URL/make/>"
;;
*)
echo "You might have modified some files without having the proper"
echo "tools for further handling them. Check the 'README' file, it"
echo "often tells you about the needed prerequisites for installing"
echo "this package. You may also peek at any GNU archive site, in"
echo "case some other package contains this missing '$1' program."
;;
esac
}
give_advice "$1" | sed -e '1s/^/WARNING: /' \
-e '2,$s/^/ /' >&2
# Propagate the correct exit status (expected to be 127 for a program
# not found, 63 for a program that failed due to version mismatch).
exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
cddlib-0.94j/README.core2processor 0000644 0001750 0001750 00000000477 13270066522 013626 0000000 0000000 To compile on Intel Core 2 (64 bit) processors running MacOSX,
you might need to add the compilation flags "-m64 -fast" by
./configure CFLAGS="-m64 -fast"
This may apply to other operating systems. Also, note that
this does not apply to 32 bit processors like
Intel Core processor.
Komei Fukuda
February 14, 2009
cddlib-0.94j/bootstrap 0000755 0001750 0001750 00000000032 13277651306 011732 0000000 0000000 #!/bin/sh
autoreconf -ivf
cddlib-0.94j/doc/ 0000755 0001750 0001750 00000000000 13312731233 010605 5 0000000 0000000 cddlib-0.94j/doc/Makefile.am 0000644 0001750 0001750 00000003335 13277651306 012601 0000000 0000000 # The Makefile for doc/ is non-standard as we distribute a manual that is
# built from a .tex file (and not a .texi file.)
# We do not want to make latex & pdflatx & dvips requirements for building
# cddlib, so we ship the built manual as part of the distribution.
if LATEX
LATEX_SRC = $(srcdir)/cddlibman.tex $(srcdir)/cddlibman.bbl
# Building twice seems to be enough to get references right.
cddlibman.dvi: ${LATEX_SRC}
$(latex) $<
$(latex) $<
if PDF
cddlibman.pdf: ${LATEX_SRC}
$(pdflatex) $<
$(pdflatex) $<
endif
if PS
cddlibman.ps: cddlibman.dvi
$(dvips) cddlibman.dvi
endif
if HTML
# Wipe the HTML output directory as latex2html's perl calls otherwise try to
# find images.pl in there without putting cddlibman into @INC.
# We depend on cddlibman.dvi so we know that the references have been correctly
# resolved in the .aux file.
cddlibman/cddlibman.html: ${LATEX_SRC} html.sty cddlibman.dvi
rm -rf cddlibman
$(latex2html) $<
endif
endif
# Include the PDF, PS, and DVI documentation in the distributed tarball. Note
# that this means that pdflatex & latex & dvips must be available on the system
# where make dist(check) is run.
EXTRA_DIST = $(srcdir)/cddlibman.pdf $(srcdir)/cddlibman.dvi $(srcdir)/cddlibman.ps \
$(LATEX_SRC) $(srcdir)/html.sty
# Clean up files that are not in the tarball
CLEANFILES = cddlibman.toc cddlibman.aux cddlibman.log
# Clean up files that "make dist" generates
MAINTAINERCLEANFILES = cddlibman.pdf cddlibman.ps cddlibman.dvi
# Change this to maintainer-clean-local if the HTML documentation should be part of the released tarball
clean-local:
rm -rf cddlibman/
# Install the PDF, PS, and DVI documentation into PREFIX/share/doc/cddlib/
doc_DATA = cddlibman.pdf cddlibman.dvi cddlibman.ps
cddlib-0.94j/doc/Makefile.in 0000644 0001750 0001750 00000037551 13307421344 012610 0000000 0000000 # Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# The Makefile for doc/ is non-standard as we distribute a manual that is
# built from a .tex file (and not a .texi file.)
# We do not want to make latex & pdflatx & dvips requirements for building
# cddlib, so we ship the built manual as part of the distribution.
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = doc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(docdir)"
DATA = $(doc_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CDD_LDFLAGS = @CDD_LDFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
dvips = @dvips@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
latex = @latex@
latex2html = @latex2html@
libcdd_version_info = @libcdd_version_info@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pdflatex = @pdflatex@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@LATEX_TRUE@LATEX_SRC = $(srcdir)/cddlibman.tex $(srcdir)/cddlibman.bbl
# Include the PDF, PS, and DVI documentation in the distributed tarball. Note
# that this means that pdflatex & latex & dvips must be available on the system
# where make dist(check) is run.
EXTRA_DIST = $(srcdir)/cddlibman.pdf $(srcdir)/cddlibman.dvi $(srcdir)/cddlibman.ps \
$(LATEX_SRC) $(srcdir)/html.sty
# Clean up files that are not in the tarball
CLEANFILES = cddlibman.toc cddlibman.aux cddlibman.log
# Clean up files that "make dist" generates
MAINTAINERCLEANFILES = cddlibman.pdf cddlibman.ps cddlibman.dvi
# Install the PDF, PS, and DVI documentation into PREFIX/share/doc/cddlib/
doc_DATA = cddlibman.pdf cddlibman.dvi cddlibman.ps
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-docDATA: $(doc_DATA)
@$(NORMAL_INSTALL)
@list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
done
uninstall-docDATA:
@$(NORMAL_UNINSTALL)
@list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
tags TAGS:
ctags CTAGS:
cscope cscopelist:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(docdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool clean-local mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-docDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-docDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
clean-local cscopelist-am ctags-am distclean distclean-generic \
distclean-libtool distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-docDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
uninstall-am uninstall-docDATA
.PRECIOUS: Makefile
# Building twice seems to be enough to get references right.
@LATEX_TRUE@cddlibman.dvi: ${LATEX_SRC}
@LATEX_TRUE@ $(latex) $<
@LATEX_TRUE@ $(latex) $<
@LATEX_TRUE@@PDF_TRUE@cddlibman.pdf: ${LATEX_SRC}
@LATEX_TRUE@@PDF_TRUE@ $(pdflatex) $<
@LATEX_TRUE@@PDF_TRUE@ $(pdflatex) $<
@LATEX_TRUE@@PS_TRUE@cddlibman.ps: cddlibman.dvi
@LATEX_TRUE@@PS_TRUE@ $(dvips) cddlibman.dvi
# Wipe the HTML output directory as latex2html's perl calls otherwise try to
# find images.pl in there without putting cddlibman into @INC.
# We depend on cddlibman.dvi so we know that the references have been correctly
# resolved in the .aux file.
@HTML_TRUE@@LATEX_TRUE@cddlibman/cddlibman.html: ${LATEX_SRC} html.sty cddlibman.dvi
@HTML_TRUE@@LATEX_TRUE@ rm -rf cddlibman
@HTML_TRUE@@LATEX_TRUE@ $(latex2html) $<
# Change this to maintainer-clean-local if the HTML documentation should be part of the released tarball
clean-local:
rm -rf cddlibman/
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
cddlib-0.94j/doc/cddlibman.pdf 0000644 0001750 0001750 00000724105 13300556126 013151 0000000 0000000 %PDF-1.5
%ÐÔÅØ
3 0 obj
<<
/Length 1525
/Filter /FlateDecode
>>
stream
xÚåXÍwÓF¿óWø(¿‡„ö[{!ÚÒä—¥EÞÄjeÉo%á¯ïÌÎʱƒÓrh
'ÉëùüÍìÌhž.=yÎôŒ™Œ3%g‹Ëçy¦ŒžxJÌËÙoIµ\6õÅ<9O^»Kç][9úùªlçÜ$cÙÌ_üÒÌŒ±Ì*ÅQš4™–f”™`œ„ýÔ]
Ì\'ÏçKÆ?Çe‰Ì³TY®ì,e"³ÀÈ_¶ýPãàˆå²óøb’ÓÍ<…‡óåPwmOÿ¾v½+}…H¤™@‚È‚D–í’È÷d›¤»¤ãÅÊuÞ
uN…ƒãn½*O¿Î«:øòeV¾/ýdñ‚èÞº ÍàÇõã(çEZä–“¶·£¯ÁÒ"Y=¦ƒóõðÉùf΂…Á|›„+ F“üw¹Ê·¡ïç†lžJ¡’‰ÚÖ7¡9@°w~,ý5ýo"Ïó”0
¨€ô€¡MYn³,’*ã&z|ܵsÁ’ÁÑ£Œ `Mn2æà„̤Š,lžZ® sÁ¡5'˱ÂX°šeRJàô<&H<%Yvú/È:CQ]s½rK_‚¼B$/R|Êp8x“>Ÿ[t~]=ý‡p¾ÁCç{T蘵6@²Bh“ˆ þ–‚ô>-{ˆc`;…h™ü᪄/ЦëMðÎõD„
Ï!)ªaô®'-x^·Ä3Å–YÍY"i–¤ùçúÂSô€SÉØVÓm`EÎ/¥Ú
Ó™Ð2$RQ`†®æœïÈÂSuÙԟƒ¼)té£òüþÒÚ¯ªI¨vfŠb'íàCÙ@ä$Þ.¹
“ëû°ùÛ )îBSD4Ÿ•CIyM¦ÞŒÍTé-T™o%-¾öÃB²PšgØàFßF/\e&eò˸Ɗû$%æQß×Wí[S¥ZKñ /ó`ŸgZ¸¹ˆÕ‘¯‡Õ{>Áôùt‡8{„z*Å~=9’Oj}=\oÜ¡Â+Љ&„¦¡)°ñ€µð÷®…K±Jy΂WûmB„Û‰ˆy·tïr&[·$x`è‡r›Xp‡Íìh&~WJÉÐ9Ü3æäý\é¤lÆØF±¤ÑH/8[–¾î»öo“Œ3£`ñIf2^îN4þ³k¸ƒ”•ì5ŸÃ£¦üÁڄ㌻Ð4Y²„—0¸‡K?:úÿ[ùC%º3mtÄåç³€ÀÈÜÙÄ]ð˜Ï«rðõG‚( YóEéñ\¸`bº`7Ý[že^¶ð½úätàAI©ØHßÑp“‡SKEÈN/ú®qÃáù] ý}êÜ}=ÕauÄðÜ
áìۃ³S®3
,¶«Þ
ÝÆùC}MB
àf"l¦ÏTóoÎM÷ô
·—')Ó:Ó¹Þß(ÚÅÅÉÇÁµÓ
CÒ2އ•£—ãgÏ蟽µÁ´uøáÒ3z_Çu¶e%X‘0½·…ˆqפÿäc¹Þ4®§µR3l
SdL§ã=û
ñÈâ|ܵAGU5âÀ’
LäÖ*~[ä/ˆÿ<ôÄûkï.džœ8žœèâºæa)–¤ì‘Qu{%m·ŸL‚-f!›YÍ5Mg,³¸–YžK|tѾ¬†m2ßC<-d³€“q{‹UÊJ¦gIíÞï¬\átÚëáž°¡#ÚŠÂ-ÒÜJÌ+mq—¹ÃUÄm ü^NsW_ù:~#FµÃij½eAG¼ÏÀ7™7m)™ïq£6¿äÍ2Ì/‚¨—`8‚öx–'õUcón\x¤ø-<˜–HLÁƒi+†ïÇéÖ0¤ù°ªãÆ—D÷QmGϨØFk¢ O–åô ŒxÜMûÃf[èv\ªÂxú"ä¶Hú‘6¸ô«§&ñnrΣ¿[ç│$Ubø~NcùÄð]€MݺÒÓáÆwW¾\¯CJâAÅÐ\ß
Ñ øShi¯ÒèNMšTž‹¬€[ œYQl÷²@ùèdñè/¦ÔQ»
endstream
endobj
14 0 obj
<<
/Length 3881
/Filter /FlateDecode
>>
stream
xÚ¥Z[wÛ6~ϯÐÛJ'C\HíÙ‡4MÚô4§ÙÄ›}hû@‹°Å
Eº$Ûûëw. /'íƒMj ƒÁÌ||ñäÙ+‘¬ò(Oeºº¸Zåy$Z™TGI–¯.ÊÕoë¢)7[ÈõoÞâ‹ZwÅPµMQ3ÙÞ»Š®ö;T»h³Íb±~[Û¢ßlÅÚrßÎŽÙ°·î›Ý®=ÜÍFfëûª¹fê»—Ïxó’»þ];Nµl?lþ¸øy¯¶BDy’°´7]{ÝT)èÕâS¯qˆÚ,2¸6” <ø±¨#â(t”kíØ¦ÌöÂ‹ÛØ[~¹:6;TCï¦Q–Ö‰V5NÄ}å?!ÛõÐÝwÙÕÇÒâpÏ^i5[)aTP}Ìã–%öyòòâÉŸOã•X)m"™'+£ã(3ÙjwxòÛñª„FPG¤òluK]+ •Á[½zÿä_O¾Çõ^Œ¦’8ÒJ«XјoŠ¡«î^MÛT»¢®þçä\ZJ¥É(&êç…KåW¨p
k›-©u«te"_®WgËcS㈗ðf³•4Æ„Ÿ¶ülÝïÛÎÞt¶wËIÖøM@—"ÓQœ~N•2ב–bedåRýUÊÜD hY`Ec¾ªšòAÂOöu3Ø®‚9œ+SÄ&2Fε‰óôÚT 6‘Ô13²'¦T¬„‘5è9N£8ÉNöh4XyEk“®Û+|ï†ÿ´u½êû½-;Tê6¼éÚÕ*JÓÏ«7feD
Ÿ™¿¥ÞÄDFCV&u–úò®ê‡þ¸‚®Ú
¶|UìlP½y¤’Q½¿ÇIüj“¡»ú¸IÒuÑoò><{ë”RƒN›X³¾
ÓStmg¬j™ÂVÔÉRÕn·W¸|¶ƒÑ|™
Þ$ðÜaûÞÒã£k"÷/gd›ûI+Ï‚g‹´ä믜眺öníXŒÒQïûaÉ»®[tü¯‚¬†ÊöAïÊô}uYß³eWFÃãϹÒz¨njç^yq|ç‰ÀÙ&3g«€9[%ó¹³EzÑY¦ß›c]t$4U'c7LNWä<à“Á3/-/TÝÞP`0¾+*{Ò^CÍ!±o¯ÈHn7Ëñy‡EŽâÚº`ô¦j>¾?X+h„—duÜøb!Sk½þZ¦.Ùk6ìA¡?ýñ
7,’N™