/* DO NOT EDIT! Generated by generate_tables.c. */

#include "tables.h"

const uint8_t reverse8_tbl[UINT8_MAX + 1] = {
/* 0x00 */ 0x00,
/* 0x01 */ 0x80,
/* 0x02 */ 0x40,
/* 0x03 */ 0xc0,
/* 0x04 */ 0x20,
/* 0x05 */ 0xa0,
/* 0x06 */ 0x60,
/* 0x07 */ 0xe0,
/* 0x08 */ 0x10,
/* 0x09 */ 0x90,
/* 0x0a */ 0x50,
/* 0x0b */ 0xd0,
/* 0x0c */ 0x30,
/* 0x0d */ 0xb0,
/* 0x0e */ 0x70,
/* 0x0f */ 0xf0,
/* 0x10 */ 0x08,
/* 0x11 */ 0x88,
/* 0x12 */ 0x48,
/* 0x13 */ 0xc8,
/* 0x14 */ 0x28,
/* 0x15 */ 0xa8,
/* 0x16 */ 0x68,
/* 0x17 */ 0xe8,
/* 0x18 */ 0x18,
/* 0x19 */ 0x98,
/* 0x1a */ 0x58,
/* 0x1b */ 0xd8,
/* 0x1c */ 0x38,
/* 0x1d */ 0xb8,
/* 0x1e */ 0x78,
/* 0x1f */ 0xf8,
/* 0x20 */ 0x04,
/* 0x21 */ 0x84,
/* 0x22 */ 0x44,
/* 0x23 */ 0xc4,
/* 0x24 */ 0x24,
/* 0x25 */ 0xa4,
/* 0x26 */ 0x64,
/* 0x27 */ 0xe4,
/* 0x28 */ 0x14,
/* 0x29 */ 0x94,
/* 0x2a */ 0x54,
/* 0x2b */ 0xd4,
/* 0x2c */ 0x34,
/* 0x2d */ 0xb4,
/* 0x2e */ 0x74,
/* 0x2f */ 0xf4,
/* 0x30 */ 0x0c,
/* 0x31 */ 0x8c,
/* 0x32 */ 0x4c,
/* 0x33 */ 0xcc,
/* 0x34 */ 0x2c,
/* 0x35 */ 0xac,
/* 0x36 */ 0x6c,
/* 0x37 */ 0xec,
/* 0x38 */ 0x1c,
/* 0x39 */ 0x9c,
/* 0x3a */ 0x5c,
/* 0x3b */ 0xdc,
/* 0x3c */ 0x3c,
/* 0x3d */ 0xbc,
/* 0x3e */ 0x7c,
/* 0x3f */ 0xfc,
/* 0x40 */ 0x02,
/* 0x41 */ 0x82,
/* 0x42 */ 0x42,
/* 0x43 */ 0xc2,
/* 0x44 */ 0x22,
/* 0x45 */ 0xa2,
/* 0x46 */ 0x62,
/* 0x47 */ 0xe2,
/* 0x48 */ 0x12,
/* 0x49 */ 0x92,
/* 0x4a */ 0x52,
/* 0x4b */ 0xd2,
/* 0x4c */ 0x32,
/* 0x4d */ 0xb2,
/* 0x4e */ 0x72,
/* 0x4f */ 0xf2,
/* 0x50 */ 0x0a,
/* 0x51 */ 0x8a,
/* 0x52 */ 0x4a,
/* 0x53 */ 0xca,
/* 0x54 */ 0x2a,
/* 0x55 */ 0xaa,
/* 0x56 */ 0x6a,
/* 0x57 */ 0xea,
/* 0x58 */ 0x1a,
/* 0x59 */ 0x9a,
/* 0x5a */ 0x5a,
/* 0x5b */ 0xda,
/* 0x5c */ 0x3a,
/* 0x5d */ 0xba,
/* 0x5e */ 0x7a,
/* 0x5f */ 0xfa,
/* 0x60 */ 0x06,
/* 0x61 */ 0x86,
/* 0x62 */ 0x46,
/* 0x63 */ 0xc6,
/* 0x64 */ 0x26,
/* 0x65 */ 0xa6,
/* 0x66 */ 0x66,
/* 0x67 */ 0xe6,
/* 0x68 */ 0x16,
/* 0x69 */ 0x96,
/* 0x6a */ 0x56,
/* 0x6b */ 0xd6,
/* 0x6c */ 0x36,
/* 0x6d */ 0xb6,
/* 0x6e */ 0x76,
/* 0x6f */ 0xf6,
/* 0x70 */ 0x0e,
/* 0x71 */ 0x8e,
/* 0x72 */ 0x4e,
/* 0x73 */ 0xce,
/* 0x74 */ 0x2e,
/* 0x75 */ 0xae,
/* 0x76 */ 0x6e,
/* 0x77 */ 0xee,
/* 0x78 */ 0x1e,
/* 0x79 */ 0x9e,
/* 0x7a */ 0x5e,
/* 0x7b */ 0xde,
/* 0x7c */ 0x3e,
/* 0x7d */ 0xbe,
/* 0x7e */ 0x7e,
/* 0x7f */ 0xfe,
/* 0x80 */ 0x01,
/* 0x81 */ 0x81,
/* 0x82 */ 0x41,
/* 0x83 */ 0xc1,
/* 0x84 */ 0x21,
/* 0x85 */ 0xa1,
/* 0x86 */ 0x61,
/* 0x87 */ 0xe1,
/* 0x88 */ 0x11,
/* 0x89 */ 0x91,
/* 0x8a */ 0x51,
/* 0x8b */ 0xd1,
/* 0x8c */ 0x31,
/* 0x8d */ 0xb1,
/* 0x8e */ 0x71,
/* 0x8f */ 0xf1,
/* 0x90 */ 0x09,
/* 0x91 */ 0x89,
/* 0x92 */ 0x49,
/* 0x93 */ 0xc9,
/* 0x94 */ 0x29,
/* 0x95 */ 0xa9,
/* 0x96 */ 0x69,
/* 0x97 */ 0xe9,
/* 0x98 */ 0x19,
/* 0x99 */ 0x99,
/* 0x9a */ 0x59,
/* 0x9b */ 0xd9,
/* 0x9c */ 0x39,
/* 0x9d */ 0xb9,
/* 0x9e */ 0x79,
/* 0x9f */ 0xf9,
/* 0xa0 */ 0x05,
/* 0xa1 */ 0x85,
/* 0xa2 */ 0x45,
/* 0xa3 */ 0xc5,
/* 0xa4 */ 0x25,
/* 0xa5 */ 0xa5,
/* 0xa6 */ 0x65,
/* 0xa7 */ 0xe5,
/* 0xa8 */ 0x15,
/* 0xa9 */ 0x95,
/* 0xaa */ 0x55,
/* 0xab */ 0xd5,
/* 0xac */ 0x35,
/* 0xad */ 0xb5,
/* 0xae */ 0x75,
/* 0xaf */ 0xf5,
/* 0xb0 */ 0x0d,
/* 0xb1 */ 0x8d,
/* 0xb2 */ 0x4d,
/* 0xb3 */ 0xcd,
/* 0xb4 */ 0x2d,
/* 0xb5 */ 0xad,
/* 0xb6 */ 0x6d,
/* 0xb7 */ 0xed,
/* 0xb8 */ 0x1d,
/* 0xb9 */ 0x9d,
/* 0xba */ 0x5d,
/* 0xbb */ 0xdd,
/* 0xbc */ 0x3d,
/* 0xbd */ 0xbd,
/* 0xbe */ 0x7d,
/* 0xbf */ 0xfd,
/* 0xc0 */ 0x03,
/* 0xc1 */ 0x83,
/* 0xc2 */ 0x43,
/* 0xc3 */ 0xc3,
/* 0xc4 */ 0x23,
/* 0xc5 */ 0xa3,
/* 0xc6 */ 0x63,
/* 0xc7 */ 0xe3,
/* 0xc8 */ 0x13,
/* 0xc9 */ 0x93,
/* 0xca */ 0x53,
/* 0xcb */ 0xd3,
/* 0xcc */ 0x33,
/* 0xcd */ 0xb3,
/* 0xce */ 0x73,
/* 0xcf */ 0xf3,
/* 0xd0 */ 0x0b,
/* 0xd1 */ 0x8b,
/* 0xd2 */ 0x4b,
/* 0xd3 */ 0xcb,
/* 0xd4 */ 0x2b,
/* 0xd5 */ 0xab,
/* 0xd6 */ 0x6b,
/* 0xd7 */ 0xeb,
/* 0xd8 */ 0x1b,
/* 0xd9 */ 0x9b,
/* 0xda */ 0x5b,
/* 0xdb */ 0xdb,
/* 0xdc */ 0x3b,
/* 0xdd */ 0xbb,
/* 0xde */ 0x7b,
/* 0xdf */ 0xfb,
/* 0xe0 */ 0x07,
/* 0xe1 */ 0x87,
/* 0xe2 */ 0x47,
/* 0xe3 */ 0xc7,
/* 0xe4 */ 0x27,
/* 0xe5 */ 0xa7,
/* 0xe6 */ 0x67,
/* 0xe7 */ 0xe7,
/* 0xe8 */ 0x17,
/* 0xe9 */ 0x97,
/* 0xea */ 0x57,
/* 0xeb */ 0xd7,
/* 0xec */ 0x37,
/* 0xed */ 0xb7,
/* 0xee */ 0x77,
/* 0xef */ 0xf7,
/* 0xf0 */ 0x0f,
/* 0xf1 */ 0x8f,
/* 0xf2 */ 0x4f,
/* 0xf3 */ 0xcf,
/* 0xf4 */ 0x2f,
/* 0xf5 */ 0xaf,
/* 0xf6 */ 0x6f,
/* 0xf7 */ 0xef,
/* 0xf8 */ 0x1f,
/* 0xf9 */ 0x9f,
/* 0xfa */ 0x5f,
/* 0xfb */ 0xdf,
/* 0xfc */ 0x3f,
/* 0xfd */ 0xbf,
/* 0xfe */ 0x7f,
/* 0xff */ 0xff,
};

