httlib_huffman/decoder/
table2.rs

1/// Represents a static translation table for decoding Huffman sequence by
2/// reading 2-bits at at time.
3pub const DECODE_TABLE: [[(Option<u8>, Option<u16>, u8); 4]; 126] = [ // (next_id, ascii, leftover)
4    [ // 0
5        (Some(36), None, 0),
6        (Some(29), None, 0),
7        (Some(40), None, 0),
8        (Some(1), None, 0)
9    ],
10    [ // 1
11        (Some(47), None, 0),
12        (Some(52), None, 0),
13        (Some(57), None, 0),
14        (Some(2), None, 0)
15    ],
16    [ // 2
17        (Some(70), None, 0),
18        (Some(71), None, 0),
19        (Some(33), None, 0),
20        (Some(3), None, 0)
21    ],
22    [ // 3
23        (None, Some(88), 0),
24        (None, Some(90), 0),
25        (Some(31), None, 0),
26        (Some(4), None, 0)
27    ],
28    [ // 4
29        (None, Some(63), 0),
30        (Some(34), None, 0),
31        (Some(32), None, 0),
32        (Some(5), None, 0)
33    ],
34    [ // 5
35        (Some(6), None, 0),
36        (Some(45), None, 0),
37        (Some(62), None, 0),
38        (Some(7), None, 0)
39    ],
40    [ // 6
41        (None, Some(0), 1),
42        (None, Some(0), 1),
43        (None, Some(36), 1),
44        (None, Some(36), 1)
45    ],
46    [ // 7
47        (None, Some(94), 0),
48        (None, Some(125), 0),
49        (Some(43), None, 0),
50        (Some(8), None, 0)
51    ],
52    [ // 8
53        (None, Some(123), 1),
54        (None, Some(123), 1),
55        (Some(60), None, 0),
56        (Some(9), None, 0)
57    ],
58    [ // 9
59        (Some(96), None, 0),
60        (Some(73), None, 0),
61        (Some(10), None, 0),
62        (Some(13), None, 0)
63    ],
64    [ // 10
65        (Some(98), None, 0),
66        (Some(101), None, 0),
67        (Some(106), None, 0),
68        (Some(11), None, 0)
69    ],
70    [ // 11
71        (Some(12), None, 0),
72        (Some(77), None, 0),
73        (Some(78), None, 0),
74        (Some(79), None, 0)
75    ],
76    [ // 12
77        (None, Some(1), 1),
78        (None, Some(1), 1),
79        (None, Some(135), 1),
80        (None, Some(135), 1)
81    ],
82    [ // 13
83        (Some(81), None, 0),
84        (Some(90), None, 0),
85        (Some(20), None, 0),
86        (Some(14), None, 0)
87    ],
88    [ // 14
89        (Some(94), None, 0),
90        (Some(107), None, 0),
91        (Some(103), None, 0),
92        (Some(15), None, 0)
93    ],
94    [ // 15
95        (Some(112), None, 0),
96        (Some(121), None, 0),
97        (Some(16), None, 0),
98        (Some(22), None, 0)
99    ],
100    [ // 16
101        (Some(17), None, 0),
102        (Some(18), None, 0),
103        (Some(19), None, 0),
104        (Some(25), None, 0)
105    ],
106    [ // 17
107        (None, Some(254), 1),
108        (None, Some(254), 1),
109        (None, Some(2), 0),
110        (None, Some(3), 0)
111    ],
112    [ // 18
113        (None, Some(4), 0),
114        (None, Some(5), 0),
115        (None, Some(6), 0),
116        (None, Some(7), 0)
117    ],
118    [ // 19
119        (None, Some(8), 0),
120        (None, Some(11), 0),
121        (None, Some(12), 0),
122        (None, Some(14), 0)
123    ],
124    [ // 20
125        (Some(102), None, 0),
126        (Some(105), None, 0),
127        (Some(21), None, 0),
128        (Some(80), None, 0)
129    ],
130    [ // 21
131        (None, Some(239), 1),
132        (None, Some(239), 1),
133        (None, Some(9), 0),
134        (None, Some(142), 0)
135    ],
136    [ // 22
137        (Some(26), None, 0),
138        (Some(27), None, 0),
139        (Some(28), None, 0),
140        (Some(23), None, 0)
141    ],
142    [ // 23
143        (None, Some(127), 0),
144        (None, Some(220), 0),
145        (None, Some(249), 0),
146        (Some(24), None, 0)
147    ],
148    [ // 24
149        (None, Some(10), 0),
150        (None, Some(13), 0),
151        (None, Some(22), 0),
152        (None, Some(256), 0)
153    ],
154    [ // 25
155        (None, Some(15), 0),
156        (None, Some(16), 0),
157        (None, Some(17), 0),
158        (None, Some(18), 0)
159    ],
160    [ // 26
161        (None, Some(19), 0),
162        (None, Some(20), 0),
163        (None, Some(21), 0),
164        (None, Some(23), 0)
165    ],
166    [ // 27
167        (None, Some(24), 0),
168        (None, Some(25), 0),
169        (None, Some(26), 0),
170        (None, Some(27), 0)
171    ],
172    [ // 28
173        (None, Some(28), 0),
174        (None, Some(29), 0),
175        (None, Some(30), 0),
176        (None, Some(31), 0)
177    ],
178    [ // 29
179        (Some(69), None, 0),
180        (Some(30), None, 0),
181        (Some(35), None, 0),
182        (Some(39), None, 0)
183    ],
184    [ // 30
185        (None, Some(32), 0),
186        (None, Some(37), 0),
187        (None, Some(45), 0),
188        (None, Some(46), 0)
189    ],
190    [ // 31
191        (None, Some(33), 0),
192        (None, Some(34), 0),
193        (None, Some(40), 0),
194        (None, Some(41), 0)
195    ],
196    [ // 32
197        (None, Some(124), 1),
198        (None, Some(124), 1),
199        (None, Some(35), 0),
200        (None, Some(62), 0)
201    ],
202    [ // 33
203        (None, Some(38), 0),
204        (None, Some(42), 0),
205        (None, Some(44), 0),
206        (None, Some(59), 0)
207    ],
208    [ // 34
209        (None, Some(39), 1),
210        (None, Some(39), 1),
211        (None, Some(43), 1),
212        (None, Some(43), 1)
213    ],
214    [ // 35
215        (None, Some(47), 0),
216        (None, Some(51), 0),
217        (None, Some(52), 0),
218        (None, Some(53), 0)
219    ],
220    [ // 36
221        (Some(37), None, 0),
222        (Some(38), None, 0),
223        (Some(63), None, 0),
224        (Some(65), None, 0)
225    ],
226    [ // 37
227        (None, Some(48), 1),
228        (None, Some(48), 1),
229        (None, Some(49), 1),
230        (None, Some(49), 1)
231    ],
232    [ // 38
233        (None, Some(50), 1),
234        (None, Some(50), 1),
235        (None, Some(97), 1),
236        (None, Some(97), 1)
237    ],
238    [ // 39
239        (None, Some(54), 0),
240        (None, Some(55), 0),
241        (None, Some(56), 0),
242        (None, Some(57), 0)
243    ],
244    [ // 40
245        (Some(44), None, 0),
246        (Some(64), None, 0),
247        (Some(67), None, 0),
248        (Some(41), None, 0)
249    ],
250    [ // 41
251        (None, Some(114), 0),
252        (None, Some(117), 0),
253        (Some(42), None, 0),
254        (Some(46), None, 0)
255    ],
256    [ // 42
257        (None, Some(58), 1),
258        (None, Some(58), 1),
259        (None, Some(66), 1),
260        (None, Some(66), 1)
261    ],
262    [ // 43
263        (None, Some(60), 1),
264        (None, Some(60), 1),
265        (None, Some(96), 1),
266        (None, Some(96), 1)
267    ],
268    [ // 44
269        (None, Some(61), 0),
270        (None, Some(65), 0),
271        (None, Some(95), 0),
272        (None, Some(98), 0)
273    ],
274    [ // 45
275        (None, Some(64), 1),
276        (None, Some(64), 1),
277        (None, Some(91), 1),
278        (None, Some(91), 1)
279    ],
280    [ // 46
281        (None, Some(67), 1),
282        (None, Some(67), 1),
283        (None, Some(68), 1),
284        (None, Some(68), 1)
285    ],
286    [ // 47
287        (Some(48), None, 0),
288        (Some(49), None, 0),
289        (Some(50), None, 0),
290        (Some(51), None, 0)
291    ],
292    [ // 48
293        (None, Some(69), 1),
294        (None, Some(69), 1),
295        (None, Some(70), 1),
296        (None, Some(70), 1)
297    ],
298    [ // 49
299        (None, Some(71), 1),
300        (None, Some(71), 1),
301        (None, Some(72), 1),
302        (None, Some(72), 1)
303    ],
304    [ // 50
305        (None, Some(73), 1),
306        (None, Some(73), 1),
307        (None, Some(74), 1),
308        (None, Some(74), 1)
309    ],
310    [ // 51
311        (None, Some(75), 1),
312        (None, Some(75), 1),
313        (None, Some(76), 1),
314        (None, Some(76), 1)
315    ],
316    [ // 52
317        (Some(53), None, 0),
318        (Some(54), None, 0),
319        (Some(55), None, 0),
320        (Some(56), None, 0)
321    ],
322    [ // 53
323        (None, Some(77), 1),
324        (None, Some(77), 1),
325        (None, Some(78), 1),
326        (None, Some(78), 1)
327    ],
328    [ // 54
329        (None, Some(79), 1),
330        (None, Some(79), 1),
331        (None, Some(80), 1),
332        (None, Some(80), 1)
333    ],
334    [ // 55
335        (None, Some(81), 1),
336        (None, Some(81), 1),
337        (None, Some(82), 1),
338        (None, Some(82), 1)
339    ],
340    [ // 56
341        (None, Some(83), 1),
342        (None, Some(83), 1),
343        (None, Some(84), 1),
344        (None, Some(84), 1)
345    ],
346    [ // 57
347        (Some(58), None, 0),
348        (Some(59), None, 0),
349        (Some(66), None, 0),
350        (Some(68), None, 0)
351    ],
352    [ // 58
353        (None, Some(85), 1),
354        (None, Some(85), 1),
355        (None, Some(86), 1),
356        (None, Some(86), 1)
357    ],
358    [ // 59
359        (None, Some(87), 1),
360        (None, Some(87), 1),
361        (None, Some(89), 1),
362        (None, Some(89), 1)
363    ],
364    [ // 60
365        (Some(61), None, 0),
366        (Some(72), None, 0),
367        (Some(75), None, 0),
368        (Some(85), None, 0)
369    ],
370    [ // 61
371        (None, Some(92), 1),
372        (None, Some(92), 1),
373        (None, Some(195), 1),
374        (None, Some(195), 1)
375    ],
376    [ // 62
377        (None, Some(93), 1),
378        (None, Some(93), 1),
379        (None, Some(126), 1),
380        (None, Some(126), 1)
381    ],
382    [ // 63
383        (None, Some(99), 1),
384        (None, Some(99), 1),
385        (None, Some(101), 1),
386        (None, Some(101), 1)
387    ],
388    [ // 64
389        (None, Some(100), 0),
390        (None, Some(102), 0),
391        (None, Some(103), 0),
392        (None, Some(104), 0)
393    ],
394    [ // 65
395        (None, Some(105), 1),
396        (None, Some(105), 1),
397        (None, Some(111), 1),
398        (None, Some(111), 1)
399    ],
400    [ // 66
401        (None, Some(106), 1),
402        (None, Some(106), 1),
403        (None, Some(107), 1),
404        (None, Some(107), 1)
405    ],
406    [ // 67
407        (None, Some(108), 0),
408        (None, Some(109), 0),
409        (None, Some(110), 0),
410        (None, Some(112), 0)
411    ],
412    [ // 68
413        (None, Some(113), 1),
414        (None, Some(113), 1),
415        (None, Some(118), 1),
416        (None, Some(118), 1)
417    ],
418    [ // 69
419        (None, Some(115), 1),
420        (None, Some(115), 1),
421        (None, Some(116), 1),
422        (None, Some(116), 1)
423    ],
424    [ // 70
425        (None, Some(119), 1),
426        (None, Some(119), 1),
427        (None, Some(120), 1),
428        (None, Some(120), 1)
429    ],
430    [ // 71
431        (None, Some(121), 1),
432        (None, Some(121), 1),
433        (None, Some(122), 1),
434        (None, Some(122), 1)
435    ],
436    [ // 72
437        (None, Some(208), 1),
438        (None, Some(208), 1),
439        (None, Some(128), 0),
440        (None, Some(130), 0)
441    ],
442    [ // 73
443        (Some(74), None, 0),
444        (Some(76), None, 0),
445        (Some(87), None, 0),
446        (Some(89), None, 0)
447    ],
448    [ // 74
449        (None, Some(230), 1),
450        (None, Some(230), 1),
451        (None, Some(129), 0),
452        (None, Some(132), 0)
453    ],
454    [ // 75
455        (None, Some(131), 0),
456        (None, Some(162), 0),
457        (None, Some(184), 0),
458        (None, Some(194), 0)
459    ],
460    [ // 76
461        (None, Some(133), 0),
462        (None, Some(134), 0),
463        (None, Some(136), 0),
464        (None, Some(146), 0)
465    ],
466    [ // 77
467        (None, Some(137), 1),
468        (None, Some(137), 1),
469        (None, Some(138), 1),
470        (None, Some(138), 1)
471    ],
472    [ // 78
473        (None, Some(139), 1),
474        (None, Some(139), 1),
475        (None, Some(140), 1),
476        (None, Some(140), 1)
477    ],
478    [ // 79
479        (None, Some(141), 1),
480        (None, Some(141), 1),
481        (None, Some(143), 1),
482        (None, Some(143), 1)
483    ],
484    [ // 80
485        (None, Some(144), 0),
486        (None, Some(145), 0),
487        (None, Some(148), 0),
488        (None, Some(159), 0)
489    ],
490    [ // 81
491        (Some(82), None, 0),
492        (Some(83), None, 0),
493        (Some(84), None, 0),
494        (Some(88), None, 0)
495    ],
496    [ // 82
497        (None, Some(147), 1),
498        (None, Some(147), 1),
499        (None, Some(149), 1),
500        (None, Some(149), 1)
501    ],
502    [ // 83
503        (None, Some(150), 1),
504        (None, Some(150), 1),
505        (None, Some(151), 1),
506        (None, Some(151), 1)
507    ],
508    [ // 84
509        (None, Some(152), 1),
510        (None, Some(152), 1),
511        (None, Some(155), 1),
512        (None, Some(155), 1)
513    ],
514    [ // 85
515        (None, Some(224), 0),
516        (None, Some(226), 0),
517        (Some(86), None, 0),
518        (Some(92), None, 0)
519    ],
520    [ // 86
521        (None, Some(153), 1),
522        (None, Some(153), 1),
523        (None, Some(161), 1),
524        (None, Some(161), 1)
525    ],
526    [ // 87
527        (None, Some(154), 0),
528        (None, Some(156), 0),
529        (None, Some(160), 0),
530        (None, Some(163), 0)
531    ],
532    [ // 88
533        (None, Some(157), 1),
534        (None, Some(157), 1),
535        (None, Some(158), 1),
536        (None, Some(158), 1)
537    ],
538    [ // 89
539        (None, Some(164), 0),
540        (None, Some(169), 0),
541        (None, Some(170), 0),
542        (None, Some(173), 0)
543    ],
544    [ // 90
545        (Some(91), None, 0),
546        (Some(93), None, 0),
547        (Some(95), None, 0),
548        (Some(100), None, 0)
549    ],
550    [ // 91
551        (None, Some(165), 1),
552        (None, Some(165), 1),
553        (None, Some(166), 1),
554        (None, Some(166), 1)
555    ],
556    [ // 92
557        (None, Some(167), 1),
558        (None, Some(167), 1),
559        (None, Some(172), 1),
560        (None, Some(172), 1)
561    ],
562    [ // 93
563        (None, Some(168), 1),
564        (None, Some(168), 1),
565        (None, Some(174), 1),
566        (None, Some(174), 1)
567    ],
568    [ // 94
569        (None, Some(171), 0),
570        (None, Some(206), 0),
571        (None, Some(215), 0),
572        (None, Some(225), 0)
573    ],
574    [ // 95
575        (None, Some(175), 1),
576        (None, Some(175), 1),
577        (None, Some(180), 1),
578        (None, Some(180), 1)
579    ],
580    [ // 96
581        (Some(97), None, 0),
582        (Some(99), None, 0),
583        (Some(115), None, 0),
584        (Some(118), None, 0)
585    ],
586    [ // 97
587        (None, Some(176), 1),
588        (None, Some(176), 1),
589        (None, Some(177), 1),
590        (None, Some(177), 1)
591    ],
592    [ // 98
593        (None, Some(178), 0),
594        (None, Some(181), 0),
595        (None, Some(185), 0),
596        (None, Some(186), 0)
597    ],
598    [ // 99
599        (None, Some(179), 1),
600        (None, Some(179), 1),
601        (None, Some(209), 1),
602        (None, Some(209), 1)
603    ],
604    [ // 100
605        (None, Some(182), 1),
606        (None, Some(182), 1),
607        (None, Some(183), 1),
608        (None, Some(183), 1)
609    ],
610    [ // 101
611        (None, Some(187), 0),
612        (None, Some(189), 0),
613        (None, Some(190), 0),
614        (None, Some(196), 0)
615    ],
616    [ // 102
617        (None, Some(188), 1),
618        (None, Some(188), 1),
619        (None, Some(191), 1),
620        (None, Some(191), 1)
621    ],
622    [ // 103
623        (Some(104), None, 0),
624        (Some(109), None, 0),
625        (Some(116), None, 0),
626        (Some(110), None, 0)
627    ],
628    [ // 104
629        (None, Some(192), 0),
630        (None, Some(193), 0),
631        (None, Some(200), 0),
632        (None, Some(201), 0)
633    ],
634    [ // 105
635        (None, Some(197), 1),
636        (None, Some(197), 1),
637        (None, Some(231), 1),
638        (None, Some(231), 1)
639    ],
640    [ // 106
641        (None, Some(198), 0),
642        (None, Some(228), 0),
643        (None, Some(232), 0),
644        (None, Some(233), 0)
645    ],
646    [ // 107
647        (None, Some(236), 0),
648        (None, Some(237), 0),
649        (Some(108), None, 0),
650        (Some(119), None, 0)
651    ],
652    [ // 108
653        (None, Some(199), 1),
654        (None, Some(199), 1),
655        (None, Some(207), 1),
656        (None, Some(207), 1)
657    ],
658    [ // 109
659        (None, Some(202), 0),
660        (None, Some(205), 0),
661        (None, Some(210), 0),
662        (None, Some(213), 0)
663    ],
664    [ // 110
665        (None, Some(242), 0),
666        (None, Some(243), 0),
667        (None, Some(255), 0),
668        (Some(111), None, 0)
669    ],
670    [ // 111
671        (None, Some(203), 1),
672        (None, Some(203), 1),
673        (None, Some(204), 1),
674        (None, Some(204), 1)
675    ],
676    [ // 112
677        (Some(113), None, 0),
678        (Some(114), None, 0),
679        (Some(117), None, 0),
680        (Some(120), None, 0)
681    ],
682    [ // 113
683        (None, Some(211), 1),
684        (None, Some(211), 1),
685        (None, Some(212), 1),
686        (None, Some(212), 1)
687    ],
688    [ // 114
689        (None, Some(214), 1),
690        (None, Some(214), 1),
691        (None, Some(221), 1),
692        (None, Some(221), 1)
693    ],
694    [ // 115
695        (None, Some(216), 1),
696        (None, Some(216), 1),
697        (None, Some(217), 1),
698        (None, Some(217), 1)
699    ],
700    [ // 116
701        (None, Some(218), 0),
702        (None, Some(219), 0),
703        (None, Some(238), 0),
704        (None, Some(240), 0)
705    ],
706    [ // 117
707        (None, Some(222), 1),
708        (None, Some(222), 1),
709        (None, Some(223), 1),
710        (None, Some(223), 1)
711    ],
712    [ // 118
713        (None, Some(227), 1),
714        (None, Some(227), 1),
715        (None, Some(229), 1),
716        (None, Some(229), 1)
717    ],
718    [ // 119
719        (None, Some(234), 1),
720        (None, Some(234), 1),
721        (None, Some(235), 1),
722        (None, Some(235), 1)
723    ],
724    [ // 120
725        (None, Some(241), 1),
726        (None, Some(241), 1),
727        (None, Some(244), 1),
728        (None, Some(244), 1)
729    ],
730    [ // 121
731        (Some(122), None, 0),
732        (Some(123), None, 0),
733        (Some(124), None, 0),
734        (Some(125), None, 0)
735    ],
736    [ // 122
737        (None, Some(245), 1),
738        (None, Some(245), 1),
739        (None, Some(246), 1),
740        (None, Some(246), 1)
741    ],
742    [ // 123
743        (None, Some(247), 1),
744        (None, Some(247), 1),
745        (None, Some(248), 1),
746        (None, Some(248), 1)
747    ],
748    [ // 124
749        (None, Some(250), 1),
750        (None, Some(250), 1),
751        (None, Some(251), 1),
752        (None, Some(251), 1)
753    ],
754    [ // 125
755        (None, Some(252), 1),
756        (None, Some(252), 1),
757        (None, Some(253), 1),
758        (None, Some(253), 1)
759    ]
760];