155714Skris/* crypto/cast/cast_s.h */
255714Skris/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
355714Skris * All rights reserved.
455714Skris *
555714Skris * This package is an SSL implementation written
655714Skris * by Eric Young (eay@cryptsoft.com).
755714Skris * The implementation was written so as to conform with Netscapes SSL.
8280297Sjkim *
955714Skris * This library is free for commercial and non-commercial use as long as
1055714Skris * the following conditions are aheared to.  The following conditions
1155714Skris * apply to all code found in this distribution, be it the RC4, RSA,
1255714Skris * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
1355714Skris * included with this distribution is covered by the same copyright terms
1455714Skris * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15280297Sjkim *
1655714Skris * Copyright remains Eric Young's, and as such any Copyright notices in
1755714Skris * the code are not to be removed.
1855714Skris * If this package is used in a product, Eric Young should be given attribution
1955714Skris * as the author of the parts of the library used.
2055714Skris * This can be in the form of a textual message at program startup or
2155714Skris * in documentation (online or textual) provided with the package.
22280297Sjkim *
2355714Skris * Redistribution and use in source and binary forms, with or without
2455714Skris * modification, are permitted provided that the following conditions
2555714Skris * are met:
2655714Skris * 1. Redistributions of source code must retain the copyright
2755714Skris *    notice, this list of conditions and the following disclaimer.
2855714Skris * 2. Redistributions in binary form must reproduce the above copyright
2955714Skris *    notice, this list of conditions and the following disclaimer in the
3055714Skris *    documentation and/or other materials provided with the distribution.
3155714Skris * 3. All advertising materials mentioning features or use of this software
3255714Skris *    must display the following acknowledgement:
3355714Skris *    "This product includes cryptographic software written by
3455714Skris *     Eric Young (eay@cryptsoft.com)"
3555714Skris *    The word 'cryptographic' can be left out if the rouines from the library
3655714Skris *    being used are not cryptographic related :-).
37280297Sjkim * 4. If you include any Windows specific code (or a derivative thereof) from
3855714Skris *    the apps directory (application code) you must include an acknowledgement:
3955714Skris *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40280297Sjkim *
4155714Skris * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
4255714Skris * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
4355714Skris * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
4455714Skris * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
4555714Skris * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
4655714Skris * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
4755714Skris * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
4855714Skris * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
4955714Skris * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
5055714Skris * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
5155714Skris * SUCH DAMAGE.
52280297Sjkim *
5355714Skris * The licence and distribution terms for any publically available version or
5455714Skris * derivative of this code cannot be changed.  i.e. this code cannot simply be
5555714Skris * copied and put under another distribution licence
5655714Skris * [including the GNU Public Licence.]
5755714Skris */
58280297SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table0[256] = {
59280297Sjkim    0x30fb40d4, 0x9fa0ff0b, 0x6beccd2f, 0x3f258c7a,
60280297Sjkim    0x1e213f2f, 0x9c004dd3, 0x6003e540, 0xcf9fc949,
61280297Sjkim    0xbfd4af27, 0x88bbbdb5, 0xe2034090, 0x98d09675,
62280297Sjkim    0x6e63a0e0, 0x15c361d2, 0xc2e7661d, 0x22d4ff8e,
63280297Sjkim    0x28683b6f, 0xc07fd059, 0xff2379c8, 0x775f50e2,
64280297Sjkim    0x43c340d3, 0xdf2f8656, 0x887ca41a, 0xa2d2bd2d,
65280297Sjkim    0xa1c9e0d6, 0x346c4819, 0x61b76d87, 0x22540f2f,
66280297Sjkim    0x2abe32e1, 0xaa54166b, 0x22568e3a, 0xa2d341d0,
67280297Sjkim    0x66db40c8, 0xa784392f, 0x004dff2f, 0x2db9d2de,
68280297Sjkim    0x97943fac, 0x4a97c1d8, 0x527644b7, 0xb5f437a7,
69280297Sjkim    0xb82cbaef, 0xd751d159, 0x6ff7f0ed, 0x5a097a1f,
70280297Sjkim    0x827b68d0, 0x90ecf52e, 0x22b0c054, 0xbc8e5935,
71280297Sjkim    0x4b6d2f7f, 0x50bb64a2, 0xd2664910, 0xbee5812d,
72280297Sjkim    0xb7332290, 0xe93b159f, 0xb48ee411, 0x4bff345d,
73280297Sjkim    0xfd45c240, 0xad31973f, 0xc4f6d02e, 0x55fc8165,
74280297Sjkim    0xd5b1caad, 0xa1ac2dae, 0xa2d4b76d, 0xc19b0c50,
75280297Sjkim    0x882240f2, 0x0c6e4f38, 0xa4e4bfd7, 0x4f5ba272,
76280297Sjkim    0x564c1d2f, 0xc59c5319, 0xb949e354, 0xb04669fe,
77280297Sjkim    0xb1b6ab8a, 0xc71358dd, 0x6385c545, 0x110f935d,
78280297Sjkim    0x57538ad5, 0x6a390493, 0xe63d37e0, 0x2a54f6b3,
79280297Sjkim    0x3a787d5f, 0x6276a0b5, 0x19a6fcdf, 0x7a42206a,
80280297Sjkim    0x29f9d4d5, 0xf61b1891, 0xbb72275e, 0xaa508167,
81280297Sjkim    0x38901091, 0xc6b505eb, 0x84c7cb8c, 0x2ad75a0f,
82280297Sjkim    0x874a1427, 0xa2d1936b, 0x2ad286af, 0xaa56d291,
83280297Sjkim    0xd7894360, 0x425c750d, 0x93b39e26, 0x187184c9,
84280297Sjkim    0x6c00b32d, 0x73e2bb14, 0xa0bebc3c, 0x54623779,
85280297Sjkim    0x64459eab, 0x3f328b82, 0x7718cf82, 0x59a2cea6,
86280297Sjkim    0x04ee002e, 0x89fe78e6, 0x3fab0950, 0x325ff6c2,
87280297Sjkim    0x81383f05, 0x6963c5c8, 0x76cb5ad6, 0xd49974c9,
88280297Sjkim    0xca180dcf, 0x380782d5, 0xc7fa5cf6, 0x8ac31511,
89280297Sjkim    0x35e79e13, 0x47da91d0, 0xf40f9086, 0xa7e2419e,
90280297Sjkim    0x31366241, 0x051ef495, 0xaa573b04, 0x4a805d8d,
91280297Sjkim    0x548300d0, 0x00322a3c, 0xbf64cddf, 0xba57a68e,
92280297Sjkim    0x75c6372b, 0x50afd341, 0xa7c13275, 0x915a0bf5,
93280297Sjkim    0x6b54bfab, 0x2b0b1426, 0xab4cc9d7, 0x449ccd82,
94280297Sjkim    0xf7fbf265, 0xab85c5f3, 0x1b55db94, 0xaad4e324,
95280297Sjkim    0xcfa4bd3f, 0x2deaa3e2, 0x9e204d02, 0xc8bd25ac,
96280297Sjkim    0xeadf55b3, 0xd5bd9e98, 0xe31231b2, 0x2ad5ad6c,
97280297Sjkim    0x954329de, 0xadbe4528, 0xd8710f69, 0xaa51c90f,
98280297Sjkim    0xaa786bf6, 0x22513f1e, 0xaa51a79b, 0x2ad344cc,
99280297Sjkim    0x7b5a41f0, 0xd37cfbad, 0x1b069505, 0x41ece491,
100280297Sjkim    0xb4c332e6, 0x032268d4, 0xc9600acc, 0xce387e6d,
101280297Sjkim    0xbf6bb16c, 0x6a70fb78, 0x0d03d9c9, 0xd4df39de,
102280297Sjkim    0xe01063da, 0x4736f464, 0x5ad328d8, 0xb347cc96,
103280297Sjkim    0x75bb0fc3, 0x98511bfb, 0x4ffbcc35, 0xb58bcf6a,
104280297Sjkim    0xe11f0abc, 0xbfc5fe4a, 0xa70aec10, 0xac39570a,
105280297Sjkim    0x3f04442f, 0x6188b153, 0xe0397a2e, 0x5727cb79,
106280297Sjkim    0x9ceb418f, 0x1cacd68d, 0x2ad37c96, 0x0175cb9d,
107280297Sjkim    0xc69dff09, 0xc75b65f0, 0xd9db40d8, 0xec0e7779,
108280297Sjkim    0x4744ead4, 0xb11c3274, 0xdd24cb9e, 0x7e1c54bd,
109280297Sjkim    0xf01144f9, 0xd2240eb1, 0x9675b3fd, 0xa3ac3755,
110280297Sjkim    0xd47c27af, 0x51c85f4d, 0x56907596, 0xa5bb15e6,
111280297Sjkim    0x580304f0, 0xca042cf1, 0x011a37ea, 0x8dbfaadb,
112280297Sjkim    0x35ba3e4a, 0x3526ffa0, 0xc37b4d09, 0xbc306ed9,
113280297Sjkim    0x98a52666, 0x5648f725, 0xff5e569d, 0x0ced63d0,
114280297Sjkim    0x7c63b2cf, 0x700b45e1, 0xd5ea50f1, 0x85a92872,
115280297Sjkim    0xaf1fbda7, 0xd4234870, 0xa7870bf3, 0x2d3b4d79,
116280297Sjkim    0x42e04198, 0x0cd0ede7, 0x26470db8, 0xf881814c,
117280297Sjkim    0x474d6ad7, 0x7c0c5e5c, 0xd1231959, 0x381b7298,
118280297Sjkim    0xf5d2f4db, 0xab838653, 0x6e2f1e23, 0x83719c9e,
119280297Sjkim    0xbd91e046, 0x9a56456e, 0xdc39200c, 0x20c8c571,
120280297Sjkim    0x962bda1c, 0xe1e696ff, 0xb141ab08, 0x7cca89b9,
121280297Sjkim    0x1a69e783, 0x02cc4843, 0xa2f7c579, 0x429ef47d,
122280297Sjkim    0x427b169c, 0x5ac9f049, 0xdd8f0f00, 0x5c8165bf,
123280297Sjkim};
124280297Sjkim
125280297SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table1[256] = {
126280297Sjkim    0x1f201094, 0xef0ba75b, 0x69e3cf7e, 0x393f4380,
127280297Sjkim    0xfe61cf7a, 0xeec5207a, 0x55889c94, 0x72fc0651,
128280297Sjkim    0xada7ef79, 0x4e1d7235, 0xd55a63ce, 0xde0436ba,
129280297Sjkim    0x99c430ef, 0x5f0c0794, 0x18dcdb7d, 0xa1d6eff3,
130280297Sjkim    0xa0b52f7b, 0x59e83605, 0xee15b094, 0xe9ffd909,
131280297Sjkim    0xdc440086, 0xef944459, 0xba83ccb3, 0xe0c3cdfb,
132280297Sjkim    0xd1da4181, 0x3b092ab1, 0xf997f1c1, 0xa5e6cf7b,
133280297Sjkim    0x01420ddb, 0xe4e7ef5b, 0x25a1ff41, 0xe180f806,
134280297Sjkim    0x1fc41080, 0x179bee7a, 0xd37ac6a9, 0xfe5830a4,
135280297Sjkim    0x98de8b7f, 0x77e83f4e, 0x79929269, 0x24fa9f7b,
136280297Sjkim    0xe113c85b, 0xacc40083, 0xd7503525, 0xf7ea615f,
137280297Sjkim    0x62143154, 0x0d554b63, 0x5d681121, 0xc866c359,
138280297Sjkim    0x3d63cf73, 0xcee234c0, 0xd4d87e87, 0x5c672b21,
139280297Sjkim    0x071f6181, 0x39f7627f, 0x361e3084, 0xe4eb573b,
140280297Sjkim    0x602f64a4, 0xd63acd9c, 0x1bbc4635, 0x9e81032d,
141280297Sjkim    0x2701f50c, 0x99847ab4, 0xa0e3df79, 0xba6cf38c,
142280297Sjkim    0x10843094, 0x2537a95e, 0xf46f6ffe, 0xa1ff3b1f,
143280297Sjkim    0x208cfb6a, 0x8f458c74, 0xd9e0a227, 0x4ec73a34,
144280297Sjkim    0xfc884f69, 0x3e4de8df, 0xef0e0088, 0x3559648d,
145280297Sjkim    0x8a45388c, 0x1d804366, 0x721d9bfd, 0xa58684bb,
146280297Sjkim    0xe8256333, 0x844e8212, 0x128d8098, 0xfed33fb4,
147280297Sjkim    0xce280ae1, 0x27e19ba5, 0xd5a6c252, 0xe49754bd,
148280297Sjkim    0xc5d655dd, 0xeb667064, 0x77840b4d, 0xa1b6a801,
149280297Sjkim    0x84db26a9, 0xe0b56714, 0x21f043b7, 0xe5d05860,
150280297Sjkim    0x54f03084, 0x066ff472, 0xa31aa153, 0xdadc4755,
151280297Sjkim    0xb5625dbf, 0x68561be6, 0x83ca6b94, 0x2d6ed23b,
152280297Sjkim    0xeccf01db, 0xa6d3d0ba, 0xb6803d5c, 0xaf77a709,
153280297Sjkim    0x33b4a34c, 0x397bc8d6, 0x5ee22b95, 0x5f0e5304,
154280297Sjkim    0x81ed6f61, 0x20e74364, 0xb45e1378, 0xde18639b,
155280297Sjkim    0x881ca122, 0xb96726d1, 0x8049a7e8, 0x22b7da7b,
156280297Sjkim    0x5e552d25, 0x5272d237, 0x79d2951c, 0xc60d894c,
157280297Sjkim    0x488cb402, 0x1ba4fe5b, 0xa4b09f6b, 0x1ca815cf,
158280297Sjkim    0xa20c3005, 0x8871df63, 0xb9de2fcb, 0x0cc6c9e9,
159280297Sjkim    0x0beeff53, 0xe3214517, 0xb4542835, 0x9f63293c,
160280297Sjkim    0xee41e729, 0x6e1d2d7c, 0x50045286, 0x1e6685f3,
161280297Sjkim    0xf33401c6, 0x30a22c95, 0x31a70850, 0x60930f13,
162280297Sjkim    0x73f98417, 0xa1269859, 0xec645c44, 0x52c877a9,
163280297Sjkim    0xcdff33a6, 0xa02b1741, 0x7cbad9a2, 0x2180036f,
164280297Sjkim    0x50d99c08, 0xcb3f4861, 0xc26bd765, 0x64a3f6ab,
165280297Sjkim    0x80342676, 0x25a75e7b, 0xe4e6d1fc, 0x20c710e6,
166280297Sjkim    0xcdf0b680, 0x17844d3b, 0x31eef84d, 0x7e0824e4,
167280297Sjkim    0x2ccb49eb, 0x846a3bae, 0x8ff77888, 0xee5d60f6,
168280297Sjkim    0x7af75673, 0x2fdd5cdb, 0xa11631c1, 0x30f66f43,
169280297Sjkim    0xb3faec54, 0x157fd7fa, 0xef8579cc, 0xd152de58,
170280297Sjkim    0xdb2ffd5e, 0x8f32ce19, 0x306af97a, 0x02f03ef8,
171280297Sjkim    0x99319ad5, 0xc242fa0f, 0xa7e3ebb0, 0xc68e4906,
172280297Sjkim    0xb8da230c, 0x80823028, 0xdcdef3c8, 0xd35fb171,
173280297Sjkim    0x088a1bc8, 0xbec0c560, 0x61a3c9e8, 0xbca8f54d,
174280297Sjkim    0xc72feffa, 0x22822e99, 0x82c570b4, 0xd8d94e89,
175280297Sjkim    0x8b1c34bc, 0x301e16e6, 0x273be979, 0xb0ffeaa6,
176280297Sjkim    0x61d9b8c6, 0x00b24869, 0xb7ffce3f, 0x08dc283b,
177280297Sjkim    0x43daf65a, 0xf7e19798, 0x7619b72f, 0x8f1c9ba4,
178280297Sjkim    0xdc8637a0, 0x16a7d3b1, 0x9fc393b7, 0xa7136eeb,
179280297Sjkim    0xc6bcc63e, 0x1a513742, 0xef6828bc, 0x520365d6,
180280297Sjkim    0x2d6a77ab, 0x3527ed4b, 0x821fd216, 0x095c6e2e,
181280297Sjkim    0xdb92f2fb, 0x5eea29cb, 0x145892f5, 0x91584f7f,
182280297Sjkim    0x5483697b, 0x2667a8cc, 0x85196048, 0x8c4bacea,
183280297Sjkim    0x833860d4, 0x0d23e0f9, 0x6c387e8a, 0x0ae6d249,
184280297Sjkim    0xb284600c, 0xd835731d, 0xdcb1c647, 0xac4c56ea,
185280297Sjkim    0x3ebd81b3, 0x230eabb0, 0x6438bc87, 0xf0b5b1fa,
186280297Sjkim    0x8f5ea2b3, 0xfc184642, 0x0a036b7a, 0x4fb089bd,
187280297Sjkim    0x649da589, 0xa345415e, 0x5c038323, 0x3e5d3bb9,
188280297Sjkim    0x43d79572, 0x7e6dd07c, 0x06dfdf1e, 0x6c6cc4ef,
189280297Sjkim    0x7160a539, 0x73bfbe70, 0x83877605, 0x4523ecf1,
190280297Sjkim};
191280297Sjkim
192280297SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table2[256] = {
193280297Sjkim    0x8defc240, 0x25fa5d9f, 0xeb903dbf, 0xe810c907,
194280297Sjkim    0x47607fff, 0x369fe44b, 0x8c1fc644, 0xaececa90,
195280297Sjkim    0xbeb1f9bf, 0xeefbcaea, 0xe8cf1950, 0x51df07ae,
196280297Sjkim    0x920e8806, 0xf0ad0548, 0xe13c8d83, 0x927010d5,
197280297Sjkim    0x11107d9f, 0x07647db9, 0xb2e3e4d4, 0x3d4f285e,
198280297Sjkim    0xb9afa820, 0xfade82e0, 0xa067268b, 0x8272792e,
199280297Sjkim    0x553fb2c0, 0x489ae22b, 0xd4ef9794, 0x125e3fbc,
200280297Sjkim    0x21fffcee, 0x825b1bfd, 0x9255c5ed, 0x1257a240,
201280297Sjkim    0x4e1a8302, 0xbae07fff, 0x528246e7, 0x8e57140e,
202280297Sjkim    0x3373f7bf, 0x8c9f8188, 0xa6fc4ee8, 0xc982b5a5,
203280297Sjkim    0xa8c01db7, 0x579fc264, 0x67094f31, 0xf2bd3f5f,
204280297Sjkim    0x40fff7c1, 0x1fb78dfc, 0x8e6bd2c1, 0x437be59b,
205280297Sjkim    0x99b03dbf, 0xb5dbc64b, 0x638dc0e6, 0x55819d99,
206280297Sjkim    0xa197c81c, 0x4a012d6e, 0xc5884a28, 0xccc36f71,
207280297Sjkim    0xb843c213, 0x6c0743f1, 0x8309893c, 0x0feddd5f,
208280297Sjkim    0x2f7fe850, 0xd7c07f7e, 0x02507fbf, 0x5afb9a04,
209280297Sjkim    0xa747d2d0, 0x1651192e, 0xaf70bf3e, 0x58c31380,
210280297Sjkim    0x5f98302e, 0x727cc3c4, 0x0a0fb402, 0x0f7fef82,
211280297Sjkim    0x8c96fdad, 0x5d2c2aae, 0x8ee99a49, 0x50da88b8,
212280297Sjkim    0x8427f4a0, 0x1eac5790, 0x796fb449, 0x8252dc15,
213280297Sjkim    0xefbd7d9b, 0xa672597d, 0xada840d8, 0x45f54504,
214280297Sjkim    0xfa5d7403, 0xe83ec305, 0x4f91751a, 0x925669c2,
215280297Sjkim    0x23efe941, 0xa903f12e, 0x60270df2, 0x0276e4b6,
216280297Sjkim    0x94fd6574, 0x927985b2, 0x8276dbcb, 0x02778176,
217280297Sjkim    0xf8af918d, 0x4e48f79e, 0x8f616ddf, 0xe29d840e,
218280297Sjkim    0x842f7d83, 0x340ce5c8, 0x96bbb682, 0x93b4b148,
219280297Sjkim    0xef303cab, 0x984faf28, 0x779faf9b, 0x92dc560d,
220280297Sjkim    0x224d1e20, 0x8437aa88, 0x7d29dc96, 0x2756d3dc,
221280297Sjkim    0x8b907cee, 0xb51fd240, 0xe7c07ce3, 0xe566b4a1,
222280297Sjkim    0xc3e9615e, 0x3cf8209d, 0x6094d1e3, 0xcd9ca341,
223280297Sjkim    0x5c76460e, 0x00ea983b, 0xd4d67881, 0xfd47572c,
224280297Sjkim    0xf76cedd9, 0xbda8229c, 0x127dadaa, 0x438a074e,
225280297Sjkim    0x1f97c090, 0x081bdb8a, 0x93a07ebe, 0xb938ca15,
226280297Sjkim    0x97b03cff, 0x3dc2c0f8, 0x8d1ab2ec, 0x64380e51,
227280297Sjkim    0x68cc7bfb, 0xd90f2788, 0x12490181, 0x5de5ffd4,
228280297Sjkim    0xdd7ef86a, 0x76a2e214, 0xb9a40368, 0x925d958f,
229280297Sjkim    0x4b39fffa, 0xba39aee9, 0xa4ffd30b, 0xfaf7933b,
230280297Sjkim    0x6d498623, 0x193cbcfa, 0x27627545, 0x825cf47a,
231280297Sjkim    0x61bd8ba0, 0xd11e42d1, 0xcead04f4, 0x127ea392,
232280297Sjkim    0x10428db7, 0x8272a972, 0x9270c4a8, 0x127de50b,
233280297Sjkim    0x285ba1c8, 0x3c62f44f, 0x35c0eaa5, 0xe805d231,
234280297Sjkim    0x428929fb, 0xb4fcdf82, 0x4fb66a53, 0x0e7dc15b,
235280297Sjkim    0x1f081fab, 0x108618ae, 0xfcfd086d, 0xf9ff2889,
236280297Sjkim    0x694bcc11, 0x236a5cae, 0x12deca4d, 0x2c3f8cc5,
237280297Sjkim    0xd2d02dfe, 0xf8ef5896, 0xe4cf52da, 0x95155b67,
238280297Sjkim    0x494a488c, 0xb9b6a80c, 0x5c8f82bc, 0x89d36b45,
239280297Sjkim    0x3a609437, 0xec00c9a9, 0x44715253, 0x0a874b49,
240280297Sjkim    0xd773bc40, 0x7c34671c, 0x02717ef6, 0x4feb5536,
241280297Sjkim    0xa2d02fff, 0xd2bf60c4, 0xd43f03c0, 0x50b4ef6d,
242280297Sjkim    0x07478cd1, 0x006e1888, 0xa2e53f55, 0xb9e6d4bc,
243280297Sjkim    0xa2048016, 0x97573833, 0xd7207d67, 0xde0f8f3d,
244280297Sjkim    0x72f87b33, 0xabcc4f33, 0x7688c55d, 0x7b00a6b0,
245280297Sjkim    0x947b0001, 0x570075d2, 0xf9bb88f8, 0x8942019e,
246280297Sjkim    0x4264a5ff, 0x856302e0, 0x72dbd92b, 0xee971b69,
247280297Sjkim    0x6ea22fde, 0x5f08ae2b, 0xaf7a616d, 0xe5c98767,
248280297Sjkim    0xcf1febd2, 0x61efc8c2, 0xf1ac2571, 0xcc8239c2,
249280297Sjkim    0x67214cb8, 0xb1e583d1, 0xb7dc3e62, 0x7f10bdce,
250280297Sjkim    0xf90a5c38, 0x0ff0443d, 0x606e6dc6, 0x60543a49,
251280297Sjkim    0x5727c148, 0x2be98a1d, 0x8ab41738, 0x20e1be24,
252280297Sjkim    0xaf96da0f, 0x68458425, 0x99833be5, 0x600d457d,
253280297Sjkim    0x282f9350, 0x8334b362, 0xd91d1120, 0x2b6d8da0,
254280297Sjkim    0x642b1e31, 0x9c305a00, 0x52bce688, 0x1b03588a,
255280297Sjkim    0xf7baefd5, 0x4142ed9c, 0xa4315c11, 0x83323ec5,
256280297Sjkim    0xdfef4636, 0xa133c501, 0xe9d3531c, 0xee353783,
257280297Sjkim};
258280297Sjkim
259280297SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table3[256] = {
260280297Sjkim    0x9db30420, 0x1fb6e9de, 0xa7be7bef, 0xd273a298,
261280297Sjkim    0x4a4f7bdb, 0x64ad8c57, 0x85510443, 0xfa020ed1,
262280297Sjkim    0x7e287aff, 0xe60fb663, 0x095f35a1, 0x79ebf120,
263280297Sjkim    0xfd059d43, 0x6497b7b1, 0xf3641f63, 0x241e4adf,
264280297Sjkim    0x28147f5f, 0x4fa2b8cd, 0xc9430040, 0x0cc32220,
265280297Sjkim    0xfdd30b30, 0xc0a5374f, 0x1d2d00d9, 0x24147b15,
266280297Sjkim    0xee4d111a, 0x0fca5167, 0x71ff904c, 0x2d195ffe,
267280297Sjkim    0x1a05645f, 0x0c13fefe, 0x081b08ca, 0x05170121,
268280297Sjkim    0x80530100, 0xe83e5efe, 0xac9af4f8, 0x7fe72701,
269280297Sjkim    0xd2b8ee5f, 0x06df4261, 0xbb9e9b8a, 0x7293ea25,
270280297Sjkim    0xce84ffdf, 0xf5718801, 0x3dd64b04, 0xa26f263b,
271280297Sjkim    0x7ed48400, 0x547eebe6, 0x446d4ca0, 0x6cf3d6f5,
272280297Sjkim    0x2649abdf, 0xaea0c7f5, 0x36338cc1, 0x503f7e93,
273280297Sjkim    0xd3772061, 0x11b638e1, 0x72500e03, 0xf80eb2bb,
274280297Sjkim    0xabe0502e, 0xec8d77de, 0x57971e81, 0xe14f6746,
275280297Sjkim    0xc9335400, 0x6920318f, 0x081dbb99, 0xffc304a5,
276280297Sjkim    0x4d351805, 0x7f3d5ce3, 0xa6c866c6, 0x5d5bcca9,
277280297Sjkim    0xdaec6fea, 0x9f926f91, 0x9f46222f, 0x3991467d,
278280297Sjkim    0xa5bf6d8e, 0x1143c44f, 0x43958302, 0xd0214eeb,
279280297Sjkim    0x022083b8, 0x3fb6180c, 0x18f8931e, 0x281658e6,
280280297Sjkim    0x26486e3e, 0x8bd78a70, 0x7477e4c1, 0xb506e07c,
281280297Sjkim    0xf32d0a25, 0x79098b02, 0xe4eabb81, 0x28123b23,
282280297Sjkim    0x69dead38, 0x1574ca16, 0xdf871b62, 0x211c40b7,
283280297Sjkim    0xa51a9ef9, 0x0014377b, 0x041e8ac8, 0x09114003,
284280297Sjkim    0xbd59e4d2, 0xe3d156d5, 0x4fe876d5, 0x2f91a340,
285280297Sjkim    0x557be8de, 0x00eae4a7, 0x0ce5c2ec, 0x4db4bba6,
286280297Sjkim    0xe756bdff, 0xdd3369ac, 0xec17b035, 0x06572327,
287280297Sjkim    0x99afc8b0, 0x56c8c391, 0x6b65811c, 0x5e146119,
288280297Sjkim    0x6e85cb75, 0xbe07c002, 0xc2325577, 0x893ff4ec,
289280297Sjkim    0x5bbfc92d, 0xd0ec3b25, 0xb7801ab7, 0x8d6d3b24,
290280297Sjkim    0x20c763ef, 0xc366a5fc, 0x9c382880, 0x0ace3205,
291280297Sjkim    0xaac9548a, 0xeca1d7c7, 0x041afa32, 0x1d16625a,
292280297Sjkim    0x6701902c, 0x9b757a54, 0x31d477f7, 0x9126b031,
293280297Sjkim    0x36cc6fdb, 0xc70b8b46, 0xd9e66a48, 0x56e55a79,
294280297Sjkim    0x026a4ceb, 0x52437eff, 0x2f8f76b4, 0x0df980a5,
295280297Sjkim    0x8674cde3, 0xedda04eb, 0x17a9be04, 0x2c18f4df,
296280297Sjkim    0xb7747f9d, 0xab2af7b4, 0xefc34d20, 0x2e096b7c,
297280297Sjkim    0x1741a254, 0xe5b6a035, 0x213d42f6, 0x2c1c7c26,
298280297Sjkim    0x61c2f50f, 0x6552daf9, 0xd2c231f8, 0x25130f69,
299280297Sjkim    0xd8167fa2, 0x0418f2c8, 0x001a96a6, 0x0d1526ab,
300280297Sjkim    0x63315c21, 0x5e0a72ec, 0x49bafefd, 0x187908d9,
301280297Sjkim    0x8d0dbd86, 0x311170a7, 0x3e9b640c, 0xcc3e10d7,
302280297Sjkim    0xd5cad3b6, 0x0caec388, 0xf73001e1, 0x6c728aff,
303280297Sjkim    0x71eae2a1, 0x1f9af36e, 0xcfcbd12f, 0xc1de8417,
304280297Sjkim    0xac07be6b, 0xcb44a1d8, 0x8b9b0f56, 0x013988c3,
305280297Sjkim    0xb1c52fca, 0xb4be31cd, 0xd8782806, 0x12a3a4e2,
306280297Sjkim    0x6f7de532, 0x58fd7eb6, 0xd01ee900, 0x24adffc2,
307280297Sjkim    0xf4990fc5, 0x9711aac5, 0x001d7b95, 0x82e5e7d2,
308280297Sjkim    0x109873f6, 0x00613096, 0xc32d9521, 0xada121ff,
309280297Sjkim    0x29908415, 0x7fbb977f, 0xaf9eb3db, 0x29c9ed2a,
310280297Sjkim    0x5ce2a465, 0xa730f32c, 0xd0aa3fe8, 0x8a5cc091,
311280297Sjkim    0xd49e2ce7, 0x0ce454a9, 0xd60acd86, 0x015f1919,
312280297Sjkim    0x77079103, 0xdea03af6, 0x78a8565e, 0xdee356df,
313280297Sjkim    0x21f05cbe, 0x8b75e387, 0xb3c50651, 0xb8a5c3ef,
314280297Sjkim    0xd8eeb6d2, 0xe523be77, 0xc2154529, 0x2f69efdf,
315280297Sjkim    0xafe67afb, 0xf470c4b2, 0xf3e0eb5b, 0xd6cc9876,
316280297Sjkim    0x39e4460c, 0x1fda8538, 0x1987832f, 0xca007367,
317280297Sjkim    0xa99144f8, 0x296b299e, 0x492fc295, 0x9266beab,
318280297Sjkim    0xb5676e69, 0x9bd3ddda, 0xdf7e052f, 0xdb25701c,
319280297Sjkim    0x1b5e51ee, 0xf65324e6, 0x6afce36c, 0x0316cc04,
320280297Sjkim    0x8644213e, 0xb7dc59d0, 0x7965291f, 0xccd6fd43,
321280297Sjkim    0x41823979, 0x932bcdf6, 0xb657c34d, 0x4edfd282,
322280297Sjkim    0x7ae5290c, 0x3cb9536b, 0x851e20fe, 0x9833557e,
323280297Sjkim    0x13ecf0b0, 0xd3ffb372, 0x3f85c5c1, 0x0aef7ed2,
324280297Sjkim};
325280297Sjkim
326280297SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table4[256] = {
327280297Sjkim    0x7ec90c04, 0x2c6e74b9, 0x9b0e66df, 0xa6337911,
328280297Sjkim    0xb86a7fff, 0x1dd358f5, 0x44dd9d44, 0x1731167f,
329280297Sjkim    0x08fbf1fa, 0xe7f511cc, 0xd2051b00, 0x735aba00,
330280297Sjkim    0x2ab722d8, 0x386381cb, 0xacf6243a, 0x69befd7a,
331280297Sjkim    0xe6a2e77f, 0xf0c720cd, 0xc4494816, 0xccf5c180,
332280297Sjkim    0x38851640, 0x15b0a848, 0xe68b18cb, 0x4caadeff,
333280297Sjkim    0x5f480a01, 0x0412b2aa, 0x259814fc, 0x41d0efe2,
334280297Sjkim    0x4e40b48d, 0x248eb6fb, 0x8dba1cfe, 0x41a99b02,
335280297Sjkim    0x1a550a04, 0xba8f65cb, 0x7251f4e7, 0x95a51725,
336280297Sjkim    0xc106ecd7, 0x97a5980a, 0xc539b9aa, 0x4d79fe6a,
337280297Sjkim    0xf2f3f763, 0x68af8040, 0xed0c9e56, 0x11b4958b,
338280297Sjkim    0xe1eb5a88, 0x8709e6b0, 0xd7e07156, 0x4e29fea7,
339280297Sjkim    0x6366e52d, 0x02d1c000, 0xc4ac8e05, 0x9377f571,
340280297Sjkim    0x0c05372a, 0x578535f2, 0x2261be02, 0xd642a0c9,
341280297Sjkim    0xdf13a280, 0x74b55bd2, 0x682199c0, 0xd421e5ec,
342280297Sjkim    0x53fb3ce8, 0xc8adedb3, 0x28a87fc9, 0x3d959981,
343280297Sjkim    0x5c1ff900, 0xfe38d399, 0x0c4eff0b, 0x062407ea,
344280297Sjkim    0xaa2f4fb1, 0x4fb96976, 0x90c79505, 0xb0a8a774,
345280297Sjkim    0xef55a1ff, 0xe59ca2c2, 0xa6b62d27, 0xe66a4263,
346280297Sjkim    0xdf65001f, 0x0ec50966, 0xdfdd55bc, 0x29de0655,
347280297Sjkim    0x911e739a, 0x17af8975, 0x32c7911c, 0x89f89468,
348280297Sjkim    0x0d01e980, 0x524755f4, 0x03b63cc9, 0x0cc844b2,
349280297Sjkim    0xbcf3f0aa, 0x87ac36e9, 0xe53a7426, 0x01b3d82b,
350280297Sjkim    0x1a9e7449, 0x64ee2d7e, 0xcddbb1da, 0x01c94910,
351280297Sjkim    0xb868bf80, 0x0d26f3fd, 0x9342ede7, 0x04a5c284,
352280297Sjkim    0x636737b6, 0x50f5b616, 0xf24766e3, 0x8eca36c1,
353280297Sjkim    0x136e05db, 0xfef18391, 0xfb887a37, 0xd6e7f7d4,
354280297Sjkim    0xc7fb7dc9, 0x3063fcdf, 0xb6f589de, 0xec2941da,
355280297Sjkim    0x26e46695, 0xb7566419, 0xf654efc5, 0xd08d58b7,
356280297Sjkim    0x48925401, 0xc1bacb7f, 0xe5ff550f, 0xb6083049,
357280297Sjkim    0x5bb5d0e8, 0x87d72e5a, 0xab6a6ee1, 0x223a66ce,
358280297Sjkim    0xc62bf3cd, 0x9e0885f9, 0x68cb3e47, 0x086c010f,
359280297Sjkim    0xa21de820, 0xd18b69de, 0xf3f65777, 0xfa02c3f6,
360280297Sjkim    0x407edac3, 0xcbb3d550, 0x1793084d, 0xb0d70eba,
361280297Sjkim    0x0ab378d5, 0xd951fb0c, 0xded7da56, 0x4124bbe4,
362280297Sjkim    0x94ca0b56, 0x0f5755d1, 0xe0e1e56e, 0x6184b5be,
363280297Sjkim    0x580a249f, 0x94f74bc0, 0xe327888e, 0x9f7b5561,
364280297Sjkim    0xc3dc0280, 0x05687715, 0x646c6bd7, 0x44904db3,
365280297Sjkim    0x66b4f0a3, 0xc0f1648a, 0x697ed5af, 0x49e92ff6,
366280297Sjkim    0x309e374f, 0x2cb6356a, 0x85808573, 0x4991f840,
367280297Sjkim    0x76f0ae02, 0x083be84d, 0x28421c9a, 0x44489406,
368280297Sjkim    0x736e4cb8, 0xc1092910, 0x8bc95fc6, 0x7d869cf4,
369280297Sjkim    0x134f616f, 0x2e77118d, 0xb31b2be1, 0xaa90b472,
370280297Sjkim    0x3ca5d717, 0x7d161bba, 0x9cad9010, 0xaf462ba2,
371280297Sjkim    0x9fe459d2, 0x45d34559, 0xd9f2da13, 0xdbc65487,
372280297Sjkim    0xf3e4f94e, 0x176d486f, 0x097c13ea, 0x631da5c7,
373280297Sjkim    0x445f7382, 0x175683f4, 0xcdc66a97, 0x70be0288,
374280297Sjkim    0xb3cdcf72, 0x6e5dd2f3, 0x20936079, 0x459b80a5,
375280297Sjkim    0xbe60e2db, 0xa9c23101, 0xeba5315c, 0x224e42f2,
376280297Sjkim    0x1c5c1572, 0xf6721b2c, 0x1ad2fff3, 0x8c25404e,
377280297Sjkim    0x324ed72f, 0x4067b7fd, 0x0523138e, 0x5ca3bc78,
378280297Sjkim    0xdc0fd66e, 0x75922283, 0x784d6b17, 0x58ebb16e,
379280297Sjkim    0x44094f85, 0x3f481d87, 0xfcfeae7b, 0x77b5ff76,
380280297Sjkim    0x8c2302bf, 0xaaf47556, 0x5f46b02a, 0x2b092801,
381280297Sjkim    0x3d38f5f7, 0x0ca81f36, 0x52af4a8a, 0x66d5e7c0,
382280297Sjkim    0xdf3b0874, 0x95055110, 0x1b5ad7a8, 0xf61ed5ad,
383280297Sjkim    0x6cf6e479, 0x20758184, 0xd0cefa65, 0x88f7be58,
384280297Sjkim    0x4a046826, 0x0ff6f8f3, 0xa09c7f70, 0x5346aba0,
385280297Sjkim    0x5ce96c28, 0xe176eda3, 0x6bac307f, 0x376829d2,
386280297Sjkim    0x85360fa9, 0x17e3fe2a, 0x24b79767, 0xf5a96b20,
387280297Sjkim    0xd6cd2595, 0x68ff1ebf, 0x7555442c, 0xf19f06be,
388280297Sjkim    0xf9e0659a, 0xeeb9491d, 0x34010718, 0xbb30cab8,
389280297Sjkim    0xe822fe15, 0x88570983, 0x750e6249, 0xda627e55,
390280297Sjkim    0x5e76ffa8, 0xb1534546, 0x6d47de08, 0xefe9e7d4,
391280297Sjkim};
392280297Sjkim
393280297SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table5[256] = {
394280297Sjkim    0xf6fa8f9d, 0x2cac6ce1, 0x4ca34867, 0xe2337f7c,
395280297Sjkim    0x95db08e7, 0x016843b4, 0xeced5cbc, 0x325553ac,
396280297Sjkim    0xbf9f0960, 0xdfa1e2ed, 0x83f0579d, 0x63ed86b9,
397280297Sjkim    0x1ab6a6b8, 0xde5ebe39, 0xf38ff732, 0x8989b138,
398280297Sjkim    0x33f14961, 0xc01937bd, 0xf506c6da, 0xe4625e7e,
399280297Sjkim    0xa308ea99, 0x4e23e33c, 0x79cbd7cc, 0x48a14367,
400280297Sjkim    0xa3149619, 0xfec94bd5, 0xa114174a, 0xeaa01866,
401280297Sjkim    0xa084db2d, 0x09a8486f, 0xa888614a, 0x2900af98,
402280297Sjkim    0x01665991, 0xe1992863, 0xc8f30c60, 0x2e78ef3c,
403280297Sjkim    0xd0d51932, 0xcf0fec14, 0xf7ca07d2, 0xd0a82072,
404280297Sjkim    0xfd41197e, 0x9305a6b0, 0xe86be3da, 0x74bed3cd,
405280297Sjkim    0x372da53c, 0x4c7f4448, 0xdab5d440, 0x6dba0ec3,
406280297Sjkim    0x083919a7, 0x9fbaeed9, 0x49dbcfb0, 0x4e670c53,
407280297Sjkim    0x5c3d9c01, 0x64bdb941, 0x2c0e636a, 0xba7dd9cd,
408280297Sjkim    0xea6f7388, 0xe70bc762, 0x35f29adb, 0x5c4cdd8d,
409280297Sjkim    0xf0d48d8c, 0xb88153e2, 0x08a19866, 0x1ae2eac8,
410280297Sjkim    0x284caf89, 0xaa928223, 0x9334be53, 0x3b3a21bf,
411280297Sjkim    0x16434be3, 0x9aea3906, 0xefe8c36e, 0xf890cdd9,
412280297Sjkim    0x80226dae, 0xc340a4a3, 0xdf7e9c09, 0xa694a807,
413280297Sjkim    0x5b7c5ecc, 0x221db3a6, 0x9a69a02f, 0x68818a54,
414280297Sjkim    0xceb2296f, 0x53c0843a, 0xfe893655, 0x25bfe68a,
415280297Sjkim    0xb4628abc, 0xcf222ebf, 0x25ac6f48, 0xa9a99387,
416280297Sjkim    0x53bddb65, 0xe76ffbe7, 0xe967fd78, 0x0ba93563,
417280297Sjkim    0x8e342bc1, 0xe8a11be9, 0x4980740d, 0xc8087dfc,
418280297Sjkim    0x8de4bf99, 0xa11101a0, 0x7fd37975, 0xda5a26c0,
419280297Sjkim    0xe81f994f, 0x9528cd89, 0xfd339fed, 0xb87834bf,
420280297Sjkim    0x5f04456d, 0x22258698, 0xc9c4c83b, 0x2dc156be,
421280297Sjkim    0x4f628daa, 0x57f55ec5, 0xe2220abe, 0xd2916ebf,
422280297Sjkim    0x4ec75b95, 0x24f2c3c0, 0x42d15d99, 0xcd0d7fa0,
423280297Sjkim    0x7b6e27ff, 0xa8dc8af0, 0x7345c106, 0xf41e232f,
424280297Sjkim    0x35162386, 0xe6ea8926, 0x3333b094, 0x157ec6f2,
425280297Sjkim    0x372b74af, 0x692573e4, 0xe9a9d848, 0xf3160289,
426280297Sjkim    0x3a62ef1d, 0xa787e238, 0xf3a5f676, 0x74364853,
427280297Sjkim    0x20951063, 0x4576698d, 0xb6fad407, 0x592af950,
428280297Sjkim    0x36f73523, 0x4cfb6e87, 0x7da4cec0, 0x6c152daa,
429280297Sjkim    0xcb0396a8, 0xc50dfe5d, 0xfcd707ab, 0x0921c42f,
430280297Sjkim    0x89dff0bb, 0x5fe2be78, 0x448f4f33, 0x754613c9,
431280297Sjkim    0x2b05d08d, 0x48b9d585, 0xdc049441, 0xc8098f9b,
432280297Sjkim    0x7dede786, 0xc39a3373, 0x42410005, 0x6a091751,
433280297Sjkim    0x0ef3c8a6, 0x890072d6, 0x28207682, 0xa9a9f7be,
434280297Sjkim    0xbf32679d, 0xd45b5b75, 0xb353fd00, 0xcbb0e358,
435280297Sjkim    0x830f220a, 0x1f8fb214, 0xd372cf08, 0xcc3c4a13,
436280297Sjkim    0x8cf63166, 0x061c87be, 0x88c98f88, 0x6062e397,
437280297Sjkim    0x47cf8e7a, 0xb6c85283, 0x3cc2acfb, 0x3fc06976,
438280297Sjkim    0x4e8f0252, 0x64d8314d, 0xda3870e3, 0x1e665459,
439280297Sjkim    0xc10908f0, 0x513021a5, 0x6c5b68b7, 0x822f8aa0,
440280297Sjkim    0x3007cd3e, 0x74719eef, 0xdc872681, 0x073340d4,
441280297Sjkim    0x7e432fd9, 0x0c5ec241, 0x8809286c, 0xf592d891,
442280297Sjkim    0x08a930f6, 0x957ef305, 0xb7fbffbd, 0xc266e96f,
443280297Sjkim    0x6fe4ac98, 0xb173ecc0, 0xbc60b42a, 0x953498da,
444280297Sjkim    0xfba1ae12, 0x2d4bd736, 0x0f25faab, 0xa4f3fceb,
445280297Sjkim    0xe2969123, 0x257f0c3d, 0x9348af49, 0x361400bc,
446280297Sjkim    0xe8816f4a, 0x3814f200, 0xa3f94043, 0x9c7a54c2,
447280297Sjkim    0xbc704f57, 0xda41e7f9, 0xc25ad33a, 0x54f4a084,
448280297Sjkim    0xb17f5505, 0x59357cbe, 0xedbd15c8, 0x7f97c5ab,
449280297Sjkim    0xba5ac7b5, 0xb6f6deaf, 0x3a479c3a, 0x5302da25,
450280297Sjkim    0x653d7e6a, 0x54268d49, 0x51a477ea, 0x5017d55b,
451280297Sjkim    0xd7d25d88, 0x44136c76, 0x0404a8c8, 0xb8e5a121,
452280297Sjkim    0xb81a928a, 0x60ed5869, 0x97c55b96, 0xeaec991b,
453280297Sjkim    0x29935913, 0x01fdb7f1, 0x088e8dfa, 0x9ab6f6f5,
454280297Sjkim    0x3b4cbf9f, 0x4a5de3ab, 0xe6051d35, 0xa0e1d855,
455280297Sjkim    0xd36b4cf1, 0xf544edeb, 0xb0e93524, 0xbebb8fbd,
456280297Sjkim    0xa2d762cf, 0x49c92f54, 0x38b5f331, 0x7128a454,
457280297Sjkim    0x48392905, 0xa65b1db8, 0x851c97bd, 0xd675cf2f,
458280297Sjkim};
459280297Sjkim
460280297SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table6[256] = {
461280297Sjkim    0x85e04019, 0x332bf567, 0x662dbfff, 0xcfc65693,
462280297Sjkim    0x2a8d7f6f, 0xab9bc912, 0xde6008a1, 0x2028da1f,
463280297Sjkim    0x0227bce7, 0x4d642916, 0x18fac300, 0x50f18b82,
464280297Sjkim    0x2cb2cb11, 0xb232e75c, 0x4b3695f2, 0xb28707de,
465280297Sjkim    0xa05fbcf6, 0xcd4181e9, 0xe150210c, 0xe24ef1bd,
466280297Sjkim    0xb168c381, 0xfde4e789, 0x5c79b0d8, 0x1e8bfd43,
467280297Sjkim    0x4d495001, 0x38be4341, 0x913cee1d, 0x92a79c3f,
468280297Sjkim    0x089766be, 0xbaeeadf4, 0x1286becf, 0xb6eacb19,
469280297Sjkim    0x2660c200, 0x7565bde4, 0x64241f7a, 0x8248dca9,
470280297Sjkim    0xc3b3ad66, 0x28136086, 0x0bd8dfa8, 0x356d1cf2,
471280297Sjkim    0x107789be, 0xb3b2e9ce, 0x0502aa8f, 0x0bc0351e,
472280297Sjkim    0x166bf52a, 0xeb12ff82, 0xe3486911, 0xd34d7516,
473280297Sjkim    0x4e7b3aff, 0x5f43671b, 0x9cf6e037, 0x4981ac83,
474280297Sjkim    0x334266ce, 0x8c9341b7, 0xd0d854c0, 0xcb3a6c88,
475280297Sjkim    0x47bc2829, 0x4725ba37, 0xa66ad22b, 0x7ad61f1e,
476280297Sjkim    0x0c5cbafa, 0x4437f107, 0xb6e79962, 0x42d2d816,
477280297Sjkim    0x0a961288, 0xe1a5c06e, 0x13749e67, 0x72fc081a,
478280297Sjkim    0xb1d139f7, 0xf9583745, 0xcf19df58, 0xbec3f756,
479280297Sjkim    0xc06eba30, 0x07211b24, 0x45c28829, 0xc95e317f,
480280297Sjkim    0xbc8ec511, 0x38bc46e9, 0xc6e6fa14, 0xbae8584a,
481280297Sjkim    0xad4ebc46, 0x468f508b, 0x7829435f, 0xf124183b,
482280297Sjkim    0x821dba9f, 0xaff60ff4, 0xea2c4e6d, 0x16e39264,
483280297Sjkim    0x92544a8b, 0x009b4fc3, 0xaba68ced, 0x9ac96f78,
484280297Sjkim    0x06a5b79a, 0xb2856e6e, 0x1aec3ca9, 0xbe838688,
485280297Sjkim    0x0e0804e9, 0x55f1be56, 0xe7e5363b, 0xb3a1f25d,
486280297Sjkim    0xf7debb85, 0x61fe033c, 0x16746233, 0x3c034c28,
487280297Sjkim    0xda6d0c74, 0x79aac56c, 0x3ce4e1ad, 0x51f0c802,
488280297Sjkim    0x98f8f35a, 0x1626a49f, 0xeed82b29, 0x1d382fe3,
489280297Sjkim    0x0c4fb99a, 0xbb325778, 0x3ec6d97b, 0x6e77a6a9,
490280297Sjkim    0xcb658b5c, 0xd45230c7, 0x2bd1408b, 0x60c03eb7,
491280297Sjkim    0xb9068d78, 0xa33754f4, 0xf430c87d, 0xc8a71302,
492280297Sjkim    0xb96d8c32, 0xebd4e7be, 0xbe8b9d2d, 0x7979fb06,
493280297Sjkim    0xe7225308, 0x8b75cf77, 0x11ef8da4, 0xe083c858,
494280297Sjkim    0x8d6b786f, 0x5a6317a6, 0xfa5cf7a0, 0x5dda0033,
495280297Sjkim    0xf28ebfb0, 0xf5b9c310, 0xa0eac280, 0x08b9767a,
496280297Sjkim    0xa3d9d2b0, 0x79d34217, 0x021a718d, 0x9ac6336a,
497280297Sjkim    0x2711fd60, 0x438050e3, 0x069908a8, 0x3d7fedc4,
498280297Sjkim    0x826d2bef, 0x4eeb8476, 0x488dcf25, 0x36c9d566,
499280297Sjkim    0x28e74e41, 0xc2610aca, 0x3d49a9cf, 0xbae3b9df,
500280297Sjkim    0xb65f8de6, 0x92aeaf64, 0x3ac7d5e6, 0x9ea80509,
501280297Sjkim    0xf22b017d, 0xa4173f70, 0xdd1e16c3, 0x15e0d7f9,
502280297Sjkim    0x50b1b887, 0x2b9f4fd5, 0x625aba82, 0x6a017962,
503280297Sjkim    0x2ec01b9c, 0x15488aa9, 0xd716e740, 0x40055a2c,
504280297Sjkim    0x93d29a22, 0xe32dbf9a, 0x058745b9, 0x3453dc1e,
505280297Sjkim    0xd699296e, 0x496cff6f, 0x1c9f4986, 0xdfe2ed07,
506280297Sjkim    0xb87242d1, 0x19de7eae, 0x053e561a, 0x15ad6f8c,
507280297Sjkim    0x66626c1c, 0x7154c24c, 0xea082b2a, 0x93eb2939,
508280297Sjkim    0x17dcb0f0, 0x58d4f2ae, 0x9ea294fb, 0x52cf564c,
509280297Sjkim    0x9883fe66, 0x2ec40581, 0x763953c3, 0x01d6692e,
510280297Sjkim    0xd3a0c108, 0xa1e7160e, 0xe4f2dfa6, 0x693ed285,
511280297Sjkim    0x74904698, 0x4c2b0edd, 0x4f757656, 0x5d393378,
512280297Sjkim    0xa132234f, 0x3d321c5d, 0xc3f5e194, 0x4b269301,
513280297Sjkim    0xc79f022f, 0x3c997e7e, 0x5e4f9504, 0x3ffafbbd,
514280297Sjkim    0x76f7ad0e, 0x296693f4, 0x3d1fce6f, 0xc61e45be,
515280297Sjkim    0xd3b5ab34, 0xf72bf9b7, 0x1b0434c0, 0x4e72b567,
516280297Sjkim    0x5592a33d, 0xb5229301, 0xcfd2a87f, 0x60aeb767,
517280297Sjkim    0x1814386b, 0x30bcc33d, 0x38a0c07d, 0xfd1606f2,
518280297Sjkim    0xc363519b, 0x589dd390, 0x5479f8e6, 0x1cb8d647,
519280297Sjkim    0x97fd61a9, 0xea7759f4, 0x2d57539d, 0x569a58cf,
520280297Sjkim    0xe84e63ad, 0x462e1b78, 0x6580f87e, 0xf3817914,
521280297Sjkim    0x91da55f4, 0x40a230f3, 0xd1988f35, 0xb6e318d2,
522280297Sjkim    0x3ffa50bc, 0x3d40f021, 0xc3c0bdae, 0x4958c24c,
523280297Sjkim    0x518f36b2, 0x84b1d370, 0x0fedce83, 0x878ddada,
524280297Sjkim    0xf2a279c7, 0x94e01be8, 0x90716f4b, 0x954b8aa3,
525280297Sjkim};
526280297Sjkim
527280297SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table7[256] = {
528280297Sjkim    0xe216300d, 0xbbddfffc, 0xa7ebdabd, 0x35648095,
529280297Sjkim    0x7789f8b7, 0xe6c1121b, 0x0e241600, 0x052ce8b5,
530280297Sjkim    0x11a9cfb0, 0xe5952f11, 0xece7990a, 0x9386d174,
531280297Sjkim    0x2a42931c, 0x76e38111, 0xb12def3a, 0x37ddddfc,
532280297Sjkim    0xde9adeb1, 0x0a0cc32c, 0xbe197029, 0x84a00940,
533280297Sjkim    0xbb243a0f, 0xb4d137cf, 0xb44e79f0, 0x049eedfd,
534280297Sjkim    0x0b15a15d, 0x480d3168, 0x8bbbde5a, 0x669ded42,
535280297Sjkim    0xc7ece831, 0x3f8f95e7, 0x72df191b, 0x7580330d,
536280297Sjkim    0x94074251, 0x5c7dcdfa, 0xabbe6d63, 0xaa402164,
537280297Sjkim    0xb301d40a, 0x02e7d1ca, 0x53571dae, 0x7a3182a2,
538280297Sjkim    0x12a8ddec, 0xfdaa335d, 0x176f43e8, 0x71fb46d4,
539280297Sjkim    0x38129022, 0xce949ad4, 0xb84769ad, 0x965bd862,
540280297Sjkim    0x82f3d055, 0x66fb9767, 0x15b80b4e, 0x1d5b47a0,
541280297Sjkim    0x4cfde06f, 0xc28ec4b8, 0x57e8726e, 0x647a78fc,
542280297Sjkim    0x99865d44, 0x608bd593, 0x6c200e03, 0x39dc5ff6,
543280297Sjkim    0x5d0b00a3, 0xae63aff2, 0x7e8bd632, 0x70108c0c,
544280297Sjkim    0xbbd35049, 0x2998df04, 0x980cf42a, 0x9b6df491,
545280297Sjkim    0x9e7edd53, 0x06918548, 0x58cb7e07, 0x3b74ef2e,
546280297Sjkim    0x522fffb1, 0xd24708cc, 0x1c7e27cd, 0xa4eb215b,
547280297Sjkim    0x3cf1d2e2, 0x19b47a38, 0x424f7618, 0x35856039,
548280297Sjkim    0x9d17dee7, 0x27eb35e6, 0xc9aff67b, 0x36baf5b8,
549280297Sjkim    0x09c467cd, 0xc18910b1, 0xe11dbf7b, 0x06cd1af8,
550280297Sjkim    0x7170c608, 0x2d5e3354, 0xd4de495a, 0x64c6d006,
551280297Sjkim    0xbcc0c62c, 0x3dd00db3, 0x708f8f34, 0x77d51b42,
552280297Sjkim    0x264f620f, 0x24b8d2bf, 0x15c1b79e, 0x46a52564,
553280297Sjkim    0xf8d7e54e, 0x3e378160, 0x7895cda5, 0x859c15a5,
554280297Sjkim    0xe6459788, 0xc37bc75f, 0xdb07ba0c, 0x0676a3ab,
555280297Sjkim    0x7f229b1e, 0x31842e7b, 0x24259fd7, 0xf8bef472,
556280297Sjkim    0x835ffcb8, 0x6df4c1f2, 0x96f5b195, 0xfd0af0fc,
557280297Sjkim    0xb0fe134c, 0xe2506d3d, 0x4f9b12ea, 0xf215f225,
558280297Sjkim    0xa223736f, 0x9fb4c428, 0x25d04979, 0x34c713f8,
559280297Sjkim    0xc4618187, 0xea7a6e98, 0x7cd16efc, 0x1436876c,
560280297Sjkim    0xf1544107, 0xbedeee14, 0x56e9af27, 0xa04aa441,
561280297Sjkim    0x3cf7c899, 0x92ecbae6, 0xdd67016d, 0x151682eb,
562280297Sjkim    0xa842eedf, 0xfdba60b4, 0xf1907b75, 0x20e3030f,
563280297Sjkim    0x24d8c29e, 0xe139673b, 0xefa63fb8, 0x71873054,
564280297Sjkim    0xb6f2cf3b, 0x9f326442, 0xcb15a4cc, 0xb01a4504,
565280297Sjkim    0xf1e47d8d, 0x844a1be5, 0xbae7dfdc, 0x42cbda70,
566280297Sjkim    0xcd7dae0a, 0x57e85b7a, 0xd53f5af6, 0x20cf4d8c,
567280297Sjkim    0xcea4d428, 0x79d130a4, 0x3486ebfb, 0x33d3cddc,
568280297Sjkim    0x77853b53, 0x37effcb5, 0xc5068778, 0xe580b3e6,
569280297Sjkim    0x4e68b8f4, 0xc5c8b37e, 0x0d809ea2, 0x398feb7c,
570280297Sjkim    0x132a4f94, 0x43b7950e, 0x2fee7d1c, 0x223613bd,
571280297Sjkim    0xdd06caa2, 0x37df932b, 0xc4248289, 0xacf3ebc3,
572280297Sjkim    0x5715f6b7, 0xef3478dd, 0xf267616f, 0xc148cbe4,
573280297Sjkim    0x9052815e, 0x5e410fab, 0xb48a2465, 0x2eda7fa4,
574280297Sjkim    0xe87b40e4, 0xe98ea084, 0x5889e9e1, 0xefd390fc,
575280297Sjkim    0xdd07d35b, 0xdb485694, 0x38d7e5b2, 0x57720101,
576280297Sjkim    0x730edebc, 0x5b643113, 0x94917e4f, 0x503c2fba,
577280297Sjkim    0x646f1282, 0x7523d24a, 0xe0779695, 0xf9c17a8f,
578280297Sjkim    0x7a5b2121, 0xd187b896, 0x29263a4d, 0xba510cdf,
579280297Sjkim    0x81f47c9f, 0xad1163ed, 0xea7b5965, 0x1a00726e,
580280297Sjkim    0x11403092, 0x00da6d77, 0x4a0cdd61, 0xad1f4603,
581280297Sjkim    0x605bdfb0, 0x9eedc364, 0x22ebe6a8, 0xcee7d28a,
582280297Sjkim    0xa0e736a0, 0x5564a6b9, 0x10853209, 0xc7eb8f37,
583280297Sjkim    0x2de705ca, 0x8951570f, 0xdf09822b, 0xbd691a6c,
584280297Sjkim    0xaa12e4f2, 0x87451c0f, 0xe0f6a27a, 0x3ada4819,
585280297Sjkim    0x4cf1764f, 0x0d771c2b, 0x67cdb156, 0x350d8384,
586280297Sjkim    0x5938fa0f, 0x42399ef3, 0x36997b07, 0x0e84093d,
587280297Sjkim    0x4aa93e61, 0x8360d87b, 0x1fa98b0c, 0x1149382c,
588280297Sjkim    0xe97625a5, 0x0614d1b7, 0x0e25244b, 0x0c768347,
589280297Sjkim    0x589e8d82, 0x0d2059d1, 0xa466bb1e, 0xf8da0a82,
590280297Sjkim    0x04f19130, 0xba6e4ec0, 0x99265164, 0x1ee7230d,
591280297Sjkim    0x50b2ad80, 0xeaee6801, 0x8db2a283, 0xea8bf59e,
592280297Sjkim};
593