const uint8_t fixed_litlen_lengths[288] = {
/*   0 */ 8,
/*   1 */ 8,
/*   2 */ 8,
/*   3 */ 8,
/*   4 */ 8,
/*   5 */ 8,
/*   6 */ 8,
/*   7 */ 8,
/*   8 */ 8,
/*   9 */ 8,
/*  10 */ 8,
/*  11 */ 8,
/*  12 */ 8,
/*  13 */ 8,
/*  14 */ 8,
/*  15 */ 8,
/*  16 */ 8,
/*  17 */ 8,
/*  18 */ 8,
/*  19 */ 8,
/*  20 */ 8,
/*  21 */ 8,
/*  22 */ 8,
/*  23 */ 8,
/*  24 */ 8,
/*  25 */ 8,
/*  26 */ 8,
/*  27 */ 8,
/*  28 */ 8,
/*  29 */ 8,
/*  30 */ 8,
/*  31 */ 8,
/*  32 */ 8,
/*  33 */ 8,
/*  34 */ 8,
/*  35 */ 8,
/*  36 */ 8,
/*  37 */ 8,
/*  38 */ 8,
/*  39 */ 8,
/*  40 */ 8,
/*  41 */ 8,
/*  42 */ 8,
/*  43 */ 8,
/*  44 */ 8,
/*  45 */ 8,
/*  46 */ 8,
/*  47 */ 8,
/*  48 */ 8,
/*  49 */ 8,
/*  50 */ 8,
/*  51 */ 8,
/*  52 */ 8,
/*  53 */ 8,
/*  54 */ 8,
/*  55 */ 8,
/*  56 */ 8,
/*  57 */ 8,
/*  58 */ 8,
/*  59 */ 8,
/*  60 */ 8,
/*  61 */ 8,
/*  62 */ 8,
/*  63 */ 8,
/*  64 */ 8,
/*  65 */ 8,
/*  66 */ 8,
/*  67 */ 8,
/*  68 */ 8,
/*  69 */ 8,
/*  70 */ 8,
/*  71 */ 8,
/*  72 */ 8,
/*  73 */ 8,
/*  74 */ 8,
/*  75 */ 8,
/*  76 */ 8,
/*  77 */ 8,
/*  78 */ 8,
/*  79 */ 8,
/*  80 */ 8,
/*  81 */ 8,
/*  82 */ 8,
/*  83 */ 8,
/*  84 */ 8,
/*  85 */ 8,
/*  86 */ 8,
/*  87 */ 8,
/*  88 */ 8,
/*  89 */ 8,
/*  90 */ 8,
/*  91 */ 8,
/*  92 */ 8,
/*  93 */ 8,
/*  94 */ 8,
/*  95 */ 8,
/*  96 */ 8,
/*  97 */ 8,
/*  98 */ 8,
/*  99 */ 8,
/* 100 */ 8,
/* 101 */ 8,
/* 102 */ 8,
/* 103 */ 8,
/* 104 */ 8,
/* 105 */ 8,
/* 106 */ 8,
/* 107 */ 8,
/* 108 */ 8,
/* 109 */ 8,
/* 110 */ 8,
/* 111 */ 8,
/* 112 */ 8,
/* 113 */ 8,
/* 114 */ 8,
/* 115 */ 8,
/* 116 */ 8,
/* 117 */ 8,
/* 118 */ 8,
/* 119 */ 8,
/* 120 */ 8,
/* 121 */ 8,
/* 122 */ 8,
/* 123 */ 8,
/* 124 */ 8,
/* 125 */ 8,
/* 126 */ 8,
/* 127 */ 8,
/* 128 */ 8,
/* 129 */ 8,
/* 130 */ 8,
/* 131 */ 8,
/* 132 */ 8,
/* 133 */ 8,
/* 134 */ 8,
/* 135 */ 8,
/* 136 */ 8,
/* 137 */ 8,
/* 138 */ 8,
/* 139 */ 8,
/* 140 */ 8,
/* 141 */ 8,
/* 142 */ 8,
/* 143 */ 8,
/* 144 */ 9,
/* 145 */ 9,
/* 146 */ 9,
/* 147 */ 9,
/* 148 */ 9,
/* 149 */ 9,
/* 150 */ 9,
/* 151 */ 9,
/* 152 */ 9,
/* 153 */ 9,
/* 154 */ 9,
/* 155 */ 9,
/* 156 */ 9,
/* 157 */ 9,
/* 158 */ 9,
/* 159 */ 9,
/* 160 */ 9,
/* 161 */ 9,
/* 162 */ 9,
/* 163 */ 9,
/* 164 */ 9,
/* 165 */ 9,
/* 166 */ 9,
/* 167 */ 9,
/* 168 */ 9,
/* 169 */ 9,
/* 170 */ 9,
/* 171 */ 9,
/* 172 */ 9,
/* 173 */ 9,
/* 174 */ 9,
/* 175 */ 9,
/* 176 */ 9,
/* 177 */ 9,
/* 178 */ 9,
/* 179 */ 9,
/* 180 */ 9,
/* 181 */ 9,
/* 182 */ 9,
/* 183 */ 9,
/* 184 */ 9,
/* 185 */ 9,
/* 186 */ 9,
/* 187 */ 9,
/* 188 */ 9,
/* 189 */ 9,
/* 190 */ 9,
/* 191 */ 9,
/* 192 */ 9,
/* 193 */ 9,
/* 194 */ 9,
/* 195 */ 9,
/* 196 */ 9,
/* 197 */ 9,
/* 198 */ 9,
/* 199 */ 9,
/* 200 */ 9,
/* 201 */ 9,
/* 202 */ 9,
/* 203 */ 9,
/* 204 */ 9,
/* 205 */ 9,
/* 206 */ 9,
/* 207 */ 9,
/* 208 */ 9,
/* 209 */ 9,
/* 210 */ 9,
/* 211 */ 9,
/* 212 */ 9,
/* 213 */ 9,
/* 214 */ 9,
/* 215 */ 9,
/* 216 */ 9,
/* 217 */ 9,
/* 218 */ 9,
/* 219 */ 9,
/* 220 */ 9,
/* 221 */ 9,
/* 222 */ 9,
/* 223 */ 9,
/* 224 */ 9,
/* 225 */ 9,
/* 226 */ 9,
/* 227 */ 9,
/* 228 */ 9,
/* 229 */ 9,
/* 230 */ 9,
/* 231 */ 9,
/* 232 */ 9,
/* 233 */ 9,
/* 234 */ 9,
/* 235 */ 9,
/* 236 */ 9,
/* 237 */ 9,
/* 238 */ 9,
/* 239 */ 9,
/* 240 */ 9,
/* 241 */ 9,
/* 242 */ 9,
/* 243 */ 9,
/* 244 */ 9,
/* 245 */ 9,
/* 246 */ 9,
/* 247 */ 9,
/* 248 */ 9,
/* 249 */ 9,
/* 250 */ 9,
/* 251 */ 9,
/* 252 */ 9,
/* 253 */ 9,
/* 254 */ 9,
/* 255 */ 9,
/* 256 */ 7,
/* 257 */ 7,
/* 258 */ 7,
/* 259 */ 7,
/* 260 */ 7,
/* 261 */ 7,
/* 262 */ 7,
/* 263 */ 7,
/* 264 */ 7,
/* 265 */ 7,
/* 266 */ 7,
/* 267 */ 7,
/* 268 */ 7,
/* 269 */ 7,
/* 270 */ 7,
/* 271 */ 7,
/* 272 */ 7,
/* 273 */ 7,
/* 274 */ 7,
/* 275 */ 7,
/* 276 */ 7,
/* 277 */ 7,
/* 278 */ 7,
/* 279 */ 7,
/* 280 */ 8,
/* 281 */ 8,
/* 282 */ 8,
/* 283 */ 8,
/* 284 */ 8,
/* 285 */ 8,
/* 286 */ 8,
/* 287 */ 8,
};

