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