1
2#line 1 "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 "hb-ot-shape-complex-indic-machine.hh"
36static const unsigned char _indic_syllable_machine_trans_keys[] = {
37	8u, 8u, 1u, 16u, 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
38	7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u,
39	6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u,
40	4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
41	4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u,
42	5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
43	7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u,
44	6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u,
45	4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
46	4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u,
47	5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
48	7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u,
49	6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u,
50	4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u,
51	8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u,
52	5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u,
53	4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u,
54	16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
55	4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 5u, 8u, 4u, 14u, 4u, 14u, 5u, 8u,
56	5u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u,
57	5u, 7u, 7u, 7u, 8u, 8u, 1u, 16u, 8u, 13u, 4u, 8u, 6u, 6u, 16u, 16u,
58	4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u,
59	16u, 16u, 8u, 8u, 1u, 18u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
60	3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
61	3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u,
62	5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
63	3u, 10u, 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
64	3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
65	5u, 14u, 3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u,
66	1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
67	1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
68	1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
69	3u, 17u, 3u, 17u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
70	4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
71	4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u,
72	9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u,
73	5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
74	4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
75	3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
76	1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
77	1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
78	3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 1u, 16u,
79	3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
80	3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
81	3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u, 9u, 10u, 9u, 9u,
82	9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
83	3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
84	3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u,
85	4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
86	3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
87	3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u,
88	1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 3u, 17u, 4u, 14u,
89	3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
90	3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
91	3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u, 9u, 10u, 9u, 9u,
92	9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
93	3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
94	3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u,
95	4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
96	3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
97	3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u,
98	1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 1u, 17u, 3u, 17u,
99	1u, 17u, 4u, 14u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u,
100	5u, 10u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 3u, 17u, 3u, 17u, 1u, 16u,
101	3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
102	5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
103	3u, 13u, 1u, 16u, 3u, 10u, 5u, 10u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u,
104	9u, 10u, 9u, 9u, 5u, 10u, 0
105};
106
107static const char _indic_syllable_machine_key_spans[] = {
108	1, 16, 6, 4, 3, 1, 4, 3,
109	1, 4, 3, 1, 4, 3, 1, 5,
110	1, 1, 5, 1, 1, 5, 1, 1,
111	5, 1, 1, 11, 11, 11, 11, 11,
112	11, 11, 11, 11, 11, 1, 16, 6,
113	4, 3, 1, 4, 3, 1, 4, 3,
114	1, 4, 3, 1, 5, 1, 1, 5,
115	1, 1, 5, 1, 1, 5, 1, 1,
116	11, 11, 11, 11, 11, 11, 11, 11,
117	11, 11, 1, 16, 6, 4, 3, 1,
118	4, 3, 1, 4, 3, 1, 4, 3,
119	1, 5, 1, 1, 5, 1, 1, 5,
120	1, 1, 5, 1, 1, 11, 11, 11,
121	11, 11, 11, 11, 11, 11, 1, 16,
122	6, 4, 3, 1, 4, 3, 1, 4,
123	3, 1, 4, 3, 1, 5, 1, 1,
124	5, 1, 1, 5, 1, 1, 5, 1,
125	1, 11, 11, 11, 11, 11, 11, 11,
126	11, 11, 11, 11, 4, 11, 11, 4,
127	3, 4, 3, 1, 4, 3, 1, 4,
128	3, 1, 1, 16, 6, 5, 1, 1,
129	5, 1, 1, 5, 1, 1, 5, 1,
130	1, 1, 18, 15, 15, 14, 16, 15,
131	15, 14, 16, 15, 15, 14, 16, 15,
132	15, 14, 16, 15, 15, 14, 10, 10,
133	6, 2, 1, 2, 2, 1, 6, 11,
134	8, 6, 8, 11, 12, 12, 11, 10,
135	12, 11, 10, 12, 11, 10, 12, 11,
136	10, 12, 16, 11, 15, 15, 16, 16,
137	16, 16, 16, 15, 15, 16, 16, 16,
138	16, 16, 15, 15, 16, 16, 16, 16,
139	16, 15, 15, 16, 16, 16, 16, 16,
140	15, 15, 15, 15, 14, 16, 15, 15,
141	14, 16, 15, 15, 14, 16, 15, 15,
142	14, 16, 15, 15, 14, 10, 10, 6,
143	2, 1, 2, 2, 1, 6, 11, 8,
144	6, 8, 11, 12, 12, 11, 10, 12,
145	11, 10, 12, 11, 10, 12, 11, 10,
146	12, 16, 11, 15, 15, 16, 16, 16,
147	16, 16, 15, 15, 16, 16, 16, 16,
148	16, 15, 15, 16, 16, 16, 16, 16,
149	15, 15, 16, 16, 16, 16, 11, 16,
150	15, 15, 14, 16, 15, 15, 14, 16,
151	15, 15, 14, 16, 15, 15, 14, 16,
152	15, 15, 14, 10, 10, 6, 2, 1,
153	2, 2, 1, 6, 11, 8, 6, 8,
154	11, 12, 12, 11, 10, 12, 11, 10,
155	12, 11, 10, 12, 11, 10, 12, 16,
156	11, 15, 15, 16, 16, 16, 16, 16,
157	15, 15, 16, 16, 16, 16, 16, 15,
158	15, 16, 16, 16, 16, 16, 15, 15,
159	16, 16, 16, 16, 16, 11, 15, 11,
160	15, 15, 14, 16, 15, 15, 14, 16,
161	15, 15, 14, 16, 15, 15, 14, 16,
162	15, 15, 14, 10, 10, 6, 2, 1,
163	2, 2, 1, 6, 11, 8, 6, 8,
164	11, 12, 12, 11, 10, 12, 11, 10,
165	12, 11, 10, 12, 11, 10, 12, 16,
166	11, 15, 15, 16, 16, 16, 16, 16,
167	15, 15, 16, 16, 16, 16, 16, 15,
168	15, 16, 16, 16, 16, 16, 15, 15,
169	16, 16, 16, 16, 16, 15, 17, 15,
170	17, 11, 6, 2, 1, 2, 2, 1,
171	6, 16, 15, 15, 14, 15, 15, 16,
172	12, 11, 10, 12, 11, 10, 12, 11,
173	10, 12, 11, 10, 11, 8, 6, 8,
174	11, 16, 8, 6, 6, 2, 1, 2,
175	2, 1, 6
176};
177
178static const short _indic_syllable_machine_index_offsets[] = {
179	0, 2, 19, 26, 31, 35, 37, 42,
180	46, 48, 53, 57, 59, 64, 68, 70,
181	76, 78, 80, 86, 88, 90, 96, 98,
182	100, 106, 108, 110, 122, 134, 146, 158,
183	170, 182, 194, 206, 218, 230, 232, 249,
184	256, 261, 265, 267, 272, 276, 278, 283,
185	287, 289, 294, 298, 300, 306, 308, 310,
186	316, 318, 320, 326, 328, 330, 336, 338,
187	340, 352, 364, 376, 388, 400, 412, 424,
188	436, 448, 460, 462, 479, 486, 491, 495,
189	497, 502, 506, 508, 513, 517, 519, 524,
190	528, 530, 536, 538, 540, 546, 548, 550,
191	556, 558, 560, 566, 568, 570, 582, 594,
192	606, 618, 630, 642, 654, 666, 678, 680,
193	697, 704, 709, 713, 715, 720, 724, 726,
194	731, 735, 737, 742, 746, 748, 754, 756,
195	758, 764, 766, 768, 774, 776, 778, 784,
196	786, 788, 800, 812, 824, 836, 848, 860,
197	872, 884, 896, 908, 920, 925, 937, 949,
198	954, 958, 963, 967, 969, 974, 978, 980,
199	985, 989, 991, 993, 1010, 1017, 1023, 1025,
200	1027, 1033, 1035, 1037, 1043, 1045, 1047, 1053,
201	1055, 1057, 1059, 1078, 1094, 1110, 1125, 1142,
202	1158, 1174, 1189, 1206, 1222, 1238, 1253, 1270,
203	1286, 1302, 1317, 1334, 1350, 1366, 1381, 1392,
204	1403, 1410, 1413, 1415, 1418, 1421, 1423, 1430,
205	1442, 1451, 1458, 1467, 1479, 1492, 1505, 1517,
206	1528, 1541, 1553, 1564, 1577, 1589, 1600, 1613,
207	1625, 1636, 1649, 1666, 1678, 1694, 1710, 1727,
208	1744, 1761, 1778, 1795, 1811, 1827, 1844, 1861,
209	1878, 1895, 1912, 1928, 1944, 1961, 1978, 1995,
210	2012, 2029, 2045, 2061, 2078, 2095, 2112, 2129,
211	2146, 2162, 2178, 2194, 2210, 2225, 2242, 2258,
212	2274, 2289, 2306, 2322, 2338, 2353, 2370, 2386,
213	2402, 2417, 2434, 2450, 2466, 2481, 2492, 2503,
214	2510, 2513, 2515, 2518, 2521, 2523, 2530, 2542,
215	2551, 2558, 2567, 2579, 2592, 2605, 2617, 2628,
216	2641, 2653, 2664, 2677, 2689, 2700, 2713, 2725,
217	2736, 2749, 2766, 2778, 2794, 2810, 2827, 2844,
218	2861, 2878, 2895, 2911, 2927, 2944, 2961, 2978,
219	2995, 3012, 3028, 3044, 3061, 3078, 3095, 3112,
220	3129, 3145, 3161, 3178, 3195, 3212, 3229, 3241,
221	3258, 3274, 3290, 3305, 3322, 3338, 3354, 3369,
222	3386, 3402, 3418, 3433, 3450, 3466, 3482, 3497,
223	3514, 3530, 3546, 3561, 3572, 3583, 3590, 3593,
224	3595, 3598, 3601, 3603, 3610, 3622, 3631, 3638,
225	3647, 3659, 3672, 3685, 3697, 3708, 3721, 3733,
226	3744, 3757, 3769, 3780, 3793, 3805, 3816, 3829,
227	3846, 3858, 3874, 3890, 3907, 3924, 3941, 3958,
228	3975, 3991, 4007, 4024, 4041, 4058, 4075, 4092,
229	4108, 4124, 4141, 4158, 4175, 4192, 4209, 4225,
230	4241, 4258, 4275, 4292, 4309, 4326, 4338, 4354,
231	4366, 4382, 4398, 4413, 4430, 4446, 4462, 4477,
232	4494, 4510, 4526, 4541, 4558, 4574, 4590, 4605,
233	4622, 4638, 4654, 4669, 4680, 4691, 4698, 4701,
234	4703, 4706, 4709, 4711, 4718, 4730, 4739, 4746,
235	4755, 4767, 4780, 4793, 4805, 4816, 4829, 4841,
236	4852, 4865, 4877, 4888, 4901, 4913, 4924, 4937,
237	4954, 4966, 4982, 4998, 5015, 5032, 5049, 5066,
238	5083, 5099, 5115, 5132, 5149, 5166, 5183, 5200,
239	5216, 5232, 5249, 5266, 5283, 5300, 5317, 5333,
240	5349, 5366, 5383, 5400, 5417, 5434, 5450, 5468,
241	5484, 5502, 5514, 5521, 5524, 5526, 5529, 5532,
242	5534, 5541, 5558, 5574, 5590, 5605, 5621, 5637,
243	5654, 5667, 5679, 5690, 5703, 5715, 5726, 5739,
244	5751, 5762, 5775, 5787, 5798, 5810, 5819, 5826,
245	5835, 5847, 5864, 5873, 5880, 5887, 5890, 5892,
246	5895, 5898, 5900
247};
248
249static const short _indic_syllable_machine_indicies[] = {
250	1, 0, 2, 3, 0, 0, 0, 0,
251	0, 0, 0, 0, 0, 0, 0, 0,
252	0, 2, 0, 1, 0, 0, 0, 0,
253	4, 0, 5, 5, 6, 1, 0, 7,
254	7, 6, 0, 6, 0, 8, 8, 9,
255	1, 0, 10, 10, 9, 0, 9, 0,
256	11, 11, 12, 1, 0, 13, 13, 12,
257	0, 12, 0, 14, 14, 15, 1, 0,
258	16, 16, 15, 0, 15, 0, 17, 0,
259	0, 0, 1, 0, 18, 0, 19, 0,
260	20, 14, 14, 15, 1, 0, 21, 0,
261	22, 0, 23, 11, 11, 12, 1, 0,
262	24, 0, 25, 0, 26, 8, 8, 9,
263	1, 0, 27, 0, 28, 0, 29, 5,
264	5, 6, 1, 0, 0, 0, 0, 0,
265	29, 0, 29, 5, 5, 6, 1, 0,
266	0, 0, 0, 30, 29, 0, 31, 5,
267	5, 6, 1, 0, 0, 0, 0, 0,
268	31, 0, 31, 5, 5, 6, 1, 0,
269	0, 0, 0, 32, 31, 0, 33, 5,
270	5, 6, 1, 0, 0, 0, 0, 0,
271	33, 0, 33, 5, 5, 6, 1, 0,
272	0, 0, 0, 34, 33, 0, 35, 5,
273	5, 6, 1, 0, 0, 0, 0, 0,
274	35, 0, 35, 5, 5, 6, 1, 0,
275	0, 0, 0, 36, 35, 0, 37, 5,
276	5, 6, 1, 0, 0, 0, 0, 0,
277	37, 0, 37, 5, 5, 6, 1, 0,
278	0, 0, 0, 38, 37, 0, 40, 39,
279	41, 42, 39, 39, 39, 39, 39, 39,
280	39, 39, 39, 39, 39, 39, 39, 41,
281	39, 40, 39, 39, 39, 39, 43, 39,
282	44, 44, 45, 40, 39, 46, 46, 45,
283	39, 45, 39, 47, 47, 48, 40, 39,
284	49, 49, 48, 39, 48, 39, 50, 50,
285	51, 40, 39, 52, 52, 51, 39, 51,
286	39, 53, 53, 54, 40, 39, 55, 55,
287	54, 39, 54, 39, 56, 39, 39, 39,
288	40, 39, 57, 39, 58, 39, 59, 53,
289	53, 54, 40, 39, 60, 39, 61, 39,
290	62, 50, 50, 51, 40, 39, 63, 39,
291	64, 39, 65, 47, 47, 48, 40, 39,
292	66, 39, 67, 39, 68, 44, 44, 45,
293	40, 39, 39, 39, 39, 39, 68, 39,
294	68, 44, 44, 45, 40, 39, 39, 39,
295	39, 69, 68, 39, 70, 44, 44, 45,
296	40, 39, 39, 39, 39, 39, 70, 39,
297	70, 44, 44, 45, 40, 39, 39, 39,
298	39, 71, 70, 39, 72, 44, 44, 45,
299	40, 39, 39, 39, 39, 39, 72, 39,
300	72, 44, 44, 45, 40, 39, 39, 39,
301	39, 73, 72, 39, 74, 44, 44, 45,
302	40, 39, 39, 39, 39, 39, 74, 39,
303	74, 44, 44, 45, 40, 39, 39, 39,
304	39, 75, 74, 39, 76, 44, 44, 45,
305	40, 39, 39, 39, 39, 39, 76, 39,
306	76, 44, 44, 45, 40, 39, 39, 39,
307	39, 77, 76, 39, 79, 78, 80, 81,
308	78, 78, 78, 78, 78, 78, 78, 78,
309	78, 78, 78, 78, 78, 80, 78, 79,
310	78, 78, 78, 78, 82, 78, 83, 83,
311	84, 79, 78, 86, 86, 84, 85, 84,
312	85, 87, 87, 88, 79, 78, 89, 89,
313	88, 78, 88, 78, 90, 90, 91, 79,
314	78, 92, 92, 91, 78, 91, 78, 93,
315	93, 94, 79, 78, 95, 95, 94, 78,
316	94, 78, 96, 78, 78, 78, 79, 78,
317	97, 78, 98, 78, 99, 93, 93, 94,
318	79, 78, 100, 78, 101, 78, 102, 90,
319	90, 91, 79, 78, 103, 78, 104, 78,
320	105, 87, 87, 88, 79, 78, 106, 78,
321	107, 78, 108, 83, 83, 84, 79, 78,
322	78, 78, 78, 78, 108, 78, 108, 83,
323	83, 84, 79, 78, 78, 78, 78, 109,
324	108, 78, 110, 83, 83, 84, 79, 78,
325	78, 78, 78, 78, 110, 78, 110, 83,
326	83, 84, 79, 78, 78, 78, 78, 111,
327	110, 78, 112, 83, 83, 84, 79, 78,
328	78, 78, 78, 78, 112, 78, 112, 83,
329	83, 84, 79, 78, 78, 78, 78, 113,
330	112, 78, 114, 83, 83, 84, 79, 78,
331	78, 78, 78, 78, 114, 78, 114, 83,
332	83, 84, 79, 78, 78, 78, 78, 115,
333	114, 78, 116, 83, 83, 84, 79, 78,
334	78, 78, 78, 78, 116, 78, 118, 117,
335	119, 120, 117, 117, 117, 117, 117, 117,
336	117, 117, 117, 117, 117, 117, 117, 119,
337	117, 118, 117, 117, 117, 117, 121, 117,
338	122, 122, 123, 118, 117, 124, 124, 123,
339	117, 123, 117, 125, 125, 126, 118, 117,
340	127, 127, 126, 117, 126, 117, 128, 128,
341	129, 118, 117, 130, 130, 129, 117, 129,
342	117, 131, 131, 132, 118, 117, 133, 133,
343	132, 117, 132, 117, 134, 117, 117, 117,
344	118, 117, 135, 117, 136, 117, 137, 131,
345	131, 132, 118, 117, 138, 117, 139, 117,
346	140, 128, 128, 129, 118, 117, 141, 117,
347	142, 117, 143, 125, 125, 126, 118, 117,
348	144, 117, 145, 117, 146, 122, 122, 123,
349	118, 117, 117, 117, 117, 117, 146, 117,
350	146, 122, 122, 123, 118, 117, 117, 117,
351	117, 147, 146, 117, 148, 122, 122, 123,
352	118, 117, 117, 117, 117, 117, 148, 117,
353	148, 122, 122, 123, 118, 117, 117, 117,
354	117, 149, 148, 117, 150, 122, 122, 123,
355	118, 117, 117, 117, 117, 117, 150, 117,
356	150, 122, 122, 123, 118, 117, 117, 117,
357	117, 151, 150, 117, 152, 122, 122, 123,
358	118, 117, 117, 117, 117, 117, 152, 117,
359	152, 122, 122, 123, 118, 117, 117, 117,
360	117, 153, 152, 117, 154, 122, 122, 123,
361	118, 117, 117, 117, 117, 117, 154, 117,
362	154, 122, 122, 123, 118, 117, 117, 117,
363	117, 155, 154, 117, 116, 83, 83, 84,
364	79, 78, 78, 78, 78, 156, 116, 78,
365	86, 86, 84, 1, 0, 114, 83, 83,
366	84, 157, 0, 0, 0, 0, 0, 114,
367	0, 114, 83, 83, 84, 157, 0, 0,
368	0, 0, 158, 114, 0, 159, 159, 160,
369	1, 0, 7, 7, 160, 0, 161, 161,
370	162, 157, 0, 163, 163, 162, 0, 162,
371	0, 164, 164, 165, 157, 0, 166, 166,
372	165, 0, 165, 0, 167, 167, 168, 157,
373	0, 169, 169, 168, 0, 168, 0, 157,
374	0, 170, 171, 0, 0, 0, 0, 0,
375	0, 0, 0, 0, 0, 0, 0, 0,
376	170, 0, 157, 0, 0, 0, 0, 172,
377	0, 173, 0, 0, 0, 157, 0, 174,
378	0, 175, 0, 176, 167, 167, 168, 157,
379	0, 177, 0, 178, 0, 179, 164, 164,
380	165, 157, 0, 180, 0, 181, 0, 182,
381	161, 161, 162, 157, 0, 183, 0, 184,
382	0, 186, 185, 188, 189, 190, 191, 192,
383	193, 84, 79, 194, 195, 196, 196, 156,
384	197, 198, 199, 200, 201, 187, 203, 204,
385	205, 206, 6, 1, 207, 208, 202, 202,
386	38, 209, 202, 202, 210, 202, 211, 204,
387	212, 212, 6, 1, 207, 208, 202, 202,
388	202, 209, 202, 202, 210, 202, 204, 212,
389	212, 6, 1, 207, 208, 202, 202, 202,
390	209, 202, 202, 210, 202, 213, 202, 202,
391	202, 19, 214, 202, 1, 207, 208, 202,
392	202, 202, 215, 202, 213, 202, 216, 217,
393	218, 219, 6, 1, 207, 208, 202, 202,
394	36, 220, 202, 202, 210, 202, 221, 217,
395	222, 222, 6, 1, 207, 208, 202, 202,
396	202, 220, 202, 202, 210, 202, 217, 222,
397	222, 6, 1, 207, 208, 202, 202, 202,
398	220, 202, 202, 210, 202, 223, 202, 202,
399	202, 19, 224, 202, 1, 207, 208, 202,
400	202, 202, 215, 202, 223, 202, 225, 226,
401	227, 228, 6, 1, 207, 208, 202, 202,
402	34, 229, 202, 202, 210, 202, 230, 226,
403	231, 231, 6, 1, 207, 208, 202, 202,
404	202, 229, 202, 202, 210, 202, 226, 231,
405	231, 6, 1, 207, 208, 202, 202, 202,
406	229, 202, 202, 210, 202, 232, 202, 202,
407	202, 19, 233, 202, 1, 207, 208, 202,
408	202, 202, 215, 202, 232, 202, 234, 235,
409	236, 237, 6, 1, 207, 208, 202, 202,
410	32, 238, 202, 202, 210, 202, 239, 235,
411	240, 240, 6, 1, 207, 208, 202, 202,
412	202, 238, 202, 202, 210, 202, 235, 240,
413	240, 6, 1, 207, 208, 202, 202, 202,
414	238, 202, 202, 210, 202, 241, 202, 202,
415	202, 19, 242, 202, 1, 207, 208, 202,
416	202, 202, 215, 202, 241, 202, 243, 244,
417	245, 246, 6, 1, 207, 208, 202, 202,
418	30, 247, 202, 202, 210, 202, 248, 244,
419	249, 249, 6, 1, 207, 208, 202, 202,
420	202, 247, 202, 202, 210, 202, 244, 249,
421	249, 6, 1, 207, 208, 202, 202, 202,
422	247, 202, 202, 210, 202, 19, 250, 202,
423	1, 207, 208, 202, 202, 202, 215, 202,
424	251, 251, 202, 1, 207, 208, 202, 202,
425	202, 215, 202, 252, 202, 202, 253, 207,
426	208, 202, 207, 208, 202, 254, 202, 207,
427	255, 202, 207, 256, 202, 207, 202, 252,
428	202, 202, 202, 207, 208, 202, 257, 202,
429	258, 259, 202, 1, 207, 208, 202, 202,
430	4, 202, 3, 202, 251, 251, 202, 1,
431	207, 208, 202, 251, 251, 202, 1, 207,
432	208, 202, 257, 202, 251, 251, 202, 1,
433	207, 208, 202, 257, 202, 258, 251, 202,
434	1, 207, 208, 202, 202, 4, 202, 19,
435	202, 260, 260, 6, 1, 207, 208, 202,
436	202, 202, 215, 202, 261, 28, 262, 263,
437	9, 1, 207, 208, 202, 202, 202, 215,
438	202, 28, 262, 263, 9, 1, 207, 208,
439	202, 202, 202, 215, 202, 262, 262, 9,
440	1, 207, 208, 202, 202, 202, 215, 202,
441	264, 25, 265, 266, 12, 1, 207, 208,
442	202, 202, 202, 215, 202, 25, 265, 266,
443	12, 1, 207, 208, 202, 202, 202, 215,
444	202, 265, 265, 12, 1, 207, 208, 202,
445	202, 202, 215, 202, 267, 22, 268, 269,
446	15, 1, 207, 208, 202, 202, 202, 215,
447	202, 22, 268, 269, 15, 1, 207, 208,
448	202, 202, 202, 215, 202, 268, 268, 15,
449	1, 207, 208, 202, 202, 202, 215, 202,
450	270, 19, 251, 271, 202, 1, 207, 208,
451	202, 202, 202, 215, 202, 19, 251, 271,
452	202, 1, 207, 208, 202, 202, 202, 215,
453	202, 251, 272, 202, 1, 207, 208, 202,
454	202, 202, 215, 202, 19, 202, 251, 251,
455	202, 1, 207, 208, 202, 202, 202, 215,
456	202, 2, 3, 202, 202, 19, 250, 202,
457	1, 207, 208, 202, 202, 202, 215, 202,
458	2, 202, 244, 249, 249, 6, 1, 207,
459	208, 202, 202, 202, 247, 202, 243, 244,
460	249, 249, 6, 1, 207, 208, 202, 202,
461	202, 247, 202, 202, 210, 202, 243, 244,
462	245, 249, 6, 1, 207, 208, 202, 202,
463	30, 247, 202, 202, 210, 202, 241, 202,
464	273, 202, 260, 260, 6, 1, 207, 208,
465	202, 202, 202, 215, 202, 241, 202, 241,
466	202, 202, 202, 251, 251, 202, 1, 207,
467	208, 202, 202, 202, 215, 202, 241, 202,
468	241, 202, 202, 202, 251, 274, 202, 1,
469	207, 208, 202, 202, 202, 215, 202, 241,
470	202, 241, 202, 273, 202, 251, 251, 202,
471	1, 207, 208, 202, 202, 202, 215, 202,
472	241, 202, 241, 3, 202, 202, 19, 242,
473	202, 1, 207, 208, 202, 202, 202, 215,
474	202, 241, 202, 234, 235, 240, 240, 6,
475	1, 207, 208, 202, 202, 202, 238, 202,
476	202, 210, 202, 234, 235, 236, 240, 6,
477	1, 207, 208, 202, 202, 32, 238, 202,
478	202, 210, 202, 232, 202, 275, 202, 260,
479	260, 6, 1, 207, 208, 202, 202, 202,
480	215, 202, 232, 202, 232, 202, 202, 202,
481	251, 251, 202, 1, 207, 208, 202, 202,
482	202, 215, 202, 232, 202, 232, 202, 202,
483	202, 251, 276, 202, 1, 207, 208, 202,
484	202, 202, 215, 202, 232, 202, 232, 202,
485	275, 202, 251, 251, 202, 1, 207, 208,
486	202, 202, 202, 215, 202, 232, 202, 232,
487	3, 202, 202, 19, 233, 202, 1, 207,
488	208, 202, 202, 202, 215, 202, 232, 202,
489	225, 226, 231, 231, 6, 1, 207, 208,
490	202, 202, 202, 229, 202, 202, 210, 202,
491	225, 226, 227, 231, 6, 1, 207, 208,
492	202, 202, 34, 229, 202, 202, 210, 202,
493	223, 202, 277, 202, 260, 260, 6, 1,
494	207, 208, 202, 202, 202, 215, 202, 223,
495	202, 223, 202, 202, 202, 251, 251, 202,
496	1, 207, 208, 202, 202, 202, 215, 202,
497	223, 202, 223, 202, 202, 202, 251, 278,
498	202, 1, 207, 208, 202, 202, 202, 215,
499	202, 223, 202, 223, 202, 277, 202, 251,
500	251, 202, 1, 207, 208, 202, 202, 202,
501	215, 202, 223, 202, 223, 3, 202, 202,
502	19, 224, 202, 1, 207, 208, 202, 202,
503	202, 215, 202, 223, 202, 216, 217, 222,
504	222, 6, 1, 207, 208, 202, 202, 202,
505	220, 202, 202, 210, 202, 216, 217, 218,
506	222, 6, 1, 207, 208, 202, 202, 36,
507	220, 202, 202, 210, 202, 213, 202, 279,
508	202, 260, 260, 6, 1, 207, 208, 202,
509	202, 202, 215, 202, 213, 202, 213, 202,
510	202, 202, 251, 251, 202, 1, 207, 208,
511	202, 202, 202, 215, 202, 213, 202, 213,
512	202, 202, 202, 251, 280, 202, 1, 207,
513	208, 202, 202, 202, 215, 202, 213, 202,
514	213, 202, 279, 202, 251, 251, 202, 1,
515	207, 208, 202, 202, 202, 215, 202, 213,
516	202, 213, 3, 202, 202, 19, 214, 202,
517	1, 207, 208, 202, 202, 202, 215, 202,
518	213, 202, 203, 204, 212, 212, 6, 1,
519	207, 208, 202, 202, 202, 209, 202, 202,
520	210, 202, 203, 204, 205, 212, 6, 1,
521	207, 208, 202, 202, 38, 209, 202, 202,
522	210, 202, 282, 283, 284, 285, 45, 40,
523	286, 287, 281, 281, 77, 288, 281, 281,
524	289, 281, 290, 283, 291, 285, 45, 40,
525	286, 287, 281, 281, 281, 288, 281, 281,
526	289, 281, 283, 291, 285, 45, 40, 286,
527	287, 281, 281, 281, 288, 281, 281, 289,
528	281, 292, 281, 281, 281, 58, 293, 281,
529	40, 286, 287, 281, 281, 281, 294, 281,
530	292, 281, 295, 296, 297, 298, 45, 40,
531	286, 287, 281, 281, 75, 299, 281, 281,
532	289, 281, 300, 296, 301, 301, 45, 40,
533	286, 287, 281, 281, 281, 299, 281, 281,
534	289, 281, 296, 301, 301, 45, 40, 286,
535	287, 281, 281, 281, 299, 281, 281, 289,
536	281, 302, 281, 281, 281, 58, 303, 281,
537	40, 286, 287, 281, 281, 281, 294, 281,
538	302, 281, 304, 305, 306, 307, 45, 40,
539	286, 287, 281, 281, 73, 308, 281, 281,
540	289, 281, 309, 305, 310, 310, 45, 40,
541	286, 287, 281, 281, 281, 308, 281, 281,
542	289, 281, 305, 310, 310, 45, 40, 286,
543	287, 281, 281, 281, 308, 281, 281, 289,
544	281, 311, 281, 281, 281, 58, 312, 281,
545	40, 286, 287, 281, 281, 281, 294, 281,
546	311, 281, 313, 314, 315, 316, 45, 40,
547	286, 287, 281, 281, 71, 317, 281, 281,
548	289, 281, 318, 314, 319, 319, 45, 40,
549	286, 287, 281, 281, 281, 317, 281, 281,
550	289, 281, 314, 319, 319, 45, 40, 286,
551	287, 281, 281, 281, 317, 281, 281, 289,
552	281, 320, 281, 281, 281, 58, 321, 281,
553	40, 286, 287, 281, 281, 281, 294, 281,
554	320, 281, 322, 323, 324, 325, 45, 40,
555	286, 287, 281, 281, 69, 326, 281, 281,
556	289, 281, 327, 323, 328, 328, 45, 40,
557	286, 287, 281, 281, 281, 326, 281, 281,
558	289, 281, 323, 328, 328, 45, 40, 286,
559	287, 281, 281, 281, 326, 281, 281, 289,
560	281, 58, 329, 281, 40, 286, 287, 281,
561	281, 281, 294, 281, 330, 330, 281, 40,
562	286, 287, 281, 281, 281, 294, 281, 331,
563	281, 281, 332, 286, 287, 281, 286, 287,
564	281, 333, 281, 286, 334, 281, 286, 335,
565	281, 286, 281, 331, 281, 281, 281, 286,
566	287, 281, 336, 281, 337, 338, 281, 40,
567	286, 287, 281, 281, 43, 281, 42, 281,
568	330, 330, 281, 40, 286, 287, 281, 330,
569	330, 281, 40, 286, 287, 281, 336, 281,
570	330, 330, 281, 40, 286, 287, 281, 336,
571	281, 337, 330, 281, 40, 286, 287, 281,
572	281, 43, 281, 58, 281, 339, 339, 45,
573	40, 286, 287, 281, 281, 281, 294, 281,
574	340, 67, 341, 342, 48, 40, 286, 287,
575	281, 281, 281, 294, 281, 67, 341, 342,
576	48, 40, 286, 287, 281, 281, 281, 294,
577	281, 341, 341, 48, 40, 286, 287, 281,
578	281, 281, 294, 281, 343, 64, 344, 345,
579	51, 40, 286, 287, 281, 281, 281, 294,
580	281, 64, 344, 345, 51, 40, 286, 287,
581	281, 281, 281, 294, 281, 344, 344, 51,
582	40, 286, 287, 281, 281, 281, 294, 281,
583	346, 61, 347, 348, 54, 40, 286, 287,
584	281, 281, 281, 294, 281, 61, 347, 348,
585	54, 40, 286, 287, 281, 281, 281, 294,
586	281, 347, 347, 54, 40, 286, 287, 281,
587	281, 281, 294, 281, 349, 58, 330, 350,
588	281, 40, 286, 287, 281, 281, 281, 294,
589	281, 58, 330, 350, 281, 40, 286, 287,
590	281, 281, 281, 294, 281, 330, 351, 281,
591	40, 286, 287, 281, 281, 281, 294, 281,
592	58, 281, 330, 330, 281, 40, 286, 287,
593	281, 281, 281, 294, 281, 41, 42, 281,
594	281, 58, 329, 281, 40, 286, 287, 281,
595	281, 281, 294, 281, 41, 281, 323, 328,
596	328, 45, 40, 286, 287, 281, 281, 281,
597	326, 281, 322, 323, 328, 328, 45, 40,
598	286, 287, 281, 281, 281, 326, 281, 281,
599	289, 281, 322, 323, 324, 328, 45, 40,
600	286, 287, 281, 281, 69, 326, 281, 281,
601	289, 281, 320, 281, 352, 281, 339, 339,
602	45, 40, 286, 287, 281, 281, 281, 294,
603	281, 320, 281, 320, 281, 281, 281, 330,
604	330, 281, 40, 286, 287, 281, 281, 281,
605	294, 281, 320, 281, 320, 281, 281, 281,
606	330, 353, 281, 40, 286, 287, 281, 281,
607	281, 294, 281, 320, 281, 320, 281, 352,
608	281, 330, 330, 281, 40, 286, 287, 281,
609	281, 281, 294, 281, 320, 281, 320, 42,
610	281, 281, 58, 321, 281, 40, 286, 287,
611	281, 281, 281, 294, 281, 320, 281, 313,
612	314, 319, 319, 45, 40, 286, 287, 281,
613	281, 281, 317, 281, 281, 289, 281, 313,
614	314, 315, 319, 45, 40, 286, 287, 281,
615	281, 71, 317, 281, 281, 289, 281, 311,
616	281, 354, 281, 339, 339, 45, 40, 286,
617	287, 281, 281, 281, 294, 281, 311, 281,
618	311, 281, 281, 281, 330, 330, 281, 40,
619	286, 287, 281, 281, 281, 294, 281, 311,
620	281, 311, 281, 281, 281, 330, 355, 281,
621	40, 286, 287, 281, 281, 281, 294, 281,
622	311, 281, 311, 281, 354, 281, 330, 330,
623	281, 40, 286, 287, 281, 281, 281, 294,
624	281, 311, 281, 311, 42, 281, 281, 58,
625	312, 281, 40, 286, 287, 281, 281, 281,
626	294, 281, 311, 281, 304, 305, 310, 310,
627	45, 40, 286, 287, 281, 281, 281, 308,
628	281, 281, 289, 281, 304, 305, 306, 310,
629	45, 40, 286, 287, 281, 281, 73, 308,
630	281, 281, 289, 281, 302, 281, 356, 281,
631	339, 339, 45, 40, 286, 287, 281, 281,
632	281, 294, 281, 302, 281, 302, 281, 281,
633	281, 330, 330, 281, 40, 286, 287, 281,
634	281, 281, 294, 281, 302, 281, 302, 281,
635	281, 281, 330, 357, 281, 40, 286, 287,
636	281, 281, 281, 294, 281, 302, 281, 302,
637	281, 356, 281, 330, 330, 281, 40, 286,
638	287, 281, 281, 281, 294, 281, 302, 281,
639	302, 42, 281, 281, 58, 303, 281, 40,
640	286, 287, 281, 281, 281, 294, 281, 302,
641	281, 295, 296, 301, 301, 45, 40, 286,
642	287, 281, 281, 281, 299, 281, 281, 289,
643	281, 295, 296, 297, 301, 45, 40, 286,
644	287, 281, 281, 75, 299, 281, 281, 289,
645	281, 292, 281, 358, 281, 339, 339, 45,
646	40, 286, 287, 281, 281, 281, 294, 281,
647	292, 281, 292, 281, 281, 281, 330, 330,
648	281, 40, 286, 287, 281, 281, 281, 294,
649	281, 292, 281, 292, 281, 281, 281, 330,
650	359, 281, 40, 286, 287, 281, 281, 281,
651	294, 281, 292, 281, 292, 281, 358, 281,
652	330, 330, 281, 40, 286, 287, 281, 281,
653	281, 294, 281, 292, 281, 76, 44, 44,
654	45, 40, 281, 281, 281, 281, 281, 76,
655	281, 292, 42, 281, 281, 58, 293, 281,
656	40, 286, 287, 281, 281, 281, 294, 281,
657	292, 281, 282, 283, 291, 285, 45, 40,
658	286, 287, 281, 281, 281, 288, 281, 281,
659	289, 281, 361, 191, 362, 362, 84, 79,
660	194, 195, 360, 360, 360, 197, 360, 360,
661	200, 360, 191, 362, 362, 84, 79, 194,
662	195, 360, 360, 360, 197, 360, 360, 200,
663	360, 363, 360, 360, 360, 98, 364, 360,
664	79, 194, 195, 360, 360, 360, 365, 360,
665	363, 360, 366, 367, 368, 369, 84, 79,
666	194, 195, 360, 360, 115, 370, 360, 360,
667	200, 360, 371, 367, 372, 372, 84, 79,
668	194, 195, 360, 360, 360, 370, 360, 360,
669	200, 360, 367, 372, 372, 84, 79, 194,
670	195, 360, 360, 360, 370, 360, 360, 200,
671	360, 373, 360, 360, 360, 98, 374, 360,
672	79, 194, 195, 360, 360, 360, 365, 360,
673	373, 360, 375, 376, 377, 378, 84, 79,
674	194, 195, 360, 360, 113, 379, 360, 360,
675	200, 360, 380, 376, 381, 381, 84, 79,
676	194, 195, 360, 360, 360, 379, 360, 360,
677	200, 360, 376, 381, 381, 84, 79, 194,
678	195, 360, 360, 360, 379, 360, 360, 200,
679	360, 382, 360, 360, 360, 98, 383, 360,
680	79, 194, 195, 360, 360, 360, 365, 360,
681	382, 360, 384, 385, 386, 387, 84, 79,
682	194, 195, 360, 360, 111, 388, 360, 360,
683	200, 360, 389, 385, 390, 390, 84, 79,
684	194, 195, 360, 360, 360, 388, 360, 360,
685	200, 360, 385, 390, 390, 84, 79, 194,
686	195, 360, 360, 360, 388, 360, 360, 200,
687	360, 391, 360, 360, 360, 98, 392, 360,
688	79, 194, 195, 360, 360, 360, 365, 360,
689	391, 360, 393, 394, 395, 396, 84, 79,
690	194, 195, 360, 360, 109, 397, 360, 360,
691	200, 360, 398, 394, 399, 399, 84, 79,
692	194, 195, 360, 360, 360, 397, 360, 360,
693	200, 360, 394, 399, 399, 84, 79, 194,
694	195, 360, 360, 360, 397, 360, 360, 200,
695	360, 98, 400, 360, 79, 194, 195, 360,
696	360, 360, 365, 360, 401, 401, 360, 79,
697	194, 195, 360, 360, 360, 365, 360, 402,
698	360, 360, 403, 194, 195, 360, 194, 195,
699	360, 404, 360, 194, 405, 360, 194, 406,
700	360, 194, 360, 402, 360, 360, 360, 194,
701	195, 360, 407, 360, 408, 409, 360, 79,
702	194, 195, 360, 360, 82, 360, 81, 360,
703	401, 401, 360, 79, 194, 195, 360, 401,
704	401, 360, 79, 194, 195, 360, 407, 360,
705	401, 401, 360, 79, 194, 195, 360, 407,
706	360, 408, 401, 360, 79, 194, 195, 360,
707	360, 82, 360, 98, 360, 410, 410, 84,
708	79, 194, 195, 360, 360, 360, 365, 360,
709	411, 107, 412, 413, 88, 79, 194, 195,
710	360, 360, 360, 365, 360, 107, 412, 413,
711	88, 79, 194, 195, 360, 360, 360, 365,
712	360, 412, 412, 88, 79, 194, 195, 360,
713	360, 360, 365, 360, 414, 104, 415, 416,
714	91, 79, 194, 195, 360, 360, 360, 365,
715	360, 104, 415, 416, 91, 79, 194, 195,
716	360, 360, 360, 365, 360, 415, 415, 91,
717	79, 194, 195, 360, 360, 360, 365, 360,
718	417, 101, 418, 419, 94, 79, 194, 195,
719	360, 360, 360, 365, 360, 101, 418, 419,
720	94, 79, 194, 195, 360, 360, 360, 365,
721	360, 418, 418, 94, 79, 194, 195, 360,
722	360, 360, 365, 360, 420, 98, 401, 421,
723	360, 79, 194, 195, 360, 360, 360, 365,
724	360, 98, 401, 421, 360, 79, 194, 195,
725	360, 360, 360, 365, 360, 401, 422, 360,
726	79, 194, 195, 360, 360, 360, 365, 360,
727	98, 360, 401, 401, 360, 79, 194, 195,
728	360, 360, 360, 365, 360, 80, 81, 360,
729	360, 98, 400, 360, 79, 194, 195, 360,
730	360, 360, 365, 360, 80, 360, 394, 399,
731	399, 84, 79, 194, 195, 360, 360, 360,
732	397, 360, 393, 394, 399, 399, 84, 79,
733	194, 195, 360, 360, 360, 397, 360, 360,
734	200, 360, 393, 394, 395, 399, 84, 79,
735	194, 195, 360, 360, 109, 397, 360, 360,
736	200, 360, 391, 360, 423, 360, 410, 410,
737	84, 79, 194, 195, 360, 360, 360, 365,
738	360, 391, 360, 391, 360, 360, 360, 401,
739	401, 360, 79, 194, 195, 360, 360, 360,
740	365, 360, 391, 360, 391, 360, 360, 360,
741	401, 424, 360, 79, 194, 195, 360, 360,
742	360, 365, 360, 391, 360, 391, 360, 423,
743	360, 401, 401, 360, 79, 194, 195, 360,
744	360, 360, 365, 360, 391, 360, 391, 81,
745	360, 360, 98, 392, 360, 79, 194, 195,
746	360, 360, 360, 365, 360, 391, 360, 384,
747	385, 390, 390, 84, 79, 194, 195, 360,
748	360, 360, 388, 360, 360, 200, 360, 384,
749	385, 386, 390, 84, 79, 194, 195, 360,
750	360, 111, 388, 360, 360, 200, 360, 382,
751	360, 425, 360, 410, 410, 84, 79, 194,
752	195, 360, 360, 360, 365, 360, 382, 360,
753	382, 360, 360, 360, 401, 401, 360, 79,
754	194, 195, 360, 360, 360, 365, 360, 382,
755	360, 382, 360, 360, 360, 401, 426, 360,
756	79, 194, 195, 360, 360, 360, 365, 360,
757	382, 360, 382, 360, 425, 360, 401, 401,
758	360, 79, 194, 195, 360, 360, 360, 365,
759	360, 382, 360, 382, 81, 360, 360, 98,
760	383, 360, 79, 194, 195, 360, 360, 360,
761	365, 360, 382, 360, 375, 376, 381, 381,
762	84, 79, 194, 195, 360, 360, 360, 379,
763	360, 360, 200, 360, 375, 376, 377, 381,
764	84, 79, 194, 195, 360, 360, 113, 379,
765	360, 360, 200, 360, 373, 360, 427, 360,
766	410, 410, 84, 79, 194, 195, 360, 360,
767	360, 365, 360, 373, 360, 373, 360, 360,
768	360, 401, 401, 360, 79, 194, 195, 360,
769	360, 360, 365, 360, 373, 360, 373, 360,
770	360, 360, 401, 428, 360, 79, 194, 195,
771	360, 360, 360, 365, 360, 373, 360, 373,
772	360, 427, 360, 401, 401, 360, 79, 194,
773	195, 360, 360, 360, 365, 360, 373, 360,
774	373, 81, 360, 360, 98, 374, 360, 79,
775	194, 195, 360, 360, 360, 365, 360, 373,
776	360, 366, 367, 372, 372, 84, 79, 194,
777	195, 360, 360, 360, 370, 360, 360, 200,
778	360, 366, 367, 368, 372, 84, 79, 194,
779	195, 360, 360, 115, 370, 360, 360, 200,
780	360, 363, 360, 429, 360, 410, 410, 84,
781	79, 194, 195, 360, 360, 360, 365, 360,
782	363, 360, 363, 360, 360, 360, 401, 401,
783	360, 79, 194, 195, 360, 360, 360, 365,
784	360, 363, 360, 363, 360, 360, 360, 401,
785	430, 360, 79, 194, 195, 360, 360, 360,
786	365, 360, 363, 360, 363, 360, 429, 360,
787	401, 401, 360, 79, 194, 195, 360, 360,
788	360, 365, 360, 363, 360, 363, 81, 360,
789	360, 98, 364, 360, 79, 194, 195, 360,
790	360, 360, 365, 360, 363, 360, 116, 83,
791	83, 84, 79, 431, 431, 431, 431, 156,
792	116, 431, 190, 191, 362, 362, 84, 79,
793	194, 195, 360, 360, 360, 197, 360, 360,
794	200, 360, 116, 83, 83, 84, 79, 431,
795	431, 431, 431, 431, 116, 431, 433, 434,
796	435, 436, 123, 118, 437, 438, 432, 432,
797	155, 439, 432, 432, 440, 432, 441, 434,
798	436, 436, 123, 118, 437, 438, 432, 432,
799	432, 439, 432, 432, 440, 432, 434, 436,
800	436, 123, 118, 437, 438, 432, 432, 432,
801	439, 432, 432, 440, 432, 442, 432, 432,
802	432, 136, 443, 432, 118, 437, 438, 432,
803	432, 432, 444, 432, 442, 432, 445, 446,
804	447, 448, 123, 118, 437, 438, 432, 432,
805	153, 449, 432, 432, 440, 432, 450, 446,
806	451, 451, 123, 118, 437, 438, 432, 432,
807	432, 449, 432, 432, 440, 432, 446, 451,
808	451, 123, 118, 437, 438, 432, 432, 432,
809	449, 432, 432, 440, 432, 452, 432, 432,
810	432, 136, 453, 432, 118, 437, 438, 432,
811	432, 432, 444, 432, 452, 432, 454, 455,
812	456, 457, 123, 118, 437, 438, 432, 432,
813	151, 458, 432, 432, 440, 432, 459, 455,
814	460, 460, 123, 118, 437, 438, 432, 432,
815	432, 458, 432, 432, 440, 432, 455, 460,
816	460, 123, 118, 437, 438, 432, 432, 432,
817	458, 432, 432, 440, 432, 461, 432, 432,
818	432, 136, 462, 432, 118, 437, 438, 432,
819	432, 432, 444, 432, 461, 432, 463, 464,
820	465, 466, 123, 118, 437, 438, 432, 432,
821	149, 467, 432, 432, 440, 432, 468, 464,
822	469, 469, 123, 118, 437, 438, 432, 432,
823	432, 467, 432, 432, 440, 432, 464, 469,
824	469, 123, 118, 437, 438, 432, 432, 432,
825	467, 432, 432, 440, 432, 470, 432, 432,
826	432, 136, 471, 432, 118, 437, 438, 432,
827	432, 432, 444, 432, 470, 432, 472, 473,
828	474, 475, 123, 118, 437, 438, 432, 432,
829	147, 476, 432, 432, 440, 432, 477, 473,
830	478, 478, 123, 118, 437, 438, 432, 432,
831	432, 476, 432, 432, 440, 432, 473, 478,
832	478, 123, 118, 437, 438, 432, 432, 432,
833	476, 432, 432, 440, 432, 136, 479, 432,
834	118, 437, 438, 432, 432, 432, 444, 432,
835	480, 480, 432, 118, 437, 438, 432, 432,
836	432, 444, 432, 481, 432, 432, 482, 437,
837	438, 432, 437, 438, 432, 483, 432, 437,
838	484, 432, 437, 485, 432, 437, 432, 481,
839	432, 432, 432, 437, 438, 432, 486, 432,
840	487, 488, 432, 118, 437, 438, 432, 432,
841	121, 432, 120, 432, 480, 480, 432, 118,
842	437, 438, 432, 480, 480, 432, 118, 437,
843	438, 432, 486, 432, 480, 480, 432, 118,
844	437, 438, 432, 486, 432, 487, 480, 432,
845	118, 437, 438, 432, 432, 121, 432, 136,
846	432, 489, 489, 123, 118, 437, 438, 432,
847	432, 432, 444, 432, 490, 145, 491, 492,
848	126, 118, 437, 438, 432, 432, 432, 444,
849	432, 145, 491, 492, 126, 118, 437, 438,
850	432, 432, 432, 444, 432, 491, 491, 126,
851	118, 437, 438, 432, 432, 432, 444, 432,
852	493, 142, 494, 495, 129, 118, 437, 438,
853	432, 432, 432, 444, 432, 142, 494, 495,
854	129, 118, 437, 438, 432, 432, 432, 444,
855	432, 494, 494, 129, 118, 437, 438, 432,
856	432, 432, 444, 432, 496, 139, 497, 498,
857	132, 118, 437, 438, 432, 432, 432, 444,
858	432, 139, 497, 498, 132, 118, 437, 438,
859	432, 432, 432, 444, 432, 497, 497, 132,
860	118, 437, 438, 432, 432, 432, 444, 432,
861	499, 136, 480, 500, 432, 118, 437, 438,
862	432, 432, 432, 444, 432, 136, 480, 500,
863	432, 118, 437, 438, 432, 432, 432, 444,
864	432, 480, 501, 432, 118, 437, 438, 432,
865	432, 432, 444, 432, 136, 432, 480, 480,
866	432, 118, 437, 438, 432, 432, 432, 444,
867	432, 119, 120, 432, 432, 136, 479, 432,
868	118, 437, 438, 432, 432, 432, 444, 432,
869	119, 432, 473, 478, 478, 123, 118, 437,
870	438, 432, 432, 432, 476, 432, 472, 473,
871	478, 478, 123, 118, 437, 438, 432, 432,
872	432, 476, 432, 432, 440, 432, 472, 473,
873	474, 478, 123, 118, 437, 438, 432, 432,
874	147, 476, 432, 432, 440, 432, 470, 432,
875	502, 432, 489, 489, 123, 118, 437, 438,
876	432, 432, 432, 444, 432, 470, 432, 470,
877	432, 432, 432, 480, 480, 432, 118, 437,
878	438, 432, 432, 432, 444, 432, 470, 432,
879	470, 432, 432, 432, 480, 503, 432, 118,
880	437, 438, 432, 432, 432, 444, 432, 470,
881	432, 470, 432, 502, 432, 480, 480, 432,
882	118, 437, 438, 432, 432, 432, 444, 432,
883	470, 432, 470, 120, 432, 432, 136, 471,
884	432, 118, 437, 438, 432, 432, 432, 444,
885	432, 470, 432, 463, 464, 469, 469, 123,
886	118, 437, 438, 432, 432, 432, 467, 432,
887	432, 440, 432, 463, 464, 465, 469, 123,
888	118, 437, 438, 432, 432, 149, 467, 432,
889	432, 440, 432, 461, 432, 504, 432, 489,
890	489, 123, 118, 437, 438, 432, 432, 432,
891	444, 432, 461, 432, 461, 432, 432, 432,
892	480, 480, 432, 118, 437, 438, 432, 432,
893	432, 444, 432, 461, 432, 461, 432, 432,
894	432, 480, 505, 432, 118, 437, 438, 432,
895	432, 432, 444, 432, 461, 432, 461, 432,
896	504, 432, 480, 480, 432, 118, 437, 438,
897	432, 432, 432, 444, 432, 461, 432, 461,
898	120, 432, 432, 136, 462, 432, 118, 437,
899	438, 432, 432, 432, 444, 432, 461, 432,
900	454, 455, 460, 460, 123, 118, 437, 438,
901	432, 432, 432, 458, 432, 432, 440, 432,
902	454, 455, 456, 460, 123, 118, 437, 438,
903	432, 432, 151, 458, 432, 432, 440, 432,
904	452, 432, 506, 432, 489, 489, 123, 118,
905	437, 438, 432, 432, 432, 444, 432, 452,
906	432, 452, 432, 432, 432, 480, 480, 432,
907	118, 437, 438, 432, 432, 432, 444, 432,
908	452, 432, 452, 432, 432, 432, 480, 507,
909	432, 118, 437, 438, 432, 432, 432, 444,
910	432, 452, 432, 452, 432, 506, 432, 480,
911	480, 432, 118, 437, 438, 432, 432, 432,
912	444, 432, 452, 432, 452, 120, 432, 432,
913	136, 453, 432, 118, 437, 438, 432, 432,
914	432, 444, 432, 452, 432, 445, 446, 451,
915	451, 123, 118, 437, 438, 432, 432, 432,
916	449, 432, 432, 440, 432, 445, 446, 447,
917	451, 123, 118, 437, 438, 432, 432, 153,
918	449, 432, 432, 440, 432, 442, 432, 508,
919	432, 489, 489, 123, 118, 437, 438, 432,
920	432, 432, 444, 432, 442, 432, 442, 432,
921	432, 432, 480, 480, 432, 118, 437, 438,
922	432, 432, 432, 444, 432, 442, 432, 442,
923	432, 432, 432, 480, 509, 432, 118, 437,
924	438, 432, 432, 432, 444, 432, 442, 432,
925	442, 432, 508, 432, 480, 480, 432, 118,
926	437, 438, 432, 432, 432, 444, 432, 442,
927	432, 442, 120, 432, 432, 136, 443, 432,
928	118, 437, 438, 432, 432, 432, 444, 432,
929	442, 432, 433, 434, 436, 436, 123, 118,
930	437, 438, 432, 432, 432, 439, 432, 432,
931	440, 432, 188, 189, 190, 191, 510, 362,
932	84, 79, 194, 195, 196, 196, 156, 197,
933	360, 188, 200, 360, 203, 511, 205, 206,
934	6, 1, 207, 208, 202, 202, 38, 209,
935	202, 202, 210, 202, 213, 189, 190, 191,
936	512, 513, 84, 157, 514, 515, 202, 196,
937	156, 516, 202, 213, 200, 202, 116, 517,
938	517, 84, 157, 207, 208, 202, 202, 156,
939	518, 202, 519, 202, 202, 520, 514, 515,
940	202, 514, 515, 202, 254, 202, 514, 521,
941	202, 514, 522, 202, 514, 202, 519, 202,
942	202, 202, 514, 515, 202, 523, 3, 360,
943	360, 401, 430, 360, 79, 194, 195, 360,
944	360, 360, 365, 360, 523, 360, 524, 367,
945	525, 526, 84, 157, 514, 515, 202, 202,
946	158, 370, 202, 202, 200, 202, 527, 367,
947	528, 528, 84, 157, 514, 515, 202, 202,
948	202, 370, 202, 202, 200, 202, 367, 528,
949	528, 84, 157, 514, 515, 202, 202, 202,
950	370, 202, 202, 200, 202, 524, 367, 528,
951	528, 84, 157, 514, 515, 202, 202, 202,
952	370, 202, 202, 200, 202, 524, 367, 525,
953	528, 84, 157, 514, 515, 202, 202, 158,
954	370, 202, 202, 200, 202, 213, 202, 279,
955	116, 529, 529, 160, 157, 207, 208, 202,
956	202, 202, 518, 202, 213, 202, 530, 184,
957	531, 532, 162, 157, 514, 515, 202, 202,
958	202, 533, 202, 184, 531, 532, 162, 157,
959	514, 515, 202, 202, 202, 533, 202, 531,
960	531, 162, 157, 514, 515, 202, 202, 202,
961	533, 202, 534, 181, 535, 536, 165, 157,
962	514, 515, 202, 202, 202, 533, 202, 181,
963	535, 536, 165, 157, 514, 515, 202, 202,
964	202, 533, 202, 535, 535, 165, 157, 514,
965	515, 202, 202, 202, 533, 202, 537, 178,
966	538, 539, 168, 157, 514, 515, 202, 202,
967	202, 533, 202, 178, 538, 539, 168, 157,
968	514, 515, 202, 202, 202, 533, 202, 538,
969	538, 168, 157, 514, 515, 202, 202, 202,
970	533, 202, 540, 175, 541, 542, 202, 157,
971	514, 515, 202, 202, 202, 533, 202, 175,
972	541, 542, 202, 157, 514, 515, 202, 202,
973	202, 533, 202, 541, 541, 202, 157, 514,
974	515, 202, 202, 202, 533, 202, 543, 202,
975	544, 545, 202, 157, 514, 515, 202, 202,
976	172, 202, 171, 202, 541, 541, 202, 157,
977	514, 515, 202, 541, 541, 202, 157, 514,
978	515, 202, 543, 202, 541, 541, 202, 157,
979	514, 515, 202, 543, 202, 544, 541, 202,
980	157, 514, 515, 202, 202, 172, 202, 523,
981	171, 360, 360, 98, 364, 360, 79, 194,
982	195, 360, 360, 360, 365, 360, 523, 360,
983	547, 546, 548, 548, 546, 186, 549, 550,
984	546, 548, 548, 546, 186, 549, 550, 546,
985	551, 546, 546, 552, 549, 550, 546, 549,
986	550, 546, 553, 546, 549, 554, 546, 549,
987	555, 546, 549, 546, 551, 546, 546, 546,
988	549, 550, 546, 0
989};
990
991static const short _indic_syllable_machine_trans_targs[] = {
992	178, 200, 207, 209, 210, 4, 213, 5,
993	7, 216, 8, 10, 219, 11, 13, 222,
994	14, 16, 17, 199, 19, 20, 221, 22,
995	23, 218, 25, 26, 215, 224, 228, 232,
996	235, 239, 242, 246, 249, 253, 256, 178,
997	279, 286, 288, 289, 41, 292, 42, 44,
998	295, 45, 47, 298, 48, 50, 301, 51,
999	53, 54, 278, 56, 57, 300, 59, 60,
1000	297, 62, 63, 294, 303, 307, 311, 314,
1001	318, 321, 325, 328, 332, 336, 178, 357,
1002	364, 366, 367, 78, 370, 178, 79, 81,
1003	373, 82, 84, 376, 85, 87, 379, 88,
1004	90, 91, 356, 93, 94, 378, 96, 97,
1005	375, 99, 100, 372, 381, 385, 389, 392,
1006	396, 399, 403, 406, 410, 178, 437, 444,
1007	446, 447, 114, 450, 115, 117, 453, 118,
1008	120, 456, 121, 123, 459, 124, 126, 127,
1009	436, 129, 130, 458, 132, 133, 455, 135,
1010	136, 452, 461, 465, 469, 472, 476, 479,
1011	483, 486, 490, 493, 414, 498, 509, 152,
1012	512, 154, 515, 155, 157, 518, 158, 160,
1013	521, 161, 524, 526, 527, 166, 167, 523,
1014	169, 170, 520, 172, 173, 517, 175, 176,
1015	514, 178, 532, 178, 179, 258, 337, 339,
1016	413, 415, 359, 360, 416, 412, 494, 495,
1017	384, 530, 178, 180, 182, 36, 257, 202,
1018	203, 255, 227, 181, 35, 183, 251, 1,
1019	184, 186, 34, 250, 248, 185, 33, 187,
1020	244, 188, 190, 32, 243, 241, 189, 31,
1021	191, 237, 192, 194, 30, 236, 234, 193,
1022	29, 195, 230, 196, 198, 28, 229, 226,
1023	197, 27, 212, 0, 201, 206, 178, 204,
1024	205, 208, 2, 211, 3, 214, 6, 24,
1025	217, 9, 21, 220, 12, 18, 223, 15,
1026	225, 231, 233, 238, 240, 245, 247, 252,
1027	254, 178, 259, 261, 73, 334, 281, 282,
1028	335, 306, 260, 72, 262, 330, 38, 263,
1029	265, 71, 329, 327, 264, 70, 266, 323,
1030	267, 269, 69, 322, 320, 268, 68, 270,
1031	316, 271, 273, 67, 315, 313, 272, 66,
1032	274, 309, 275, 277, 65, 308, 305, 276,
1033	64, 291, 37, 280, 285, 178, 283, 284,
1034	287, 39, 290, 40, 293, 43, 61, 296,
1035	46, 58, 299, 49, 55, 302, 52, 304,
1036	310, 312, 317, 319, 324, 326, 331, 333,
1037	178, 338, 109, 340, 408, 75, 341, 343,
1038	108, 407, 405, 342, 107, 344, 401, 345,
1039	347, 106, 400, 398, 346, 105, 348, 394,
1040	349, 351, 104, 393, 391, 350, 103, 352,
1041	387, 353, 355, 102, 386, 383, 354, 101,
1042	369, 74, 358, 363, 178, 361, 362, 365,
1043	76, 368, 77, 371, 80, 98, 374, 83,
1044	95, 377, 86, 92, 380, 89, 382, 388,
1045	390, 395, 397, 402, 404, 409, 411, 178,
1046	178, 417, 419, 146, 145, 439, 440, 492,
1047	464, 418, 420, 488, 111, 421, 423, 144,
1048	487, 485, 422, 143, 424, 481, 425, 427,
1049	142, 480, 478, 426, 141, 428, 474, 429,
1050	431, 140, 473, 471, 430, 139, 432, 467,
1051	433, 435, 138, 466, 463, 434, 137, 449,
1052	110, 438, 443, 178, 441, 442, 445, 112,
1053	448, 113, 451, 116, 134, 454, 119, 131,
1054	457, 122, 128, 460, 125, 462, 468, 470,
1055	475, 477, 482, 484, 489, 491, 147, 496,
1056	497, 511, 500, 501, 529, 148, 505, 499,
1057	504, 502, 503, 506, 507, 150, 510, 508,
1058	149, 151, 513, 153, 174, 163, 516, 156,
1059	171, 519, 159, 168, 522, 162, 165, 525,
1060	164, 528, 178, 531, 177, 534, 535, 533,
1061	538, 178, 536, 537
1062};
1063
1064static const char _indic_syllable_machine_trans_actions[] = {
1065	1, 0, 2, 2, 2, 0, 2, 0,
1066	0, 2, 0, 0, 2, 0, 0, 2,
1067	0, 0, 0, 2, 0, 0, 2, 0,
1068	0, 2, 0, 0, 2, 2, 2, 2,
1069	2, 2, 2, 2, 2, 2, 2, 3,
1070	0, 2, 2, 2, 0, 2, 0, 0,
1071	2, 0, 0, 2, 0, 0, 2, 0,
1072	0, 0, 2, 0, 0, 2, 0, 0,
1073	2, 0, 0, 2, 2, 2, 2, 2,
1074	2, 2, 2, 2, 2, 2, 4, 0,
1075	2, 2, 2, 0, 2, 5, 0, 0,
1076	2, 0, 0, 2, 0, 0, 2, 0,
1077	0, 0, 2, 0, 0, 2, 0, 0,
1078	2, 0, 0, 2, 2, 6, 2, 6,
1079	2, 6, 2, 6, 2, 7, 0, 2,
1080	2, 2, 0, 2, 0, 0, 2, 0,
1081	0, 2, 0, 0, 2, 0, 0, 0,
1082	2, 0, 0, 2, 0, 0, 2, 0,
1083	0, 2, 2, 2, 2, 2, 2, 2,
1084	2, 2, 2, 2, 6, 0, 8, 0,
1085	2, 0, 2, 0, 0, 2, 0, 0,
1086	2, 0, 2, 2, 2, 0, 0, 2,
1087	0, 0, 2, 0, 0, 2, 0, 0,
1088	2, 9, 0, 12, 2, 2, 6, 2,
1089	13, 13, 0, 0, 2, 2, 6, 2,
1090	6, 2, 14, 2, 2, 0, 2, 0,
1091	0, 2, 2, 2, 0, 2, 2, 0,
1092	2, 2, 0, 2, 2, 2, 0, 2,
1093	2, 2, 2, 0, 2, 2, 2, 0,
1094	2, 2, 2, 2, 0, 2, 2, 2,
1095	0, 2, 2, 2, 2, 0, 2, 2,
1096	2, 0, 2, 0, 0, 0, 15, 0,
1097	0, 2, 0, 2, 0, 2, 0, 0,
1098	2, 0, 0, 2, 0, 0, 2, 0,
1099	2, 2, 2, 2, 2, 2, 2, 2,
1100	2, 16, 2, 2, 0, 2, 0, 0,
1101	2, 2, 2, 0, 2, 2, 0, 2,
1102	2, 0, 2, 2, 2, 0, 2, 2,
1103	2, 2, 0, 2, 2, 2, 0, 2,
1104	2, 2, 2, 0, 2, 2, 2, 0,
1105	2, 2, 2, 2, 0, 2, 2, 2,
1106	0, 2, 0, 0, 0, 17, 0, 0,
1107	2, 0, 2, 0, 2, 0, 0, 2,
1108	0, 0, 2, 0, 0, 2, 0, 2,
1109	2, 2, 2, 2, 2, 2, 2, 2,
1110	18, 6, 0, 6, 6, 0, 6, 2,
1111	0, 6, 2, 6, 0, 6, 6, 6,
1112	2, 0, 6, 2, 6, 0, 6, 6,
1113	6, 2, 0, 6, 2, 6, 0, 6,
1114	6, 6, 2, 0, 6, 2, 6, 0,
1115	6, 0, 0, 0, 19, 0, 0, 2,
1116	0, 2, 0, 2, 0, 0, 2, 0,
1117	0, 2, 0, 0, 2, 0, 2, 2,
1118	2, 2, 2, 2, 2, 2, 2, 20,
1119	21, 2, 2, 0, 0, 0, 0, 2,
1120	2, 2, 2, 2, 0, 2, 2, 0,
1121	2, 2, 2, 0, 2, 2, 2, 2,
1122	0, 2, 2, 2, 0, 2, 2, 2,
1123	2, 0, 2, 2, 2, 0, 2, 2,
1124	2, 2, 0, 2, 2, 2, 0, 2,
1125	0, 0, 0, 22, 0, 0, 2, 0,
1126	2, 0, 2, 0, 0, 2, 0, 0,
1127	2, 0, 0, 2, 0, 2, 2, 2,
1128	2, 2, 2, 2, 2, 2, 0, 0,
1129	8, 2, 0, 0, 2, 0, 2, 0,
1130	0, 0, 0, 8, 8, 0, 8, 8,
1131	0, 0, 2, 0, 0, 0, 2, 0,
1132	0, 2, 0, 0, 2, 0, 0, 2,
1133	0, 2, 23, 2, 0, 0, 0, 0,
1134	0, 24, 0, 0
1135};
1136
1137static const char _indic_syllable_machine_to_state_actions[] = {
1138	0, 0, 0, 0, 0, 0, 0, 0,
1139	0, 0, 0, 0, 0, 0, 0, 0,
1140	0, 0, 0, 0, 0, 0, 0, 0,
1141	0, 0, 0, 0, 0, 0, 0, 0,
1142	0, 0, 0, 0, 0, 0, 0, 0,
1143	0, 0, 0, 0, 0, 0, 0, 0,
1144	0, 0, 0, 0, 0, 0, 0, 0,
1145	0, 0, 0, 0, 0, 0, 0, 0,
1146	0, 0, 0, 0, 0, 0, 0, 0,
1147	0, 0, 0, 0, 0, 0, 0, 0,
1148	0, 0, 0, 0, 0, 0, 0, 0,
1149	0, 0, 0, 0, 0, 0, 0, 0,
1150	0, 0, 0, 0, 0, 0, 0, 0,
1151	0, 0, 0, 0, 0, 0, 0, 0,
1152	0, 0, 0, 0, 0, 0, 0, 0,
1153	0, 0, 0, 0, 0, 0, 0, 0,
1154	0, 0, 0, 0, 0, 0, 0, 0,
1155	0, 0, 0, 0, 0, 0, 0, 0,
1156	0, 0, 0, 0, 0, 0, 0, 0,
1157	0, 0, 0, 0, 0, 0, 0, 0,
1158	0, 0, 0, 0, 0, 0, 0, 0,
1159	0, 0, 0, 0, 0, 0, 0, 0,
1160	0, 0, 10, 0, 0, 0, 0, 0,
1161	0, 0, 0, 0, 0, 0, 0, 0,
1162	0, 0, 0, 0, 0, 0, 0, 0,
1163	0, 0, 0, 0, 0, 0, 0, 0,
1164	0, 0, 0, 0, 0, 0, 0, 0,
1165	0, 0, 0, 0, 0, 0, 0, 0,
1166	0, 0, 0, 0, 0, 0, 0, 0,
1167	0, 0, 0, 0, 0, 0, 0, 0,
1168	0, 0, 0, 0, 0, 0, 0, 0,
1169	0, 0, 0, 0, 0, 0, 0, 0,
1170	0, 0, 0, 0, 0, 0, 0, 0,
1171	0, 0, 0, 0, 0, 0, 0, 0,
1172	0, 0, 0, 0, 0, 0, 0, 0,
1173	0, 0, 0, 0, 0, 0, 0, 0,
1174	0, 0, 0, 0, 0, 0, 0, 0,
1175	0, 0, 0, 0, 0, 0, 0, 0,
1176	0, 0, 0, 0, 0, 0, 0, 0,
1177	0, 0, 0, 0, 0, 0, 0, 0,
1178	0, 0, 0, 0, 0, 0, 0, 0,
1179	0, 0, 0, 0, 0, 0, 0, 0,
1180	0, 0, 0, 0, 0, 0, 0, 0,
1181	0, 0, 0, 0, 0, 0, 0, 0,
1182	0, 0, 0, 0, 0, 0, 0, 0,
1183	0, 0, 0, 0, 0, 0, 0, 0,
1184	0, 0, 0, 0, 0, 0, 0, 0,
1185	0, 0, 0, 0, 0, 0, 0, 0,
1186	0, 0, 0, 0, 0, 0, 0, 0,
1187	0, 0, 0, 0, 0, 0, 0, 0,
1188	0, 0, 0, 0, 0, 0, 0, 0,
1189	0, 0, 0, 0, 0, 0, 0, 0,
1190	0, 0, 0, 0, 0, 0, 0, 0,
1191	0, 0, 0, 0, 0, 0, 0, 0,
1192	0, 0, 0, 0, 0, 0, 0, 0,
1193	0, 0, 0, 0, 0, 0, 0, 0,
1194	0, 0, 0, 0, 0, 0, 0, 0,
1195	0, 0, 0, 0, 0, 0, 0, 0,
1196	0, 0, 0, 0, 0, 0, 0, 0,
1197	0, 0, 0, 0, 0, 0, 0, 0,
1198	0, 0, 0, 0, 0, 0, 0, 0,
1199	0, 0, 0, 0, 0, 0, 0, 0,
1200	0, 0, 0, 0, 0, 0, 0, 0,
1201	0, 0, 0, 0, 0, 0, 0, 0,
1202	0, 0, 0, 0, 0, 0, 0, 0,
1203	0, 0, 0, 0, 0, 0, 0, 0,
1204	0, 0, 0, 0, 0, 0, 0, 0,
1205	0, 0, 0
1206};
1207
1208static const char _indic_syllable_machine_from_state_actions[] = {
1209	0, 0, 0, 0, 0, 0, 0, 0,
1210	0, 0, 0, 0, 0, 0, 0, 0,
1211	0, 0, 0, 0, 0, 0, 0, 0,
1212	0, 0, 0, 0, 0, 0, 0, 0,
1213	0, 0, 0, 0, 0, 0, 0, 0,
1214	0, 0, 0, 0, 0, 0, 0, 0,
1215	0, 0, 0, 0, 0, 0, 0, 0,
1216	0, 0, 0, 0, 0, 0, 0, 0,
1217	0, 0, 0, 0, 0, 0, 0, 0,
1218	0, 0, 0, 0, 0, 0, 0, 0,
1219	0, 0, 0, 0, 0, 0, 0, 0,
1220	0, 0, 0, 0, 0, 0, 0, 0,
1221	0, 0, 0, 0, 0, 0, 0, 0,
1222	0, 0, 0, 0, 0, 0, 0, 0,
1223	0, 0, 0, 0, 0, 0, 0, 0,
1224	0, 0, 0, 0, 0, 0, 0, 0,
1225	0, 0, 0, 0, 0, 0, 0, 0,
1226	0, 0, 0, 0, 0, 0, 0, 0,
1227	0, 0, 0, 0, 0, 0, 0, 0,
1228	0, 0, 0, 0, 0, 0, 0, 0,
1229	0, 0, 0, 0, 0, 0, 0, 0,
1230	0, 0, 0, 0, 0, 0, 0, 0,
1231	0, 0, 11, 0, 0, 0, 0, 0,
1232	0, 0, 0, 0, 0, 0, 0, 0,
1233	0, 0, 0, 0, 0, 0, 0, 0,
1234	0, 0, 0, 0, 0, 0, 0, 0,
1235	0, 0, 0, 0, 0, 0, 0, 0,
1236	0, 0, 0, 0, 0, 0, 0, 0,
1237	0, 0, 0, 0, 0, 0, 0, 0,
1238	0, 0, 0, 0, 0, 0, 0, 0,
1239	0, 0, 0, 0, 0, 0, 0, 0,
1240	0, 0, 0, 0, 0, 0, 0, 0,
1241	0, 0, 0, 0, 0, 0, 0, 0,
1242	0, 0, 0, 0, 0, 0, 0, 0,
1243	0, 0, 0, 0, 0, 0, 0, 0,
1244	0, 0, 0, 0, 0, 0, 0, 0,
1245	0, 0, 0, 0, 0, 0, 0, 0,
1246	0, 0, 0, 0, 0, 0, 0, 0,
1247	0, 0, 0, 0, 0, 0, 0, 0,
1248	0, 0, 0, 0, 0, 0, 0, 0,
1249	0, 0, 0, 0, 0, 0, 0, 0,
1250	0, 0, 0, 0, 0, 0, 0, 0,
1251	0, 0, 0, 0, 0, 0, 0, 0,
1252	0, 0, 0, 0, 0, 0, 0, 0,
1253	0, 0, 0, 0, 0, 0, 0, 0,
1254	0, 0, 0, 0, 0, 0, 0, 0,
1255	0, 0, 0, 0, 0, 0, 0, 0,
1256	0, 0, 0, 0, 0, 0, 0, 0,
1257	0, 0, 0, 0, 0, 0, 0, 0,
1258	0, 0, 0, 0, 0, 0, 0, 0,
1259	0, 0, 0, 0, 0, 0, 0, 0,
1260	0, 0, 0, 0, 0, 0, 0, 0,
1261	0, 0, 0, 0, 0, 0, 0, 0,
1262	0, 0, 0, 0, 0, 0, 0, 0,
1263	0, 0, 0, 0, 0, 0, 0, 0,
1264	0, 0, 0, 0, 0, 0, 0, 0,
1265	0, 0, 0, 0, 0, 0, 0, 0,
1266	0, 0, 0, 0, 0, 0, 0, 0,
1267	0, 0, 0, 0, 0, 0, 0, 0,
1268	0, 0, 0, 0, 0, 0, 0, 0,
1269	0, 0, 0, 0, 0, 0, 0, 0,
1270	0, 0, 0, 0, 0, 0, 0, 0,
1271	0, 0, 0, 0, 0, 0, 0, 0,
1272	0, 0, 0, 0, 0, 0, 0, 0,
1273	0, 0, 0, 0, 0, 0, 0, 0,
1274	0, 0, 0, 0, 0, 0, 0, 0,
1275	0, 0, 0, 0, 0, 0, 0, 0,
1276	0, 0, 0
1277};
1278
1279static const short _indic_syllable_machine_eof_trans[] = {
1280	1, 1, 1, 1, 1, 1, 1, 1,
1281	1, 1, 1, 1, 1, 1, 1, 1,
1282	1, 1, 1, 1, 1, 1, 1, 1,
1283	1, 1, 1, 1, 1, 1, 1, 1,
1284	1, 1, 1, 1, 1, 40, 40, 40,
1285	40, 40, 40, 40, 40, 40, 40, 40,
1286	40, 40, 40, 40, 40, 40, 40, 40,
1287	40, 40, 40, 40, 40, 40, 40, 40,
1288	40, 40, 40, 40, 40, 40, 40, 40,
1289	40, 40, 79, 79, 79, 79, 86, 86,
1290	79, 79, 79, 79, 79, 79, 79, 79,
1291	79, 79, 79, 79, 79, 79, 79, 79,
1292	79, 79, 79, 79, 79, 79, 79, 79,
1293	79, 79, 79, 79, 79, 79, 118, 118,
1294	118, 118, 118, 118, 118, 118, 118, 118,
1295	118, 118, 118, 118, 118, 118, 118, 118,
1296	118, 118, 118, 118, 118, 118, 118, 118,
1297	118, 118, 118, 118, 118, 118, 118, 118,
1298	118, 118, 118, 79, 1, 1, 1, 1,
1299	1, 1, 1, 1, 1, 1, 1, 1,
1300	1, 1, 1, 1, 1, 1, 1, 1,
1301	1, 1, 1, 1, 1, 1, 1, 1,
1302	1, 186, 0, 203, 203, 203, 203, 203,
1303	203, 203, 203, 203, 203, 203, 203, 203,
1304	203, 203, 203, 203, 203, 203, 203, 203,
1305	203, 203, 203, 203, 203, 203, 203, 203,
1306	203, 203, 203, 203, 203, 203, 203, 203,
1307	203, 203, 203, 203, 203, 203, 203, 203,
1308	203, 203, 203, 203, 203, 203, 203, 203,
1309	203, 203, 203, 203, 203, 203, 203, 203,
1310	203, 203, 203, 203, 203, 203, 203, 203,
1311	203, 203, 203, 203, 203, 203, 203, 203,
1312	203, 203, 282, 282, 282, 282, 282, 282,
1313	282, 282, 282, 282, 282, 282, 282, 282,
1314	282, 282, 282, 282, 282, 282, 282, 282,
1315	282, 282, 282, 282, 282, 282, 282, 282,
1316	282, 282, 282, 282, 282, 282, 282, 282,
1317	282, 282, 282, 282, 282, 282, 282, 282,
1318	282, 282, 282, 282, 282, 282, 282, 282,
1319	282, 282, 282, 282, 282, 282, 282, 282,
1320	282, 282, 282, 282, 282, 282, 282, 282,
1321	282, 282, 282, 282, 282, 282, 282, 282,
1322	282, 361, 361, 361, 361, 361, 361, 361,
1323	361, 361, 361, 361, 361, 361, 361, 361,
1324	361, 361, 361, 361, 361, 361, 361, 361,
1325	361, 361, 361, 361, 361, 361, 361, 361,
1326	361, 361, 361, 361, 361, 361, 361, 361,
1327	361, 361, 361, 361, 361, 361, 361, 361,
1328	361, 361, 361, 361, 361, 361, 361, 361,
1329	361, 361, 361, 361, 361, 361, 361, 361,
1330	361, 361, 361, 361, 361, 361, 361, 361,
1331	361, 361, 361, 361, 361, 432, 361, 432,
1332	433, 433, 433, 433, 433, 433, 433, 433,
1333	433, 433, 433, 433, 433, 433, 433, 433,
1334	433, 433, 433, 433, 433, 433, 433, 433,
1335	433, 433, 433, 433, 433, 433, 433, 433,
1336	433, 433, 433, 433, 433, 433, 433, 433,
1337	433, 433, 433, 433, 433, 433, 433, 433,
1338	433, 433, 433, 433, 433, 433, 433, 433,
1339	433, 433, 433, 433, 433, 433, 433, 433,
1340	433, 433, 433, 433, 433, 433, 433, 433,
1341	433, 433, 433, 433, 433, 433, 361, 203,
1342	203, 203, 203, 203, 203, 203, 203, 203,
1343	203, 361, 203, 203, 203, 203, 203, 203,
1344	203, 203, 203, 203, 203, 203, 203, 203,
1345	203, 203, 203, 203, 203, 203, 203, 203,
1346	203, 361, 547, 547, 547, 547, 547, 547,
1347	547, 547, 547
1348};
1349
1350static const int indic_syllable_machine_start = 178;
1351static const int indic_syllable_machine_first_final = 178;
1352static const int indic_syllable_machine_error = -1;
1353
1354static const int indic_syllable_machine_en_main = 178;
1355
1356
1357#line 36 "hb-ot-shape-complex-indic-machine.rl"
1358
1359
1360
1361#line 96 "hb-ot-shape-complex-indic-machine.rl"
1362
1363
1364#define found_syllable(syllable_type) \
1365  HB_STMT_START { \
1366    if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1367    for (unsigned int i = last; i < p+1; i++) \
1368      info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1369    last = p+1; \
1370    syllable_serial++; \
1371    if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1372  } HB_STMT_END
1373
1374static void
1375find_syllables (hb_buffer_t *buffer)
1376{
1377  unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
1378  int cs;
1379  hb_glyph_info_t *info = buffer->info;
1380
1381#line 1382 "hb-ot-shape-complex-indic-machine.hh"
1382	{
1383	cs = indic_syllable_machine_start;
1384	ts = 0;
1385	te = 0;
1386	act = 0;
1387	}
1388
1389#line 117 "hb-ot-shape-complex-indic-machine.rl"
1390
1391
1392  p = 0;
1393  pe = eof = buffer->len;
1394
1395  unsigned int last = 0;
1396  unsigned int syllable_serial = 1;
1397
1398#line 1399 "hb-ot-shape-complex-indic-machine.hh"
1399	{
1400	int _slen;
1401	int _trans;
1402	const unsigned char *_keys;
1403	const short *_inds;
1404	if ( p == pe )
1405		goto _test_eof;
1406_resume:
1407	switch ( _indic_syllable_machine_from_state_actions[cs] ) {
1408	case 11:
1409#line 1 "NONE"
1410	{ts = p;}
1411	break;
1412#line 1413 "hb-ot-shape-complex-indic-machine.hh"
1413	}
1414
1415	_keys = _indic_syllable_machine_trans_keys + (cs<<1);
1416	_inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
1417
1418	_slen = _indic_syllable_machine_key_spans[cs];
1419	_trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
1420		( info[p].indic_category()) <= _keys[1] ?
1421		( info[p].indic_category()) - _keys[0] : _slen ];
1422
1423_eof_trans:
1424	cs = _indic_syllable_machine_trans_targs[_trans];
1425
1426	if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
1427		goto _again;
1428
1429	switch ( _indic_syllable_machine_trans_actions[_trans] ) {
1430	case 2:
1431#line 1 "NONE"
1432	{te = p+1;}
1433	break;
1434	case 15:
1435#line 87 "hb-ot-shape-complex-indic-machine.rl"
1436	{te = p+1;{ found_syllable (consonant_syllable); }}
1437	break;
1438	case 17:
1439#line 88 "hb-ot-shape-complex-indic-machine.rl"
1440	{te = p+1;{ found_syllable (vowel_syllable); }}
1441	break;
1442	case 22:
1443#line 89 "hb-ot-shape-complex-indic-machine.rl"
1444	{te = p+1;{ found_syllable (standalone_cluster); }}
1445	break;
1446	case 24:
1447#line 90 "hb-ot-shape-complex-indic-machine.rl"
1448	{te = p+1;{ found_syllable (symbol_cluster); }}
1449	break;
1450	case 19:
1451#line 91 "hb-ot-shape-complex-indic-machine.rl"
1452	{te = p+1;{ found_syllable (broken_cluster); }}
1453	break;
1454	case 12:
1455#line 92 "hb-ot-shape-complex-indic-machine.rl"
1456	{te = p+1;{ found_syllable (non_indic_cluster); }}
1457	break;
1458	case 14:
1459#line 87 "hb-ot-shape-complex-indic-machine.rl"
1460	{te = p;p--;{ found_syllable (consonant_syllable); }}
1461	break;
1462	case 16:
1463#line 88 "hb-ot-shape-complex-indic-machine.rl"
1464	{te = p;p--;{ found_syllable (vowel_syllable); }}
1465	break;
1466	case 21:
1467#line 89 "hb-ot-shape-complex-indic-machine.rl"
1468	{te = p;p--;{ found_syllable (standalone_cluster); }}
1469	break;
1470	case 23:
1471#line 90 "hb-ot-shape-complex-indic-machine.rl"
1472	{te = p;p--;{ found_syllable (symbol_cluster); }}
1473	break;
1474	case 18:
1475#line 91 "hb-ot-shape-complex-indic-machine.rl"
1476	{te = p;p--;{ found_syllable (broken_cluster); }}
1477	break;
1478	case 20:
1479#line 92 "hb-ot-shape-complex-indic-machine.rl"
1480	{te = p;p--;{ found_syllable (non_indic_cluster); }}
1481	break;
1482	case 1:
1483#line 87 "hb-ot-shape-complex-indic-machine.rl"
1484	{{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
1485	break;
1486	case 3:
1487#line 88 "hb-ot-shape-complex-indic-machine.rl"
1488	{{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
1489	break;
1490	case 7:
1491#line 89 "hb-ot-shape-complex-indic-machine.rl"
1492	{{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
1493	break;
1494	case 9:
1495#line 90 "hb-ot-shape-complex-indic-machine.rl"
1496	{{p = ((te))-1;}{ found_syllable (symbol_cluster); }}
1497	break;
1498	case 4:
1499#line 91 "hb-ot-shape-complex-indic-machine.rl"
1500	{{p = ((te))-1;}{ found_syllable (broken_cluster); }}
1501	break;
1502	case 5:
1503#line 1 "NONE"
1504	{	switch( act ) {
1505	case 1:
1506	{{p = ((te))-1;} found_syllable (consonant_syllable); }
1507	break;
1508	case 5:
1509	{{p = ((te))-1;} found_syllable (broken_cluster); }
1510	break;
1511	case 6:
1512	{{p = ((te))-1;} found_syllable (non_indic_cluster); }
1513	break;
1514	}
1515	}
1516	break;
1517	case 8:
1518#line 1 "NONE"
1519	{te = p+1;}
1520#line 87 "hb-ot-shape-complex-indic-machine.rl"
1521	{act = 1;}
1522	break;
1523	case 6:
1524#line 1 "NONE"
1525	{te = p+1;}
1526#line 91 "hb-ot-shape-complex-indic-machine.rl"
1527	{act = 5;}
1528	break;
1529	case 13:
1530#line 1 "NONE"
1531	{te = p+1;}
1532#line 92 "hb-ot-shape-complex-indic-machine.rl"
1533	{act = 6;}
1534	break;
1535#line 1536 "hb-ot-shape-complex-indic-machine.hh"
1536	}
1537
1538_again:
1539	switch ( _indic_syllable_machine_to_state_actions[cs] ) {
1540	case 10:
1541#line 1 "NONE"
1542	{ts = 0;}
1543	break;
1544#line 1545 "hb-ot-shape-complex-indic-machine.hh"
1545	}
1546
1547	if ( ++p != pe )
1548		goto _resume;
1549	_test_eof: {}
1550	if ( p == eof )
1551	{
1552	if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
1553		_trans = _indic_syllable_machine_eof_trans[cs] - 1;
1554		goto _eof_trans;
1555	}
1556	}
1557
1558	}
1559
1560#line 126 "hb-ot-shape-complex-indic-machine.rl"
1561
1562}
1563
1564#endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */
1565