const uint8_t fixed_dist_lengths[32] = {
/*  0 */ 5,
/*  1 */ 5,
/*  2 */ 5,
/*  3 */ 5,
/*  4 */ 5,
/*  5 */ 5,
/*  6 */ 5,
/*  7 */ 5,
/*  8 */ 5,
/*  9 */ 5,
/* 10 */ 5,
/* 11 */ 5,
/* 12 */ 5,
/* 13 */ 5,
/* 14 */ 5,
/* 15 */ 5,
/* 16 */ 5,
/* 17 */ 5,
/* 18 */ 5,
/* 19 */ 5,
/* 20 */ 5,
/* 21 */ 5,
/* 22 */ 5,
/* 23 */ 5,
/* 24 */ 5,
/* 25 */ 5,
/* 26 */ 5,
/* 27 */ 5,
/* 28 */ 5,
/* 29 */ 5,
/* 30 */ 5,
/* 31 */ 5,
};

const struct litlen_tbl_t litlen_tbl[29] = {
/* 257 */ { 3, 0 },
/* 258 */ { 4, 0 },
/* 259 */ { 5, 0 },
/* 260 */ { 6, 0 },
/* 261 */ { 7, 0 },
/* 262 */ { 8, 0 },
/* 263 */ { 9, 0 },
/* 264 */ { 10, 0 },
/* 265 */ { 11, 1 },
/* 266 */ { 13, 1 },
/* 267 */ { 15, 1 },
/* 268 */ { 17, 1 },
/* 269 */ { 19, 2 },
/* 270 */ { 23, 2 },
/* 271 */ { 27, 2 },
/* 272 */ { 31, 2 },
/* 273 */ { 35, 3 },
/* 274 */ { 43, 3 },
/* 275 */ { 51, 3 },
/* 276 */ { 59, 3 },
/* 277 */ { 67, 4 },
/* 278 */ { 83, 4 },
/* 279 */ { 99, 4 },
/* 280 */ { 115, 4 },
/* 281 */ { 131, 5 },
/* 282 */ { 163, 5 },
/* 283 */ { 195, 5 },
/* 284 */ { 227, 5 },
/* 285 */ { 258, 0 },
};

