• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements.  See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership.  The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License.  You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * Some portions of this file Copyright (c) 2004-2006 Intel Corportation
19  * and licensed under the BSD license.
20  */
21 package org.apache.commons.compress.compressors.snappy;
22 
23 import java.util.zip.Checksum;
24 
25 /**
26  * A pure-java implementation of the CRC32 checksum that uses
27  * the CRC32-C polynomial, the same polynomial used by iSCSI
28  * and implemented on many Intel chipsets supporting SSE4.2.
29  *
30  * <p>This file is a copy of the implementation at the Apache Hadoop project.</p>
31  * @see "https://svn.apache.org/repos/asf/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/PureJavaCrc32C.java"
32  * @NotThreadSafe
33  * @since 1.7
34  */
35 final class PureJavaCrc32C implements Checksum {
36 
37   /** the current CRC value, bit-flipped */
38   private int crc;
39 
40   /** Create a new PureJavaCrc32 object. */
PureJavaCrc32C()41   public PureJavaCrc32C() {
42     reset(); // non-private, but the class is now final
43   }
44 
45   @Override
getValue()46   public long getValue() {
47     final long ret = crc;
48     return (~ret) & 0xffffffffL;
49   }
50 
51   @Override
52   // called by ctor but the class is final so this is safe
reset()53   public void reset() {
54     crc = 0xffffffff;
55   }
56 
57   @Override
update(final byte[] b, int off, int len)58   public void update(final byte[] b, int off, int len) {
59     int localCrc = crc;
60 
61     while(len > 7) {
62       final int c0 =(b[off+0] ^ localCrc) & 0xff;
63       final int c1 =(b[off+1] ^ (localCrc >>>= 8)) & 0xff; //NOSONAR
64       final int c2 =(b[off+2] ^ (localCrc >>>= 8)) & 0xff; //NOSONAR
65       final int c3 =(b[off+3] ^ (localCrc >>>= 8)) & 0xff; //NOSONAR
66       localCrc = (T[T8_7_START + c0] ^ T[T8_6_START + c1])
67           ^ (T[T8_5_START + c2] ^ T[T8_4_START + c3]);
68 
69       final int c4 = b[off+4] & 0xff;
70       final int c5 = b[off+5] & 0xff;
71       final int c6 = b[off+6] & 0xff;
72       final int c7 = b[off+7] & 0xff;
73 
74       localCrc ^= (T[T8_3_START + c4] ^ T[T8_2_START + c5])
75            ^ (T[T8_1_START + c6] ^ T[T8_0_START + c7]);
76 
77       off += 8;
78       len -= 8;
79     }
80 
81     /* loop unroll - duff's device style */
82     switch(len) {
83       case 7: localCrc = (localCrc >>> 8) ^ T[T8_0_START + ((localCrc ^ b[off++]) & 0xff)];
84       case 6: localCrc = (localCrc >>> 8) ^ T[T8_0_START + ((localCrc ^ b[off++]) & 0xff)];
85       case 5: localCrc = (localCrc >>> 8) ^ T[T8_0_START + ((localCrc ^ b[off++]) & 0xff)];
86       case 4: localCrc = (localCrc >>> 8) ^ T[T8_0_START + ((localCrc ^ b[off++]) & 0xff)];
87       case 3: localCrc = (localCrc >>> 8) ^ T[T8_0_START + ((localCrc ^ b[off++]) & 0xff)];
88       case 2: localCrc = (localCrc >>> 8) ^ T[T8_0_START + ((localCrc ^ b[off++]) & 0xff)];
89       case 1: localCrc = (localCrc >>> 8) ^ T[T8_0_START + ((localCrc ^ b[off++]) & 0xff)];
90       default:
91         /* nothing */
92     }
93 
94     // Publish crc out to object
95     crc = localCrc;
96   }
97 
98   @Override
update(final int b)99   final public void update(final int b) {
100     crc = (crc >>> 8) ^ T[T8_0_START + ((crc ^ b) & 0xff)];
101   }
102 
103   // CRC polynomial tables generated by:
104   // java -cp build/test/classes/:build/classes/ \
105   //   org.apache.hadoop.util.TestPureJavaCrc32\$Table 82F63B78
106 
107   private static final int T8_0_START = 0*256;
108   private static final int T8_1_START = 1*256;
109   private static final int T8_2_START = 2*256;
110   private static final int T8_3_START = 3*256;
111   private static final int T8_4_START = 4*256;
112   private static final int T8_5_START = 5*256;
113   private static final int T8_6_START = 6*256;
114   private static final int T8_7_START = 7*256;
115 
116   private static final int[] T = new int[] {
117     /* T8_0 */
118     0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4,
119     0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,
120     0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B,
121     0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,
122     0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B,
123     0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,
124     0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54,
125     0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,
126     0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A,
127     0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,
128     0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5,
129     0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,
130     0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45,
131     0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,
132     0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A,
133     0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,
134     0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48,
135     0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,
136     0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687,
137     0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,
138     0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927,
139     0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,
140     0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8,
141     0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,
142     0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096,
143     0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,
144     0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859,
145     0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,
146     0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9,
147     0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,
148     0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36,
149     0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,
150     0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C,
151     0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,
152     0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043,
153     0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,
154     0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3,
155     0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,
156     0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C,
157     0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,
158     0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652,
159     0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,
160     0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D,
161     0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,
162     0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D,
163     0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,
164     0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2,
165     0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,
166     0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530,
167     0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,
168     0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF,
169     0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,
170     0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F,
171     0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,
172     0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90,
173     0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,
174     0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE,
175     0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,
176     0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321,
177     0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,
178     0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81,
179     0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,
180     0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E,
181     0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,
182     /* T8_1 */
183     0x00000000, 0x13A29877, 0x274530EE, 0x34E7A899,
184     0x4E8A61DC, 0x5D28F9AB, 0x69CF5132, 0x7A6DC945,
185     0x9D14C3B8, 0x8EB65BCF, 0xBA51F356, 0xA9F36B21,
186     0xD39EA264, 0xC03C3A13, 0xF4DB928A, 0xE7790AFD,
187     0x3FC5F181, 0x2C6769F6, 0x1880C16F, 0x0B225918,
188     0x714F905D, 0x62ED082A, 0x560AA0B3, 0x45A838C4,
189     0xA2D13239, 0xB173AA4E, 0x859402D7, 0x96369AA0,
190     0xEC5B53E5, 0xFFF9CB92, 0xCB1E630B, 0xD8BCFB7C,
191     0x7F8BE302, 0x6C297B75, 0x58CED3EC, 0x4B6C4B9B,
192     0x310182DE, 0x22A31AA9, 0x1644B230, 0x05E62A47,
193     0xE29F20BA, 0xF13DB8CD, 0xC5DA1054, 0xD6788823,
194     0xAC154166, 0xBFB7D911, 0x8B507188, 0x98F2E9FF,
195     0x404E1283, 0x53EC8AF4, 0x670B226D, 0x74A9BA1A,
196     0x0EC4735F, 0x1D66EB28, 0x298143B1, 0x3A23DBC6,
197     0xDD5AD13B, 0xCEF8494C, 0xFA1FE1D5, 0xE9BD79A2,
198     0x93D0B0E7, 0x80722890, 0xB4958009, 0xA737187E,
199     0xFF17C604, 0xECB55E73, 0xD852F6EA, 0xCBF06E9D,
200     0xB19DA7D8, 0xA23F3FAF, 0x96D89736, 0x857A0F41,
201     0x620305BC, 0x71A19DCB, 0x45463552, 0x56E4AD25,
202     0x2C896460, 0x3F2BFC17, 0x0BCC548E, 0x186ECCF9,
203     0xC0D23785, 0xD370AFF2, 0xE797076B, 0xF4359F1C,
204     0x8E585659, 0x9DFACE2E, 0xA91D66B7, 0xBABFFEC0,
205     0x5DC6F43D, 0x4E646C4A, 0x7A83C4D3, 0x69215CA4,
206     0x134C95E1, 0x00EE0D96, 0x3409A50F, 0x27AB3D78,
207     0x809C2506, 0x933EBD71, 0xA7D915E8, 0xB47B8D9F,
208     0xCE1644DA, 0xDDB4DCAD, 0xE9537434, 0xFAF1EC43,
209     0x1D88E6BE, 0x0E2A7EC9, 0x3ACDD650, 0x296F4E27,
210     0x53028762, 0x40A01F15, 0x7447B78C, 0x67E52FFB,
211     0xBF59D487, 0xACFB4CF0, 0x981CE469, 0x8BBE7C1E,
212     0xF1D3B55B, 0xE2712D2C, 0xD69685B5, 0xC5341DC2,
213     0x224D173F, 0x31EF8F48, 0x050827D1, 0x16AABFA6,
214     0x6CC776E3, 0x7F65EE94, 0x4B82460D, 0x5820DE7A,
215     0xFBC3FAF9, 0xE861628E, 0xDC86CA17, 0xCF245260,
216     0xB5499B25, 0xA6EB0352, 0x920CABCB, 0x81AE33BC,
217     0x66D73941, 0x7575A136, 0x419209AF, 0x523091D8,
218     0x285D589D, 0x3BFFC0EA, 0x0F186873, 0x1CBAF004,
219     0xC4060B78, 0xD7A4930F, 0xE3433B96, 0xF0E1A3E1,
220     0x8A8C6AA4, 0x992EF2D3, 0xADC95A4A, 0xBE6BC23D,
221     0x5912C8C0, 0x4AB050B7, 0x7E57F82E, 0x6DF56059,
222     0x1798A91C, 0x043A316B, 0x30DD99F2, 0x237F0185,
223     0x844819FB, 0x97EA818C, 0xA30D2915, 0xB0AFB162,
224     0xCAC27827, 0xD960E050, 0xED8748C9, 0xFE25D0BE,
225     0x195CDA43, 0x0AFE4234, 0x3E19EAAD, 0x2DBB72DA,
226     0x57D6BB9F, 0x447423E8, 0x70938B71, 0x63311306,
227     0xBB8DE87A, 0xA82F700D, 0x9CC8D894, 0x8F6A40E3,
228     0xF50789A6, 0xE6A511D1, 0xD242B948, 0xC1E0213F,
229     0x26992BC2, 0x353BB3B5, 0x01DC1B2C, 0x127E835B,
230     0x68134A1E, 0x7BB1D269, 0x4F567AF0, 0x5CF4E287,
231     0x04D43CFD, 0x1776A48A, 0x23910C13, 0x30339464,
232     0x4A5E5D21, 0x59FCC556, 0x6D1B6DCF, 0x7EB9F5B8,
233     0x99C0FF45, 0x8A626732, 0xBE85CFAB, 0xAD2757DC,
234     0xD74A9E99, 0xC4E806EE, 0xF00FAE77, 0xE3AD3600,
235     0x3B11CD7C, 0x28B3550B, 0x1C54FD92, 0x0FF665E5,
236     0x759BACA0, 0x663934D7, 0x52DE9C4E, 0x417C0439,
237     0xA6050EC4, 0xB5A796B3, 0x81403E2A, 0x92E2A65D,
238     0xE88F6F18, 0xFB2DF76F, 0xCFCA5FF6, 0xDC68C781,
239     0x7B5FDFFF, 0x68FD4788, 0x5C1AEF11, 0x4FB87766,
240     0x35D5BE23, 0x26772654, 0x12908ECD, 0x013216BA,
241     0xE64B1C47, 0xF5E98430, 0xC10E2CA9, 0xD2ACB4DE,
242     0xA8C17D9B, 0xBB63E5EC, 0x8F844D75, 0x9C26D502,
243     0x449A2E7E, 0x5738B609, 0x63DF1E90, 0x707D86E7,
244     0x0A104FA2, 0x19B2D7D5, 0x2D557F4C, 0x3EF7E73B,
245     0xD98EEDC6, 0xCA2C75B1, 0xFECBDD28, 0xED69455F,
246     0x97048C1A, 0x84A6146D, 0xB041BCF4, 0xA3E32483,
247     /* T8_2 */
248     0x00000000, 0xA541927E, 0x4F6F520D, 0xEA2EC073,
249     0x9EDEA41A, 0x3B9F3664, 0xD1B1F617, 0x74F06469,
250     0x38513EC5, 0x9D10ACBB, 0x773E6CC8, 0xD27FFEB6,
251     0xA68F9ADF, 0x03CE08A1, 0xE9E0C8D2, 0x4CA15AAC,
252     0x70A27D8A, 0xD5E3EFF4, 0x3FCD2F87, 0x9A8CBDF9,
253     0xEE7CD990, 0x4B3D4BEE, 0xA1138B9D, 0x045219E3,
254     0x48F3434F, 0xEDB2D131, 0x079C1142, 0xA2DD833C,
255     0xD62DE755, 0x736C752B, 0x9942B558, 0x3C032726,
256     0xE144FB14, 0x4405696A, 0xAE2BA919, 0x0B6A3B67,
257     0x7F9A5F0E, 0xDADBCD70, 0x30F50D03, 0x95B49F7D,
258     0xD915C5D1, 0x7C5457AF, 0x967A97DC, 0x333B05A2,
259     0x47CB61CB, 0xE28AF3B5, 0x08A433C6, 0xADE5A1B8,
260     0x91E6869E, 0x34A714E0, 0xDE89D493, 0x7BC846ED,
261     0x0F382284, 0xAA79B0FA, 0x40577089, 0xE516E2F7,
262     0xA9B7B85B, 0x0CF62A25, 0xE6D8EA56, 0x43997828,
263     0x37691C41, 0x92288E3F, 0x78064E4C, 0xDD47DC32,
264     0xC76580D9, 0x622412A7, 0x880AD2D4, 0x2D4B40AA,
265     0x59BB24C3, 0xFCFAB6BD, 0x16D476CE, 0xB395E4B0,
266     0xFF34BE1C, 0x5A752C62, 0xB05BEC11, 0x151A7E6F,
267     0x61EA1A06, 0xC4AB8878, 0x2E85480B, 0x8BC4DA75,
268     0xB7C7FD53, 0x12866F2D, 0xF8A8AF5E, 0x5DE93D20,
269     0x29195949, 0x8C58CB37, 0x66760B44, 0xC337993A,
270     0x8F96C396, 0x2AD751E8, 0xC0F9919B, 0x65B803E5,
271     0x1148678C, 0xB409F5F2, 0x5E273581, 0xFB66A7FF,
272     0x26217BCD, 0x8360E9B3, 0x694E29C0, 0xCC0FBBBE,
273     0xB8FFDFD7, 0x1DBE4DA9, 0xF7908DDA, 0x52D11FA4,
274     0x1E704508, 0xBB31D776, 0x511F1705, 0xF45E857B,
275     0x80AEE112, 0x25EF736C, 0xCFC1B31F, 0x6A802161,
276     0x56830647, 0xF3C29439, 0x19EC544A, 0xBCADC634,
277     0xC85DA25D, 0x6D1C3023, 0x8732F050, 0x2273622E,
278     0x6ED23882, 0xCB93AAFC, 0x21BD6A8F, 0x84FCF8F1,
279     0xF00C9C98, 0x554D0EE6, 0xBF63CE95, 0x1A225CEB,
280     0x8B277743, 0x2E66E53D, 0xC448254E, 0x6109B730,
281     0x15F9D359, 0xB0B84127, 0x5A968154, 0xFFD7132A,
282     0xB3764986, 0x1637DBF8, 0xFC191B8B, 0x595889F5,
283     0x2DA8ED9C, 0x88E97FE2, 0x62C7BF91, 0xC7862DEF,
284     0xFB850AC9, 0x5EC498B7, 0xB4EA58C4, 0x11ABCABA,
285     0x655BAED3, 0xC01A3CAD, 0x2A34FCDE, 0x8F756EA0,
286     0xC3D4340C, 0x6695A672, 0x8CBB6601, 0x29FAF47F,
287     0x5D0A9016, 0xF84B0268, 0x1265C21B, 0xB7245065,
288     0x6A638C57, 0xCF221E29, 0x250CDE5A, 0x804D4C24,
289     0xF4BD284D, 0x51FCBA33, 0xBBD27A40, 0x1E93E83E,
290     0x5232B292, 0xF77320EC, 0x1D5DE09F, 0xB81C72E1,
291     0xCCEC1688, 0x69AD84F6, 0x83834485, 0x26C2D6FB,
292     0x1AC1F1DD, 0xBF8063A3, 0x55AEA3D0, 0xF0EF31AE,
293     0x841F55C7, 0x215EC7B9, 0xCB7007CA, 0x6E3195B4,
294     0x2290CF18, 0x87D15D66, 0x6DFF9D15, 0xC8BE0F6B,
295     0xBC4E6B02, 0x190FF97C, 0xF321390F, 0x5660AB71,
296     0x4C42F79A, 0xE90365E4, 0x032DA597, 0xA66C37E9,
297     0xD29C5380, 0x77DDC1FE, 0x9DF3018D, 0x38B293F3,
298     0x7413C95F, 0xD1525B21, 0x3B7C9B52, 0x9E3D092C,
299     0xEACD6D45, 0x4F8CFF3B, 0xA5A23F48, 0x00E3AD36,
300     0x3CE08A10, 0x99A1186E, 0x738FD81D, 0xD6CE4A63,
301     0xA23E2E0A, 0x077FBC74, 0xED517C07, 0x4810EE79,
302     0x04B1B4D5, 0xA1F026AB, 0x4BDEE6D8, 0xEE9F74A6,
303     0x9A6F10CF, 0x3F2E82B1, 0xD50042C2, 0x7041D0BC,
304     0xAD060C8E, 0x08479EF0, 0xE2695E83, 0x4728CCFD,
305     0x33D8A894, 0x96993AEA, 0x7CB7FA99, 0xD9F668E7,
306     0x9557324B, 0x3016A035, 0xDA386046, 0x7F79F238,
307     0x0B899651, 0xAEC8042F, 0x44E6C45C, 0xE1A75622,
308     0xDDA47104, 0x78E5E37A, 0x92CB2309, 0x378AB177,
309     0x437AD51E, 0xE63B4760, 0x0C158713, 0xA954156D,
310     0xE5F54FC1, 0x40B4DDBF, 0xAA9A1DCC, 0x0FDB8FB2,
311     0x7B2BEBDB, 0xDE6A79A5, 0x3444B9D6, 0x91052BA8,
312     /* T8_3 */
313     0x00000000, 0xDD45AAB8, 0xBF672381, 0x62228939,
314     0x7B2231F3, 0xA6679B4B, 0xC4451272, 0x1900B8CA,
315     0xF64463E6, 0x2B01C95E, 0x49234067, 0x9466EADF,
316     0x8D665215, 0x5023F8AD, 0x32017194, 0xEF44DB2C,
317     0xE964B13D, 0x34211B85, 0x560392BC, 0x8B463804,
318     0x924680CE, 0x4F032A76, 0x2D21A34F, 0xF06409F7,
319     0x1F20D2DB, 0xC2657863, 0xA047F15A, 0x7D025BE2,
320     0x6402E328, 0xB9474990, 0xDB65C0A9, 0x06206A11,
321     0xD725148B, 0x0A60BE33, 0x6842370A, 0xB5079DB2,
322     0xAC072578, 0x71428FC0, 0x136006F9, 0xCE25AC41,
323     0x2161776D, 0xFC24DDD5, 0x9E0654EC, 0x4343FE54,
324     0x5A43469E, 0x8706EC26, 0xE524651F, 0x3861CFA7,
325     0x3E41A5B6, 0xE3040F0E, 0x81268637, 0x5C632C8F,
326     0x45639445, 0x98263EFD, 0xFA04B7C4, 0x27411D7C,
327     0xC805C650, 0x15406CE8, 0x7762E5D1, 0xAA274F69,
328     0xB327F7A3, 0x6E625D1B, 0x0C40D422, 0xD1057E9A,
329     0xABA65FE7, 0x76E3F55F, 0x14C17C66, 0xC984D6DE,
330     0xD0846E14, 0x0DC1C4AC, 0x6FE34D95, 0xB2A6E72D,
331     0x5DE23C01, 0x80A796B9, 0xE2851F80, 0x3FC0B538,
332     0x26C00DF2, 0xFB85A74A, 0x99A72E73, 0x44E284CB,
333     0x42C2EEDA, 0x9F874462, 0xFDA5CD5B, 0x20E067E3,
334     0x39E0DF29, 0xE4A57591, 0x8687FCA8, 0x5BC25610,
335     0xB4868D3C, 0x69C32784, 0x0BE1AEBD, 0xD6A40405,
336     0xCFA4BCCF, 0x12E11677, 0x70C39F4E, 0xAD8635F6,
337     0x7C834B6C, 0xA1C6E1D4, 0xC3E468ED, 0x1EA1C255,
338     0x07A17A9F, 0xDAE4D027, 0xB8C6591E, 0x6583F3A6,
339     0x8AC7288A, 0x57828232, 0x35A00B0B, 0xE8E5A1B3,
340     0xF1E51979, 0x2CA0B3C1, 0x4E823AF8, 0x93C79040,
341     0x95E7FA51, 0x48A250E9, 0x2A80D9D0, 0xF7C57368,
342     0xEEC5CBA2, 0x3380611A, 0x51A2E823, 0x8CE7429B,
343     0x63A399B7, 0xBEE6330F, 0xDCC4BA36, 0x0181108E,
344     0x1881A844, 0xC5C402FC, 0xA7E68BC5, 0x7AA3217D,
345     0x52A0C93F, 0x8FE56387, 0xEDC7EABE, 0x30824006,
346     0x2982F8CC, 0xF4C75274, 0x96E5DB4D, 0x4BA071F5,
347     0xA4E4AAD9, 0x79A10061, 0x1B838958, 0xC6C623E0,
348     0xDFC69B2A, 0x02833192, 0x60A1B8AB, 0xBDE41213,
349     0xBBC47802, 0x6681D2BA, 0x04A35B83, 0xD9E6F13B,
350     0xC0E649F1, 0x1DA3E349, 0x7F816A70, 0xA2C4C0C8,
351     0x4D801BE4, 0x90C5B15C, 0xF2E73865, 0x2FA292DD,
352     0x36A22A17, 0xEBE780AF, 0x89C50996, 0x5480A32E,
353     0x8585DDB4, 0x58C0770C, 0x3AE2FE35, 0xE7A7548D,
354     0xFEA7EC47, 0x23E246FF, 0x41C0CFC6, 0x9C85657E,
355     0x73C1BE52, 0xAE8414EA, 0xCCA69DD3, 0x11E3376B,
356     0x08E38FA1, 0xD5A62519, 0xB784AC20, 0x6AC10698,
357     0x6CE16C89, 0xB1A4C631, 0xD3864F08, 0x0EC3E5B0,
358     0x17C35D7A, 0xCA86F7C2, 0xA8A47EFB, 0x75E1D443,
359     0x9AA50F6F, 0x47E0A5D7, 0x25C22CEE, 0xF8878656,
360     0xE1873E9C, 0x3CC29424, 0x5EE01D1D, 0x83A5B7A5,
361     0xF90696D8, 0x24433C60, 0x4661B559, 0x9B241FE1,
362     0x8224A72B, 0x5F610D93, 0x3D4384AA, 0xE0062E12,
363     0x0F42F53E, 0xD2075F86, 0xB025D6BF, 0x6D607C07,
364     0x7460C4CD, 0xA9256E75, 0xCB07E74C, 0x16424DF4,
365     0x106227E5, 0xCD278D5D, 0xAF050464, 0x7240AEDC,
366     0x6B401616, 0xB605BCAE, 0xD4273597, 0x09629F2F,
367     0xE6264403, 0x3B63EEBB, 0x59416782, 0x8404CD3A,
368     0x9D0475F0, 0x4041DF48, 0x22635671, 0xFF26FCC9,
369     0x2E238253, 0xF36628EB, 0x9144A1D2, 0x4C010B6A,
370     0x5501B3A0, 0x88441918, 0xEA669021, 0x37233A99,
371     0xD867E1B5, 0x05224B0D, 0x6700C234, 0xBA45688C,
372     0xA345D046, 0x7E007AFE, 0x1C22F3C7, 0xC167597F,
373     0xC747336E, 0x1A0299D6, 0x782010EF, 0xA565BA57,
374     0xBC65029D, 0x6120A825, 0x0302211C, 0xDE478BA4,
375     0x31035088, 0xEC46FA30, 0x8E647309, 0x5321D9B1,
376     0x4A21617B, 0x9764CBC3, 0xF54642FA, 0x2803E842,
377     /* T8_4 */
378     0x00000000, 0x38116FAC, 0x7022DF58, 0x4833B0F4,
379     0xE045BEB0, 0xD854D11C, 0x906761E8, 0xA8760E44,
380     0xC5670B91, 0xFD76643D, 0xB545D4C9, 0x8D54BB65,
381     0x2522B521, 0x1D33DA8D, 0x55006A79, 0x6D1105D5,
382     0x8F2261D3, 0xB7330E7F, 0xFF00BE8B, 0xC711D127,
383     0x6F67DF63, 0x5776B0CF, 0x1F45003B, 0x27546F97,
384     0x4A456A42, 0x725405EE, 0x3A67B51A, 0x0276DAB6,
385     0xAA00D4F2, 0x9211BB5E, 0xDA220BAA, 0xE2336406,
386     0x1BA8B557, 0x23B9DAFB, 0x6B8A6A0F, 0x539B05A3,
387     0xFBED0BE7, 0xC3FC644B, 0x8BCFD4BF, 0xB3DEBB13,
388     0xDECFBEC6, 0xE6DED16A, 0xAEED619E, 0x96FC0E32,
389     0x3E8A0076, 0x069B6FDA, 0x4EA8DF2E, 0x76B9B082,
390     0x948AD484, 0xAC9BBB28, 0xE4A80BDC, 0xDCB96470,
391     0x74CF6A34, 0x4CDE0598, 0x04EDB56C, 0x3CFCDAC0,
392     0x51EDDF15, 0x69FCB0B9, 0x21CF004D, 0x19DE6FE1,
393     0xB1A861A5, 0x89B90E09, 0xC18ABEFD, 0xF99BD151,
394     0x37516AAE, 0x0F400502, 0x4773B5F6, 0x7F62DA5A,
395     0xD714D41E, 0xEF05BBB2, 0xA7360B46, 0x9F2764EA,
396     0xF236613F, 0xCA270E93, 0x8214BE67, 0xBA05D1CB,
397     0x1273DF8F, 0x2A62B023, 0x625100D7, 0x5A406F7B,
398     0xB8730B7D, 0x806264D1, 0xC851D425, 0xF040BB89,
399     0x5836B5CD, 0x6027DA61, 0x28146A95, 0x10050539,
400     0x7D1400EC, 0x45056F40, 0x0D36DFB4, 0x3527B018,
401     0x9D51BE5C, 0xA540D1F0, 0xED736104, 0xD5620EA8,
402     0x2CF9DFF9, 0x14E8B055, 0x5CDB00A1, 0x64CA6F0D,
403     0xCCBC6149, 0xF4AD0EE5, 0xBC9EBE11, 0x848FD1BD,
404     0xE99ED468, 0xD18FBBC4, 0x99BC0B30, 0xA1AD649C,
405     0x09DB6AD8, 0x31CA0574, 0x79F9B580, 0x41E8DA2C,
406     0xA3DBBE2A, 0x9BCAD186, 0xD3F96172, 0xEBE80EDE,
407     0x439E009A, 0x7B8F6F36, 0x33BCDFC2, 0x0BADB06E,
408     0x66BCB5BB, 0x5EADDA17, 0x169E6AE3, 0x2E8F054F,
409     0x86F90B0B, 0xBEE864A7, 0xF6DBD453, 0xCECABBFF,
410     0x6EA2D55C, 0x56B3BAF0, 0x1E800A04, 0x269165A8,
411     0x8EE76BEC, 0xB6F60440, 0xFEC5B4B4, 0xC6D4DB18,
412     0xABC5DECD, 0x93D4B161, 0xDBE70195, 0xE3F66E39,
413     0x4B80607D, 0x73910FD1, 0x3BA2BF25, 0x03B3D089,
414     0xE180B48F, 0xD991DB23, 0x91A26BD7, 0xA9B3047B,
415     0x01C50A3F, 0x39D46593, 0x71E7D567, 0x49F6BACB,
416     0x24E7BF1E, 0x1CF6D0B2, 0x54C56046, 0x6CD40FEA,
417     0xC4A201AE, 0xFCB36E02, 0xB480DEF6, 0x8C91B15A,
418     0x750A600B, 0x4D1B0FA7, 0x0528BF53, 0x3D39D0FF,
419     0x954FDEBB, 0xAD5EB117, 0xE56D01E3, 0xDD7C6E4F,
420     0xB06D6B9A, 0x887C0436, 0xC04FB4C2, 0xF85EDB6E,
421     0x5028D52A, 0x6839BA86, 0x200A0A72, 0x181B65DE,
422     0xFA2801D8, 0xC2396E74, 0x8A0ADE80, 0xB21BB12C,
423     0x1A6DBF68, 0x227CD0C4, 0x6A4F6030, 0x525E0F9C,
424     0x3F4F0A49, 0x075E65E5, 0x4F6DD511, 0x777CBABD,
425     0xDF0AB4F9, 0xE71BDB55, 0xAF286BA1, 0x9739040D,
426     0x59F3BFF2, 0x61E2D05E, 0x29D160AA, 0x11C00F06,
427     0xB9B60142, 0x81A76EEE, 0xC994DE1A, 0xF185B1B6,
428     0x9C94B463, 0xA485DBCF, 0xECB66B3B, 0xD4A70497,
429     0x7CD10AD3, 0x44C0657F, 0x0CF3D58B, 0x34E2BA27,
430     0xD6D1DE21, 0xEEC0B18D, 0xA6F30179, 0x9EE26ED5,
431     0x36946091, 0x0E850F3D, 0x46B6BFC9, 0x7EA7D065,
432     0x13B6D5B0, 0x2BA7BA1C, 0x63940AE8, 0x5B856544,
433     0xF3F36B00, 0xCBE204AC, 0x83D1B458, 0xBBC0DBF4,
434     0x425B0AA5, 0x7A4A6509, 0x3279D5FD, 0x0A68BA51,
435     0xA21EB415, 0x9A0FDBB9, 0xD23C6B4D, 0xEA2D04E1,
436     0x873C0134, 0xBF2D6E98, 0xF71EDE6C, 0xCF0FB1C0,
437     0x6779BF84, 0x5F68D028, 0x175B60DC, 0x2F4A0F70,
438     0xCD796B76, 0xF56804DA, 0xBD5BB42E, 0x854ADB82,
439     0x2D3CD5C6, 0x152DBA6A, 0x5D1E0A9E, 0x650F6532,
440     0x081E60E7, 0x300F0F4B, 0x783CBFBF, 0x402DD013,
441     0xE85BDE57, 0xD04AB1FB, 0x9879010F, 0xA0686EA3,
442     /* T8_5 */
443     0x00000000, 0xEF306B19, 0xDB8CA0C3, 0x34BCCBDA,
444     0xB2F53777, 0x5DC55C6E, 0x697997B4, 0x8649FCAD,
445     0x6006181F, 0x8F367306, 0xBB8AB8DC, 0x54BAD3C5,
446     0xD2F32F68, 0x3DC34471, 0x097F8FAB, 0xE64FE4B2,
447     0xC00C303E, 0x2F3C5B27, 0x1B8090FD, 0xF4B0FBE4,
448     0x72F90749, 0x9DC96C50, 0xA975A78A, 0x4645CC93,
449     0xA00A2821, 0x4F3A4338, 0x7B8688E2, 0x94B6E3FB,
450     0x12FF1F56, 0xFDCF744F, 0xC973BF95, 0x2643D48C,
451     0x85F4168D, 0x6AC47D94, 0x5E78B64E, 0xB148DD57,
452     0x370121FA, 0xD8314AE3, 0xEC8D8139, 0x03BDEA20,
453     0xE5F20E92, 0x0AC2658B, 0x3E7EAE51, 0xD14EC548,
454     0x570739E5, 0xB83752FC, 0x8C8B9926, 0x63BBF23F,
455     0x45F826B3, 0xAAC84DAA, 0x9E748670, 0x7144ED69,
456     0xF70D11C4, 0x183D7ADD, 0x2C81B107, 0xC3B1DA1E,
457     0x25FE3EAC, 0xCACE55B5, 0xFE729E6F, 0x1142F576,
458     0x970B09DB, 0x783B62C2, 0x4C87A918, 0xA3B7C201,
459     0x0E045BEB, 0xE13430F2, 0xD588FB28, 0x3AB89031,
460     0xBCF16C9C, 0x53C10785, 0x677DCC5F, 0x884DA746,
461     0x6E0243F4, 0x813228ED, 0xB58EE337, 0x5ABE882E,
462     0xDCF77483, 0x33C71F9A, 0x077BD440, 0xE84BBF59,
463     0xCE086BD5, 0x213800CC, 0x1584CB16, 0xFAB4A00F,
464     0x7CFD5CA2, 0x93CD37BB, 0xA771FC61, 0x48419778,
465     0xAE0E73CA, 0x413E18D3, 0x7582D309, 0x9AB2B810,
466     0x1CFB44BD, 0xF3CB2FA4, 0xC777E47E, 0x28478F67,
467     0x8BF04D66, 0x64C0267F, 0x507CEDA5, 0xBF4C86BC,
468     0x39057A11, 0xD6351108, 0xE289DAD2, 0x0DB9B1CB,
469     0xEBF65579, 0x04C63E60, 0x307AF5BA, 0xDF4A9EA3,
470     0x5903620E, 0xB6330917, 0x828FC2CD, 0x6DBFA9D4,
471     0x4BFC7D58, 0xA4CC1641, 0x9070DD9B, 0x7F40B682,
472     0xF9094A2F, 0x16392136, 0x2285EAEC, 0xCDB581F5,
473     0x2BFA6547, 0xC4CA0E5E, 0xF076C584, 0x1F46AE9D,
474     0x990F5230, 0x763F3929, 0x4283F2F3, 0xADB399EA,
475     0x1C08B7D6, 0xF338DCCF, 0xC7841715, 0x28B47C0C,
476     0xAEFD80A1, 0x41CDEBB8, 0x75712062, 0x9A414B7B,
477     0x7C0EAFC9, 0x933EC4D0, 0xA7820F0A, 0x48B26413,
478     0xCEFB98BE, 0x21CBF3A7, 0x1577387D, 0xFA475364,
479     0xDC0487E8, 0x3334ECF1, 0x0788272B, 0xE8B84C32,
480     0x6EF1B09F, 0x81C1DB86, 0xB57D105C, 0x5A4D7B45,
481     0xBC029FF7, 0x5332F4EE, 0x678E3F34, 0x88BE542D,
482     0x0EF7A880, 0xE1C7C399, 0xD57B0843, 0x3A4B635A,
483     0x99FCA15B, 0x76CCCA42, 0x42700198, 0xAD406A81,
484     0x2B09962C, 0xC439FD35, 0xF08536EF, 0x1FB55DF6,
485     0xF9FAB944, 0x16CAD25D, 0x22761987, 0xCD46729E,
486     0x4B0F8E33, 0xA43FE52A, 0x90832EF0, 0x7FB345E9,
487     0x59F09165, 0xB6C0FA7C, 0x827C31A6, 0x6D4C5ABF,
488     0xEB05A612, 0x0435CD0B, 0x308906D1, 0xDFB96DC8,
489     0x39F6897A, 0xD6C6E263, 0xE27A29B9, 0x0D4A42A0,
490     0x8B03BE0D, 0x6433D514, 0x508F1ECE, 0xBFBF75D7,
491     0x120CEC3D, 0xFD3C8724, 0xC9804CFE, 0x26B027E7,
492     0xA0F9DB4A, 0x4FC9B053, 0x7B757B89, 0x94451090,
493     0x720AF422, 0x9D3A9F3B, 0xA98654E1, 0x46B63FF8,
494     0xC0FFC355, 0x2FCFA84C, 0x1B736396, 0xF443088F,
495     0xD200DC03, 0x3D30B71A, 0x098C7CC0, 0xE6BC17D9,
496     0x60F5EB74, 0x8FC5806D, 0xBB794BB7, 0x544920AE,
497     0xB206C41C, 0x5D36AF05, 0x698A64DF, 0x86BA0FC6,
498     0x00F3F36B, 0xEFC39872, 0xDB7F53A8, 0x344F38B1,
499     0x97F8FAB0, 0x78C891A9, 0x4C745A73, 0xA344316A,
500     0x250DCDC7, 0xCA3DA6DE, 0xFE816D04, 0x11B1061D,
501     0xF7FEE2AF, 0x18CE89B6, 0x2C72426C, 0xC3422975,
502     0x450BD5D8, 0xAA3BBEC1, 0x9E87751B, 0x71B71E02,
503     0x57F4CA8E, 0xB8C4A197, 0x8C786A4D, 0x63480154,
504     0xE501FDF9, 0x0A3196E0, 0x3E8D5D3A, 0xD1BD3623,
505     0x37F2D291, 0xD8C2B988, 0xEC7E7252, 0x034E194B,
506     0x8507E5E6, 0x6A378EFF, 0x5E8B4525, 0xB1BB2E3C,
507     /* T8_6 */
508     0x00000000, 0x68032CC8, 0xD0065990, 0xB8057558,
509     0xA5E0C5D1, 0xCDE3E919, 0x75E69C41, 0x1DE5B089,
510     0x4E2DFD53, 0x262ED19B, 0x9E2BA4C3, 0xF628880B,
511     0xEBCD3882, 0x83CE144A, 0x3BCB6112, 0x53C84DDA,
512     0x9C5BFAA6, 0xF458D66E, 0x4C5DA336, 0x245E8FFE,
513     0x39BB3F77, 0x51B813BF, 0xE9BD66E7, 0x81BE4A2F,
514     0xD27607F5, 0xBA752B3D, 0x02705E65, 0x6A7372AD,
515     0x7796C224, 0x1F95EEEC, 0xA7909BB4, 0xCF93B77C,
516     0x3D5B83BD, 0x5558AF75, 0xED5DDA2D, 0x855EF6E5,
517     0x98BB466C, 0xF0B86AA4, 0x48BD1FFC, 0x20BE3334,
518     0x73767EEE, 0x1B755226, 0xA370277E, 0xCB730BB6,
519     0xD696BB3F, 0xBE9597F7, 0x0690E2AF, 0x6E93CE67,
520     0xA100791B, 0xC90355D3, 0x7106208B, 0x19050C43,
521     0x04E0BCCA, 0x6CE39002, 0xD4E6E55A, 0xBCE5C992,
522     0xEF2D8448, 0x872EA880, 0x3F2BDDD8, 0x5728F110,
523     0x4ACD4199, 0x22CE6D51, 0x9ACB1809, 0xF2C834C1,
524     0x7AB7077A, 0x12B42BB2, 0xAAB15EEA, 0xC2B27222,
525     0xDF57C2AB, 0xB754EE63, 0x0F519B3B, 0x6752B7F3,
526     0x349AFA29, 0x5C99D6E1, 0xE49CA3B9, 0x8C9F8F71,
527     0x917A3FF8, 0xF9791330, 0x417C6668, 0x297F4AA0,
528     0xE6ECFDDC, 0x8EEFD114, 0x36EAA44C, 0x5EE98884,
529     0x430C380D, 0x2B0F14C5, 0x930A619D, 0xFB094D55,
530     0xA8C1008F, 0xC0C22C47, 0x78C7591F, 0x10C475D7,
531     0x0D21C55E, 0x6522E996, 0xDD279CCE, 0xB524B006,
532     0x47EC84C7, 0x2FEFA80F, 0x97EADD57, 0xFFE9F19F,
533     0xE20C4116, 0x8A0F6DDE, 0x320A1886, 0x5A09344E,
534     0x09C17994, 0x61C2555C, 0xD9C72004, 0xB1C40CCC,
535     0xAC21BC45, 0xC422908D, 0x7C27E5D5, 0x1424C91D,
536     0xDBB77E61, 0xB3B452A9, 0x0BB127F1, 0x63B20B39,
537     0x7E57BBB0, 0x16549778, 0xAE51E220, 0xC652CEE8,
538     0x959A8332, 0xFD99AFFA, 0x459CDAA2, 0x2D9FF66A,
539     0x307A46E3, 0x58796A2B, 0xE07C1F73, 0x887F33BB,
540     0xF56E0EF4, 0x9D6D223C, 0x25685764, 0x4D6B7BAC,
541     0x508ECB25, 0x388DE7ED, 0x808892B5, 0xE88BBE7D,
542     0xBB43F3A7, 0xD340DF6F, 0x6B45AA37, 0x034686FF,
543     0x1EA33676, 0x76A01ABE, 0xCEA56FE6, 0xA6A6432E,
544     0x6935F452, 0x0136D89A, 0xB933ADC2, 0xD130810A,
545     0xCCD53183, 0xA4D61D4B, 0x1CD36813, 0x74D044DB,
546     0x27180901, 0x4F1B25C9, 0xF71E5091, 0x9F1D7C59,
547     0x82F8CCD0, 0xEAFBE018, 0x52FE9540, 0x3AFDB988,
548     0xC8358D49, 0xA036A181, 0x1833D4D9, 0x7030F811,
549     0x6DD54898, 0x05D66450, 0xBDD31108, 0xD5D03DC0,
550     0x8618701A, 0xEE1B5CD2, 0x561E298A, 0x3E1D0542,
551     0x23F8B5CB, 0x4BFB9903, 0xF3FEEC5B, 0x9BFDC093,
552     0x546E77EF, 0x3C6D5B27, 0x84682E7F, 0xEC6B02B7,
553     0xF18EB23E, 0x998D9EF6, 0x2188EBAE, 0x498BC766,
554     0x1A438ABC, 0x7240A674, 0xCA45D32C, 0xA246FFE4,
555     0xBFA34F6D, 0xD7A063A5, 0x6FA516FD, 0x07A63A35,
556     0x8FD9098E, 0xE7DA2546, 0x5FDF501E, 0x37DC7CD6,
557     0x2A39CC5F, 0x423AE097, 0xFA3F95CF, 0x923CB907,
558     0xC1F4F4DD, 0xA9F7D815, 0x11F2AD4D, 0x79F18185,
559     0x6414310C, 0x0C171DC4, 0xB412689C, 0xDC114454,
560     0x1382F328, 0x7B81DFE0, 0xC384AAB8, 0xAB878670,
561     0xB66236F9, 0xDE611A31, 0x66646F69, 0x0E6743A1,
562     0x5DAF0E7B, 0x35AC22B3, 0x8DA957EB, 0xE5AA7B23,
563     0xF84FCBAA, 0x904CE762, 0x2849923A, 0x404ABEF2,
564     0xB2828A33, 0xDA81A6FB, 0x6284D3A3, 0x0A87FF6B,
565     0x17624FE2, 0x7F61632A, 0xC7641672, 0xAF673ABA,
566     0xFCAF7760, 0x94AC5BA8, 0x2CA92EF0, 0x44AA0238,
567     0x594FB2B1, 0x314C9E79, 0x8949EB21, 0xE14AC7E9,
568     0x2ED97095, 0x46DA5C5D, 0xFEDF2905, 0x96DC05CD,
569     0x8B39B544, 0xE33A998C, 0x5B3FECD4, 0x333CC01C,
570     0x60F48DC6, 0x08F7A10E, 0xB0F2D456, 0xD8F1F89E,
571     0xC5144817, 0xAD1764DF, 0x15121187, 0x7D113D4F,
572     /* T8_7 */
573     0x00000000, 0x493C7D27, 0x9278FA4E, 0xDB448769,
574     0x211D826D, 0x6821FF4A, 0xB3657823, 0xFA590504,
575     0x423B04DA, 0x0B0779FD, 0xD043FE94, 0x997F83B3,
576     0x632686B7, 0x2A1AFB90, 0xF15E7CF9, 0xB86201DE,
577     0x847609B4, 0xCD4A7493, 0x160EF3FA, 0x5F328EDD,
578     0xA56B8BD9, 0xEC57F6FE, 0x37137197, 0x7E2F0CB0,
579     0xC64D0D6E, 0x8F717049, 0x5435F720, 0x1D098A07,
580     0xE7508F03, 0xAE6CF224, 0x7528754D, 0x3C14086A,
581     0x0D006599, 0x443C18BE, 0x9F789FD7, 0xD644E2F0,
582     0x2C1DE7F4, 0x65219AD3, 0xBE651DBA, 0xF759609D,
583     0x4F3B6143, 0x06071C64, 0xDD439B0D, 0x947FE62A,
584     0x6E26E32E, 0x271A9E09, 0xFC5E1960, 0xB5626447,
585     0x89766C2D, 0xC04A110A, 0x1B0E9663, 0x5232EB44,
586     0xA86BEE40, 0xE1579367, 0x3A13140E, 0x732F6929,
587     0xCB4D68F7, 0x827115D0, 0x593592B9, 0x1009EF9E,
588     0xEA50EA9A, 0xA36C97BD, 0x782810D4, 0x31146DF3,
589     0x1A00CB32, 0x533CB615, 0x8878317C, 0xC1444C5B,
590     0x3B1D495F, 0x72213478, 0xA965B311, 0xE059CE36,
591     0x583BCFE8, 0x1107B2CF, 0xCA4335A6, 0x837F4881,
592     0x79264D85, 0x301A30A2, 0xEB5EB7CB, 0xA262CAEC,
593     0x9E76C286, 0xD74ABFA1, 0x0C0E38C8, 0x453245EF,
594     0xBF6B40EB, 0xF6573DCC, 0x2D13BAA5, 0x642FC782,
595     0xDC4DC65C, 0x9571BB7B, 0x4E353C12, 0x07094135,
596     0xFD504431, 0xB46C3916, 0x6F28BE7F, 0x2614C358,
597     0x1700AEAB, 0x5E3CD38C, 0x857854E5, 0xCC4429C2,
598     0x361D2CC6, 0x7F2151E1, 0xA465D688, 0xED59ABAF,
599     0x553BAA71, 0x1C07D756, 0xC743503F, 0x8E7F2D18,
600     0x7426281C, 0x3D1A553B, 0xE65ED252, 0xAF62AF75,
601     0x9376A71F, 0xDA4ADA38, 0x010E5D51, 0x48322076,
602     0xB26B2572, 0xFB575855, 0x2013DF3C, 0x692FA21B,
603     0xD14DA3C5, 0x9871DEE2, 0x4335598B, 0x0A0924AC,
604     0xF05021A8, 0xB96C5C8F, 0x6228DBE6, 0x2B14A6C1,
605     0x34019664, 0x7D3DEB43, 0xA6796C2A, 0xEF45110D,
606     0x151C1409, 0x5C20692E, 0x8764EE47, 0xCE589360,
607     0x763A92BE, 0x3F06EF99, 0xE44268F0, 0xAD7E15D7,
608     0x572710D3, 0x1E1B6DF4, 0xC55FEA9D, 0x8C6397BA,
609     0xB0779FD0, 0xF94BE2F7, 0x220F659E, 0x6B3318B9,
610     0x916A1DBD, 0xD856609A, 0x0312E7F3, 0x4A2E9AD4,
611     0xF24C9B0A, 0xBB70E62D, 0x60346144, 0x29081C63,
612     0xD3511967, 0x9A6D6440, 0x4129E329, 0x08159E0E,
613     0x3901F3FD, 0x703D8EDA, 0xAB7909B3, 0xE2457494,
614     0x181C7190, 0x51200CB7, 0x8A648BDE, 0xC358F6F9,
615     0x7B3AF727, 0x32068A00, 0xE9420D69, 0xA07E704E,
616     0x5A27754A, 0x131B086D, 0xC85F8F04, 0x8163F223,
617     0xBD77FA49, 0xF44B876E, 0x2F0F0007, 0x66337D20,
618     0x9C6A7824, 0xD5560503, 0x0E12826A, 0x472EFF4D,
619     0xFF4CFE93, 0xB67083B4, 0x6D3404DD, 0x240879FA,
620     0xDE517CFE, 0x976D01D9, 0x4C2986B0, 0x0515FB97,
621     0x2E015D56, 0x673D2071, 0xBC79A718, 0xF545DA3F,
622     0x0F1CDF3B, 0x4620A21C, 0x9D642575, 0xD4585852,
623     0x6C3A598C, 0x250624AB, 0xFE42A3C2, 0xB77EDEE5,
624     0x4D27DBE1, 0x041BA6C6, 0xDF5F21AF, 0x96635C88,
625     0xAA7754E2, 0xE34B29C5, 0x380FAEAC, 0x7133D38B,
626     0x8B6AD68F, 0xC256ABA8, 0x19122CC1, 0x502E51E6,
627     0xE84C5038, 0xA1702D1F, 0x7A34AA76, 0x3308D751,
628     0xC951D255, 0x806DAF72, 0x5B29281B, 0x1215553C,
629     0x230138CF, 0x6A3D45E8, 0xB179C281, 0xF845BFA6,
630     0x021CBAA2, 0x4B20C785, 0x906440EC, 0xD9583DCB,
631     0x613A3C15, 0x28064132, 0xF342C65B, 0xBA7EBB7C,
632     0x4027BE78, 0x091BC35F, 0xD25F4436, 0x9B633911,
633     0xA777317B, 0xEE4B4C5C, 0x350FCB35, 0x7C33B612,
634     0x866AB316, 0xCF56CE31, 0x14124958, 0x5D2E347F,
635     0xE54C35A1, 0xAC704886, 0x7734CFEF, 0x3E08B2C8,
636     0xC451B7CC, 0x8D6DCAEB, 0x56294D82, 0x1F1530A5
637   };
638 }
639