Initial import from FreeBSD RELENG_4:
[dragonfly.git] / usr.bin / banner / banner.c
CommitLineData
984263bc
MD
1/*
2 * Copyright (c) 1980, 1993, 1994
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software
14 * must display the following acknowledgement:
15 * This product includes software developed by the University of
16 * California, Berkeley and its contributors.
17 * 4. Neither the name of the University nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 */
33
34#ifndef lint
35static const char copyright[] =
36"@(#) Copyright (c) 1980, 1993, 1994\n\
37 The Regents of the University of California. All rights reserved.\n";
38#endif /* not lint */
39
40#ifndef lint
41#if 0
42static const char sccsid[] = "@(#)banner.c 8.4 (Berkeley) 4/29/95";
43#endif
44static const char rcsid[] =
45 "$FreeBSD: src/usr.bin/banner/banner.c,v 1.7.2.4 2001/10/02 11:41:25 ru Exp $";
46#endif /* not lint */
47
48/*
49 * banner - prints large signs
50 * banner [-w#] [-d] [-t] message ...
51 */
52
53#include <err.h>
54#include <stdio.h>
55#include <stdlib.h>
56#include <string.h>
57#include <unistd.h>
58
59#define MAXMSG 1024
60#define DWIDTH 132
61#define NCHARS 128
62#define NBYTES 9271
63
64/* Pointers into data_table for each ASCII char */
65const int asc_ptr[NCHARS] = {
66/* ^@ */ 0, 0, 0, 0, 0, 0, 0, 0,
67/* ^H */ 0, 0, 0, 0, 0, 0, 0, 0,
68/* ^P */ 0, 0, 0, 0, 0, 0, 0, 0,
69/* ^X */ 0, 0, 0, 0, 0, 0, 0, 0,
70/* */ 1, 3, 50, 81, 104, 281, 483, 590,
71/* ( */ 621, 685, 749, 851, 862, 893, 898, 921,
72/* 0 */1019, 1150, 1200, 1419, 1599, 1744, 1934, 2111,
73/* 8 */2235, 2445, 2622, 2659, 0, 2708, 0, 2715,
74/* @ */2857, 3072, 3273, 3403, 3560, 3662, 3730, 3785,
75/* H */3965, 4000, 4015, 4115, 4281, 4314, 4432, 4548,
76/* P */4709, 4790, 4999, 5188, 5397, 5448, 5576, 5710,
77/* X */5892, 6106, 6257, 0, 0, 0, 0, 0,
78/* ` */ 50, 6503, 6642, 6733, 6837, 6930, 7073, 7157,
79/* h */7380, 7452, 7499, 7584, 7689, 7702, 7797, 7869,
80/* p */7978, 8069, 8160, 8222, 8381, 8442, 8508, 8605,
81/* x */8732, 8888, 9016, 0, 0, 0, 0, 0
82};
83
84/*
85 * Table of stuff to print. Format:
86 * 128+n -> print current line n times.
87 * 64+n -> this is last byte of char.
88 * else, put m chars at position n (where m
89 * is the next elt in array) and goto second
90 * next element in array.
91 */
92const unsigned char data_table[NBYTES] = {
93/* 0 1 2 3 4 5 6 7 8 9 */
94/* 0 */ 129, 227, 130, 34, 6, 90, 19, 129, 32, 10,
95/* 10 */ 74, 40, 129, 31, 12, 64, 53, 129, 30, 14,
96/* 20 */ 54, 65, 129, 30, 14, 53, 67, 129, 30, 14,
97/* 30 */ 54, 65, 129, 31, 12, 64, 53, 129, 32, 10,
98/* 40 */ 74, 40, 129, 34, 6, 90, 19, 129, 194, 130,
99/* 50 */ 99, 9, 129, 97, 14, 129, 96, 18, 129, 95,
100/* 60 */ 22, 129, 95, 16, 117, 2, 129, 95, 14, 129,
101/* 70 */ 96, 11, 129, 97, 9, 129, 99, 6, 129, 194,
102/* 80 */ 129, 87, 4, 101, 4, 131, 82, 28, 131, 87,
103/* 90 */ 4, 101, 4, 133, 82, 28, 131, 87, 4, 101,
104/* 100 */ 4, 131, 193, 129, 39, 1, 84, 27, 129, 38,
105/* 110 */ 3, 81, 32, 129, 37, 5, 79, 35, 129, 36,
106/* 120 */ 5, 77, 38, 129, 35, 5, 76, 40, 129, 34,
107/* 130 */ 5, 75, 21, 103, 14, 129, 33, 5, 74, 19,
108/* 140 */ 107, 11, 129, 32, 5, 73, 17, 110, 9, 129,
109/* 150 */ 32, 4, 73, 16, 112, 7, 129, 31, 4, 72,
110/* 160 */ 15, 114, 6, 129, 31, 4, 72, 14, 115, 5,
111/* 170 */ 129, 30, 4, 71, 15, 116, 5, 129, 27, 97,
112/* 180 */ 131, 30, 4, 69, 14, 117, 4, 129, 30, 4,
113/* 190 */ 68, 15, 117, 4, 132, 30, 4, 68, 14, 117,
114/* 200 */ 4, 129, 27, 97, 131, 30, 5, 65, 15, 116,
115/* 210 */ 5, 129, 31, 4, 65, 14, 116, 4, 129, 31,
116/* 220 */ 6, 64, 15, 116, 4, 129, 32, 7, 62, 16,
117/* 230 */ 115, 4, 129, 32, 9, 61, 17, 114, 5, 129,
118/* 240 */ 33, 11, 58, 19, 113, 5, 129, 34, 14, 55,
119/* 250 */ 21, 112, 5, 129, 35, 40, 111, 5, 129, 36,
120/* 260 */ 38, 110, 5, 129, 37, 35, 109, 5, 129, 38,
121/* 270 */ 32, 110, 3, 129, 40, 27, 111, 1, 129, 193,
122/* 280 */ 129, 30, 4, 103, 9, 129, 30, 7, 100, 15,
123/* 290 */ 129, 30, 10, 99, 17, 129, 33, 10, 97, 6,
124/* 300 */ 112, 6, 129, 36, 10, 96, 5, 114, 5, 129,
125/* 310 */ 39, 10, 96, 4, 115, 4, 129, 42, 10, 95,
126/* 320 */ 4, 116, 4, 129, 45, 10, 95, 3, 117, 3,
127/* 330 */ 129, 48, 10, 95, 3, 117, 3, 129, 51, 10,
128/* 340 */ 95, 4, 116, 4, 129, 54, 10, 96, 4, 115,
129/* 350 */ 4, 129, 57, 10, 96, 5, 114, 5, 129, 60,
130/* 360 */ 10, 97, 6, 112, 6, 129, 63, 10, 99, 17,
131/* 370 */ 129, 66, 10, 100, 15, 129, 69, 10, 103, 9,
132/* 380 */ 129, 39, 9, 72, 10, 129, 36, 15, 75, 10,
133/* 390 */ 129, 35, 17, 78, 10, 129, 33, 6, 48, 6,
134/* 400 */ 81, 10, 129, 32, 5, 50, 5, 84, 10, 129,
135/* 410 */ 32, 4, 51, 4, 87, 10, 129, 31, 4, 52,
136/* 420 */ 4, 90, 10, 129, 31, 3, 53, 3, 93, 10,
137/* 430 */ 129, 31, 3, 53, 3, 96, 10, 129, 31, 4,
138/* 440 */ 52, 4, 99, 10, 129, 32, 4, 51, 4, 102,
139/* 450 */ 10, 129, 32, 5, 50, 5, 105, 10, 129, 33,
140/* 460 */ 6, 48, 6, 108, 10, 129, 35, 17, 111, 10,
141/* 470 */ 129, 36, 15, 114, 7, 129, 40, 9, 118, 4,
142/* 480 */ 129, 193, 129, 48, 18, 129, 43, 28, 129, 41,
143/* 490 */ 32, 129, 39, 36, 129, 37, 40, 129, 35, 44,
144/* 500 */ 129, 34, 46, 129, 33, 13, 68, 13, 129, 32,
145/* 510 */ 9, 73, 9, 129, 32, 7, 75, 7, 129, 31,
146/* 520 */ 6, 77, 6, 129, 31, 5, 78, 5, 129, 30,
147/* 530 */ 5, 79, 5, 129, 20, 74, 132, 30, 4, 80,
148/* 540 */ 4, 129, 31, 3, 79, 4, 129, 31, 4, 79,
149/* 550 */ 4, 129, 32, 3, 78, 4, 129, 32, 4, 76,
150/* 560 */ 6, 129, 33, 4, 74, 7, 129, 34, 4, 72,
151/* 570 */ 8, 129, 35, 5, 72, 7, 129, 37, 5, 73,
152/* 580 */ 4, 129, 39, 4, 74, 1, 129, 129, 193, 130,
153/* 590 */ 111, 6, 129, 109, 10, 129, 108, 12, 129, 107,
154/* 600 */ 14, 129, 97, 2, 105, 16, 129, 99, 22, 129,
155/* 610 */ 102, 18, 129, 105, 14, 129, 108, 9, 129, 194,
156/* 620 */ 130, 63, 25, 129, 57, 37, 129, 52, 47, 129,
157/* 630 */ 48, 55, 129, 44, 63, 129, 41, 69, 129, 38,
158/* 640 */ 75, 129, 36, 79, 129, 34, 83, 129, 33, 28,
159/* 650 */ 90, 28, 129, 32, 23, 96, 23, 129, 32, 17,
160/* 660 */ 102, 17, 129, 31, 13, 107, 13, 129, 30, 9,
161/* 670 */ 112, 9, 129, 30, 5, 116, 5, 129, 30, 1,
162/* 680 */ 120, 1, 129, 194, 130, 30, 1, 120, 1, 129,
163/* 690 */ 30, 5, 116, 5, 129, 30, 9, 112, 9, 129,
164/* 700 */ 31, 13, 107, 13, 129, 32, 17, 102, 17, 129,
165/* 710 */ 32, 23, 96, 23, 129, 33, 28, 90, 28, 129,
166/* 720 */ 34, 83, 129, 36, 79, 129, 38, 75, 129, 41,
167/* 730 */ 69, 129, 44, 63, 129, 48, 55, 129, 52, 47,
168/* 740 */ 129, 57, 37, 129, 63, 25, 129, 194, 129, 80,
169/* 750 */ 4, 130, 80, 4, 129, 68, 2, 80, 4, 94,
170/* 760 */ 2, 129, 66, 6, 80, 4, 92, 6, 129, 67,
171/* 770 */ 7, 80, 4, 90, 7, 129, 69, 7, 80, 4,
172/* 780 */ 88, 7, 129, 71, 6, 80, 4, 87, 6, 129,
173/* 790 */ 72, 20, 129, 74, 16, 129, 76, 12, 129, 62,
174/* 800 */ 40, 131, 76, 12, 129, 74, 16, 129, 72, 20,
175/* 810 */ 129, 71, 6, 80, 4, 87, 6, 129, 69, 7,
176/* 820 */ 80, 4, 88, 7, 129, 67, 7, 80, 4, 90,
177/* 830 */ 7, 129, 66, 6, 80, 4, 92, 6, 129, 68,
178/* 840 */ 2, 80, 4, 94, 2, 129, 80, 4, 130, 193,
179/* 850 */ 129, 60, 4, 139, 41, 42, 131, 60, 4, 139,
180/* 860 */ 193, 130, 34, 6, 129, 32, 10, 129, 31, 12,
181/* 870 */ 129, 30, 14, 129, 20, 2, 28, 16, 129, 22,
182/* 880 */ 22, 129, 24, 19, 129, 27, 15, 129, 31, 9,
183/* 890 */ 129, 194, 129, 60, 4, 152, 193, 130, 34, 6,
184/* 900 */ 129, 32, 10, 129, 31, 12, 129, 30, 14, 131,
185/* 910 */ 31, 12, 129, 32, 10, 129, 34, 6, 129, 194,
186/* 920 */ 129, 30, 4, 129, 30, 7, 129, 30, 10, 129,
187/* 930 */ 33, 10, 129, 36, 10, 129, 39, 10, 129, 42,
188/* 940 */ 10, 129, 45, 10, 129, 48, 10, 129, 51, 10,
189/* 950 */ 129, 54, 10, 129, 57, 10, 129, 60, 10, 129,
190/* 960 */ 63, 10, 129, 66, 10, 129, 69, 10, 129, 72,
191/* 970 */ 10, 129, 75, 10, 129, 78, 10, 129, 81, 10,
192/* 980 */ 129, 84, 10, 129, 87, 10, 129, 90, 10, 129,
193/* 990 */ 93, 10, 129, 96, 10, 129, 99, 10, 129, 102,
194/* 1000 */ 10, 129, 105, 10, 129, 108, 10, 129, 111, 10,
195/* 1010 */ 129, 114, 7, 129, 117, 4, 129, 193, 129, 60,
196/* 1020 */ 31, 129, 53, 45, 129, 49, 53, 129, 46, 59,
197/* 1030 */ 129, 43, 65, 129, 41, 69, 129, 39, 73, 129,
198/* 1040 */ 37, 77, 129, 36, 79, 129, 35, 15, 101, 15,
199/* 1050 */ 129, 34, 11, 106, 11, 129, 33, 9, 109, 9,
200/* 1060 */ 129, 32, 7, 112, 7, 129, 31, 6, 114, 6,
201/* 1070 */ 129, 31, 5, 115, 5, 129, 30, 5, 116, 5,
202/* 1080 */ 129, 30, 4, 117, 4, 132, 30, 5, 116, 5,
203/* 1090 */ 129, 31, 5, 115, 5, 129, 31, 6, 114, 6,
204/* 1100 */ 129, 32, 7, 112, 7, 129, 33, 9, 109, 9,
205/* 1110 */ 129, 34, 11, 106, 11, 129, 35, 15, 101, 15,
206/* 1120 */ 129, 36, 79, 129, 37, 77, 129, 39, 73, 129,
207/* 1130 */ 41, 69, 129, 43, 65, 129, 46, 59, 129, 49,
208/* 1140 */ 53, 129, 53, 45, 129, 60, 31, 129, 193, 129,
209/* 1150 */ 30, 4, 129, 30, 4, 100, 1, 129, 30, 4,
210/* 1160 */ 100, 3, 129, 30, 4, 100, 5, 129, 30, 76,
211/* 1170 */ 129, 30, 78, 129, 30, 80, 129, 30, 82, 129,
212/* 1180 */ 30, 83, 129, 30, 85, 129, 30, 87, 129, 30,
213/* 1190 */ 89, 129, 30, 91, 129, 30, 4, 132, 193, 129,
214/* 1200 */ 30, 3, 129, 30, 7, 129, 30, 10, 112, 1,
215/* 1210 */ 129, 30, 13, 112, 2, 129, 30, 16, 112, 3,
216/* 1220 */ 129, 30, 18, 111, 5, 129, 30, 21, 111, 6,
217/* 1230 */ 129, 30, 23, 112, 6, 129, 30, 14, 47, 8,
218/* 1240 */ 113, 6, 129, 30, 14, 49, 8, 114, 5, 129,
219/* 1250 */ 30, 14, 51, 8, 115, 5, 129, 30, 14, 53,
220/* 1260 */ 8, 116, 4, 129, 30, 14, 55, 8, 116, 5,
221/* 1270 */ 129, 30, 14, 56, 9, 117, 4, 129, 30, 14,
222/* 1280 */ 57, 9, 117, 4, 129, 30, 14, 58, 10, 117,
223/* 1290 */ 4, 129, 30, 14, 59, 10, 117, 4, 129, 30,
224/* 1300 */ 14, 60, 11, 117, 4, 129, 30, 14, 61, 11,
225/* 1310 */ 116, 5, 129, 30, 14, 62, 11, 116, 5, 129,
226/* 1320 */ 30, 14, 63, 12, 115, 6, 129, 30, 14, 64,
227/* 1330 */ 13, 114, 7, 129, 30, 14, 65, 13, 113, 8,
228/* 1340 */ 129, 30, 14, 65, 15, 111, 9, 129, 30, 14,
229/* 1350 */ 66, 16, 109, 11, 129, 30, 14, 67, 17, 107,
230/* 1360 */ 12, 129, 30, 14, 68, 20, 103, 16, 129, 30,
231/* 1370 */ 14, 69, 49, 129, 30, 14, 70, 47, 129, 30,
232/* 1380 */ 14, 71, 45, 129, 30, 14, 73, 42, 129, 30,
233/* 1390 */ 15, 75, 38, 129, 33, 12, 77, 34, 129, 36,
234/* 1400 */ 10, 79, 30, 129, 40, 6, 82, 23, 129, 44,
235/* 1410 */ 3, 86, 15, 129, 47, 1, 129, 193, 129, 129,
236/* 1420 */ 38, 3, 129, 37, 5, 111, 1, 129, 36, 7,
237/* 1430 */ 111, 2, 129, 35, 9, 110, 5, 129, 34, 8,
238/* 1440 */ 110, 6, 129, 33, 7, 109, 8, 129, 32, 7,
239/* 1450 */ 110, 8, 129, 32, 6, 112, 7, 129, 31, 6,
240/* 1460 */ 113, 6, 129, 31, 5, 114, 6, 129, 30, 5,
241/* 1470 */ 115, 5, 129, 30, 5, 116, 4, 129, 30, 4,
242/* 1480 */ 117, 4, 131, 30, 4, 117, 4, 129, 30, 4,
243/* 1490 */ 79, 2, 117, 4, 129, 30, 5, 78, 4, 117,
244/* 1500 */ 4, 129, 30, 5, 77, 6, 116, 5, 129, 30,
245/* 1510 */ 6, 76, 8, 115, 6, 129, 30, 7, 75, 11,
246/* 1520 */ 114, 6, 129, 30, 8, 73, 15, 112, 8, 129,
247/* 1530 */ 31, 9, 71, 19, 110, 9, 129, 31, 11, 68,
248/* 1540 */ 26, 107, 12, 129, 32, 13, 65, 14, 82, 36,
249/* 1550 */ 129, 32, 16, 61, 17, 83, 34, 129, 33, 44,
250/* 1560 */ 84, 32, 129, 34, 42, 85, 30, 129, 35, 40,
251/* 1570 */ 87, 27, 129, 36, 38, 89, 23, 129, 38, 34,
252/* 1580 */ 92, 17, 129, 40, 30, 95, 11, 129, 42, 26,
253/* 1590 */ 129, 45, 20, 129, 49, 11, 129, 193, 129, 49,
254/* 1600 */ 1, 129, 49, 4, 129, 49, 6, 129, 49, 8,
255/* 1610 */ 129, 49, 10, 129, 49, 12, 129, 49, 14, 129,
256/* 1620 */ 49, 17, 129, 49, 19, 129, 49, 21, 129, 49,
257/* 1630 */ 23, 129, 49, 14, 65, 9, 129, 49, 14, 67,
258/* 1640 */ 9, 129, 49, 14, 69, 9, 129, 49, 14, 71,
259/* 1650 */ 10, 129, 49, 14, 74, 9, 129, 49, 14, 76,
260/* 1660 */ 9, 129, 49, 14, 78, 9, 129, 49, 14, 80,
261/* 1670 */ 9, 129, 49, 14, 82, 9, 129, 49, 14, 84,
262/* 1680 */ 9, 129, 30, 4, 49, 14, 86, 10, 129, 30,
263/* 1690 */ 4, 49, 14, 89, 9, 129, 30, 4, 49, 14,
264/* 1700 */ 91, 9, 129, 30, 4, 49, 14, 93, 9, 129,
265/* 1710 */ 30, 74, 129, 30, 76, 129, 30, 78, 129, 30,
266/* 1720 */ 81, 129, 30, 83, 129, 30, 85, 129, 30, 87,
267/* 1730 */ 129, 30, 89, 129, 30, 91, 129, 30, 4, 49,
268/* 1740 */ 14, 132, 193, 129, 37, 1, 129, 36, 3, 77,
269/* 1750 */ 3, 129, 35, 5, 78, 11, 129, 34, 7, 78,
270/* 1760 */ 21, 129, 33, 7, 79, 29, 129, 32, 7, 79,
271/* 1770 */ 38, 129, 32, 6, 80, 4, 92, 29, 129, 31,
272/* 1780 */ 6, 80, 5, 102, 19, 129, 31, 5, 80, 6,
273/* 1790 */ 107, 14, 129, 31, 4, 81, 5, 107, 14, 129,
274/* 1800 */ 30, 5, 81, 6, 107, 14, 129, 30, 4, 81,
275/* 1810 */ 6, 107, 14, 130, 30, 4, 81, 7, 107, 14,
276/* 1820 */ 129, 30, 4, 80, 8, 107, 14, 130, 30, 5,
277/* 1830 */ 80, 8, 107, 14, 129, 30, 5, 79, 9, 107,
278/* 1840 */ 14, 129, 31, 5, 79, 9, 107, 14, 129, 31,
279/* 1850 */ 6, 78, 10, 107, 14, 129, 32, 6, 76, 11,
280/* 1860 */ 107, 14, 129, 32, 8, 74, 13, 107, 14, 129,
281/* 1870 */ 33, 10, 71, 16, 107, 14, 129, 33, 15, 67,
282/* 1880 */ 19, 107, 14, 129, 34, 51, 107, 14, 129, 35,
283/* 1890 */ 49, 107, 14, 129, 36, 47, 107, 14, 129, 37,
284/* 1900 */ 45, 107, 14, 129, 39, 41, 107, 14, 129, 41,
285/* 1910 */ 37, 107, 14, 129, 44, 32, 107, 14, 129, 47,
286/* 1920 */ 25, 111, 10, 129, 51, 16, 115, 6, 129, 119,
287/* 1930 */ 2, 129, 193, 129, 56, 39, 129, 51, 49, 129,
288/* 1940 */ 47, 57, 129, 44, 63, 129, 42, 67, 129, 40,
289/* 1950 */ 71, 129, 38, 75, 129, 37, 77, 129, 35, 81,
290/* 1960 */ 129, 34, 16, 74, 5, 101, 16, 129, 33, 11,
291/* 1970 */ 76, 5, 107, 11, 129, 32, 9, 77, 5, 110,
292/* 1980 */ 9, 129, 32, 7, 79, 4, 112, 7, 129, 31,
293/* 1990 */ 6, 80, 4, 114, 6, 129, 31, 5, 81, 4,
294/* 2000 */ 115, 5, 129, 30, 5, 82, 4, 116, 5, 129,
295/* 2010 */ 30, 4, 82, 4, 116, 5, 129, 30, 4, 82,
296/* 2020 */ 5, 117, 4, 131, 30, 5, 82, 5, 117, 4,
297/* 2030 */ 129, 31, 5, 81, 6, 117, 4, 129, 31, 6,
298/* 2040 */ 80, 7, 117, 4, 129, 32, 7, 79, 8, 117,
299/* 2050 */ 4, 129, 32, 9, 77, 9, 116, 5, 129, 33,
300/* 2060 */ 11, 75, 11, 116, 4, 129, 34, 16, 69, 16,
301/* 2070 */ 115, 5, 129, 35, 49, 114, 5, 129, 37, 46,
302/* 2080 */ 113, 5, 129, 38, 44, 112, 6, 129, 40, 41,
303/* 2090 */ 112, 5, 129, 42, 37, 113, 3, 129, 44, 33,
304/* 2100 */ 114, 1, 129, 47, 27, 129, 51, 17, 129, 193,
305/* 2110 */ 129, 103, 2, 129, 103, 6, 129, 104, 9, 129,
306/* 2120 */ 105, 12, 129, 106, 15, 129, 107, 14, 135, 30,
307/* 2130 */ 10, 107, 14, 129, 30, 17, 107, 14, 129, 30,
308/* 2140 */ 25, 107, 14, 129, 30, 31, 107, 14, 129, 30,
309/* 2150 */ 37, 107, 14, 129, 30, 42, 107, 14, 129, 30,
310/* 2160 */ 46, 107, 14, 129, 30, 50, 107, 14, 129, 30,
311/* 2170 */ 54, 107, 14, 129, 30, 58, 107, 14, 129, 59,
312/* 2180 */ 32, 107, 14, 129, 64, 30, 107, 14, 129, 74,
313/* 2190 */ 23, 107, 14, 129, 81, 18, 107, 14, 129, 86,
314/* 2200 */ 16, 107, 14, 129, 91, 14, 107, 14, 129, 96,
315/* 2210 */ 25, 129, 100, 21, 129, 104, 17, 129, 107, 14,
316/* 2220 */ 129, 111, 10, 129, 114, 7, 129, 117, 4, 129,
317/* 2230 */ 120, 1, 129, 193, 129, 48, 13, 129, 44, 21,
318/* 2240 */ 129, 42, 26, 129, 40, 30, 92, 12, 129, 38,
319/* 2250 */ 34, 88, 20, 129, 36, 37, 86, 25, 129, 35,
320/* 2260 */ 39, 84, 29, 129, 34, 13, 63, 12, 82, 33,
321/* 2270 */ 129, 33, 11, 67, 9, 80, 36, 129, 32, 9,
322/* 2280 */ 70, 7, 79, 38, 129, 31, 8, 72, 46, 129,
323/* 2290 */ 30, 7, 74, 22, 108, 11, 129, 30, 6, 75,
324/* 2300 */ 19, 111, 9, 129, 30, 5, 75, 17, 113, 7,
325/* 2310 */ 129, 30, 5, 74, 16, 114, 6, 129, 30, 4,
326/* 2320 */ 73, 16, 115, 6, 129, 30, 4, 72, 16, 116,
327/* 2330 */ 5, 129, 30, 4, 72, 15, 117, 4, 129, 30,
328/* 2340 */ 4, 71, 16, 117, 4, 129, 30, 5, 70, 16,
329/* 2350 */ 117, 4, 129, 30, 5, 70, 15, 117, 4, 129,
330/* 2360 */ 30, 6, 69, 15, 116, 5, 129, 30, 7, 68,
331/* 2370 */ 17, 115, 5, 129, 30, 9, 67, 19, 114, 6,
332/* 2380 */ 129, 30, 10, 65, 22, 113, 6, 129, 31, 12,
333/* 2390 */ 63, 27, 110, 9, 129, 32, 14, 60, 21, 84,
334/* 2400 */ 9, 106, 12, 129, 33, 47, 85, 32, 129, 34,
335/* 2410 */ 45, 86, 30, 129, 35, 43, 88, 26, 129, 36,
336/* 2420 */ 40, 90, 22, 129, 38, 36, 93, 17, 129, 40,
337/* 2430 */ 32, 96, 10, 129, 42, 28, 129, 44, 23, 129,
338/* 2440 */ 48, 15, 129, 193, 129, 83, 17, 129, 77, 27,
339/* 2450 */ 129, 36, 1, 74, 33, 129, 35, 3, 72, 37,
340/* 2460 */ 129, 34, 5, 70, 41, 129, 33, 6, 69, 44,
341/* 2470 */ 129, 33, 5, 68, 46, 129, 32, 5, 67, 49,
342/* 2480 */ 129, 31, 5, 66, 17, 101, 16, 129, 31, 5,
343/* 2490 */ 66, 11, 108, 10, 129, 30, 4, 65, 9, 110,
344/* 2500 */ 9, 129, 30, 4, 64, 8, 112, 7, 129, 30,
345/* 2510 */ 4, 64, 7, 114, 6, 129, 30, 4, 64, 6,
346/* 2520 */ 115, 5, 129, 30, 4, 64, 5, 116, 5, 129,
347/* 2530 */ 30, 4, 64, 5, 117, 4, 131, 30, 4, 65,
348/* 2540 */ 4, 117, 4, 129, 30, 5, 65, 4, 116, 5,
349/* 2550 */ 129, 31, 5, 66, 4, 115, 5, 129, 31, 6,
350/* 2560 */ 67, 4, 114, 6, 129, 32, 7, 68, 4, 112,
351/* 2570 */ 7, 129, 32, 9, 69, 5, 110, 9, 129, 33,
352/* 2580 */ 11, 70, 5, 107, 11, 129, 34, 16, 72, 5,
353/* 2590 */ 101, 16, 129, 35, 81, 129, 37, 77, 129, 38,
354/* 2600 */ 75, 129, 40, 71, 129, 42, 67, 129, 44, 63,
355/* 2610 */ 129, 47, 57, 129, 51, 49, 129, 56, 39, 129,
356/* 2620 */ 193, 130, 34, 6, 74, 6, 129, 32, 10, 72,
357/* 2630 */ 10, 129, 31, 12, 71, 12, 129, 30, 14, 70,
358/* 2640 */ 14, 131, 31, 12, 71, 12, 129, 32, 10, 72,
359/* 2650 */ 10, 129, 34, 6, 74, 6, 129, 194, 130, 34,
360/* 2660 */ 6, 74, 6, 129, 32, 10, 72, 10, 129, 31,
361/* 2670 */ 12, 71, 12, 129, 30, 14, 70, 14, 129, 20,
362/* 2680 */ 2, 28, 16, 70, 14, 129, 22, 22, 70, 14,
363/* 2690 */ 129, 24, 19, 71, 12, 129, 27, 15, 72, 10,
364/* 2700 */ 129, 31, 9, 74, 6, 129, 194, 129, 53, 4,
365/* 2710 */ 63, 4, 152, 193, 130, 99, 7, 129, 97, 13,
366/* 2720 */ 129, 96, 16, 129, 96, 18, 129, 96, 19, 129,
367/* 2730 */ 97, 19, 129, 99, 6, 110, 7, 129, 112, 6,
368/* 2740 */ 129, 114, 5, 129, 34, 6, 57, 5, 115, 4,
369/* 2750 */ 129, 32, 10, 54, 12, 116, 4, 129, 31, 12,
370/* 2760 */ 53, 16, 117, 3, 129, 30, 14, 52, 20, 117,
371/* 2770 */ 4, 129, 30, 14, 52, 23, 117, 4, 129, 30,
372/* 2780 */ 14, 52, 25, 117, 4, 129, 31, 12, 52, 27,
373/* 2790 */ 117, 4, 129, 32, 10, 53, 10, 70, 11, 116,
374/* 2800 */ 5, 129, 34, 6, 55, 5, 73, 10, 115, 6,
375/* 2810 */ 129, 74, 11, 114, 7, 129, 75, 12, 112, 9,
376/* 2820 */ 129, 76, 13, 110, 10, 129, 77, 16, 106, 14,
377/* 2830 */ 129, 78, 41, 129, 80, 38, 129, 81, 36, 129,
378/* 2840 */ 82, 34, 129, 84, 30, 129, 86, 26, 129, 88,
379/* 2850 */ 22, 129, 92, 14, 129, 194, 129, 55, 15, 129,
380/* 2860 */ 50, 25, 129, 47, 32, 129, 45, 13, 70, 12,
381/* 2870 */ 129, 43, 9, 76, 10, 129, 42, 6, 79, 8,
382/* 2880 */ 129, 41, 5, 81, 7, 129, 40, 4, 84, 6,
383/* 2890 */ 129, 39, 4, 59, 12, 85, 6, 129, 38, 4,
384/* 2900 */ 55, 19, 87, 5, 129, 37, 4, 53, 23, 88,
385/* 2910 */ 4, 129, 36, 4, 51, 8, 71, 6, 89, 4,
386/* 2920 */ 129, 36, 4, 51, 6, 73, 4, 89, 4, 129,
387/* 2930 */ 36, 4, 50, 6, 74, 4, 90, 3, 129, 35,
388/* 2940 */ 4, 50, 5, 75, 3, 90, 4, 129, 35, 4,
389/* 2950 */ 50, 4, 75, 4, 90, 4, 131, 35, 4, 50,
390/* 2960 */ 5, 75, 4, 90, 4, 129, 36, 4, 51, 5,
391/* 2970 */ 75, 4, 90, 4, 129, 36, 4, 51, 6, 75,
392/* 2980 */ 4, 90, 4, 129, 36, 4, 53, 26, 90, 4,
393/* 2990 */ 129, 37, 4, 54, 25, 90, 4, 129, 37, 4,
394/* 3000 */ 52, 27, 90, 3, 129, 38, 4, 52, 4, 89,
395/* 3010 */ 4, 129, 39, 4, 51, 4, 88, 4, 129, 40,
396/* 3020 */ 4, 50, 4, 87, 5, 129, 41, 4, 50, 4,
397/* 3030 */ 86, 5, 129, 42, 4, 50, 4, 85, 5, 129,
398/* 3040 */ 43, 3, 50, 4, 83, 6, 129, 44, 2, 51,
399/* 3050 */ 5, 80, 7, 129, 46, 1, 52, 6, 76, 9,
400/* 3060 */ 129, 54, 28, 129, 56, 23, 129, 60, 16, 129,
401/* 3070 */ 193, 129, 30, 4, 132, 30, 5, 129, 30, 8,
402/* 3080 */ 129, 30, 12, 129, 30, 16, 129, 30, 4, 37,
403/* 3090 */ 12, 129, 30, 4, 41, 12, 129, 30, 4, 44,
404/* 3100 */ 13, 129, 30, 4, 48, 13, 129, 52, 13, 129,
405/* 3110 */ 56, 12, 129, 58, 14, 129, 58, 4, 64, 12,
406/* 3120 */ 129, 58, 4, 68, 12, 129, 58, 4, 72, 12,
407/* 3130 */ 129, 58, 4, 75, 13, 129, 58, 4, 79, 13,
408/* 3140 */ 129, 58, 4, 83, 13, 129, 58, 4, 87, 13,
409/* 3150 */ 129, 58, 4, 91, 12, 129, 58, 4, 95, 12,
410/* 3160 */ 129, 58, 4, 96, 15, 129, 58, 4, 93, 22,
411/* 3170 */ 129, 58, 4, 89, 30, 129, 58, 4, 85, 36,
412/* 3180 */ 129, 58, 4, 81, 38, 129, 58, 4, 77, 38,
413/* 3190 */ 129, 58, 4, 73, 38, 129, 58, 4, 70, 37,
414/* 3200 */ 129, 58, 4, 66, 37, 129, 58, 41, 129, 58,
415/* 3210 */ 37, 129, 54, 38, 129, 30, 4, 50, 38, 129,
416/* 3220 */ 30, 4, 46, 38, 129, 30, 4, 42, 38, 129,
417/* 3230 */ 30, 4, 38, 39, 129, 30, 43, 129, 30, 39,
418/* 3240 */ 129, 30, 35, 129, 30, 31, 129, 30, 27, 129,
419/* 3250 */ 30, 24, 129, 30, 20, 129, 30, 16, 129, 30,
420/* 3260 */ 12, 129, 30, 8, 129, 30, 5, 129, 30, 4,
421/* 3270 */ 132, 193, 129, 30, 4, 117, 4, 132, 30, 91,
422/* 3280 */ 137, 30, 4, 80, 4, 117, 4, 138, 30, 4,
423/* 3290 */ 80, 5, 116, 5, 129, 30, 5, 79, 6, 116,
424/* 3300 */ 5, 130, 30, 6, 78, 8, 115, 6, 129, 31,
425/* 3310 */ 6, 77, 9, 115, 6, 129, 31, 7, 76, 11,
426/* 3320 */ 114, 6, 129, 31, 8, 75, 14, 112, 8, 129,
427/* 3330 */ 32, 8, 74, 16, 111, 9, 129, 32, 9, 73,
428/* 3340 */ 19, 109, 10, 129, 33, 10, 71, 24, 106, 13,
429/* 3350 */ 129, 33, 13, 68, 12, 83, 35, 129, 34, 16,
430/* 3360 */ 64, 15, 84, 33, 129, 35, 43, 85, 31, 129,
431/* 3370 */ 36, 41, 86, 29, 129, 37, 39, 88, 25, 129,
432/* 3380 */ 38, 37, 90, 21, 129, 40, 33, 93, 15, 129,
433/* 3390 */ 42, 29, 96, 9, 129, 45, 24, 129, 49, 16,
434/* 3400 */ 129, 193, 129, 63, 25, 129, 57, 37, 129, 53,
435/* 3410 */ 45, 129, 50, 51, 129, 47, 57, 129, 45, 61,
436/* 3420 */ 129, 43, 65, 129, 41, 69, 129, 39, 73, 129,
437/* 3430 */ 38, 25, 92, 21, 129, 36, 21, 97, 18, 129,
438/* 3440 */ 35, 18, 102, 14, 129, 34, 16, 106, 11, 129,
439/* 3450 */ 33, 14, 108, 10, 129, 32, 12, 111, 8, 129,
440/* 3460 */ 32, 10, 113, 6, 129, 31, 10, 114, 6, 129,
441/* 3470 */ 31, 8, 115, 5, 129, 30, 8, 116, 5, 129,
442/* 3480 */ 30, 7, 116, 5, 129, 30, 6, 117, 4, 130,
443/* 3490 */ 30, 5, 117, 4, 131, 31, 4, 116, 5, 129,
444/* 3500 */ 32, 4, 116, 4, 129, 32, 5, 115, 5, 129,
445/* 3510 */ 33, 4, 114, 5, 129, 34, 4, 112, 6, 129,
446/* 3520 */ 35, 4, 110, 7, 129, 37, 4, 107, 9, 129,
447/* 3530 */ 39, 4, 103, 12, 129, 41, 4, 103, 18, 129,
448/* 3540 */ 43, 4, 103, 18, 129, 45, 5, 103, 18, 129,
449/* 3550 */ 48, 5, 103, 18, 129, 51, 1, 129, 193, 129,
450/* 3560 */ 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
451/* 3570 */ 117, 4, 135, 30, 5, 116, 5, 130, 30, 6,
452/* 3580 */ 115, 6, 130, 31, 6, 114, 6, 129, 31, 7,
453/* 3590 */ 113, 7, 129, 32, 7, 112, 7, 129, 32, 8,
454/* 3600 */ 111, 8, 129, 33, 9, 109, 9, 129, 33, 12,
455/* 3610 */ 106, 12, 129, 34, 13, 104, 13, 129, 35, 15,
456/* 3620 */ 101, 15, 129, 36, 19, 96, 19, 129, 37, 24,
457/* 3630 */ 90, 24, 129, 39, 73, 129, 40, 71, 129, 42,
458/* 3640 */ 67, 129, 44, 63, 129, 46, 59, 129, 49, 53,
459/* 3650 */ 129, 52, 47, 129, 56, 39, 129, 61, 29, 129,
460/* 3660 */ 193, 129, 30, 4, 117, 4, 132, 30, 91, 137,
461/* 3670 */ 30, 4, 80, 4, 117, 4, 140, 30, 4, 79,
462/* 3680 */ 6, 117, 4, 129, 30, 4, 77, 10, 117, 4,
463/* 3690 */ 129, 30, 4, 73, 18, 117, 4, 132, 30, 4,
464/* 3700 */ 117, 4, 130, 30, 5, 116, 5, 130, 30, 7,
465/* 3710 */ 114, 7, 129, 30, 8, 113, 8, 129, 30, 11,
466/* 3720 */ 110, 11, 129, 30, 18, 103, 18, 132, 193, 129,
467/* 3730 */ 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
468/* 3740 */ 80, 4, 117, 4, 132, 80, 4, 117, 4, 136,
469/* 3750 */ 79, 6, 117, 4, 129, 77, 10, 117, 4, 129,
470/* 3760 */ 73, 18, 117, 4, 132, 117, 4, 130, 116, 5,
471/* 3770 */ 130, 114, 7, 129, 113, 8, 129, 110, 11, 129,
472/* 3780 */ 103, 18, 132, 193, 129, 63, 25, 129, 57, 37,
473/* 3790 */ 129, 53, 45, 129, 50, 51, 129, 47, 57, 129,
474/* 3800 */ 45, 61, 129, 43, 65, 129, 41, 69, 129, 39,
475/* 3810 */ 73, 129, 38, 25, 92, 21, 129, 36, 21, 97,
476/* 3820 */ 18, 129, 35, 18, 102, 14, 129, 34, 16, 106,
477/* 3830 */ 11, 129, 33, 14, 108, 10, 129, 32, 12, 111,
478/* 3840 */ 8, 129, 32, 10, 113, 6, 129, 31, 10, 114,
479/* 3850 */ 6, 129, 31, 8, 115, 5, 129, 30, 8, 116,
480/* 3860 */ 5, 129, 30, 7, 116, 5, 129, 30, 6, 117,
481/* 3870 */ 4, 130, 30, 5, 117, 4, 131, 30, 5, 75,
482/* 3880 */ 4, 116, 5, 129, 31, 5, 75, 4, 116, 4,
483/* 3890 */ 129, 31, 6, 75, 4, 115, 5, 129, 32, 7,
484/* 3900 */ 75, 4, 114, 5, 129, 32, 9, 75, 4, 112,
485/* 3910 */ 6, 129, 33, 11, 75, 4, 110, 7, 129, 34,
486/* 3920 */ 15, 75, 4, 107, 9, 129, 35, 44, 103, 12,
487/* 3930 */ 129, 36, 43, 103, 18, 129, 38, 41, 103, 18,
488/* 3940 */ 129, 39, 40, 103, 18, 129, 41, 38, 103, 18,
489/* 3950 */ 129, 44, 35, 129, 48, 31, 129, 52, 27, 129,
490/* 3960 */ 61, 18, 129, 193, 129, 30, 4, 117, 4, 132,
491/* 3970 */ 30, 91, 137, 30, 4, 80, 4, 117, 4, 132,
492/* 3980 */ 80, 4, 140, 30, 4, 80, 4, 117, 4, 132,
493/* 3990 */ 30, 91, 137, 30, 4, 117, 4, 132, 193, 129,
494/* 4000 */ 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
495/* 4010 */ 117, 4, 132, 193, 129, 44, 7, 129, 40, 13,
496/* 4020 */ 129, 37, 17, 129, 35, 20, 129, 34, 22, 129,
497/* 4030 */ 33, 23, 129, 32, 24, 129, 32, 23, 129, 31,
498/* 4040 */ 6, 41, 13, 129, 31, 5, 42, 11, 129, 30,
499/* 4050 */ 5, 44, 7, 129, 30, 4, 132, 30, 5, 130,
500/* 4060 */ 31, 5, 129, 31, 6, 117, 4, 129, 31, 8,
501/* 4070 */ 117, 4, 129, 32, 9, 117, 4, 129, 33, 11,
502/* 4080 */ 117, 4, 129, 34, 87, 129, 35, 86, 129, 36,
503/* 4090 */ 85, 129, 37, 84, 129, 38, 83, 129, 40, 81,
504/* 4100 */ 129, 42, 79, 129, 45, 76, 129, 50, 71, 129,
505/* 4110 */ 117, 4, 132, 193, 129, 30, 4, 117, 4, 132,
506/* 4120 */ 30, 91, 137, 30, 4, 76, 8, 117, 4, 129,
507/* 4130 */ 30, 4, 73, 13, 117, 4, 129, 30, 4, 70,
508/* 4140 */ 18, 117, 4, 129, 30, 4, 67, 23, 117, 4,
509/* 4150 */ 129, 65, 26, 129, 62, 31, 129, 59, 35, 129,
510/* 4160 */ 56, 29, 89, 7, 129, 53, 29, 91, 7, 129,
511/* 4170 */ 50, 29, 93, 7, 129, 47, 29, 95, 6, 129,
512/* 4180 */ 30, 4, 45, 29, 96, 7, 129, 30, 4, 42,
513/* 4190 */ 29, 98, 7, 129, 30, 4, 39, 30, 100, 6,
514/* 4200 */ 129, 30, 4, 36, 30, 101, 7, 129, 30, 33,
515/* 4210 */ 103, 7, 117, 4, 129, 30, 30, 105, 6, 117,
516/* 4220 */ 4, 129, 30, 27, 106, 7, 117, 4, 129, 30,
517/* 4230 */ 25, 108, 7, 117, 4, 129, 30, 22, 110, 11,
518/* 4240 */ 129, 30, 19, 111, 10, 129, 30, 16, 113, 8,
519/* 4250 */ 129, 30, 13, 115, 6, 129, 30, 11, 116, 5,
520/* 4260 */ 129, 30, 8, 117, 4, 129, 30, 5, 117, 4,
521/* 4270 */ 129, 30, 4, 117, 4, 130, 30, 4, 130, 193,
522/* 4280 */ 129, 30, 4, 117, 4, 132, 30, 91, 137, 30,
523/* 4290 */ 4, 117, 4, 132, 30, 4, 144, 30, 5, 130,
524/* 4300 */ 30, 7, 129, 30, 8, 129, 30, 11, 129, 30,
525/* 4310 */ 18, 132, 193, 129, 30, 4, 117, 4, 132, 30,
526/* 4320 */ 91, 132, 30, 4, 103, 18, 129, 30, 4, 97,
527/* 4330 */ 24, 129, 30, 4, 92, 29, 129, 30, 4, 87,
528/* 4340 */ 34, 129, 81, 40, 129, 76, 45, 129, 70, 49,
529/* 4350 */ 129, 65, 49, 129, 60, 49, 129, 55, 49, 129,
530/* 4360 */ 50, 48, 129, 44, 49, 129, 39, 48, 129, 33,
531/* 4370 */ 49, 129, 30, 47, 129, 34, 37, 129, 40, 26,
532/* 4380 */ 129, 46, 19, 129, 52, 19, 129, 58, 19, 129,
533/* 4390 */ 64, 19, 129, 70, 19, 129, 76, 19, 129, 82,
534/* 4400 */ 19, 129, 30, 4, 88, 18, 129, 30, 4, 94,
535/* 4410 */ 18, 129, 30, 4, 100, 18, 129, 30, 4, 106,
536/* 4420 */ 15, 129, 30, 91, 137, 30, 4, 117, 4, 132,
537/* 4430 */ 193, 129, 30, 4, 117, 4, 132, 30, 91, 132,
538/* 4440 */ 30, 4, 107, 14, 129, 30, 4, 104, 17, 129,
539/* 4450 */ 30, 4, 101, 20, 129, 30, 4, 99, 22, 129,
540/* 4460 */ 96, 25, 129, 93, 28, 129, 91, 28, 129, 88,
541/* 4470 */ 29, 129, 85, 29, 129, 82, 29, 129, 79, 29,
542/* 4480 */ 129, 76, 29, 129, 74, 29, 129, 71, 29, 129,
543/* 4490 */ 68, 29, 129, 65, 29, 129, 62, 29, 129, 60,
544/* 4500 */ 29, 129, 57, 29, 129, 54, 29, 129, 51, 29,
545/* 4510 */ 129, 49, 28, 129, 46, 29, 129, 43, 29, 129,
546/* 4520 */ 40, 29, 117, 4, 129, 37, 29, 117, 4, 129,
547/* 4530 */ 35, 29, 117, 4, 129, 32, 29, 117, 4, 129,
548/* 4540 */ 30, 91, 132, 117, 4, 132, 193, 129, 63, 25,
549/* 4550 */ 129, 57, 37, 129, 53, 45, 129, 50, 51, 129,
550/* 4560 */ 47, 57, 129, 45, 61, 129, 43, 65, 129, 41,
551/* 4570 */ 69, 129, 39, 73, 129, 38, 21, 92, 21, 129,
552/* 4580 */ 36, 18, 97, 18, 129, 35, 14, 102, 14, 129,
553/* 4590 */ 34, 11, 106, 11, 129, 33, 10, 108, 10, 129,
554/* 4600 */ 32, 8, 111, 8, 129, 32, 6, 113, 6, 129,
555/* 4610 */ 31, 6, 114, 6, 129, 31, 5, 115, 5, 129,
556/* 4620 */ 30, 5, 116, 5, 130, 30, 4, 117, 4, 132,
557/* 4630 */ 30, 5, 116, 5, 130, 31, 5, 115, 5, 129,
558/* 4640 */ 31, 6, 114, 6, 129, 32, 6, 113, 6, 129,
559/* 4650 */ 32, 8, 111, 8, 129, 33, 10, 108, 10, 129,
560/* 4660 */ 34, 11, 106, 11, 129, 35, 14, 102, 14, 129,
561/* 4670 */ 36, 18, 97, 18, 129, 38, 21, 92, 21, 129,
562/* 4680 */ 39, 73, 129, 41, 69, 129, 43, 65, 129, 45,
563/* 4690 */ 61, 129, 47, 57, 129, 50, 51, 129, 53, 45,
564/* 4700 */ 129, 57, 37, 129, 63, 25, 129, 193, 129, 30,
565/* 4710 */ 4, 117, 4, 132, 30, 91, 137, 30, 4, 80,
566/* 4720 */ 4, 117, 4, 132, 80, 4, 117, 4, 134, 80,
567/* 4730 */ 5, 116, 5, 131, 80, 6, 115, 6, 130, 81,
568/* 4740 */ 6, 114, 6, 129, 81, 8, 112, 8, 129, 81,
569/* 4750 */ 9, 111, 9, 129, 82, 10, 109, 10, 129, 82,
570/* 4760 */ 13, 106, 13, 129, 83, 35, 129, 84, 33, 129,
571/* 4770 */ 85, 31, 129, 86, 29, 129, 88, 25, 129, 90,
572/* 4780 */ 21, 129, 93, 15, 129, 96, 9, 129, 193, 129,
573/* 4790 */ 63, 25, 129, 57, 37, 129, 53, 45, 129, 50,
574/* 4800 */ 51, 129, 47, 57, 129, 45, 61, 129, 43, 65,
575/* 4810 */ 129, 41, 69, 129, 39, 73, 129, 38, 21, 92,
576/* 4820 */ 21, 129, 36, 18, 97, 18, 129, 35, 14, 102,
577/* 4830 */ 14, 129, 34, 11, 106, 11, 129, 33, 10, 108,
578/* 4840 */ 10, 129, 32, 8, 111, 8, 129, 32, 6, 113,
579/* 4850 */ 6, 129, 31, 6, 114, 6, 129, 31, 5, 115,
580/* 4860 */ 5, 129, 30, 5, 116, 5, 130, 30, 4, 39,
581/* 4870 */ 2, 117, 4, 129, 30, 4, 40, 4, 117, 4,
582/* 4880 */ 129, 30, 4, 41, 5, 117, 4, 129, 30, 4,
583/* 4890 */ 41, 6, 117, 4, 129, 30, 5, 40, 8, 116,
584/* 4900 */ 5, 129, 30, 5, 39, 10, 116, 5, 129, 31,
585/* 4910 */ 5, 38, 11, 115, 5, 129, 31, 18, 114, 6,
586/* 4920 */ 129, 32, 17, 113, 6, 129, 32, 16, 111, 8,
587/* 4930 */ 129, 33, 15, 108, 10, 129, 33, 14, 106, 11,
588/* 4940 */ 129, 32, 17, 102, 14, 129, 31, 23, 97, 18,
589/* 4950 */ 129, 31, 28, 92, 21, 129, 30, 82, 129, 30,
590/* 4960 */ 80, 129, 30, 11, 43, 65, 129, 30, 10, 45,
591/* 4970 */ 61, 129, 31, 8, 47, 57, 129, 32, 6, 50,
592/* 4980 */ 51, 129, 33, 5, 53, 45, 129, 35, 4, 57,
593/* 4990 */ 37, 129, 38, 2, 63, 25, 129, 193, 129, 30,
594/* 5000 */ 4, 117, 4, 132, 30, 91, 137, 30, 4, 76,
595/* 5010 */ 8, 117, 4, 129, 30, 4, 73, 11, 117, 4,
596/* 5020 */ 129, 30, 4, 70, 14, 117, 4, 129, 30, 4,
597/* 5030 */ 67, 17, 117, 4, 129, 65, 19, 117, 4, 129,
598/* 5040 */ 62, 22, 117, 4, 129, 59, 25, 117, 4, 129,
599/* 5050 */ 56, 28, 117, 4, 129, 53, 31, 117, 4, 129,
600/* 5060 */ 50, 34, 117, 4, 129, 47, 29, 80, 5, 116,
601/* 5070 */ 5, 129, 30, 4, 45, 29, 80, 5, 116, 5,
602/* 5080 */ 129, 30, 4, 42, 29, 80, 5, 116, 5, 129,
603/* 5090 */ 30, 4, 39, 30, 80, 6, 115, 6, 129, 30,
604/* 5100 */ 4, 36, 30, 80, 6, 115, 6, 129, 30, 33,
605/* 5110 */ 81, 6, 114, 6, 129, 30, 30, 81, 8, 112,
606/* 5120 */ 8, 129, 30, 27, 81, 9, 111, 9, 129, 30,
607/* 5130 */ 25, 82, 10, 109, 10, 129, 30, 22, 82, 13,
608/* 5140 */ 106, 13, 129, 30, 19, 83, 35, 129, 30, 16,
609/* 5150 */ 84, 33, 129, 30, 13, 85, 31, 129, 30, 11,
610/* 5160 */ 86, 29, 129, 30, 8, 88, 25, 129, 30, 5,
611/* 5170 */ 90, 21, 129, 30, 4, 93, 15, 129, 30, 4,
612/* 5180 */ 96, 9, 129, 30, 4, 130, 193, 129, 30, 18,
613/* 5190 */ 130, 30, 18, 89, 15, 129, 30, 18, 85, 23,
614/* 5200 */ 129, 34, 11, 83, 27, 129, 34, 9, 81, 31,
615/* 5210 */ 129, 33, 8, 79, 35, 129, 33, 6, 78, 16,
616/* 5220 */ 106, 9, 129, 32, 6, 77, 15, 109, 7, 129,
617/* 5230 */ 32, 5, 76, 14, 111, 6, 129, 31, 5, 75,
618/* 5240 */ 14, 113, 5, 129, 31, 4, 74, 15, 114, 5,
619/* 5250 */ 129, 31, 4, 74, 14, 115, 4, 129, 30, 4,
620/* 5260 */ 73, 15, 116, 4, 129, 30, 4, 73, 14, 116,
621/* 5270 */ 4, 129, 30, 4, 73, 14, 117, 4, 129, 30,
622/* 5280 */ 4, 72, 15, 117, 4, 130, 30, 4, 71, 15,
623/* 5290 */ 117, 4, 130, 30, 4, 70, 15, 117, 4, 129,
624/* 5300 */ 30, 5, 70, 15, 117, 4, 129, 30, 5, 69,
625/* 5310 */ 15, 116, 5, 129, 30, 6, 68, 16, 115, 5,
626/* 5320 */ 129, 31, 6, 67, 16, 114, 6, 129, 31, 7,
627/* 5330 */ 66, 17, 113, 6, 129, 32, 7, 64, 18, 111,
628/* 5340 */ 8, 129, 32, 8, 62, 19, 109, 9, 129, 33,
629/* 5350 */ 9, 60, 20, 107, 10, 129, 34, 11, 57, 22,
630/* 5360 */ 103, 13, 129, 35, 43, 103, 18, 129, 36, 41,
631/* 5370 */ 103, 18, 129, 38, 38, 103, 18, 129, 39, 35,
632/* 5380 */ 103, 18, 129, 41, 31, 129, 43, 27, 129, 46,
633/* 5390 */ 22, 129, 49, 14, 129, 193, 129, 103, 18, 132,
634/* 5400 */ 110, 11, 129, 113, 8, 129, 114, 7, 129, 116,
635/* 5410 */ 5, 130, 117, 4, 132, 30, 4, 117, 4, 132,
636/* 5420 */ 30, 91, 137, 30, 4, 117, 4, 132, 117, 4,
637/* 5430 */ 132, 116, 5, 130, 114, 7, 129, 113, 8, 129,
638/* 5440 */ 110, 11, 129, 103, 18, 132, 193, 129, 117, 4,
639/* 5450 */ 132, 56, 65, 129, 50, 71, 129, 46, 75, 129,
640/* 5460 */ 44, 77, 129, 42, 79, 129, 40, 81, 129, 38,
641/* 5470 */ 83, 129, 36, 85, 129, 35, 86, 129, 34, 20,
642/* 5480 */ 117, 4, 129, 33, 17, 117, 4, 129, 32, 15,
643/* 5490 */ 117, 4, 129, 32, 13, 117, 4, 129, 31, 12,
644/* 5500 */ 129, 31, 10, 129, 31, 9, 129, 30, 9, 129,
645/* 5510 */ 30, 8, 130, 30, 7, 132, 31, 6, 130, 31,
646/* 5520 */ 7, 129, 32, 6, 129, 32, 7, 129, 33, 7,
647/* 5530 */ 129, 34, 7, 129, 35, 8, 129, 36, 9, 117,
648/* 5540 */ 4, 129, 38, 9, 117, 4, 129, 40, 10, 117,
649/* 5550 */ 4, 129, 42, 12, 117, 4, 129, 44, 77, 129,
650/* 5560 */ 46, 75, 129, 50, 71, 129, 56, 43, 100, 21,
651/* 5570 */ 129, 117, 4, 132, 193, 129, 117, 4, 132, 115,
652/* 5580 */ 6, 129, 110, 11, 129, 105, 16, 129, 101, 20,
653/* 5590 */ 129, 96, 25, 129, 92, 29, 129, 87, 34, 129,
654/* 5600 */ 83, 38, 129, 78, 43, 129, 74, 47, 129, 70,
655/* 5610 */ 42, 117, 4, 129, 65, 42, 117, 4, 129, 60,
656/* 5620 */ 43, 117, 4, 129, 56, 42, 129, 51, 42, 129,
657/* 5630 */ 46, 43, 129, 42, 43, 129, 37, 44, 129, 33,
658/* 5640 */ 43, 129, 30, 42, 129, 33, 34, 129, 38, 25,
659/* 5650 */ 129, 42, 16, 129, 47, 15, 129, 52, 15, 129,
660/* 5660 */ 57, 15, 129, 61, 16, 129, 66, 16, 129, 71,
661/* 5670 */ 16, 129, 76, 16, 129, 80, 16, 129, 85, 16,
662/* 5680 */ 117, 4, 129, 90, 16, 117, 4, 129, 95, 16,
663/* 5690 */ 117, 4, 129, 100, 21, 129, 105, 16, 129, 110,
664/* 5700 */ 11, 129, 114, 7, 129, 117, 4, 132, 193, 129,
665/* 5710 */ 117, 4, 132, 115, 6, 129, 110, 11, 129, 105,
666/* 5720 */ 16, 129, 101, 20, 129, 96, 25, 129, 92, 29,
667/* 5730 */ 129, 87, 34, 129, 83, 38, 129, 78, 43, 129,
668/* 5740 */ 74, 47, 129, 70, 42, 117, 4, 129, 65, 42,
669/* 5750 */ 117, 4, 129, 60, 43, 117, 4, 129, 56, 42,
670/* 5760 */ 129, 51, 42, 129, 46, 43, 129, 42, 43, 129,
671/* 5770 */ 37, 44, 129, 33, 43, 129, 30, 42, 129, 33,
672/* 5780 */ 34, 129, 38, 25, 129, 42, 16, 129, 47, 15,
673/* 5790 */ 129, 52, 15, 129, 57, 15, 129, 61, 16, 129,
674/* 5800 */ 65, 17, 129, 60, 27, 129, 56, 36, 129, 51,
675/* 5810 */ 42, 129, 46, 43, 129, 42, 43, 129, 37, 44,
676/* 5820 */ 129, 33, 43, 129, 30, 42, 129, 33, 34, 129,
677/* 5830 */ 38, 25, 129, 42, 16, 129, 47, 15, 129, 52,
678/* 5840 */ 15, 129, 57, 15, 129, 61, 16, 129, 66, 16,
679/* 5850 */ 129, 71, 16, 129, 76, 16, 129, 80, 16, 129,
680/* 5860 */ 85, 16, 117, 4, 129, 90, 16, 117, 4, 129,
681/* 5870 */ 95, 16, 117, 4, 129, 100, 21, 129, 105, 16,
682/* 5880 */ 129, 110, 11, 129, 114, 7, 129, 117, 4, 132,
683/* 5890 */ 193, 129, 30, 4, 117, 4, 132, 30, 4, 115,
684/* 5900 */ 6, 129, 30, 4, 112, 9, 129, 30, 6, 109,
685/* 5910 */ 12, 129, 30, 9, 106, 15, 129, 30, 11, 103,
686/* 5920 */ 18, 129, 30, 14, 100, 21, 129, 30, 4, 38,
687/* 5930 */ 9, 98, 23, 129, 30, 4, 40, 10, 95, 26,
688/* 5940 */ 129, 30, 4, 43, 9, 92, 29, 129, 46, 9,
689/* 5950 */ 89, 32, 129, 49, 8, 86, 28, 117, 4, 129,
690/* 5960 */ 51, 9, 83, 28, 117, 4, 129, 54, 9, 80,
691/* 5970 */ 28, 117, 4, 129, 57, 8, 77, 28, 117, 4,
692/* 5980 */ 129, 59, 9, 74, 28, 129, 62, 37, 129, 64,
693/* 5990 */ 33, 129, 66, 28, 129, 63, 28, 129, 60, 28,
694/* 6000 */ 129, 57, 28, 129, 54, 33, 129, 51, 39, 129,
695/* 6010 */ 48, 29, 83, 9, 129, 30, 4, 45, 29, 86,
696/* 6020 */ 9, 129, 30, 4, 42, 29, 89, 9, 129, 30,
697/* 6030 */ 4, 39, 29, 92, 8, 129, 30, 4, 36, 29,
698/* 6040 */ 94, 9, 129, 30, 32, 97, 9, 129, 30, 29,
699/* 6050 */ 100, 8, 117, 4, 129, 30, 26, 103, 8, 117,
700/* 6060 */ 4, 129, 30, 23, 105, 9, 117, 4, 129, 30,
701/* 6070 */ 20, 108, 13, 129, 30, 18, 111, 10, 129, 30,
702/* 6080 */ 15, 113, 8, 129, 30, 12, 116, 5, 129, 30,
703/* 6090 */ 9, 117, 4, 129, 30, 6, 117, 4, 129, 30,
704/* 6100 */ 4, 117, 4, 132, 193, 129, 117, 4, 132, 114,
705/* 6110 */ 7, 129, 111, 10, 129, 108, 13, 129, 105, 16,
706/* 6120 */ 129, 102, 19, 129, 100, 21, 129, 96, 25, 129,
707/* 6130 */ 93, 28, 129, 90, 31, 129, 87, 34, 129, 84,
708/* 6140 */ 30, 117, 4, 129, 30, 4, 81, 30, 117, 4,
709/* 6150 */ 129, 30, 4, 78, 30, 117, 4, 129, 30, 4,
710/* 6160 */ 75, 30, 117, 4, 129, 30, 4, 72, 30, 129,
711/* 6170 */ 30, 69, 129, 30, 66, 129, 30, 63, 129, 30,
712/* 6180 */ 60, 129, 30, 57, 129, 30, 54, 129, 30, 51,
713/* 6190 */ 129, 30, 48, 129, 30, 51, 129, 30, 4, 73,
714/* 6200 */ 12, 129, 30, 4, 76, 12, 129, 30, 4, 80,
715/* 6210 */ 12, 129, 30, 4, 83, 12, 129, 87, 12, 129,
716/* 6220 */ 90, 12, 117, 4, 129, 94, 11, 117, 4, 129,
717/* 6230 */ 97, 12, 117, 4, 129, 101, 12, 117, 4, 129,
718/* 6240 */ 104, 17, 129, 108, 13, 129, 111, 10, 129, 115,
719/* 6250 */ 6, 129, 117, 4, 134, 193, 129, 30, 1, 103,
720/* 6260 */ 18, 129, 30, 4, 103, 18, 129, 30, 7, 103,
721/* 6270 */ 18, 129, 30, 9, 103, 18, 129, 30, 12, 110,
722/* 6280 */ 11, 129, 30, 15, 113, 8, 129, 30, 18, 114,
723/* 6290 */ 7, 129, 30, 21, 116, 5, 129, 30, 24, 116,
724/* 6300 */ 5, 129, 30, 27, 117, 4, 129, 30, 30, 117,
725/* 6310 */ 4, 129, 30, 33, 117, 4, 129, 30, 4, 37,
726/* 6320 */ 28, 117, 4, 129, 30, 4, 40, 28, 117, 4,
727/* 6330 */ 129, 30, 4, 42, 29, 117, 4, 129, 30, 4,
728/* 6340 */ 45, 29, 117, 4, 129, 30, 4, 48, 29, 117,
729/* 6350 */ 4, 129, 30, 4, 51, 29, 117, 4, 129, 30,
730/* 6360 */ 4, 54, 29, 117, 4, 129, 30, 4, 57, 29,
731/* 6370 */ 117, 4, 129, 30, 4, 59, 30, 117, 4, 129,
732/* 6380 */ 30, 4, 62, 30, 117, 4, 129, 30, 4, 65,
733/* 6390 */ 30, 117, 4, 129, 30, 4, 68, 30, 117, 4,
734/* 6400 */ 129, 30, 4, 71, 30, 117, 4, 129, 30, 4,
735/* 6410 */ 74, 30, 117, 4, 129, 30, 4, 77, 30, 117,
736/* 6420 */ 4, 129, 30, 4, 80, 30, 117, 4, 129, 30,
737/* 6430 */ 4, 83, 30, 117, 4, 129, 30, 4, 86, 35,
738/* 6440 */ 129, 30, 4, 89, 32, 129, 30, 4, 91, 30,
739/* 6450 */ 129, 30, 4, 94, 27, 129, 30, 5, 97, 24,
740/* 6460 */ 129, 30, 5, 100, 21, 129, 30, 7, 103, 18,
741/* 6470 */ 129, 30, 8, 106, 15, 129, 30, 11, 109, 12,
742/* 6480 */ 129, 30, 18, 112, 9, 129, 30, 18, 115, 6,
743/* 6490 */ 129, 30, 18, 117, 4, 129, 30, 18, 120, 1,
744/* 6500 */ 129, 193, 129, 42, 8, 129, 38, 16, 129, 36,
745/* 6510 */ 20, 129, 34, 24, 71, 5, 129, 33, 26, 69,
746/* 6520 */ 10, 129, 32, 28, 68, 13, 129, 31, 30, 68,
747/* 6530 */ 14, 129, 31, 9, 52, 9, 68, 15, 129, 30,
748/* 6540 */ 8, 54, 8, 69, 14, 129, 30, 7, 55, 7,
749/* 6550 */ 71, 4, 78, 6, 129, 30, 6, 56, 6, 79,
750/* 6560 */ 5, 129, 30, 6, 56, 6, 80, 4, 130, 31,
751/* 6570 */ 5, 56, 5, 80, 4, 129, 31, 5, 56, 5,
752/* 6580 */ 79, 5, 129, 32, 5, 55, 5, 78, 6, 129,
753/* 6590 */ 33, 5, 54, 5, 77, 7, 129, 34, 6, 52,
754/* 6600 */ 6, 74, 9, 129, 35, 48, 129, 33, 49, 129,
755/* 6610 */ 32, 49, 129, 31, 49, 129, 30, 49, 129, 30,
756/* 6620 */ 47, 129, 30, 45, 129, 30, 41, 129, 30, 6,
757/* 6630 */ 129, 30, 4, 129, 30, 3, 129, 30, 2, 129,
758/* 6640 */ 193, 129, 30, 4, 117, 4, 130, 31, 90, 136,
759/* 6650 */ 37, 5, 72, 5, 129, 35, 5, 74, 5, 129,
760/* 6660 */ 33, 5, 76, 5, 129, 32, 5, 77, 5, 129,
761/* 6670 */ 31, 5, 78, 5, 129, 31, 4, 79, 4, 129,
762/* 6680 */ 30, 5, 79, 5, 131, 30, 6, 78, 6, 129,
763/* 6690 */ 30, 7, 77, 7, 129, 31, 8, 75, 8, 129,
764/* 6700 */ 31, 11, 72, 11, 129, 32, 15, 67, 15, 129,
765/* 6710 */ 33, 48, 129, 34, 46, 129, 35, 44, 129, 37,
766/* 6720 */ 40, 129, 39, 36, 129, 42, 30, 129, 46, 22,
767/* 6730 */ 129, 193, 129, 48, 18, 129, 43, 28, 129, 41,
768/* 6740 */ 32, 129, 39, 36, 129, 37, 40, 129, 35, 44,
769/* 6750 */ 129, 34, 46, 129, 33, 13, 68, 13, 129, 32,
770/* 6760 */ 9, 73, 9, 129, 32, 7, 75, 7, 129, 31,
771/* 6770 */ 6, 77, 6, 129, 31, 5, 78, 5, 129, 30,
772/* 6780 */ 5, 79, 5, 129, 30, 4, 80, 4, 133, 31,
773/* 6790 */ 3, 79, 4, 129, 31, 4, 79, 4, 129, 32,
774/* 6800 */ 3, 78, 4, 129, 32, 4, 76, 6, 129, 33,
775/* 6810 */ 4, 74, 7, 129, 34, 4, 72, 8, 129, 35,
776/* 6820 */ 5, 72, 7, 129, 37, 5, 73, 4, 129, 39,
777/* 6830 */ 4, 74, 1, 129, 129, 193, 129, 46, 22, 129,
778/* 6840 */ 42, 30, 129, 39, 36, 129, 37, 40, 129, 35,
779/* 6850 */ 44, 129, 34, 46, 129, 33, 48, 129, 32, 15,
780/* 6860 */ 67, 15, 129, 31, 11, 72, 11, 129, 31, 8,
781/* 6870 */ 75, 8, 129, 30, 7, 77, 7, 129, 30, 6,
782/* 6880 */ 78, 6, 129, 30, 5, 79, 5, 131, 31, 4,
783/* 6890 */ 79, 4, 129, 31, 5, 78, 5, 129, 32, 5,
784/* 6900 */ 77, 5, 129, 33, 5, 76, 5, 129, 35, 5,
785/* 6910 */ 74, 5, 117, 4, 129, 37, 5, 72, 5, 117,
786/* 6920 */ 4, 129, 30, 91, 136, 30, 4, 130, 193, 129,
787/* 6930 */ 48, 18, 129, 43, 28, 129, 41, 32, 129, 39,
788/* 6940 */ 36, 129, 37, 40, 129, 35, 44, 129, 34, 46,
789/* 6950 */ 129, 33, 13, 55, 4, 68, 13, 129, 32, 9,
790/* 6960 */ 55, 4, 73, 9, 129, 32, 7, 55, 4, 75,
791/* 6970 */ 7, 129, 31, 6, 55, 4, 77, 6, 129, 31,
792/* 6980 */ 5, 55, 4, 78, 5, 129, 30, 5, 55, 4,
793/* 6990 */ 79, 5, 129, 30, 4, 55, 4, 80, 4, 132,
794/* 7000 */ 30, 4, 55, 4, 79, 5, 129, 31, 3, 55,
795/* 7010 */ 4, 78, 5, 129, 31, 4, 55, 4, 77, 6,
796/* 7020 */ 129, 32, 3, 55, 4, 75, 7, 129, 32, 4,
797/* 7030 */ 55, 4, 73, 9, 129, 33, 4, 55, 4, 68,
798/* 7040 */ 13, 129, 34, 4, 55, 25, 129, 35, 5, 55,
799/* 7050 */ 24, 129, 37, 5, 55, 22, 129, 39, 4, 55,
800/* 7060 */ 20, 129, 55, 18, 129, 55, 16, 129, 55, 11,
801/* 7070 */ 129, 193, 129, 80, 4, 129, 30, 4, 80, 4,
802/* 7080 */ 130, 30, 78, 129, 30, 82, 129, 30, 85, 129,
803/* 7090 */ 30, 87, 129, 30, 88, 129, 30, 89, 129, 30,
804/* 7100 */ 90, 130, 30, 4, 80, 4, 115, 6, 129, 30,
805/* 7110 */ 4, 80, 4, 117, 4, 129, 80, 4, 105, 6,
806/* 7120 */ 117, 4, 129, 80, 4, 103, 10, 116, 5, 129,
807/* 7130 */ 80, 4, 102, 19, 129, 80, 4, 101, 19, 129,
808/* 7140 */ 101, 19, 129, 101, 18, 129, 102, 16, 129, 103,
809/* 7150 */ 12, 129, 105, 6, 129, 193, 129, 12, 10, 59,
810/* 7160 */ 11, 129, 9, 16, 55, 19, 129, 7, 20, 53,
811/* 7170 */ 23, 129, 6, 7, 23, 5, 32, 6, 51, 27,
812/* 7180 */ 129, 4, 7, 25, 16, 50, 29, 129, 3, 6,
813/* 7190 */ 27, 16, 49, 31, 129, 2, 6, 28, 16, 48,
814/* 7200 */ 33, 129, 1, 6, 27, 18, 47, 35, 129, 1,
815/* 7210 */ 6, 27, 31, 71, 12, 129, 1, 5, 26, 15,
816/* 7220 */ 44, 10, 75, 8, 129, 1, 5, 25, 14, 45,
817/* 7230 */ 7, 77, 7, 129, 1, 5, 25, 13, 45, 5,
818/* 7240 */ 79, 5, 129, 1, 5, 24, 14, 45, 4, 80,
819/* 7250 */ 4, 129, 1, 5, 24, 13, 45, 4, 80, 4,
820/* 7260 */ 129, 1, 5, 23, 14, 45, 4, 80, 4, 129,
821/* 7270 */ 1, 5, 23, 13, 45, 4, 80, 4, 129, 1,
822/* 7280 */ 6, 22, 13, 45, 5, 79, 5, 129, 1, 6,
823/* 7290 */ 21, 14, 45, 7, 77, 7, 129, 1, 7, 21,
824/* 7300 */ 13, 46, 8, 75, 8, 129, 1, 8, 20, 13,
825/* 7310 */ 46, 12, 71, 12, 129, 1, 10, 18, 15, 47,
826/* 7320 */ 35, 129, 2, 30, 48, 33, 129, 3, 29, 49,
827/* 7330 */ 32, 129, 4, 27, 50, 31, 129, 5, 25, 51,
828/* 7340 */ 27, 80, 2, 86, 4, 129, 7, 21, 53, 23,
829/* 7350 */ 80, 3, 85, 6, 129, 9, 17, 55, 19, 80,
830/* 7360 */ 12, 129, 12, 12, 59, 11, 81, 11, 129, 82,
831/* 7370 */ 10, 129, 84, 7, 129, 86, 4, 129, 193, 129,
832/* 7380 */ 30, 4, 117, 4, 130, 30, 91, 136, 30, 4,
833/* 7390 */ 72, 5, 129, 30, 4, 74, 5, 129, 75, 5,
834/* 7400 */ 129, 76, 5, 129, 76, 6, 129, 77, 6, 130,
835/* 7410 */ 77, 7, 130, 76, 8, 129, 30, 4, 75, 9,
836/* 7420 */ 129, 30, 4, 72, 12, 129, 30, 54, 129, 30,
837/* 7430 */ 53, 130, 30, 52, 129, 30, 51, 129, 30, 49,
838/* 7440 */ 129, 30, 46, 129, 30, 42, 129, 30, 4, 130,
839/* 7450 */ 193, 129, 30, 4, 80, 4, 129, 30, 4, 80,
840/* 7460 */ 4, 100, 6, 129, 30, 54, 98, 10, 129, 30,
841/* 7470 */ 54, 97, 12, 129, 30, 54, 96, 14, 131, 30,
842/* 7480 */ 54, 97, 12, 129, 30, 54, 98, 10, 129, 30,
843/* 7490 */ 54, 100, 6, 129, 30, 4, 130, 193, 129, 7,
844/* 7500 */ 6, 129, 4, 11, 129, 3, 13, 129, 2, 14,
845/* 7510 */ 129, 1, 15, 130, 1, 3, 6, 9, 129, 1,
846/* 7520 */ 3, 7, 6, 129, 1, 3, 130, 1, 4, 129,
847/* 7530 */ 1, 5, 80, 4, 129, 1, 7, 80, 4, 100,
848/* 7540 */ 6, 129, 2, 82, 98, 10, 129, 3, 81, 97,
849/* 7550 */ 12, 129, 4, 80, 96, 14, 129, 5, 79, 96,
850/* 7560 */ 14, 129, 7, 77, 96, 14, 129, 10, 74, 97,
851/* 7570 */ 12, 129, 14, 70, 98, 10, 129, 19, 65, 100,
852/* 7580 */ 6, 129, 193, 129, 30, 4, 117, 4, 130, 30,
853/* 7590 */ 91, 136, 30, 4, 57, 9, 129, 30, 4, 55,
854/* 7600 */ 12, 129, 52, 17, 129, 50, 20, 129, 48, 24,
855/* 7610 */ 129, 46, 27, 129, 44, 21, 69, 6, 129, 41,
856/* 7620 */ 22, 70, 6, 80, 4, 129, 30, 4, 39, 21,
857/* 7630 */ 72, 6, 80, 4, 129, 30, 4, 36, 22, 73,
858/* 7640 */ 11, 129, 30, 26, 75, 9, 129, 30, 23, 76,
859/* 7650 */ 8, 129, 30, 21, 78, 6, 129, 30, 19, 79,
860/* 7660 */ 5, 129, 30, 16, 80, 4, 129, 30, 14, 80,
861/* 7670 */ 4, 129, 30, 12, 129, 30, 10, 129, 30, 7,
862/* 7680 */ 129, 30, 5, 129, 30, 4, 130, 193, 129, 30,
863/* 7690 */ 4, 117, 4, 130, 30, 91, 136, 30, 4, 130,
864/* 7700 */ 193, 129, 30, 4, 80, 4, 130, 30, 54, 136,
865/* 7710 */ 30, 4, 72, 5, 129, 30, 4, 74, 5, 129,
866/* 7720 */ 75, 5, 129, 76, 5, 129, 30, 4, 75, 7,
867/* 7730 */ 129, 30, 4, 74, 9, 129, 30, 54, 132, 30,
868/* 7740 */ 53, 129, 30, 52, 129, 30, 51, 129, 30, 48,
869/* 7750 */ 129, 30, 4, 72, 5, 129, 30, 4, 74, 5,
870/* 7760 */ 129, 75, 5, 129, 76, 5, 129, 30, 4, 75,
871/* 7770 */ 7, 129, 30, 4, 74, 9, 129, 30, 54, 132,
872/* 7780 */ 30, 53, 129, 30, 52, 129, 30, 51, 129, 30,
873/* 7790 */ 48, 129, 30, 4, 130, 193, 129, 30, 4, 80,
874/* 7800 */ 4, 130, 30, 54, 136, 30, 4, 72, 5, 129,
875/* 7810 */ 30, 4, 74, 5, 129, 75, 5, 129, 76, 5,
876/* 7820 */ 129, 76, 6, 129, 77, 6, 130, 77, 7, 130,
877/* 7830 */ 76, 8, 129, 30, 4, 75, 9, 129, 30, 4,
878/* 7840 */ 72, 12, 129, 30, 54, 129, 30, 53, 130, 30,
879/* 7850 */ 52, 129, 30, 51, 129, 30, 49, 129, 30, 46,
880/* 7860 */ 129, 30, 42, 129, 30, 4, 130, 193, 129, 48,
881/* 7870 */ 18, 129, 43, 28, 129, 41, 32, 129, 39, 36,
882/* 7880 */ 129, 37, 40, 129, 35, 44, 129, 34, 46, 129,
883/* 7890 */ 33, 13, 68, 13, 129, 32, 9, 73, 9, 129,
884/* 7900 */ 32, 7, 75, 7, 129, 31, 6, 77, 6, 129,
885/* 7910 */ 31, 5, 78, 5, 129, 30, 5, 79, 5, 129,
886/* 7920 */ 30, 4, 80, 4, 132, 30, 5, 79, 5, 130,
887/* 7930 */ 31, 5, 78, 5, 129, 31, 6, 77, 6, 129,
888/* 7940 */ 32, 7, 75, 7, 129, 32, 9, 73, 9, 129,
889/* 7950 */ 33, 13, 68, 13, 129, 34, 46, 129, 35, 44,
890/* 7960 */ 129, 37, 40, 129, 39, 36, 129, 41, 32, 129,
891/* 7970 */ 43, 28, 129, 48, 18, 129, 193, 129, 1, 3,
892/* 7980 */ 80, 4, 130, 1, 83, 137, 37, 5, 72, 5,
893/* 7990 */ 129, 35, 5, 74, 5, 129, 33, 5, 76, 5,
894/* 8000 */ 129, 32, 5, 77, 5, 129, 31, 5, 78, 5,
895/* 8010 */ 129, 31, 4, 79, 4, 129, 30, 5, 79, 5,
896/* 8020 */ 131, 30, 6, 78, 6, 129, 30, 7, 77, 7,
897/* 8030 */ 129, 31, 8, 75, 8, 129, 31, 11, 72, 11,
898/* 8040 */ 129, 32, 15, 67, 15, 129, 33, 48, 129, 34,
899/* 8050 */ 46, 129, 35, 44, 129, 37, 40, 129, 39, 36,
900/* 8060 */ 129, 42, 30, 129, 46, 22, 129, 193, 129, 46,
901/* 8070 */ 22, 129, 42, 30, 129, 39, 36, 129, 37, 40,
902/* 8080 */ 129, 35, 44, 129, 34, 46, 129, 33, 48, 129,
903/* 8090 */ 32, 15, 67, 15, 129, 31, 11, 72, 11, 129,
904/* 8100 */ 31, 8, 75, 8, 129, 30, 7, 77, 7, 129,
905/* 8110 */ 30, 6, 78, 6, 129, 30, 5, 79, 5, 131,
906/* 8120 */ 31, 4, 79, 4, 129, 31, 5, 78, 5, 129,
907/* 8130 */ 32, 5, 77, 5, 129, 33, 5, 76, 5, 129,
908/* 8140 */ 35, 5, 74, 5, 129, 37, 5, 72, 5, 129,
909/* 8150 */ 1, 83, 136, 1, 3, 80, 4, 130, 193, 129,
910/* 8160 */ 30, 4, 80, 4, 130, 30, 54, 136, 30, 4,
911/* 8170 */ 68, 6, 129, 30, 4, 70, 6, 129, 71, 7,
912/* 8180 */ 129, 72, 7, 129, 73, 7, 129, 74, 7, 129,
913/* 8190 */ 74, 8, 129, 75, 8, 130, 69, 15, 129, 67,
914/* 8200 */ 17, 129, 66, 18, 129, 65, 19, 130, 65, 18,
915/* 8210 */ 130, 66, 16, 129, 67, 13, 129, 69, 8, 129,
916/* 8220 */ 193, 129, 30, 13, 64, 8, 129, 30, 13, 61,
917/* 8230 */ 14, 129, 30, 13, 59, 18, 129, 30, 13, 57,
918/* 8240 */ 22, 129, 33, 8, 56, 24, 129, 32, 7, 55,
919/* 8250 */ 26, 129, 32, 6, 54, 28, 129, 31, 6, 53,
920/* 8260 */ 16, 77, 6, 129, 31, 5, 53, 14, 79, 4,
921/* 8270 */ 129, 30, 5, 52, 14, 80, 4, 129, 30, 5,
922/* 8280 */ 52, 13, 80, 4, 129, 30, 4, 52, 13, 80,
923/* 8290 */ 4, 129, 30, 4, 52, 12, 80, 4, 129, 30,
924/* 8300 */ 4, 51, 13, 80, 4, 130, 30, 4, 50, 13,
925/* 8310 */ 79, 5, 129, 30, 4, 50, 13, 78, 5, 129,
926/* 8320 */ 30, 5, 49, 14, 77, 6, 129, 31, 4, 49,
927/* 8330 */ 13, 76, 6, 129, 31, 5, 48, 14, 75, 7,
928/* 8340 */ 129, 32, 5, 47, 14, 73, 8, 129, 32, 6,
929/* 8350 */ 45, 16, 71, 13, 129, 33, 27, 71, 13, 129,
930/* 8360 */ 34, 26, 71, 13, 129, 35, 24, 71, 13, 129,
931/* 8370 */ 37, 20, 129, 39, 16, 129, 43, 9, 129, 193,
932/* 8380 */ 129, 80, 4, 131, 41, 56, 129, 37, 60, 129,
933/* 8390 */ 35, 62, 129, 33, 64, 129, 32, 65, 129, 31,
934/* 8400 */ 66, 129, 30, 67, 130, 30, 11, 80, 4, 129,
935/* 8410 */ 30, 9, 80, 4, 129, 30, 8, 80, 4, 129,
936/* 8420 */ 31, 7, 80, 4, 129, 31, 6, 129, 32, 5,
937/* 8430 */ 129, 33, 5, 129, 35, 4, 129, 38, 3, 129,
938/* 8440 */ 193, 129, 80, 4, 130, 42, 42, 129, 38, 46,
939/* 8450 */ 129, 35, 49, 129, 33, 51, 129, 32, 52, 129,
940/* 8460 */ 31, 53, 130, 30, 54, 129, 30, 12, 129, 30,
941/* 8470 */ 9, 129, 30, 8, 129, 30, 7, 130, 31, 6,
942/* 8480 */ 130, 32, 6, 129, 33, 5, 129, 34, 5, 129,
943/* 8490 */ 35, 5, 80, 4, 129, 37, 5, 80, 4, 129,
944/* 8500 */ 30, 54, 136, 30, 4, 130, 193, 129, 80, 4,
945/* 8510 */ 130, 77, 7, 129, 74, 10, 129, 70, 14, 129,
946/* 8520 */ 66, 18, 129, 62, 22, 129, 59, 25, 129, 55,
947/* 8530 */ 29, 129, 51, 33, 129, 47, 37, 129, 44, 32,
948/* 8540 */ 80, 4, 129, 40, 32, 80, 4, 129, 36, 32,
949/* 8550 */ 129, 32, 33, 129, 30, 31, 129, 33, 24, 129,
950/* 8560 */ 36, 17, 129, 40, 12, 129, 44, 12, 129, 48,
951/* 8570 */ 12, 129, 51, 13, 129, 55, 13, 129, 59, 13,
952/* 8580 */ 80, 4, 129, 63, 13, 80, 4, 129, 67, 17,
953/* 8590 */ 129, 71, 13, 129, 74, 10, 129, 78, 6, 129,
954/* 8600 */ 80, 4, 131, 193, 129, 80, 4, 130, 77, 7,
955/* 8610 */ 129, 74, 10, 129, 70, 14, 129, 66, 18, 129,
956/* 8620 */ 62, 22, 129, 59, 25, 129, 55, 29, 129, 51,
957/* 8630 */ 33, 129, 47, 37, 129, 44, 32, 80, 4, 129,
958/* 8640 */ 40, 32, 80, 4, 129, 36, 32, 129, 32, 33,
959/* 8650 */ 129, 30, 31, 129, 33, 24, 129, 36, 17, 129,
960/* 8660 */ 40, 12, 129, 44, 12, 129, 47, 13, 129, 44,
961/* 8670 */ 20, 129, 40, 28, 129, 36, 31, 129, 32, 32,
962/* 8680 */ 129, 30, 30, 129, 33, 24, 129, 36, 17, 129,
963/* 8690 */ 40, 12, 129, 44, 12, 129, 48, 12, 129, 51,
964/* 8700 */ 13, 129, 55, 13, 129, 59, 13, 80, 4, 129,
965/* 8710 */ 63, 13, 80, 4, 129, 67, 17, 129, 71, 13,
966/* 8720 */ 129, 74, 10, 129, 78, 6, 129, 80, 4, 131,
967/* 8730 */ 193, 129, 30, 4, 80, 4, 130, 30, 4, 79,
968/* 8740 */ 5, 129, 30, 5, 77, 7, 129, 30, 6, 74,
969/* 8750 */ 10, 129, 30, 8, 72, 12, 129, 30, 11, 69,
970/* 8760 */ 15, 129, 30, 13, 67, 17, 129, 30, 4, 37,
971/* 8770 */ 8, 64, 20, 129, 30, 4, 39, 8, 62, 22,
972/* 8780 */ 129, 41, 8, 59, 25, 129, 43, 8, 57, 27,
973/* 8790 */ 129, 45, 8, 55, 22, 80, 4, 129, 47, 27,
974/* 8800 */ 80, 4, 129, 49, 23, 129, 47, 22, 129, 44,
975/* 8810 */ 23, 129, 42, 22, 129, 30, 4, 39, 27, 129,
976/* 8820 */ 30, 4, 37, 31, 129, 30, 27, 62, 8, 129,
977/* 8830 */ 30, 25, 64, 8, 129, 30, 22, 66, 8, 80,
978/* 8840 */ 4, 129, 30, 20, 68, 8, 80, 4, 129, 30,
979/* 8850 */ 17, 70, 8, 80, 4, 129, 30, 15, 73, 11,
980/* 8860 */ 129, 30, 12, 75, 9, 129, 30, 10, 77, 7,
981/* 8870 */ 129, 30, 7, 79, 5, 129, 30, 5, 80, 4,
982/* 8880 */ 129, 30, 4, 80, 4, 130, 193, 129, 4, 5,
983/* 8890 */ 80, 4, 129, 2, 9, 80, 4, 129, 1, 11,
984/* 8900 */ 77, 7, 129, 1, 12, 74, 10, 129, 1, 12,
985/* 8910 */ 70, 14, 129, 1, 12, 66, 18, 129, 1, 11,
986/* 8920 */ 62, 22, 129, 2, 9, 59, 25, 129, 4, 11,
987/* 8930 */ 55, 29, 129, 7, 12, 51, 33, 129, 10, 12,
988/* 8940 */ 47, 37, 129, 14, 12, 44, 32, 80, 4, 129,
989/* 8950 */ 17, 13, 40, 32, 80, 4, 129, 21, 13, 36,
990/* 8960 */ 32, 129, 25, 40, 129, 29, 32, 129, 33, 24,
991/* 8970 */ 129, 36, 17, 129, 40, 12, 129, 44, 12, 129,
992/* 8980 */ 48, 12, 129, 51, 13, 129, 55, 13, 129, 59,
993/* 8990 */ 13, 80, 4, 129, 63, 13, 80, 4, 129, 67,
994/* 9000 */ 17, 129, 71, 13, 129, 74, 10, 129, 78, 6,
995/* 9010 */ 129, 80, 4, 131, 193, 129, 30, 1, 71, 13,
996/* 9020 */ 129, 30, 3, 71, 13, 129, 30, 6, 71, 13,
997/* 9030 */ 129, 30, 9, 75, 9, 129, 30, 11, 77, 7,
998/* 9040 */ 129, 30, 14, 79, 5, 129, 30, 17, 79, 5,
999/* 9050 */ 129, 30, 19, 80, 4, 129, 30, 22, 80, 4,
1000/* 9060 */ 129, 30, 25, 80, 4, 129, 30, 27, 80, 4,
1001/* 9070 */ 129, 30, 4, 36, 24, 80, 4, 129, 30, 4,
1002/* 9080 */ 38, 25, 80, 4, 129, 30, 4, 41, 24, 80,
1003/* 9090 */ 4, 129, 30, 4, 44, 24, 80, 4, 129, 30,
1004/* 9100 */ 4, 46, 25, 80, 4, 129, 30, 4, 49, 25,
1005/* 9110 */ 80, 4, 129, 30, 4, 52, 24, 80, 4, 129,
1006/* 9120 */ 30, 4, 54, 30, 129, 30, 4, 57, 27, 129,
1007/* 9130 */ 30, 4, 59, 25, 129, 30, 4, 62, 22, 129,
1008/* 9140 */ 30, 4, 65, 19, 129, 30, 5, 67, 17, 129,
1009/* 9150 */ 30, 5, 70, 14, 129, 30, 7, 73, 11, 129,
1010/* 9160 */ 30, 9, 76, 8, 129, 30, 13, 78, 6, 129,
1011/* 9170 */ 30, 13, 81, 3, 129, 30, 13, 129, 193, 2,
1012/* 9180 */ 9, 59, 25, 129, 4, 11, 55, 29, 129, 7,
1013/* 9190 */ 12, 51, 33, 129, 10, 12, 47, 37, 129, 14,
1014/* 9200 */ 12, 44, 32, 80, 4, 129, 17, 13, 40, 32,
1015/* 9210 */ 80, 4, 129, 21, 13, 36, 32, 129, 25, 40,
1016/* 9220 */ 129, 29, 32, 129, 33, 24, 129, 36, 17, 129,
1017/* 9230 */ 40, 12, 129, 44, 12, 129, 48, 12, 129, 51,
1018/* 9240 */ 13, 129, 55, 13, 129, 59, 13, 80, 4, 129,
1019/* 9250 */ 63, 13, 80, 4, 129, 67, 17, 129, 71, 13,
1020/* 9260 */ 129, 74, 10, 129, 78, 6, 129, 80, 4, 131,
1021/* 9270 */ 193
1022};
1023
1024char line[DWIDTH];
1025char *message;
1026char print[DWIDTH];
1027int debug, i, j, linen, max, nchars, pc, term, trace, x, y;
1028int width = DWIDTH; /* -w option: scrunch letters to 80 columns */
1029
1030static void usage __P((void));
1031
1032int
1033main(int argc, char *argv[])
1034{
1035 int ch;
1036
1037 while ((ch = getopt(argc, argv, "w:td")) != -1)
1038 switch (ch) {
1039 case 'd':
1040 debug = 1;
1041 break;
1042 case 't':
1043 trace = 1;
1044 break;
1045 case 'w':
1046 width = atoi(optarg);
1047 if (width <= 0)
1048 errx(1, "illegal argument for -w option");
1049 break;
1050 case '?':
1051 default:
1052 usage();
1053 }
1054 argc -= optind;
1055 argv += optind;
1056
1057 for (i = 0; i < width; i++) {
1058 j = i * 132 / width;
1059 print[j] = 1;
1060 }
1061
1062 /* Have now read in the data. Next get the message to be printed. */
1063 if (*argv) {
1064 for(i=0, j=0; i < argc; i++)
1065 j += strlen(argv[i]) + 1;
1066 if ((message = malloc((size_t)j)) == NULL)
1067 err(1, "malloc");
1068 strcpy(message, *argv);
1069 while (*++argv) {
1070 strcat(message, " ");
1071 strcat(message, *argv);
1072 }
1073 nchars = strlen(message);
1074 } else {
1075 if ((message = malloc((size_t)MAXMSG)) == NULL)
1076 err(1, "malloc");
1077 fprintf(stderr,"Message: ");
1078 if (fgets(message, MAXMSG, stdin) == NULL) {
1079 nchars = 0;
1080 message[0] = '\0';
1081 } else {
1082 nchars = strlen(message);
1083
1084 /* Get rid of newline. */
1085 if (message[nchars - 1] == '\n')
1086 message[--nchars] = '\0';
1087 }
1088 }
1089
1090 /* some debugging print statements */
1091 if (debug) {
1092 printf("const int asc_ptr[NCHARS] = {\n");
1093 for (i = 0; i < 128; i++) {
1094 printf("%4d, ",asc_ptr[i]);
1095 if ((i+1) % 8 == 0)
1096 printf("\n");
1097 }
1098 printf("};\nconst unsigned char data_table[NBYTES] = {\n");
1099 printf("/* ");
1100 for (i = 0; i < 10; i++) printf(" %3d ",i);
1101 printf("*/\n");
1102 for (i = 0; i < NBYTES; i += 10) {
1103 printf("/* %4d */ ",i);
1104 for (j = i; j < i+10; j++) {
1105 x = data_table[j] & 0377;
1106 printf(" %3d, ",x);
1107 }
1108 putchar('\n');
1109 }
1110 printf("};\n");
1111 }
1112
1113 /* check message to make sure it's legal */
1114 j = 0;
1115 for (i = 0; i < nchars; i++)
1116 if ((u_char) message[i] >= NCHARS ||
1117 asc_ptr[(u_char) message[i]] == 0) {
1118 warnx("the character '%c' is not in my character set",
1119 message[i]);
1120 j++;
1121 }
1122 if (j)
1123 exit(1);
1124
1125 if (trace)
1126 printf("Message '%s' is OK\n",message);
1127 /* Now have message. Print it one character at a time. */
1128
1129 for (i = 0; i < nchars; i++) {
1130 if (trace)
1131 printf("Char #%d: %c\n", i, message[i]);
1132 for (j = 0; j < DWIDTH; j++) line[j] = ' ';
1133 pc = asc_ptr[(u_char) message[i]];
1134 term = 0;
1135 max = 0;
1136 linen = 0;
1137 while (!term) {
1138 if (pc < 0 || pc > NBYTES) {
1139 printf("bad pc: %d\n",pc);
1140 exit(1);
1141 }
1142 x = data_table[pc] & 0377;
1143 if (trace)
1144 printf("pc=%d, term=%d, max=%d, linen=%d, x=%d\n",pc,term,max,linen,x);
1145 if (x >= 128) {
1146 if (x>192) term++;
1147 x = x & 63;
1148 while (x--) {
1149 if (print[linen++]) {
1150 for (j=0; j <= max; j++)
1151 if (print[j])
1152 putchar(line[j]);
1153 putchar('\n');
1154 }
1155 }
1156 for (j = 0; j < DWIDTH; j++) line[j] = ' ';
1157 pc++;
1158 }
1159 else {
1160 y = data_table[pc+1];
1161 /* compensate for narrow teminals */
1162#ifdef notdef
1163 x = (x*width + (DWIDTH/2)) / DWIDTH;
1164 y = (y*width + (DWIDTH/2)) / DWIDTH;
1165#endif
1166 max = x+y;
1167 while (x < max) line[x++] = '#';
1168 pc += 2;
1169 if (trace)
1170 printf("x=%d, y=%d, max=%d\n",x,y,max);
1171 }
1172 }
1173 }
1174
1175 free(message);
1176 exit(0);
1177}
1178
1179static void
1180usage()
1181{
1182 fprintf(stderr, "usage: banner [-d] [-t] [-w width] message ...\n");
1183 exit(1);
1184}