xref: /aosp_15_r20/external/brotli/c/enc/entropy_encode_static.h (revision f4ee7fba7774faf2a30f13154332c0a06550dbc4)
1*f4ee7fbaSAndroid Build Coastguard Worker /* Copyright 2015 Google Inc. All Rights Reserved.
2*f4ee7fbaSAndroid Build Coastguard Worker 
3*f4ee7fbaSAndroid Build Coastguard Worker    Distributed under MIT license.
4*f4ee7fbaSAndroid Build Coastguard Worker    See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
5*f4ee7fbaSAndroid Build Coastguard Worker */
6*f4ee7fbaSAndroid Build Coastguard Worker 
7*f4ee7fbaSAndroid Build Coastguard Worker /* Static entropy codes used for faster meta-block encoding. */
8*f4ee7fbaSAndroid Build Coastguard Worker 
9*f4ee7fbaSAndroid Build Coastguard Worker #ifndef BROTLI_ENC_ENTROPY_ENCODE_STATIC_H_
10*f4ee7fbaSAndroid Build Coastguard Worker #define BROTLI_ENC_ENTROPY_ENCODE_STATIC_H_
11*f4ee7fbaSAndroid Build Coastguard Worker 
12*f4ee7fbaSAndroid Build Coastguard Worker #include "../common/constants.h"
13*f4ee7fbaSAndroid Build Coastguard Worker #include "../common/platform.h"
14*f4ee7fbaSAndroid Build Coastguard Worker #include <brotli/types.h>
15*f4ee7fbaSAndroid Build Coastguard Worker #include "./write_bits.h"
16*f4ee7fbaSAndroid Build Coastguard Worker 
17*f4ee7fbaSAndroid Build Coastguard Worker #if defined(__cplusplus) || defined(c_plusplus)
18*f4ee7fbaSAndroid Build Coastguard Worker extern "C" {
19*f4ee7fbaSAndroid Build Coastguard Worker #endif
20*f4ee7fbaSAndroid Build Coastguard Worker 
21*f4ee7fbaSAndroid Build Coastguard Worker static const uint8_t kCodeLengthDepth[18] = {
22*f4ee7fbaSAndroid Build Coastguard Worker   4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 0, 4, 4,
23*f4ee7fbaSAndroid Build Coastguard Worker };
24*f4ee7fbaSAndroid Build Coastguard Worker 
25*f4ee7fbaSAndroid Build Coastguard Worker static const uint8_t kStaticCommandCodeDepth[BROTLI_NUM_COMMAND_SYMBOLS] = {
26*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
27*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
28*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
29*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
30*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
31*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
32*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
33*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
34*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
35*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
36*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
37*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
38*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
39*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
40*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
41*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
42*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
43*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
44*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
45*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
46*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
47*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
48*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
49*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
50*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
51*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
52*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
53*f4ee7fbaSAndroid Build Coastguard Worker    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
54*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
55*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
56*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
57*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
58*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
59*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
60*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
61*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
62*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
63*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
64*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
65*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
66*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
67*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
68*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
69*f4ee7fbaSAndroid Build Coastguard Worker   11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
70*f4ee7fbaSAndroid Build Coastguard Worker };
71*f4ee7fbaSAndroid Build Coastguard Worker 
72*f4ee7fbaSAndroid Build Coastguard Worker static const uint8_t kStaticDistanceCodeDepth[64] = {
73*f4ee7fbaSAndroid Build Coastguard Worker   6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
74*f4ee7fbaSAndroid Build Coastguard Worker   6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
75*f4ee7fbaSAndroid Build Coastguard Worker   6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
76*f4ee7fbaSAndroid Build Coastguard Worker   6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
77*f4ee7fbaSAndroid Build Coastguard Worker };
78*f4ee7fbaSAndroid Build Coastguard Worker 
79*f4ee7fbaSAndroid Build Coastguard Worker static const uint32_t kCodeLengthBits[18] = {
80*f4ee7fbaSAndroid Build Coastguard Worker   0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 15, 31, 0, 11, 7,
81*f4ee7fbaSAndroid Build Coastguard Worker };
82*f4ee7fbaSAndroid Build Coastguard Worker 
StoreStaticCodeLengthCode(size_t * storage_ix,uint8_t * storage)83*f4ee7fbaSAndroid Build Coastguard Worker static BROTLI_INLINE void StoreStaticCodeLengthCode(
84*f4ee7fbaSAndroid Build Coastguard Worker     size_t* storage_ix, uint8_t* storage) {
85*f4ee7fbaSAndroid Build Coastguard Worker   BrotliWriteBits(
86*f4ee7fbaSAndroid Build Coastguard Worker       40, BROTLI_MAKE_UINT64_T(0x0000FFu, 0x55555554u), storage_ix, storage);
87*f4ee7fbaSAndroid Build Coastguard Worker }
88*f4ee7fbaSAndroid Build Coastguard Worker 
89*f4ee7fbaSAndroid Build Coastguard Worker static const uint64_t kZeroRepsBits[BROTLI_NUM_COMMAND_SYMBOLS] = {
90*f4ee7fbaSAndroid Build Coastguard Worker   0x00000000, 0x00000000, 0x00000000, 0x00000007, 0x00000017, 0x00000027,
91*f4ee7fbaSAndroid Build Coastguard Worker   0x00000037, 0x00000047, 0x00000057, 0x00000067, 0x00000077, 0x00000770,
92*f4ee7fbaSAndroid Build Coastguard Worker   0x00000b87, 0x00001387, 0x00001b87, 0x00002387, 0x00002b87, 0x00003387,
93*f4ee7fbaSAndroid Build Coastguard Worker   0x00003b87, 0x00000397, 0x00000b97, 0x00001397, 0x00001b97, 0x00002397,
94*f4ee7fbaSAndroid Build Coastguard Worker   0x00002b97, 0x00003397, 0x00003b97, 0x000003a7, 0x00000ba7, 0x000013a7,
95*f4ee7fbaSAndroid Build Coastguard Worker   0x00001ba7, 0x000023a7, 0x00002ba7, 0x000033a7, 0x00003ba7, 0x000003b7,
96*f4ee7fbaSAndroid Build Coastguard Worker   0x00000bb7, 0x000013b7, 0x00001bb7, 0x000023b7, 0x00002bb7, 0x000033b7,
97*f4ee7fbaSAndroid Build Coastguard Worker   0x00003bb7, 0x000003c7, 0x00000bc7, 0x000013c7, 0x00001bc7, 0x000023c7,
98*f4ee7fbaSAndroid Build Coastguard Worker   0x00002bc7, 0x000033c7, 0x00003bc7, 0x000003d7, 0x00000bd7, 0x000013d7,
99*f4ee7fbaSAndroid Build Coastguard Worker   0x00001bd7, 0x000023d7, 0x00002bd7, 0x000033d7, 0x00003bd7, 0x000003e7,
100*f4ee7fbaSAndroid Build Coastguard Worker   0x00000be7, 0x000013e7, 0x00001be7, 0x000023e7, 0x00002be7, 0x000033e7,
101*f4ee7fbaSAndroid Build Coastguard Worker   0x00003be7, 0x000003f7, 0x00000bf7, 0x000013f7, 0x00001bf7, 0x000023f7,
102*f4ee7fbaSAndroid Build Coastguard Worker   0x00002bf7, 0x000033f7, 0x00003bf7, 0x0001c387, 0x0005c387, 0x0009c387,
103*f4ee7fbaSAndroid Build Coastguard Worker   0x000dc387, 0x0011c387, 0x0015c387, 0x0019c387, 0x001dc387, 0x0001cb87,
104*f4ee7fbaSAndroid Build Coastguard Worker   0x0005cb87, 0x0009cb87, 0x000dcb87, 0x0011cb87, 0x0015cb87, 0x0019cb87,
105*f4ee7fbaSAndroid Build Coastguard Worker   0x001dcb87, 0x0001d387, 0x0005d387, 0x0009d387, 0x000dd387, 0x0011d387,
106*f4ee7fbaSAndroid Build Coastguard Worker   0x0015d387, 0x0019d387, 0x001dd387, 0x0001db87, 0x0005db87, 0x0009db87,
107*f4ee7fbaSAndroid Build Coastguard Worker   0x000ddb87, 0x0011db87, 0x0015db87, 0x0019db87, 0x001ddb87, 0x0001e387,
108*f4ee7fbaSAndroid Build Coastguard Worker   0x0005e387, 0x0009e387, 0x000de387, 0x0011e387, 0x0015e387, 0x0019e387,
109*f4ee7fbaSAndroid Build Coastguard Worker   0x001de387, 0x0001eb87, 0x0005eb87, 0x0009eb87, 0x000deb87, 0x0011eb87,
110*f4ee7fbaSAndroid Build Coastguard Worker   0x0015eb87, 0x0019eb87, 0x001deb87, 0x0001f387, 0x0005f387, 0x0009f387,
111*f4ee7fbaSAndroid Build Coastguard Worker   0x000df387, 0x0011f387, 0x0015f387, 0x0019f387, 0x001df387, 0x0001fb87,
112*f4ee7fbaSAndroid Build Coastguard Worker   0x0005fb87, 0x0009fb87, 0x000dfb87, 0x0011fb87, 0x0015fb87, 0x0019fb87,
113*f4ee7fbaSAndroid Build Coastguard Worker   0x001dfb87, 0x0001c397, 0x0005c397, 0x0009c397, 0x000dc397, 0x0011c397,
114*f4ee7fbaSAndroid Build Coastguard Worker   0x0015c397, 0x0019c397, 0x001dc397, 0x0001cb97, 0x0005cb97, 0x0009cb97,
115*f4ee7fbaSAndroid Build Coastguard Worker   0x000dcb97, 0x0011cb97, 0x0015cb97, 0x0019cb97, 0x001dcb97, 0x0001d397,
116*f4ee7fbaSAndroid Build Coastguard Worker   0x0005d397, 0x0009d397, 0x000dd397, 0x0011d397, 0x0015d397, 0x0019d397,
117*f4ee7fbaSAndroid Build Coastguard Worker   0x001dd397, 0x0001db97, 0x0005db97, 0x0009db97, 0x000ddb97, 0x0011db97,
118*f4ee7fbaSAndroid Build Coastguard Worker   0x0015db97, 0x0019db97, 0x001ddb97, 0x0001e397, 0x0005e397, 0x0009e397,
119*f4ee7fbaSAndroid Build Coastguard Worker   0x000de397, 0x0011e397, 0x0015e397, 0x0019e397, 0x001de397, 0x0001eb97,
120*f4ee7fbaSAndroid Build Coastguard Worker   0x0005eb97, 0x0009eb97, 0x000deb97, 0x0011eb97, 0x0015eb97, 0x0019eb97,
121*f4ee7fbaSAndroid Build Coastguard Worker   0x001deb97, 0x0001f397, 0x0005f397, 0x0009f397, 0x000df397, 0x0011f397,
122*f4ee7fbaSAndroid Build Coastguard Worker   0x0015f397, 0x0019f397, 0x001df397, 0x0001fb97, 0x0005fb97, 0x0009fb97,
123*f4ee7fbaSAndroid Build Coastguard Worker   0x000dfb97, 0x0011fb97, 0x0015fb97, 0x0019fb97, 0x001dfb97, 0x0001c3a7,
124*f4ee7fbaSAndroid Build Coastguard Worker   0x0005c3a7, 0x0009c3a7, 0x000dc3a7, 0x0011c3a7, 0x0015c3a7, 0x0019c3a7,
125*f4ee7fbaSAndroid Build Coastguard Worker   0x001dc3a7, 0x0001cba7, 0x0005cba7, 0x0009cba7, 0x000dcba7, 0x0011cba7,
126*f4ee7fbaSAndroid Build Coastguard Worker   0x0015cba7, 0x0019cba7, 0x001dcba7, 0x0001d3a7, 0x0005d3a7, 0x0009d3a7,
127*f4ee7fbaSAndroid Build Coastguard Worker   0x000dd3a7, 0x0011d3a7, 0x0015d3a7, 0x0019d3a7, 0x001dd3a7, 0x0001dba7,
128*f4ee7fbaSAndroid Build Coastguard Worker   0x0005dba7, 0x0009dba7, 0x000ddba7, 0x0011dba7, 0x0015dba7, 0x0019dba7,
129*f4ee7fbaSAndroid Build Coastguard Worker   0x001ddba7, 0x0001e3a7, 0x0005e3a7, 0x0009e3a7, 0x000de3a7, 0x0011e3a7,
130*f4ee7fbaSAndroid Build Coastguard Worker   0x0015e3a7, 0x0019e3a7, 0x001de3a7, 0x0001eba7, 0x0005eba7, 0x0009eba7,
131*f4ee7fbaSAndroid Build Coastguard Worker   0x000deba7, 0x0011eba7, 0x0015eba7, 0x0019eba7, 0x001deba7, 0x0001f3a7,
132*f4ee7fbaSAndroid Build Coastguard Worker   0x0005f3a7, 0x0009f3a7, 0x000df3a7, 0x0011f3a7, 0x0015f3a7, 0x0019f3a7,
133*f4ee7fbaSAndroid Build Coastguard Worker   0x001df3a7, 0x0001fba7, 0x0005fba7, 0x0009fba7, 0x000dfba7, 0x0011fba7,
134*f4ee7fbaSAndroid Build Coastguard Worker   0x0015fba7, 0x0019fba7, 0x001dfba7, 0x0001c3b7, 0x0005c3b7, 0x0009c3b7,
135*f4ee7fbaSAndroid Build Coastguard Worker   0x000dc3b7, 0x0011c3b7, 0x0015c3b7, 0x0019c3b7, 0x001dc3b7, 0x0001cbb7,
136*f4ee7fbaSAndroid Build Coastguard Worker   0x0005cbb7, 0x0009cbb7, 0x000dcbb7, 0x0011cbb7, 0x0015cbb7, 0x0019cbb7,
137*f4ee7fbaSAndroid Build Coastguard Worker   0x001dcbb7, 0x0001d3b7, 0x0005d3b7, 0x0009d3b7, 0x000dd3b7, 0x0011d3b7,
138*f4ee7fbaSAndroid Build Coastguard Worker   0x0015d3b7, 0x0019d3b7, 0x001dd3b7, 0x0001dbb7, 0x0005dbb7, 0x0009dbb7,
139*f4ee7fbaSAndroid Build Coastguard Worker   0x000ddbb7, 0x0011dbb7, 0x0015dbb7, 0x0019dbb7, 0x001ddbb7, 0x0001e3b7,
140*f4ee7fbaSAndroid Build Coastguard Worker   0x0005e3b7, 0x0009e3b7, 0x000de3b7, 0x0011e3b7, 0x0015e3b7, 0x0019e3b7,
141*f4ee7fbaSAndroid Build Coastguard Worker   0x001de3b7, 0x0001ebb7, 0x0005ebb7, 0x0009ebb7, 0x000debb7, 0x0011ebb7,
142*f4ee7fbaSAndroid Build Coastguard Worker   0x0015ebb7, 0x0019ebb7, 0x001debb7, 0x0001f3b7, 0x0005f3b7, 0x0009f3b7,
143*f4ee7fbaSAndroid Build Coastguard Worker   0x000df3b7, 0x0011f3b7, 0x0015f3b7, 0x0019f3b7, 0x001df3b7, 0x0001fbb7,
144*f4ee7fbaSAndroid Build Coastguard Worker   0x0005fbb7, 0x0009fbb7, 0x000dfbb7, 0x0011fbb7, 0x0015fbb7, 0x0019fbb7,
145*f4ee7fbaSAndroid Build Coastguard Worker   0x001dfbb7, 0x0001c3c7, 0x0005c3c7, 0x0009c3c7, 0x000dc3c7, 0x0011c3c7,
146*f4ee7fbaSAndroid Build Coastguard Worker   0x0015c3c7, 0x0019c3c7, 0x001dc3c7, 0x0001cbc7, 0x0005cbc7, 0x0009cbc7,
147*f4ee7fbaSAndroid Build Coastguard Worker   0x000dcbc7, 0x0011cbc7, 0x0015cbc7, 0x0019cbc7, 0x001dcbc7, 0x0001d3c7,
148*f4ee7fbaSAndroid Build Coastguard Worker   0x0005d3c7, 0x0009d3c7, 0x000dd3c7, 0x0011d3c7, 0x0015d3c7, 0x0019d3c7,
149*f4ee7fbaSAndroid Build Coastguard Worker   0x001dd3c7, 0x0001dbc7, 0x0005dbc7, 0x0009dbc7, 0x000ddbc7, 0x0011dbc7,
150*f4ee7fbaSAndroid Build Coastguard Worker   0x0015dbc7, 0x0019dbc7, 0x001ddbc7, 0x0001e3c7, 0x0005e3c7, 0x0009e3c7,
151*f4ee7fbaSAndroid Build Coastguard Worker   0x000de3c7, 0x0011e3c7, 0x0015e3c7, 0x0019e3c7, 0x001de3c7, 0x0001ebc7,
152*f4ee7fbaSAndroid Build Coastguard Worker   0x0005ebc7, 0x0009ebc7, 0x000debc7, 0x0011ebc7, 0x0015ebc7, 0x0019ebc7,
153*f4ee7fbaSAndroid Build Coastguard Worker   0x001debc7, 0x0001f3c7, 0x0005f3c7, 0x0009f3c7, 0x000df3c7, 0x0011f3c7,
154*f4ee7fbaSAndroid Build Coastguard Worker   0x0015f3c7, 0x0019f3c7, 0x001df3c7, 0x0001fbc7, 0x0005fbc7, 0x0009fbc7,
155*f4ee7fbaSAndroid Build Coastguard Worker   0x000dfbc7, 0x0011fbc7, 0x0015fbc7, 0x0019fbc7, 0x001dfbc7, 0x0001c3d7,
156*f4ee7fbaSAndroid Build Coastguard Worker   0x0005c3d7, 0x0009c3d7, 0x000dc3d7, 0x0011c3d7, 0x0015c3d7, 0x0019c3d7,
157*f4ee7fbaSAndroid Build Coastguard Worker   0x001dc3d7, 0x0001cbd7, 0x0005cbd7, 0x0009cbd7, 0x000dcbd7, 0x0011cbd7,
158*f4ee7fbaSAndroid Build Coastguard Worker   0x0015cbd7, 0x0019cbd7, 0x001dcbd7, 0x0001d3d7, 0x0005d3d7, 0x0009d3d7,
159*f4ee7fbaSAndroid Build Coastguard Worker   0x000dd3d7, 0x0011d3d7, 0x0015d3d7, 0x0019d3d7, 0x001dd3d7, 0x0001dbd7,
160*f4ee7fbaSAndroid Build Coastguard Worker   0x0005dbd7, 0x0009dbd7, 0x000ddbd7, 0x0011dbd7, 0x0015dbd7, 0x0019dbd7,
161*f4ee7fbaSAndroid Build Coastguard Worker   0x001ddbd7, 0x0001e3d7, 0x0005e3d7, 0x0009e3d7, 0x000de3d7, 0x0011e3d7,
162*f4ee7fbaSAndroid Build Coastguard Worker   0x0015e3d7, 0x0019e3d7, 0x001de3d7, 0x0001ebd7, 0x0005ebd7, 0x0009ebd7,
163*f4ee7fbaSAndroid Build Coastguard Worker   0x000debd7, 0x0011ebd7, 0x0015ebd7, 0x0019ebd7, 0x001debd7, 0x0001f3d7,
164*f4ee7fbaSAndroid Build Coastguard Worker   0x0005f3d7, 0x0009f3d7, 0x000df3d7, 0x0011f3d7, 0x0015f3d7, 0x0019f3d7,
165*f4ee7fbaSAndroid Build Coastguard Worker   0x001df3d7, 0x0001fbd7, 0x0005fbd7, 0x0009fbd7, 0x000dfbd7, 0x0011fbd7,
166*f4ee7fbaSAndroid Build Coastguard Worker   0x0015fbd7, 0x0019fbd7, 0x001dfbd7, 0x0001c3e7, 0x0005c3e7, 0x0009c3e7,
167*f4ee7fbaSAndroid Build Coastguard Worker   0x000dc3e7, 0x0011c3e7, 0x0015c3e7, 0x0019c3e7, 0x001dc3e7, 0x0001cbe7,
168*f4ee7fbaSAndroid Build Coastguard Worker   0x0005cbe7, 0x0009cbe7, 0x000dcbe7, 0x0011cbe7, 0x0015cbe7, 0x0019cbe7,
169*f4ee7fbaSAndroid Build Coastguard Worker   0x001dcbe7, 0x0001d3e7, 0x0005d3e7, 0x0009d3e7, 0x000dd3e7, 0x0011d3e7,
170*f4ee7fbaSAndroid Build Coastguard Worker   0x0015d3e7, 0x0019d3e7, 0x001dd3e7, 0x0001dbe7, 0x0005dbe7, 0x0009dbe7,
171*f4ee7fbaSAndroid Build Coastguard Worker   0x000ddbe7, 0x0011dbe7, 0x0015dbe7, 0x0019dbe7, 0x001ddbe7, 0x0001e3e7,
172*f4ee7fbaSAndroid Build Coastguard Worker   0x0005e3e7, 0x0009e3e7, 0x000de3e7, 0x0011e3e7, 0x0015e3e7, 0x0019e3e7,
173*f4ee7fbaSAndroid Build Coastguard Worker   0x001de3e7, 0x0001ebe7, 0x0005ebe7, 0x0009ebe7, 0x000debe7, 0x0011ebe7,
174*f4ee7fbaSAndroid Build Coastguard Worker   0x0015ebe7, 0x0019ebe7, 0x001debe7, 0x0001f3e7, 0x0005f3e7, 0x0009f3e7,
175*f4ee7fbaSAndroid Build Coastguard Worker   0x000df3e7, 0x0011f3e7, 0x0015f3e7, 0x0019f3e7, 0x001df3e7, 0x0001fbe7,
176*f4ee7fbaSAndroid Build Coastguard Worker   0x0005fbe7, 0x0009fbe7, 0x000dfbe7, 0x0011fbe7, 0x0015fbe7, 0x0019fbe7,
177*f4ee7fbaSAndroid Build Coastguard Worker   0x001dfbe7, 0x0001c3f7, 0x0005c3f7, 0x0009c3f7, 0x000dc3f7, 0x0011c3f7,
178*f4ee7fbaSAndroid Build Coastguard Worker   0x0015c3f7, 0x0019c3f7, 0x001dc3f7, 0x0001cbf7, 0x0005cbf7, 0x0009cbf7,
179*f4ee7fbaSAndroid Build Coastguard Worker   0x000dcbf7, 0x0011cbf7, 0x0015cbf7, 0x0019cbf7, 0x001dcbf7, 0x0001d3f7,
180*f4ee7fbaSAndroid Build Coastguard Worker   0x0005d3f7, 0x0009d3f7, 0x000dd3f7, 0x0011d3f7, 0x0015d3f7, 0x0019d3f7,
181*f4ee7fbaSAndroid Build Coastguard Worker   0x001dd3f7, 0x0001dbf7, 0x0005dbf7, 0x0009dbf7, 0x000ddbf7, 0x0011dbf7,
182*f4ee7fbaSAndroid Build Coastguard Worker   0x0015dbf7, 0x0019dbf7, 0x001ddbf7, 0x0001e3f7, 0x0005e3f7, 0x0009e3f7,
183*f4ee7fbaSAndroid Build Coastguard Worker   0x000de3f7, 0x0011e3f7, 0x0015e3f7, 0x0019e3f7, 0x001de3f7, 0x0001ebf7,
184*f4ee7fbaSAndroid Build Coastguard Worker   0x0005ebf7, 0x0009ebf7, 0x000debf7, 0x0011ebf7, 0x0015ebf7, 0x0019ebf7,
185*f4ee7fbaSAndroid Build Coastguard Worker   0x001debf7, 0x0001f3f7, 0x0005f3f7, 0x0009f3f7, 0x000df3f7, 0x0011f3f7,
186*f4ee7fbaSAndroid Build Coastguard Worker   0x0015f3f7, 0x0019f3f7, 0x001df3f7, 0x0001fbf7, 0x0005fbf7, 0x0009fbf7,
187*f4ee7fbaSAndroid Build Coastguard Worker   0x000dfbf7, 0x0011fbf7, 0x0015fbf7, 0x0019fbf7, 0x001dfbf7, 0x00e1c387,
188*f4ee7fbaSAndroid Build Coastguard Worker   0x02e1c387, 0x04e1c387, 0x06e1c387, 0x08e1c387, 0x0ae1c387, 0x0ce1c387,
189*f4ee7fbaSAndroid Build Coastguard Worker   0x0ee1c387, 0x00e5c387, 0x02e5c387, 0x04e5c387, 0x06e5c387, 0x08e5c387,
190*f4ee7fbaSAndroid Build Coastguard Worker   0x0ae5c387, 0x0ce5c387, 0x0ee5c387, 0x00e9c387, 0x02e9c387, 0x04e9c387,
191*f4ee7fbaSAndroid Build Coastguard Worker   0x06e9c387, 0x08e9c387, 0x0ae9c387, 0x0ce9c387, 0x0ee9c387, 0x00edc387,
192*f4ee7fbaSAndroid Build Coastguard Worker   0x02edc387, 0x04edc387, 0x06edc387, 0x08edc387, 0x0aedc387, 0x0cedc387,
193*f4ee7fbaSAndroid Build Coastguard Worker   0x0eedc387, 0x00f1c387, 0x02f1c387, 0x04f1c387, 0x06f1c387, 0x08f1c387,
194*f4ee7fbaSAndroid Build Coastguard Worker   0x0af1c387, 0x0cf1c387, 0x0ef1c387, 0x00f5c387, 0x02f5c387, 0x04f5c387,
195*f4ee7fbaSAndroid Build Coastguard Worker   0x06f5c387, 0x08f5c387, 0x0af5c387, 0x0cf5c387, 0x0ef5c387, 0x00f9c387,
196*f4ee7fbaSAndroid Build Coastguard Worker   0x02f9c387, 0x04f9c387, 0x06f9c387, 0x08f9c387, 0x0af9c387, 0x0cf9c387,
197*f4ee7fbaSAndroid Build Coastguard Worker   0x0ef9c387, 0x00fdc387, 0x02fdc387, 0x04fdc387, 0x06fdc387, 0x08fdc387,
198*f4ee7fbaSAndroid Build Coastguard Worker   0x0afdc387, 0x0cfdc387, 0x0efdc387, 0x00e1cb87, 0x02e1cb87, 0x04e1cb87,
199*f4ee7fbaSAndroid Build Coastguard Worker   0x06e1cb87, 0x08e1cb87, 0x0ae1cb87, 0x0ce1cb87, 0x0ee1cb87, 0x00e5cb87,
200*f4ee7fbaSAndroid Build Coastguard Worker   0x02e5cb87, 0x04e5cb87, 0x06e5cb87, 0x08e5cb87, 0x0ae5cb87, 0x0ce5cb87,
201*f4ee7fbaSAndroid Build Coastguard Worker   0x0ee5cb87, 0x00e9cb87, 0x02e9cb87, 0x04e9cb87, 0x06e9cb87, 0x08e9cb87,
202*f4ee7fbaSAndroid Build Coastguard Worker   0x0ae9cb87, 0x0ce9cb87, 0x0ee9cb87, 0x00edcb87, 0x02edcb87, 0x04edcb87,
203*f4ee7fbaSAndroid Build Coastguard Worker   0x06edcb87, 0x08edcb87, 0x0aedcb87, 0x0cedcb87, 0x0eedcb87, 0x00f1cb87,
204*f4ee7fbaSAndroid Build Coastguard Worker   0x02f1cb87, 0x04f1cb87, 0x06f1cb87, 0x08f1cb87, 0x0af1cb87, 0x0cf1cb87,
205*f4ee7fbaSAndroid Build Coastguard Worker   0x0ef1cb87, 0x00f5cb87, 0x02f5cb87, 0x04f5cb87, 0x06f5cb87, 0x08f5cb87,
206*f4ee7fbaSAndroid Build Coastguard Worker   0x0af5cb87, 0x0cf5cb87, 0x0ef5cb87, 0x00f9cb87, 0x02f9cb87, 0x04f9cb87,
207*f4ee7fbaSAndroid Build Coastguard Worker   0x06f9cb87, 0x08f9cb87,
208*f4ee7fbaSAndroid Build Coastguard Worker };
209*f4ee7fbaSAndroid Build Coastguard Worker 
210*f4ee7fbaSAndroid Build Coastguard Worker static const uint32_t kZeroRepsDepth[BROTLI_NUM_COMMAND_SYMBOLS] = {
211*f4ee7fbaSAndroid Build Coastguard Worker    0,  4,  8,  7,  7,  7,  7,  7,  7,  7,  7, 11, 14, 14, 14, 14,
212*f4ee7fbaSAndroid Build Coastguard Worker   14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
213*f4ee7fbaSAndroid Build Coastguard Worker   14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
214*f4ee7fbaSAndroid Build Coastguard Worker   14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
215*f4ee7fbaSAndroid Build Coastguard Worker   14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 21, 21, 21, 21,
216*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
217*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
218*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
219*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
220*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
221*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
222*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
223*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
224*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
225*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
226*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
227*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
228*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
229*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
230*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
231*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
232*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
233*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
234*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
235*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
236*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
237*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
238*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
239*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
240*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
241*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
242*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
243*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
244*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
245*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
246*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
247*f4ee7fbaSAndroid Build Coastguard Worker   21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 28, 28, 28, 28, 28,
248*f4ee7fbaSAndroid Build Coastguard Worker   28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
249*f4ee7fbaSAndroid Build Coastguard Worker   28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
250*f4ee7fbaSAndroid Build Coastguard Worker   28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
251*f4ee7fbaSAndroid Build Coastguard Worker   28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
252*f4ee7fbaSAndroid Build Coastguard Worker   28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
253*f4ee7fbaSAndroid Build Coastguard Worker   28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
254*f4ee7fbaSAndroid Build Coastguard Worker   28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
255*f4ee7fbaSAndroid Build Coastguard Worker };
256*f4ee7fbaSAndroid Build Coastguard Worker 
257*f4ee7fbaSAndroid Build Coastguard Worker static const uint64_t kNonZeroRepsBits[BROTLI_NUM_COMMAND_SYMBOLS] = {
258*f4ee7fbaSAndroid Build Coastguard Worker   0x0000000b, 0x0000001b, 0x0000002b, 0x0000003b, 0x000002cb, 0x000006cb,
259*f4ee7fbaSAndroid Build Coastguard Worker   0x00000acb, 0x00000ecb, 0x000002db, 0x000006db, 0x00000adb, 0x00000edb,
260*f4ee7fbaSAndroid Build Coastguard Worker   0x000002eb, 0x000006eb, 0x00000aeb, 0x00000eeb, 0x000002fb, 0x000006fb,
261*f4ee7fbaSAndroid Build Coastguard Worker   0x00000afb, 0x00000efb, 0x0000b2cb, 0x0001b2cb, 0x0002b2cb, 0x0003b2cb,
262*f4ee7fbaSAndroid Build Coastguard Worker   0x0000b6cb, 0x0001b6cb, 0x0002b6cb, 0x0003b6cb, 0x0000bacb, 0x0001bacb,
263*f4ee7fbaSAndroid Build Coastguard Worker   0x0002bacb, 0x0003bacb, 0x0000becb, 0x0001becb, 0x0002becb, 0x0003becb,
264*f4ee7fbaSAndroid Build Coastguard Worker   0x0000b2db, 0x0001b2db, 0x0002b2db, 0x0003b2db, 0x0000b6db, 0x0001b6db,
265*f4ee7fbaSAndroid Build Coastguard Worker   0x0002b6db, 0x0003b6db, 0x0000badb, 0x0001badb, 0x0002badb, 0x0003badb,
266*f4ee7fbaSAndroid Build Coastguard Worker   0x0000bedb, 0x0001bedb, 0x0002bedb, 0x0003bedb, 0x0000b2eb, 0x0001b2eb,
267*f4ee7fbaSAndroid Build Coastguard Worker   0x0002b2eb, 0x0003b2eb, 0x0000b6eb, 0x0001b6eb, 0x0002b6eb, 0x0003b6eb,
268*f4ee7fbaSAndroid Build Coastguard Worker   0x0000baeb, 0x0001baeb, 0x0002baeb, 0x0003baeb, 0x0000beeb, 0x0001beeb,
269*f4ee7fbaSAndroid Build Coastguard Worker   0x0002beeb, 0x0003beeb, 0x0000b2fb, 0x0001b2fb, 0x0002b2fb, 0x0003b2fb,
270*f4ee7fbaSAndroid Build Coastguard Worker   0x0000b6fb, 0x0001b6fb, 0x0002b6fb, 0x0003b6fb, 0x0000bafb, 0x0001bafb,
271*f4ee7fbaSAndroid Build Coastguard Worker   0x0002bafb, 0x0003bafb, 0x0000befb, 0x0001befb, 0x0002befb, 0x0003befb,
272*f4ee7fbaSAndroid Build Coastguard Worker   0x002cb2cb, 0x006cb2cb, 0x00acb2cb, 0x00ecb2cb, 0x002db2cb, 0x006db2cb,
273*f4ee7fbaSAndroid Build Coastguard Worker   0x00adb2cb, 0x00edb2cb, 0x002eb2cb, 0x006eb2cb, 0x00aeb2cb, 0x00eeb2cb,
274*f4ee7fbaSAndroid Build Coastguard Worker   0x002fb2cb, 0x006fb2cb, 0x00afb2cb, 0x00efb2cb, 0x002cb6cb, 0x006cb6cb,
275*f4ee7fbaSAndroid Build Coastguard Worker   0x00acb6cb, 0x00ecb6cb, 0x002db6cb, 0x006db6cb, 0x00adb6cb, 0x00edb6cb,
276*f4ee7fbaSAndroid Build Coastguard Worker   0x002eb6cb, 0x006eb6cb, 0x00aeb6cb, 0x00eeb6cb, 0x002fb6cb, 0x006fb6cb,
277*f4ee7fbaSAndroid Build Coastguard Worker   0x00afb6cb, 0x00efb6cb, 0x002cbacb, 0x006cbacb, 0x00acbacb, 0x00ecbacb,
278*f4ee7fbaSAndroid Build Coastguard Worker   0x002dbacb, 0x006dbacb, 0x00adbacb, 0x00edbacb, 0x002ebacb, 0x006ebacb,
279*f4ee7fbaSAndroid Build Coastguard Worker   0x00aebacb, 0x00eebacb, 0x002fbacb, 0x006fbacb, 0x00afbacb, 0x00efbacb,
280*f4ee7fbaSAndroid Build Coastguard Worker   0x002cbecb, 0x006cbecb, 0x00acbecb, 0x00ecbecb, 0x002dbecb, 0x006dbecb,
281*f4ee7fbaSAndroid Build Coastguard Worker   0x00adbecb, 0x00edbecb, 0x002ebecb, 0x006ebecb, 0x00aebecb, 0x00eebecb,
282*f4ee7fbaSAndroid Build Coastguard Worker   0x002fbecb, 0x006fbecb, 0x00afbecb, 0x00efbecb, 0x002cb2db, 0x006cb2db,
283*f4ee7fbaSAndroid Build Coastguard Worker   0x00acb2db, 0x00ecb2db, 0x002db2db, 0x006db2db, 0x00adb2db, 0x00edb2db,
284*f4ee7fbaSAndroid Build Coastguard Worker   0x002eb2db, 0x006eb2db, 0x00aeb2db, 0x00eeb2db, 0x002fb2db, 0x006fb2db,
285*f4ee7fbaSAndroid Build Coastguard Worker   0x00afb2db, 0x00efb2db, 0x002cb6db, 0x006cb6db, 0x00acb6db, 0x00ecb6db,
286*f4ee7fbaSAndroid Build Coastguard Worker   0x002db6db, 0x006db6db, 0x00adb6db, 0x00edb6db, 0x002eb6db, 0x006eb6db,
287*f4ee7fbaSAndroid Build Coastguard Worker   0x00aeb6db, 0x00eeb6db, 0x002fb6db, 0x006fb6db, 0x00afb6db, 0x00efb6db,
288*f4ee7fbaSAndroid Build Coastguard Worker   0x002cbadb, 0x006cbadb, 0x00acbadb, 0x00ecbadb, 0x002dbadb, 0x006dbadb,
289*f4ee7fbaSAndroid Build Coastguard Worker   0x00adbadb, 0x00edbadb, 0x002ebadb, 0x006ebadb, 0x00aebadb, 0x00eebadb,
290*f4ee7fbaSAndroid Build Coastguard Worker   0x002fbadb, 0x006fbadb, 0x00afbadb, 0x00efbadb, 0x002cbedb, 0x006cbedb,
291*f4ee7fbaSAndroid Build Coastguard Worker   0x00acbedb, 0x00ecbedb, 0x002dbedb, 0x006dbedb, 0x00adbedb, 0x00edbedb,
292*f4ee7fbaSAndroid Build Coastguard Worker   0x002ebedb, 0x006ebedb, 0x00aebedb, 0x00eebedb, 0x002fbedb, 0x006fbedb,
293*f4ee7fbaSAndroid Build Coastguard Worker   0x00afbedb, 0x00efbedb, 0x002cb2eb, 0x006cb2eb, 0x00acb2eb, 0x00ecb2eb,
294*f4ee7fbaSAndroid Build Coastguard Worker   0x002db2eb, 0x006db2eb, 0x00adb2eb, 0x00edb2eb, 0x002eb2eb, 0x006eb2eb,
295*f4ee7fbaSAndroid Build Coastguard Worker   0x00aeb2eb, 0x00eeb2eb, 0x002fb2eb, 0x006fb2eb, 0x00afb2eb, 0x00efb2eb,
296*f4ee7fbaSAndroid Build Coastguard Worker   0x002cb6eb, 0x006cb6eb, 0x00acb6eb, 0x00ecb6eb, 0x002db6eb, 0x006db6eb,
297*f4ee7fbaSAndroid Build Coastguard Worker   0x00adb6eb, 0x00edb6eb, 0x002eb6eb, 0x006eb6eb, 0x00aeb6eb, 0x00eeb6eb,
298*f4ee7fbaSAndroid Build Coastguard Worker   0x002fb6eb, 0x006fb6eb, 0x00afb6eb, 0x00efb6eb, 0x002cbaeb, 0x006cbaeb,
299*f4ee7fbaSAndroid Build Coastguard Worker   0x00acbaeb, 0x00ecbaeb, 0x002dbaeb, 0x006dbaeb, 0x00adbaeb, 0x00edbaeb,
300*f4ee7fbaSAndroid Build Coastguard Worker   0x002ebaeb, 0x006ebaeb, 0x00aebaeb, 0x00eebaeb, 0x002fbaeb, 0x006fbaeb,
301*f4ee7fbaSAndroid Build Coastguard Worker   0x00afbaeb, 0x00efbaeb, 0x002cbeeb, 0x006cbeeb, 0x00acbeeb, 0x00ecbeeb,
302*f4ee7fbaSAndroid Build Coastguard Worker   0x002dbeeb, 0x006dbeeb, 0x00adbeeb, 0x00edbeeb, 0x002ebeeb, 0x006ebeeb,
303*f4ee7fbaSAndroid Build Coastguard Worker   0x00aebeeb, 0x00eebeeb, 0x002fbeeb, 0x006fbeeb, 0x00afbeeb, 0x00efbeeb,
304*f4ee7fbaSAndroid Build Coastguard Worker   0x002cb2fb, 0x006cb2fb, 0x00acb2fb, 0x00ecb2fb, 0x002db2fb, 0x006db2fb,
305*f4ee7fbaSAndroid Build Coastguard Worker   0x00adb2fb, 0x00edb2fb, 0x002eb2fb, 0x006eb2fb, 0x00aeb2fb, 0x00eeb2fb,
306*f4ee7fbaSAndroid Build Coastguard Worker   0x002fb2fb, 0x006fb2fb, 0x00afb2fb, 0x00efb2fb, 0x002cb6fb, 0x006cb6fb,
307*f4ee7fbaSAndroid Build Coastguard Worker   0x00acb6fb, 0x00ecb6fb, 0x002db6fb, 0x006db6fb, 0x00adb6fb, 0x00edb6fb,
308*f4ee7fbaSAndroid Build Coastguard Worker   0x002eb6fb, 0x006eb6fb, 0x00aeb6fb, 0x00eeb6fb, 0x002fb6fb, 0x006fb6fb,
309*f4ee7fbaSAndroid Build Coastguard Worker   0x00afb6fb, 0x00efb6fb, 0x002cbafb, 0x006cbafb, 0x00acbafb, 0x00ecbafb,
310*f4ee7fbaSAndroid Build Coastguard Worker   0x002dbafb, 0x006dbafb, 0x00adbafb, 0x00edbafb, 0x002ebafb, 0x006ebafb,
311*f4ee7fbaSAndroid Build Coastguard Worker   0x00aebafb, 0x00eebafb, 0x002fbafb, 0x006fbafb, 0x00afbafb, 0x00efbafb,
312*f4ee7fbaSAndroid Build Coastguard Worker   0x002cbefb, 0x006cbefb, 0x00acbefb, 0x00ecbefb, 0x002dbefb, 0x006dbefb,
313*f4ee7fbaSAndroid Build Coastguard Worker   0x00adbefb, 0x00edbefb, 0x002ebefb, 0x006ebefb, 0x00aebefb, 0x00eebefb,
314*f4ee7fbaSAndroid Build Coastguard Worker   0x002fbefb, 0x006fbefb, 0x00afbefb, 0x00efbefb, 0x0b2cb2cb, 0x1b2cb2cb,
315*f4ee7fbaSAndroid Build Coastguard Worker   0x2b2cb2cb, 0x3b2cb2cb, 0x0b6cb2cb, 0x1b6cb2cb, 0x2b6cb2cb, 0x3b6cb2cb,
316*f4ee7fbaSAndroid Build Coastguard Worker   0x0bacb2cb, 0x1bacb2cb, 0x2bacb2cb, 0x3bacb2cb, 0x0becb2cb, 0x1becb2cb,
317*f4ee7fbaSAndroid Build Coastguard Worker   0x2becb2cb, 0x3becb2cb, 0x0b2db2cb, 0x1b2db2cb, 0x2b2db2cb, 0x3b2db2cb,
318*f4ee7fbaSAndroid Build Coastguard Worker   0x0b6db2cb, 0x1b6db2cb, 0x2b6db2cb, 0x3b6db2cb, 0x0badb2cb, 0x1badb2cb,
319*f4ee7fbaSAndroid Build Coastguard Worker   0x2badb2cb, 0x3badb2cb, 0x0bedb2cb, 0x1bedb2cb, 0x2bedb2cb, 0x3bedb2cb,
320*f4ee7fbaSAndroid Build Coastguard Worker   0x0b2eb2cb, 0x1b2eb2cb, 0x2b2eb2cb, 0x3b2eb2cb, 0x0b6eb2cb, 0x1b6eb2cb,
321*f4ee7fbaSAndroid Build Coastguard Worker   0x2b6eb2cb, 0x3b6eb2cb, 0x0baeb2cb, 0x1baeb2cb, 0x2baeb2cb, 0x3baeb2cb,
322*f4ee7fbaSAndroid Build Coastguard Worker   0x0beeb2cb, 0x1beeb2cb, 0x2beeb2cb, 0x3beeb2cb, 0x0b2fb2cb, 0x1b2fb2cb,
323*f4ee7fbaSAndroid Build Coastguard Worker   0x2b2fb2cb, 0x3b2fb2cb, 0x0b6fb2cb, 0x1b6fb2cb, 0x2b6fb2cb, 0x3b6fb2cb,
324*f4ee7fbaSAndroid Build Coastguard Worker   0x0bafb2cb, 0x1bafb2cb, 0x2bafb2cb, 0x3bafb2cb, 0x0befb2cb, 0x1befb2cb,
325*f4ee7fbaSAndroid Build Coastguard Worker   0x2befb2cb, 0x3befb2cb, 0x0b2cb6cb, 0x1b2cb6cb, 0x2b2cb6cb, 0x3b2cb6cb,
326*f4ee7fbaSAndroid Build Coastguard Worker   0x0b6cb6cb, 0x1b6cb6cb, 0x2b6cb6cb, 0x3b6cb6cb, 0x0bacb6cb, 0x1bacb6cb,
327*f4ee7fbaSAndroid Build Coastguard Worker   0x2bacb6cb, 0x3bacb6cb, 0x0becb6cb, 0x1becb6cb, 0x2becb6cb, 0x3becb6cb,
328*f4ee7fbaSAndroid Build Coastguard Worker   0x0b2db6cb, 0x1b2db6cb, 0x2b2db6cb, 0x3b2db6cb, 0x0b6db6cb, 0x1b6db6cb,
329*f4ee7fbaSAndroid Build Coastguard Worker   0x2b6db6cb, 0x3b6db6cb, 0x0badb6cb, 0x1badb6cb, 0x2badb6cb, 0x3badb6cb,
330*f4ee7fbaSAndroid Build Coastguard Worker   0x0bedb6cb, 0x1bedb6cb, 0x2bedb6cb, 0x3bedb6cb, 0x0b2eb6cb, 0x1b2eb6cb,
331*f4ee7fbaSAndroid Build Coastguard Worker   0x2b2eb6cb, 0x3b2eb6cb, 0x0b6eb6cb, 0x1b6eb6cb, 0x2b6eb6cb, 0x3b6eb6cb,
332*f4ee7fbaSAndroid Build Coastguard Worker   0x0baeb6cb, 0x1baeb6cb, 0x2baeb6cb, 0x3baeb6cb, 0x0beeb6cb, 0x1beeb6cb,
333*f4ee7fbaSAndroid Build Coastguard Worker   0x2beeb6cb, 0x3beeb6cb, 0x0b2fb6cb, 0x1b2fb6cb, 0x2b2fb6cb, 0x3b2fb6cb,
334*f4ee7fbaSAndroid Build Coastguard Worker   0x0b6fb6cb, 0x1b6fb6cb, 0x2b6fb6cb, 0x3b6fb6cb, 0x0bafb6cb, 0x1bafb6cb,
335*f4ee7fbaSAndroid Build Coastguard Worker   0x2bafb6cb, 0x3bafb6cb, 0x0befb6cb, 0x1befb6cb, 0x2befb6cb, 0x3befb6cb,
336*f4ee7fbaSAndroid Build Coastguard Worker   0x0b2cbacb, 0x1b2cbacb, 0x2b2cbacb, 0x3b2cbacb, 0x0b6cbacb, 0x1b6cbacb,
337*f4ee7fbaSAndroid Build Coastguard Worker   0x2b6cbacb, 0x3b6cbacb, 0x0bacbacb, 0x1bacbacb, 0x2bacbacb, 0x3bacbacb,
338*f4ee7fbaSAndroid Build Coastguard Worker   0x0becbacb, 0x1becbacb, 0x2becbacb, 0x3becbacb, 0x0b2dbacb, 0x1b2dbacb,
339*f4ee7fbaSAndroid Build Coastguard Worker   0x2b2dbacb, 0x3b2dbacb, 0x0b6dbacb, 0x1b6dbacb, 0x2b6dbacb, 0x3b6dbacb,
340*f4ee7fbaSAndroid Build Coastguard Worker   0x0badbacb, 0x1badbacb, 0x2badbacb, 0x3badbacb, 0x0bedbacb, 0x1bedbacb,
341*f4ee7fbaSAndroid Build Coastguard Worker   0x2bedbacb, 0x3bedbacb, 0x0b2ebacb, 0x1b2ebacb, 0x2b2ebacb, 0x3b2ebacb,
342*f4ee7fbaSAndroid Build Coastguard Worker   0x0b6ebacb, 0x1b6ebacb, 0x2b6ebacb, 0x3b6ebacb, 0x0baebacb, 0x1baebacb,
343*f4ee7fbaSAndroid Build Coastguard Worker   0x2baebacb, 0x3baebacb, 0x0beebacb, 0x1beebacb, 0x2beebacb, 0x3beebacb,
344*f4ee7fbaSAndroid Build Coastguard Worker   0x0b2fbacb, 0x1b2fbacb, 0x2b2fbacb, 0x3b2fbacb, 0x0b6fbacb, 0x1b6fbacb,
345*f4ee7fbaSAndroid Build Coastguard Worker   0x2b6fbacb, 0x3b6fbacb, 0x0bafbacb, 0x1bafbacb, 0x2bafbacb, 0x3bafbacb,
346*f4ee7fbaSAndroid Build Coastguard Worker   0x0befbacb, 0x1befbacb, 0x2befbacb, 0x3befbacb, 0x0b2cbecb, 0x1b2cbecb,
347*f4ee7fbaSAndroid Build Coastguard Worker   0x2b2cbecb, 0x3b2cbecb, 0x0b6cbecb, 0x1b6cbecb, 0x2b6cbecb, 0x3b6cbecb,
348*f4ee7fbaSAndroid Build Coastguard Worker   0x0bacbecb, 0x1bacbecb, 0x2bacbecb, 0x3bacbecb, 0x0becbecb, 0x1becbecb,
349*f4ee7fbaSAndroid Build Coastguard Worker   0x2becbecb, 0x3becbecb, 0x0b2dbecb, 0x1b2dbecb, 0x2b2dbecb, 0x3b2dbecb,
350*f4ee7fbaSAndroid Build Coastguard Worker   0x0b6dbecb, 0x1b6dbecb, 0x2b6dbecb, 0x3b6dbecb, 0x0badbecb, 0x1badbecb,
351*f4ee7fbaSAndroid Build Coastguard Worker   0x2badbecb, 0x3badbecb, 0x0bedbecb, 0x1bedbecb, 0x2bedbecb, 0x3bedbecb,
352*f4ee7fbaSAndroid Build Coastguard Worker   0x0b2ebecb, 0x1b2ebecb, 0x2b2ebecb, 0x3b2ebecb, 0x0b6ebecb, 0x1b6ebecb,
353*f4ee7fbaSAndroid Build Coastguard Worker   0x2b6ebecb, 0x3b6ebecb, 0x0baebecb, 0x1baebecb, 0x2baebecb, 0x3baebecb,
354*f4ee7fbaSAndroid Build Coastguard Worker   0x0beebecb, 0x1beebecb, 0x2beebecb, 0x3beebecb, 0x0b2fbecb, 0x1b2fbecb,
355*f4ee7fbaSAndroid Build Coastguard Worker   0x2b2fbecb, 0x3b2fbecb, 0x0b6fbecb, 0x1b6fbecb, 0x2b6fbecb, 0x3b6fbecb,
356*f4ee7fbaSAndroid Build Coastguard Worker   0x0bafbecb, 0x1bafbecb, 0x2bafbecb, 0x3bafbecb, 0x0befbecb, 0x1befbecb,
357*f4ee7fbaSAndroid Build Coastguard Worker   0x2befbecb, 0x3befbecb, 0x0b2cb2db, 0x1b2cb2db, 0x2b2cb2db, 0x3b2cb2db,
358*f4ee7fbaSAndroid Build Coastguard Worker   0x0b6cb2db, 0x1b6cb2db, 0x2b6cb2db, 0x3b6cb2db, 0x0bacb2db, 0x1bacb2db,
359*f4ee7fbaSAndroid Build Coastguard Worker   0x2bacb2db, 0x3bacb2db, 0x0becb2db, 0x1becb2db, 0x2becb2db, 0x3becb2db,
360*f4ee7fbaSAndroid Build Coastguard Worker   0x0b2db2db, 0x1b2db2db, 0x2b2db2db, 0x3b2db2db, 0x0b6db2db, 0x1b6db2db,
361*f4ee7fbaSAndroid Build Coastguard Worker   0x2b6db2db, 0x3b6db2db, 0x0badb2db, 0x1badb2db, 0x2badb2db, 0x3badb2db,
362*f4ee7fbaSAndroid Build Coastguard Worker   0x0bedb2db, 0x1bedb2db, 0x2bedb2db, 0x3bedb2db, 0x0b2eb2db, 0x1b2eb2db,
363*f4ee7fbaSAndroid Build Coastguard Worker   0x2b2eb2db, 0x3b2eb2db, 0x0b6eb2db, 0x1b6eb2db, 0x2b6eb2db, 0x3b6eb2db,
364*f4ee7fbaSAndroid Build Coastguard Worker   0x0baeb2db, 0x1baeb2db, 0x2baeb2db, 0x3baeb2db, 0x0beeb2db, 0x1beeb2db,
365*f4ee7fbaSAndroid Build Coastguard Worker   0x2beeb2db, 0x3beeb2db, 0x0b2fb2db, 0x1b2fb2db, 0x2b2fb2db, 0x3b2fb2db,
366*f4ee7fbaSAndroid Build Coastguard Worker   0x0b6fb2db, 0x1b6fb2db, 0x2b6fb2db, 0x3b6fb2db, 0x0bafb2db, 0x1bafb2db,
367*f4ee7fbaSAndroid Build Coastguard Worker   0x2bafb2db, 0x3bafb2db, 0x0befb2db, 0x1befb2db, 0x2befb2db, 0x3befb2db,
368*f4ee7fbaSAndroid Build Coastguard Worker   0x0b2cb6db, 0x1b2cb6db, 0x2b2cb6db, 0x3b2cb6db, 0x0b6cb6db, 0x1b6cb6db,
369*f4ee7fbaSAndroid Build Coastguard Worker   0x2b6cb6db, 0x3b6cb6db, 0x0bacb6db, 0x1bacb6db, 0x2bacb6db, 0x3bacb6db,
370*f4ee7fbaSAndroid Build Coastguard Worker   0x0becb6db, 0x1becb6db, 0x2becb6db, 0x3becb6db, 0x0b2db6db, 0x1b2db6db,
371*f4ee7fbaSAndroid Build Coastguard Worker   0x2b2db6db, 0x3b2db6db, 0x0b6db6db, 0x1b6db6db, 0x2b6db6db, 0x3b6db6db,
372*f4ee7fbaSAndroid Build Coastguard Worker   0x0badb6db, 0x1badb6db, 0x2badb6db, 0x3badb6db, 0x0bedb6db, 0x1bedb6db,
373*f4ee7fbaSAndroid Build Coastguard Worker   0x2bedb6db, 0x3bedb6db, 0x0b2eb6db, 0x1b2eb6db, 0x2b2eb6db, 0x3b2eb6db,
374*f4ee7fbaSAndroid Build Coastguard Worker   0x0b6eb6db, 0x1b6eb6db, 0x2b6eb6db, 0x3b6eb6db, 0x0baeb6db, 0x1baeb6db,
375*f4ee7fbaSAndroid Build Coastguard Worker   0x2baeb6db, 0x3baeb6db,
376*f4ee7fbaSAndroid Build Coastguard Worker };
377*f4ee7fbaSAndroid Build Coastguard Worker 
378*f4ee7fbaSAndroid Build Coastguard Worker static const uint32_t kNonZeroRepsDepth[BROTLI_NUM_COMMAND_SYMBOLS] = {
379*f4ee7fbaSAndroid Build Coastguard Worker    6,  6,  6,  6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
380*f4ee7fbaSAndroid Build Coastguard Worker   12, 12, 12, 12, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
381*f4ee7fbaSAndroid Build Coastguard Worker   18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
382*f4ee7fbaSAndroid Build Coastguard Worker   18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
383*f4ee7fbaSAndroid Build Coastguard Worker   18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
384*f4ee7fbaSAndroid Build Coastguard Worker   18, 18, 18, 18, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
385*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
386*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
387*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
388*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
389*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
390*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
391*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
392*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
393*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
394*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
395*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
396*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
397*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
398*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
399*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
400*f4ee7fbaSAndroid Build Coastguard Worker   24, 24, 24, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
401*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
402*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
403*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
404*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
405*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
406*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
407*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
408*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
409*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
410*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
411*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
412*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
413*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
414*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
415*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
416*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
417*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
418*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
419*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
420*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
421*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
422*f4ee7fbaSAndroid Build Coastguard Worker   30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
423*f4ee7fbaSAndroid Build Coastguard Worker };
424*f4ee7fbaSAndroid Build Coastguard Worker 
425*f4ee7fbaSAndroid Build Coastguard Worker static const uint16_t kStaticCommandCodeBits[BROTLI_NUM_COMMAND_SYMBOLS] = {
426*f4ee7fbaSAndroid Build Coastguard Worker     0,  256,  128,  384,   64,  320,  192,  448,
427*f4ee7fbaSAndroid Build Coastguard Worker    32,  288,  160,  416,   96,  352,  224,  480,
428*f4ee7fbaSAndroid Build Coastguard Worker    16,  272,  144,  400,   80,  336,  208,  464,
429*f4ee7fbaSAndroid Build Coastguard Worker    48,  304,  176,  432,  112,  368,  240,  496,
430*f4ee7fbaSAndroid Build Coastguard Worker     8,  264,  136,  392,   72,  328,  200,  456,
431*f4ee7fbaSAndroid Build Coastguard Worker    40,  296,  168,  424,  104,  360,  232,  488,
432*f4ee7fbaSAndroid Build Coastguard Worker    24,  280,  152,  408,   88,  344,  216,  472,
433*f4ee7fbaSAndroid Build Coastguard Worker    56,  312,  184,  440,  120,  376,  248,  504,
434*f4ee7fbaSAndroid Build Coastguard Worker     4,  260,  132,  388,   68,  324,  196,  452,
435*f4ee7fbaSAndroid Build Coastguard Worker    36,  292,  164,  420,  100,  356,  228,  484,
436*f4ee7fbaSAndroid Build Coastguard Worker    20,  276,  148,  404,   84,  340,  212,  468,
437*f4ee7fbaSAndroid Build Coastguard Worker    52,  308,  180,  436,  116,  372,  244,  500,
438*f4ee7fbaSAndroid Build Coastguard Worker    12,  268,  140,  396,   76,  332,  204,  460,
439*f4ee7fbaSAndroid Build Coastguard Worker    44,  300,  172,  428,  108,  364,  236,  492,
440*f4ee7fbaSAndroid Build Coastguard Worker    28,  284,  156,  412,   92,  348,  220,  476,
441*f4ee7fbaSAndroid Build Coastguard Worker    60,  316,  188,  444,  124,  380,  252,  508,
442*f4ee7fbaSAndroid Build Coastguard Worker     2,  258,  130,  386,   66,  322,  194,  450,
443*f4ee7fbaSAndroid Build Coastguard Worker    34,  290,  162,  418,   98,  354,  226,  482,
444*f4ee7fbaSAndroid Build Coastguard Worker    18,  274,  146,  402,   82,  338,  210,  466,
445*f4ee7fbaSAndroid Build Coastguard Worker    50,  306,  178,  434,  114,  370,  242,  498,
446*f4ee7fbaSAndroid Build Coastguard Worker    10,  266,  138,  394,   74,  330,  202,  458,
447*f4ee7fbaSAndroid Build Coastguard Worker    42,  298,  170,  426,  106,  362,  234,  490,
448*f4ee7fbaSAndroid Build Coastguard Worker    26,  282,  154,  410,   90,  346,  218,  474,
449*f4ee7fbaSAndroid Build Coastguard Worker    58,  314,  186,  442,  122,  378,  250,  506,
450*f4ee7fbaSAndroid Build Coastguard Worker     6,  262,  134,  390,   70,  326,  198,  454,
451*f4ee7fbaSAndroid Build Coastguard Worker    38,  294,  166,  422,  102,  358,  230,  486,
452*f4ee7fbaSAndroid Build Coastguard Worker    22,  278,  150,  406,   86,  342,  214,  470,
453*f4ee7fbaSAndroid Build Coastguard Worker    54,  310,  182,  438,  118,  374,  246,  502,
454*f4ee7fbaSAndroid Build Coastguard Worker    14,  270,  142,  398,   78,  334,  206,  462,
455*f4ee7fbaSAndroid Build Coastguard Worker    46,  302,  174,  430,  110,  366,  238,  494,
456*f4ee7fbaSAndroid Build Coastguard Worker    30,  286,  158,  414,   94,  350,  222,  478,
457*f4ee7fbaSAndroid Build Coastguard Worker    62,  318,  190,  446,  126,  382,  254,  510,
458*f4ee7fbaSAndroid Build Coastguard Worker     1,  257,  129,  385,   65,  321,  193,  449,
459*f4ee7fbaSAndroid Build Coastguard Worker    33,  289,  161,  417,   97,  353,  225,  481,
460*f4ee7fbaSAndroid Build Coastguard Worker    17,  273,  145,  401,   81,  337,  209,  465,
461*f4ee7fbaSAndroid Build Coastguard Worker    49,  305,  177,  433,  113,  369,  241,  497,
462*f4ee7fbaSAndroid Build Coastguard Worker     9,  265,  137,  393,   73,  329,  201,  457,
463*f4ee7fbaSAndroid Build Coastguard Worker    41,  297,  169,  425,  105,  361,  233,  489,
464*f4ee7fbaSAndroid Build Coastguard Worker    25,  281,  153,  409,   89,  345,  217,  473,
465*f4ee7fbaSAndroid Build Coastguard Worker    57,  313,  185,  441,  121,  377,  249,  505,
466*f4ee7fbaSAndroid Build Coastguard Worker     5,  261,  133,  389,   69,  325,  197,  453,
467*f4ee7fbaSAndroid Build Coastguard Worker    37,  293,  165,  421,  101,  357,  229,  485,
468*f4ee7fbaSAndroid Build Coastguard Worker    21,  277,  149,  405,   85,  341,  213,  469,
469*f4ee7fbaSAndroid Build Coastguard Worker    53,  309,  181,  437,  117,  373,  245,  501,
470*f4ee7fbaSAndroid Build Coastguard Worker    13,  269,  141,  397,   77,  333,  205,  461,
471*f4ee7fbaSAndroid Build Coastguard Worker    45,  301,  173,  429,  109,  365,  237,  493,
472*f4ee7fbaSAndroid Build Coastguard Worker    29,  285,  157,  413,   93,  349,  221,  477,
473*f4ee7fbaSAndroid Build Coastguard Worker    61,  317,  189,  445,  125,  381,  253,  509,
474*f4ee7fbaSAndroid Build Coastguard Worker     3,  259,  131,  387,   67,  323,  195,  451,
475*f4ee7fbaSAndroid Build Coastguard Worker    35,  291,  163,  419,   99,  355,  227,  483,
476*f4ee7fbaSAndroid Build Coastguard Worker    19,  275,  147,  403,   83,  339,  211,  467,
477*f4ee7fbaSAndroid Build Coastguard Worker    51,  307,  179,  435,  115,  371,  243,  499,
478*f4ee7fbaSAndroid Build Coastguard Worker    11,  267,  139,  395,   75,  331,  203,  459,
479*f4ee7fbaSAndroid Build Coastguard Worker    43,  299,  171,  427,  107,  363,  235,  491,
480*f4ee7fbaSAndroid Build Coastguard Worker    27,  283,  155,  411,   91,  347,  219,  475,
481*f4ee7fbaSAndroid Build Coastguard Worker    59,  315,  187,  443,  123,  379,  251,  507,
482*f4ee7fbaSAndroid Build Coastguard Worker     7, 1031,  519, 1543,  263, 1287,  775, 1799,
483*f4ee7fbaSAndroid Build Coastguard Worker   135, 1159,  647, 1671,  391, 1415,  903, 1927,
484*f4ee7fbaSAndroid Build Coastguard Worker    71, 1095,  583, 1607,  327, 1351,  839, 1863,
485*f4ee7fbaSAndroid Build Coastguard Worker   199, 1223,  711, 1735,  455, 1479,  967, 1991,
486*f4ee7fbaSAndroid Build Coastguard Worker    39, 1063,  551, 1575,  295, 1319,  807, 1831,
487*f4ee7fbaSAndroid Build Coastguard Worker   167, 1191,  679, 1703,  423, 1447,  935, 1959,
488*f4ee7fbaSAndroid Build Coastguard Worker   103, 1127,  615, 1639,  359, 1383,  871, 1895,
489*f4ee7fbaSAndroid Build Coastguard Worker   231, 1255,  743, 1767,  487, 1511,  999, 2023,
490*f4ee7fbaSAndroid Build Coastguard Worker    23, 1047,  535, 1559,  279, 1303,  791, 1815,
491*f4ee7fbaSAndroid Build Coastguard Worker   151, 1175,  663, 1687,  407, 1431,  919, 1943,
492*f4ee7fbaSAndroid Build Coastguard Worker    87, 1111,  599, 1623,  343, 1367,  855, 1879,
493*f4ee7fbaSAndroid Build Coastguard Worker   215, 1239,  727, 1751,  471, 1495,  983, 2007,
494*f4ee7fbaSAndroid Build Coastguard Worker    55, 1079,  567, 1591,  311, 1335,  823, 1847,
495*f4ee7fbaSAndroid Build Coastguard Worker   183, 1207,  695, 1719,  439, 1463,  951, 1975,
496*f4ee7fbaSAndroid Build Coastguard Worker   119, 1143,  631, 1655,  375, 1399,  887, 1911,
497*f4ee7fbaSAndroid Build Coastguard Worker   247, 1271,  759, 1783,  503, 1527, 1015, 2039,
498*f4ee7fbaSAndroid Build Coastguard Worker    15, 1039,  527, 1551,  271, 1295,  783, 1807,
499*f4ee7fbaSAndroid Build Coastguard Worker   143, 1167,  655, 1679,  399, 1423,  911, 1935,
500*f4ee7fbaSAndroid Build Coastguard Worker    79, 1103,  591, 1615,  335, 1359,  847, 1871,
501*f4ee7fbaSAndroid Build Coastguard Worker   207, 1231,  719, 1743,  463, 1487,  975, 1999,
502*f4ee7fbaSAndroid Build Coastguard Worker    47, 1071,  559, 1583,  303, 1327,  815, 1839,
503*f4ee7fbaSAndroid Build Coastguard Worker   175, 1199,  687, 1711,  431, 1455,  943, 1967,
504*f4ee7fbaSAndroid Build Coastguard Worker   111, 1135,  623, 1647,  367, 1391,  879, 1903,
505*f4ee7fbaSAndroid Build Coastguard Worker   239, 1263,  751, 1775,  495, 1519, 1007, 2031,
506*f4ee7fbaSAndroid Build Coastguard Worker    31, 1055,  543, 1567,  287, 1311,  799, 1823,
507*f4ee7fbaSAndroid Build Coastguard Worker   159, 1183,  671, 1695,  415, 1439,  927, 1951,
508*f4ee7fbaSAndroid Build Coastguard Worker    95, 1119,  607, 1631,  351, 1375,  863, 1887,
509*f4ee7fbaSAndroid Build Coastguard Worker   223, 1247,  735, 1759,  479, 1503,  991, 2015,
510*f4ee7fbaSAndroid Build Coastguard Worker    63, 1087,  575, 1599,  319, 1343,  831, 1855,
511*f4ee7fbaSAndroid Build Coastguard Worker   191, 1215,  703, 1727,  447, 1471,  959, 1983,
512*f4ee7fbaSAndroid Build Coastguard Worker   127, 1151,  639, 1663,  383, 1407,  895, 1919,
513*f4ee7fbaSAndroid Build Coastguard Worker   255, 1279,  767, 1791,  511, 1535, 1023, 2047,
514*f4ee7fbaSAndroid Build Coastguard Worker };
515*f4ee7fbaSAndroid Build Coastguard Worker 
StoreStaticCommandHuffmanTree(size_t * storage_ix,uint8_t * storage)516*f4ee7fbaSAndroid Build Coastguard Worker static BROTLI_INLINE void StoreStaticCommandHuffmanTree(
517*f4ee7fbaSAndroid Build Coastguard Worker     size_t* storage_ix, uint8_t* storage) {
518*f4ee7fbaSAndroid Build Coastguard Worker   BrotliWriteBits(
519*f4ee7fbaSAndroid Build Coastguard Worker       56, BROTLI_MAKE_UINT64_T(0x926244U, 0x16307003U), storage_ix, storage);
520*f4ee7fbaSAndroid Build Coastguard Worker   BrotliWriteBits(3, 0x00000000U, storage_ix, storage);
521*f4ee7fbaSAndroid Build Coastguard Worker }
522*f4ee7fbaSAndroid Build Coastguard Worker 
523*f4ee7fbaSAndroid Build Coastguard Worker static const uint16_t kStaticDistanceCodeBits[64] = {
524*f4ee7fbaSAndroid Build Coastguard Worker    0, 32, 16, 48,  8, 40, 24, 56,  4, 36, 20, 52, 12, 44, 28, 60,
525*f4ee7fbaSAndroid Build Coastguard Worker    2, 34, 18, 50, 10, 42, 26, 58,  6, 38, 22, 54, 14, 46, 30, 62,
526*f4ee7fbaSAndroid Build Coastguard Worker    1, 33, 17, 49,  9, 41, 25, 57,  5, 37, 21, 53, 13, 45, 29, 61,
527*f4ee7fbaSAndroid Build Coastguard Worker    3, 35, 19, 51, 11, 43, 27, 59,  7, 39, 23, 55, 15, 47, 31, 63,
528*f4ee7fbaSAndroid Build Coastguard Worker };
529*f4ee7fbaSAndroid Build Coastguard Worker 
StoreStaticDistanceHuffmanTree(size_t * storage_ix,uint8_t * storage)530*f4ee7fbaSAndroid Build Coastguard Worker static BROTLI_INLINE void StoreStaticDistanceHuffmanTree(
531*f4ee7fbaSAndroid Build Coastguard Worker     size_t* storage_ix, uint8_t* storage) {
532*f4ee7fbaSAndroid Build Coastguard Worker   BrotliWriteBits(28, 0x0369DC03u, storage_ix, storage);
533*f4ee7fbaSAndroid Build Coastguard Worker }
534*f4ee7fbaSAndroid Build Coastguard Worker 
535*f4ee7fbaSAndroid Build Coastguard Worker #if defined(__cplusplus) || defined(c_plusplus)
536*f4ee7fbaSAndroid Build Coastguard Worker }  /* extern "C" */
537*f4ee7fbaSAndroid Build Coastguard Worker #endif
538*f4ee7fbaSAndroid Build Coastguard Worker 
539*f4ee7fbaSAndroid Build Coastguard Worker #endif  /* BROTLI_ENC_ENTROPY_ENCODE_STATIC_H_ */
540