const uint16_t len2litlen[259] = {
/*   0 */ 0xffff,
/*   1 */ 0xffff,
/*   2 */ 0xffff,
/*   3 */ 257,
/*   4 */ 258,
/*   5 */ 259,
/*   6 */ 260,
/*   7 */ 261,
/*   8 */ 262,
/*   9 */ 263,
/*  10 */ 264,
/*  11 */ 265,
/*  12 */ 265,
/*  13 */ 266,
/*  14 */ 266,
/*  15 */ 267,
/*  16 */ 267,
/*  17 */ 268,
/*  18 */ 268,
/*  19 */ 269,
/*  20 */ 269,
/*  21 */ 269,
/*  22 */ 269,
/*  23 */ 270,
/*  24 */ 270,
/*  25 */ 270,
/*  26 */ 270,
/*  27 */ 271,
/*  28 */ 271,
/*  29 */ 271,
/*  30 */ 271,
/*  31 */ 272,
/*  32 */ 272,
/*  33 */ 272,
/*  34 */ 272,
/*  35 */ 273,
/*  36 */ 273,
/*  37 */ 273,
/*  38 */ 273,
/*  39 */ 273,
/*  40 */ 273,
/*  41 */ 273,
/*  42 */ 273,
/*  43 */ 274,
/*  44 */ 274,
/*  45 */ 274,
/*  46 */ 274,
/*  47 */ 274,
/*  48 */ 274,
/*  49 */ 274,
/*  50 */ 274,
/*  51 */ 275,
/*  52 */ 275,
/*  53 */ 275,
/*  54 */ 275,
/*  55 */ 275,
/*  56 */ 275,
/*  57 */ 275,
/*  58 */ 275,
/*  59 */ 276,
/*  60 */ 276,
/*  61 */ 276,
/*  62 */ 276,
/*  63 */ 276,
/*  64 */ 276,
/*  65 */ 276,
/*  66 */ 276,
/*  67 */ 277,
/*  68 */ 277,
/*  69 */ 277,
/*  70 */ 277,
/*  71 */ 277,
/*  72 */ 277,
/*  73 */ 277,
/*  74 */ 277,
/*  75 */ 277,
/*  76 */ 277,
/*  77 */ 277,
/*  78 */ 277,
/*  79 */ 277,
/*  80 */ 277,
/*  81 */ 277,
/*  82 */ 277,
/*  83 */ 278,
/*  84 */ 278,
/*  85 */ 278,
/*  86 */ 278,
/*  87 */ 278,
/*  88 */ 278,
/*  89 */ 278,
/*  90 */ 278,
/*  91 */ 278,
/*  92 */ 278,
/*  93 */ 278,
/*  94 */ 278,
/*  95 */ 278,
/*  96 */ 278,
/*  97 */ 278,
/*  98 */ 278,
/*  99 */ 279,
/* 100 */ 279,
/* 101 */ 279,
/* 102 */ 279,
/* 103 */ 279,
/* 104 */ 279,
/* 105 */ 279,
/* 106 */ 279,
/* 107 */ 279,
/* 108 */ 279,
/* 109 */ 279,
/* 110 */ 279,
/* 111 */ 279,
/* 112 */ 279,
/* 113 */ 279,
/* 114 */ 279,
/* 115 */ 280,
/* 116 */ 280,
/* 117 */ 280,
/* 118 */ 280,
/* 119 */ 280,
/* 120 */ 280,
/* 121 */ 280,
/* 122 */ 280,
/* 123 */ 280,
/* 124 */ 280,
/* 125 */ 280,
/* 126 */ 280,
/* 127 */ 280,
/* 128 */ 280,
/* 129 */ 280,
/* 130 */ 280,
/* 131 */ 281,
/* 132 */ 281,
/* 133 */ 281,
/* 134 */ 281,
/* 135 */ 281,
/* 136 */ 281,
/* 137 */ 281,
/* 138 */ 281,
/* 139 */ 281,
/* 140 */ 281,
/* 141 */ 281,
/* 142 */ 281,
/* 143 */ 281,
/* 144 */ 281,
/* 145 */ 281,
/* 146 */ 281,
/* 147 */ 281,
/* 148 */ 281,
/* 149 */ 281,
/* 150 */ 281,
/* 151 */ 281,
/* 152 */ 281,
/* 153 */ 281,
/* 154 */ 281,
/* 155 */ 281,
/* 156 */ 281,
/* 157 */ 281,
/* 158 */ 281,
/* 159 */ 281,
/* 160 */ 281,
/* 161 */ 281,
/* 162 */ 281,
/* 163 */ 282,
/* 164 */ 282,
/* 165 */ 282,
/* 166 */ 282,
/* 167 */ 282,
/* 168 */ 282,
/* 169 */ 282,
/* 170 */ 282,
/* 171 */ 282,
/* 172 */ 282,
/* 173 */ 282,
/* 174 */ 282,
/* 175 */ 282,
/* 176 */ 282,
/* 177 */ 282,
/* 178 */ 282,
/* 179 */ 282,
/* 180 */ 282,
/* 181 */ 282,
/* 182 */ 282,
/* 183 */ 282,
/* 184 */ 282,
/* 185 */ 282,
/* 186 */ 282,
/* 187 */ 282,
/* 188 */ 282,
/* 189 */ 282,
/* 190 */ 282,
/* 191 */ 282,
/* 192 */ 282,
/* 193 */ 282,
/* 194 */ 282,
/* 195 */ 283,
/* 196 */ 283,
/* 197 */ 283,
/* 198 */ 283,
/* 199 */ 283,
/* 200 */ 283,
/* 201 */ 283,
/* 202 */ 283,
/* 203 */ 283,
/* 204 */ 283,
/* 205 */ 283,
/* 206 */ 283,
/* 207 */ 283,
/* 208 */ 283,
/* 209 */ 283,
/* 210 */ 283,
/* 211 */ 283,
/* 212 */ 283,
/* 213 */ 283,
/* 214 */ 283,
/* 215 */ 283,
/* 216 */ 283,
/* 217 */ 283,
/* 218 */ 283,
/* 219 */ 283,
/* 220 */ 283,
/* 221 */ 283,
/* 222 */ 283,
/* 223 */ 283,
/* 224 */ 283,
/* 225 */ 283,
/* 226 */ 283,
/* 227 */ 284,
/* 228 */ 284,
/* 229 */ 284,
/* 230 */ 284,
/* 231 */ 284,
/* 232 */ 284,
/* 233 */ 284,
/* 234 */ 284,
/* 235 */ 284,
/* 236 */ 284,
/* 237 */ 284,
/* 238 */ 284,
/* 239 */ 284,
/* 240 */ 284,
/* 241 */ 284,
/* 242 */ 284,
/* 243 */ 284,
/* 244 */ 284,
/* 245 */ 284,
/* 246 */ 284,
/* 247 */ 284,
/* 248 */ 284,
/* 249 */ 284,
/* 250 */ 284,
/* 251 */ 284,
/* 252 */ 284,
/* 253 */ 284,
/* 254 */ 284,
/* 255 */ 284,
/* 256 */ 284,
/* 257 */ 284,
/* 258 */ 285,
};

