2 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
4 * Copyright © 2011,2012 Google, Inc.
6 * This is part of HarfBuzz, a text shaping library.
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.
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
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.
26 * Google Author(s): Behdad Esfahbod
29 #ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
30 #define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
32 #include "hb-private.hh"
35 #line 36 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
36 static 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, 1u, 16u,
55 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u,
56 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u,
57 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 8u, 14u, 5u, 9u, 9u, 9u, 9u, 9u,
58 3u, 13u, 3u, 9u, 8u, 9u, 3u, 9u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u,
59 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
60 4u, 14u, 6u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u,
61 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u,
62 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u,
63 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
64 1u, 16u, 3u, 14u, 3u, 14u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u,
65 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u,
66 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 8u, 14u,
67 5u, 9u, 9u, 9u, 9u, 9u, 3u, 13u, 3u, 9u, 8u, 9u, 3u, 9u, 3u, 13u,
68 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
69 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 6u, 14u, 3u, 14u, 1u, 16u, 3u, 14u,
70 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u,
71 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u,
72 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u,
73 1u, 16u, 1u, 16u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u,
74 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u,
75 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
76 8u, 14u, 5u, 9u, 9u, 9u, 9u, 9u, 3u, 13u, 3u, 9u, 8u, 9u, 3u, 9u,
77 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
78 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 6u, 14u, 3u, 14u, 1u, 16u,
79 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u,
80 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u,
81 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u,
82 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 3u, 14u, 4u, 14u, 3u, 14u,
83 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u,
84 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u,
85 3u, 14u, 4u, 14u, 5u, 14u, 8u, 14u, 5u, 9u, 9u, 9u, 9u, 9u, 3u, 13u,
86 3u, 9u, 8u, 9u, 3u, 9u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
87 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
88 6u, 14u, 3u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u,
89 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
90 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
91 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u,
92 1u, 16u, 3u, 14u, 1u, 16u, 0
95 static const char _indic_syllable_machine_key_spans
[] = {
96 16, 1, 3, 3, 1, 3, 3, 1,
97 3, 3, 1, 3, 3, 1, 1, 1,
98 1, 4, 1, 1, 4, 1, 1, 4,
99 1, 1, 11, 11, 11, 11, 11, 11,
100 11, 11, 11, 11, 16, 1, 3, 3,
101 1, 3, 3, 1, 3, 3, 1, 3,
102 3, 1, 1, 1, 1, 4, 1, 1,
103 4, 1, 1, 4, 1, 1, 11, 11,
104 11, 11, 11, 11, 11, 11, 11, 11,
105 16, 1, 3, 3, 1, 3, 3, 1,
106 3, 3, 1, 3, 3, 1, 1, 1,
107 1, 4, 1, 1, 4, 1, 1, 4,
108 1, 1, 11, 11, 11, 11, 11, 11,
109 11, 11, 11, 16, 1, 3, 3, 1,
110 3, 3, 1, 3, 3, 1, 3, 3,
111 1, 1, 1, 1, 4, 1, 1, 4,
112 1, 1, 4, 1, 1, 11, 11, 11,
113 11, 11, 11, 11, 11, 11, 11, 16,
114 12, 12, 11, 16, 12, 12, 11, 16,
115 12, 12, 11, 16, 12, 12, 11, 16,
116 12, 12, 11, 10, 7, 5, 1, 1,
117 11, 7, 2, 7, 11, 12, 12, 11,
118 10, 12, 11, 10, 12, 11, 10, 12,
119 11, 9, 12, 11, 16, 12, 12, 16,
120 16, 16, 16, 16, 12, 12, 16, 16,
121 16, 16, 16, 12, 12, 16, 16, 16,
122 16, 16, 12, 12, 16, 16, 16, 16,
123 16, 12, 12, 12, 12, 11, 16, 12,
124 12, 11, 16, 12, 12, 11, 16, 12,
125 12, 11, 16, 12, 12, 11, 10, 7,
126 5, 1, 1, 11, 7, 2, 7, 11,
127 12, 12, 11, 10, 12, 11, 10, 12,
128 11, 10, 12, 11, 9, 12, 16, 12,
129 12, 16, 16, 16, 16, 16, 12, 12,
130 16, 16, 16, 16, 16, 12, 12, 16,
131 16, 16, 16, 16, 12, 12, 16, 16,
132 16, 16, 11, 16, 12, 12, 11, 16,
133 12, 12, 11, 16, 12, 12, 11, 16,
134 12, 12, 11, 16, 12, 12, 11, 10,
135 7, 5, 1, 1, 11, 7, 2, 7,
136 11, 12, 12, 11, 10, 12, 11, 10,
137 12, 11, 10, 12, 11, 9, 12, 16,
138 12, 12, 16, 16, 16, 16, 16, 12,
139 12, 16, 16, 16, 16, 16, 12, 12,
140 16, 16, 16, 16, 16, 12, 12, 16,
141 16, 16, 16, 16, 11, 12, 11, 12,
142 12, 11, 16, 12, 12, 11, 16, 12,
143 12, 11, 16, 12, 12, 11, 16, 12,
144 12, 11, 10, 7, 5, 1, 1, 11,
145 7, 2, 7, 11, 12, 12, 11, 10,
146 12, 11, 10, 12, 11, 10, 12, 11,
147 9, 12, 16, 12, 12, 16, 16, 16,
148 16, 16, 12, 12, 16, 16, 16, 16,
149 16, 12, 12, 16, 16, 16, 16, 16,
150 12, 12, 16, 16, 16, 16, 16, 12,
154 static const short _indic_syllable_machine_index_offsets
[] = {
155 0, 17, 19, 23, 27, 29, 33, 37,
156 39, 43, 47, 49, 53, 57, 59, 61,
157 63, 65, 70, 72, 74, 79, 81, 83,
158 88, 90, 92, 104, 116, 128, 140, 152,
159 164, 176, 188, 200, 212, 229, 231, 235,
160 239, 241, 245, 249, 251, 255, 259, 261,
161 265, 269, 271, 273, 275, 277, 282, 284,
162 286, 291, 293, 295, 300, 302, 304, 316,
163 328, 340, 352, 364, 376, 388, 400, 412,
164 424, 441, 443, 447, 451, 453, 457, 461,
165 463, 467, 471, 473, 477, 481, 483, 485,
166 487, 489, 494, 496, 498, 503, 505, 507,
167 512, 514, 516, 528, 540, 552, 564, 576,
168 588, 600, 612, 624, 641, 643, 647, 651,
169 653, 657, 661, 663, 667, 671, 673, 677,
170 681, 683, 685, 687, 689, 694, 696, 698,
171 703, 705, 707, 712, 714, 716, 728, 740,
172 752, 764, 776, 788, 800, 812, 824, 836,
173 853, 866, 879, 891, 908, 921, 934, 946,
174 963, 976, 989, 1001, 1018, 1031, 1044, 1056,
175 1073, 1086, 1099, 1111, 1122, 1130, 1136, 1138,
176 1140, 1152, 1160, 1163, 1171, 1183, 1196, 1209,
177 1221, 1232, 1245, 1257, 1268, 1281, 1293, 1304,
178 1317, 1329, 1339, 1352, 1364, 1381, 1394, 1407,
179 1424, 1441, 1458, 1475, 1492, 1505, 1518, 1535,
180 1552, 1569, 1586, 1603, 1616, 1629, 1646, 1663,
181 1680, 1697, 1714, 1727, 1740, 1757, 1774, 1791,
182 1808, 1825, 1838, 1851, 1864, 1877, 1889, 1906,
183 1919, 1932, 1944, 1961, 1974, 1987, 1999, 2016,
184 2029, 2042, 2054, 2071, 2084, 2097, 2109, 2120,
185 2128, 2134, 2136, 2138, 2150, 2158, 2161, 2169,
186 2181, 2194, 2207, 2219, 2230, 2243, 2255, 2266,
187 2279, 2291, 2302, 2315, 2327, 2337, 2350, 2367,
188 2380, 2393, 2410, 2427, 2444, 2461, 2478, 2491,
189 2504, 2521, 2538, 2555, 2572, 2589, 2602, 2615,
190 2632, 2649, 2666, 2683, 2700, 2713, 2726, 2743,
191 2760, 2777, 2794, 2806, 2823, 2836, 2849, 2861,
192 2878, 2891, 2904, 2916, 2933, 2946, 2959, 2971,
193 2988, 3001, 3014, 3026, 3043, 3056, 3069, 3081,
194 3092, 3100, 3106, 3108, 3110, 3122, 3130, 3133,
195 3141, 3153, 3166, 3179, 3191, 3202, 3215, 3227,
196 3238, 3251, 3263, 3274, 3287, 3299, 3309, 3322,
197 3339, 3352, 3365, 3382, 3399, 3416, 3433, 3450,
198 3463, 3476, 3493, 3510, 3527, 3544, 3561, 3574,
199 3587, 3604, 3621, 3638, 3655, 3672, 3685, 3698,
200 3715, 3732, 3749, 3766, 3783, 3795, 3808, 3820,
201 3833, 3846, 3858, 3875, 3888, 3901, 3913, 3930,
202 3943, 3956, 3968, 3985, 3998, 4011, 4023, 4040,
203 4053, 4066, 4078, 4089, 4097, 4103, 4105, 4107,
204 4119, 4127, 4130, 4138, 4150, 4163, 4176, 4188,
205 4199, 4212, 4224, 4235, 4248, 4260, 4271, 4284,
206 4296, 4306, 4319, 4336, 4349, 4362, 4379, 4396,
207 4413, 4430, 4447, 4460, 4473, 4490, 4507, 4524,
208 4541, 4558, 4571, 4584, 4601, 4618, 4635, 4652,
209 4669, 4682, 4695, 4712, 4729, 4746, 4763, 4780,
213 static const short _indic_syllable_machine_indicies
[] = {
214 1, 2, 0, 0, 0, 0, 0, 0,
215 0, 0, 0, 0, 0, 0, 0, 1,
216 0, 3, 0, 4, 4, 5, 0, 6,
217 6, 5, 0, 5, 0, 7, 7, 8,
218 0, 9, 9, 8, 0, 8, 0, 10,
219 10, 11, 0, 12, 12, 11, 0, 11,
220 0, 13, 13, 14, 0, 15, 15, 14,
221 0, 14, 0, 16, 0, 17, 0, 18,
222 0, 19, 13, 13, 14, 0, 20, 0,
223 21, 0, 22, 10, 10, 11, 0, 23,
224 0, 24, 0, 25, 7, 7, 8, 0,
225 26, 0, 27, 0, 28, 4, 4, 5,
226 0, 0, 0, 0, 0, 0, 28, 0,
227 28, 4, 4, 5, 0, 0, 0, 0,
228 0, 29, 28, 0, 30, 4, 4, 5,
229 0, 0, 0, 0, 0, 0, 30, 0,
230 30, 4, 4, 5, 0, 0, 0, 0,
231 0, 31, 30, 0, 32, 4, 4, 5,
232 0, 0, 0, 0, 0, 0, 32, 0,
233 32, 4, 4, 5, 0, 0, 0, 0,
234 0, 33, 32, 0, 34, 4, 4, 5,
235 0, 0, 0, 0, 0, 0, 34, 0,
236 34, 4, 4, 5, 0, 0, 0, 0,
237 0, 35, 34, 0, 36, 4, 4, 5,
238 0, 0, 0, 0, 0, 0, 36, 0,
239 36, 4, 4, 5, 0, 0, 0, 0,
240 0, 37, 36, 0, 39, 40, 38, 38,
241 38, 38, 38, 38, 38, 38, 38, 38,
242 38, 38, 38, 39, 38, 41, 38, 42,
243 42, 43, 38, 44, 44, 43, 38, 43,
244 38, 45, 45, 46, 38, 47, 47, 46,
245 38, 46, 38, 48, 48, 49, 38, 50,
246 50, 49, 38, 49, 38, 51, 51, 52,
247 38, 53, 53, 52, 38, 52, 38, 54,
248 38, 55, 38, 56, 38, 57, 51, 51,
249 52, 38, 58, 38, 59, 38, 60, 48,
250 48, 49, 38, 61, 38, 62, 38, 63,
251 45, 45, 46, 38, 64, 38, 65, 38,
252 66, 42, 42, 43, 38, 38, 38, 38,
253 38, 38, 66, 38, 66, 42, 42, 43,
254 38, 38, 38, 38, 38, 67, 66, 38,
255 68, 42, 42, 43, 38, 38, 38, 38,
256 38, 38, 68, 38, 68, 42, 42, 43,
257 38, 38, 38, 38, 38, 69, 68, 38,
258 70, 42, 42, 43, 38, 38, 38, 38,
259 38, 38, 70, 38, 70, 42, 42, 43,
260 38, 38, 38, 38, 38, 71, 70, 38,
261 72, 42, 42, 43, 38, 38, 38, 38,
262 38, 38, 72, 38, 72, 42, 42, 43,
263 38, 38, 38, 38, 38, 73, 72, 38,
264 74, 42, 42, 43, 38, 38, 38, 38,
265 38, 38, 74, 38, 74, 42, 42, 43,
266 38, 38, 38, 38, 38, 75, 74, 38,
267 77, 78, 76, 76, 76, 76, 76, 76,
268 76, 76, 76, 76, 76, 76, 76, 77,
269 76, 79, 76, 80, 80, 81, 76, 83,
270 83, 81, 82, 81, 82, 84, 84, 85,
271 76, 86, 86, 85, 76, 85, 76, 87,
272 87, 88, 76, 89, 89, 88, 76, 88,
273 76, 90, 90, 91, 76, 92, 92, 91,
274 76, 91, 76, 93, 76, 94, 76, 95,
275 76, 96, 90, 90, 91, 76, 97, 76,
276 98, 76, 99, 87, 87, 88, 76, 100,
277 76, 101, 76, 102, 84, 84, 85, 76,
278 103, 76, 104, 76, 105, 80, 80, 81,
279 76, 76, 76, 76, 76, 76, 105, 76,
280 105, 80, 80, 81, 76, 76, 76, 76,
281 76, 106, 105, 76, 107, 80, 80, 81,
282 76, 76, 76, 76, 76, 76, 107, 76,
283 107, 80, 80, 81, 76, 76, 76, 76,
284 76, 108, 107, 76, 109, 80, 80, 81,
285 76, 76, 76, 76, 76, 76, 109, 76,
286 109, 80, 80, 81, 76, 76, 76, 76,
287 76, 110, 109, 76, 111, 80, 80, 81,
288 76, 76, 76, 76, 76, 76, 111, 76,
289 111, 80, 80, 81, 76, 76, 76, 76,
290 76, 112, 111, 76, 113, 80, 80, 81,
291 76, 76, 76, 76, 76, 76, 113, 76,
292 115, 116, 114, 114, 114, 114, 114, 114,
293 114, 114, 114, 114, 114, 114, 114, 115,
294 114, 117, 114, 118, 118, 119, 114, 120,
295 120, 119, 114, 119, 114, 121, 121, 122,
296 114, 123, 123, 122, 114, 122, 114, 124,
297 124, 125, 114, 126, 126, 125, 114, 125,
298 114, 127, 127, 128, 114, 129, 129, 128,
299 114, 128, 114, 130, 114, 131, 114, 132,
300 114, 133, 127, 127, 128, 114, 134, 114,
301 135, 114, 136, 124, 124, 125, 114, 137,
302 114, 138, 114, 139, 121, 121, 122, 114,
303 140, 114, 141, 114, 142, 118, 118, 119,
304 114, 114, 114, 114, 114, 114, 142, 114,
305 142, 118, 118, 119, 114, 114, 114, 114,
306 114, 143, 142, 114, 144, 118, 118, 119,
307 114, 114, 114, 114, 114, 114, 144, 114,
308 144, 118, 118, 119, 114, 114, 114, 114,
309 114, 145, 144, 114, 146, 118, 118, 119,
310 114, 114, 114, 114, 114, 114, 146, 114,
311 146, 118, 118, 119, 114, 114, 114, 114,
312 114, 147, 146, 114, 148, 118, 118, 119,
313 114, 114, 114, 114, 114, 114, 148, 114,
314 148, 118, 118, 119, 114, 114, 114, 114,
315 114, 149, 148, 114, 150, 118, 118, 119,
316 114, 114, 114, 114, 114, 114, 150, 114,
317 150, 118, 118, 119, 114, 114, 114, 114,
318 114, 151, 150, 114, 153, 154, 155, 156,
319 157, 158, 81, 159, 160, 152, 161, 161,
320 162, 163, 164, 165, 152, 167, 168, 169,
321 170, 5, 171, 172, 173, 166, 166, 37,
322 174, 166, 175, 168, 176, 176, 5, 171,
323 172, 173, 166, 166, 166, 174, 166, 168,
324 176, 176, 5, 171, 172, 173, 166, 166,
325 166, 174, 166, 177, 166, 166, 166, 18,
326 178, 166, 171, 172, 166, 166, 166, 166,
327 179, 166, 177, 166, 180, 181, 182, 183,
328 5, 171, 172, 173, 166, 166, 35, 184,
329 166, 185, 181, 186, 186, 5, 171, 172,
330 173, 166, 166, 166, 184, 166, 181, 186,
331 186, 5, 171, 172, 173, 166, 166, 166,
332 184, 166, 187, 166, 166, 166, 18, 188,
333 166, 171, 172, 166, 166, 166, 166, 179,
334 166, 187, 166, 189, 190, 191, 192, 5,
335 171, 172, 173, 166, 166, 33, 193, 166,
336 194, 190, 195, 195, 5, 171, 172, 173,
337 166, 166, 166, 193, 166, 190, 195, 195,
338 5, 171, 172, 173, 166, 166, 166, 193,
339 166, 196, 166, 166, 166, 18, 197, 166,
340 171, 172, 166, 166, 166, 166, 179, 166,
341 196, 166, 198, 199, 200, 201, 5, 171,
342 172, 173, 166, 166, 31, 202, 166, 203,
343 199, 204, 204, 5, 171, 172, 173, 166,
344 166, 166, 202, 166, 199, 204, 204, 5,
345 171, 172, 173, 166, 166, 166, 202, 166,
346 205, 166, 166, 166, 18, 206, 166, 171,
347 172, 166, 166, 166, 166, 179, 166, 205,
348 166, 207, 208, 209, 210, 5, 171, 172,
349 173, 166, 166, 29, 211, 166, 212, 208,
350 213, 213, 5, 171, 172, 173, 166, 166,
351 166, 211, 166, 208, 213, 213, 5, 171,
352 172, 173, 166, 166, 166, 211, 166, 18,
353 214, 166, 171, 172, 166, 166, 166, 166,
354 179, 166, 171, 172, 166, 166, 166, 166,
355 179, 166, 215, 166, 166, 166, 172, 166,
356 172, 166, 216, 166, 217, 166, 218, 219,
357 166, 171, 172, 166, 166, 166, 3, 166,
358 2, 166, 166, 166, 166, 171, 172, 166,
359 171, 172, 166, 217, 166, 166, 166, 166,
360 171, 172, 166, 217, 166, 218, 166, 166,
361 171, 172, 166, 166, 166, 3, 166, 18,
362 166, 220, 220, 5, 171, 172, 166, 166,
363 166, 166, 179, 166, 221, 27, 222, 223,
364 8, 171, 172, 166, 166, 166, 166, 179,
365 166, 27, 222, 223, 8, 171, 172, 166,
366 166, 166, 166, 179, 166, 222, 222, 8,
367 171, 172, 166, 166, 166, 166, 179, 166,
368 224, 24, 225, 226, 11, 171, 172, 166,
369 166, 166, 166, 179, 166, 24, 225, 226,
370 11, 171, 172, 166, 166, 166, 166, 179,
371 166, 225, 225, 11, 171, 172, 166, 166,
372 166, 166, 179, 166, 227, 21, 228, 229,
373 14, 171, 172, 166, 166, 166, 166, 179,
374 166, 21, 228, 229, 14, 171, 172, 166,
375 166, 166, 166, 179, 166, 228, 228, 14,
376 171, 172, 166, 166, 166, 166, 179, 166,
377 230, 18, 166, 231, 166, 171, 172, 166,
378 166, 166, 166, 179, 166, 18, 166, 231,
379 166, 171, 172, 166, 166, 166, 166, 179,
380 166, 232, 166, 171, 172, 166, 166, 166,
381 166, 179, 166, 18, 166, 166, 166, 166,
382 171, 172, 166, 166, 166, 166, 179, 166,
383 208, 213, 213, 5, 171, 172, 166, 166,
384 166, 166, 211, 166, 1, 2, 166, 166,
385 18, 214, 166, 171, 172, 166, 166, 166,
386 166, 179, 166, 1, 166, 207, 208, 213,
387 213, 5, 171, 172, 173, 166, 166, 166,
388 211, 166, 207, 208, 209, 213, 5, 171,
389 172, 173, 166, 166, 29, 211, 166, 205,
390 166, 233, 166, 220, 220, 5, 171, 172,
391 166, 166, 166, 166, 179, 166, 205, 166,
392 205, 166, 166, 166, 166, 166, 166, 171,
393 172, 166, 166, 166, 166, 179, 166, 205,
394 166, 205, 166, 166, 166, 166, 234, 166,
395 171, 172, 166, 166, 166, 166, 179, 166,
396 205, 166, 205, 166, 233, 166, 166, 166,
397 166, 171, 172, 166, 166, 166, 166, 179,
398 166, 205, 166, 205, 2, 166, 166, 18,
399 206, 166, 171, 172, 166, 166, 166, 166,
400 179, 166, 205, 166, 198, 199, 204, 204,
401 5, 171, 172, 173, 166, 166, 166, 202,
402 166, 198, 199, 200, 204, 5, 171, 172,
403 173, 166, 166, 31, 202, 166, 196, 166,
404 235, 166, 220, 220, 5, 171, 172, 166,
405 166, 166, 166, 179, 166, 196, 166, 196,
406 166, 166, 166, 166, 166, 166, 171, 172,
407 166, 166, 166, 166, 179, 166, 196, 166,
408 196, 166, 166, 166, 166, 236, 166, 171,
409 172, 166, 166, 166, 166, 179, 166, 196,
410 166, 196, 166, 235, 166, 166, 166, 166,
411 171, 172, 166, 166, 166, 166, 179, 166,
412 196, 166, 196, 2, 166, 166, 18, 197,
413 166, 171, 172, 166, 166, 166, 166, 179,
414 166, 196, 166, 189, 190, 195, 195, 5,
415 171, 172, 173, 166, 166, 166, 193, 166,
416 189, 190, 191, 195, 5, 171, 172, 173,
417 166, 166, 33, 193, 166, 187, 166, 237,
418 166, 220, 220, 5, 171, 172, 166, 166,
419 166, 166, 179, 166, 187, 166, 187, 166,
420 166, 166, 166, 166, 166, 171, 172, 166,
421 166, 166, 166, 179, 166, 187, 166, 187,
422 166, 166, 166, 166, 238, 166, 171, 172,
423 166, 166, 166, 166, 179, 166, 187, 166,
424 187, 166, 237, 166, 166, 166, 166, 171,
425 172, 166, 166, 166, 166, 179, 166, 187,
426 166, 187, 2, 166, 166, 18, 188, 166,
427 171, 172, 166, 166, 166, 166, 179, 166,
428 187, 166, 180, 181, 186, 186, 5, 171,
429 172, 173, 166, 166, 166, 184, 166, 180,
430 181, 182, 186, 5, 171, 172, 173, 166,
431 166, 35, 184, 166, 177, 166, 239, 166,
432 220, 220, 5, 171, 172, 166, 166, 166,
433 166, 179, 166, 177, 166, 177, 166, 166,
434 166, 166, 166, 166, 171, 172, 166, 166,
435 166, 166, 179, 166, 177, 166, 177, 166,
436 166, 166, 166, 240, 166, 171, 172, 166,
437 166, 166, 166, 179, 166, 177, 166, 177,
438 166, 239, 166, 166, 166, 166, 171, 172,
439 166, 166, 166, 166, 179, 166, 177, 166,
440 177, 2, 166, 166, 18, 178, 166, 171,
441 172, 166, 166, 166, 166, 179, 166, 177,
442 166, 167, 168, 176, 176, 5, 171, 172,
443 173, 166, 166, 166, 174, 166, 167, 168,
444 169, 176, 5, 171, 172, 173, 166, 166,
445 37, 174, 166, 242, 243, 244, 245, 43,
446 246, 247, 241, 241, 241, 75, 248, 241,
447 249, 243, 250, 245, 43, 246, 247, 241,
448 241, 241, 241, 248, 241, 243, 250, 245,
449 43, 246, 247, 241, 241, 241, 241, 248,
450 241, 251, 241, 241, 241, 56, 252, 241,
451 246, 247, 241, 241, 241, 241, 253, 241,
452 251, 241, 254, 255, 256, 257, 43, 246,
453 247, 241, 241, 241, 73, 258, 241, 259,
454 255, 260, 260, 43, 246, 247, 241, 241,
455 241, 241, 258, 241, 255, 260, 260, 43,
456 246, 247, 241, 241, 241, 241, 258, 241,
457 261, 241, 241, 241, 56, 262, 241, 246,
458 247, 241, 241, 241, 241, 253, 241, 261,
459 241, 263, 264, 265, 266, 43, 246, 247,
460 241, 241, 241, 71, 267, 241, 268, 264,
461 269, 269, 43, 246, 247, 241, 241, 241,
462 241, 267, 241, 264, 269, 269, 43, 246,
463 247, 241, 241, 241, 241, 267, 241, 270,
464 241, 241, 241, 56, 271, 241, 246, 247,
465 241, 241, 241, 241, 253, 241, 270, 241,
466 272, 273, 274, 275, 43, 246, 247, 241,
467 241, 241, 69, 276, 241, 277, 273, 278,
468 278, 43, 246, 247, 241, 241, 241, 241,
469 276, 241, 273, 278, 278, 43, 246, 247,
470 241, 241, 241, 241, 276, 241, 279, 241,
471 241, 241, 56, 280, 241, 246, 247, 241,
472 241, 241, 241, 253, 241, 279, 241, 281,
473 282, 283, 284, 43, 246, 247, 241, 241,
474 241, 67, 285, 241, 286, 282, 287, 287,
475 43, 246, 247, 241, 241, 241, 241, 285,
476 241, 282, 287, 287, 43, 246, 247, 241,
477 241, 241, 241, 285, 241, 56, 288, 241,
478 246, 247, 241, 241, 241, 241, 253, 241,
479 246, 247, 241, 241, 241, 241, 253, 241,
480 289, 241, 241, 241, 247, 241, 247, 241,
481 290, 241, 291, 241, 292, 293, 241, 246,
482 247, 241, 241, 241, 41, 241, 40, 241,
483 241, 241, 241, 246, 247, 241, 246, 247,
484 241, 291, 241, 241, 241, 241, 246, 247,
485 241, 291, 241, 292, 241, 241, 246, 247,
486 241, 241, 241, 41, 241, 56, 241, 294,
487 294, 43, 246, 247, 241, 241, 241, 241,
488 253, 241, 295, 65, 296, 297, 46, 246,
489 247, 241, 241, 241, 241, 253, 241, 65,
490 296, 297, 46, 246, 247, 241, 241, 241,
491 241, 253, 241, 296, 296, 46, 246, 247,
492 241, 241, 241, 241, 253, 241, 298, 62,
493 299, 300, 49, 246, 247, 241, 241, 241,
494 241, 253, 241, 62, 299, 300, 49, 246,
495 247, 241, 241, 241, 241, 253, 241, 299,
496 299, 49, 246, 247, 241, 241, 241, 241,
497 253, 241, 301, 59, 302, 303, 52, 246,
498 247, 241, 241, 241, 241, 253, 241, 59,
499 302, 303, 52, 246, 247, 241, 241, 241,
500 241, 253, 241, 302, 302, 52, 246, 247,
501 241, 241, 241, 241, 253, 241, 304, 56,
502 241, 305, 241, 246, 247, 241, 241, 241,
503 241, 253, 241, 56, 241, 305, 241, 246,
504 247, 241, 241, 241, 241, 253, 241, 306,
505 241, 246, 247, 241, 241, 241, 241, 253,
506 241, 56, 241, 241, 241, 241, 246, 247,
507 241, 241, 241, 241, 253, 241, 39, 40,
508 241, 241, 56, 288, 241, 246, 247, 241,
509 241, 241, 241, 253, 241, 39, 241, 281,
510 282, 287, 287, 43, 246, 247, 241, 241,
511 241, 241, 285, 241, 281, 282, 283, 287,
512 43, 246, 247, 241, 241, 241, 67, 285,
513 241, 279, 241, 307, 241, 294, 294, 43,
514 246, 247, 241, 241, 241, 241, 253, 241,
515 279, 241, 279, 241, 241, 241, 241, 241,
516 241, 246, 247, 241, 241, 241, 241, 253,
517 241, 279, 241, 279, 241, 241, 241, 241,
518 308, 241, 246, 247, 241, 241, 241, 241,
519 253, 241, 279, 241, 279, 241, 307, 241,
520 241, 241, 241, 246, 247, 241, 241, 241,
521 241, 253, 241, 279, 241, 279, 40, 241,
522 241, 56, 280, 241, 246, 247, 241, 241,
523 241, 241, 253, 241, 279, 241, 272, 273,
524 278, 278, 43, 246, 247, 241, 241, 241,
525 241, 276, 241, 272, 273, 274, 278, 43,
526 246, 247, 241, 241, 241, 69, 276, 241,
527 270, 241, 309, 241, 294, 294, 43, 246,
528 247, 241, 241, 241, 241, 253, 241, 270,
529 241, 270, 241, 241, 241, 241, 241, 241,
530 246, 247, 241, 241, 241, 241, 253, 241,
531 270, 241, 270, 241, 241, 241, 241, 310,
532 241, 246, 247, 241, 241, 241, 241, 253,
533 241, 270, 241, 270, 241, 309, 241, 241,
534 241, 241, 246, 247, 241, 241, 241, 241,
535 253, 241, 270, 241, 270, 40, 241, 241,
536 56, 271, 241, 246, 247, 241, 241, 241,
537 241, 253, 241, 270, 241, 263, 264, 269,
538 269, 43, 246, 247, 241, 241, 241, 241,
539 267, 241, 263, 264, 265, 269, 43, 246,
540 247, 241, 241, 241, 71, 267, 241, 261,
541 241, 311, 241, 294, 294, 43, 246, 247,
542 241, 241, 241, 241, 253, 241, 261, 241,
543 261, 241, 241, 241, 241, 241, 241, 246,
544 247, 241, 241, 241, 241, 253, 241, 261,
545 241, 261, 241, 241, 241, 241, 312, 241,
546 246, 247, 241, 241, 241, 241, 253, 241,
547 261, 241, 261, 241, 311, 241, 241, 241,
548 241, 246, 247, 241, 241, 241, 241, 253,
549 241, 261, 241, 261, 40, 241, 241, 56,
550 262, 241, 246, 247, 241, 241, 241, 241,
551 253, 241, 261, 241, 254, 255, 260, 260,
552 43, 246, 247, 241, 241, 241, 241, 258,
553 241, 254, 255, 256, 260, 43, 246, 247,
554 241, 241, 241, 73, 258, 241, 251, 241,
555 313, 241, 294, 294, 43, 246, 247, 241,
556 241, 241, 241, 253, 241, 251, 241, 251,
557 241, 241, 241, 241, 241, 241, 246, 247,
558 241, 241, 241, 241, 253, 241, 251, 241,
559 251, 241, 241, 241, 241, 314, 241, 246,
560 247, 241, 241, 241, 241, 253, 241, 251,
561 241, 251, 241, 313, 241, 241, 241, 241,
562 246, 247, 241, 241, 241, 241, 253, 241,
563 251, 241, 74, 42, 42, 43, 241, 241,
564 241, 241, 241, 241, 74, 241, 251, 40,
565 241, 241, 56, 252, 241, 246, 247, 241,
566 241, 241, 241, 253, 241, 251, 241, 242,
567 243, 250, 245, 43, 246, 247, 241, 241,
568 241, 241, 248, 241, 316, 156, 317, 317,
569 81, 159, 160, 315, 315, 315, 315, 163,
570 315, 156, 317, 317, 81, 159, 160, 315,
571 315, 315, 315, 163, 315, 318, 315, 315,
572 315, 95, 319, 315, 159, 160, 315, 315,
573 315, 315, 320, 315, 318, 315, 321, 322,
574 323, 324, 81, 159, 160, 315, 315, 315,
575 112, 325, 315, 326, 322, 327, 327, 81,
576 159, 160, 315, 315, 315, 315, 325, 315,
577 322, 327, 327, 81, 159, 160, 315, 315,
578 315, 315, 325, 315, 328, 315, 315, 315,
579 95, 329, 315, 159, 160, 315, 315, 315,
580 315, 320, 315, 328, 315, 330, 331, 332,
581 333, 81, 159, 160, 315, 315, 315, 110,
582 334, 315, 335, 331, 336, 336, 81, 159,
583 160, 315, 315, 315, 315, 334, 315, 331,
584 336, 336, 81, 159, 160, 315, 315, 315,
585 315, 334, 315, 337, 315, 315, 315, 95,
586 338, 315, 159, 160, 315, 315, 315, 315,
587 320, 315, 337, 315, 339, 340, 341, 342,
588 81, 159, 160, 315, 315, 315, 108, 343,
589 315, 344, 340, 345, 345, 81, 159, 160,
590 315, 315, 315, 315, 343, 315, 340, 345,
591 345, 81, 159, 160, 315, 315, 315, 315,
592 343, 315, 346, 315, 315, 315, 95, 347,
593 315, 159, 160, 315, 315, 315, 315, 320,
594 315, 346, 315, 348, 349, 350, 351, 81,
595 159, 160, 315, 315, 315, 106, 352, 315,
596 353, 349, 354, 354, 81, 159, 160, 315,
597 315, 315, 315, 352, 315, 349, 354, 354,
598 81, 159, 160, 315, 315, 315, 315, 352,
599 315, 95, 355, 315, 159, 160, 315, 315,
600 315, 315, 320, 315, 159, 160, 315, 315,
601 315, 315, 320, 315, 356, 315, 315, 315,
602 160, 315, 160, 315, 357, 315, 358, 315,
603 359, 360, 315, 159, 160, 315, 315, 315,
604 79, 315, 78, 315, 315, 315, 315, 159,
605 160, 315, 159, 160, 315, 358, 315, 315,
606 315, 315, 159, 160, 315, 358, 315, 359,
607 315, 315, 159, 160, 315, 315, 315, 79,
608 315, 95, 315, 361, 361, 81, 159, 160,
609 315, 315, 315, 315, 320, 315, 362, 104,
610 363, 364, 85, 159, 160, 315, 315, 315,
611 315, 320, 315, 104, 363, 364, 85, 159,
612 160, 315, 315, 315, 315, 320, 315, 363,
613 363, 85, 159, 160, 315, 315, 315, 315,
614 320, 315, 365, 101, 366, 367, 88, 159,
615 160, 315, 315, 315, 315, 320, 315, 101,
616 366, 367, 88, 159, 160, 315, 315, 315,
617 315, 320, 315, 366, 366, 88, 159, 160,
618 315, 315, 315, 315, 320, 315, 368, 98,
619 369, 370, 91, 159, 160, 315, 315, 315,
620 315, 320, 315, 98, 369, 370, 91, 159,
621 160, 315, 315, 315, 315, 320, 315, 369,
622 369, 91, 159, 160, 315, 315, 315, 315,
623 320, 315, 371, 95, 315, 372, 315, 159,
624 160, 315, 315, 315, 315, 320, 315, 95,
625 315, 372, 315, 159, 160, 315, 315, 315,
626 315, 320, 315, 373, 315, 159, 160, 315,
627 315, 315, 315, 320, 315, 95, 315, 315,
628 315, 315, 159, 160, 315, 315, 315, 315,
629 320, 315, 77, 78, 315, 315, 95, 355,
630 315, 159, 160, 315, 315, 315, 315, 320,
631 315, 77, 315, 348, 349, 354, 354, 81,
632 159, 160, 315, 315, 315, 315, 352, 315,
633 348, 349, 350, 354, 81, 159, 160, 315,
634 315, 315, 106, 352, 315, 346, 315, 374,
635 315, 361, 361, 81, 159, 160, 315, 315,
636 315, 315, 320, 315, 346, 315, 346, 315,
637 315, 315, 315, 315, 315, 159, 160, 315,
638 315, 315, 315, 320, 315, 346, 315, 346,
639 315, 315, 315, 315, 375, 315, 159, 160,
640 315, 315, 315, 315, 320, 315, 346, 315,
641 346, 315, 374, 315, 315, 315, 315, 159,
642 160, 315, 315, 315, 315, 320, 315, 346,
643 315, 346, 78, 315, 315, 95, 347, 315,
644 159, 160, 315, 315, 315, 315, 320, 315,
645 346, 315, 339, 340, 345, 345, 81, 159,
646 160, 315, 315, 315, 315, 343, 315, 339,
647 340, 341, 345, 81, 159, 160, 315, 315,
648 315, 108, 343, 315, 337, 315, 376, 315,
649 361, 361, 81, 159, 160, 315, 315, 315,
650 315, 320, 315, 337, 315, 337, 315, 315,
651 315, 315, 315, 315, 159, 160, 315, 315,
652 315, 315, 320, 315, 337, 315, 337, 315,
653 315, 315, 315, 377, 315, 159, 160, 315,
654 315, 315, 315, 320, 315, 337, 315, 337,
655 315, 376, 315, 315, 315, 315, 159, 160,
656 315, 315, 315, 315, 320, 315, 337, 315,
657 337, 78, 315, 315, 95, 338, 315, 159,
658 160, 315, 315, 315, 315, 320, 315, 337,
659 315, 330, 331, 336, 336, 81, 159, 160,
660 315, 315, 315, 315, 334, 315, 330, 331,
661 332, 336, 81, 159, 160, 315, 315, 315,
662 110, 334, 315, 328, 315, 378, 315, 361,
663 361, 81, 159, 160, 315, 315, 315, 315,
664 320, 315, 328, 315, 328, 315, 315, 315,
665 315, 315, 315, 159, 160, 315, 315, 315,
666 315, 320, 315, 328, 315, 328, 315, 315,
667 315, 315, 379, 315, 159, 160, 315, 315,
668 315, 315, 320, 315, 328, 315, 328, 315,
669 378, 315, 315, 315, 315, 159, 160, 315,
670 315, 315, 315, 320, 315, 328, 315, 328,
671 78, 315, 315, 95, 329, 315, 159, 160,
672 315, 315, 315, 315, 320, 315, 328, 315,
673 321, 322, 327, 327, 81, 159, 160, 315,
674 315, 315, 315, 325, 315, 321, 322, 323,
675 327, 81, 159, 160, 315, 315, 315, 112,
676 325, 315, 318, 315, 380, 315, 361, 361,
677 81, 159, 160, 315, 315, 315, 315, 320,
678 315, 318, 315, 318, 315, 315, 315, 315,
679 315, 315, 159, 160, 315, 315, 315, 315,
680 320, 315, 318, 315, 318, 315, 315, 315,
681 315, 381, 315, 159, 160, 315, 315, 315,
682 315, 320, 315, 318, 315, 318, 315, 380,
683 315, 315, 315, 315, 159, 160, 315, 315,
684 315, 315, 320, 315, 318, 315, 318, 78,
685 315, 315, 95, 319, 315, 159, 160, 315,
686 315, 315, 315, 320, 315, 318, 315, 113,
687 80, 80, 81, 382, 382, 382, 382, 382,
688 162, 113, 382, 155, 156, 317, 317, 81,
689 159, 160, 315, 315, 315, 315, 163, 315,
690 113, 80, 80, 81, 382, 382, 382, 382,
691 382, 382, 113, 382, 384, 385, 386, 387,
692 119, 388, 389, 383, 383, 383, 151, 390,
693 383, 391, 385, 387, 387, 119, 388, 389,
694 383, 383, 383, 383, 390, 383, 385, 387,
695 387, 119, 388, 389, 383, 383, 383, 383,
696 390, 383, 392, 383, 383, 383, 132, 393,
697 383, 388, 389, 383, 383, 383, 383, 394,
698 383, 392, 383, 395, 396, 397, 398, 119,
699 388, 389, 383, 383, 383, 149, 399, 383,
700 400, 396, 401, 401, 119, 388, 389, 383,
701 383, 383, 383, 399, 383, 396, 401, 401,
702 119, 388, 389, 383, 383, 383, 383, 399,
703 383, 402, 383, 383, 383, 132, 403, 383,
704 388, 389, 383, 383, 383, 383, 394, 383,
705 402, 383, 404, 405, 406, 407, 119, 388,
706 389, 383, 383, 383, 147, 408, 383, 409,
707 405, 410, 410, 119, 388, 389, 383, 383,
708 383, 383, 408, 383, 405, 410, 410, 119,
709 388, 389, 383, 383, 383, 383, 408, 383,
710 411, 383, 383, 383, 132, 412, 383, 388,
711 389, 383, 383, 383, 383, 394, 383, 411,
712 383, 413, 414, 415, 416, 119, 388, 389,
713 383, 383, 383, 145, 417, 383, 418, 414,
714 419, 419, 119, 388, 389, 383, 383, 383,
715 383, 417, 383, 414, 419, 419, 119, 388,
716 389, 383, 383, 383, 383, 417, 383, 420,
717 383, 383, 383, 132, 421, 383, 388, 389,
718 383, 383, 383, 383, 394, 383, 420, 383,
719 422, 423, 424, 425, 119, 388, 389, 383,
720 383, 383, 143, 426, 383, 427, 423, 428,
721 428, 119, 388, 389, 383, 383, 383, 383,
722 426, 383, 423, 428, 428, 119, 388, 389,
723 383, 383, 383, 383, 426, 383, 132, 429,
724 383, 388, 389, 383, 383, 383, 383, 394,
725 383, 388, 389, 383, 383, 383, 383, 394,
726 383, 430, 383, 383, 383, 389, 383, 389,
727 383, 431, 383, 432, 383, 433, 434, 383,
728 388, 389, 383, 383, 383, 117, 383, 116,
729 383, 383, 383, 383, 388, 389, 383, 388,
730 389, 383, 432, 383, 383, 383, 383, 388,
731 389, 383, 432, 383, 433, 383, 383, 388,
732 389, 383, 383, 383, 117, 383, 132, 383,
733 435, 435, 119, 388, 389, 383, 383, 383,
734 383, 394, 383, 436, 141, 437, 438, 122,
735 388, 389, 383, 383, 383, 383, 394, 383,
736 141, 437, 438, 122, 388, 389, 383, 383,
737 383, 383, 394, 383, 437, 437, 122, 388,
738 389, 383, 383, 383, 383, 394, 383, 439,
739 138, 440, 441, 125, 388, 389, 383, 383,
740 383, 383, 394, 383, 138, 440, 441, 125,
741 388, 389, 383, 383, 383, 383, 394, 383,
742 440, 440, 125, 388, 389, 383, 383, 383,
743 383, 394, 383, 442, 135, 443, 444, 128,
744 388, 389, 383, 383, 383, 383, 394, 383,
745 135, 443, 444, 128, 388, 389, 383, 383,
746 383, 383, 394, 383, 443, 443, 128, 388,
747 389, 383, 383, 383, 383, 394, 383, 445,
748 132, 383, 446, 383, 388, 389, 383, 383,
749 383, 383, 394, 383, 132, 383, 446, 383,
750 388, 389, 383, 383, 383, 383, 394, 383,
751 447, 383, 388, 389, 383, 383, 383, 383,
752 394, 383, 132, 383, 383, 383, 383, 388,
753 389, 383, 383, 383, 383, 394, 383, 115,
754 116, 383, 383, 132, 429, 383, 388, 389,
755 383, 383, 383, 383, 394, 383, 115, 383,
756 422, 423, 428, 428, 119, 388, 389, 383,
757 383, 383, 383, 426, 383, 422, 423, 424,
758 428, 119, 388, 389, 383, 383, 383, 143,
759 426, 383, 420, 383, 448, 383, 435, 435,
760 119, 388, 389, 383, 383, 383, 383, 394,
761 383, 420, 383, 420, 383, 383, 383, 383,
762 383, 383, 388, 389, 383, 383, 383, 383,
763 394, 383, 420, 383, 420, 383, 383, 383,
764 383, 449, 383, 388, 389, 383, 383, 383,
765 383, 394, 383, 420, 383, 420, 383, 448,
766 383, 383, 383, 383, 388, 389, 383, 383,
767 383, 383, 394, 383, 420, 383, 420, 116,
768 383, 383, 132, 421, 383, 388, 389, 383,
769 383, 383, 383, 394, 383, 420, 383, 413,
770 414, 419, 419, 119, 388, 389, 383, 383,
771 383, 383, 417, 383, 413, 414, 415, 419,
772 119, 388, 389, 383, 383, 383, 145, 417,
773 383, 411, 383, 450, 383, 435, 435, 119,
774 388, 389, 383, 383, 383, 383, 394, 383,
775 411, 383, 411, 383, 383, 383, 383, 383,
776 383, 388, 389, 383, 383, 383, 383, 394,
777 383, 411, 383, 411, 383, 383, 383, 383,
778 451, 383, 388, 389, 383, 383, 383, 383,
779 394, 383, 411, 383, 411, 383, 450, 383,
780 383, 383, 383, 388, 389, 383, 383, 383,
781 383, 394, 383, 411, 383, 411, 116, 383,
782 383, 132, 412, 383, 388, 389, 383, 383,
783 383, 383, 394, 383, 411, 383, 404, 405,
784 410, 410, 119, 388, 389, 383, 383, 383,
785 383, 408, 383, 404, 405, 406, 410, 119,
786 388, 389, 383, 383, 383, 147, 408, 383,
787 402, 383, 452, 383, 435, 435, 119, 388,
788 389, 383, 383, 383, 383, 394, 383, 402,
789 383, 402, 383, 383, 383, 383, 383, 383,
790 388, 389, 383, 383, 383, 383, 394, 383,
791 402, 383, 402, 383, 383, 383, 383, 453,
792 383, 388, 389, 383, 383, 383, 383, 394,
793 383, 402, 383, 402, 383, 452, 383, 383,
794 383, 383, 388, 389, 383, 383, 383, 383,
795 394, 383, 402, 383, 402, 116, 383, 383,
796 132, 403, 383, 388, 389, 383, 383, 383,
797 383, 394, 383, 402, 383, 395, 396, 401,
798 401, 119, 388, 389, 383, 383, 383, 383,
799 399, 383, 395, 396, 397, 401, 119, 388,
800 389, 383, 383, 383, 149, 399, 383, 392,
801 383, 454, 383, 435, 435, 119, 388, 389,
802 383, 383, 383, 383, 394, 383, 392, 383,
803 392, 383, 383, 383, 383, 383, 383, 388,
804 389, 383, 383, 383, 383, 394, 383, 392,
805 383, 392, 383, 383, 383, 383, 455, 383,
806 388, 389, 383, 383, 383, 383, 394, 383,
807 392, 383, 392, 383, 454, 383, 383, 383,
808 383, 388, 389, 383, 383, 383, 383, 394,
809 383, 392, 383, 392, 116, 383, 383, 132,
810 393, 383, 388, 389, 383, 383, 383, 383,
811 394, 383, 392, 383, 384, 385, 387, 387,
812 119, 388, 389, 383, 383, 383, 383, 390,
813 383, 153, 154, 382, 382, 382, 382, 382,
814 382, 382, 382, 161, 161, 382, 382, 382,
815 153, 382, 167, 456, 169, 170, 5, 171,
816 172, 173, 166, 166, 37, 174, 166, 177,
817 154, 166, 166, 18, 178, 166, 171, 172,
818 166, 161, 161, 166, 179, 166, 177, 166,
822 static const short _indic_syllable_machine_trans_targs
[] = {
823 143, 168, 170, 171, 3, 174, 4, 6,
824 177, 7, 9, 180, 10, 12, 183, 13,
825 15, 16, 164, 18, 19, 182, 21, 22,
826 179, 24, 25, 176, 185, 189, 193, 196,
827 200, 203, 207, 210, 214, 217, 143, 243,
828 245, 246, 39, 249, 40, 42, 252, 43,
829 45, 255, 46, 48, 258, 49, 51, 52,
830 239, 54, 55, 257, 57, 58, 254, 60,
831 61, 251, 260, 263, 267, 270, 274, 277,
832 281, 284, 288, 292, 143, 316, 318, 319,
833 75, 322, 143, 76, 78, 325, 79, 81,
834 328, 82, 84, 331, 85, 87, 88, 312,
835 90, 91, 330, 93, 94, 327, 96, 97,
836 324, 333, 336, 340, 343, 347, 350, 354,
837 357, 361, 143, 391, 393, 394, 110, 397,
838 111, 113, 400, 114, 116, 403, 117, 119,
839 406, 120, 122, 123, 387, 125, 126, 405,
840 128, 129, 402, 131, 132, 399, 408, 411,
841 415, 418, 422, 425, 429, 432, 436, 439,
842 143, 144, 219, 293, 295, 364, 366, 313,
843 315, 367, 365, 363, 440, 441, 143, 145,
844 147, 35, 218, 165, 167, 187, 216, 146,
845 34, 148, 212, 0, 149, 151, 33, 211,
846 209, 150, 32, 152, 205, 153, 155, 31,
847 204, 202, 154, 30, 156, 198, 157, 159,
848 29, 197, 195, 158, 28, 160, 191, 161,
849 163, 27, 190, 188, 162, 26, 173, 166,
850 143, 169, 1, 172, 2, 175, 5, 23,
851 178, 8, 20, 181, 11, 17, 184, 14,
852 186, 192, 194, 199, 201, 206, 208, 213,
853 215, 143, 220, 222, 71, 290, 240, 242,
854 291, 221, 70, 223, 286, 36, 224, 226,
855 69, 285, 283, 225, 68, 227, 279, 228,
856 230, 67, 278, 276, 229, 66, 231, 272,
857 232, 234, 65, 271, 269, 233, 64, 235,
858 265, 236, 238, 63, 264, 262, 237, 62,
859 248, 241, 143, 244, 37, 247, 38, 250,
860 41, 59, 253, 44, 56, 256, 47, 53,
861 259, 50, 261, 266, 268, 273, 275, 280,
862 282, 287, 289, 143, 294, 106, 296, 359,
863 72, 297, 299, 105, 358, 356, 298, 104,
864 300, 352, 301, 303, 103, 351, 349, 302,
865 102, 304, 345, 305, 307, 101, 344, 342,
866 306, 100, 308, 338, 309, 311, 99, 337,
867 335, 310, 98, 321, 314, 143, 317, 73,
868 320, 74, 323, 77, 95, 326, 80, 92,
869 329, 83, 89, 332, 86, 334, 339, 341,
870 346, 348, 353, 355, 360, 362, 143, 143,
871 368, 370, 142, 141, 388, 390, 438, 369,
872 371, 434, 107, 372, 374, 140, 433, 431,
873 373, 139, 375, 427, 376, 378, 138, 426,
874 424, 377, 137, 379, 420, 380, 382, 136,
875 419, 417, 381, 135, 383, 413, 384, 386,
876 134, 412, 410, 385, 133, 396, 389, 143,
877 392, 108, 395, 109, 398, 112, 130, 401,
878 115, 127, 404, 118, 124, 407, 121, 409,
879 414, 416, 421, 423, 428, 430, 435, 437,
883 static const char _indic_syllable_machine_trans_actions
[] = {
884 1, 2, 0, 0, 0, 2, 0, 0,
885 2, 0, 0, 2, 0, 0, 2, 0,
886 0, 0, 2, 0, 0, 2, 0, 0,
887 2, 0, 0, 2, 2, 2, 2, 2,
888 2, 2, 2, 2, 2, 2, 3, 2,
889 0, 0, 0, 2, 0, 0, 2, 0,
890 0, 2, 0, 0, 2, 0, 0, 0,
891 2, 0, 0, 2, 0, 0, 2, 0,
892 0, 2, 2, 2, 2, 2, 2, 2,
893 2, 2, 2, 2, 4, 2, 0, 0,
894 0, 2, 5, 0, 0, 2, 0, 0,
895 2, 0, 0, 2, 0, 0, 0, 2,
896 0, 0, 2, 0, 0, 2, 0, 0,
897 2, 2, 6, 2, 6, 2, 6, 2,
898 6, 2, 7, 2, 0, 0, 0, 2,
899 0, 0, 2, 0, 0, 2, 0, 0,
900 2, 0, 0, 0, 2, 0, 0, 2,
901 0, 0, 2, 0, 0, 2, 2, 2,
902 2, 2, 2, 2, 2, 2, 2, 2,
903 10, 2, 2, 6, 2, 11, 11, 0,
904 0, 2, 6, 2, 0, 2, 12, 2,
905 2, 0, 2, 0, 0, 2, 2, 2,
906 0, 2, 2, 0, 2, 2, 0, 2,
907 2, 2, 0, 2, 2, 2, 2, 0,
908 2, 2, 2, 0, 2, 2, 2, 2,
909 0, 2, 2, 2, 0, 2, 2, 2,
910 2, 0, 2, 2, 2, 0, 2, 0,
911 13, 0, 0, 2, 0, 2, 0, 0,
912 2, 0, 0, 2, 0, 0, 2, 0,
913 2, 2, 2, 2, 2, 2, 2, 2,
914 2, 14, 2, 2, 0, 2, 0, 0,
915 2, 2, 0, 2, 2, 0, 2, 2,
916 0, 2, 2, 2, 0, 2, 2, 2,
917 2, 0, 2, 2, 2, 0, 2, 2,
918 2, 2, 0, 2, 2, 2, 0, 2,
919 2, 2, 2, 0, 2, 2, 2, 0,
920 2, 0, 15, 0, 0, 2, 0, 2,
921 0, 0, 2, 0, 0, 2, 0, 0,
922 2, 0, 2, 2, 2, 2, 2, 2,
923 2, 2, 2, 16, 6, 0, 6, 6,
924 0, 6, 2, 0, 6, 2, 6, 0,
925 6, 6, 6, 2, 0, 6, 2, 6,
926 0, 6, 6, 6, 2, 0, 6, 2,
927 6, 0, 6, 6, 6, 2, 0, 6,
928 2, 6, 0, 6, 0, 17, 0, 0,
929 2, 0, 2, 0, 0, 2, 0, 0,
930 2, 0, 0, 2, 0, 2, 2, 2,
931 2, 2, 2, 2, 2, 2, 18, 19,
932 2, 2, 0, 0, 0, 0, 2, 2,
933 2, 2, 0, 2, 2, 0, 2, 2,
934 2, 0, 2, 2, 2, 2, 0, 2,
935 2, 2, 0, 2, 2, 2, 2, 0,
936 2, 2, 2, 0, 2, 2, 2, 2,
937 0, 2, 2, 2, 0, 2, 0, 20,
938 0, 0, 2, 0, 2, 0, 0, 2,
939 0, 0, 2, 0, 0, 2, 0, 2,
940 2, 2, 2, 2, 2, 2, 2, 2,
944 static const char _indic_syllable_machine_to_state_actions
[] = {
945 0, 0, 0, 0, 0, 0, 0, 0,
946 0, 0, 0, 0, 0, 0, 0, 0,
947 0, 0, 0, 0, 0, 0, 0, 0,
948 0, 0, 0, 0, 0, 0, 0, 0,
949 0, 0, 0, 0, 0, 0, 0, 0,
950 0, 0, 0, 0, 0, 0, 0, 0,
951 0, 0, 0, 0, 0, 0, 0, 0,
952 0, 0, 0, 0, 0, 0, 0, 0,
953 0, 0, 0, 0, 0, 0, 0, 0,
954 0, 0, 0, 0, 0, 0, 0, 0,
955 0, 0, 0, 0, 0, 0, 0, 0,
956 0, 0, 0, 0, 0, 0, 0, 0,
957 0, 0, 0, 0, 0, 0, 0, 0,
958 0, 0, 0, 0, 0, 0, 0, 0,
959 0, 0, 0, 0, 0, 0, 0, 0,
960 0, 0, 0, 0, 0, 0, 0, 0,
961 0, 0, 0, 0, 0, 0, 0, 0,
962 0, 0, 0, 0, 0, 0, 0, 8,
963 0, 0, 0, 0, 0, 0, 0, 0,
964 0, 0, 0, 0, 0, 0, 0, 0,
965 0, 0, 0, 0, 0, 0, 0, 0,
966 0, 0, 0, 0, 0, 0, 0, 0,
967 0, 0, 0, 0, 0, 0, 0, 0,
968 0, 0, 0, 0, 0, 0, 0, 0,
969 0, 0, 0, 0, 0, 0, 0, 0,
970 0, 0, 0, 0, 0, 0, 0, 0,
971 0, 0, 0, 0, 0, 0, 0, 0,
972 0, 0, 0, 0, 0, 0, 0, 0,
973 0, 0, 0, 0, 0, 0, 0, 0,
974 0, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, 0, 0, 0, 0, 0,
976 0, 0, 0, 0, 0, 0, 0, 0,
977 0, 0, 0, 0, 0, 0, 0, 0,
978 0, 0, 0, 0, 0, 0, 0, 0,
979 0, 0, 0, 0, 0, 0, 0, 0,
980 0, 0, 0, 0, 0, 0, 0, 0,
981 0, 0, 0, 0, 0, 0, 0, 0,
982 0, 0, 0, 0, 0, 0, 0, 0,
983 0, 0, 0, 0, 0, 0, 0, 0,
984 0, 0, 0, 0, 0, 0, 0, 0,
985 0, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 0, 0, 0, 0,
988 0, 0, 0, 0, 0, 0, 0, 0,
989 0, 0, 0, 0, 0, 0, 0, 0,
990 0, 0, 0, 0, 0, 0, 0, 0,
991 0, 0, 0, 0, 0, 0, 0, 0,
992 0, 0, 0, 0, 0, 0, 0, 0,
993 0, 0, 0, 0, 0, 0, 0, 0,
994 0, 0, 0, 0, 0, 0, 0, 0,
995 0, 0, 0, 0, 0, 0, 0, 0,
996 0, 0, 0, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, 0, 0, 0, 0,
998 0, 0, 0, 0, 0, 0, 0, 0,
999 0, 0, 0, 0, 0, 0, 0, 0,
1003 static const char _indic_syllable_machine_from_state_actions
[] = {
1004 0, 0, 0, 0, 0, 0, 0, 0,
1005 0, 0, 0, 0, 0, 0, 0, 0,
1006 0, 0, 0, 0, 0, 0, 0, 0,
1007 0, 0, 0, 0, 0, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, 0,
1009 0, 0, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0,
1012 0, 0, 0, 0, 0, 0, 0, 0,
1013 0, 0, 0, 0, 0, 0, 0, 0,
1014 0, 0, 0, 0, 0, 0, 0, 0,
1015 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, 0, 0, 0, 0, 0, 0, 0,
1017 0, 0, 0, 0, 0, 0, 0, 0,
1018 0, 0, 0, 0, 0, 0, 0, 0,
1019 0, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 0, 9,
1022 0, 0, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, 0, 0, 0, 0, 0,
1024 0, 0, 0, 0, 0, 0, 0, 0,
1025 0, 0, 0, 0, 0, 0, 0, 0,
1026 0, 0, 0, 0, 0, 0, 0, 0,
1027 0, 0, 0, 0, 0, 0, 0, 0,
1028 0, 0, 0, 0, 0, 0, 0, 0,
1029 0, 0, 0, 0, 0, 0, 0, 0,
1030 0, 0, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, 0, 0, 0, 0, 0,
1032 0, 0, 0, 0, 0, 0, 0, 0,
1033 0, 0, 0, 0, 0, 0, 0, 0,
1034 0, 0, 0, 0, 0, 0, 0, 0,
1035 0, 0, 0, 0, 0, 0, 0, 0,
1036 0, 0, 0, 0, 0, 0, 0, 0,
1037 0, 0, 0, 0, 0, 0, 0, 0,
1038 0, 0, 0, 0, 0, 0, 0, 0,
1039 0, 0, 0, 0, 0, 0, 0, 0,
1040 0, 0, 0, 0, 0, 0, 0, 0,
1041 0, 0, 0, 0, 0, 0, 0, 0,
1042 0, 0, 0, 0, 0, 0, 0, 0,
1043 0, 0, 0, 0, 0, 0, 0, 0,
1044 0, 0, 0, 0, 0, 0, 0, 0,
1045 0, 0, 0, 0, 0, 0, 0, 0,
1046 0, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, 0, 0, 0, 0, 0, 0,
1048 0, 0, 0, 0, 0, 0, 0, 0,
1049 0, 0, 0, 0, 0, 0, 0, 0,
1050 0, 0, 0, 0, 0, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0,
1052 0, 0, 0, 0, 0, 0, 0, 0,
1053 0, 0, 0, 0, 0, 0, 0, 0,
1054 0, 0, 0, 0, 0, 0, 0, 0,
1055 0, 0, 0, 0, 0, 0, 0, 0,
1056 0, 0, 0, 0, 0, 0, 0, 0,
1057 0, 0, 0, 0, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, 0, 0, 0,
1062 static const short _indic_syllable_machine_eof_trans
[] = {
1063 1, 1, 1, 1, 1, 1, 1, 1,
1064 1, 1, 1, 1, 1, 1, 1, 1,
1065 1, 1, 1, 1, 1, 1, 1, 1,
1066 1, 1, 1, 1, 1, 1, 1, 1,
1067 1, 1, 1, 1, 39, 39, 39, 39,
1068 39, 39, 39, 39, 39, 39, 39, 39,
1069 39, 39, 39, 39, 39, 39, 39, 39,
1070 39, 39, 39, 39, 39, 39, 39, 39,
1071 39, 39, 39, 39, 39, 39, 39, 39,
1072 77, 77, 77, 83, 83, 77, 77, 77,
1073 77, 77, 77, 77, 77, 77, 77, 77,
1074 77, 77, 77, 77, 77, 77, 77, 77,
1075 77, 77, 77, 77, 77, 77, 77, 77,
1076 77, 77, 77, 115, 115, 115, 115, 115,
1077 115, 115, 115, 115, 115, 115, 115, 115,
1078 115, 115, 115, 115, 115, 115, 115, 115,
1079 115, 115, 115, 115, 115, 115, 115, 115,
1080 115, 115, 115, 115, 115, 115, 115, 0,
1081 167, 167, 167, 167, 167, 167, 167, 167,
1082 167, 167, 167, 167, 167, 167, 167, 167,
1083 167, 167, 167, 167, 167, 167, 167, 167,
1084 167, 167, 167, 167, 167, 167, 167, 167,
1085 167, 167, 167, 167, 167, 167, 167, 167,
1086 167, 167, 167, 167, 167, 167, 167, 167,
1087 167, 167, 167, 167, 167, 167, 167, 167,
1088 167, 167, 167, 167, 167, 167, 167, 167,
1089 167, 167, 167, 167, 167, 167, 167, 167,
1090 167, 167, 167, 242, 242, 242, 242, 242,
1091 242, 242, 242, 242, 242, 242, 242, 242,
1092 242, 242, 242, 242, 242, 242, 242, 242,
1093 242, 242, 242, 242, 242, 242, 242, 242,
1094 242, 242, 242, 242, 242, 242, 242, 242,
1095 242, 242, 242, 242, 242, 242, 242, 242,
1096 242, 242, 242, 242, 242, 242, 242, 242,
1097 242, 242, 242, 242, 242, 242, 242, 242,
1098 242, 242, 242, 242, 242, 242, 242, 242,
1099 242, 242, 242, 242, 242, 316, 316, 316,
1100 316, 316, 316, 316, 316, 316, 316, 316,
1101 316, 316, 316, 316, 316, 316, 316, 316,
1102 316, 316, 316, 316, 316, 316, 316, 316,
1103 316, 316, 316, 316, 316, 316, 316, 316,
1104 316, 316, 316, 316, 316, 316, 316, 316,
1105 316, 316, 316, 316, 316, 316, 316, 316,
1106 316, 316, 316, 316, 316, 316, 316, 316,
1107 316, 316, 316, 316, 316, 316, 316, 316,
1108 316, 316, 316, 316, 383, 316, 383, 384,
1109 384, 384, 384, 384, 384, 384, 384, 384,
1110 384, 384, 384, 384, 384, 384, 384, 384,
1111 384, 384, 384, 384, 384, 384, 384, 384,
1112 384, 384, 384, 384, 384, 384, 384, 384,
1113 384, 384, 384, 384, 384, 384, 384, 384,
1114 384, 384, 384, 384, 384, 384, 384, 384,
1115 384, 384, 384, 384, 384, 384, 384, 384,
1116 384, 384, 384, 384, 384, 384, 384, 384,
1117 384, 384, 384, 384, 384, 384, 384, 384,
1121 static const int indic_syllable_machine_start
= 143;
1122 static const int indic_syllable_machine_first_final
= 143;
1123 static const int indic_syllable_machine_error
= -1;
1125 static const int indic_syllable_machine_en_main
= 143;
1128 #line 36 "../../src/hb-ot-shape-complex-indic-machine.rl"
1132 #line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
1135 #define found_syllable(syllable_type) \
1137 if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1138 for (unsigned int i = last; i < p+1; i++) \
1139 info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1141 syllable_serial++; \
1142 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1146 find_syllables (hb_buffer_t
*buffer
)
1148 unsigned int p
, pe
, eof
, ts
, te
, act
;
1150 hb_glyph_info_t
*info
= buffer
->info
;
1152 #line 1153 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1154 cs
= indic_syllable_machine_start
;
1160 #line 111 "../../src/hb-ot-shape-complex-indic-machine.rl"
1164 pe
= eof
= buffer
->len
;
1166 unsigned int last
= 0;
1167 unsigned int syllable_serial
= 1;
1169 #line 1170 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1173 const unsigned char *_keys
;
1178 switch ( _indic_syllable_machine_from_state_actions
[cs
] ) {
1180 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
1183 #line 1184 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1186 _keys
= _indic_syllable_machine_trans_keys
+ (cs
<<1);
1187 _inds
= _indic_syllable_machine_indicies
+ _indic_syllable_machine_index_offsets
[cs
];
1189 _slen
= _indic_syllable_machine_key_spans
[cs
];
1190 _trans
= _inds
[ _slen
> 0 && _keys
[0] <=( info
[p
].indic_category()) &&
1191 ( info
[p
].indic_category()) <= _keys
[1] ?
1192 ( info
[p
].indic_category()) - _keys
[0] : _slen
];
1195 cs
= _indic_syllable_machine_trans_targs
[_trans
];
1197 if ( _indic_syllable_machine_trans_actions
[_trans
] == 0 )
1200 switch ( _indic_syllable_machine_trans_actions
[_trans
] ) {
1202 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
1206 #line 82 "../../src/hb-ot-shape-complex-indic-machine.rl"
1207 {te
= p
+1;{ found_syllable (consonant_syllable
); }}
1210 #line 83 "../../src/hb-ot-shape-complex-indic-machine.rl"
1211 {te
= p
+1;{ found_syllable (vowel_syllable
); }}
1214 #line 84 "../../src/hb-ot-shape-complex-indic-machine.rl"
1215 {te
= p
+1;{ found_syllable (standalone_cluster
); }}
1218 #line 85 "../../src/hb-ot-shape-complex-indic-machine.rl"
1219 {te
= p
+1;{ found_syllable (broken_cluster
); }}
1222 #line 86 "../../src/hb-ot-shape-complex-indic-machine.rl"
1223 {te
= p
+1;{ found_syllable (non_indic_cluster
); }}
1226 #line 82 "../../src/hb-ot-shape-complex-indic-machine.rl"
1227 {te
= p
;p
--;{ found_syllable (consonant_syllable
); }}
1230 #line 83 "../../src/hb-ot-shape-complex-indic-machine.rl"
1231 {te
= p
;p
--;{ found_syllable (vowel_syllable
); }}
1234 #line 84 "../../src/hb-ot-shape-complex-indic-machine.rl"
1235 {te
= p
;p
--;{ found_syllable (standalone_cluster
); }}
1238 #line 85 "../../src/hb-ot-shape-complex-indic-machine.rl"
1239 {te
= p
;p
--;{ found_syllable (broken_cluster
); }}
1242 #line 86 "../../src/hb-ot-shape-complex-indic-machine.rl"
1243 {te
= p
;p
--;{ found_syllable (non_indic_cluster
); }}
1246 #line 82 "../../src/hb-ot-shape-complex-indic-machine.rl"
1247 {{p
= ((te
))-1;}{ found_syllable (consonant_syllable
); }}
1250 #line 83 "../../src/hb-ot-shape-complex-indic-machine.rl"
1251 {{p
= ((te
))-1;}{ found_syllable (vowel_syllable
); }}
1254 #line 84 "../../src/hb-ot-shape-complex-indic-machine.rl"
1255 {{p
= ((te
))-1;}{ found_syllable (standalone_cluster
); }}
1258 #line 85 "../../src/hb-ot-shape-complex-indic-machine.rl"
1259 {{p
= ((te
))-1;}{ found_syllable (broken_cluster
); }}
1262 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
1265 {{p
= ((te
))-1;} found_syllable (broken_cluster
); }
1268 {{p
= ((te
))-1;} found_syllable (non_indic_cluster
); }
1274 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
1276 #line 85 "../../src/hb-ot-shape-complex-indic-machine.rl"
1280 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
1282 #line 86 "../../src/hb-ot-shape-complex-indic-machine.rl"
1285 #line 1286 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1289 switch ( _indic_syllable_machine_to_state_actions
[cs
] ) {
1291 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
1294 #line 1295 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1302 if ( _indic_syllable_machine_eof_trans
[cs
] > 0 ) {
1303 _trans
= _indic_syllable_machine_eof_trans
[cs
] - 1;
1310 #line 120 "../../src/hb-ot-shape-complex-indic-machine.rl"
1314 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */