|
|
1.1 root 1: #include <u.h>
2: #include "tabs.h"
3:
4: #ifdef Tmips
5: #define LONGTABS
6: #else
7: #ifdef T68020
8: #define LONGTABS
9: #else
10: #ifdef Tsparc
11: #define LONGTABS
12: #else
13: #ifdef T386
14: #define LONGTABS
15: #define LONGTABSL
16: #else
17: #ifdef Thobbit
18: #define LONGTABS
19: #define LONGTABSL
20: #else
21: #define LONGTABS
22: #define LONGTABSL
23: #endif
24: #endif
25: #endif
26: #endif
27: #endif
28:
29: #ifdef LONGTABS
30: ushort tab01[256] =
31: {
32: 0x0000, 0x0003, 0x000c, 0x000f, 0x0030, 0x0033, 0x003c, 0x003f,
33: 0x00c0, 0x00c3, 0x00cc, 0x00cf, 0x00f0, 0x00f3, 0x00fc, 0x00ff,
34: 0x0300, 0x0303, 0x030c, 0x030f, 0x0330, 0x0333, 0x033c, 0x033f,
35: 0x03c0, 0x03c3, 0x03cc, 0x03cf, 0x03f0, 0x03f3, 0x03fc, 0x03ff,
36: 0x0c00, 0x0c03, 0x0c0c, 0x0c0f, 0x0c30, 0x0c33, 0x0c3c, 0x0c3f,
37: 0x0cc0, 0x0cc3, 0x0ccc, 0x0ccf, 0x0cf0, 0x0cf3, 0x0cfc, 0x0cff,
38: 0x0f00, 0x0f03, 0x0f0c, 0x0f0f, 0x0f30, 0x0f33, 0x0f3c, 0x0f3f,
39: 0x0fc0, 0x0fc3, 0x0fcc, 0x0fcf, 0x0ff0, 0x0ff3, 0x0ffc, 0x0fff,
40: 0x3000, 0x3003, 0x300c, 0x300f, 0x3030, 0x3033, 0x303c, 0x303f,
41: 0x30c0, 0x30c3, 0x30cc, 0x30cf, 0x30f0, 0x30f3, 0x30fc, 0x30ff,
42: 0x3300, 0x3303, 0x330c, 0x330f, 0x3330, 0x3333, 0x333c, 0x333f,
43: 0x33c0, 0x33c3, 0x33cc, 0x33cf, 0x33f0, 0x33f3, 0x33fc, 0x33ff,
44: 0x3c00, 0x3c03, 0x3c0c, 0x3c0f, 0x3c30, 0x3c33, 0x3c3c, 0x3c3f,
45: 0x3cc0, 0x3cc3, 0x3ccc, 0x3ccf, 0x3cf0, 0x3cf3, 0x3cfc, 0x3cff,
46: 0x3f00, 0x3f03, 0x3f0c, 0x3f0f, 0x3f30, 0x3f33, 0x3f3c, 0x3f3f,
47: 0x3fc0, 0x3fc3, 0x3fcc, 0x3fcf, 0x3ff0, 0x3ff3, 0x3ffc, 0x3fff,
48: 0xc000, 0xc003, 0xc00c, 0xc00f, 0xc030, 0xc033, 0xc03c, 0xc03f,
49: 0xc0c0, 0xc0c3, 0xc0cc, 0xc0cf, 0xc0f0, 0xc0f3, 0xc0fc, 0xc0ff,
50: 0xc300, 0xc303, 0xc30c, 0xc30f, 0xc330, 0xc333, 0xc33c, 0xc33f,
51: 0xc3c0, 0xc3c3, 0xc3cc, 0xc3cf, 0xc3f0, 0xc3f3, 0xc3fc, 0xc3ff,
52: 0xcc00, 0xcc03, 0xcc0c, 0xcc0f, 0xcc30, 0xcc33, 0xcc3c, 0xcc3f,
53: 0xccc0, 0xccc3, 0xcccc, 0xcccf, 0xccf0, 0xccf3, 0xccfc, 0xccff,
54: 0xcf00, 0xcf03, 0xcf0c, 0xcf0f, 0xcf30, 0xcf33, 0xcf3c, 0xcf3f,
55: 0xcfc0, 0xcfc3, 0xcfcc, 0xcfcf, 0xcff0, 0xcff3, 0xcffc, 0xcfff,
56: 0xf000, 0xf003, 0xf00c, 0xf00f, 0xf030, 0xf033, 0xf03c, 0xf03f,
57: 0xf0c0, 0xf0c3, 0xf0cc, 0xf0cf, 0xf0f0, 0xf0f3, 0xf0fc, 0xf0ff,
58: 0xf300, 0xf303, 0xf30c, 0xf30f, 0xf330, 0xf333, 0xf33c, 0xf33f,
59: 0xf3c0, 0xf3c3, 0xf3cc, 0xf3cf, 0xf3f0, 0xf3f3, 0xf3fc, 0xf3ff,
60: 0xfc00, 0xfc03, 0xfc0c, 0xfc0f, 0xfc30, 0xfc33, 0xfc3c, 0xfc3f,
61: 0xfcc0, 0xfcc3, 0xfccc, 0xfccf, 0xfcf0, 0xfcf3, 0xfcfc, 0xfcff,
62: 0xff00, 0xff03, 0xff0c, 0xff0f, 0xff30, 0xff33, 0xff3c, 0xff3f,
63: 0xffc0, 0xffc3, 0xffcc, 0xffcf, 0xfff0, 0xfff3, 0xfffc, 0xffff,
64: };
65: uchar tab10[256] =
66: {
67: 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1,
68: 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3,
69: 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1,
70: 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3,
71: 0x4, 0x4, 0x5, 0x5, 0x4, 0x4, 0x5, 0x5,
72: 0x6, 0x6, 0x7, 0x7, 0x6, 0x6, 0x7, 0x7,
73: 0x4, 0x4, 0x5, 0x5, 0x4, 0x4, 0x5, 0x5,
74: 0x6, 0x6, 0x7, 0x7, 0x6, 0x6, 0x7, 0x7,
75: 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1,
76: 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3,
77: 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1,
78: 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3,
79: 0x4, 0x4, 0x5, 0x5, 0x4, 0x4, 0x5, 0x5,
80: 0x6, 0x6, 0x7, 0x7, 0x6, 0x6, 0x7, 0x7,
81: 0x4, 0x4, 0x5, 0x5, 0x4, 0x4, 0x5, 0x5,
82: 0x6, 0x6, 0x7, 0x7, 0x6, 0x6, 0x7, 0x7,
83: 0x8, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9,
84: 0xa, 0xa, 0xb, 0xb, 0xa, 0xa, 0xb, 0xb,
85: 0x8, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9,
86: 0xa, 0xa, 0xb, 0xb, 0xa, 0xa, 0xb, 0xb,
87: 0xc, 0xc, 0xd, 0xd, 0xc, 0xc, 0xd, 0xd,
88: 0xe, 0xe, 0xf, 0xf, 0xe, 0xe, 0xf, 0xf,
89: 0xc, 0xc, 0xd, 0xd, 0xc, 0xc, 0xd, 0xd,
90: 0xe, 0xe, 0xf, 0xf, 0xe, 0xe, 0xf, 0xf,
91: 0x8, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9,
92: 0xa, 0xa, 0xb, 0xb, 0xa, 0xa, 0xb, 0xb,
93: 0x8, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9,
94: 0xa, 0xa, 0xb, 0xb, 0xa, 0xa, 0xb, 0xb,
95: 0xc, 0xc, 0xd, 0xd, 0xc, 0xc, 0xd, 0xd,
96: 0xe, 0xe, 0xf, 0xf, 0xe, 0xe, 0xf, 0xf,
97: 0xc, 0xc, 0xd, 0xd, 0xc, 0xc, 0xd, 0xd,
98: 0xe, 0xe, 0xf, 0xf, 0xe, 0xe, 0xf, 0xf,
99: };
100: ulong tab03[16] =
101: {
102: 0x00000000, 0x000000ff, 0x0000ff00, 0x0000ffff,
103: 0x00ff0000, 0x00ff00ff, 0x00ffff00, 0x00ffffff,
104: 0xff000000, 0xff0000ff, 0xff00ff00, 0xff00ffff,
105: 0xffff0000, 0xffff00ff, 0xffffff00, 0xffffffff,
106: };
107: uchar tab30[256] =
108: {
109: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
110: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
111: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
112: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
113: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
114: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
115: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
116: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
117: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
118: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
119: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
120: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
121: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
122: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
123: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
124: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
125: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
126: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
127: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
128: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
129: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
130: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
131: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
132: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
133: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
134: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
135: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
136: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
137: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
138: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
139: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
140: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
141: };
142:
143: ulong tab13[256] =
144: {
145: 0x00000000, 0x00000055, 0x000000aa, 0x000000ff,
146: 0x00005500, 0x00005555, 0x000055aa, 0x000055ff,
147: 0x0000aa00, 0x0000aa55, 0x0000aaaa, 0x0000aaff,
148: 0x0000ff00, 0x0000ff55, 0x0000ffaa, 0x0000ffff,
149: 0x00550000, 0x00550055, 0x005500aa, 0x005500ff,
150: 0x00555500, 0x00555555, 0x005555aa, 0x005555ff,
151: 0x0055aa00, 0x0055aa55, 0x0055aaaa, 0x0055aaff,
152: 0x0055ff00, 0x0055ff55, 0x0055ffaa, 0x0055ffff,
153: 0x00aa0000, 0x00aa0055, 0x00aa00aa, 0x00aa00ff,
154: 0x00aa5500, 0x00aa5555, 0x00aa55aa, 0x00aa55ff,
155: 0x00aaaa00, 0x00aaaa55, 0x00aaaaaa, 0x00aaaaff,
156: 0x00aaff00, 0x00aaff55, 0x00aaffaa, 0x00aaffff,
157: 0x00ff0000, 0x00ff0055, 0x00ff00aa, 0x00ff00ff,
158: 0x00ff5500, 0x00ff5555, 0x00ff55aa, 0x00ff55ff,
159: 0x00ffaa00, 0x00ffaa55, 0x00ffaaaa, 0x00ffaaff,
160: 0x00ffff00, 0x00ffff55, 0x00ffffaa, 0x00ffffff,
161: 0x55000000, 0x55000055, 0x550000aa, 0x550000ff,
162: 0x55005500, 0x55005555, 0x550055aa, 0x550055ff,
163: 0x5500aa00, 0x5500aa55, 0x5500aaaa, 0x5500aaff,
164: 0x5500ff00, 0x5500ff55, 0x5500ffaa, 0x5500ffff,
165: 0x55550000, 0x55550055, 0x555500aa, 0x555500ff,
166: 0x55555500, 0x55555555, 0x555555aa, 0x555555ff,
167: 0x5555aa00, 0x5555aa55, 0x5555aaaa, 0x5555aaff,
168: 0x5555ff00, 0x5555ff55, 0x5555ffaa, 0x5555ffff,
169: 0x55aa0000, 0x55aa0055, 0x55aa00aa, 0x55aa00ff,
170: 0x55aa5500, 0x55aa5555, 0x55aa55aa, 0x55aa55ff,
171: 0x55aaaa00, 0x55aaaa55, 0x55aaaaaa, 0x55aaaaff,
172: 0x55aaff00, 0x55aaff55, 0x55aaffaa, 0x55aaffff,
173: 0x55ff0000, 0x55ff0055, 0x55ff00aa, 0x55ff00ff,
174: 0x55ff5500, 0x55ff5555, 0x55ff55aa, 0x55ff55ff,
175: 0x55ffaa00, 0x55ffaa55, 0x55ffaaaa, 0x55ffaaff,
176: 0x55ffff00, 0x55ffff55, 0x55ffffaa, 0x55ffffff,
177: 0xaa000000, 0xaa000055, 0xaa0000aa, 0xaa0000ff,
178: 0xaa005500, 0xaa005555, 0xaa0055aa, 0xaa0055ff,
179: 0xaa00aa00, 0xaa00aa55, 0xaa00aaaa, 0xaa00aaff,
180: 0xaa00ff00, 0xaa00ff55, 0xaa00ffaa, 0xaa00ffff,
181: 0xaa550000, 0xaa550055, 0xaa5500aa, 0xaa5500ff,
182: 0xaa555500, 0xaa555555, 0xaa5555aa, 0xaa5555ff,
183: 0xaa55aa00, 0xaa55aa55, 0xaa55aaaa, 0xaa55aaff,
184: 0xaa55ff00, 0xaa55ff55, 0xaa55ffaa, 0xaa55ffff,
185: 0xaaaa0000, 0xaaaa0055, 0xaaaa00aa, 0xaaaa00ff,
186: 0xaaaa5500, 0xaaaa5555, 0xaaaa55aa, 0xaaaa55ff,
187: 0xaaaaaa00, 0xaaaaaa55, 0xaaaaaaaa, 0xaaaaaaff,
188: 0xaaaaff00, 0xaaaaff55, 0xaaaaffaa, 0xaaaaffff,
189: 0xaaff0000, 0xaaff0055, 0xaaff00aa, 0xaaff00ff,
190: 0xaaff5500, 0xaaff5555, 0xaaff55aa, 0xaaff55ff,
191: 0xaaffaa00, 0xaaffaa55, 0xaaffaaaa, 0xaaffaaff,
192: 0xaaffff00, 0xaaffff55, 0xaaffffaa, 0xaaffffff,
193: 0xff000000, 0xff000055, 0xff0000aa, 0xff0000ff,
194: 0xff005500, 0xff005555, 0xff0055aa, 0xff0055ff,
195: 0xff00aa00, 0xff00aa55, 0xff00aaaa, 0xff00aaff,
196: 0xff00ff00, 0xff00ff55, 0xff00ffaa, 0xff00ffff,
197: 0xff550000, 0xff550055, 0xff5500aa, 0xff5500ff,
198: 0xff555500, 0xff555555, 0xff5555aa, 0xff5555ff,
199: 0xff55aa00, 0xff55aa55, 0xff55aaaa, 0xff55aaff,
200: 0xff55ff00, 0xff55ff55, 0xff55ffaa, 0xff55ffff,
201: 0xffaa0000, 0xffaa0055, 0xffaa00aa, 0xffaa00ff,
202: 0xffaa5500, 0xffaa5555, 0xffaa55aa, 0xffaa55ff,
203: 0xffaaaa00, 0xffaaaa55, 0xffaaaaaa, 0xffaaaaff,
204: 0xffaaff00, 0xffaaff55, 0xffaaffaa, 0xffaaffff,
205: 0xffff0000, 0xffff0055, 0xffff00aa, 0xffff00ff,
206: 0xffff5500, 0xffff5555, 0xffff55aa, 0xffff55ff,
207: 0xffffaa00, 0xffffaa55, 0xffffaaaa, 0xffffaaff,
208: 0xffffff00, 0xffffff55, 0xffffffaa, 0xffffffff,
209: };
210:
211: uchar tab31[256] =
212: {
213: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
214: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
215: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
216: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
217: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
218: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
219: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
220: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
221: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
222: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
223: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
224: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
225: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
226: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
227: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
228: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
229: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
230: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
231: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
232: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
233: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
234: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
235: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
236: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
237: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
238: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
239: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
240: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
241: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
242: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
243: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
244: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
245: };
246: ulong tab02[256] =
247: {
248: 0x00000000, 0x0000000f, 0x000000f0, 0x000000ff,
249: 0x00000f00, 0x00000f0f, 0x00000ff0, 0x00000fff,
250: 0x0000f000, 0x0000f00f, 0x0000f0f0, 0x0000f0ff,
251: 0x0000ff00, 0x0000ff0f, 0x0000fff0, 0x0000ffff,
252: 0x000f0000, 0x000f000f, 0x000f00f0, 0x000f00ff,
253: 0x000f0f00, 0x000f0f0f, 0x000f0ff0, 0x000f0fff,
254: 0x000ff000, 0x000ff00f, 0x000ff0f0, 0x000ff0ff,
255: 0x000fff00, 0x000fff0f, 0x000ffff0, 0x000fffff,
256: 0x00f00000, 0x00f0000f, 0x00f000f0, 0x00f000ff,
257: 0x00f00f00, 0x00f00f0f, 0x00f00ff0, 0x00f00fff,
258: 0x00f0f000, 0x00f0f00f, 0x00f0f0f0, 0x00f0f0ff,
259: 0x00f0ff00, 0x00f0ff0f, 0x00f0fff0, 0x00f0ffff,
260: 0x00ff0000, 0x00ff000f, 0x00ff00f0, 0x00ff00ff,
261: 0x00ff0f00, 0x00ff0f0f, 0x00ff0ff0, 0x00ff0fff,
262: 0x00fff000, 0x00fff00f, 0x00fff0f0, 0x00fff0ff,
263: 0x00ffff00, 0x00ffff0f, 0x00fffff0, 0x00ffffff,
264: 0x0f000000, 0x0f00000f, 0x0f0000f0, 0x0f0000ff,
265: 0x0f000f00, 0x0f000f0f, 0x0f000ff0, 0x0f000fff,
266: 0x0f00f000, 0x0f00f00f, 0x0f00f0f0, 0x0f00f0ff,
267: 0x0f00ff00, 0x0f00ff0f, 0x0f00fff0, 0x0f00ffff,
268: 0x0f0f0000, 0x0f0f000f, 0x0f0f00f0, 0x0f0f00ff,
269: 0x0f0f0f00, 0x0f0f0f0f, 0x0f0f0ff0, 0x0f0f0fff,
270: 0x0f0ff000, 0x0f0ff00f, 0x0f0ff0f0, 0x0f0ff0ff,
271: 0x0f0fff00, 0x0f0fff0f, 0x0f0ffff0, 0x0f0fffff,
272: 0x0ff00000, 0x0ff0000f, 0x0ff000f0, 0x0ff000ff,
273: 0x0ff00f00, 0x0ff00f0f, 0x0ff00ff0, 0x0ff00fff,
274: 0x0ff0f000, 0x0ff0f00f, 0x0ff0f0f0, 0x0ff0f0ff,
275: 0x0ff0ff00, 0x0ff0ff0f, 0x0ff0fff0, 0x0ff0ffff,
276: 0x0fff0000, 0x0fff000f, 0x0fff00f0, 0x0fff00ff,
277: 0x0fff0f00, 0x0fff0f0f, 0x0fff0ff0, 0x0fff0fff,
278: 0x0ffff000, 0x0ffff00f, 0x0ffff0f0, 0x0ffff0ff,
279: 0x0fffff00, 0x0fffff0f, 0x0ffffff0, 0x0fffffff,
280: 0xf0000000, 0xf000000f, 0xf00000f0, 0xf00000ff,
281: 0xf0000f00, 0xf0000f0f, 0xf0000ff0, 0xf0000fff,
282: 0xf000f000, 0xf000f00f, 0xf000f0f0, 0xf000f0ff,
283: 0xf000ff00, 0xf000ff0f, 0xf000fff0, 0xf000ffff,
284: 0xf00f0000, 0xf00f000f, 0xf00f00f0, 0xf00f00ff,
285: 0xf00f0f00, 0xf00f0f0f, 0xf00f0ff0, 0xf00f0fff,
286: 0xf00ff000, 0xf00ff00f, 0xf00ff0f0, 0xf00ff0ff,
287: 0xf00fff00, 0xf00fff0f, 0xf00ffff0, 0xf00fffff,
288: 0xf0f00000, 0xf0f0000f, 0xf0f000f0, 0xf0f000ff,
289: 0xf0f00f00, 0xf0f00f0f, 0xf0f00ff0, 0xf0f00fff,
290: 0xf0f0f000, 0xf0f0f00f, 0xf0f0f0f0, 0xf0f0f0ff,
291: 0xf0f0ff00, 0xf0f0ff0f, 0xf0f0fff0, 0xf0f0ffff,
292: 0xf0ff0000, 0xf0ff000f, 0xf0ff00f0, 0xf0ff00ff,
293: 0xf0ff0f00, 0xf0ff0f0f, 0xf0ff0ff0, 0xf0ff0fff,
294: 0xf0fff000, 0xf0fff00f, 0xf0fff0f0, 0xf0fff0ff,
295: 0xf0ffff00, 0xf0ffff0f, 0xf0fffff0, 0xf0ffffff,
296: 0xff000000, 0xff00000f, 0xff0000f0, 0xff0000ff,
297: 0xff000f00, 0xff000f0f, 0xff000ff0, 0xff000fff,
298: 0xff00f000, 0xff00f00f, 0xff00f0f0, 0xff00f0ff,
299: 0xff00ff00, 0xff00ff0f, 0xff00fff0, 0xff00ffff,
300: 0xff0f0000, 0xff0f000f, 0xff0f00f0, 0xff0f00ff,
301: 0xff0f0f00, 0xff0f0f0f, 0xff0f0ff0, 0xff0f0fff,
302: 0xff0ff000, 0xff0ff00f, 0xff0ff0f0, 0xff0ff0ff,
303: 0xff0fff00, 0xff0fff0f, 0xff0ffff0, 0xff0fffff,
304: 0xfff00000, 0xfff0000f, 0xfff000f0, 0xfff000ff,
305: 0xfff00f00, 0xfff00f0f, 0xfff00ff0, 0xfff00fff,
306: 0xfff0f000, 0xfff0f00f, 0xfff0f0f0, 0xfff0f0ff,
307: 0xfff0ff00, 0xfff0ff0f, 0xfff0fff0, 0xfff0ffff,
308: 0xffff0000, 0xffff000f, 0xffff00f0, 0xffff00ff,
309: 0xffff0f00, 0xffff0f0f, 0xffff0ff0, 0xffff0fff,
310: 0xfffff000, 0xfffff00f, 0xfffff0f0, 0xfffff0ff,
311: 0xffffff00, 0xffffff0f, 0xfffffff0, 0xffffffff,
312: };
313: uchar tab20[256] =
314: {
315: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
316: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
317: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
318: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
319: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
320: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
321: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
322: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
323: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
324: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
325: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
326: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
327: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
328: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
329: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
330: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
331: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
332: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
333: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
334: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
335: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
336: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
337: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
338: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
339: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
340: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
341: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
342: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
343: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
344: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
345: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
346: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
347: };
348: ushort tab12[256] =
349: {
350: 0x0000, 0x0005, 0x000a, 0x000f, 0x0050, 0x0055, 0x005a, 0x005f,
351: 0x00a0, 0x00a5, 0x00aa, 0x00af, 0x00f0, 0x00f5, 0x00fa, 0x00ff,
352: 0x0500, 0x0505, 0x050a, 0x050f, 0x0550, 0x0555, 0x055a, 0x055f,
353: 0x05a0, 0x05a5, 0x05aa, 0x05af, 0x05f0, 0x05f5, 0x05fa, 0x05ff,
354: 0x0a00, 0x0a05, 0x0a0a, 0x0a0f, 0x0a50, 0x0a55, 0x0a5a, 0x0a5f,
355: 0x0aa0, 0x0aa5, 0x0aaa, 0x0aaf, 0x0af0, 0x0af5, 0x0afa, 0x0aff,
356: 0x0f00, 0x0f05, 0x0f0a, 0x0f0f, 0x0f50, 0x0f55, 0x0f5a, 0x0f5f,
357: 0x0fa0, 0x0fa5, 0x0faa, 0x0faf, 0x0ff0, 0x0ff5, 0x0ffa, 0x0fff,
358: 0x5000, 0x5005, 0x500a, 0x500f, 0x5050, 0x5055, 0x505a, 0x505f,
359: 0x50a0, 0x50a5, 0x50aa, 0x50af, 0x50f0, 0x50f5, 0x50fa, 0x50ff,
360: 0x5500, 0x5505, 0x550a, 0x550f, 0x5550, 0x5555, 0x555a, 0x555f,
361: 0x55a0, 0x55a5, 0x55aa, 0x55af, 0x55f0, 0x55f5, 0x55fa, 0x55ff,
362: 0x5a00, 0x5a05, 0x5a0a, 0x5a0f, 0x5a50, 0x5a55, 0x5a5a, 0x5a5f,
363: 0x5aa0, 0x5aa5, 0x5aaa, 0x5aaf, 0x5af0, 0x5af5, 0x5afa, 0x5aff,
364: 0x5f00, 0x5f05, 0x5f0a, 0x5f0f, 0x5f50, 0x5f55, 0x5f5a, 0x5f5f,
365: 0x5fa0, 0x5fa5, 0x5faa, 0x5faf, 0x5ff0, 0x5ff5, 0x5ffa, 0x5fff,
366: 0xa000, 0xa005, 0xa00a, 0xa00f, 0xa050, 0xa055, 0xa05a, 0xa05f,
367: 0xa0a0, 0xa0a5, 0xa0aa, 0xa0af, 0xa0f0, 0xa0f5, 0xa0fa, 0xa0ff,
368: 0xa500, 0xa505, 0xa50a, 0xa50f, 0xa550, 0xa555, 0xa55a, 0xa55f,
369: 0xa5a0, 0xa5a5, 0xa5aa, 0xa5af, 0xa5f0, 0xa5f5, 0xa5fa, 0xa5ff,
370: 0xaa00, 0xaa05, 0xaa0a, 0xaa0f, 0xaa50, 0xaa55, 0xaa5a, 0xaa5f,
371: 0xaaa0, 0xaaa5, 0xaaaa, 0xaaaf, 0xaaf0, 0xaaf5, 0xaafa, 0xaaff,
372: 0xaf00, 0xaf05, 0xaf0a, 0xaf0f, 0xaf50, 0xaf55, 0xaf5a, 0xaf5f,
373: 0xafa0, 0xafa5, 0xafaa, 0xafaf, 0xaff0, 0xaff5, 0xaffa, 0xafff,
374: 0xf000, 0xf005, 0xf00a, 0xf00f, 0xf050, 0xf055, 0xf05a, 0xf05f,
375: 0xf0a0, 0xf0a5, 0xf0aa, 0xf0af, 0xf0f0, 0xf0f5, 0xf0fa, 0xf0ff,
376: 0xf500, 0xf505, 0xf50a, 0xf50f, 0xf550, 0xf555, 0xf55a, 0xf55f,
377: 0xf5a0, 0xf5a5, 0xf5aa, 0xf5af, 0xf5f0, 0xf5f5, 0xf5fa, 0xf5ff,
378: 0xfa00, 0xfa05, 0xfa0a, 0xfa0f, 0xfa50, 0xfa55, 0xfa5a, 0xfa5f,
379: 0xfaa0, 0xfaa5, 0xfaaa, 0xfaaf, 0xfaf0, 0xfaf5, 0xfafa, 0xfaff,
380: 0xff00, 0xff05, 0xff0a, 0xff0f, 0xff50, 0xff55, 0xff5a, 0xff5f,
381: 0xffa0, 0xffa5, 0xffaa, 0xffaf, 0xfff0, 0xfff5, 0xfffa, 0xffff,
382: };
383: uchar tab21[256] =
384: {
385: 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1,
386: 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3,
387: 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1,
388: 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3,
389: 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1,
390: 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3,
391: 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1,
392: 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3,
393: 0x4, 0x4, 0x4, 0x4, 0x5, 0x5, 0x5, 0x5,
394: 0x6, 0x6, 0x6, 0x6, 0x7, 0x7, 0x7, 0x7,
395: 0x4, 0x4, 0x4, 0x4, 0x5, 0x5, 0x5, 0x5,
396: 0x6, 0x6, 0x6, 0x6, 0x7, 0x7, 0x7, 0x7,
397: 0x4, 0x4, 0x4, 0x4, 0x5, 0x5, 0x5, 0x5,
398: 0x6, 0x6, 0x6, 0x6, 0x7, 0x7, 0x7, 0x7,
399: 0x4, 0x4, 0x4, 0x4, 0x5, 0x5, 0x5, 0x5,
400: 0x6, 0x6, 0x6, 0x6, 0x7, 0x7, 0x7, 0x7,
401: 0x8, 0x8, 0x8, 0x8, 0x9, 0x9, 0x9, 0x9,
402: 0xa, 0xa, 0xa, 0xa, 0xb, 0xb, 0xb, 0xb,
403: 0x8, 0x8, 0x8, 0x8, 0x9, 0x9, 0x9, 0x9,
404: 0xa, 0xa, 0xa, 0xa, 0xb, 0xb, 0xb, 0xb,
405: 0x8, 0x8, 0x8, 0x8, 0x9, 0x9, 0x9, 0x9,
406: 0xa, 0xa, 0xa, 0xa, 0xb, 0xb, 0xb, 0xb,
407: 0x8, 0x8, 0x8, 0x8, 0x9, 0x9, 0x9, 0x9,
408: 0xa, 0xa, 0xa, 0xa, 0xb, 0xb, 0xb, 0xb,
409: 0xc, 0xc, 0xc, 0xc, 0xd, 0xd, 0xd, 0xd,
410: 0xe, 0xe, 0xe, 0xe, 0xf, 0xf, 0xf, 0xf,
411: 0xc, 0xc, 0xc, 0xc, 0xd, 0xd, 0xd, 0xd,
412: 0xe, 0xe, 0xe, 0xe, 0xf, 0xf, 0xf, 0xf,
413: 0xc, 0xc, 0xc, 0xc, 0xd, 0xd, 0xd, 0xd,
414: 0xe, 0xe, 0xe, 0xe, 0xf, 0xf, 0xf, 0xf,
415: 0xc, 0xc, 0xc, 0xc, 0xd, 0xd, 0xd, 0xd,
416: 0xe, 0xe, 0xe, 0xe, 0xf, 0xf, 0xf, 0xf,
417: };
418: ushort tab23[256] =
419: {
420: 0x0000, 0x0011, 0x0022, 0x0033, 0x0044, 0x0055, 0x0066, 0x0077,
421: 0x0088, 0x0099, 0x00aa, 0x00bb, 0x00cc, 0x00dd, 0x00ee, 0x00ff,
422: 0x1100, 0x1111, 0x1122, 0x1133, 0x1144, 0x1155, 0x1166, 0x1177,
423: 0x1188, 0x1199, 0x11aa, 0x11bb, 0x11cc, 0x11dd, 0x11ee, 0x11ff,
424: 0x2200, 0x2211, 0x2222, 0x2233, 0x2244, 0x2255, 0x2266, 0x2277,
425: 0x2288, 0x2299, 0x22aa, 0x22bb, 0x22cc, 0x22dd, 0x22ee, 0x22ff,
426: 0x3300, 0x3311, 0x3322, 0x3333, 0x3344, 0x3355, 0x3366, 0x3377,
427: 0x3388, 0x3399, 0x33aa, 0x33bb, 0x33cc, 0x33dd, 0x33ee, 0x33ff,
428: 0x4400, 0x4411, 0x4422, 0x4433, 0x4444, 0x4455, 0x4466, 0x4477,
429: 0x4488, 0x4499, 0x44aa, 0x44bb, 0x44cc, 0x44dd, 0x44ee, 0x44ff,
430: 0x5500, 0x5511, 0x5522, 0x5533, 0x5544, 0x5555, 0x5566, 0x5577,
431: 0x5588, 0x5599, 0x55aa, 0x55bb, 0x55cc, 0x55dd, 0x55ee, 0x55ff,
432: 0x6600, 0x6611, 0x6622, 0x6633, 0x6644, 0x6655, 0x6666, 0x6677,
433: 0x6688, 0x6699, 0x66aa, 0x66bb, 0x66cc, 0x66dd, 0x66ee, 0x66ff,
434: 0x7700, 0x7711, 0x7722, 0x7733, 0x7744, 0x7755, 0x7766, 0x7777,
435: 0x7788, 0x7799, 0x77aa, 0x77bb, 0x77cc, 0x77dd, 0x77ee, 0x77ff,
436: 0x8800, 0x8811, 0x8822, 0x8833, 0x8844, 0x8855, 0x8866, 0x8877,
437: 0x8888, 0x8899, 0x88aa, 0x88bb, 0x88cc, 0x88dd, 0x88ee, 0x88ff,
438: 0x9900, 0x9911, 0x9922, 0x9933, 0x9944, 0x9955, 0x9966, 0x9977,
439: 0x9988, 0x9999, 0x99aa, 0x99bb, 0x99cc, 0x99dd, 0x99ee, 0x99ff,
440: 0xaa00, 0xaa11, 0xaa22, 0xaa33, 0xaa44, 0xaa55, 0xaa66, 0xaa77,
441: 0xaa88, 0xaa99, 0xaaaa, 0xaabb, 0xaacc, 0xaadd, 0xaaee, 0xaaff,
442: 0xbb00, 0xbb11, 0xbb22, 0xbb33, 0xbb44, 0xbb55, 0xbb66, 0xbb77,
443: 0xbb88, 0xbb99, 0xbbaa, 0xbbbb, 0xbbcc, 0xbbdd, 0xbbee, 0xbbff,
444: 0xcc00, 0xcc11, 0xcc22, 0xcc33, 0xcc44, 0xcc55, 0xcc66, 0xcc77,
445: 0xcc88, 0xcc99, 0xccaa, 0xccbb, 0xcccc, 0xccdd, 0xccee, 0xccff,
446: 0xdd00, 0xdd11, 0xdd22, 0xdd33, 0xdd44, 0xdd55, 0xdd66, 0xdd77,
447: 0xdd88, 0xdd99, 0xddaa, 0xddbb, 0xddcc, 0xdddd, 0xddee, 0xddff,
448: 0xee00, 0xee11, 0xee22, 0xee33, 0xee44, 0xee55, 0xee66, 0xee77,
449: 0xee88, 0xee99, 0xeeaa, 0xeebb, 0xeecc, 0xeedd, 0xeeee, 0xeeff,
450: 0xff00, 0xff11, 0xff22, 0xff33, 0xff44, 0xff55, 0xff66, 0xff77,
451: 0xff88, 0xff99, 0xffaa, 0xffbb, 0xffcc, 0xffdd, 0xffee, 0xffff,
452: };
453: uchar tab32[256] =
454: {
455: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
456: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
457: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
458: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
459: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
460: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
461: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
462: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
463: 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
464: 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
465: 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
466: 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
467: 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6,
468: 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6,
469: 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7,
470: 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7,
471: 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8,
472: 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8,
473: 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9,
474: 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9,
475: 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa,
476: 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa,
477: 0xb, 0xb, 0xb, 0xb, 0xb, 0xb, 0xb, 0xb,
478: 0xb, 0xb, 0xb, 0xb, 0xb, 0xb, 0xb, 0xb,
479: 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc,
480: 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc,
481: 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd,
482: 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd,
483: 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe,
484: 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe,
485: 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
486: 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
487: };
488:
489: #endif
490:
491: #ifdef LONGTABSL
492: ulong tab01l[256] =
493: {
494: 0x00000000, 0x00030000, 0x000c0000, 0x000f0000,
495: 0x00300000, 0x00330000, 0x003c0000, 0x003f0000,
496: 0x00c00000, 0x00c30000, 0x00cc0000, 0x00cf0000,
497: 0x00f00000, 0x00f30000, 0x00fc0000, 0x00ff0000,
498: 0x03000000, 0x03030000, 0x030c0000, 0x030f0000,
499: 0x03300000, 0x03330000, 0x033c0000, 0x033f0000,
500: 0x03c00000, 0x03c30000, 0x03cc0000, 0x03cf0000,
501: 0x03f00000, 0x03f30000, 0x03fc0000, 0x03ff0000,
502: 0x0c000000, 0x0c030000, 0x0c0c0000, 0x0c0f0000,
503: 0x0c300000, 0x0c330000, 0x0c3c0000, 0x0c3f0000,
504: 0x0cc00000, 0x0cc30000, 0x0ccc0000, 0x0ccf0000,
505: 0x0cf00000, 0x0cf30000, 0x0cfc0000, 0x0cff0000,
506: 0x0f000000, 0x0f030000, 0x0f0c0000, 0x0f0f0000,
507: 0x0f300000, 0x0f330000, 0x0f3c0000, 0x0f3f0000,
508: 0x0fc00000, 0x0fc30000, 0x0fcc0000, 0x0fcf0000,
509: 0x0ff00000, 0x0ff30000, 0x0ffc0000, 0x0fff0000,
510: 0x30000000, 0x30030000, 0x300c0000, 0x300f0000,
511: 0x30300000, 0x30330000, 0x303c0000, 0x303f0000,
512: 0x30c00000, 0x30c30000, 0x30cc0000, 0x30cf0000,
513: 0x30f00000, 0x30f30000, 0x30fc0000, 0x30ff0000,
514: 0x33000000, 0x33030000, 0x330c0000, 0x330f0000,
515: 0x33300000, 0x33330000, 0x333c0000, 0x333f0000,
516: 0x33c00000, 0x33c30000, 0x33cc0000, 0x33cf0000,
517: 0x33f00000, 0x33f30000, 0x33fc0000, 0x33ff0000,
518: 0x3c000000, 0x3c030000, 0x3c0c0000, 0x3c0f0000,
519: 0x3c300000, 0x3c330000, 0x3c3c0000, 0x3c3f0000,
520: 0x3cc00000, 0x3cc30000, 0x3ccc0000, 0x3ccf0000,
521: 0x3cf00000, 0x3cf30000, 0x3cfc0000, 0x3cff0000,
522: 0x3f000000, 0x3f030000, 0x3f0c0000, 0x3f0f0000,
523: 0x3f300000, 0x3f330000, 0x3f3c0000, 0x3f3f0000,
524: 0x3fc00000, 0x3fc30000, 0x3fcc0000, 0x3fcf0000,
525: 0x3ff00000, 0x3ff30000, 0x3ffc0000, 0x3fff0000,
526: 0xc0000000, 0xc0030000, 0xc00c0000, 0xc00f0000,
527: 0xc0300000, 0xc0330000, 0xc03c0000, 0xc03f0000,
528: 0xc0c00000, 0xc0c30000, 0xc0cc0000, 0xc0cf0000,
529: 0xc0f00000, 0xc0f30000, 0xc0fc0000, 0xc0ff0000,
530: 0xc3000000, 0xc3030000, 0xc30c0000, 0xc30f0000,
531: 0xc3300000, 0xc3330000, 0xc33c0000, 0xc33f0000,
532: 0xc3c00000, 0xc3c30000, 0xc3cc0000, 0xc3cf0000,
533: 0xc3f00000, 0xc3f30000, 0xc3fc0000, 0xc3ff0000,
534: 0xcc000000, 0xcc030000, 0xcc0c0000, 0xcc0f0000,
535: 0xcc300000, 0xcc330000, 0xcc3c0000, 0xcc3f0000,
536: 0xccc00000, 0xccc30000, 0xcccc0000, 0xcccf0000,
537: 0xccf00000, 0xccf30000, 0xccfc0000, 0xccff0000,
538: 0xcf000000, 0xcf030000, 0xcf0c0000, 0xcf0f0000,
539: 0xcf300000, 0xcf330000, 0xcf3c0000, 0xcf3f0000,
540: 0xcfc00000, 0xcfc30000, 0xcfcc0000, 0xcfcf0000,
541: 0xcff00000, 0xcff30000, 0xcffc0000, 0xcfff0000,
542: 0xf0000000, 0xf0030000, 0xf00c0000, 0xf00f0000,
543: 0xf0300000, 0xf0330000, 0xf03c0000, 0xf03f0000,
544: 0xf0c00000, 0xf0c30000, 0xf0cc0000, 0xf0cf0000,
545: 0xf0f00000, 0xf0f30000, 0xf0fc0000, 0xf0ff0000,
546: 0xf3000000, 0xf3030000, 0xf30c0000, 0xf30f0000,
547: 0xf3300000, 0xf3330000, 0xf33c0000, 0xf33f0000,
548: 0xf3c00000, 0xf3c30000, 0xf3cc0000, 0xf3cf0000,
549: 0xf3f00000, 0xf3f30000, 0xf3fc0000, 0xf3ff0000,
550: 0xfc000000, 0xfc030000, 0xfc0c0000, 0xfc0f0000,
551: 0xfc300000, 0xfc330000, 0xfc3c0000, 0xfc3f0000,
552: 0xfcc00000, 0xfcc30000, 0xfccc0000, 0xfccf0000,
553: 0xfcf00000, 0xfcf30000, 0xfcfc0000, 0xfcff0000,
554: 0xff000000, 0xff030000, 0xff0c0000, 0xff0f0000,
555: 0xff300000, 0xff330000, 0xff3c0000, 0xff3f0000,
556: 0xffc00000, 0xffc30000, 0xffcc0000, 0xffcf0000,
557: 0xfff00000, 0xfff30000, 0xfffc0000, 0xffff0000,
558: };
559: ulong tab02l[256] =
560: {
561: 0x00000000, 0x0000000f, 0x000000f0, 0x000000ff,
562: 0x00000f00, 0x00000f0f, 0x00000ff0, 0x00000fff,
563: 0x0000f000, 0x0000f00f, 0x0000f0f0, 0x0000f0ff,
564: 0x0000ff00, 0x0000ff0f, 0x0000fff0, 0x0000ffff,
565: 0x000f0000, 0x000f000f, 0x000f00f0, 0x000f00ff,
566: 0x000f0f00, 0x000f0f0f, 0x000f0ff0, 0x000f0fff,
567: 0x000ff000, 0x000ff00f, 0x000ff0f0, 0x000ff0ff,
568: 0x000fff00, 0x000fff0f, 0x000ffff0, 0x000fffff,
569: 0x00f00000, 0x00f0000f, 0x00f000f0, 0x00f000ff,
570: 0x00f00f00, 0x00f00f0f, 0x00f00ff0, 0x00f00fff,
571: 0x00f0f000, 0x00f0f00f, 0x00f0f0f0, 0x00f0f0ff,
572: 0x00f0ff00, 0x00f0ff0f, 0x00f0fff0, 0x00f0ffff,
573: 0x00ff0000, 0x00ff000f, 0x00ff00f0, 0x00ff00ff,
574: 0x00ff0f00, 0x00ff0f0f, 0x00ff0ff0, 0x00ff0fff,
575: 0x00fff000, 0x00fff00f, 0x00fff0f0, 0x00fff0ff,
576: 0x00ffff00, 0x00ffff0f, 0x00fffff0, 0x00ffffff,
577: 0x0f000000, 0x0f00000f, 0x0f0000f0, 0x0f0000ff,
578: 0x0f000f00, 0x0f000f0f, 0x0f000ff0, 0x0f000fff,
579: 0x0f00f000, 0x0f00f00f, 0x0f00f0f0, 0x0f00f0ff,
580: 0x0f00ff00, 0x0f00ff0f, 0x0f00fff0, 0x0f00ffff,
581: 0x0f0f0000, 0x0f0f000f, 0x0f0f00f0, 0x0f0f00ff,
582: 0x0f0f0f00, 0x0f0f0f0f, 0x0f0f0ff0, 0x0f0f0fff,
583: 0x0f0ff000, 0x0f0ff00f, 0x0f0ff0f0, 0x0f0ff0ff,
584: 0x0f0fff00, 0x0f0fff0f, 0x0f0ffff0, 0x0f0fffff,
585: 0x0ff00000, 0x0ff0000f, 0x0ff000f0, 0x0ff000ff,
586: 0x0ff00f00, 0x0ff00f0f, 0x0ff00ff0, 0x0ff00fff,
587: 0x0ff0f000, 0x0ff0f00f, 0x0ff0f0f0, 0x0ff0f0ff,
588: 0x0ff0ff00, 0x0ff0ff0f, 0x0ff0fff0, 0x0ff0ffff,
589: 0x0fff0000, 0x0fff000f, 0x0fff00f0, 0x0fff00ff,
590: 0x0fff0f00, 0x0fff0f0f, 0x0fff0ff0, 0x0fff0fff,
591: 0x0ffff000, 0x0ffff00f, 0x0ffff0f0, 0x0ffff0ff,
592: 0x0fffff00, 0x0fffff0f, 0x0ffffff0, 0x0fffffff,
593: 0xf0000000, 0xf000000f, 0xf00000f0, 0xf00000ff,
594: 0xf0000f00, 0xf0000f0f, 0xf0000ff0, 0xf0000fff,
595: 0xf000f000, 0xf000f00f, 0xf000f0f0, 0xf000f0ff,
596: 0xf000ff00, 0xf000ff0f, 0xf000fff0, 0xf000ffff,
597: 0xf00f0000, 0xf00f000f, 0xf00f00f0, 0xf00f00ff,
598: 0xf00f0f00, 0xf00f0f0f, 0xf00f0ff0, 0xf00f0fff,
599: 0xf00ff000, 0xf00ff00f, 0xf00ff0f0, 0xf00ff0ff,
600: 0xf00fff00, 0xf00fff0f, 0xf00ffff0, 0xf00fffff,
601: 0xf0f00000, 0xf0f0000f, 0xf0f000f0, 0xf0f000ff,
602: 0xf0f00f00, 0xf0f00f0f, 0xf0f00ff0, 0xf0f00fff,
603: 0xf0f0f000, 0xf0f0f00f, 0xf0f0f0f0, 0xf0f0f0ff,
604: 0xf0f0ff00, 0xf0f0ff0f, 0xf0f0fff0, 0xf0f0ffff,
605: 0xf0ff0000, 0xf0ff000f, 0xf0ff00f0, 0xf0ff00ff,
606: 0xf0ff0f00, 0xf0ff0f0f, 0xf0ff0ff0, 0xf0ff0fff,
607: 0xf0fff000, 0xf0fff00f, 0xf0fff0f0, 0xf0fff0ff,
608: 0xf0ffff00, 0xf0ffff0f, 0xf0fffff0, 0xf0ffffff,
609: 0xff000000, 0xff00000f, 0xff0000f0, 0xff0000ff,
610: 0xff000f00, 0xff000f0f, 0xff000ff0, 0xff000fff,
611: 0xff00f000, 0xff00f00f, 0xff00f0f0, 0xff00f0ff,
612: 0xff00ff00, 0xff00ff0f, 0xff00fff0, 0xff00ffff,
613: 0xff0f0000, 0xff0f000f, 0xff0f00f0, 0xff0f00ff,
614: 0xff0f0f00, 0xff0f0f0f, 0xff0f0ff0, 0xff0f0fff,
615: 0xff0ff000, 0xff0ff00f, 0xff0ff0f0, 0xff0ff0ff,
616: 0xff0fff00, 0xff0fff0f, 0xff0ffff0, 0xff0fffff,
617: 0xfff00000, 0xfff0000f, 0xfff000f0, 0xfff000ff,
618: 0xfff00f00, 0xfff00f0f, 0xfff00ff0, 0xfff00fff,
619: 0xfff0f000, 0xfff0f00f, 0xfff0f0f0, 0xfff0f0ff,
620: 0xfff0ff00, 0xfff0ff0f, 0xfff0fff0, 0xfff0ffff,
621: 0xffff0000, 0xffff000f, 0xffff00f0, 0xffff00ff,
622: 0xffff0f00, 0xffff0f0f, 0xffff0ff0, 0xffff0fff,
623: 0xfffff000, 0xfffff00f, 0xfffff0f0, 0xfffff0ff,
624: 0xffffff00, 0xffffff0f, 0xfffffff0, 0xffffffff,
625: };
626: ulong tab03l[16] =
627: {
628: 0x00000000, 0x000000ff, 0x0000ff00, 0x0000ffff,
629: 0x00ff0000, 0x00ff00ff, 0x00ffff00, 0x00ffffff,
630: 0xff000000, 0xff0000ff, 0xff00ff00, 0xff00ffff,
631: 0xffff0000, 0xffff00ff, 0xffffff00, 0xffffffff,
632: };
633: ulong tab10l[256] =
634: {
635: 0x00000000, 0x00000000, 0x10000000, 0x10000000,
636: 0x00000000, 0x00000000, 0x10000000, 0x10000000,
637: 0x20000000, 0x20000000, 0x30000000, 0x30000000,
638: 0x20000000, 0x20000000, 0x30000000, 0x30000000,
639: 0x00000000, 0x00000000, 0x10000000, 0x10000000,
640: 0x00000000, 0x00000000, 0x10000000, 0x10000000,
641: 0x20000000, 0x20000000, 0x30000000, 0x30000000,
642: 0x20000000, 0x20000000, 0x30000000, 0x30000000,
643: 0x40000000, 0x40000000, 0x50000000, 0x50000000,
644: 0x40000000, 0x40000000, 0x50000000, 0x50000000,
645: 0x60000000, 0x60000000, 0x70000000, 0x70000000,
646: 0x60000000, 0x60000000, 0x70000000, 0x70000000,
647: 0x40000000, 0x40000000, 0x50000000, 0x50000000,
648: 0x40000000, 0x40000000, 0x50000000, 0x50000000,
649: 0x60000000, 0x60000000, 0x70000000, 0x70000000,
650: 0x60000000, 0x60000000, 0x70000000, 0x70000000,
651: 0x00000000, 0x00000000, 0x10000000, 0x10000000,
652: 0x00000000, 0x00000000, 0x10000000, 0x10000000,
653: 0x20000000, 0x20000000, 0x30000000, 0x30000000,
654: 0x20000000, 0x20000000, 0x30000000, 0x30000000,
655: 0x00000000, 0x00000000, 0x10000000, 0x10000000,
656: 0x00000000, 0x00000000, 0x10000000, 0x10000000,
657: 0x20000000, 0x20000000, 0x30000000, 0x30000000,
658: 0x20000000, 0x20000000, 0x30000000, 0x30000000,
659: 0x40000000, 0x40000000, 0x50000000, 0x50000000,
660: 0x40000000, 0x40000000, 0x50000000, 0x50000000,
661: 0x60000000, 0x60000000, 0x70000000, 0x70000000,
662: 0x60000000, 0x60000000, 0x70000000, 0x70000000,
663: 0x40000000, 0x40000000, 0x50000000, 0x50000000,
664: 0x40000000, 0x40000000, 0x50000000, 0x50000000,
665: 0x60000000, 0x60000000, 0x70000000, 0x70000000,
666: 0x60000000, 0x60000000, 0x70000000, 0x70000000,
667: 0x80000000, 0x80000000, 0x90000000, 0x90000000,
668: 0x80000000, 0x80000000, 0x90000000, 0x90000000,
669: 0xa0000000, 0xa0000000, 0xb0000000, 0xb0000000,
670: 0xa0000000, 0xa0000000, 0xb0000000, 0xb0000000,
671: 0x80000000, 0x80000000, 0x90000000, 0x90000000,
672: 0x80000000, 0x80000000, 0x90000000, 0x90000000,
673: 0xa0000000, 0xa0000000, 0xb0000000, 0xb0000000,
674: 0xa0000000, 0xa0000000, 0xb0000000, 0xb0000000,
675: 0xc0000000, 0xc0000000, 0xd0000000, 0xd0000000,
676: 0xc0000000, 0xc0000000, 0xd0000000, 0xd0000000,
677: 0xe0000000, 0xe0000000, 0xf0000000, 0xf0000000,
678: 0xe0000000, 0xe0000000, 0xf0000000, 0xf0000000,
679: 0xc0000000, 0xc0000000, 0xd0000000, 0xd0000000,
680: 0xc0000000, 0xc0000000, 0xd0000000, 0xd0000000,
681: 0xe0000000, 0xe0000000, 0xf0000000, 0xf0000000,
682: 0xe0000000, 0xe0000000, 0xf0000000, 0xf0000000,
683: 0x80000000, 0x80000000, 0x90000000, 0x90000000,
684: 0x80000000, 0x80000000, 0x90000000, 0x90000000,
685: 0xa0000000, 0xa0000000, 0xb0000000, 0xb0000000,
686: 0xa0000000, 0xa0000000, 0xb0000000, 0xb0000000,
687: 0x80000000, 0x80000000, 0x90000000, 0x90000000,
688: 0x80000000, 0x80000000, 0x90000000, 0x90000000,
689: 0xa0000000, 0xa0000000, 0xb0000000, 0xb0000000,
690: 0xa0000000, 0xa0000000, 0xb0000000, 0xb0000000,
691: 0xc0000000, 0xc0000000, 0xd0000000, 0xd0000000,
692: 0xc0000000, 0xc0000000, 0xd0000000, 0xd0000000,
693: 0xe0000000, 0xe0000000, 0xf0000000, 0xf0000000,
694: 0xe0000000, 0xe0000000, 0xf0000000, 0xf0000000,
695: 0xc0000000, 0xc0000000, 0xd0000000, 0xd0000000,
696: 0xc0000000, 0xc0000000, 0xd0000000, 0xd0000000,
697: 0xe0000000, 0xe0000000, 0xf0000000, 0xf0000000,
698: 0xe0000000, 0xe0000000, 0xf0000000, 0xf0000000,
699: };
700: ulong tab12l[256] =
701: {
702: 0x00000000, 0x00050000, 0x000a0000, 0x000f0000,
703: 0x00500000, 0x00550000, 0x005a0000, 0x005f0000,
704: 0x00a00000, 0x00a50000, 0x00aa0000, 0x00af0000,
705: 0x00f00000, 0x00f50000, 0x00fa0000, 0x00ff0000,
706: 0x05000000, 0x05050000, 0x050a0000, 0x050f0000,
707: 0x05500000, 0x05550000, 0x055a0000, 0x055f0000,
708: 0x05a00000, 0x05a50000, 0x05aa0000, 0x05af0000,
709: 0x05f00000, 0x05f50000, 0x05fa0000, 0x05ff0000,
710: 0x0a000000, 0x0a050000, 0x0a0a0000, 0x0a0f0000,
711: 0x0a500000, 0x0a550000, 0x0a5a0000, 0x0a5f0000,
712: 0x0aa00000, 0x0aa50000, 0x0aaa0000, 0x0aaf0000,
713: 0x0af00000, 0x0af50000, 0x0afa0000, 0x0aff0000,
714: 0x0f000000, 0x0f050000, 0x0f0a0000, 0x0f0f0000,
715: 0x0f500000, 0x0f550000, 0x0f5a0000, 0x0f5f0000,
716: 0x0fa00000, 0x0fa50000, 0x0faa0000, 0x0faf0000,
717: 0x0ff00000, 0x0ff50000, 0x0ffa0000, 0x0fff0000,
718: 0x50000000, 0x50050000, 0x500a0000, 0x500f0000,
719: 0x50500000, 0x50550000, 0x505a0000, 0x505f0000,
720: 0x50a00000, 0x50a50000, 0x50aa0000, 0x50af0000,
721: 0x50f00000, 0x50f50000, 0x50fa0000, 0x50ff0000,
722: 0x55000000, 0x55050000, 0x550a0000, 0x550f0000,
723: 0x55500000, 0x55550000, 0x555a0000, 0x555f0000,
724: 0x55a00000, 0x55a50000, 0x55aa0000, 0x55af0000,
725: 0x55f00000, 0x55f50000, 0x55fa0000, 0x55ff0000,
726: 0x5a000000, 0x5a050000, 0x5a0a0000, 0x5a0f0000,
727: 0x5a500000, 0x5a550000, 0x5a5a0000, 0x5a5f0000,
728: 0x5aa00000, 0x5aa50000, 0x5aaa0000, 0x5aaf0000,
729: 0x5af00000, 0x5af50000, 0x5afa0000, 0x5aff0000,
730: 0x5f000000, 0x5f050000, 0x5f0a0000, 0x5f0f0000,
731: 0x5f500000, 0x5f550000, 0x5f5a0000, 0x5f5f0000,
732: 0x5fa00000, 0x5fa50000, 0x5faa0000, 0x5faf0000,
733: 0x5ff00000, 0x5ff50000, 0x5ffa0000, 0x5fff0000,
734: 0xa0000000, 0xa0050000, 0xa00a0000, 0xa00f0000,
735: 0xa0500000, 0xa0550000, 0xa05a0000, 0xa05f0000,
736: 0xa0a00000, 0xa0a50000, 0xa0aa0000, 0xa0af0000,
737: 0xa0f00000, 0xa0f50000, 0xa0fa0000, 0xa0ff0000,
738: 0xa5000000, 0xa5050000, 0xa50a0000, 0xa50f0000,
739: 0xa5500000, 0xa5550000, 0xa55a0000, 0xa55f0000,
740: 0xa5a00000, 0xa5a50000, 0xa5aa0000, 0xa5af0000,
741: 0xa5f00000, 0xa5f50000, 0xa5fa0000, 0xa5ff0000,
742: 0xaa000000, 0xaa050000, 0xaa0a0000, 0xaa0f0000,
743: 0xaa500000, 0xaa550000, 0xaa5a0000, 0xaa5f0000,
744: 0xaaa00000, 0xaaa50000, 0xaaaa0000, 0xaaaf0000,
745: 0xaaf00000, 0xaaf50000, 0xaafa0000, 0xaaff0000,
746: 0xaf000000, 0xaf050000, 0xaf0a0000, 0xaf0f0000,
747: 0xaf500000, 0xaf550000, 0xaf5a0000, 0xaf5f0000,
748: 0xafa00000, 0xafa50000, 0xafaa0000, 0xafaf0000,
749: 0xaff00000, 0xaff50000, 0xaffa0000, 0xafff0000,
750: 0xf0000000, 0xf0050000, 0xf00a0000, 0xf00f0000,
751: 0xf0500000, 0xf0550000, 0xf05a0000, 0xf05f0000,
752: 0xf0a00000, 0xf0a50000, 0xf0aa0000, 0xf0af0000,
753: 0xf0f00000, 0xf0f50000, 0xf0fa0000, 0xf0ff0000,
754: 0xf5000000, 0xf5050000, 0xf50a0000, 0xf50f0000,
755: 0xf5500000, 0xf5550000, 0xf55a0000, 0xf55f0000,
756: 0xf5a00000, 0xf5a50000, 0xf5aa0000, 0xf5af0000,
757: 0xf5f00000, 0xf5f50000, 0xf5fa0000, 0xf5ff0000,
758: 0xfa000000, 0xfa050000, 0xfa0a0000, 0xfa0f0000,
759: 0xfa500000, 0xfa550000, 0xfa5a0000, 0xfa5f0000,
760: 0xfaa00000, 0xfaa50000, 0xfaaa0000, 0xfaaf0000,
761: 0xfaf00000, 0xfaf50000, 0xfafa0000, 0xfaff0000,
762: 0xff000000, 0xff050000, 0xff0a0000, 0xff0f0000,
763: 0xff500000, 0xff550000, 0xff5a0000, 0xff5f0000,
764: 0xffa00000, 0xffa50000, 0xffaa0000, 0xffaf0000,
765: 0xfff00000, 0xfff50000, 0xfffa0000, 0xffff0000,
766: };
767: ulong tab13l[256] =
768: {
769: 0x00000000, 0x00000055, 0x000000aa, 0x000000ff,
770: 0x00005500, 0x00005555, 0x000055aa, 0x000055ff,
771: 0x0000aa00, 0x0000aa55, 0x0000aaaa, 0x0000aaff,
772: 0x0000ff00, 0x0000ff55, 0x0000ffaa, 0x0000ffff,
773: 0x00550000, 0x00550055, 0x005500aa, 0x005500ff,
774: 0x00555500, 0x00555555, 0x005555aa, 0x005555ff,
775: 0x0055aa00, 0x0055aa55, 0x0055aaaa, 0x0055aaff,
776: 0x0055ff00, 0x0055ff55, 0x0055ffaa, 0x0055ffff,
777: 0x00aa0000, 0x00aa0055, 0x00aa00aa, 0x00aa00ff,
778: 0x00aa5500, 0x00aa5555, 0x00aa55aa, 0x00aa55ff,
779: 0x00aaaa00, 0x00aaaa55, 0x00aaaaaa, 0x00aaaaff,
780: 0x00aaff00, 0x00aaff55, 0x00aaffaa, 0x00aaffff,
781: 0x00ff0000, 0x00ff0055, 0x00ff00aa, 0x00ff00ff,
782: 0x00ff5500, 0x00ff5555, 0x00ff55aa, 0x00ff55ff,
783: 0x00ffaa00, 0x00ffaa55, 0x00ffaaaa, 0x00ffaaff,
784: 0x00ffff00, 0x00ffff55, 0x00ffffaa, 0x00ffffff,
785: 0x55000000, 0x55000055, 0x550000aa, 0x550000ff,
786: 0x55005500, 0x55005555, 0x550055aa, 0x550055ff,
787: 0x5500aa00, 0x5500aa55, 0x5500aaaa, 0x5500aaff,
788: 0x5500ff00, 0x5500ff55, 0x5500ffaa, 0x5500ffff,
789: 0x55550000, 0x55550055, 0x555500aa, 0x555500ff,
790: 0x55555500, 0x55555555, 0x555555aa, 0x555555ff,
791: 0x5555aa00, 0x5555aa55, 0x5555aaaa, 0x5555aaff,
792: 0x5555ff00, 0x5555ff55, 0x5555ffaa, 0x5555ffff,
793: 0x55aa0000, 0x55aa0055, 0x55aa00aa, 0x55aa00ff,
794: 0x55aa5500, 0x55aa5555, 0x55aa55aa, 0x55aa55ff,
795: 0x55aaaa00, 0x55aaaa55, 0x55aaaaaa, 0x55aaaaff,
796: 0x55aaff00, 0x55aaff55, 0x55aaffaa, 0x55aaffff,
797: 0x55ff0000, 0x55ff0055, 0x55ff00aa, 0x55ff00ff,
798: 0x55ff5500, 0x55ff5555, 0x55ff55aa, 0x55ff55ff,
799: 0x55ffaa00, 0x55ffaa55, 0x55ffaaaa, 0x55ffaaff,
800: 0x55ffff00, 0x55ffff55, 0x55ffffaa, 0x55ffffff,
801: 0xaa000000, 0xaa000055, 0xaa0000aa, 0xaa0000ff,
802: 0xaa005500, 0xaa005555, 0xaa0055aa, 0xaa0055ff,
803: 0xaa00aa00, 0xaa00aa55, 0xaa00aaaa, 0xaa00aaff,
804: 0xaa00ff00, 0xaa00ff55, 0xaa00ffaa, 0xaa00ffff,
805: 0xaa550000, 0xaa550055, 0xaa5500aa, 0xaa5500ff,
806: 0xaa555500, 0xaa555555, 0xaa5555aa, 0xaa5555ff,
807: 0xaa55aa00, 0xaa55aa55, 0xaa55aaaa, 0xaa55aaff,
808: 0xaa55ff00, 0xaa55ff55, 0xaa55ffaa, 0xaa55ffff,
809: 0xaaaa0000, 0xaaaa0055, 0xaaaa00aa, 0xaaaa00ff,
810: 0xaaaa5500, 0xaaaa5555, 0xaaaa55aa, 0xaaaa55ff,
811: 0xaaaaaa00, 0xaaaaaa55, 0xaaaaaaaa, 0xaaaaaaff,
812: 0xaaaaff00, 0xaaaaff55, 0xaaaaffaa, 0xaaaaffff,
813: 0xaaff0000, 0xaaff0055, 0xaaff00aa, 0xaaff00ff,
814: 0xaaff5500, 0xaaff5555, 0xaaff55aa, 0xaaff55ff,
815: 0xaaffaa00, 0xaaffaa55, 0xaaffaaaa, 0xaaffaaff,
816: 0xaaffff00, 0xaaffff55, 0xaaffffaa, 0xaaffffff,
817: 0xff000000, 0xff000055, 0xff0000aa, 0xff0000ff,
818: 0xff005500, 0xff005555, 0xff0055aa, 0xff0055ff,
819: 0xff00aa00, 0xff00aa55, 0xff00aaaa, 0xff00aaff,
820: 0xff00ff00, 0xff00ff55, 0xff00ffaa, 0xff00ffff,
821: 0xff550000, 0xff550055, 0xff5500aa, 0xff5500ff,
822: 0xff555500, 0xff555555, 0xff5555aa, 0xff5555ff,
823: 0xff55aa00, 0xff55aa55, 0xff55aaaa, 0xff55aaff,
824: 0xff55ff00, 0xff55ff55, 0xff55ffaa, 0xff55ffff,
825: 0xffaa0000, 0xffaa0055, 0xffaa00aa, 0xffaa00ff,
826: 0xffaa5500, 0xffaa5555, 0xffaa55aa, 0xffaa55ff,
827: 0xffaaaa00, 0xffaaaa55, 0xffaaaaaa, 0xffaaaaff,
828: 0xffaaff00, 0xffaaff55, 0xffaaffaa, 0xffaaffff,
829: 0xffff0000, 0xffff0055, 0xffff00aa, 0xffff00ff,
830: 0xffff5500, 0xffff5555, 0xffff55aa, 0xffff55ff,
831: 0xffffaa00, 0xffffaa55, 0xffffaaaa, 0xffffaaff,
832: 0xffffff00, 0xffffff55, 0xffffffaa, 0xffffffff,
833: };
834: ulong tab20l[256] =
835: {
836: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
837: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
838: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
839: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
840: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
841: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
842: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
843: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
844: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
845: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
846: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
847: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
848: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
849: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
850: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
851: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
852: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
853: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
854: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
855: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
856: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
857: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
858: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
859: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
860: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
861: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
862: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
863: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
864: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
865: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
866: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
867: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
868: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
869: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
870: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
871: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
872: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
873: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
874: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
875: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
876: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
877: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
878: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
879: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
880: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
881: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
882: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
883: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
884: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
885: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
886: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
887: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
888: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
889: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
890: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
891: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
892: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
893: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
894: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
895: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
896: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
897: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
898: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
899: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
900: };
901: ulong tab21l[256] =
902: {
903: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
904: 0x10000000, 0x10000000, 0x10000000, 0x10000000,
905: 0x20000000, 0x20000000, 0x20000000, 0x20000000,
906: 0x30000000, 0x30000000, 0x30000000, 0x30000000,
907: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
908: 0x10000000, 0x10000000, 0x10000000, 0x10000000,
909: 0x20000000, 0x20000000, 0x20000000, 0x20000000,
910: 0x30000000, 0x30000000, 0x30000000, 0x30000000,
911: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
912: 0x10000000, 0x10000000, 0x10000000, 0x10000000,
913: 0x20000000, 0x20000000, 0x20000000, 0x20000000,
914: 0x30000000, 0x30000000, 0x30000000, 0x30000000,
915: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
916: 0x10000000, 0x10000000, 0x10000000, 0x10000000,
917: 0x20000000, 0x20000000, 0x20000000, 0x20000000,
918: 0x30000000, 0x30000000, 0x30000000, 0x30000000,
919: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
920: 0x50000000, 0x50000000, 0x50000000, 0x50000000,
921: 0x60000000, 0x60000000, 0x60000000, 0x60000000,
922: 0x70000000, 0x70000000, 0x70000000, 0x70000000,
923: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
924: 0x50000000, 0x50000000, 0x50000000, 0x50000000,
925: 0x60000000, 0x60000000, 0x60000000, 0x60000000,
926: 0x70000000, 0x70000000, 0x70000000, 0x70000000,
927: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
928: 0x50000000, 0x50000000, 0x50000000, 0x50000000,
929: 0x60000000, 0x60000000, 0x60000000, 0x60000000,
930: 0x70000000, 0x70000000, 0x70000000, 0x70000000,
931: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
932: 0x50000000, 0x50000000, 0x50000000, 0x50000000,
933: 0x60000000, 0x60000000, 0x60000000, 0x60000000,
934: 0x70000000, 0x70000000, 0x70000000, 0x70000000,
935: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
936: 0x90000000, 0x90000000, 0x90000000, 0x90000000,
937: 0xa0000000, 0xa0000000, 0xa0000000, 0xa0000000,
938: 0xb0000000, 0xb0000000, 0xb0000000, 0xb0000000,
939: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
940: 0x90000000, 0x90000000, 0x90000000, 0x90000000,
941: 0xa0000000, 0xa0000000, 0xa0000000, 0xa0000000,
942: 0xb0000000, 0xb0000000, 0xb0000000, 0xb0000000,
943: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
944: 0x90000000, 0x90000000, 0x90000000, 0x90000000,
945: 0xa0000000, 0xa0000000, 0xa0000000, 0xa0000000,
946: 0xb0000000, 0xb0000000, 0xb0000000, 0xb0000000,
947: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
948: 0x90000000, 0x90000000, 0x90000000, 0x90000000,
949: 0xa0000000, 0xa0000000, 0xa0000000, 0xa0000000,
950: 0xb0000000, 0xb0000000, 0xb0000000, 0xb0000000,
951: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
952: 0xd0000000, 0xd0000000, 0xd0000000, 0xd0000000,
953: 0xe0000000, 0xe0000000, 0xe0000000, 0xe0000000,
954: 0xf0000000, 0xf0000000, 0xf0000000, 0xf0000000,
955: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
956: 0xd0000000, 0xd0000000, 0xd0000000, 0xd0000000,
957: 0xe0000000, 0xe0000000, 0xe0000000, 0xe0000000,
958: 0xf0000000, 0xf0000000, 0xf0000000, 0xf0000000,
959: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
960: 0xd0000000, 0xd0000000, 0xd0000000, 0xd0000000,
961: 0xe0000000, 0xe0000000, 0xe0000000, 0xe0000000,
962: 0xf0000000, 0xf0000000, 0xf0000000, 0xf0000000,
963: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
964: 0xd0000000, 0xd0000000, 0xd0000000, 0xd0000000,
965: 0xe0000000, 0xe0000000, 0xe0000000, 0xe0000000,
966: 0xf0000000, 0xf0000000, 0xf0000000, 0xf0000000,
967: };
968: ulong tab23l[256] =
969: {
970: 0x00000000, 0x00110000, 0x00220000, 0x00330000,
971: 0x00440000, 0x00550000, 0x00660000, 0x00770000,
972: 0x00880000, 0x00990000, 0x00aa0000, 0x00bb0000,
973: 0x00cc0000, 0x00dd0000, 0x00ee0000, 0x00ff0000,
974: 0x11000000, 0x11110000, 0x11220000, 0x11330000,
975: 0x11440000, 0x11550000, 0x11660000, 0x11770000,
976: 0x11880000, 0x11990000, 0x11aa0000, 0x11bb0000,
977: 0x11cc0000, 0x11dd0000, 0x11ee0000, 0x11ff0000,
978: 0x22000000, 0x22110000, 0x22220000, 0x22330000,
979: 0x22440000, 0x22550000, 0x22660000, 0x22770000,
980: 0x22880000, 0x22990000, 0x22aa0000, 0x22bb0000,
981: 0x22cc0000, 0x22dd0000, 0x22ee0000, 0x22ff0000,
982: 0x33000000, 0x33110000, 0x33220000, 0x33330000,
983: 0x33440000, 0x33550000, 0x33660000, 0x33770000,
984: 0x33880000, 0x33990000, 0x33aa0000, 0x33bb0000,
985: 0x33cc0000, 0x33dd0000, 0x33ee0000, 0x33ff0000,
986: 0x44000000, 0x44110000, 0x44220000, 0x44330000,
987: 0x44440000, 0x44550000, 0x44660000, 0x44770000,
988: 0x44880000, 0x44990000, 0x44aa0000, 0x44bb0000,
989: 0x44cc0000, 0x44dd0000, 0x44ee0000, 0x44ff0000,
990: 0x55000000, 0x55110000, 0x55220000, 0x55330000,
991: 0x55440000, 0x55550000, 0x55660000, 0x55770000,
992: 0x55880000, 0x55990000, 0x55aa0000, 0x55bb0000,
993: 0x55cc0000, 0x55dd0000, 0x55ee0000, 0x55ff0000,
994: 0x66000000, 0x66110000, 0x66220000, 0x66330000,
995: 0x66440000, 0x66550000, 0x66660000, 0x66770000,
996: 0x66880000, 0x66990000, 0x66aa0000, 0x66bb0000,
997: 0x66cc0000, 0x66dd0000, 0x66ee0000, 0x66ff0000,
998: 0x77000000, 0x77110000, 0x77220000, 0x77330000,
999: 0x77440000, 0x77550000, 0x77660000, 0x77770000,
1000: 0x77880000, 0x77990000, 0x77aa0000, 0x77bb0000,
1001: 0x77cc0000, 0x77dd0000, 0x77ee0000, 0x77ff0000,
1002: 0x88000000, 0x88110000, 0x88220000, 0x88330000,
1003: 0x88440000, 0x88550000, 0x88660000, 0x88770000,
1004: 0x88880000, 0x88990000, 0x88aa0000, 0x88bb0000,
1005: 0x88cc0000, 0x88dd0000, 0x88ee0000, 0x88ff0000,
1006: 0x99000000, 0x99110000, 0x99220000, 0x99330000,
1007: 0x99440000, 0x99550000, 0x99660000, 0x99770000,
1008: 0x99880000, 0x99990000, 0x99aa0000, 0x99bb0000,
1009: 0x99cc0000, 0x99dd0000, 0x99ee0000, 0x99ff0000,
1010: 0xaa000000, 0xaa110000, 0xaa220000, 0xaa330000,
1011: 0xaa440000, 0xaa550000, 0xaa660000, 0xaa770000,
1012: 0xaa880000, 0xaa990000, 0xaaaa0000, 0xaabb0000,
1013: 0xaacc0000, 0xaadd0000, 0xaaee0000, 0xaaff0000,
1014: 0xbb000000, 0xbb110000, 0xbb220000, 0xbb330000,
1015: 0xbb440000, 0xbb550000, 0xbb660000, 0xbb770000,
1016: 0xbb880000, 0xbb990000, 0xbbaa0000, 0xbbbb0000,
1017: 0xbbcc0000, 0xbbdd0000, 0xbbee0000, 0xbbff0000,
1018: 0xcc000000, 0xcc110000, 0xcc220000, 0xcc330000,
1019: 0xcc440000, 0xcc550000, 0xcc660000, 0xcc770000,
1020: 0xcc880000, 0xcc990000, 0xccaa0000, 0xccbb0000,
1021: 0xcccc0000, 0xccdd0000, 0xccee0000, 0xccff0000,
1022: 0xdd000000, 0xdd110000, 0xdd220000, 0xdd330000,
1023: 0xdd440000, 0xdd550000, 0xdd660000, 0xdd770000,
1024: 0xdd880000, 0xdd990000, 0xddaa0000, 0xddbb0000,
1025: 0xddcc0000, 0xdddd0000, 0xddee0000, 0xddff0000,
1026: 0xee000000, 0xee110000, 0xee220000, 0xee330000,
1027: 0xee440000, 0xee550000, 0xee660000, 0xee770000,
1028: 0xee880000, 0xee990000, 0xeeaa0000, 0xeebb0000,
1029: 0xeecc0000, 0xeedd0000, 0xeeee0000, 0xeeff0000,
1030: 0xff000000, 0xff110000, 0xff220000, 0xff330000,
1031: 0xff440000, 0xff550000, 0xff660000, 0xff770000,
1032: 0xff880000, 0xff990000, 0xffaa0000, 0xffbb0000,
1033: 0xffcc0000, 0xffdd0000, 0xffee0000, 0xffff0000,
1034: };
1035: ulong tab30l[256] =
1036: {
1037: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1038: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1039: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1040: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1041: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1042: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1043: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1044: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1045: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1046: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1047: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1048: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1049: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1050: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1051: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1052: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1053: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1054: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1055: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1056: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1057: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1058: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1059: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1060: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1061: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1062: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1063: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1064: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1065: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1066: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1067: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1068: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1069: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1070: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1071: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1072: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1073: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1074: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1075: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1076: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1077: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1078: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1079: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1080: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1081: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1082: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1083: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1084: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1085: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1086: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1087: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1088: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1089: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1090: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1091: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1092: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1093: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1094: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1095: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1096: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1097: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1098: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1099: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1100: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1101: };
1102: ulong tab31l[256] =
1103: {
1104: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1105: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1106: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1107: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1108: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1109: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1110: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1111: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1112: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1113: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1114: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1115: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1116: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1117: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1118: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1119: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1120: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1121: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1122: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1123: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1124: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1125: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1126: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1127: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1128: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1129: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1130: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1131: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1132: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1133: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1134: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1135: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1136: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1137: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1138: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1139: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1140: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1141: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1142: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1143: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1144: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1145: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1146: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1147: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1148: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1149: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1150: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1151: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1152: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1153: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1154: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1155: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1156: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1157: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1158: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1159: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1160: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1161: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1162: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1163: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1164: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1165: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1166: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1167: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1168: };
1169: ulong tab32l[256] =
1170: {
1171: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1172: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1173: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1174: 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1175: 0x10000000, 0x10000000, 0x10000000, 0x10000000,
1176: 0x10000000, 0x10000000, 0x10000000, 0x10000000,
1177: 0x10000000, 0x10000000, 0x10000000, 0x10000000,
1178: 0x10000000, 0x10000000, 0x10000000, 0x10000000,
1179: 0x20000000, 0x20000000, 0x20000000, 0x20000000,
1180: 0x20000000, 0x20000000, 0x20000000, 0x20000000,
1181: 0x20000000, 0x20000000, 0x20000000, 0x20000000,
1182: 0x20000000, 0x20000000, 0x20000000, 0x20000000,
1183: 0x30000000, 0x30000000, 0x30000000, 0x30000000,
1184: 0x30000000, 0x30000000, 0x30000000, 0x30000000,
1185: 0x30000000, 0x30000000, 0x30000000, 0x30000000,
1186: 0x30000000, 0x30000000, 0x30000000, 0x30000000,
1187: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1188: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1189: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1190: 0x40000000, 0x40000000, 0x40000000, 0x40000000,
1191: 0x50000000, 0x50000000, 0x50000000, 0x50000000,
1192: 0x50000000, 0x50000000, 0x50000000, 0x50000000,
1193: 0x50000000, 0x50000000, 0x50000000, 0x50000000,
1194: 0x50000000, 0x50000000, 0x50000000, 0x50000000,
1195: 0x60000000, 0x60000000, 0x60000000, 0x60000000,
1196: 0x60000000, 0x60000000, 0x60000000, 0x60000000,
1197: 0x60000000, 0x60000000, 0x60000000, 0x60000000,
1198: 0x60000000, 0x60000000, 0x60000000, 0x60000000,
1199: 0x70000000, 0x70000000, 0x70000000, 0x70000000,
1200: 0x70000000, 0x70000000, 0x70000000, 0x70000000,
1201: 0x70000000, 0x70000000, 0x70000000, 0x70000000,
1202: 0x70000000, 0x70000000, 0x70000000, 0x70000000,
1203: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1204: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1205: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1206: 0x80000000, 0x80000000, 0x80000000, 0x80000000,
1207: 0x90000000, 0x90000000, 0x90000000, 0x90000000,
1208: 0x90000000, 0x90000000, 0x90000000, 0x90000000,
1209: 0x90000000, 0x90000000, 0x90000000, 0x90000000,
1210: 0x90000000, 0x90000000, 0x90000000, 0x90000000,
1211: 0xa0000000, 0xa0000000, 0xa0000000, 0xa0000000,
1212: 0xa0000000, 0xa0000000, 0xa0000000, 0xa0000000,
1213: 0xa0000000, 0xa0000000, 0xa0000000, 0xa0000000,
1214: 0xa0000000, 0xa0000000, 0xa0000000, 0xa0000000,
1215: 0xb0000000, 0xb0000000, 0xb0000000, 0xb0000000,
1216: 0xb0000000, 0xb0000000, 0xb0000000, 0xb0000000,
1217: 0xb0000000, 0xb0000000, 0xb0000000, 0xb0000000,
1218: 0xb0000000, 0xb0000000, 0xb0000000, 0xb0000000,
1219: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1220: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1221: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1222: 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
1223: 0xd0000000, 0xd0000000, 0xd0000000, 0xd0000000,
1224: 0xd0000000, 0xd0000000, 0xd0000000, 0xd0000000,
1225: 0xd0000000, 0xd0000000, 0xd0000000, 0xd0000000,
1226: 0xd0000000, 0xd0000000, 0xd0000000, 0xd0000000,
1227: 0xe0000000, 0xe0000000, 0xe0000000, 0xe0000000,
1228: 0xe0000000, 0xe0000000, 0xe0000000, 0xe0000000,
1229: 0xe0000000, 0xe0000000, 0xe0000000, 0xe0000000,
1230: 0xe0000000, 0xe0000000, 0xe0000000, 0xe0000000,
1231: 0xf0000000, 0xf0000000, 0xf0000000, 0xf0000000,
1232: 0xf0000000, 0xf0000000, 0xf0000000, 0xf0000000,
1233: 0xf0000000, 0xf0000000, 0xf0000000, 0xf0000000,
1234: 0xf0000000, 0xf0000000, 0xf0000000, 0xf0000000,
1235: };
1236: #endif
1237:
1238: #ifdef BYTETABS
1239:
1240: uchar tab01b[16] =
1241: {
1242: 0x00, 0x03, 0x0c, 0x0f, 0x30, 0x33, 0x3c, 0x3f,
1243: 0xc0, 0xc3, 0xcc, 0xcf, 0xf0, 0xf3, 0xfc, 0xff,
1244: };
1245: uchar tab10b[256] =
1246: {
1247: 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1,
1248: 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3,
1249: 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1,
1250: 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3,
1251: 0x4, 0x4, 0x5, 0x5, 0x4, 0x4, 0x5, 0x5,
1252: 0x6, 0x6, 0x7, 0x7, 0x6, 0x6, 0x7, 0x7,
1253: 0x4, 0x4, 0x5, 0x5, 0x4, 0x4, 0x5, 0x5,
1254: 0x6, 0x6, 0x7, 0x7, 0x6, 0x6, 0x7, 0x7,
1255: 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1,
1256: 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3,
1257: 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1,
1258: 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3,
1259: 0x4, 0x4, 0x5, 0x5, 0x4, 0x4, 0x5, 0x5,
1260: 0x6, 0x6, 0x7, 0x7, 0x6, 0x6, 0x7, 0x7,
1261: 0x4, 0x4, 0x5, 0x5, 0x4, 0x4, 0x5, 0x5,
1262: 0x6, 0x6, 0x7, 0x7, 0x6, 0x6, 0x7, 0x7,
1263: 0x8, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9,
1264: 0xa, 0xa, 0xb, 0xb, 0xa, 0xa, 0xb, 0xb,
1265: 0x8, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9,
1266: 0xa, 0xa, 0xb, 0xb, 0xa, 0xa, 0xb, 0xb,
1267: 0xc, 0xc, 0xd, 0xd, 0xc, 0xc, 0xd, 0xd,
1268: 0xe, 0xe, 0xf, 0xf, 0xe, 0xe, 0xf, 0xf,
1269: 0xc, 0xc, 0xd, 0xd, 0xc, 0xc, 0xd, 0xd,
1270: 0xe, 0xe, 0xf, 0xf, 0xe, 0xe, 0xf, 0xf,
1271: 0x8, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9,
1272: 0xa, 0xa, 0xb, 0xb, 0xa, 0xa, 0xb, 0xb,
1273: 0x8, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9,
1274: 0xa, 0xa, 0xb, 0xb, 0xa, 0xa, 0xb, 0xb,
1275: 0xc, 0xc, 0xd, 0xd, 0xc, 0xc, 0xd, 0xd,
1276: 0xe, 0xe, 0xf, 0xf, 0xe, 0xe, 0xf, 0xf,
1277: 0xc, 0xc, 0xd, 0xd, 0xc, 0xc, 0xd, 0xd,
1278: 0xe, 0xe, 0xf, 0xf, 0xe, 0xe, 0xf, 0xf,
1279: };
1280: uchar tab13b[4] =
1281: {
1282: 0x00, 0x55, 0xaa, 0xff
1283: };
1284: uchar tab31b[256] =
1285: {
1286: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1287: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1288: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1289: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1290: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1291: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1292: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1293: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1294: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1295: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1296: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1297: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1298: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1299: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1300: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1301: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1302: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
1303: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
1304: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
1305: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
1306: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
1307: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
1308: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
1309: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
1310: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
1311: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
1312: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
1313: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
1314: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
1315: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
1316: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
1317: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
1318:
1319: };
1320: uchar tab23b[16] =
1321: {
1322: 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
1323: 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff,
1324: };
1325: uchar tab32b[256] =
1326: {
1327: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1328: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1329: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1330: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1331: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
1332: 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
1333: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
1334: 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
1335: 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
1336: 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
1337: 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
1338: 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
1339: 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6,
1340: 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6,
1341: 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7,
1342: 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7,
1343: 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8,
1344: 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8,
1345: 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9,
1346: 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9,
1347: 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa,
1348: 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa,
1349: 0xb, 0xb, 0xb, 0xb, 0xb, 0xb, 0xb, 0xb,
1350: 0xb, 0xb, 0xb, 0xb, 0xb, 0xb, 0xb, 0xb,
1351: 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc,
1352: 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc,
1353: 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd,
1354: 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd,
1355: 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe,
1356: 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe,
1357: 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
1358: 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
1359: };
1360: uchar tab03b[2] =
1361: {
1362: 0x00, 0xff,
1363: };
1364: uchar tab30b[256] =
1365: {
1366: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1367: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1368: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1369: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1370: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1371: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1372: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1373: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1374: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1375: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1376: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1377: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1378: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1379: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1380: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1381: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1382: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1383: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1384: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1385: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1386: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1387: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1388: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1389: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1390: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1391: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1392: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1393: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1394: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1395: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1396: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1397: 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1398: };
1399: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.