const struct dist_tbl_t dist_tbl[30] = {
/*  0 */ { 1, 0 },
/*  1 */ { 2, 0 },
/*  2 */ { 3, 0 },
/*  3 */ { 4, 0 },
/*  4 */ { 5, 1 },
/*  5 */ { 7, 1 },
/*  6 */ { 9, 2 },
/*  7 */ { 13, 2 },
/*  8 */ { 17, 3 },
/*  9 */ { 25, 3 },
/* 10 */ { 33, 4 },
/* 11 */ { 49, 4 },
/* 12 */ { 65, 5 },
/* 13 */ { 97, 5 },
/* 14 */ { 129, 6 },
/* 15 */ { 193, 6 },
/* 16 */ { 257, 7 },
/* 17 */ { 385, 7 },
/* 18 */ { 513, 8 },
/* 19 */ { 769, 8 },
/* 20 */ { 1025, 9 },
/* 21 */ { 1537, 9 },
/* 22 */ { 2049, 10 },
/* 23 */ { 3073, 10 },
/* 24 */ { 4097, 11 },
/* 25 */ { 6145, 11 },
/* 26 */ { 8193, 12 },
/* 27 */ { 12289, 12 },
/* 28 */ { 16385, 13 },
/* 29 */ { 24577, 13 },
};

