blob: bc7bf6d8b82cc9a05ec5eee1772b58eb448c15d2 [file] [log] [blame]
/* Copyright 2013 Google Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/* Lookup tables to map prefix codes to value ranges. This is used during
decoding of the block lengths, literal insertion lengths and copy lengths.
*/
#ifndef BROTLI_DEC_PREFIX_H_
#define BROTLI_DEC_PREFIX_H_
/* Represents the range of values belonging to a prefix code: */
/* [offset, offset + 2^nbits) */
struct PrefixCodeRange {
int16_t offset;
int8_t nbits;
};
static const struct PrefixCodeRange kBlockLengthPrefixCode[] = {
{ 1, 2}, { 5, 2}, { 9, 2}, { 13, 2},
{ 17, 3}, { 25, 3}, { 33, 3}, { 41, 3},
{ 49, 4}, { 65, 4}, { 81, 4}, { 97, 4},
{ 113, 5}, { 145, 5}, { 177, 5}, { 209, 5},
{ 241, 6}, { 305, 6}, { 369, 7}, { 497, 8},
{ 753, 9}, { 1265, 10}, {2289, 11}, {4337, 12},
{8433, 13}, {16625, 24}
};
static const uint16_t kCmdLut[704][4] = {
{ 0x0000, 0x0000, 0x0000, 0x0002 },
{ 0x0000, 0x0000, 0x0000, 0x0003 },
{ 0x0000, 0x0000, 0x0000, 0x0004 },
{ 0x0000, 0x0000, 0x0000, 0x0005 },
{ 0x0000, 0x0000, 0x0000, 0x0006 },
{ 0x0000, 0x0000, 0x0000, 0x0007 },
{ 0x0000, 0x0000, 0x0000, 0x0008 },
{ 0x0000, 0x0000, 0x0000, 0x0009 },
{ 0x0000, 0x0001, 0x0000, 0x0002 },
{ 0x0000, 0x0001, 0x0000, 0x0003 },
{ 0x0000, 0x0001, 0x0000, 0x0004 },
{ 0x0000, 0x0001, 0x0000, 0x0005 },
{ 0x0000, 0x0001, 0x0000, 0x0006 },
{ 0x0000, 0x0001, 0x0000, 0x0007 },
{ 0x0000, 0x0001, 0x0000, 0x0008 },
{ 0x0000, 0x0001, 0x0000, 0x0009 },
{ 0x0000, 0x0002, 0x0000, 0x0002 },
{ 0x0000, 0x0002, 0x0000, 0x0003 },
{ 0x0000, 0x0002, 0x0000, 0x0004 },
{ 0x0000, 0x0002, 0x0000, 0x0005 },
{ 0x0000, 0x0002, 0x0000, 0x0006 },
{ 0x0000, 0x0002, 0x0000, 0x0007 },
{ 0x0000, 0x0002, 0x0000, 0x0008 },
{ 0x0000, 0x0002, 0x0000, 0x0009 },
{ 0x0000, 0x0003, 0x0000, 0x0002 },
{ 0x0000, 0x0003, 0x0000, 0x0003 },
{ 0x0000, 0x0003, 0x0000, 0x0004 },
{ 0x0000, 0x0003, 0x0000, 0x0005 },
{ 0x0000, 0x0003, 0x0000, 0x0006 },
{ 0x0000, 0x0003, 0x0000, 0x0007 },
{ 0x0000, 0x0003, 0x0000, 0x0008 },
{ 0x0000, 0x0003, 0x0000, 0x0009 },
{ 0x0000, 0x0004, 0x0000, 0x0002 },
{ 0x0000, 0x0004, 0x0000, 0x0003 },
{ 0x0000, 0x0004, 0x0000, 0x0004 },
{ 0x0000, 0x0004, 0x0000, 0x0005 },
{ 0x0000, 0x0004, 0x0000, 0x0006 },
{ 0x0000, 0x0004, 0x0000, 0x0007 },
{ 0x0000, 0x0004, 0x0000, 0x0008 },
{ 0x0000, 0x0004, 0x0000, 0x0009 },
{ 0x0000, 0x0005, 0x0000, 0x0002 },
{ 0x0000, 0x0005, 0x0000, 0x0003 },
{ 0x0000, 0x0005, 0x0000, 0x0004 },
{ 0x0000, 0x0005, 0x0000, 0x0005 },
{ 0x0000, 0x0005, 0x0000, 0x0006 },
{ 0x0000, 0x0005, 0x0000, 0x0007 },
{ 0x0000, 0x0005, 0x0000, 0x0008 },
{ 0x0000, 0x0005, 0x0000, 0x0009 },
{ 0x0001, 0x0006, 0x0000, 0x0002 },
{ 0x0001, 0x0006, 0x0000, 0x0003 },
{ 0x0001, 0x0006, 0x0000, 0x0004 },
{ 0x0001, 0x0006, 0x0000, 0x0005 },
{ 0x0001, 0x0006, 0x0000, 0x0006 },
{ 0x0001, 0x0006, 0x0000, 0x0007 },
{ 0x0001, 0x0006, 0x0000, 0x0008 },
{ 0x0001, 0x0006, 0x0000, 0x0009 },
{ 0x0001, 0x0008, 0x0000, 0x0002 },
{ 0x0001, 0x0008, 0x0000, 0x0003 },
{ 0x0001, 0x0008, 0x0000, 0x0004 },
{ 0x0001, 0x0008, 0x0000, 0x0005 },
{ 0x0001, 0x0008, 0x0000, 0x0006 },
{ 0x0001, 0x0008, 0x0000, 0x0007 },
{ 0x0001, 0x0008, 0x0000, 0x0008 },
{ 0x0001, 0x0008, 0x0000, 0x0009 },
{ 0x0000, 0x0000, 0x0001, 0x000a },
{ 0x0000, 0x0000, 0x0001, 0x000c },
{ 0x0000, 0x0000, 0x0002, 0x000e },
{ 0x0000, 0x0000, 0x0002, 0x0012 },
{ 0x0000, 0x0000, 0x0003, 0x0016 },
{ 0x0000, 0x0000, 0x0003, 0x001e },
{ 0x0000, 0x0000, 0x0004, 0x0026 },
{ 0x0000, 0x0000, 0x0004, 0x0036 },
{ 0x0000, 0x0001, 0x0001, 0x000a },
{ 0x0000, 0x0001, 0x0001, 0x000c },
{ 0x0000, 0x0001, 0x0002, 0x000e },
{ 0x0000, 0x0001, 0x0002, 0x0012 },
{ 0x0000, 0x0001, 0x0003, 0x0016 },
{ 0x0000, 0x0001, 0x0003, 0x001e },
{ 0x0000, 0x0001, 0x0004, 0x0026 },
{ 0x0000, 0x0001, 0x0004, 0x0036 },
{ 0x0000, 0x0002, 0x0001, 0x000a },
{ 0x0000, 0x0002, 0x0001, 0x000c },
{ 0x0000, 0x0002, 0x0002, 0x000e },
{ 0x0000, 0x0002, 0x0002, 0x0012 },
{ 0x0000, 0x0002, 0x0003, 0x0016 },
{ 0x0000, 0x0002, 0x0003, 0x001e },
{ 0x0000, 0x0002, 0x0004, 0x0026 },
{ 0x0000, 0x0002, 0x0004, 0x0036 },
{ 0x0000, 0x0003, 0x0001, 0x000a },
{ 0x0000, 0x0003, 0x0001, 0x000c },
{ 0x0000, 0x0003, 0x0002, 0x000e },
{ 0x0000, 0x0003, 0x0002, 0x0012 },
{ 0x0000, 0x0003, 0x0003, 0x0016 },
{ 0x0000, 0x0003, 0x0003, 0x001e },
{ 0x0000, 0x0003, 0x0004, 0x0026 },
{ 0x0000, 0x0003, 0x0004, 0x0036 },
{ 0x0000, 0x0004, 0x0001, 0x000a },
{ 0x0000, 0x0004, 0x0001, 0x000c },
{ 0x0000, 0x0004, 0x0002, 0x000e },
{ 0x0000, 0x0004, 0x0002, 0x0012 },
{ 0x0000, 0x0004, 0x0003, 0x0016 },
{ 0x0000, 0x0004, 0x0003, 0x001e },
{ 0x0000, 0x0004, 0x0004, 0x0026 },
{ 0x0000, 0x0004, 0x0004, 0x0036 },
{ 0x0000, 0x0005, 0x0001, 0x000a },
{ 0x0000, 0x0005, 0x0001, 0x000c },
{ 0x0000, 0x0005, 0x0002, 0x000e },
{ 0x0000, 0x0005, 0x0002, 0x0012 },
{ 0x0000, 0x0005, 0x0003, 0x0016 },
{ 0x0000, 0x0005, 0x0003, 0x001e },
{ 0x0000, 0x0005, 0x0004, 0x0026 },
{ 0x0000, 0x0005, 0x0004, 0x0036 },
{ 0x0001, 0x0006, 0x0001, 0x000a },
{ 0x0001, 0x0006, 0x0001, 0x000c },
{ 0x0001, 0x0006, 0x0002, 0x000e },
{ 0x0001, 0x0006, 0x0002, 0x0012 },
{ 0x0001, 0x0006, 0x0003, 0x0016 },
{ 0x0001, 0x0006, 0x0003, 0x001e },
{ 0x0001, 0x0006, 0x0004, 0x0026 },
{ 0x0001, 0x0006, 0x0004, 0x0036 },
{ 0x0001, 0x0008, 0x0001, 0x000a },
{ 0x0001, 0x0008, 0x0001, 0x000c },
{ 0x0001, 0x0008, 0x0002, 0x000e },
{ 0x0001, 0x0008, 0x0002, 0x0012 },
{ 0x0001, 0x0008, 0x0003, 0x0016 },
{ 0x0001, 0x0008, 0x0003, 0x001e },
{ 0x0001, 0x0008, 0x0004, 0x0026 },
{ 0x0001, 0x0008, 0x0004, 0x0036 },
{ 0x0000, 0x0000, 0x0000, 0x0002 },
{ 0x0000, 0x0000, 0x0000, 0x0003 },
{ 0x0000, 0x0000, 0x0000, 0x0004 },
{ 0x0000, 0x0000, 0x0000, 0x0005 },
{ 0x0000, 0x0000, 0x0000, 0x0006 },
{ 0x0000, 0x0000, 0x0000, 0x0007 },
{ 0x0000, 0x0000, 0x0000, 0x0008 },
{ 0x0000, 0x0000, 0x0000, 0x0009 },
{ 0x0000, 0x0001, 0x0000, 0x0002 },
{ 0x0000, 0x0001, 0x0000, 0x0003 },
{ 0x0000, 0x0001, 0x0000, 0x0004 },
{ 0x0000, 0x0001, 0x0000, 0x0005 },
{ 0x0000, 0x0001, 0x0000, 0x0006 },
{ 0x0000, 0x0001, 0x0000, 0x0007 },
{ 0x0000, 0x0001, 0x0000, 0x0008 },
{ 0x0000, 0x0001, 0x0000, 0x0009 },
{ 0x0000, 0x0002, 0x0000, 0x0002 },
{ 0x0000, 0x0002, 0x0000, 0x0003 },
{ 0x0000, 0x0002, 0x0000, 0x0004 },
{ 0x0000, 0x0002, 0x0000, 0x0005 },
{ 0x0000, 0x0002, 0x0000, 0x0006 },
{ 0x0000, 0x0002, 0x0000, 0x0007 },
{ 0x0000, 0x0002, 0x0000, 0x0008 },
{ 0x0000, 0x0002, 0x0000, 0x0009 },
{ 0x0000, 0x0003, 0x0000, 0x0002 },
{ 0x0000, 0x0003, 0x0000, 0x0003 },
{ 0x0000, 0x0003, 0x0000, 0x0004 },
{ 0x0000, 0x0003, 0x0000, 0x0005 },
{ 0x0000, 0x0003, 0x0000, 0x0006 },
{ 0x0000, 0x0003, 0x0000, 0x0007 },
{ 0x0000, 0x0003, 0x0000, 0x0008 },
{ 0x0000, 0x0003, 0x0000, 0x0009 },
{ 0x0000, 0x0004, 0x0000, 0x0002 },
{ 0x0000, 0x0004, 0x0000, 0x0003 },
{ 0x0000, 0x0004, 0x0000, 0x0004 },
{ 0x0000, 0x0004, 0x0000, 0x0005 },
{ 0x0000, 0x0004, 0x0000, 0x0006 },
{ 0x0000, 0x0004, 0x0000, 0x0007 },
{ 0x0000, 0x0004, 0x0000, 0x0008 },
{ 0x0000, 0x0004, 0x0000, 0x0009 },
{ 0x0000, 0x0005, 0x0000, 0x0002 },
{ 0x0000, 0x0005, 0x0000, 0x0003 },
{ 0x0000, 0x0005, 0x0000, 0x0004 },
{ 0x0000, 0x0005, 0x0000, 0x0005 },
{ 0x0000, 0x0005, 0x0000, 0x0006 },
{ 0x0000, 0x0005, 0x0000, 0x0007 },
{ 0x0000, 0x0005, 0x0000, 0x0008 },
{ 0x0000, 0x0005, 0x0000, 0x0009 },
{ 0x0001, 0x0006, 0x0000, 0x0002 },
{ 0x0001, 0x0006, 0x0000, 0x0003 },
{ 0x0001, 0x0006, 0x0000, 0x0004 },
{ 0x0001, 0x0006, 0x0000, 0x0005 },
{ 0x0001, 0x0006, 0x0000, 0x0006 },
{ 0x0001, 0x0006, 0x0000, 0x0007 },
{ 0x0001, 0x0006, 0x0000, 0x0008 },
{ 0x0001, 0x0006, 0x0000, 0x0009 },
{ 0x0001, 0x0008, 0x0000, 0x0002 },
{ 0x0001, 0x0008, 0x0000, 0x0003 },
{ 0x0001, 0x0008, 0x0000, 0x0004 },
{ 0x0001, 0x0008, 0x0000, 0x0005 },
{ 0x0001, 0x0008, 0x0000, 0x0006 },
{ 0x0001, 0x0008, 0x0000, 0x0007 },
{ 0x0001, 0x0008, 0x0000, 0x0008 },
{ 0x0001, 0x0008, 0x0000, 0x0009 },
{ 0x0000, 0x0000, 0x0001, 0x000a },
{ 0x0000, 0x0000, 0x0001, 0x000c },
{ 0x0000, 0x0000, 0x0002, 0x000e },
{ 0x0000, 0x0000, 0x0002, 0x0012 },
{ 0x0000, 0x0000, 0x0003, 0x0016 },
{ 0x0000, 0x0000, 0x0003, 0x001e },
{ 0x0000, 0x0000, 0x0004, 0x0026 },
{ 0x0000, 0x0000, 0x0004, 0x0036 },
{ 0x0000, 0x0001, 0x0001, 0x000a },
{ 0x0000, 0x0001, 0x0001, 0x000c },
{ 0x0000, 0x0001, 0x0002, 0x000e },
{ 0x0000, 0x0001, 0x0002, 0x0012 },
{ 0x0000, 0x0001, 0x0003, 0x0016 },
{ 0x0000, 0x0001, 0x0003, 0x001e },
{ 0x0000, 0x0001, 0x0004, 0x0026 },
{ 0x0000, 0x0001, 0x0004, 0x0036 },
{ 0x0000, 0x0002, 0x0001, 0x000a },
{ 0x0000, 0x0002, 0x0001, 0x000c },
{ 0x0000, 0x0002, 0x0002, 0x000e },
{ 0x0000, 0x0002, 0x0002, 0x0012 },
{ 0x0000, 0x0002, 0x0003, 0x0016 },
{ 0x0000, 0x0002, 0x0003, 0x001e },
{ 0x0000, 0x0002, 0x0004, 0x0026 },
{ 0x0000, 0x0002, 0x0004, 0x0036 },
{ 0x0000, 0x0003, 0x0001, 0x000a },
{ 0x0000, 0x0003, 0x0001, 0x000c },
{ 0x0000, 0x0003, 0x0002, 0x000e },
{ 0x0000, 0x0003, 0x0002, 0x0012 },
{ 0x0000, 0x0003, 0x0003, 0x0016 },
{ 0x0000, 0x0003, 0x0003, 0x001e },
{ 0x0000, 0x0003, 0x0004, 0x0026 },
{ 0x0000, 0x0003, 0x0004, 0x0036 },
{ 0x0000, 0x0004, 0x0001, 0x000a },
{ 0x0000, 0x0004, 0x0001, 0x000c },
{ 0x0000, 0x0004, 0x0002, 0x000e },
{ 0x0000, 0x0004, 0x0002, 0x0012 },
{ 0x0000, 0x0004, 0x0003, 0x0016 },
{ 0x0000, 0x0004, 0x0003, 0x001e },
{ 0x0000, 0x0004, 0x0004, 0x0026 },
{ 0x0000, 0x0004, 0x0004, 0x0036 },
{ 0x0000, 0x0005, 0x0001, 0x000a },
{ 0x0000, 0x0005, 0x0001, 0x000c },
{ 0x0000, 0x0005, 0x0002, 0x000e },
{ 0x0000, 0x0005, 0x0002, 0x0012 },
{ 0x0000, 0x0005, 0x0003, 0x0016 },
{ 0x0000, 0x0005, 0x0003, 0x001e },
{ 0x0000, 0x0005, 0x0004, 0x0026 },
{ 0x0000, 0x0005, 0x0004, 0x0036 },
{ 0x0001, 0x0006, 0x0001, 0x000a },
{ 0x0001, 0x0006, 0x0001, 0x000c },
{ 0x0001, 0x0006, 0x0002, 0x000e },
{ 0x0001, 0x0006, 0x0002, 0x0012 },
{ 0x0001, 0x0006, 0x0003, 0x0016 },
{ 0x0001, 0x0006, 0x0003, 0x001e },
{ 0x0001, 0x0006, 0x0004, 0x0026 },
{ 0x0001, 0x0006, 0x0004, 0x0036 },
{ 0x0001, 0x0008, 0x0001, 0x000a },
{ 0x0001, 0x0008, 0x0001, 0x000c },
{ 0x0001, 0x0008, 0x0002, 0x000e },
{ 0x0001, 0x0008, 0x0002, 0x0012 },
{ 0x0001, 0x0008, 0x0003, 0x0016 },
{ 0x0001, 0x0008, 0x0003, 0x001e },
{ 0x0001, 0x0008, 0x0004, 0x0026 },
{ 0x0001, 0x0008, 0x0004, 0x0036 },
{ 0x0002, 0x000a, 0x0000, 0x0002 },
{ 0x0002, 0x000a, 0x0000, 0x0003 },
{ 0x0002, 0x000a, 0x0000, 0x0004 },
{ 0x0002, 0x000a, 0x0000, 0x0005 },
{ 0x0002, 0x000a, 0x0000, 0x0006 },
{ 0x0002, 0x000a, 0x0000, 0x0007 },
{ 0x0002, 0x000a, 0x0000, 0x0008 },
{ 0x0002, 0x000a, 0x0000, 0x0009 },
{ 0x0002, 0x000e, 0x0000, 0x0002 },
{ 0x0002, 0x000e, 0x0000, 0x0003 },
{ 0x0002, 0x000e, 0x0000, 0x0004 },
{ 0x0002, 0x000e, 0x0000, 0x0005 },
{ 0x0002, 0x000e, 0x0000, 0x0006 },
{ 0x0002, 0x000e, 0x0000, 0x0007 },
{ 0x0002, 0x000e, 0x0000, 0x0008 },
{ 0x0002, 0x000e, 0x0000, 0x0009 },
{ 0x0003, 0x0012, 0x0000, 0x0002 },
{ 0x0003, 0x0012, 0x0000, 0x0003 },
{ 0x0003, 0x0012, 0x0000, 0x0004 },
{ 0x0003, 0x0012, 0x0000, 0x0005 },
{ 0x0003, 0x0012, 0x0000, 0x0006 },
{ 0x0003, 0x0012, 0x0000, 0x0007 },
{ 0x0003, 0x0012, 0x0000, 0x0008 },
{ 0x0003, 0x0012, 0x0000, 0x0009 },
{ 0x0003, 0x001a, 0x0000, 0x0002 },
{ 0x0003, 0x001a, 0x0000, 0x0003 },
{ 0x0003, 0x001a, 0x0000, 0x0004 },
{ 0x0003, 0x001a, 0x0000, 0x0005 },
{ 0x0003, 0x001a, 0x0000, 0x0006 },
{ 0x0003, 0x001a, 0x0000, 0x0007 },
{ 0x0003, 0x001a, 0x0000, 0x0008 },
{ 0x0003, 0x001a, 0x0000, 0x0009 },
{ 0x0004, 0x0022, 0x0000, 0x0002 },
{ 0x0004, 0x0022, 0x0000, 0x0003 },
{ 0x0004, 0x0022, 0x0000, 0x0004 },
{ 0x0004, 0x0022, 0x0000, 0x0005 },
{ 0x0004, 0x0022, 0x0000, 0x0006 },
{ 0x0004, 0x0022, 0x0000, 0x0007 },
{ 0x0004, 0x0022, 0x0000, 0x0008 },
{ 0x0004, 0x0022, 0x0000, 0x0009 },
{ 0x0004, 0x0032, 0x0000, 0x0002 },
{ 0x0004, 0x0032, 0x0000, 0x0003 },
{ 0x0004, 0x0032, 0x0000, 0x0004 },
{ 0x0004, 0x0032, 0x0000, 0x0005 },
{ 0x0004, 0x0032, 0x0000, 0x0006 },
{ 0x0004, 0x0032, 0x0000, 0x0007 },
{ 0x0004, 0x0032, 0x0000, 0x0008 },
{ 0x0004, 0x0032, 0x0000, 0x0009 },
{ 0x0005, 0x0042, 0x0000, 0x0002 },
{ 0x0005, 0x0042, 0x0000, 0x0003 },
{ 0x0005, 0x0042, 0x0000, 0x0004 },
{ 0x0005, 0x0042, 0x0000, 0x0005 },
{ 0x0005, 0x0042, 0x0000, 0x0006 },
{ 0x0005, 0x0042, 0x0000, 0x0007 },
{ 0x0005, 0x0042, 0x0000, 0x0008 },
{ 0x0005, 0x0042, 0x0000, 0x0009 },
{ 0x0005, 0x0062, 0x0000, 0x0002 },
{ 0x0005, 0x0062, 0x0000, 0x0003 },
{ 0x0005, 0x0062, 0x0000, 0x0004 },
{ 0x0005, 0x0062, 0x0000, 0x0005 },
{ 0x0005, 0x0062, 0x0000, 0x0006 },
{ 0x0005, 0x0062, 0x0000, 0x0007 },
{ 0x0005, 0x0062, 0x0000, 0x0008 },
{ 0x0005, 0x0062, 0x0000, 0x0009 },
{ 0x0002, 0x000a, 0x0001, 0x000a },
{ 0x0002, 0x000a, 0x0001, 0x000c },
{ 0x0002, 0x000a, 0x0002, 0x000e },
{ 0x0002, 0x000a, 0x0002, 0x0012 },
{ 0x0002, 0x000a, 0x0003, 0x0016 },
{ 0x0002, 0x000a, 0x0003, 0x001e },
{ 0x0002, 0x000a, 0x0004, 0x0026 },
{ 0x0002, 0x000a, 0x0004, 0x0036 },
{ 0x0002, 0x000e, 0x0001, 0x000a },
{ 0x0002, 0x000e, 0x0001, 0x000c },
{ 0x0002, 0x000e, 0x0002, 0x000e },
{ 0x0002, 0x000e, 0x0002, 0x0012 },
{ 0x0002, 0x000e, 0x0003, 0x0016 },
{ 0x0002, 0x000e, 0x0003, 0x001e },
{ 0x0002, 0x000e, 0x0004, 0x0026 },
{ 0x0002, 0x000e, 0x0004, 0x0036 },
{ 0x0003, 0x0012, 0x0001, 0x000a },
{ 0x0003, 0x0012, 0x0001, 0x000c },
{ 0x0003, 0x0012, 0x0002, 0x000e },
{ 0x0003, 0x0012, 0x0002, 0x0012 },
{ 0x0003, 0x0012, 0x0003, 0x0016 },
{ 0x0003, 0x0012, 0x0003, 0x001e },
{ 0x0003, 0x0012, 0x0004, 0x0026 },
{ 0x0003, 0x0012, 0x0004, 0x0036 },
{ 0x0003, 0x001a, 0x0001, 0x000a },
{ 0x0003, 0x001a, 0x0001, 0x000c },
{ 0x0003, 0x001a, 0x0002, 0x000e },
{ 0x0003, 0x001a, 0x0002, 0x0012 },
{ 0x0003, 0x001a, 0x0003, 0x0016 },
{ 0x0003, 0x001a, 0x0003, 0x001e },
{ 0x0003, 0x001a, 0x0004, 0x0026 },
{ 0x0003, 0x001a, 0x0004, 0x0036 },
{ 0x0004, 0x0022, 0x0001, 0x000a },
{ 0x0004, 0x0022, 0x0001, 0x000c },
{ 0x0004, 0x0022, 0x0002, 0x000e },
{ 0x0004, 0x0022, 0x0002, 0x0012 },
{ 0x0004, 0x0022, 0x0003, 0x0016 },
{ 0x0004, 0x0022, 0x0003, 0x001e },
{ 0x0004, 0x0022, 0x0004, 0x0026 },
{ 0x0004, 0x0022, 0x0004, 0x0036 },
{ 0x0004, 0x0032, 0x0001, 0x000a },
{ 0x0004, 0x0032, 0x0001, 0x000c },
{ 0x0004, 0x0032, 0x0002, 0x000e },
{ 0x0004, 0x0032, 0x0002, 0x0012 },
{ 0x0004, 0x0032, 0x0003, 0x0016 },
{ 0x0004, 0x0032, 0x0003, 0x001e },
{ 0x0004, 0x0032, 0x0004, 0x0026 },
{ 0x0004, 0x0032, 0x0004, 0x0036 },
{ 0x0005, 0x0042, 0x0001, 0x000a },
{ 0x0005, 0x0042, 0x0001, 0x000c },
{ 0x0005, 0x0042, 0x0002, 0x000e },
{ 0x0005, 0x0042, 0x0002, 0x0012 },
{ 0x0005, 0x0042, 0x0003, 0x0016 },
{ 0x0005, 0x0042, 0x0003, 0x001e },
{ 0x0005, 0x0042, 0x0004, 0x0026 },
{ 0x0005, 0x0042, 0x0004, 0x0036 },
{ 0x0005, 0x0062, 0x0001, 0x000a },
{ 0x0005, 0x0062, 0x0001, 0x000c },
{ 0x0005, 0x0062, 0x0002, 0x000e },
{ 0x0005, 0x0062, 0x0002, 0x0012 },
{ 0x0005, 0x0062, 0x0003, 0x0016 },
{ 0x0005, 0x0062, 0x0003, 0x001e },
{ 0x0005, 0x0062, 0x0004, 0x0026 },
{ 0x0005, 0x0062, 0x0004, 0x0036 },
{ 0x0000, 0x0000, 0x0005, 0x0046 },
{ 0x0000, 0x0000, 0x0005, 0x0066 },
{ 0x0000, 0x0000, 0x0006, 0x0086 },
{ 0x0000, 0x0000, 0x0007, 0x00c6 },
{ 0x0000, 0x0000, 0x0008, 0x0146 },
{ 0x0000, 0x0000, 0x0009, 0x0246 },
{ 0x0000, 0x0000, 0x000a, 0x0446 },
{ 0x0000, 0x0000, 0x0018, 0x0846 },
{ 0x0000, 0x0001, 0x0005, 0x0046 },
{ 0x0000, 0x0001, 0x0005, 0x0066 },
{ 0x0000, 0x0001, 0x0006, 0x0086 },
{ 0x0000, 0x0001, 0x0007, 0x00c6 },
{ 0x0000, 0x0001, 0x0008, 0x0146 },
{ 0x0000, 0x0001, 0x0009, 0x0246 },
{ 0x0000, 0x0001, 0x000a, 0x0446 },
{ 0x0000, 0x0001, 0x0018, 0x0846 },
{ 0x0000, 0x0002, 0x0005, 0x0046 },
{ 0x0000, 0x0002, 0x0005, 0x0066 },
{ 0x0000, 0x0002, 0x0006, 0x0086 },
{ 0x0000, 0x0002, 0x0007, 0x00c6 },
{ 0x0000, 0x0002, 0x0008, 0x0146 },
{ 0x0000, 0x0002, 0x0009, 0x0246 },
{ 0x0000, 0x0002, 0x000a, 0x0446 },
{ 0x0000, 0x0002, 0x0018, 0x0846 },
{ 0x0000, 0x0003, 0x0005, 0x0046 },
{ 0x0000, 0x0003, 0x0005, 0x0066 },
{ 0x0000, 0x0003, 0x0006, 0x0086 },
{ 0x0000, 0x0003, 0x0007, 0x00c6 },
{ 0x0000, 0x0003, 0x0008, 0x0146 },
{ 0x0000, 0x0003, 0x0009, 0x0246 },
{ 0x0000, 0x0003, 0x000a, 0x0446 },
{ 0x0000, 0x0003, 0x0018, 0x0846 },
{ 0x0000, 0x0004, 0x0005, 0x0046 },
{ 0x0000, 0x0004, 0x0005, 0x0066 },
{ 0x0000, 0x0004, 0x0006, 0x0086 },
{ 0x0000, 0x0004, 0x0007, 0x00c6 },
{ 0x0000, 0x0004, 0x0008, 0x0146 },
{ 0x0000, 0x0004, 0x0009, 0x0246 },
{ 0x0000, 0x0004, 0x000a, 0x0446 },
{ 0x0000, 0x0004, 0x0018, 0x0846 },
{ 0x0000, 0x0005, 0x0005, 0x0046 },
{ 0x0000, 0x0005, 0x0005, 0x0066 },
{ 0x0000, 0x0005, 0x0006, 0x0086 },
{ 0x0000, 0x0005, 0x0007, 0x00c6 },
{ 0x0000, 0x0005, 0x0008, 0x0146 },
{ 0x0000, 0x0005, 0x0009, 0x0246 },
{ 0x0000, 0x0005, 0x000a, 0x0446 },
{ 0x0000, 0x0005, 0x0018, 0x0846 },
{ 0x0001, 0x0006, 0x0005, 0x0046 },
{ 0x0001, 0x0006, 0x0005, 0x0066 },
{ 0x0001, 0x0006, 0x0006, 0x0086 },
{ 0x0001, 0x0006, 0x0007, 0x00c6 },
{ 0x0001, 0x0006, 0x0008, 0x0146 },
{ 0x0001, 0x0006, 0x0009, 0x0246 },
{ 0x0001, 0x0006, 0x000a, 0x0446 },
{ 0x0001, 0x0006, 0x0018, 0x0846 },
{ 0x0001, 0x0008, 0x0005, 0x0046 },
{ 0x0001, 0x0008, 0x0005, 0x0066 },
{ 0x0001, 0x0008, 0x0006, 0x0086 },
{ 0x0001, 0x0008, 0x0007, 0x00c6 },
{ 0x0001, 0x0008, 0x0008, 0x0146 },
{ 0x0001, 0x0008, 0x0009, 0x0246 },
{ 0x0001, 0x0008, 0x000a, 0x0446 },
{ 0x0001, 0x0008, 0x0018, 0x0846 },
{ 0x0006, 0x0082, 0x0000, 0x0002 },
{ 0x0006, 0x0082, 0x0000, 0x0003 },
{ 0x0006, 0x0082, 0x0000, 0x0004 },
{ 0x0006, 0x0082, 0x0000, 0x0005 },
{ 0x0006, 0x0082, 0x0000, 0x0006 },
{ 0x0006, 0x0082, 0x0000, 0x0007 },
{ 0x0006, 0x0082, 0x0000, 0x0008 },
{ 0x0006, 0x0082, 0x0000, 0x0009 },
{ 0x0007, 0x00c2, 0x0000, 0x0002 },
{ 0x0007, 0x00c2, 0x0000, 0x0003 },
{ 0x0007, 0x00c2, 0x0000, 0x0004 },
{ 0x0007, 0x00c2, 0x0000, 0x0005 },
{ 0x0007, 0x00c2, 0x0000, 0x0006 },
{ 0x0007, 0x00c2, 0x0000, 0x0007 },
{ 0x0007, 0x00c2, 0x0000, 0x0008 },
{ 0x0007, 0x00c2, 0x0000, 0x0009 },
{ 0x0008, 0x0142, 0x0000, 0x0002 },
{ 0x0008, 0x0142, 0x0000, 0x0003 },
{ 0x0008, 0x0142, 0x0000, 0x0004 },
{ 0x0008, 0x0142, 0x0000, 0x0005 },
{ 0x0008, 0x0142, 0x0000, 0x0006 },
{ 0x0008, 0x0142, 0x0000, 0x0007 },
{ 0x0008, 0x0142, 0x0000, 0x0008 },
{ 0x0008, 0x0142, 0x0000, 0x0009 },
{ 0x0009, 0x0242, 0x0000, 0x0002 },
{ 0x0009, 0x0242, 0x0000, 0x0003 },
{ 0x0009, 0x0242, 0x0000, 0x0004 },
{ 0x0009, 0x0242, 0x0000, 0x0005 },
{ 0x0009, 0x0242, 0x0000, 0x0006 },
{ 0x0009, 0x0242, 0x0000, 0x0007 },
{ 0x0009, 0x0242, 0x0000, 0x0008 },
{ 0x0009, 0x0242, 0x0000, 0x0009 },
{ 0x000a, 0x0442, 0x0000, 0x0002 },
{ 0x000a, 0x0442, 0x0000, 0x0003 },
{ 0x000a, 0x0442, 0x0000, 0x0004 },
{ 0x000a, 0x0442, 0x0000, 0x0005 },
{ 0x000a, 0x0442, 0x0000, 0x0006 },
{ 0x000a, 0x0442, 0x0000, 0x0007 },
{ 0x000a, 0x0442, 0x0000, 0x0008 },
{ 0x000a, 0x0442, 0x0000, 0x0009 },
{ 0x000c, 0x0842, 0x0000, 0x0002 },
{ 0x000c, 0x0842, 0x0000, 0x0003 },
{ 0x000c, 0x0842, 0x0000, 0x0004 },
{ 0x000c, 0x0842, 0x0000, 0x0005 },
{ 0x000c, 0x0842, 0x0000, 0x0006 },
{ 0x000c, 0x0842, 0x0000, 0x0007 },
{ 0x000c, 0x0842, 0x0000, 0x0008 },
{ 0x000c, 0x0842, 0x0000, 0x0009 },
{ 0x000e, 0x1842, 0x0000, 0x0002 },
{ 0x000e, 0x1842, 0x0000, 0x0003 },
{ 0x000e, 0x1842, 0x0000, 0x0004 },
{ 0x000e, 0x1842, 0x0000, 0x0005 },
{ 0x000e, 0x1842, 0x0000, 0x0006 },
{ 0x000e, 0x1842, 0x0000, 0x0007 },
{ 0x000e, 0x1842, 0x0000, 0x0008 },
{ 0x000e, 0x1842, 0x0000, 0x0009 },
{ 0x0018, 0x5842, 0x0000, 0x0002 },
{ 0x0018, 0x5842, 0x0000, 0x0003 },
{ 0x0018, 0x5842, 0x0000, 0x0004 },
{ 0x0018, 0x5842, 0x0000, 0x0005 },
{ 0x0018, 0x5842, 0x0000, 0x0006 },
{ 0x0018, 0x5842, 0x0000, 0x0007 },
{ 0x0018, 0x5842, 0x0000, 0x0008 },
{ 0x0018, 0x5842, 0x0000, 0x0009 },
{ 0x0002, 0x000a, 0x0005, 0x0046 },
{ 0x0002, 0x000a, 0x0005, 0x0066 },
{ 0x0002, 0x000a, 0x0006, 0x0086 },
{ 0x0002, 0x000a, 0x0007, 0x00c6 },
{ 0x0002, 0x000a, 0x0008, 0x0146 },
{ 0x0002, 0x000a, 0x0009, 0x0246 },
{ 0x0002, 0x000a, 0x000a, 0x0446 },
{ 0x0002, 0x000a, 0x0018, 0x0846 },
{ 0x0002, 0x000e, 0x0005, 0x0046 },
{ 0x0002, 0x000e, 0x0005, 0x0066 },
{ 0x0002, 0x000e, 0x0006, 0x0086 },
{ 0x0002, 0x000e, 0x0007, 0x00c6 },
{ 0x0002, 0x000e, 0x0008, 0x0146 },
{ 0x0002, 0x000e, 0x0009, 0x0246 },
{ 0x0002, 0x000e, 0x000a, 0x0446 },
{ 0x0002, 0x000e, 0x0018, 0x0846 },
{ 0x0003, 0x0012, 0x0005, 0x0046 },
{ 0x0003, 0x0012, 0x0005, 0x0066 },
{ 0x0003, 0x0012, 0x0006, 0x0086 },
{ 0x0003, 0x0012, 0x0007, 0x00c6 },
{ 0x0003, 0x0012, 0x0008, 0x0146 },
{ 0x0003, 0x0012, 0x0009, 0x0246 },
{ 0x0003, 0x0012, 0x000a, 0x0446 },
{ 0x0003, 0x0012, 0x0018, 0x0846 },
{ 0x0003, 0x001a, 0x0005, 0x0046 },
{ 0x0003, 0x001a, 0x0005, 0x0066 },
{ 0x0003, 0x001a, 0x0006, 0x0086 },
{ 0x0003, 0x001a, 0x0007, 0x00c6 },
{ 0x0003, 0x001a, 0x0008, 0x0146 },
{ 0x0003, 0x001a, 0x0009, 0x0246 },
{ 0x0003, 0x001a, 0x000a, 0x0446 },
{ 0x0003, 0x001a, 0x0018, 0x0846 },
{ 0x0004, 0x0022, 0x0005, 0x0046 },
{ 0x0004, 0x0022, 0x0005, 0x0066 },
{ 0x0004, 0x0022, 0x0006, 0x0086 },
{ 0x0004, 0x0022, 0x0007, 0x00c6 },
{ 0x0004, 0x0022, 0x0008, 0x0146 },
{ 0x0004, 0x0022, 0x0009, 0x0246 },
{ 0x0004, 0x0022, 0x000a, 0x0446 },
{ 0x0004, 0x0022, 0x0018, 0x0846 },
{ 0x0004, 0x0032, 0x0005, 0x0046 },
{ 0x0004, 0x0032, 0x0005, 0x0066 },
{ 0x0004, 0x0032, 0x0006, 0x0086 },
{ 0x0004, 0x0032, 0x0007, 0x00c6 },
{ 0x0004, 0x0032, 0x0008, 0x0146 },
{ 0x0004, 0x0032, 0x0009, 0x0246 },
{ 0x0004, 0x0032, 0x000a, 0x0446 },
{ 0x0004, 0x0032, 0x0018, 0x0846 },
{ 0x0005, 0x0042, 0x0005, 0x0046 },
{ 0x0005, 0x0042, 0x0005, 0x0066 },
{ 0x0005, 0x0042, 0x0006, 0x0086 },
{ 0x0005, 0x0042, 0x0007, 0x00c6 },
{ 0x0005, 0x0042, 0x0008, 0x0146 },
{ 0x0005, 0x0042, 0x0009, 0x0246 },
{ 0x0005, 0x0042, 0x000a, 0x0446 },
{ 0x0005, 0x0042, 0x0018, 0x0846 },
{ 0x0005, 0x0062, 0x0005, 0x0046 },
{ 0x0005, 0x0062, 0x0005, 0x0066 },
{ 0x0005, 0x0062, 0x0006, 0x0086 },
{ 0x0005, 0x0062, 0x0007, 0x00c6 },
{ 0x0005, 0x0062, 0x0008, 0x0146 },
{ 0x0005, 0x0062, 0x0009, 0x0246 },
{ 0x0005, 0x0062, 0x000a, 0x0446 },
{ 0x0005, 0x0062, 0x0018, 0x0846 },
{ 0x0006, 0x0082, 0x0001, 0x000a },
{ 0x0006, 0x0082, 0x0001, 0x000c },
{ 0x0006, 0x0082, 0x0002, 0x000e },
{ 0x0006, 0x0082, 0x0002, 0x0012 },
{ 0x0006, 0x0082, 0x0003, 0x0016 },
{ 0x0006, 0x0082, 0x0003, 0x001e },
{ 0x0006, 0x0082, 0x0004, 0x0026 },
{ 0x0006, 0x0082, 0x0004, 0x0036 },
{ 0x0007, 0x00c2, 0x0001, 0x000a },
{ 0x0007, 0x00c2, 0x0001, 0x000c },
{ 0x0007, 0x00c2, 0x0002, 0x000e },
{ 0x0007, 0x00c2, 0x0002, 0x0012 },
{ 0x0007, 0x00c2, 0x0003, 0x0016 },
{ 0x0007, 0x00c2, 0x0003, 0x001e },
{ 0x0007, 0x00c2, 0x0004, 0x0026 },
{ 0x0007, 0x00c2, 0x0004, 0x0036 },
{ 0x0008, 0x0142, 0x0001, 0x000a },
{ 0x0008, 0x0142, 0x0001, 0x000c },
{ 0x0008, 0x0142, 0x0002, 0x000e },
{ 0x0008, 0x0142, 0x0002, 0x0012 },
{ 0x0008, 0x0142, 0x0003, 0x0016 },
{ 0x0008, 0x0142, 0x0003, 0x001e },
{ 0x0008, 0x0142, 0x0004, 0x0026 },
{ 0x0008, 0x0142, 0x0004, 0x0036 },
{ 0x0009, 0x0242, 0x0001, 0x000a },
{ 0x0009, 0x0242, 0x0001, 0x000c },
{ 0x0009, 0x0242, 0x0002, 0x000e },
{ 0x0009, 0x0242, 0x0002, 0x0012 },
{ 0x0009, 0x0242, 0x0003, 0x0016 },
{ 0x0009, 0x0242, 0x0003, 0x001e },
{ 0x0009, 0x0242, 0x0004, 0x0026 },
{ 0x0009, 0x0242, 0x0004, 0x0036 },
{ 0x000a, 0x0442, 0x0001, 0x000a },
{ 0x000a, 0x0442, 0x0001, 0x000c },
{ 0x000a, 0x0442, 0x0002, 0x000e },
{ 0x000a, 0x0442, 0x0002, 0x0012 },
{ 0x000a, 0x0442, 0x0003, 0x0016 },
{ 0x000a, 0x0442, 0x0003, 0x001e },
{ 0x000a, 0x0442, 0x0004, 0x0026 },
{ 0x000a, 0x0442, 0x0004, 0x0036 },
{ 0x000c, 0x0842, 0x0001, 0x000a },
{ 0x000c, 0x0842, 0x0001, 0x000c },
{ 0x000c, 0x0842, 0x0002, 0x000e },
{ 0x000c, 0x0842, 0x0002, 0x0012 },
{ 0x000c, 0x0842, 0x0003, 0x0016 },
{ 0x000c, 0x0842, 0x0003, 0x001e },
{ 0x000c, 0x0842, 0x0004, 0x0026 },
{ 0x000c, 0x0842, 0x0004, 0x0036 },
{ 0x000e, 0x1842, 0x0001, 0x000a },
{ 0x000e, 0x1842, 0x0001, 0x000c },
{ 0x000e, 0x1842, 0x0002, 0x000e },
{ 0x000e, 0x1842, 0x0002, 0x0012 },
{ 0x000e, 0x1842, 0x0003, 0x0016 },
{ 0x000e, 0x1842, 0x0003, 0x001e },
{ 0x000e, 0x1842, 0x0004, 0x0026 },
{ 0x000e, 0x1842, 0x0004, 0x0036 },
{ 0x0018, 0x5842, 0x0001, 0x000a },
{ 0x0018, 0x5842, 0x0001, 0x000c },
{ 0x0018, 0x5842, 0x0002, 0x000e },
{ 0x0018, 0x5842, 0x0002, 0x0012 },
{ 0x0018, 0x5842, 0x0003, 0x0016 },
{ 0x0018, 0x5842, 0x0003, 0x001e },
{ 0x0018, 0x5842, 0x0004, 0x0026 },
{ 0x0018, 0x5842, 0x0004, 0x0036 },
{ 0x0006, 0x0082, 0x0005, 0x0046 },
{ 0x0006, 0x0082, 0x0005, 0x0066 },
{ 0x0006, 0x0082, 0x0006, 0x0086 },
{ 0x0006, 0x0082, 0x0007, 0x00c6 },
{ 0x0006, 0x0082, 0x0008, 0x0146 },
{ 0x0006, 0x0082, 0x0009, 0x0246 },
{ 0x0006, 0x0082, 0x000a, 0x0446 },
{ 0x0006, 0x0082, 0x0018, 0x0846 },
{ 0x0007, 0x00c2, 0x0005, 0x0046 },
{ 0x0007, 0x00c2, 0x0005, 0x0066 },
{ 0x0007, 0x00c2, 0x0006, 0x0086 },
{ 0x0007, 0x00c2, 0x0007, 0x00c6 },
{ 0x0007, 0x00c2, 0x0008, 0x0146 },
{ 0x0007, 0x00c2, 0x0009, 0x0246 },
{ 0x0007, 0x00c2, 0x000a, 0x0446 },
{ 0x0007, 0x00c2, 0x0018, 0x0846 },
{ 0x0008, 0x0142, 0x0005, 0x0046 },
{ 0x0008, 0x0142, 0x0005, 0x0066 },
{ 0x0008, 0x0142, 0x0006, 0x0086 },
{ 0x0008, 0x0142, 0x0007, 0x00c6 },
{ 0x0008, 0x0142, 0x0008, 0x0146 },
{ 0x0008, 0x0142, 0x0009, 0x0246 },
{ 0x0008, 0x0142, 0x000a, 0x0446 },
{ 0x0008, 0x0142, 0x0018, 0x0846 },
{ 0x0009, 0x0242, 0x0005, 0x0046 },
{ 0x0009, 0x0242, 0x0005, 0x0066 },
{ 0x0009, 0x0242, 0x0006, 0x0086 },
{ 0x0009, 0x0242, 0x0007, 0x00c6 },
{ 0x0009, 0x0242, 0x0008, 0x0146 },
{ 0x0009, 0x0242, 0x0009, 0x0246 },
{ 0x0009, 0x0242, 0x000a, 0x0446 },
{ 0x0009, 0x0242, 0x0018, 0x0846 },
{ 0x000a, 0x0442, 0x0005, 0x0046 },
{ 0x000a, 0x0442, 0x0005, 0x0066 },
{ 0x000a, 0x0442, 0x0006, 0x0086 },
{ 0x000a, 0x0442, 0x0007, 0x00c6 },
{ 0x000a, 0x0442, 0x0008, 0x0146 },
{ 0x000a, 0x0442, 0x0009, 0x0246 },
{ 0x000a, 0x0442, 0x000a, 0x0446 },
{ 0x000a, 0x0442, 0x0018, 0x0846 },
{ 0x000c, 0x0842, 0x0005, 0x0046 },
{ 0x000c, 0x0842, 0x0005, 0x0066 },
{ 0x000c, 0x0842, 0x0006, 0x0086 },
{ 0x000c, 0x0842, 0x0007, 0x00c6 },
{ 0x000c, 0x0842, 0x0008, 0x0146 },
{ 0x000c, 0x0842, 0x0009, 0x0246 },
{ 0x000c, 0x0842, 0x000a, 0x0446 },
{ 0x000c, 0x0842, 0x0018, 0x0846 },
{ 0x000e, 0x1842, 0x0005, 0x0046 },
{ 0x000e, 0x1842, 0x0005, 0x0066 },
{ 0x000e, 0x1842, 0x0006, 0x0086 },
{ 0x000e, 0x1842, 0x0007, 0x00c6 },
{ 0x000e, 0x1842, 0x0008, 0x0146 },
{ 0x000e, 0x1842, 0x0009, 0x0246 },
{ 0x000e, 0x1842, 0x000a, 0x0446 },
{ 0x000e, 0x1842, 0x0018, 0x0846 },
{ 0x0018, 0x5842, 0x0005, 0x0046 },
{ 0x0018, 0x5842, 0x0005, 0x0066 },
{ 0x0018, 0x5842, 0x0006, 0x0086 },
{ 0x0018, 0x5842, 0x0007, 0x00c6 },
{ 0x0018, 0x5842, 0x0008, 0x0146 },
{ 0x0018, 0x5842, 0x0009, 0x0246 },
{ 0x0018, 0x5842, 0x000a, 0x0446 },
{ 0x0018, 0x5842, 0x0018, 0x0846 },
};
#endif /* BROTLI_DEC_PREFIX_H_ */