2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
20 * This package is based on the work done by Keiron Liddle, Aftex Software
21 * <keiron@aftexsw.com> to whom the Ant project is very grateful for his
25 package org.apache.tools.bzip2;
28 * Base class for both the compress and decompress classes.
29 * Holds common arrays, and static data.
31 * This interface is public for historical purposes.
32 * You should have no need to use it.
35 public interface BZip2Constants {
37 int baseBlockSize = 100000;
38 int MAX_ALPHA_SIZE = 258;
39 int MAX_CODE_LEN = 23;
45 int MAX_SELECTORS = (2 + (900000 / G_SIZE));
46 int NUM_OVERSHOOT_BYTES = 20;
49 * This array really shouldn't be here.
50 * Again, for historical purposes it is.
52 * <p>FIXME: This array should be in a private or package private
53 * location, since it could be modified by malicious code.</p>
56 619, 720, 127, 481, 931, 816, 813, 233, 566, 247,
57 985, 724, 205, 454, 863, 491, 741, 242, 949, 214,
58 733, 859, 335, 708, 621, 574, 73, 654, 730, 472,
59 419, 436, 278, 496, 867, 210, 399, 680, 480, 51,
60 878, 465, 811, 169, 869, 675, 611, 697, 867, 561,
61 862, 687, 507, 283, 482, 129, 807, 591, 733, 623,
62 150, 238, 59, 379, 684, 877, 625, 169, 643, 105,
63 170, 607, 520, 932, 727, 476, 693, 425, 174, 647,
64 73, 122, 335, 530, 442, 853, 695, 249, 445, 515,
65 909, 545, 703, 919, 874, 474, 882, 500, 594, 612,
66 641, 801, 220, 162, 819, 984, 589, 513, 495, 799,
67 161, 604, 958, 533, 221, 400, 386, 867, 600, 782,
68 382, 596, 414, 171, 516, 375, 682, 485, 911, 276,
69 98, 553, 163, 354, 666, 933, 424, 341, 533, 870,
70 227, 730, 475, 186, 263, 647, 537, 686, 600, 224,
71 469, 68, 770, 919, 190, 373, 294, 822, 808, 206,
72 184, 943, 795, 384, 383, 461, 404, 758, 839, 887,
73 715, 67, 618, 276, 204, 918, 873, 777, 604, 560,
74 951, 160, 578, 722, 79, 804, 96, 409, 713, 940,
75 652, 934, 970, 447, 318, 353, 859, 672, 112, 785,
76 645, 863, 803, 350, 139, 93, 354, 99, 820, 908,
77 609, 772, 154, 274, 580, 184, 79, 626, 630, 742,
78 653, 282, 762, 623, 680, 81, 927, 626, 789, 125,
79 411, 521, 938, 300, 821, 78, 343, 175, 128, 250,
80 170, 774, 972, 275, 999, 639, 495, 78, 352, 126,
81 857, 956, 358, 619, 580, 124, 737, 594, 701, 612,
82 669, 112, 134, 694, 363, 992, 809, 743, 168, 974,
83 944, 375, 748, 52, 600, 747, 642, 182, 862, 81,
84 344, 805, 988, 739, 511, 655, 814, 334, 249, 515,
85 897, 955, 664, 981, 649, 113, 974, 459, 893, 228,
86 433, 837, 553, 268, 926, 240, 102, 654, 459, 51,
87 686, 754, 806, 760, 493, 403, 415, 394, 687, 700,
88 946, 670, 656, 610, 738, 392, 760, 799, 887, 653,
89 978, 321, 576, 617, 626, 502, 894, 679, 243, 440,
90 680, 879, 194, 572, 640, 724, 926, 56, 204, 700,
91 707, 151, 457, 449, 797, 195, 791, 558, 945, 679,
92 297, 59, 87, 824, 713, 663, 412, 693, 342, 606,
93 134, 108, 571, 364, 631, 212, 174, 643, 304, 329,
94 343, 97, 430, 751, 497, 314, 983, 374, 822, 928,
95 140, 206, 73, 263, 980, 736, 876, 478, 430, 305,
96 170, 514, 364, 692, 829, 82, 855, 953, 676, 246,
97 369, 970, 294, 750, 807, 827, 150, 790, 288, 923,
98 804, 378, 215, 828, 592, 281, 565, 555, 710, 82,
99 896, 831, 547, 261, 524, 462, 293, 465, 502, 56,
100 661, 821, 976, 991, 658, 869, 905, 758, 745, 193,
101 768, 550, 608, 933, 378, 286, 215, 979, 792, 961,
102 61, 688, 793, 644, 986, 403, 106, 366, 905, 644,
103 372, 567, 466, 434, 645, 210, 389, 550, 919, 135,
104 780, 773, 635, 389, 707, 100, 626, 958, 165, 504,
105 920, 176, 193, 713, 857, 265, 203, 50, 668, 108,
106 645, 990, 626, 197, 510, 357, 358, 850, 858, 364,