const uint8_t distance2dist_lo[256] = {
   0, /*   1 */
   1, /*   2 */
   2, /*   3 */
   3, /*   4 */
   4, /*   5 */
   4, /*   6 */
   5, /*   7 */
   5, /*   8 */
   6, /*   9 */
   6, /*  10 */
   6, /*  11 */
   6, /*  12 */
   7, /*  13 */
   7, /*  14 */
   7, /*  15 */
   7, /*  16 */
   8, /*  17 */
   8, /*  18 */
   8, /*  19 */
   8, /*  20 */
   8, /*  21 */
   8, /*  22 */
   8, /*  23 */
   8, /*  24 */
   9, /*  25 */
   9, /*  26 */
   9, /*  27 */
   9, /*  28 */
   9, /*  29 */
   9, /*  30 */
   9, /*  31 */
   9, /*  32 */
  10, /*  33 */
  10, /*  34 */
  10, /*  35 */
  10, /*  36 */
  10, /*  37 */
  10, /*  38 */
  10, /*  39 */
  10, /*  40 */
  10, /*  41 */
  10, /*  42 */
  10, /*  43 */
  10, /*  44 */
  10, /*  45 */
  10, /*  46 */
  10, /*  47 */
  10, /*  48 */
  11, /*  49 */
  11, /*  50 */
  11, /*  51 */
  11, /*  52 */
  11, /*  53 */
  11, /*  54 */
  11, /*  55 */
  11, /*  56 */
  11, /*  57 */
  11, /*  58 */
  11, /*  59 */
  11, /*  60 */
  11, /*  61 */
  11, /*  62 */
  11, /*  63 */
  11, /*  64 */
  12, /*  65 */
  12, /*  66 */
  12, /*  67 */
  12, /*  68 */
  12, /*  69 */
  12, /*  70 */
  12, /*  71 */
  12, /*  72 */
  12, /*  73 */
  12, /*  74 */
  12, /*  75 */
  12, /*  76 */
  12, /*  77 */
  12, /*  78 */
  12, /*  79 */
  12, /*  80 */
  12, /*  81 */
  12, /*  82 */
  12, /*  83 */
  12, /*  84 */
  12, /*  85 */
  12, /*  86 */
  12, /*  87 */
  12, /*  88 */
  12, /*  89 */
  12, /*  90 */
  12, /*  91 */
  12, /*  92 */
  12, /*  93 */
  12, /*  94 */
  12, /*  95 */
  12, /*  96 */
  13, /*  97 */
  13, /*  98 */
  13, /*  99 */
  13, /* 100 */
  13, /* 101 */
  13, /* 102 */
  13, /* 103 */
  13, /* 104 */
  13, /* 105 */
  13, /* 106 */
  13, /* 107 */
  13, /* 108 */
  13, /* 109 */
  13, /* 110 */
  13, /* 111 */
  13, /* 112 */
  13, /* 113 */
  13, /* 114 */
  13, /* 115 */
  13, /* 116 */
  13, /* 117 */
  13, /* 118 */
  13, /* 119 */
  13, /* 120 */
  13, /* 121 */
  13, /* 122 */
  13, /* 123 */
  13, /* 124 */
  13, /* 125 */
  13, /* 126 */
  13, /* 127 */
  13, /* 128 */
  14, /* 129 */
  14, /* 130 */
  14, /* 131 */
  14, /* 132 */
  14, /* 133 */
  14, /* 134 */
  14, /* 135 */
  14, /* 136 */
  14, /* 137 */
  14, /* 138 */
  14, /* 139 */
  14, /* 140 */
  14, /* 141 */
  14, /* 142 */
  14, /* 143 */
  14, /* 144 */
  14, /* 145 */
  14, /* 146 */
  14, /* 147 */
  14, /* 148 */
  14, /* 149 */
  14, /* 150 */
  14, /* 151 */
  14, /* 152 */
  14, /* 153 */
  14, /* 154 */
  14, /* 155 */
  14, /* 156 */
  14, /* 157 */
  14, /* 158 */
  14, /* 159 */
  14, /* 160 */
  14, /* 161 */
  14, /* 162 */
  14, /* 163 */
  14, /* 164 */
  14, /* 165 */
  14, /* 166 */
  14, /* 167 */
  14, /* 168 */
  14, /* 169 */
  14, /* 170 */
  14, /* 171 */
  14, /* 172 */
  14, /* 173 */
  14, /* 174 */
  14, /* 175 */
  14, /* 176 */
  14, /* 177 */
  14, /* 178 */
  14, /* 179 */
  14, /* 180 */
  14, /* 181 */
  14, /* 182 */
  14, /* 183 */
  14, /* 184 */
  14, /* 185 */
  14, /* 186 */
  14, /* 187 */
  14, /* 188 */
  14, /* 189 */
  14, /* 190 */
  14, /* 191 */
  14, /* 192 */
  15, /* 193 */
  15, /* 194 */
  15, /* 195 */
  15, /* 196 */
  15, /* 197 */
  15, /* 198 */
  15, /* 199 */
  15, /* 200 */
  15, /* 201 */
  15, /* 202 */
  15, /* 203 */
  15, /* 204 */
  15, /* 205 */
  15, /* 206 */
  15, /* 207 */
  15, /* 208 */
  15, /* 209 */
  15, /* 210 */
  15, /* 211 */
  15, /* 212 */
  15, /* 213 */
  15, /* 214 */
  15, /* 215 */
  15, /* 216 */
  15, /* 217 */
  15, /* 218 */
  15, /* 219 */
  15, /* 220 */
  15, /* 221 */
  15, /* 222 */
  15, /* 223 */
  15, /* 224 */
  15, /* 225 */
  15, /* 226 */
  15, /* 227 */
  15, /* 228 */
  15, /* 229 */
  15, /* 230 */
  15, /* 231 */
  15, /* 232 */
  15, /* 233 */
  15, /* 234 */
  15, /* 235 */
  15, /* 236 */
  15, /* 237 */
  15, /* 238 */
  15, /* 239 */
  15, /* 240 */
  15, /* 241 */
  15, /* 242 */
  15, /* 243 */
  15, /* 244 */
  15, /* 245 */
  15, /* 246 */
  15, /* 247 */
  15, /* 248 */
  15, /* 249 */
  15, /* 250 */
  15, /* 251 */
  15, /* 252 */
  15, /* 253 */
  15, /* 254 */
  15, /* 255 */
  15, /* 256 */
};

