1
2#line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
3/*
4 * Copyright © 2011,2012  Google, Inc.
5 *
6 *  This is part of HarfBuzz, a text shaping library.
7 *
8 * Permission is hereby granted, without written agreement and without
9 * license or royalty fees, to use, copy, modify, and distribute this
10 * software and its documentation for any purpose, provided that the
11 * above copyright notice and the following two paragraphs appear in
12 * all copies of this software.
13 *
14 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
15 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
16 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
17 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
18 * DAMAGE.
19 *
20 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
21 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
22 * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
23 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
24 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
25 *
26 * Google Author(s): Behdad Esfahbod
27 */
28
29#ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
30#define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
31
32#include "hb-private.hh"
33
34
35#line 36 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
36static const unsigned char _indic_syllable_machine_trans_keys[] = {
37	1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u,
38	5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u,
39	16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
40	6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
41	4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u,
42	7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u,
43	5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u,
44	4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u,
45	4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
46	1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u,
47	5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u,
48	16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
49	6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
50	4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u,
51	5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u,
52	7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
53	6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u,
54	4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
55	4u, 14u, 5u, 7u, 5u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u,
56	7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 1u, 16u, 13u, 13u, 4u, 4u, 6u, 6u,
57	16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
58	6u, 6u, 16u, 16u, 1u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
59	3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
60	3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u,
61	5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
62	3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
63	3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
64	6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u,
65	1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
66	1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
67	1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
68	1u, 16u, 3u, 31u, 3u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
69	3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
70	3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u,
71	5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
72	3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
73	3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
74	6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u,
75	1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
76	1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
77	1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
78	4u, 14u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u,
79	4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u,
80	4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u, 5u, 10u,
81	9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u,
82	8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
83	4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 6u, 14u,
84	3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
85	1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
86	1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
87	1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
88	4u, 14u, 3u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
89	3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
90	3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u,
91	5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
92	3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
93	3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
94	6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u,
95	1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
96	1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
97	1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
98	1u, 16u, 3u, 31u, 1u, 31u, 3u, 31u, 1u, 31u, 4u, 14u, 1u, 16u, 3u, 31u,
99	3u, 31u, 4u, 31u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u,
100	5u, 10u, 3u, 31u, 3u, 31u, 1u, 16u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
101	4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 8u, 14u,
102	3u, 13u, 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 1u, 16u, 3u, 10u, 8u, 10u,
103	5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 0
104};
105
106static const char _indic_syllable_machine_key_spans[] = {
107	16, 1, 3, 3, 1, 3, 3, 1,
108	3, 3, 1, 3, 3, 1, 1, 1,
109	1, 4, 1, 1, 4, 1, 1, 4,
110	1, 1, 11, 11, 11, 11, 11, 11,
111	11, 11, 11, 11, 16, 1, 3, 3,
112	1, 3, 3, 1, 3, 3, 1, 3,
113	3, 1, 1, 1, 1, 4, 1, 1,
114	4, 1, 1, 4, 1, 1, 11, 11,
115	11, 11, 11, 11, 11, 11, 11, 11,
116	16, 1, 3, 3, 1, 3, 3, 1,
117	3, 3, 1, 3, 3, 1, 1, 1,
118	1, 4, 1, 1, 4, 1, 1, 4,
119	1, 1, 11, 11, 11, 11, 11, 11,
120	11, 11, 11, 16, 1, 3, 3, 1,
121	3, 3, 1, 3, 3, 1, 3, 3,
122	1, 1, 1, 1, 4, 1, 1, 4,
123	1, 1, 4, 1, 1, 11, 11, 11,
124	11, 11, 11, 11, 11, 11, 11, 11,
125	11, 3, 3, 3, 3, 1, 3, 3,
126	1, 3, 3, 1, 16, 1, 1, 1,
127	1, 4, 1, 1, 4, 1, 1, 4,
128	1, 1, 31, 29, 29, 28, 16, 29,
129	29, 28, 16, 29, 29, 28, 16, 29,
130	29, 28, 16, 29, 29, 28, 10, 7,
131	6, 2, 1, 2, 2, 1, 6, 11,
132	8, 3, 8, 11, 12, 12, 11, 10,
133	12, 11, 10, 12, 11, 10, 12, 11,
134	9, 12, 16, 28, 11, 29, 29, 16,
135	16, 16, 16, 16, 29, 29, 16, 16,
136	16, 16, 16, 29, 29, 16, 16, 16,
137	16, 16, 29, 29, 16, 16, 16, 16,
138	16, 29, 29, 29, 29, 28, 16, 29,
139	29, 28, 16, 29, 29, 28, 16, 29,
140	29, 28, 16, 29, 29, 28, 10, 7,
141	6, 2, 1, 2, 2, 1, 6, 11,
142	8, 3, 8, 11, 12, 12, 11, 10,
143	12, 11, 10, 12, 11, 10, 12, 11,
144	9, 12, 16, 28, 11, 29, 29, 16,
145	16, 16, 16, 16, 29, 29, 16, 16,
146	16, 16, 16, 29, 29, 16, 16, 16,
147	16, 16, 29, 29, 16, 16, 16, 16,
148	11, 16, 29, 29, 28, 16, 29, 29,
149	28, 16, 29, 29, 28, 16, 29, 29,
150	28, 16, 29, 29, 28, 10, 7, 6,
151	2, 1, 2, 2, 1, 6, 11, 8,
152	3, 8, 11, 12, 12, 11, 10, 12,
153	11, 10, 12, 11, 10, 12, 11, 9,
154	12, 16, 28, 11, 29, 29, 16, 16,
155	16, 16, 16, 29, 29, 16, 16, 16,
156	16, 16, 29, 29, 16, 16, 16, 16,
157	16, 29, 29, 16, 16, 16, 16, 16,
158	11, 29, 11, 29, 29, 28, 16, 29,
159	29, 28, 16, 29, 29, 28, 16, 29,
160	29, 28, 16, 29, 29, 28, 10, 7,
161	6, 2, 1, 2, 2, 1, 6, 11,
162	8, 3, 8, 11, 12, 12, 11, 10,
163	12, 11, 10, 12, 11, 10, 12, 11,
164	9, 12, 16, 28, 11, 29, 29, 16,
165	16, 16, 16, 16, 29, 29, 16, 16,
166	16, 16, 16, 29, 29, 16, 16, 16,
167	16, 16, 29, 29, 16, 16, 16, 16,
168	16, 29, 31, 29, 31, 11, 16, 29,
169	29, 28, 6, 2, 1, 2, 2, 1,
170	6, 29, 29, 16, 12, 11, 10, 12,
171	11, 10, 12, 11, 10, 12, 11, 7,
172	11, 8, 3, 8, 11, 16, 8, 3,
173	6, 2, 1, 2, 2, 1, 6
174};
175
176static const short _indic_syllable_machine_index_offsets[] = {
177	0, 17, 19, 23, 27, 29, 33, 37,
178	39, 43, 47, 49, 53, 57, 59, 61,
179	63, 65, 70, 72, 74, 79, 81, 83,
180	88, 90, 92, 104, 116, 128, 140, 152,
181	164, 176, 188, 200, 212, 229, 231, 235,
182	239, 241, 245, 249, 251, 255, 259, 261,
183	265, 269, 271, 273, 275, 277, 282, 284,
184	286, 291, 293, 295, 300, 302, 304, 316,
185	328, 340, 352, 364, 376, 388, 400, 412,
186	424, 441, 443, 447, 451, 453, 457, 461,
187	463, 467, 471, 473, 477, 481, 483, 485,
188	487, 489, 494, 496, 498, 503, 505, 507,
189	512, 514, 516, 528, 540, 552, 564, 576,
190	588, 600, 612, 624, 641, 643, 647, 651,
191	653, 657, 661, 663, 667, 671, 673, 677,
192	681, 683, 685, 687, 689, 694, 696, 698,
193	703, 705, 707, 712, 714, 716, 728, 740,
194	752, 764, 776, 788, 800, 812, 824, 836,
195	848, 860, 864, 868, 872, 876, 878, 882,
196	886, 888, 892, 896, 898, 915, 917, 919,
197	921, 923, 928, 930, 932, 937, 939, 941,
198	946, 948, 950, 982, 1012, 1042, 1071, 1088,
199	1118, 1148, 1177, 1194, 1224, 1254, 1283, 1300,
200	1330, 1360, 1389, 1406, 1436, 1466, 1495, 1506,
201	1514, 1521, 1524, 1526, 1529, 1532, 1534, 1541,
202	1553, 1562, 1566, 1575, 1587, 1600, 1613, 1625,
203	1636, 1649, 1661, 1672, 1685, 1697, 1708, 1721,
204	1733, 1743, 1756, 1773, 1802, 1814, 1844, 1874,
205	1891, 1908, 1925, 1942, 1959, 1989, 2019, 2036,
206	2053, 2070, 2087, 2104, 2134, 2164, 2181, 2198,
207	2215, 2232, 2249, 2279, 2309, 2326, 2343, 2360,
208	2377, 2394, 2424, 2454, 2484, 2514, 2543, 2560,
209	2590, 2620, 2649, 2666, 2696, 2726, 2755, 2772,
210	2802, 2832, 2861, 2878, 2908, 2938, 2967, 2978,
211	2986, 2993, 2996, 2998, 3001, 3004, 3006, 3013,
212	3025, 3034, 3038, 3047, 3059, 3072, 3085, 3097,
213	3108, 3121, 3133, 3144, 3157, 3169, 3180, 3193,
214	3205, 3215, 3228, 3245, 3274, 3286, 3316, 3346,
215	3363, 3380, 3397, 3414, 3431, 3461, 3491, 3508,
216	3525, 3542, 3559, 3576, 3606, 3636, 3653, 3670,
217	3687, 3704, 3721, 3751, 3781, 3798, 3815, 3832,
218	3849, 3861, 3878, 3908, 3938, 3967, 3984, 4014,
219	4044, 4073, 4090, 4120, 4150, 4179, 4196, 4226,
220	4256, 4285, 4302, 4332, 4362, 4391, 4402, 4410,
221	4417, 4420, 4422, 4425, 4428, 4430, 4437, 4449,
222	4458, 4462, 4471, 4483, 4496, 4509, 4521, 4532,
223	4545, 4557, 4568, 4581, 4593, 4604, 4617, 4629,
224	4639, 4652, 4669, 4698, 4710, 4740, 4770, 4787,
225	4804, 4821, 4838, 4855, 4885, 4915, 4932, 4949,
226	4966, 4983, 5000, 5030, 5060, 5077, 5094, 5111,
227	5128, 5145, 5175, 5205, 5222, 5239, 5256, 5273,
228	5290, 5302, 5332, 5344, 5374, 5404, 5433, 5450,
229	5480, 5510, 5539, 5556, 5586, 5616, 5645, 5662,
230	5692, 5722, 5751, 5768, 5798, 5828, 5857, 5868,
231	5876, 5883, 5886, 5888, 5891, 5894, 5896, 5903,
232	5915, 5924, 5928, 5937, 5949, 5962, 5975, 5987,
233	5998, 6011, 6023, 6034, 6047, 6059, 6070, 6083,
234	6095, 6105, 6118, 6135, 6164, 6176, 6206, 6236,
235	6253, 6270, 6287, 6304, 6321, 6351, 6381, 6398,
236	6415, 6432, 6449, 6466, 6496, 6526, 6543, 6560,
237	6577, 6594, 6611, 6641, 6671, 6688, 6705, 6722,
238	6739, 6756, 6786, 6818, 6848, 6880, 6892, 6909,
239	6939, 6969, 6998, 7005, 7008, 7010, 7013, 7016,
240	7018, 7025, 7055, 7085, 7102, 7115, 7127, 7138,
241	7151, 7163, 7174, 7187, 7199, 7210, 7223, 7235,
242	7243, 7255, 7264, 7268, 7277, 7289, 7306, 7315,
243	7319, 7326, 7329, 7331, 7334, 7337, 7339
244};
245
246static const short _indic_syllable_machine_indicies[] = {
247	1, 2, 0, 0, 0, 0, 0, 0,
248	0, 0, 0, 0, 0, 0, 0, 1,
249	0, 3, 0, 4, 4, 5, 0, 6,
250	6, 5, 0, 5, 0, 7, 7, 8,
251	0, 9, 9, 8, 0, 8, 0, 10,
252	10, 11, 0, 12, 12, 11, 0, 11,
253	0, 13, 13, 14, 0, 15, 15, 14,
254	0, 14, 0, 16, 0, 17, 0, 18,
255	0, 19, 13, 13, 14, 0, 20, 0,
256	21, 0, 22, 10, 10, 11, 0, 23,
257	0, 24, 0, 25, 7, 7, 8, 0,
258	26, 0, 27, 0, 28, 4, 4, 5,
259	0, 0, 0, 0, 0, 0, 28, 0,
260	28, 4, 4, 5, 0, 0, 0, 0,
261	0, 29, 28, 0, 30, 4, 4, 5,
262	0, 0, 0, 0, 0, 0, 30, 0,
263	30, 4, 4, 5, 0, 0, 0, 0,
264	0, 31, 30, 0, 32, 4, 4, 5,
265	0, 0, 0, 0, 0, 0, 32, 0,
266	32, 4, 4, 5, 0, 0, 0, 0,
267	0, 33, 32, 0, 34, 4, 4, 5,
268	0, 0, 0, 0, 0, 0, 34, 0,
269	34, 4, 4, 5, 0, 0, 0, 0,
270	0, 35, 34, 0, 36, 4, 4, 5,
271	0, 0, 0, 0, 0, 0, 36, 0,
272	36, 4, 4, 5, 0, 0, 0, 0,
273	0, 37, 36, 0, 39, 40, 38, 38,
274	38, 38, 38, 38, 38, 38, 38, 38,
275	38, 38, 38, 39, 38, 41, 38, 42,
276	42, 43, 38, 44, 44, 43, 38, 43,
277	38, 45, 45, 46, 38, 47, 47, 46,
278	38, 46, 38, 48, 48, 49, 38, 50,
279	50, 49, 38, 49, 38, 51, 51, 52,
280	38, 53, 53, 52, 38, 52, 38, 54,
281	38, 55, 38, 56, 38, 57, 51, 51,
282	52, 38, 58, 38, 59, 38, 60, 48,
283	48, 49, 38, 61, 38, 62, 38, 63,
284	45, 45, 46, 38, 64, 38, 65, 38,
285	66, 42, 42, 43, 38, 38, 38, 38,
286	38, 38, 66, 38, 66, 42, 42, 43,
287	38, 38, 38, 38, 38, 67, 66, 38,
288	68, 42, 42, 43, 38, 38, 38, 38,
289	38, 38, 68, 38, 68, 42, 42, 43,
290	38, 38, 38, 38, 38, 69, 68, 38,
291	70, 42, 42, 43, 38, 38, 38, 38,
292	38, 38, 70, 38, 70, 42, 42, 43,
293	38, 38, 38, 38, 38, 71, 70, 38,
294	72, 42, 42, 43, 38, 38, 38, 38,
295	38, 38, 72, 38, 72, 42, 42, 43,
296	38, 38, 38, 38, 38, 73, 72, 38,
297	74, 42, 42, 43, 38, 38, 38, 38,
298	38, 38, 74, 38, 74, 42, 42, 43,
299	38, 38, 38, 38, 38, 75, 74, 38,
300	77, 78, 76, 76, 76, 76, 76, 76,
301	76, 76, 76, 76, 76, 76, 76, 77,
302	76, 79, 76, 80, 80, 81, 76, 83,
303	83, 81, 82, 81, 82, 84, 84, 85,
304	76, 86, 86, 85, 76, 85, 76, 87,
305	87, 88, 76, 89, 89, 88, 76, 88,
306	76, 90, 90, 91, 76, 92, 92, 91,
307	76, 91, 76, 93, 76, 94, 76, 95,
308	76, 96, 90, 90, 91, 76, 97, 76,
309	98, 76, 99, 87, 87, 88, 76, 100,
310	76, 101, 76, 102, 84, 84, 85, 76,
311	103, 76, 104, 76, 105, 80, 80, 81,
312	76, 76, 76, 76, 76, 76, 105, 76,
313	105, 80, 80, 81, 76, 76, 76, 76,
314	76, 106, 105, 76, 107, 80, 80, 81,
315	76, 76, 76, 76, 76, 76, 107, 76,
316	107, 80, 80, 81, 76, 76, 76, 76,
317	76, 108, 107, 76, 109, 80, 80, 81,
318	76, 76, 76, 76, 76, 76, 109, 76,
319	109, 80, 80, 81, 76, 76, 76, 76,
320	76, 110, 109, 76, 111, 80, 80, 81,
321	82, 82, 82, 82, 82, 82, 111, 82,
322	111, 80, 80, 81, 76, 76, 76, 76,
323	76, 112, 111, 76, 113, 80, 80, 81,
324	76, 76, 76, 76, 76, 76, 113, 76,
325	115, 116, 114, 114, 114, 114, 114, 114,
326	114, 114, 114, 114, 114, 114, 114, 115,
327	114, 117, 114, 118, 118, 119, 114, 120,
328	120, 119, 114, 119, 114, 121, 121, 122,
329	114, 123, 123, 122, 114, 122, 114, 124,
330	124, 125, 114, 126, 126, 125, 114, 125,
331	114, 127, 127, 128, 114, 129, 129, 128,
332	114, 128, 114, 130, 114, 131, 114, 132,
333	114, 133, 127, 127, 128, 114, 134, 114,
334	135, 114, 136, 124, 124, 125, 114, 137,
335	114, 138, 114, 139, 121, 121, 122, 114,
336	140, 114, 141, 114, 142, 118, 118, 119,
337	114, 114, 114, 114, 114, 114, 142, 114,
338	142, 118, 118, 119, 114, 114, 114, 114,
339	114, 143, 142, 114, 144, 118, 118, 119,
340	114, 114, 114, 114, 114, 114, 144, 114,
341	144, 118, 118, 119, 114, 114, 114, 114,
342	114, 145, 144, 114, 146, 118, 118, 119,
343	114, 114, 114, 114, 114, 114, 146, 114,
344	146, 118, 118, 119, 114, 114, 114, 114,
345	114, 147, 146, 114, 148, 118, 118, 119,
346	114, 114, 114, 114, 114, 114, 148, 114,
347	148, 118, 118, 119, 114, 114, 114, 114,
348	114, 149, 148, 114, 150, 118, 118, 119,
349	114, 114, 114, 114, 114, 114, 150, 114,
350	150, 118, 118, 119, 114, 114, 114, 114,
351	114, 151, 150, 114, 113, 80, 80, 81,
352	76, 76, 76, 76, 76, 152, 113, 76,
353	111, 80, 80, 81, 0, 0, 0, 0,
354	0, 153, 111, 0, 154, 154, 155, 0,
355	6, 6, 155, 0, 156, 156, 157, 0,
356	158, 158, 157, 0, 157, 0, 159, 159,
357	160, 0, 161, 161, 160, 0, 160, 0,
358	162, 162, 163, 0, 164, 164, 163, 0,
359	163, 0, 165, 166, 0, 0, 0, 0,
360	0, 0, 0, 0, 0, 0, 0, 0,
361	0, 165, 0, 167, 0, 168, 0, 169,
362	0, 170, 0, 171, 162, 162, 163, 0,
363	172, 0, 173, 0, 174, 159, 159, 160,
364	0, 175, 0, 176, 0, 177, 156, 156,
365	157, 0, 178, 0, 179, 0, 181, 182,
366	183, 184, 185, 186, 81, 187, 188, 189,
367	190, 190, 152, 191, 192, 193, 194, 195,
368	180, 180, 180, 180, 180, 180, 180, 180,
369	180, 180, 180, 180, 196, 180, 198, 199,
370	200, 201, 5, 202, 203, 204, 197, 197,
371	37, 205, 197, 197, 206, 197, 197, 197,
372	197, 197, 197, 197, 197, 197, 197, 197,
373	197, 197, 207, 197, 208, 199, 209, 209,
374	5, 202, 203, 204, 197, 197, 197, 205,
375	197, 197, 206, 197, 197, 197, 197, 197,
376	197, 197, 197, 197, 197, 197, 197, 197,
377	207, 197, 199, 209, 209, 5, 202, 203,
378	204, 197, 197, 197, 205, 197, 197, 206,
379	197, 197, 197, 197, 197, 197, 197, 197,
380	197, 197, 197, 197, 197, 207, 197, 210,
381	197, 197, 197, 18, 211, 197, 202, 203,
382	204, 197, 197, 197, 212, 197, 210, 197,
383	213, 214, 215, 216, 5, 202, 203, 204,
384	197, 197, 35, 217, 197, 197, 206, 197,
385	197, 197, 197, 197, 197, 197, 197, 197,
386	197, 197, 197, 197, 207, 197, 218, 214,
387	219, 219, 5, 202, 203, 204, 197, 197,
388	197, 217, 197, 197, 206, 197, 197, 197,
389	197, 197, 197, 197, 197, 197, 197, 197,
390	197, 197, 207, 197, 214, 219, 219, 5,
391	202, 203, 204, 197, 197, 197, 217, 197,
392	197, 206, 197, 197, 197, 197, 197, 197,
393	197, 197, 197, 197, 197, 197, 197, 207,
394	197, 220, 197, 197, 197, 18, 221, 197,
395	202, 203, 204, 197, 197, 197, 212, 197,
396	220, 197, 222, 223, 224, 225, 5, 202,
397	203, 204, 197, 197, 33, 226, 197, 197,
398	206, 197, 197, 197, 197, 197, 197, 197,
399	197, 197, 197, 197, 197, 197, 207, 197,
400	227, 223, 228, 228, 5, 202, 203, 204,
401	197, 197, 197, 226, 197, 197, 206, 197,
402	197, 197, 197, 197, 197, 197, 197, 197,
403	197, 197, 197, 197, 207, 197, 223, 228,
404	228, 5, 202, 203, 204, 197, 197, 197,
405	226, 197, 197, 206, 197, 197, 197, 197,
406	197, 197, 197, 197, 197, 197, 197, 197,
407	197, 207, 197, 229, 197, 197, 197, 18,
408	230, 197, 202, 203, 204, 197, 197, 197,
409	212, 197, 229, 197, 231, 232, 233, 234,
410	5, 202, 203, 204, 197, 197, 31, 235,
411	197, 197, 206, 197, 197, 197, 197, 197,
412	197, 197, 197, 197, 197, 197, 197, 197,
413	207, 197, 236, 232, 237, 237, 5, 202,
414	203, 204, 197, 197, 197, 235, 197, 197,
415	206, 197, 197, 197, 197, 197, 197, 197,
416	197, 197, 197, 197, 197, 197, 207, 197,
417	232, 237, 237, 5, 202, 203, 204, 197,
418	197, 197, 235, 197, 197, 206, 197, 197,
419	197, 197, 197, 197, 197, 197, 197, 197,
420	197, 197, 197, 207, 197, 238, 197, 197,
421	197, 18, 239, 197, 202, 203, 204, 197,
422	197, 197, 212, 197, 238, 197, 240, 241,
423	242, 243, 5, 202, 203, 204, 197, 197,
424	29, 244, 197, 197, 206, 197, 197, 197,
425	197, 197, 197, 197, 197, 197, 197, 197,
426	197, 197, 207, 197, 245, 241, 246, 246,
427	5, 202, 203, 204, 197, 197, 197, 244,
428	197, 197, 206, 197, 197, 197, 197, 197,
429	197, 197, 197, 197, 197, 197, 197, 197,
430	207, 197, 241, 246, 246, 5, 202, 203,
431	204, 197, 197, 197, 244, 197, 197, 206,
432	197, 197, 197, 197, 197, 197, 197, 197,
433	197, 197, 197, 197, 197, 207, 197, 18,
434	247, 197, 202, 203, 204, 197, 197, 197,
435	212, 197, 202, 203, 204, 197, 197, 197,
436	212, 197, 248, 197, 197, 249, 203, 204,
437	197, 203, 204, 197, 250, 197, 203, 251,
438	197, 203, 252, 197, 203, 197, 248, 197,
439	197, 197, 203, 204, 197, 253, 197, 254,
440	255, 197, 202, 203, 204, 197, 197, 3,
441	197, 2, 197, 197, 197, 197, 202, 203,
442	204, 197, 202, 203, 204, 197, 253, 197,
443	197, 197, 197, 202, 203, 204, 197, 253,
444	197, 254, 197, 197, 202, 203, 204, 197,
445	197, 3, 197, 18, 197, 256, 256, 5,
446	202, 203, 204, 197, 197, 197, 212, 197,
447	257, 27, 258, 259, 8, 202, 203, 204,
448	197, 197, 197, 212, 197, 27, 258, 259,
449	8, 202, 203, 204, 197, 197, 197, 212,
450	197, 258, 258, 8, 202, 203, 204, 197,
451	197, 197, 212, 197, 260, 24, 261, 262,
452	11, 202, 203, 204, 197, 197, 197, 212,
453	197, 24, 261, 262, 11, 202, 203, 204,
454	197, 197, 197, 212, 197, 261, 261, 11,
455	202, 203, 204, 197, 197, 197, 212, 197,
456	263, 21, 264, 265, 14, 202, 203, 204,
457	197, 197, 197, 212, 197, 21, 264, 265,
458	14, 202, 203, 204, 197, 197, 197, 212,
459	197, 264, 264, 14, 202, 203, 204, 197,
460	197, 197, 212, 197, 266, 18, 197, 267,
461	197, 202, 203, 204, 197, 197, 197, 212,
462	197, 18, 197, 267, 197, 202, 203, 204,
463	197, 197, 197, 212, 197, 268, 197, 202,
464	203, 204, 197, 197, 197, 212, 197, 18,
465	197, 197, 197, 197, 202, 203, 204, 197,
466	197, 197, 212, 197, 1, 2, 197, 197,
467	18, 247, 197, 202, 203, 204, 197, 197,
468	197, 212, 197, 1, 197, 241, 246, 246,
469	5, 202, 203, 204, 197, 197, 197, 244,
470	197, 197, 197, 197, 197, 197, 197, 197,
471	197, 197, 197, 197, 197, 197, 197, 197,
472	207, 197, 241, 246, 246, 5, 202, 203,
473	204, 197, 197, 197, 244, 197, 240, 241,
474	246, 246, 5, 202, 203, 204, 197, 197,
475	197, 244, 197, 197, 206, 197, 197, 197,
476	197, 197, 197, 197, 197, 197, 197, 197,
477	197, 197, 207, 197, 240, 241, 242, 246,
478	5, 202, 203, 204, 197, 197, 29, 244,
479	197, 197, 206, 197, 197, 197, 197, 197,
480	197, 197, 197, 197, 197, 197, 197, 197,
481	207, 197, 238, 197, 269, 197, 256, 256,
482	5, 202, 203, 204, 197, 197, 197, 212,
483	197, 238, 197, 238, 197, 197, 197, 197,
484	197, 197, 202, 203, 204, 197, 197, 197,
485	212, 197, 238, 197, 238, 197, 197, 197,
486	197, 270, 197, 202, 203, 204, 197, 197,
487	197, 212, 197, 238, 197, 238, 197, 269,
488	197, 197, 197, 197, 202, 203, 204, 197,
489	197, 197, 212, 197, 238, 197, 238, 2,
490	197, 197, 18, 239, 197, 202, 203, 204,
491	197, 197, 197, 212, 197, 238, 197, 231,
492	232, 237, 237, 5, 202, 203, 204, 197,
493	197, 197, 235, 197, 197, 206, 197, 197,
494	197, 197, 197, 197, 197, 197, 197, 197,
495	197, 197, 197, 207, 197, 231, 232, 233,
496	237, 5, 202, 203, 204, 197, 197, 31,
497	235, 197, 197, 206, 197, 197, 197, 197,
498	197, 197, 197, 197, 197, 197, 197, 197,
499	197, 207, 197, 229, 197, 271, 197, 256,
500	256, 5, 202, 203, 204, 197, 197, 197,
501	212, 197, 229, 197, 229, 197, 197, 197,
502	197, 197, 197, 202, 203, 204, 197, 197,
503	197, 212, 197, 229, 197, 229, 197, 197,
504	197, 197, 272, 197, 202, 203, 204, 197,
505	197, 197, 212, 197, 229, 197, 229, 197,
506	271, 197, 197, 197, 197, 202, 203, 204,
507	197, 197, 197, 212, 197, 229, 197, 229,
508	2, 197, 197, 18, 230, 197, 202, 203,
509	204, 197, 197, 197, 212, 197, 229, 197,
510	222, 223, 228, 228, 5, 202, 203, 204,
511	197, 197, 197, 226, 197, 197, 206, 197,
512	197, 197, 197, 197, 197, 197, 197, 197,
513	197, 197, 197, 197, 207, 197, 222, 223,
514	224, 228, 5, 202, 203, 204, 197, 197,
515	33, 226, 197, 197, 206, 197, 197, 197,
516	197, 197, 197, 197, 197, 197, 197, 197,
517	197, 197, 207, 197, 220, 197, 273, 197,
518	256, 256, 5, 202, 203, 204, 197, 197,
519	197, 212, 197, 220, 197, 220, 197, 197,
520	197, 197, 197, 197, 202, 203, 204, 197,
521	197, 197, 212, 197, 220, 197, 220, 197,
522	197, 197, 197, 274, 197, 202, 203, 204,
523	197, 197, 197, 212, 197, 220, 197, 220,
524	197, 273, 197, 197, 197, 197, 202, 203,
525	204, 197, 197, 197, 212, 197, 220, 197,
526	220, 2, 197, 197, 18, 221, 197, 202,
527	203, 204, 197, 197, 197, 212, 197, 220,
528	197, 213, 214, 219, 219, 5, 202, 203,
529	204, 197, 197, 197, 217, 197, 197, 206,
530	197, 197, 197, 197, 197, 197, 197, 197,
531	197, 197, 197, 197, 197, 207, 197, 213,
532	214, 215, 219, 5, 202, 203, 204, 197,
533	197, 35, 217, 197, 197, 206, 197, 197,
534	197, 197, 197, 197, 197, 197, 197, 197,
535	197, 197, 197, 207, 197, 210, 197, 275,
536	197, 256, 256, 5, 202, 203, 204, 197,
537	197, 197, 212, 197, 210, 197, 210, 197,
538	197, 197, 197, 197, 197, 202, 203, 204,
539	197, 197, 197, 212, 197, 210, 197, 210,
540	197, 197, 197, 197, 276, 197, 202, 203,
541	204, 197, 197, 197, 212, 197, 210, 197,
542	210, 197, 275, 197, 197, 197, 197, 202,
543	203, 204, 197, 197, 197, 212, 197, 210,
544	197, 210, 2, 197, 197, 18, 211, 197,
545	202, 203, 204, 197, 197, 197, 212, 197,
546	210, 197, 198, 199, 209, 209, 5, 202,
547	203, 204, 197, 197, 197, 205, 197, 197,
548	206, 197, 197, 197, 197, 197, 197, 197,
549	197, 197, 197, 197, 197, 197, 207, 197,
550	198, 199, 200, 209, 5, 202, 203, 204,
551	197, 197, 37, 205, 197, 197, 206, 197,
552	197, 197, 197, 197, 197, 197, 197, 197,
553	197, 197, 197, 197, 207, 197, 278, 279,
554	280, 281, 43, 282, 283, 284, 277, 277,
555	75, 285, 277, 277, 286, 277, 277, 277,
556	277, 277, 277, 277, 277, 277, 277, 277,
557	277, 277, 287, 277, 288, 279, 289, 281,
558	43, 282, 283, 284, 277, 277, 277, 285,
559	277, 277, 286, 277, 277, 277, 277, 277,
560	277, 277, 277, 277, 277, 277, 277, 277,
561	287, 277, 279, 289, 281, 43, 282, 283,
562	284, 277, 277, 277, 285, 277, 277, 286,
563	277, 277, 277, 277, 277, 277, 277, 277,
564	277, 277, 277, 277, 277, 287, 277, 290,
565	277, 277, 277, 56, 291, 277, 282, 283,
566	284, 277, 277, 277, 292, 277, 290, 277,
567	293, 294, 295, 296, 43, 282, 283, 284,
568	277, 277, 73, 297, 277, 277, 286, 277,
569	277, 277, 277, 277, 277, 277, 277, 277,
570	277, 277, 277, 277, 287, 277, 298, 294,
571	299, 299, 43, 282, 283, 284, 277, 277,
572	277, 297, 277, 277, 286, 277, 277, 277,
573	277, 277, 277, 277, 277, 277, 277, 277,
574	277, 277, 287, 277, 294, 299, 299, 43,
575	282, 283, 284, 277, 277, 277, 297, 277,
576	277, 286, 277, 277, 277, 277, 277, 277,
577	277, 277, 277, 277, 277, 277, 277, 287,
578	277, 300, 277, 277, 277, 56, 301, 277,
579	282, 283, 284, 277, 277, 277, 292, 277,
580	300, 277, 302, 303, 304, 305, 43, 282,
581	283, 284, 277, 277, 71, 306, 277, 277,
582	286, 277, 277, 277, 277, 277, 277, 277,
583	277, 277, 277, 277, 277, 277, 287, 277,
584	307, 303, 308, 308, 43, 282, 283, 284,
585	277, 277, 277, 306, 277, 277, 286, 277,
586	277, 277, 277, 277, 277, 277, 277, 277,
587	277, 277, 277, 277, 287, 277, 303, 308,
588	308, 43, 282, 283, 284, 277, 277, 277,
589	306, 277, 277, 286, 277, 277, 277, 277,
590	277, 277, 277, 277, 277, 277, 277, 277,
591	277, 287, 277, 309, 277, 277, 277, 56,
592	310, 277, 282, 283, 284, 277, 277, 277,
593	292, 277, 309, 277, 311, 312, 313, 314,
594	43, 282, 283, 284, 277, 277, 69, 315,
595	277, 277, 286, 277, 277, 277, 277, 277,
596	277, 277, 277, 277, 277, 277, 277, 277,
597	287, 277, 316, 312, 317, 317, 43, 282,
598	283, 284, 277, 277, 277, 315, 277, 277,
599	286, 277, 277, 277, 277, 277, 277, 277,
600	277, 277, 277, 277, 277, 277, 287, 277,
601	312, 317, 317, 43, 282, 283, 284, 277,
602	277, 277, 315, 277, 277, 286, 277, 277,
603	277, 277, 277, 277, 277, 277, 277, 277,
604	277, 277, 277, 287, 277, 318, 277, 277,
605	277, 56, 319, 277, 282, 283, 284, 277,
606	277, 277, 292, 277, 318, 277, 320, 321,
607	322, 323, 43, 282, 283, 284, 277, 277,
608	67, 324, 277, 277, 286, 277, 277, 277,
609	277, 277, 277, 277, 277, 277, 277, 277,
610	277, 277, 287, 277, 325, 321, 326, 326,
611	43, 282, 283, 284, 277, 277, 277, 324,
612	277, 277, 286, 277, 277, 277, 277, 277,
613	277, 277, 277, 277, 277, 277, 277, 277,
614	287, 277, 321, 326, 326, 43, 282, 283,
615	284, 277, 277, 277, 324, 277, 277, 286,
616	277, 277, 277, 277, 277, 277, 277, 277,
617	277, 277, 277, 277, 277, 287, 277, 56,
618	327, 277, 282, 283, 284, 277, 277, 277,
619	292, 277, 282, 283, 284, 277, 277, 277,
620	292, 277, 328, 277, 277, 329, 283, 284,
621	277, 283, 284, 277, 330, 277, 283, 331,
622	277, 283, 332, 277, 283, 277, 328, 277,
623	277, 277, 283, 284, 277, 333, 277, 334,
624	335, 277, 282, 283, 284, 277, 277, 41,
625	277, 40, 277, 277, 277, 277, 282, 283,
626	284, 277, 282, 283, 284, 277, 333, 277,
627	277, 277, 277, 282, 283, 284, 277, 333,
628	277, 334, 277, 277, 282, 283, 284, 277,
629	277, 41, 277, 56, 277, 336, 336, 43,
630	282, 283, 284, 277, 277, 277, 292, 277,
631	337, 65, 338, 339, 46, 282, 283, 284,
632	277, 277, 277, 292, 277, 65, 338, 339,
633	46, 282, 283, 284, 277, 277, 277, 292,
634	277, 338, 338, 46, 282, 283, 284, 277,
635	277, 277, 292, 277, 340, 62, 341, 342,
636	49, 282, 283, 284, 277, 277, 277, 292,
637	277, 62, 341, 342, 49, 282, 283, 284,
638	277, 277, 277, 292, 277, 341, 341, 49,
639	282, 283, 284, 277, 277, 277, 292, 277,
640	343, 59, 344, 345, 52, 282, 283, 284,
641	277, 277, 277, 292, 277, 59, 344, 345,
642	52, 282, 283, 284, 277, 277, 277, 292,
643	277, 344, 344, 52, 282, 283, 284, 277,
644	277, 277, 292, 277, 346, 56, 277, 347,
645	277, 282, 283, 284, 277, 277, 277, 292,
646	277, 56, 277, 347, 277, 282, 283, 284,
647	277, 277, 277, 292, 277, 348, 277, 282,
648	283, 284, 277, 277, 277, 292, 277, 56,
649	277, 277, 277, 277, 282, 283, 284, 277,
650	277, 277, 292, 277, 39, 40, 277, 277,
651	56, 327, 277, 282, 283, 284, 277, 277,
652	277, 292, 277, 39, 277, 321, 326, 326,
653	43, 282, 283, 284, 277, 277, 277, 324,
654	277, 277, 277, 277, 277, 277, 277, 277,
655	277, 277, 277, 277, 277, 277, 277, 277,
656	287, 277, 321, 326, 326, 43, 282, 283,
657	284, 277, 277, 277, 324, 277, 320, 321,
658	326, 326, 43, 282, 283, 284, 277, 277,
659	277, 324, 277, 277, 286, 277, 277, 277,
660	277, 277, 277, 277, 277, 277, 277, 277,
661	277, 277, 287, 277, 320, 321, 322, 326,
662	43, 282, 283, 284, 277, 277, 67, 324,
663	277, 277, 286, 277, 277, 277, 277, 277,
664	277, 277, 277, 277, 277, 277, 277, 277,
665	287, 277, 318, 277, 349, 277, 336, 336,
666	43, 282, 283, 284, 277, 277, 277, 292,
667	277, 318, 277, 318, 277, 277, 277, 277,
668	277, 277, 282, 283, 284, 277, 277, 277,
669	292, 277, 318, 277, 318, 277, 277, 277,
670	277, 350, 277, 282, 283, 284, 277, 277,
671	277, 292, 277, 318, 277, 318, 277, 349,
672	277, 277, 277, 277, 282, 283, 284, 277,
673	277, 277, 292, 277, 318, 277, 318, 40,
674	277, 277, 56, 319, 277, 282, 283, 284,
675	277, 277, 277, 292, 277, 318, 277, 311,
676	312, 317, 317, 43, 282, 283, 284, 277,
677	277, 277, 315, 277, 277, 286, 277, 277,
678	277, 277, 277, 277, 277, 277, 277, 277,
679	277, 277, 277, 287, 277, 311, 312, 313,
680	317, 43, 282, 283, 284, 277, 277, 69,
681	315, 277, 277, 286, 277, 277, 277, 277,
682	277, 277, 277, 277, 277, 277, 277, 277,
683	277, 287, 277, 309, 277, 351, 277, 336,
684	336, 43, 282, 283, 284, 277, 277, 277,
685	292, 277, 309, 277, 309, 277, 277, 277,
686	277, 277, 277, 282, 283, 284, 277, 277,
687	277, 292, 277, 309, 277, 309, 277, 277,
688	277, 277, 352, 277, 282, 283, 284, 277,
689	277, 277, 292, 277, 309, 277, 309, 277,
690	351, 277, 277, 277, 277, 282, 283, 284,
691	277, 277, 277, 292, 277, 309, 277, 309,
692	40, 277, 277, 56, 310, 277, 282, 283,
693	284, 277, 277, 277, 292, 277, 309, 277,
694	302, 303, 308, 308, 43, 282, 283, 284,
695	277, 277, 277, 306, 277, 277, 286, 277,
696	277, 277, 277, 277, 277, 277, 277, 277,
697	277, 277, 277, 277, 287, 277, 302, 303,
698	304, 308, 43, 282, 283, 284, 277, 277,
699	71, 306, 277, 277, 286, 277, 277, 277,
700	277, 277, 277, 277, 277, 277, 277, 277,
701	277, 277, 287, 277, 300, 277, 353, 277,
702	336, 336, 43, 282, 283, 284, 277, 277,
703	277, 292, 277, 300, 277, 300, 277, 277,
704	277, 277, 277, 277, 282, 283, 284, 277,
705	277, 277, 292, 277, 300, 277, 300, 277,
706	277, 277, 277, 354, 277, 282, 283, 284,
707	277, 277, 277, 292, 277, 300, 277, 300,
708	277, 353, 277, 277, 277, 277, 282, 283,
709	284, 277, 277, 277, 292, 277, 300, 277,
710	300, 40, 277, 277, 56, 301, 277, 282,
711	283, 284, 277, 277, 277, 292, 277, 300,
712	277, 293, 294, 299, 299, 43, 282, 283,
713	284, 277, 277, 277, 297, 277, 277, 286,
714	277, 277, 277, 277, 277, 277, 277, 277,
715	277, 277, 277, 277, 277, 287, 277, 293,
716	294, 295, 299, 43, 282, 283, 284, 277,
717	277, 73, 297, 277, 277, 286, 277, 277,
718	277, 277, 277, 277, 277, 277, 277, 277,
719	277, 277, 277, 287, 277, 290, 277, 355,
720	277, 336, 336, 43, 282, 283, 284, 277,
721	277, 277, 292, 277, 290, 277, 290, 277,
722	277, 277, 277, 277, 277, 282, 283, 284,
723	277, 277, 277, 292, 277, 290, 277, 290,
724	277, 277, 277, 277, 356, 277, 282, 283,
725	284, 277, 277, 277, 292, 277, 290, 277,
726	290, 277, 355, 277, 277, 277, 277, 282,
727	283, 284, 277, 277, 277, 292, 277, 290,
728	277, 74, 42, 42, 43, 277, 277, 277,
729	277, 277, 277, 74, 277, 290, 40, 277,
730	277, 56, 291, 277, 282, 283, 284, 277,
731	277, 277, 292, 277, 290, 277, 278, 279,
732	289, 281, 43, 282, 283, 284, 277, 277,
733	277, 285, 277, 277, 286, 277, 277, 277,
734	277, 277, 277, 277, 277, 277, 277, 277,
735	277, 277, 287, 277, 358, 184, 359, 359,
736	81, 187, 188, 189, 357, 357, 357, 191,
737	357, 357, 194, 357, 357, 357, 357, 357,
738	357, 357, 357, 357, 357, 357, 357, 357,
739	196, 357, 184, 359, 359, 81, 187, 188,
740	189, 357, 357, 357, 191, 357, 357, 194,
741	357, 357, 357, 357, 357, 357, 357, 357,
742	357, 357, 357, 357, 357, 196, 357, 360,
743	357, 357, 357, 95, 361, 357, 187, 188,
744	189, 357, 357, 357, 362, 357, 360, 357,
745	363, 364, 365, 366, 81, 187, 188, 189,
746	357, 357, 112, 367, 357, 357, 194, 357,
747	357, 357, 357, 357, 357, 357, 357, 357,
748	357, 357, 357, 357, 196, 357, 368, 364,
749	369, 369, 81, 187, 188, 189, 357, 357,
750	357, 367, 357, 357, 194, 357, 357, 357,
751	357, 357, 357, 357, 357, 357, 357, 357,
752	357, 357, 196, 357, 364, 369, 369, 81,
753	187, 188, 189, 357, 357, 357, 367, 357,
754	357, 194, 357, 357, 357, 357, 357, 357,
755	357, 357, 357, 357, 357, 357, 357, 196,
756	357, 370, 357, 357, 357, 95, 371, 357,
757	187, 188, 189, 357, 357, 357, 362, 357,
758	370, 357, 372, 373, 374, 375, 81, 187,
759	188, 189, 357, 357, 110, 376, 357, 357,
760	194, 357, 357, 357, 357, 357, 357, 357,
761	357, 357, 357, 357, 357, 357, 196, 357,
762	377, 373, 378, 378, 81, 187, 188, 189,
763	357, 357, 357, 376, 357, 357, 194, 357,
764	357, 357, 357, 357, 357, 357, 357, 357,
765	357, 357, 357, 357, 196, 357, 373, 378,
766	378, 81, 187, 188, 189, 357, 357, 357,
767	376, 357, 357, 194, 357, 357, 357, 357,
768	357, 357, 357, 357, 357, 357, 357, 357,
769	357, 196, 357, 379, 357, 357, 357, 95,
770	380, 357, 187, 188, 189, 357, 357, 357,
771	362, 357, 379, 357, 381, 382, 383, 384,
772	81, 187, 188, 189, 357, 357, 108, 385,
773	357, 357, 194, 357, 357, 357, 357, 357,
774	357, 357, 357, 357, 357, 357, 357, 357,
775	196, 357, 386, 382, 387, 387, 81, 187,
776	188, 189, 357, 357, 357, 385, 357, 357,
777	194, 357, 357, 357, 357, 357, 357, 357,
778	357, 357, 357, 357, 357, 357, 196, 357,
779	382, 387, 387, 81, 187, 188, 189, 357,
780	357, 357, 385, 357, 357, 194, 357, 357,
781	357, 357, 357, 357, 357, 357, 357, 357,
782	357, 357, 357, 196, 357, 388, 357, 357,
783	357, 95, 389, 357, 187, 188, 189, 357,
784	357, 357, 362, 357, 388, 357, 390, 391,
785	392, 393, 81, 187, 188, 189, 357, 357,
786	106, 394, 357, 357, 194, 357, 357, 357,
787	357, 357, 357, 357, 357, 357, 357, 357,
788	357, 357, 196, 357, 395, 391, 396, 396,
789	81, 187, 188, 189, 357, 357, 357, 394,
790	357, 357, 194, 357, 357, 357, 357, 357,
791	357, 357, 357, 357, 357, 357, 357, 357,
792	196, 357, 391, 396, 396, 81, 187, 188,
793	189, 357, 357, 357, 394, 357, 357, 194,
794	357, 357, 357, 357, 357, 357, 357, 357,
795	357, 357, 357, 357, 357, 196, 357, 95,
796	397, 357, 187, 188, 189, 357, 357, 357,
797	362, 357, 187, 188, 189, 357, 357, 357,
798	362, 357, 398, 357, 357, 399, 188, 189,
799	357, 188, 189, 357, 400, 357, 188, 401,
800	357, 188, 402, 357, 188, 357, 398, 357,
801	357, 357, 188, 189, 357, 403, 357, 404,
802	405, 357, 187, 188, 189, 357, 357, 79,
803	357, 78, 357, 357, 357, 357, 187, 188,
804	189, 357, 187, 188, 189, 357, 403, 357,
805	357, 357, 357, 187, 188, 189, 357, 403,
806	357, 404, 357, 357, 187, 188, 189, 357,
807	357, 79, 357, 95, 357, 406, 406, 81,
808	187, 188, 189, 357, 357, 357, 362, 357,
809	407, 104, 408, 409, 85, 187, 188, 189,
810	357, 357, 357, 362, 357, 104, 408, 409,
811	85, 187, 188, 189, 357, 357, 357, 362,
812	357, 408, 408, 85, 187, 188, 189, 357,
813	357, 357, 362, 357, 410, 101, 411, 412,
814	88, 187, 188, 189, 357, 357, 357, 362,
815	357, 101, 411, 412, 88, 187, 188, 189,
816	357, 357, 357, 362, 357, 411, 411, 88,
817	187, 188, 189, 357, 357, 357, 362, 357,
818	413, 98, 414, 415, 91, 187, 188, 189,
819	357, 357, 357, 362, 357, 98, 414, 415,
820	91, 187, 188, 189, 357, 357, 357, 362,
821	357, 414, 414, 91, 187, 188, 189, 357,
822	357, 357, 362, 357, 416, 95, 357, 417,
823	357, 187, 188, 189, 357, 357, 357, 362,
824	357, 95, 357, 417, 357, 187, 188, 189,
825	357, 357, 357, 362, 357, 418, 357, 187,
826	188, 189, 357, 357, 357, 362, 357, 95,
827	357, 357, 357, 357, 187, 188, 189, 357,
828	357, 357, 362, 357, 77, 78, 357, 357,
829	95, 397, 357, 187, 188, 189, 357, 357,
830	357, 362, 357, 77, 357, 391, 396, 396,
831	81, 187, 188, 189, 357, 357, 357, 394,
832	357, 357, 357, 357, 357, 357, 357, 357,
833	357, 357, 357, 357, 357, 357, 357, 357,
834	196, 357, 391, 396, 396, 81, 187, 188,
835	189, 357, 357, 357, 394, 357, 390, 391,
836	396, 396, 81, 187, 188, 189, 357, 357,
837	357, 394, 357, 357, 194, 357, 357, 357,
838	357, 357, 357, 357, 357, 357, 357, 357,
839	357, 357, 196, 357, 390, 391, 392, 396,
840	81, 187, 188, 189, 357, 357, 106, 394,
841	357, 357, 194, 357, 357, 357, 357, 357,
842	357, 357, 357, 357, 357, 357, 357, 357,
843	196, 357, 388, 357, 419, 357, 406, 406,
844	81, 187, 188, 189, 357, 357, 357, 362,
845	357, 388, 357, 388, 357, 357, 357, 357,
846	357, 357, 187, 188, 189, 357, 357, 357,
847	362, 357, 388, 357, 388, 357, 357, 357,
848	357, 420, 357, 187, 188, 189, 357, 357,
849	357, 362, 357, 388, 357, 388, 357, 419,
850	357, 357, 357, 357, 187, 188, 189, 357,
851	357, 357, 362, 357, 388, 357, 388, 78,
852	357, 357, 95, 389, 357, 187, 188, 189,
853	357, 357, 357, 362, 357, 388, 357, 381,
854	382, 387, 387, 81, 187, 188, 189, 357,
855	357, 357, 385, 357, 357, 194, 357, 357,
856	357, 357, 357, 357, 357, 357, 357, 357,
857	357, 357, 357, 196, 357, 381, 382, 383,
858	387, 81, 187, 188, 189, 357, 357, 108,
859	385, 357, 357, 194, 357, 357, 357, 357,
860	357, 357, 357, 357, 357, 357, 357, 357,
861	357, 196, 357, 379, 357, 421, 357, 406,
862	406, 81, 187, 188, 189, 357, 357, 357,
863	362, 357, 379, 357, 379, 357, 357, 357,
864	357, 357, 357, 187, 188, 189, 357, 357,
865	357, 362, 357, 379, 357, 379, 357, 357,
866	357, 357, 422, 357, 187, 188, 189, 357,
867	357, 357, 362, 357, 379, 357, 379, 357,
868	421, 357, 357, 357, 357, 187, 188, 189,
869	357, 357, 357, 362, 357, 379, 357, 379,
870	78, 357, 357, 95, 380, 357, 187, 188,
871	189, 357, 357, 357, 362, 357, 379, 357,
872	372, 373, 378, 378, 81, 187, 188, 189,
873	357, 357, 357, 376, 357, 357, 194, 357,
874	357, 357, 357, 357, 357, 357, 357, 357,
875	357, 357, 357, 357, 196, 357, 372, 373,
876	374, 378, 81, 187, 188, 189, 357, 357,
877	110, 376, 357, 357, 194, 357, 357, 357,
878	357, 357, 357, 357, 357, 357, 357, 357,
879	357, 357, 196, 357, 370, 357, 423, 357,
880	406, 406, 81, 187, 188, 189, 357, 357,
881	357, 362, 357, 370, 357, 370, 357, 357,
882	357, 357, 357, 357, 187, 188, 189, 357,
883	357, 357, 362, 357, 370, 357, 370, 357,
884	357, 357, 357, 424, 357, 187, 188, 189,
885	357, 357, 357, 362, 357, 370, 357, 370,
886	357, 423, 357, 357, 357, 357, 187, 188,
887	189, 357, 357, 357, 362, 357, 370, 357,
888	370, 78, 357, 357, 95, 371, 357, 187,
889	188, 189, 357, 357, 357, 362, 357, 370,
890	357, 363, 364, 369, 369, 81, 187, 188,
891	189, 357, 357, 357, 367, 357, 357, 194,
892	357, 357, 357, 357, 357, 357, 357, 357,
893	357, 357, 357, 357, 357, 196, 357, 363,
894	364, 365, 369, 81, 187, 188, 189, 357,
895	357, 112, 367, 357, 357, 194, 357, 357,
896	357, 357, 357, 357, 357, 357, 357, 357,
897	357, 357, 357, 196, 357, 360, 357, 425,
898	357, 406, 406, 81, 187, 188, 189, 357,
899	357, 357, 362, 357, 360, 357, 360, 357,
900	357, 357, 357, 357, 357, 187, 188, 189,
901	357, 357, 357, 362, 357, 360, 357, 360,
902	357, 357, 357, 357, 426, 357, 187, 188,
903	189, 357, 357, 357, 362, 357, 360, 357,
904	360, 357, 425, 357, 357, 357, 357, 187,
905	188, 189, 357, 357, 357, 362, 357, 360,
906	357, 360, 78, 357, 357, 95, 361, 357,
907	187, 188, 189, 357, 357, 357, 362, 357,
908	360, 357, 113, 80, 80, 81, 427, 427,
909	427, 427, 427, 152, 113, 427, 183, 184,
910	359, 359, 81, 187, 188, 189, 357, 357,
911	357, 191, 357, 357, 194, 357, 357, 357,
912	357, 357, 357, 357, 357, 357, 357, 357,
913	357, 357, 196, 357, 113, 80, 80, 81,
914	427, 427, 427, 427, 427, 427, 113, 427,
915	429, 430, 431, 432, 119, 433, 434, 435,
916	428, 428, 151, 436, 428, 428, 437, 428,
917	428, 428, 428, 428, 428, 428, 428, 428,
918	428, 428, 428, 428, 438, 428, 439, 430,
919	432, 432, 119, 433, 434, 435, 428, 428,
920	428, 436, 428, 428, 437, 428, 428, 428,
921	428, 428, 428, 428, 428, 428, 428, 428,
922	428, 428, 438, 428, 430, 432, 432, 119,
923	433, 434, 435, 428, 428, 428, 436, 428,
924	428, 437, 428, 428, 428, 428, 428, 428,
925	428, 428, 428, 428, 428, 428, 428, 438,
926	428, 440, 428, 428, 428, 132, 441, 428,
927	433, 434, 435, 428, 428, 428, 442, 428,
928	440, 428, 443, 444, 445, 446, 119, 433,
929	434, 435, 428, 428, 149, 447, 428, 428,
930	437, 428, 428, 428, 428, 428, 428, 428,
931	428, 428, 428, 428, 428, 428, 438, 428,
932	448, 444, 449, 449, 119, 433, 434, 435,
933	428, 428, 428, 447, 428, 428, 437, 428,
934	428, 428, 428, 428, 428, 428, 428, 428,
935	428, 428, 428, 428, 438, 428, 444, 449,
936	449, 119, 433, 434, 435, 428, 428, 428,
937	447, 428, 428, 437, 428, 428, 428, 428,
938	428, 428, 428, 428, 428, 428, 428, 428,
939	428, 438, 428, 450, 428, 428, 428, 132,
940	451, 428, 433, 434, 435, 428, 428, 428,
941	442, 428, 450, 428, 452, 453, 454, 455,
942	119, 433, 434, 435, 428, 428, 147, 456,
943	428, 428, 437, 428, 428, 428, 428, 428,
944	428, 428, 428, 428, 428, 428, 428, 428,
945	438, 428, 457, 453, 458, 458, 119, 433,
946	434, 435, 428, 428, 428, 456, 428, 428,
947	437, 428, 428, 428, 428, 428, 428, 428,
948	428, 428, 428, 428, 428, 428, 438, 428,
949	453, 458, 458, 119, 433, 434, 435, 428,
950	428, 428, 456, 428, 428, 437, 428, 428,
951	428, 428, 428, 428, 428, 428, 428, 428,
952	428, 428, 428, 438, 428, 459, 428, 428,
953	428, 132, 460, 428, 433, 434, 435, 428,
954	428, 428, 442, 428, 459, 428, 461, 462,
955	463, 464, 119, 433, 434, 435, 428, 428,
956	145, 465, 428, 428, 437, 428, 428, 428,
957	428, 428, 428, 428, 428, 428, 428, 428,
958	428, 428, 438, 428, 466, 462, 467, 467,
959	119, 433, 434, 435, 428, 428, 428, 465,
960	428, 428, 437, 428, 428, 428, 428, 428,
961	428, 428, 428, 428, 428, 428, 428, 428,
962	438, 428, 462, 467, 467, 119, 433, 434,
963	435, 428, 428, 428, 465, 428, 428, 437,
964	428, 428, 428, 428, 428, 428, 428, 428,
965	428, 428, 428, 428, 428, 438, 428, 468,
966	428, 428, 428, 132, 469, 428, 433, 434,
967	435, 428, 428, 428, 442, 428, 468, 428,
968	470, 471, 472, 473, 119, 433, 434, 435,
969	428, 428, 143, 474, 428, 428, 437, 428,
970	428, 428, 428, 428, 428, 428, 428, 428,
971	428, 428, 428, 428, 438, 428, 475, 471,
972	476, 476, 119, 433, 434, 435, 428, 428,
973	428, 474, 428, 428, 437, 428, 428, 428,
974	428, 428, 428, 428, 428, 428, 428, 428,
975	428, 428, 438, 428, 471, 476, 476, 119,
976	433, 434, 435, 428, 428, 428, 474, 428,
977	428, 437, 428, 428, 428, 428, 428, 428,
978	428, 428, 428, 428, 428, 428, 428, 438,
979	428, 132, 477, 428, 433, 434, 435, 428,
980	428, 428, 442, 428, 433, 434, 435, 428,
981	428, 428, 442, 428, 478, 428, 428, 479,
982	434, 435, 428, 434, 435, 428, 480, 428,
983	434, 481, 428, 434, 482, 428, 434, 428,
984	478, 428, 428, 428, 434, 435, 428, 483,
985	428, 484, 485, 428, 433, 434, 435, 428,
986	428, 117, 428, 116, 428, 428, 428, 428,
987	433, 434, 435, 428, 433, 434, 435, 428,
988	483, 428, 428, 428, 428, 433, 434, 435,
989	428, 483, 428, 484, 428, 428, 433, 434,
990	435, 428, 428, 117, 428, 132, 428, 486,
991	486, 119, 433, 434, 435, 428, 428, 428,
992	442, 428, 487, 141, 488, 489, 122, 433,
993	434, 435, 428, 428, 428, 442, 428, 141,
994	488, 489, 122, 433, 434, 435, 428, 428,
995	428, 442, 428, 488, 488, 122, 433, 434,
996	435, 428, 428, 428, 442, 428, 490, 138,
997	491, 492, 125, 433, 434, 435, 428, 428,
998	428, 442, 428, 138, 491, 492, 125, 433,
999	434, 435, 428, 428, 428, 442, 428, 491,
1000	491, 125, 433, 434, 435, 428, 428, 428,
1001	442, 428, 493, 135, 494, 495, 128, 433,
1002	434, 435, 428, 428, 428, 442, 428, 135,
1003	494, 495, 128, 433, 434, 435, 428, 428,
1004	428, 442, 428, 494, 494, 128, 433, 434,
1005	435, 428, 428, 428, 442, 428, 496, 132,
1006	428, 497, 428, 433, 434, 435, 428, 428,
1007	428, 442, 428, 132, 428, 497, 428, 433,
1008	434, 435, 428, 428, 428, 442, 428, 498,
1009	428, 433, 434, 435, 428, 428, 428, 442,
1010	428, 132, 428, 428, 428, 428, 433, 434,
1011	435, 428, 428, 428, 442, 428, 115, 116,
1012	428, 428, 132, 477, 428, 433, 434, 435,
1013	428, 428, 428, 442, 428, 115, 428, 471,
1014	476, 476, 119, 433, 434, 435, 428, 428,
1015	428, 474, 428, 428, 428, 428, 428, 428,
1016	428, 428, 428, 428, 428, 428, 428, 428,
1017	428, 428, 438, 428, 471, 476, 476, 119,
1018	433, 434, 435, 428, 428, 428, 474, 428,
1019	470, 471, 476, 476, 119, 433, 434, 435,
1020	428, 428, 428, 474, 428, 428, 437, 428,
1021	428, 428, 428, 428, 428, 428, 428, 428,
1022	428, 428, 428, 428, 438, 428, 470, 471,
1023	472, 476, 119, 433, 434, 435, 428, 428,
1024	143, 474, 428, 428, 437, 428, 428, 428,
1025	428, 428, 428, 428, 428, 428, 428, 428,
1026	428, 428, 438, 428, 468, 428, 499, 428,
1027	486, 486, 119, 433, 434, 435, 428, 428,
1028	428, 442, 428, 468, 428, 468, 428, 428,
1029	428, 428, 428, 428, 433, 434, 435, 428,
1030	428, 428, 442, 428, 468, 428, 468, 428,
1031	428, 428, 428, 500, 428, 433, 434, 435,
1032	428, 428, 428, 442, 428, 468, 428, 468,
1033	428, 499, 428, 428, 428, 428, 433, 434,
1034	435, 428, 428, 428, 442, 428, 468, 428,
1035	468, 116, 428, 428, 132, 469, 428, 433,
1036	434, 435, 428, 428, 428, 442, 428, 468,
1037	428, 461, 462, 467, 467, 119, 433, 434,
1038	435, 428, 428, 428, 465, 428, 428, 437,
1039	428, 428, 428, 428, 428, 428, 428, 428,
1040	428, 428, 428, 428, 428, 438, 428, 461,
1041	462, 463, 467, 119, 433, 434, 435, 428,
1042	428, 145, 465, 428, 428, 437, 428, 428,
1043	428, 428, 428, 428, 428, 428, 428, 428,
1044	428, 428, 428, 438, 428, 459, 428, 501,
1045	428, 486, 486, 119, 433, 434, 435, 428,
1046	428, 428, 442, 428, 459, 428, 459, 428,
1047	428, 428, 428, 428, 428, 433, 434, 435,
1048	428, 428, 428, 442, 428, 459, 428, 459,
1049	428, 428, 428, 428, 502, 428, 433, 434,
1050	435, 428, 428, 428, 442, 428, 459, 428,
1051	459, 428, 501, 428, 428, 428, 428, 433,
1052	434, 435, 428, 428, 428, 442, 428, 459,
1053	428, 459, 116, 428, 428, 132, 460, 428,
1054	433, 434, 435, 428, 428, 428, 442, 428,
1055	459, 428, 452, 453, 458, 458, 119, 433,
1056	434, 435, 428, 428, 428, 456, 428, 428,
1057	437, 428, 428, 428, 428, 428, 428, 428,
1058	428, 428, 428, 428, 428, 428, 438, 428,
1059	452, 453, 454, 458, 119, 433, 434, 435,
1060	428, 428, 147, 456, 428, 428, 437, 428,
1061	428, 428, 428, 428, 428, 428, 428, 428,
1062	428, 428, 428, 428, 438, 428, 450, 428,
1063	503, 428, 486, 486, 119, 433, 434, 435,
1064	428, 428, 428, 442, 428, 450, 428, 450,
1065	428, 428, 428, 428, 428, 428, 433, 434,
1066	435, 428, 428, 428, 442, 428, 450, 428,
1067	450, 428, 428, 428, 428, 504, 428, 433,
1068	434, 435, 428, 428, 428, 442, 428, 450,
1069	428, 450, 428, 503, 428, 428, 428, 428,
1070	433, 434, 435, 428, 428, 428, 442, 428,
1071	450, 428, 450, 116, 428, 428, 132, 451,
1072	428, 433, 434, 435, 428, 428, 428, 442,
1073	428, 450, 428, 443, 444, 449, 449, 119,
1074	433, 434, 435, 428, 428, 428, 447, 428,
1075	428, 437, 428, 428, 428, 428, 428, 428,
1076	428, 428, 428, 428, 428, 428, 428, 438,
1077	428, 443, 444, 445, 449, 119, 433, 434,
1078	435, 428, 428, 149, 447, 428, 428, 437,
1079	428, 428, 428, 428, 428, 428, 428, 428,
1080	428, 428, 428, 428, 428, 438, 428, 440,
1081	428, 505, 428, 486, 486, 119, 433, 434,
1082	435, 428, 428, 428, 442, 428, 440, 428,
1083	440, 428, 428, 428, 428, 428, 428, 433,
1084	434, 435, 428, 428, 428, 442, 428, 440,
1085	428, 440, 428, 428, 428, 428, 506, 428,
1086	433, 434, 435, 428, 428, 428, 442, 428,
1087	440, 428, 440, 428, 505, 428, 428, 428,
1088	428, 433, 434, 435, 428, 428, 428, 442,
1089	428, 440, 428, 440, 116, 428, 428, 132,
1090	441, 428, 433, 434, 435, 428, 428, 428,
1091	442, 428, 440, 428, 429, 430, 432, 432,
1092	119, 433, 434, 435, 428, 428, 428, 436,
1093	428, 428, 437, 428, 428, 428, 428, 428,
1094	428, 428, 428, 428, 428, 428, 428, 428,
1095	438, 428, 181, 182, 183, 184, 507, 359,
1096	81, 187, 188, 189, 190, 190, 152, 191,
1097	357, 181, 194, 357, 357, 357, 357, 357,
1098	357, 357, 357, 357, 357, 357, 357, 357,
1099	196, 357, 198, 508, 200, 201, 5, 202,
1100	203, 204, 197, 197, 37, 205, 197, 197,
1101	206, 197, 197, 197, 197, 197, 197, 197,
1102	197, 197, 197, 197, 197, 197, 207, 197,
1103	210, 182, 183, 184, 509, 510, 81, 511,
1104	512, 513, 197, 190, 152, 514, 197, 210,
1105	194, 197, 197, 197, 197, 197, 197, 197,
1106	197, 197, 197, 197, 197, 197, 196, 197,
1107	113, 80, 80, 81, 202, 203, 204, 197,
1108	197, 152, 515, 197, 516, 2, 357, 357,
1109	357, 426, 357, 187, 188, 189, 357, 357,
1110	357, 362, 357, 516, 357, 517, 364, 518,
1111	519, 81, 511, 512, 513, 197, 197, 153,
1112	367, 197, 197, 194, 197, 197, 197, 197,
1113	197, 197, 197, 197, 197, 197, 197, 197,
1114	197, 196, 197, 520, 364, 369, 369, 81,
1115	511, 512, 513, 197, 197, 197, 367, 197,
1116	197, 194, 197, 197, 197, 197, 197, 197,
1117	197, 197, 197, 197, 197, 197, 197, 196,
1118	197, 364, 369, 369, 81, 511, 512, 513,
1119	197, 197, 197, 367, 197, 197, 194, 197,
1120	197, 197, 197, 197, 197, 197, 197, 197,
1121	197, 197, 197, 197, 196, 197, 521, 197,
1122	197, 522, 512, 513, 197, 512, 513, 197,
1123	250, 197, 512, 523, 197, 512, 524, 197,
1124	512, 197, 521, 197, 197, 197, 512, 513,
1125	197, 517, 364, 369, 369, 81, 511, 512,
1126	513, 197, 197, 197, 367, 197, 197, 194,
1127	197, 197, 197, 197, 197, 197, 197, 197,
1128	197, 197, 197, 197, 197, 196, 197, 517,
1129	364, 518, 369, 81, 511, 512, 513, 197,
1130	197, 153, 367, 197, 197, 194, 197, 197,
1131	197, 197, 197, 197, 197, 197, 197, 197,
1132	197, 197, 197, 196, 197, 210, 197, 275,
1133	113, 525, 525, 155, 202, 203, 204, 197,
1134	197, 197, 515, 197, 210, 197, 526, 179,
1135	527, 528, 157, 511, 512, 513, 197, 197,
1136	197, 529, 197, 179, 527, 528, 157, 511,
1137	512, 513, 197, 197, 197, 529, 197, 527,
1138	527, 157, 511, 512, 513, 197, 197, 197,
1139	529, 197, 530, 176, 531, 532, 160, 511,
1140	512, 513, 197, 197, 197, 529, 197, 176,
1141	531, 532, 160, 511, 512, 513, 197, 197,
1142	197, 529, 197, 531, 531, 160, 511, 512,
1143	513, 197, 197, 197, 529, 197, 533, 173,
1144	534, 535, 163, 511, 512, 513, 197, 197,
1145	197, 529, 197, 173, 534, 535, 163, 511,
1146	512, 513, 197, 197, 197, 529, 197, 534,
1147	534, 163, 511, 512, 513, 197, 197, 197,
1148	529, 197, 536, 170, 197, 537, 197, 511,
1149	512, 513, 197, 197, 197, 529, 197, 170,
1150	197, 537, 197, 511, 512, 513, 197, 197,
1151	197, 529, 197, 511, 512, 513, 197, 197,
1152	197, 529, 197, 538, 197, 539, 540, 197,
1153	511, 512, 513, 197, 197, 167, 197, 166,
1154	197, 197, 197, 197, 511, 512, 513, 197,
1155	511, 512, 513, 197, 538, 197, 197, 197,
1156	197, 511, 512, 513, 197, 538, 197, 539,
1157	197, 197, 511, 512, 513, 197, 197, 167,
1158	197, 516, 166, 357, 357, 95, 361, 357,
1159	187, 188, 189, 357, 357, 357, 362, 357,
1160	516, 357, 542, 541, 541, 541, 541, 543,
1161	544, 545, 541, 543, 544, 545, 541, 546,
1162	541, 541, 547, 544, 545, 541, 544, 545,
1163	541, 548, 541, 544, 549, 541, 544, 550,
1164	541, 544, 541, 546, 541, 541, 541, 544,
1165	545, 541, 0
1166};
1167
1168static const short _indic_syllable_machine_trans_targs[] = {
1169	170, 199, 201, 202, 3, 205, 4, 6,
1170	208, 7, 9, 211, 10, 12, 214, 13,
1171	15, 16, 191, 18, 19, 213, 21, 22,
1172	210, 24, 25, 207, 216, 221, 225, 228,
1173	232, 235, 239, 242, 246, 249, 170, 279,
1174	281, 282, 39, 285, 40, 42, 288, 43,
1175	45, 291, 46, 48, 294, 49, 51, 52,
1176	271, 54, 55, 293, 57, 58, 290, 60,
1177	61, 287, 296, 301, 305, 308, 312, 315,
1178	319, 322, 326, 330, 170, 358, 360, 361,
1179	75, 364, 170, 76, 78, 367, 79, 81,
1180	370, 82, 84, 373, 85, 87, 88, 350,
1181	90, 91, 372, 93, 94, 369, 96, 97,
1182	366, 375, 380, 384, 387, 391, 394, 398,
1183	401, 405, 170, 439, 441, 442, 110, 445,
1184	111, 113, 448, 114, 116, 451, 117, 119,
1185	454, 120, 122, 123, 431, 125, 126, 453,
1186	128, 129, 450, 131, 132, 447, 456, 461,
1187	465, 468, 472, 475, 479, 482, 486, 489,
1188	409, 505, 146, 508, 148, 511, 149, 151,
1189	514, 152, 154, 517, 155, 520, 522, 523,
1190	159, 160, 519, 162, 163, 516, 165, 166,
1191	513, 168, 169, 510, 170, 171, 251, 331,
1192	333, 408, 410, 351, 353, 354, 411, 407,
1193	490, 491, 378, 526, 379, 170, 172, 174,
1194	35, 250, 192, 194, 195, 248, 219, 220,
1195	173, 34, 175, 244, 0, 176, 178, 33,
1196	243, 241, 177, 32, 179, 237, 180, 182,
1197	31, 236, 234, 181, 30, 183, 230, 184,
1198	186, 29, 229, 227, 185, 28, 187, 223,
1199	188, 190, 27, 222, 218, 189, 26, 204,
1200	193, 198, 170, 196, 197, 200, 1, 203,
1201	2, 206, 5, 23, 209, 8, 20, 212,
1202	11, 17, 215, 14, 217, 224, 226, 231,
1203	233, 238, 240, 245, 247, 170, 252, 254,
1204	71, 328, 272, 274, 275, 329, 299, 300,
1205	253, 70, 255, 324, 36, 256, 258, 69,
1206	323, 321, 257, 68, 259, 317, 260, 262,
1207	67, 316, 314, 261, 66, 263, 310, 264,
1208	266, 65, 309, 307, 265, 64, 267, 303,
1209	268, 270, 63, 302, 298, 269, 62, 284,
1210	273, 278, 170, 276, 277, 280, 37, 283,
1211	38, 286, 41, 59, 289, 44, 56, 292,
1212	47, 53, 295, 50, 297, 304, 306, 311,
1213	313, 318, 320, 325, 327, 170, 332, 106,
1214	334, 403, 72, 335, 337, 105, 402, 400,
1215	336, 104, 338, 396, 339, 341, 103, 395,
1216	393, 340, 102, 342, 389, 343, 345, 101,
1217	388, 386, 344, 100, 346, 382, 347, 349,
1218	99, 381, 377, 348, 98, 363, 352, 357,
1219	170, 355, 356, 359, 73, 362, 74, 365,
1220	77, 95, 368, 80, 92, 371, 83, 89,
1221	374, 86, 376, 383, 385, 390, 392, 397,
1222	399, 404, 406, 170, 170, 412, 414, 142,
1223	141, 432, 434, 435, 488, 459, 460, 413,
1224	415, 484, 107, 416, 418, 140, 483, 481,
1225	417, 139, 419, 477, 420, 422, 138, 476,
1226	474, 421, 137, 423, 470, 424, 426, 136,
1227	469, 467, 425, 135, 427, 463, 428, 430,
1228	134, 462, 458, 429, 133, 444, 433, 438,
1229	170, 436, 437, 440, 108, 443, 109, 446,
1230	112, 130, 449, 115, 127, 452, 118, 124,
1231	455, 121, 457, 464, 466, 471, 473, 478,
1232	480, 485, 487, 143, 492, 493, 507, 498,
1233	500, 501, 525, 494, 495, 496, 144, 506,
1234	497, 499, 504, 502, 503, 145, 509, 147,
1235	167, 156, 512, 150, 164, 515, 153, 161,
1236	518, 158, 521, 157, 524, 170, 527, 528,
1237	530, 531, 529, 534, 170, 532, 533
1238};
1239
1240static const char _indic_syllable_machine_trans_actions[] = {
1241	1, 2, 0, 0, 0, 2, 0, 0,
1242	2, 0, 0, 2, 0, 0, 2, 0,
1243	0, 0, 2, 0, 0, 2, 0, 0,
1244	2, 0, 0, 2, 2, 2, 2, 2,
1245	2, 2, 2, 2, 2, 2, 3, 2,
1246	0, 0, 0, 2, 0, 0, 2, 0,
1247	0, 2, 0, 0, 2, 0, 0, 0,
1248	2, 0, 0, 2, 0, 0, 2, 0,
1249	0, 2, 2, 2, 2, 2, 2, 2,
1250	2, 2, 2, 2, 4, 2, 0, 0,
1251	0, 2, 5, 0, 0, 2, 0, 0,
1252	2, 0, 0, 2, 0, 0, 0, 2,
1253	0, 0, 2, 0, 0, 2, 0, 0,
1254	2, 2, 6, 2, 6, 2, 6, 2,
1255	6, 2, 7, 2, 0, 0, 0, 2,
1256	0, 0, 2, 0, 0, 2, 0, 0,
1257	2, 0, 0, 0, 2, 0, 0, 2,
1258	0, 0, 2, 0, 0, 2, 2, 2,
1259	2, 2, 2, 2, 2, 2, 2, 2,
1260	6, 8, 0, 2, 0, 2, 0, 0,
1261	2, 0, 0, 2, 0, 2, 0, 0,
1262	0, 0, 2, 0, 0, 2, 0, 0,
1263	2, 0, 0, 2, 11, 2, 2, 6,
1264	2, 12, 12, 0, 0, 0, 2, 2,
1265	6, 2, 6, 0, 6, 13, 2, 2,
1266	0, 2, 0, 0, 0, 2, 2, 2,
1267	2, 0, 2, 2, 0, 2, 2, 0,
1268	2, 2, 2, 0, 2, 2, 2, 2,
1269	0, 2, 2, 2, 0, 2, 2, 2,
1270	2, 0, 2, 2, 2, 0, 2, 2,
1271	2, 2, 0, 2, 2, 2, 0, 2,
1272	0, 0, 14, 0, 0, 0, 0, 2,
1273	0, 2, 0, 0, 2, 0, 0, 2,
1274	0, 0, 2, 0, 2, 2, 2, 2,
1275	2, 2, 2, 2, 2, 15, 2, 2,
1276	0, 2, 0, 0, 0, 2, 2, 2,
1277	2, 0, 2, 2, 0, 2, 2, 0,
1278	2, 2, 2, 0, 2, 2, 2, 2,
1279	0, 2, 2, 2, 0, 2, 2, 2,
1280	2, 0, 2, 2, 2, 0, 2, 2,
1281	2, 2, 0, 2, 2, 2, 0, 2,
1282	0, 0, 16, 0, 0, 0, 0, 2,
1283	0, 2, 0, 0, 2, 0, 0, 2,
1284	0, 0, 2, 0, 2, 2, 2, 2,
1285	2, 2, 2, 2, 2, 17, 6, 0,
1286	6, 6, 0, 6, 2, 0, 6, 2,
1287	6, 0, 6, 6, 6, 2, 0, 6,
1288	2, 6, 0, 6, 6, 6, 2, 0,
1289	6, 2, 6, 0, 6, 6, 6, 2,
1290	0, 6, 2, 6, 0, 6, 0, 0,
1291	18, 0, 0, 0, 0, 2, 0, 2,
1292	0, 0, 2, 0, 0, 2, 0, 0,
1293	2, 0, 2, 2, 2, 2, 2, 2,
1294	2, 2, 2, 19, 20, 2, 2, 0,
1295	0, 0, 0, 0, 2, 2, 2, 2,
1296	2, 2, 0, 2, 2, 0, 2, 2,
1297	2, 0, 2, 2, 2, 2, 0, 2,
1298	2, 2, 0, 2, 2, 2, 2, 0,
1299	2, 2, 2, 0, 2, 2, 2, 2,
1300	0, 2, 2, 2, 0, 2, 0, 0,
1301	21, 0, 0, 0, 0, 2, 0, 2,
1302	0, 0, 2, 0, 0, 2, 0, 0,
1303	2, 0, 2, 2, 2, 2, 2, 2,
1304	2, 2, 2, 0, 0, 8, 2, 0,
1305	0, 0, 2, 2, 8, 8, 0, 8,
1306	8, 0, 0, 0, 0, 0, 2, 0,
1307	0, 0, 2, 0, 0, 2, 0, 0,
1308	2, 0, 0, 0, 2, 22, 0, 0,
1309	0, 0, 0, 0, 23, 0, 0
1310};
1311
1312static const char _indic_syllable_machine_to_state_actions[] = {
1313	0, 0, 0, 0, 0, 0, 0, 0,
1314	0, 0, 0, 0, 0, 0, 0, 0,
1315	0, 0, 0, 0, 0, 0, 0, 0,
1316	0, 0, 0, 0, 0, 0, 0, 0,
1317	0, 0, 0, 0, 0, 0, 0, 0,
1318	0, 0, 0, 0, 0, 0, 0, 0,
1319	0, 0, 0, 0, 0, 0, 0, 0,
1320	0, 0, 0, 0, 0, 0, 0, 0,
1321	0, 0, 0, 0, 0, 0, 0, 0,
1322	0, 0, 0, 0, 0, 0, 0, 0,
1323	0, 0, 0, 0, 0, 0, 0, 0,
1324	0, 0, 0, 0, 0, 0, 0, 0,
1325	0, 0, 0, 0, 0, 0, 0, 0,
1326	0, 0, 0, 0, 0, 0, 0, 0,
1327	0, 0, 0, 0, 0, 0, 0, 0,
1328	0, 0, 0, 0, 0, 0, 0, 0,
1329	0, 0, 0, 0, 0, 0, 0, 0,
1330	0, 0, 0, 0, 0, 0, 0, 0,
1331	0, 0, 0, 0, 0, 0, 0, 0,
1332	0, 0, 0, 0, 0, 0, 0, 0,
1333	0, 0, 0, 0, 0, 0, 0, 0,
1334	0, 0, 9, 0, 0, 0, 0, 0,
1335	0, 0, 0, 0, 0, 0, 0, 0,
1336	0, 0, 0, 0, 0, 0, 0, 0,
1337	0, 0, 0, 0, 0, 0, 0, 0,
1338	0, 0, 0, 0, 0, 0, 0, 0,
1339	0, 0, 0, 0, 0, 0, 0, 0,
1340	0, 0, 0, 0, 0, 0, 0, 0,
1341	0, 0, 0, 0, 0, 0, 0, 0,
1342	0, 0, 0, 0, 0, 0, 0, 0,
1343	0, 0, 0, 0, 0, 0, 0, 0,
1344	0, 0, 0, 0, 0, 0, 0, 0,
1345	0, 0, 0, 0, 0, 0, 0, 0,
1346	0, 0, 0, 0, 0, 0, 0, 0,
1347	0, 0, 0, 0, 0, 0, 0, 0,
1348	0, 0, 0, 0, 0, 0, 0, 0,
1349	0, 0, 0, 0, 0, 0, 0, 0,
1350	0, 0, 0, 0, 0, 0, 0, 0,
1351	0, 0, 0, 0, 0, 0, 0, 0,
1352	0, 0, 0, 0, 0, 0, 0, 0,
1353	0, 0, 0, 0, 0, 0, 0, 0,
1354	0, 0, 0, 0, 0, 0, 0, 0,
1355	0, 0, 0, 0, 0, 0, 0, 0,
1356	0, 0, 0, 0, 0, 0, 0, 0,
1357	0, 0, 0, 0, 0, 0, 0, 0,
1358	0, 0, 0, 0, 0, 0, 0, 0,
1359	0, 0, 0, 0, 0, 0, 0, 0,
1360	0, 0, 0, 0, 0, 0, 0, 0,
1361	0, 0, 0, 0, 0, 0, 0, 0,
1362	0, 0, 0, 0, 0, 0, 0, 0,
1363	0, 0, 0, 0, 0, 0, 0, 0,
1364	0, 0, 0, 0, 0, 0, 0, 0,
1365	0, 0, 0, 0, 0, 0, 0, 0,
1366	0, 0, 0, 0, 0, 0, 0, 0,
1367	0, 0, 0, 0, 0, 0, 0, 0,
1368	0, 0, 0, 0, 0, 0, 0, 0,
1369	0, 0, 0, 0, 0, 0, 0, 0,
1370	0, 0, 0, 0, 0, 0, 0, 0,
1371	0, 0, 0, 0, 0, 0, 0, 0,
1372	0, 0, 0, 0, 0, 0, 0, 0,
1373	0, 0, 0, 0, 0, 0, 0, 0,
1374	0, 0, 0, 0, 0, 0, 0, 0,
1375	0, 0, 0, 0, 0, 0, 0, 0,
1376	0, 0, 0, 0, 0, 0, 0, 0,
1377	0, 0, 0, 0, 0, 0, 0, 0,
1378	0, 0, 0, 0, 0, 0, 0, 0,
1379	0, 0, 0, 0, 0, 0, 0
1380};
1381
1382static const char _indic_syllable_machine_from_state_actions[] = {
1383	0, 0, 0, 0, 0, 0, 0, 0,
1384	0, 0, 0, 0, 0, 0, 0, 0,
1385	0, 0, 0, 0, 0, 0, 0, 0,
1386	0, 0, 0, 0, 0, 0, 0, 0,
1387	0, 0, 0, 0, 0, 0, 0, 0,
1388	0, 0, 0, 0, 0, 0, 0, 0,
1389	0, 0, 0, 0, 0, 0, 0, 0,
1390	0, 0, 0, 0, 0, 0, 0, 0,
1391	0, 0, 0, 0, 0, 0, 0, 0,
1392	0, 0, 0, 0, 0, 0, 0, 0,
1393	0, 0, 0, 0, 0, 0, 0, 0,
1394	0, 0, 0, 0, 0, 0, 0, 0,
1395	0, 0, 0, 0, 0, 0, 0, 0,
1396	0, 0, 0, 0, 0, 0, 0, 0,
1397	0, 0, 0, 0, 0, 0, 0, 0,
1398	0, 0, 0, 0, 0, 0, 0, 0,
1399	0, 0, 0, 0, 0, 0, 0, 0,
1400	0, 0, 0, 0, 0, 0, 0, 0,
1401	0, 0, 0, 0, 0, 0, 0, 0,
1402	0, 0, 0, 0, 0, 0, 0, 0,
1403	0, 0, 0, 0, 0, 0, 0, 0,
1404	0, 0, 10, 0, 0, 0, 0, 0,
1405	0, 0, 0, 0, 0, 0, 0, 0,
1406	0, 0, 0, 0, 0, 0, 0, 0,
1407	0, 0, 0, 0, 0, 0, 0, 0,
1408	0, 0, 0, 0, 0, 0, 0, 0,
1409	0, 0, 0, 0, 0, 0, 0, 0,
1410	0, 0, 0, 0, 0, 0, 0, 0,
1411	0, 0, 0, 0, 0, 0, 0, 0,
1412	0, 0, 0, 0, 0, 0, 0, 0,
1413	0, 0, 0, 0, 0, 0, 0, 0,
1414	0, 0, 0, 0, 0, 0, 0, 0,
1415	0, 0, 0, 0, 0, 0, 0, 0,
1416	0, 0, 0, 0, 0, 0, 0, 0,
1417	0, 0, 0, 0, 0, 0, 0, 0,
1418	0, 0, 0, 0, 0, 0, 0, 0,
1419	0, 0, 0, 0, 0, 0, 0, 0,
1420	0, 0, 0, 0, 0, 0, 0, 0,
1421	0, 0, 0, 0, 0, 0, 0, 0,
1422	0, 0, 0, 0, 0, 0, 0, 0,
1423	0, 0, 0, 0, 0, 0, 0, 0,
1424	0, 0, 0, 0, 0, 0, 0, 0,
1425	0, 0, 0, 0, 0, 0, 0, 0,
1426	0, 0, 0, 0, 0, 0, 0, 0,
1427	0, 0, 0, 0, 0, 0, 0, 0,
1428	0, 0, 0, 0, 0, 0, 0, 0,
1429	0, 0, 0, 0, 0, 0, 0, 0,
1430	0, 0, 0, 0, 0, 0, 0, 0,
1431	0, 0, 0, 0, 0, 0, 0, 0,
1432	0, 0, 0, 0, 0, 0, 0, 0,
1433	0, 0, 0, 0, 0, 0, 0, 0,
1434	0, 0, 0, 0, 0, 0, 0, 0,
1435	0, 0, 0, 0, 0, 0, 0, 0,
1436	0, 0, 0, 0, 0, 0, 0, 0,
1437	0, 0, 0, 0, 0, 0, 0, 0,
1438	0, 0, 0, 0, 0, 0, 0, 0,
1439	0, 0, 0, 0, 0, 0, 0, 0,
1440	0, 0, 0, 0, 0, 0, 0, 0,
1441	0, 0, 0, 0, 0, 0, 0, 0,
1442	0, 0, 0, 0, 0, 0, 0, 0,
1443	0, 0, 0, 0, 0, 0, 0, 0,
1444	0, 0, 0, 0, 0, 0, 0, 0,
1445	0, 0, 0, 0, 0, 0, 0, 0,
1446	0, 0, 0, 0, 0, 0, 0, 0,
1447	0, 0, 0, 0, 0, 0, 0, 0,
1448	0, 0, 0, 0, 0, 0, 0, 0,
1449	0, 0, 0, 0, 0, 0, 0
1450};
1451
1452static const short _indic_syllable_machine_eof_trans[] = {
1453	1, 1, 1, 1, 1, 1, 1, 1,
1454	1, 1, 1, 1, 1, 1, 1, 1,
1455	1, 1, 1, 1, 1, 1, 1, 1,
1456	1, 1, 1, 1, 1, 1, 1, 1,
1457	1, 1, 1, 1, 39, 39, 39, 39,
1458	39, 39, 39, 39, 39, 39, 39, 39,
1459	39, 39, 39, 39, 39, 39, 39, 39,
1460	39, 39, 39, 39, 39, 39, 39, 39,
1461	39, 39, 39, 39, 39, 39, 39, 39,
1462	77, 77, 77, 83, 83, 77, 77, 77,
1463	77, 77, 77, 77, 77, 77, 77, 77,
1464	77, 77, 77, 77, 77, 77, 77, 77,
1465	77, 77, 77, 77, 77, 77, 77, 77,
1466	83, 77, 77, 115, 115, 115, 115, 115,
1467	115, 115, 115, 115, 115, 115, 115, 115,
1468	115, 115, 115, 115, 115, 115, 115, 115,
1469	115, 115, 115, 115, 115, 115, 115, 115,
1470	115, 115, 115, 115, 115, 115, 115, 77,
1471	1, 1, 1, 1, 1, 1, 1, 1,
1472	1, 1, 1, 1, 1, 1, 1, 1,
1473	1, 1, 1, 1, 1, 1, 1, 1,
1474	1, 1, 0, 198, 198, 198, 198, 198,
1475	198, 198, 198, 198, 198, 198, 198, 198,
1476	198, 198, 198, 198, 198, 198, 198, 198,
1477	198, 198, 198, 198, 198, 198, 198, 198,
1478	198, 198, 198, 198, 198, 198, 198, 198,
1479	198, 198, 198, 198, 198, 198, 198, 198,
1480	198, 198, 198, 198, 198, 198, 198, 198,
1481	198, 198, 198, 198, 198, 198, 198, 198,
1482	198, 198, 198, 198, 198, 198, 198, 198,
1483	198, 198, 198, 198, 198, 198, 198, 198,
1484	198, 198, 198, 278, 278, 278, 278, 278,
1485	278, 278, 278, 278, 278, 278, 278, 278,
1486	278, 278, 278, 278, 278, 278, 278, 278,
1487	278, 278, 278, 278, 278, 278, 278, 278,
1488	278, 278, 278, 278, 278, 278, 278, 278,
1489	278, 278, 278, 278, 278, 278, 278, 278,
1490	278, 278, 278, 278, 278, 278, 278, 278,
1491	278, 278, 278, 278, 278, 278, 278, 278,
1492	278, 278, 278, 278, 278, 278, 278, 278,
1493	278, 278, 278, 278, 278, 278, 278, 278,
1494	278, 278, 278, 358, 358, 358, 358, 358,
1495	358, 358, 358, 358, 358, 358, 358, 358,
1496	358, 358, 358, 358, 358, 358, 358, 358,
1497	358, 358, 358, 358, 358, 358, 358, 358,
1498	358, 358, 358, 358, 358, 358, 358, 358,
1499	358, 358, 358, 358, 358, 358, 358, 358,
1500	358, 358, 358, 358, 358, 358, 358, 358,
1501	358, 358, 358, 358, 358, 358, 358, 358,
1502	358, 358, 358, 358, 358, 358, 358, 358,
1503	358, 358, 358, 358, 358, 358, 358, 358,
1504	428, 358, 428, 429, 429, 429, 429, 429,
1505	429, 429, 429, 429, 429, 429, 429, 429,
1506	429, 429, 429, 429, 429, 429, 429, 429,
1507	429, 429, 429, 429, 429, 429, 429, 429,
1508	429, 429, 429, 429, 429, 429, 429, 429,
1509	429, 429, 429, 429, 429, 429, 429, 429,
1510	429, 429, 429, 429, 429, 429, 429, 429,
1511	429, 429, 429, 429, 429, 429, 429, 429,
1512	429, 429, 429, 429, 429, 429, 429, 429,
1513	429, 429, 429, 429, 429, 429, 429, 429,
1514	429, 429, 358, 198, 198, 198, 358, 198,
1515	198, 198, 198, 198, 198, 198, 198, 198,
1516	198, 198, 198, 198, 198, 198, 198, 198,
1517	198, 198, 198, 198, 198, 198, 198, 198,
1518	198, 198, 198, 198, 198, 358, 542, 542,
1519	542, 542, 542, 542, 542, 542, 542
1520};
1521
1522static const int indic_syllable_machine_start = 170;
1523static const int indic_syllable_machine_first_final = 170;
1524static const int indic_syllable_machine_error = -1;
1525
1526static const int indic_syllable_machine_en_main = 170;
1527
1528
1529#line 36 "../../src/hb-ot-shape-complex-indic-machine.rl"
1530
1531
1532
1533#line 97 "../../src/hb-ot-shape-complex-indic-machine.rl"
1534
1535
1536#define found_syllable(syllable_type) \
1537  HB_STMT_START { \
1538    if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1539    for (unsigned int i = last; i < p+1; i++) \
1540      info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1541    last = p+1; \
1542    syllable_serial++; \
1543    if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1544  } HB_STMT_END
1545
1546static void
1547find_syllables (hb_buffer_t *buffer)
1548{
1549  unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
1550  int cs;
1551  hb_glyph_info_t *info = buffer->info;
1552
1553#line 1554 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1554	{
1555	cs = indic_syllable_machine_start;
1556	ts = 0;
1557	te = 0;
1558	act = 0;
1559	}
1560
1561#line 118 "../../src/hb-ot-shape-complex-indic-machine.rl"
1562
1563
1564  p = 0;
1565  pe = eof = buffer->len;
1566
1567  unsigned int last = 0;
1568  unsigned int syllable_serial = 1;
1569
1570#line 1571 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1571	{
1572	int _slen;
1573	int _trans;
1574	const unsigned char *_keys;
1575	const short *_inds;
1576	if ( p == pe )
1577		goto _test_eof;
1578_resume:
1579	switch ( _indic_syllable_machine_from_state_actions[cs] ) {
1580	case 10:
1581#line 1 "NONE"
1582	{ts = p;}
1583	break;
1584#line 1585 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1585	}
1586
1587	_keys = _indic_syllable_machine_trans_keys + (cs<<1);
1588	_inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
1589
1590	_slen = _indic_syllable_machine_key_spans[cs];
1591	_trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
1592		( info[p].indic_category()) <= _keys[1] ?
1593		( info[p].indic_category()) - _keys[0] : _slen ];
1594
1595_eof_trans:
1596	cs = _indic_syllable_machine_trans_targs[_trans];
1597
1598	if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
1599		goto _again;
1600
1601	switch ( _indic_syllable_machine_trans_actions[_trans] ) {
1602	case 2:
1603#line 1 "NONE"
1604	{te = p+1;}
1605	break;
1606	case 14:
1607#line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
1608	{te = p+1;{ found_syllable (consonant_syllable); }}
1609	break;
1610	case 16:
1611#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
1612	{te = p+1;{ found_syllable (vowel_syllable); }}
1613	break;
1614	case 21:
1615#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
1616	{te = p+1;{ found_syllable (standalone_cluster); }}
1617	break;
1618	case 23:
1619#line 91 "../../src/hb-ot-shape-complex-indic-machine.rl"
1620	{te = p+1;{ found_syllable (symbol_cluster); }}
1621	break;
1622	case 18:
1623#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
1624	{te = p+1;{ found_syllable (broken_cluster); }}
1625	break;
1626	case 11:
1627#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
1628	{te = p+1;{ found_syllable (non_indic_cluster); }}
1629	break;
1630	case 13:
1631#line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
1632	{te = p;p--;{ found_syllable (consonant_syllable); }}
1633	break;
1634	case 15:
1635#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
1636	{te = p;p--;{ found_syllable (vowel_syllable); }}
1637	break;
1638	case 20:
1639#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
1640	{te = p;p--;{ found_syllable (standalone_cluster); }}
1641	break;
1642	case 22:
1643#line 91 "../../src/hb-ot-shape-complex-indic-machine.rl"
1644	{te = p;p--;{ found_syllable (symbol_cluster); }}
1645	break;
1646	case 17:
1647#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
1648	{te = p;p--;{ found_syllable (broken_cluster); }}
1649	break;
1650	case 19:
1651#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
1652	{te = p;p--;{ found_syllable (non_indic_cluster); }}
1653	break;
1654	case 1:
1655#line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
1656	{{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
1657	break;
1658	case 3:
1659#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
1660	{{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
1661	break;
1662	case 7:
1663#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
1664	{{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
1665	break;
1666	case 4:
1667#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
1668	{{p = ((te))-1;}{ found_syllable (broken_cluster); }}
1669	break;
1670	case 5:
1671#line 1 "NONE"
1672	{	switch( act ) {
1673	case 1:
1674	{{p = ((te))-1;} found_syllable (consonant_syllable); }
1675	break;
1676	case 5:
1677	{{p = ((te))-1;} found_syllable (broken_cluster); }
1678	break;
1679	case 6:
1680	{{p = ((te))-1;} found_syllable (non_indic_cluster); }
1681	break;
1682	}
1683	}
1684	break;
1685	case 8:
1686#line 1 "NONE"
1687	{te = p+1;}
1688#line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
1689	{act = 1;}
1690	break;
1691	case 6:
1692#line 1 "NONE"
1693	{te = p+1;}
1694#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
1695	{act = 5;}
1696	break;
1697	case 12:
1698#line 1 "NONE"
1699	{te = p+1;}
1700#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
1701	{act = 6;}
1702	break;
1703#line 1704 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1704	}
1705
1706_again:
1707	switch ( _indic_syllable_machine_to_state_actions[cs] ) {
1708	case 9:
1709#line 1 "NONE"
1710	{ts = 0;}
1711	break;
1712#line 1713 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1713	}
1714
1715	if ( ++p != pe )
1716		goto _resume;
1717	_test_eof: {}
1718	if ( p == eof )
1719	{
1720	if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
1721		_trans = _indic_syllable_machine_eof_trans[cs] - 1;
1722		goto _eof_trans;
1723	}
1724	}
1725
1726	}
1727
1728#line 127 "../../src/hb-ot-shape-complex-indic-machine.rl"
1729
1730}
1731
1732#endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */
1733