const uint8_t distance2dist_hi[256] = {
0xff, /* invalid */
0xff, /* invalid */
  16, /*   257-- */
  17, /*   385-- */
  18, /*   513-- */
  18, /*   641-- */
  19, /*   769-- */
  19, /*   897-- */
  20, /*  1025-- */
  20, /*  1153-- */
  20, /*  1281-- */
  20, /*  1409-- */
  21, /*  1537-- */
  21, /*  1665-- */
  21, /*  1793-- */
  21, /*  1921-- */
  22, /*  2049-- */
  22, /*  2177-- */
  22, /*  2305-- */
  22, /*  2433-- */
  22, /*  2561-- */
  22, /*  2689-- */
  22, /*  2817-- */
  22, /*  2945-- */
  23, /*  3073-- */
  23, /*  3201-- */
  23, /*  3329-- */
  23, /*  3457-- */
  23, /*  3585-- */
  23, /*  3713-- */
  23, /*  3841-- */
  23, /*  3969-- */
  24, /*  4097-- */
  24, /*  4225-- */
  24, /*  4353-- */
  24, /*  4481-- */
  24, /*  4609-- */
  24, /*  4737-- */
  24, /*  4865-- */
  24, /*  4993-- */
  24, /*  5121-- */
  24, /*  5249-- */
  24, /*  5377-- */
  24, /*  5505-- */
  24, /*  5633-- */
  24, /*  5761-- */
  24, /*  5889-- */
  24, /*  6017-- */
  25, /*  6145-- */
  25, /*  6273-- */
  25, /*  6401-- */
  25, /*  6529-- */
  25, /*  6657-- */
  25, /*  6785-- */
  25, /*  6913-- */
  25, /*  7041-- */
  25, /*  7169-- */
  25, /*  7297-- */
  25, /*  7425-- */
  25, /*  7553-- */
  25, /*  7681-- */
  25, /*  7809-- */
  25, /*  7937-- */
  25, /*  8065-- */
  26, /*  8193-- */
  26, /*  8321-- */
  26, /*  8449-- */
  26, /*  8577-- */
  26, /*  8705-- */
  26, /*  8833-- */
  26, /*  8961-- */
  26, /*  9089-- */
  26, /*  9217-- */
  26, /*  9345-- */
  26, /*  9473-- */
  26, /*  9601-- */
  26, /*  9729-- */
  26, /*  9857-- */
  26, /*  9985-- */
  26, /* 10113-- */
  26, /* 10241-- */
  26, /* 10369-- */
  26, /* 10497-- */
  26, /* 10625-- */
  26, /* 10753-- */
  26, /* 10881-- */
  26, /* 11009-- */
  26, /* 11137-- */
  26, /* 11265-- */
  26, /* 11393-- */
  26, /* 11521-- */
  26, /* 11649-- */
  26, /* 11777-- */
  26, /* 11905-- */
  26, /* 12033-- */
  26, /* 12161-- */
  27, /* 12289-- */
  27, /* 12417-- */
  27, /* 12545-- */
  27, /* 12673-- */
  27, /* 12801-- */
  27, /* 12929-- */
  27, /* 13057-- */
  27, /* 13185-- */
  27, /* 13313-- */
  27, /* 13441-- */
  27, /* 13569-- */
  27, /* 13697-- */
  27, /* 13825-- */
  27, /* 13953-- */
  27, /* 14081-- */
  27, /* 14209-- */
  27, /* 14337-- */
  27, /* 14465-- */
  27, /* 14593-- */
  27, /* 14721-- */
  27, /* 14849-- */
  27, /* 14977-- */
  27, /* 15105-- */
  27, /* 15233-- */
  27, /* 15361-- */
  27, /* 15489-- */
  27, /* 15617-- */
  27, /* 15745-- */
  27, /* 15873-- */
  27, /* 16001-- */
  27, /* 16129-- */
  27, /* 16257-- */
  28, /* 16385-- */
  28, /* 16513-- */
  28, /* 16641-- */
  28, /* 16769-- */
  28, /* 16897-- */
  28, /* 17025-- */
  28, /* 17153-- */
  28, /* 17281-- */
  28, /* 17409-- */
  28, /* 17537-- */
  28, /* 17665-- */
  28, /* 17793-- */
  28, /* 17921-- */
  28, /* 18049-- */
  28, /* 18177-- */
  28, /* 18305-- */
  28, /* 18433-- */
  28, /* 18561-- */
  28, /* 18689-- */
  28, /* 18817-- */
  28, /* 18945-- */
  28, /* 19073-- */
  28, /* 19201-- */
  28, /* 19329-- */
  28, /* 19457-- */
  28, /* 19585-- */
  28, /* 19713-- */
  28, /* 19841-- */
  28, /* 19969-- */
  28, /* 20097-- */
  28, /* 20225-- */
  28, /* 20353-- */
  28, /* 20481-- */
  28, /* 20609-- */
  28, /* 20737-- */
  28, /* 20865-- */
  28, /* 20993-- */
  28, /* 21121-- */
  28, /* 21249-- */
  28, /* 21377-- */
  28, /* 21505-- */
  28, /* 21633-- */
  28, /* 21761-- */
  28, /* 21889-- */
  28, /* 22017-- */
  28, /* 22145-- */
  28, /* 22273-- */
  28, /* 22401-- */
  28, /* 22529-- */
  28, /* 22657-- */
  28, /* 22785-- */
  28, /* 22913-- */
  28, /* 23041-- */
  28, /* 23169-- */
  28, /* 23297-- */
  28, /* 23425-- */
  28, /* 23553-- */
  28, /* 23681-- */
  28, /* 23809-- */
  28, /* 23937-- */
  28, /* 24065-- */
  28, /* 24193-- */
  28, /* 24321-- */
  28, /* 24449-- */
  29, /* 24577-- */
  29, /* 24705-- */
  29, /* 24833-- */
  29, /* 24961-- */
  29, /* 25089-- */
  29, /* 25217-- */
  29, /* 25345-- */
  29, /* 25473-- */
  29, /* 25601-- */
  29, /* 25729-- */
  29, /* 25857-- */
  29, /* 25985-- */
  29, /* 26113-- */
  29, /* 26241-- */
  29, /* 26369-- */
  29, /* 26497-- */
  29, /* 26625-- */
  29, /* 26753-- */
  29, /* 26881-- */
  29, /* 27009-- */
  29, /* 27137-- */
  29, /* 27265-- */
  29, /* 27393-- */
  29, /* 27521-- */
  29, /* 27649-- */
  29, /* 27777-- */
  29, /* 27905-- */
  29, /* 28033-- */
  29, /* 28161-- */
  29, /* 28289-- */
  29, /* 28417-- */
  29, /* 28545-- */
  29, /* 28673-- */
  29, /* 28801-- */
  29, /* 28929-- */
  29, /* 29057-- */
  29, /* 29185-- */
  29, /* 29313-- */
  29, /* 29441-- */
  29, /* 29569-- */
  29, /* 29697-- */
  29, /* 29825-- */
  29, /* 29953-- */
  29, /* 30081-- */
  29, /* 30209-- */
  29, /* 30337-- */
  29, /* 30465-- */
  29, /* 30593-- */
  29, /* 30721-- */
  29, /* 30849-- */
  29, /* 30977-- */
  29, /* 31105-- */
  29, /* 31233-- */
  29, /* 31361-- */
  29, /* 31489-- */
  29, /* 31617-- */
  29, /* 31745-- */
  29, /* 31873-- */
  29, /* 32001-- */
  29, /* 32129-- */
  29, /* 32257-- */
  29, /* 32385-- */
  29, /* 32513-- */
  29, /* 32641-- */
};

const uint32_t crc32_tbl[256] = {
0x00000000,
0x77073096,
0xee0e612c,
0x990951ba,
0x076dc419,
0x706af48f,
0xe963a535,
0x9e6495a3,
0x0edb8832,
0x79dcb8a4,
0xe0d5e91e,
0x97d2d988,
0x09b64c2b,
0x7eb17cbd,
0xe7b82d07,
0x90bf1d91,
0x1db71064,
0x6ab020f2,
0xf3b97148,
0x84be41de,
0x1adad47d,
0x6ddde4eb,
0xf4d4b551,
0x83d385c7,
0x136c9856,
0x646ba8c0,
0xfd62f97a,
0x8a65c9ec,
0x14015c4f,
0x63066cd9,
0xfa0f3d63,
0x8d080df5,
0x3b6e20c8,
0x4c69105e,
0xd56041e4,
0xa2677172,
0x3c03e4d1,
0x4b04d447,
0xd20d85fd,
0xa50ab56b,
0x35b5a8fa,
0x42b2986c,
0xdbbbc9d6,
0xacbcf940,
0x32d86ce3,
0x45df5c75,
0xdcd60dcf,
0xabd13d59,
0x26d930ac,
0x51de003a,
0xc8d75180,
0xbfd06116,
0x21b4f4b5,
0x56b3c423,
0xcfba9599,
0xb8bda50f,
0x2802b89e,
0x5f058808,
0xc60cd9b2,
0xb10be924,
0x2f6f7c87,
0x58684c11,
0xc1611dab,
0xb6662d3d,
0x76dc4190,
0x01db7106,
0x98d220bc,
0xefd5102a,
0x71b18589,
0x06b6b51f,
0x9fbfe4a5,
0xe8b8d433,
0x7807c9a2,
0x0f00f934,
0x9609a88e,
0xe10e9818,
0x7f6a0dbb,
0x086d3d2d,
0x91646c97,
0xe6635c01,
0x6b6b51f4,
0x1c6c6162,
0x856530d8,
0xf262004e,
0x6c0695ed,
0x1b01a57b,
0x8208f4c1,
0xf50fc457,
0x65b0d9c6,
0x12b7e950,
0x8bbeb8ea,
0xfcb9887c,
0x62dd1ddf,
0x15da2d49,
0x8cd37cf3,
0xfbd44c65,
0x4db26158,
0x3ab551ce,
0xa3bc0074,
0xd4bb30e2,
0x4adfa541,
0x3dd895d7,
0xa4d1c46d,
0xd3d6f4fb,
0x4369e96a,
0x346ed9fc,
0xad678846,
0xda60b8d0,
0x44042d73,
0x33031de5,
0xaa0a4c5f,
0xdd0d7cc9,
0x5005713c,
0x270241aa,
0xbe0b1010,
0xc90c2086,
0x5768b525,
0x206f85b3,
0xb966d409,
0xce61e49f,
0x5edef90e,
0x29d9c998,
0xb0d09822,
0xc7d7a8b4,
0x59b33d17,
0x2eb40d81,
0xb7bd5c3b,
0xc0ba6cad,
0xedb88320,
0x9abfb3b6,
0x03b6e20c,
0x74b1d29a,
0xead54739,
0x9dd277af,
0x04db2615,
0x73dc1683,
0xe3630b12,
0x94643b84,
0x0d6d6a3e,
0x7a6a5aa8,
0xe40ecf0b,
0x9309ff9d,
0x0a00ae27,
0x7d079eb1,
0xf00f9344,
0x8708a3d2,
0x1e01f268,
0x6906c2fe,
0xf762575d,
0x806567cb,
0x196c3671,
0x6e6b06e7,
0xfed41b76,
0x89d32be0,
0x10da7a5a,
0x67dd4acc,
0xf9b9df6f,
0x8ebeeff9,
0x17b7be43,
0x60b08ed5,
0xd6d6a3e8,
0xa1d1937e,
0x38d8c2c4,
0x4fdff252,
0xd1bb67f1,
0xa6bc5767,
0x3fb506dd,
0x48b2364b,
0xd80d2bda,
0xaf0a1b4c,
0x36034af6,
0x41047a60,
0xdf60efc3,
0xa867df55,
0x316e8eef,
0x4669be79,
0xcb61b38c,
0xbc66831a,
0x256fd2a0,
0x5268e236,
0xcc0c7795,
0xbb0b4703,
0x220216b9,
0x5505262f,
0xc5ba3bbe,
0xb2bd0b28,
0x2bb45a92,
0x5cb36a04,
0xc2d7ffa7,
0xb5d0cf31,
0x2cd99e8b,
0x5bdeae1d,
0x9b64c2b0,
0xec63f226,
0x756aa39c,
0x026d930a,
0x9c0906a9,
0xeb0e363f,
0x72076785,
0x05005713,
0x95bf4a82,
0xe2b87a14,
0x7bb12bae,
0x0cb61b38,
0x92d28e9b,
0xe5d5be0d,
0x7cdcefb7,
0x0bdbdf21,
0x86d3d2d4,
0xf1d4e242,
0x68ddb3f8,
0x1fda836e,
0x81be16cd,
0xf6b9265b,
0x6fb077e1,
0x18b74777,
0x88085ae6,
0xff0f6a70,
0x66063bca,
0x11010b5c,
0x8f659eff,
0xf862ae69,
0x616bffd3,
0x166ccf45,
0xa00ae278,
0xd70dd2ee,
0x4e048354,
0x3903b3c2,
0xa7672661,
0xd06016f7,
0x4969474d,
0x3e6e77db,
0xaed16a4a,
0xd9d65adc,
0x40df0b66,
0x37d83bf0,
0xa9bcae53,
0xdebb9ec5,
0x47b2cf7f,
0x30b5ffe9,
0xbdbdf21c,
0xcabac28a,
0x53b39330,
0x24b4a3a6,
0xbad03605,
0xcdd70693,
0x54de5729,
0x23d967bf,
0xb3667a2e,
0xc4614ab8,
0x5d681b02,
0x2a6f2b94,
0xb40bbe37,
0xc30c8ea1,
0x5a05df1b,
0x2d02ef8d,
};

