Line data Source code
1 : /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2 :
3 : #include "header.h"
4 :
5 : #ifdef __cplusplus
6 : extern "C" {
7 : #endif
8 : extern int tamil_UTF_8_stem(struct SN_env * z);
9 : #ifdef __cplusplus
10 : }
11 : #endif
12 : static int r_has_min_length(struct SN_env * z);
13 : static int r_remove_common_word_endings(struct SN_env * z);
14 : static int r_remove_tense_suffixes(struct SN_env * z);
15 : static int r_remove_tense_suffix(struct SN_env * z);
16 : static int r_fix_endings(struct SN_env * z);
17 : static int r_fix_ending(struct SN_env * z);
18 : static int r_fix_va_start(struct SN_env * z);
19 : static int r_remove_vetrumai_urupukal(struct SN_env * z);
20 : static int r_remove_um(struct SN_env * z);
21 : static int r_remove_command_suffixes(struct SN_env * z);
22 : static int r_remove_pronoun_prefixes(struct SN_env * z);
23 : static int r_remove_question_prefixes(struct SN_env * z);
24 : static int r_remove_question_suffixes(struct SN_env * z);
25 : static int r_remove_plural_suffix(struct SN_env * z);
26 : #ifdef __cplusplus
27 : extern "C" {
28 : #endif
29 :
30 :
31 : extern struct SN_env * tamil_UTF_8_create_env(void);
32 : extern void tamil_UTF_8_close_env(struct SN_env * z);
33 :
34 :
35 : #ifdef __cplusplus
36 : }
37 : #endif
38 : static const symbol s_0_0[3] = { 0xE0, 0xAE, 0x95 };
39 : static const symbol s_0_1[3] = { 0xE0, 0xAE, 0x99 };
40 : static const symbol s_0_2[3] = { 0xE0, 0xAE, 0x9A };
41 : static const symbol s_0_3[3] = { 0xE0, 0xAE, 0x9E };
42 : static const symbol s_0_4[3] = { 0xE0, 0xAE, 0xA4 };
43 : static const symbol s_0_5[3] = { 0xE0, 0xAE, 0xA8 };
44 : static const symbol s_0_6[3] = { 0xE0, 0xAE, 0xAA };
45 : static const symbol s_0_7[3] = { 0xE0, 0xAE, 0xAE };
46 : static const symbol s_0_8[3] = { 0xE0, 0xAE, 0xAF };
47 : static const symbol s_0_9[3] = { 0xE0, 0xAE, 0xB5 };
48 :
49 : static const struct among a_0[10] =
50 : {
51 : { 3, s_0_0, -1, -1, 0},
52 : { 3, s_0_1, -1, -1, 0},
53 : { 3, s_0_2, -1, -1, 0},
54 : { 3, s_0_3, -1, -1, 0},
55 : { 3, s_0_4, -1, -1, 0},
56 : { 3, s_0_5, -1, -1, 0},
57 : { 3, s_0_6, -1, -1, 0},
58 : { 3, s_0_7, -1, -1, 0},
59 : { 3, s_0_8, -1, -1, 0},
60 : { 3, s_0_9, -1, -1, 0}
61 : };
62 :
63 : static const symbol s_1_0[12] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
64 : static const symbol s_1_1[6] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D };
65 : static const symbol s_1_2[9] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4 };
66 :
67 : static const struct among a_1[3] =
68 : {
69 : { 12, s_1_0, -1, -1, 0},
70 : { 6, s_1_1, -1, -1, 0},
71 : { 9, s_1_2, -1, -1, 0}
72 : };
73 :
74 : static const symbol s_2_0[3] = { 0xE0, 0xAF, 0x80 };
75 : static const symbol s_2_1[3] = { 0xE0, 0xAF, 0x88 };
76 : static const symbol s_2_2[3] = { 0xE0, 0xAE, 0xBF };
77 :
78 : static const struct among a_2[3] =
79 : {
80 : { 3, s_2_0, -1, -1, 0},
81 : { 3, s_2_1, -1, -1, 0},
82 : { 3, s_2_2, -1, -1, 0}
83 : };
84 :
85 : static const symbol s_3_0[3] = { 0xE0, 0xAE, 0x95 };
86 : static const symbol s_3_1[3] = { 0xE0, 0xAE, 0x9A };
87 : static const symbol s_3_2[3] = { 0xE0, 0xAE, 0x9F };
88 : static const symbol s_3_3[3] = { 0xE0, 0xAE, 0xA4 };
89 : static const symbol s_3_4[3] = { 0xE0, 0xAE, 0xAA };
90 : static const symbol s_3_5[3] = { 0xE0, 0xAE, 0xB1 };
91 :
92 : static const struct among a_3[6] =
93 : {
94 : { 3, s_3_0, -1, -1, 0},
95 : { 3, s_3_1, -1, -1, 0},
96 : { 3, s_3_2, -1, -1, 0},
97 : { 3, s_3_3, -1, -1, 0},
98 : { 3, s_3_4, -1, -1, 0},
99 : { 3, s_3_5, -1, -1, 0}
100 : };
101 :
102 : static const symbol s_4_0[3] = { 0xE0, 0xAE, 0x95 };
103 : static const symbol s_4_1[3] = { 0xE0, 0xAE, 0x9A };
104 : static const symbol s_4_2[3] = { 0xE0, 0xAE, 0x9F };
105 : static const symbol s_4_3[3] = { 0xE0, 0xAE, 0xA4 };
106 : static const symbol s_4_4[3] = { 0xE0, 0xAE, 0xAA };
107 : static const symbol s_4_5[3] = { 0xE0, 0xAE, 0xB1 };
108 :
109 : static const struct among a_4[6] =
110 : {
111 : { 3, s_4_0, -1, -1, 0},
112 : { 3, s_4_1, -1, -1, 0},
113 : { 3, s_4_2, -1, -1, 0},
114 : { 3, s_4_3, -1, -1, 0},
115 : { 3, s_4_4, -1, -1, 0},
116 : { 3, s_4_5, -1, -1, 0}
117 : };
118 :
119 : static const symbol s_5_0[3] = { 0xE0, 0xAE, 0x95 };
120 : static const symbol s_5_1[3] = { 0xE0, 0xAE, 0x9A };
121 : static const symbol s_5_2[3] = { 0xE0, 0xAE, 0x9F };
122 : static const symbol s_5_3[3] = { 0xE0, 0xAE, 0xA4 };
123 : static const symbol s_5_4[3] = { 0xE0, 0xAE, 0xAA };
124 : static const symbol s_5_5[3] = { 0xE0, 0xAE, 0xB1 };
125 :
126 : static const struct among a_5[6] =
127 : {
128 : { 3, s_5_0, -1, -1, 0},
129 : { 3, s_5_1, -1, -1, 0},
130 : { 3, s_5_2, -1, -1, 0},
131 : { 3, s_5_3, -1, -1, 0},
132 : { 3, s_5_4, -1, -1, 0},
133 : { 3, s_5_5, -1, -1, 0}
134 : };
135 :
136 : static const symbol s_6_0[3] = { 0xE0, 0xAE, 0xAF };
137 : static const symbol s_6_1[3] = { 0xE0, 0xAE, 0xB0 };
138 : static const symbol s_6_2[3] = { 0xE0, 0xAE, 0xB2 };
139 : static const symbol s_6_3[3] = { 0xE0, 0xAE, 0xB3 };
140 : static const symbol s_6_4[3] = { 0xE0, 0xAE, 0xB4 };
141 : static const symbol s_6_5[3] = { 0xE0, 0xAE, 0xB5 };
142 :
143 : static const struct among a_6[6] =
144 : {
145 : { 3, s_6_0, -1, -1, 0},
146 : { 3, s_6_1, -1, -1, 0},
147 : { 3, s_6_2, -1, -1, 0},
148 : { 3, s_6_3, -1, -1, 0},
149 : { 3, s_6_4, -1, -1, 0},
150 : { 3, s_6_5, -1, -1, 0}
151 : };
152 :
153 : static const symbol s_7_0[3] = { 0xE0, 0xAE, 0x99 };
154 : static const symbol s_7_1[3] = { 0xE0, 0xAE, 0x9E };
155 : static const symbol s_7_2[3] = { 0xE0, 0xAE, 0xA3 };
156 : static const symbol s_7_3[3] = { 0xE0, 0xAE, 0xA8 };
157 : static const symbol s_7_4[3] = { 0xE0, 0xAE, 0xA9 };
158 : static const symbol s_7_5[3] = { 0xE0, 0xAE, 0xAE };
159 :
160 : static const struct among a_7[6] =
161 : {
162 : { 3, s_7_0, -1, -1, 0},
163 : { 3, s_7_1, -1, -1, 0},
164 : { 3, s_7_2, -1, -1, 0},
165 : { 3, s_7_3, -1, -1, 0},
166 : { 3, s_7_4, -1, -1, 0},
167 : { 3, s_7_5, -1, -1, 0}
168 : };
169 :
170 : static const symbol s_8_0[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8D };
171 : static const symbol s_8_1[3] = { 0xE0, 0xAE, 0xAF };
172 : static const symbol s_8_2[3] = { 0xE0, 0xAE, 0xB5 };
173 :
174 : static const struct among a_8[3] =
175 : {
176 : { 6, s_8_0, -1, -1, 0},
177 : { 3, s_8_1, -1, -1, 0},
178 : { 3, s_8_2, -1, -1, 0}
179 : };
180 :
181 : static const symbol s_9_0[3] = { 0xE0, 0xAF, 0x80 };
182 : static const symbol s_9_1[3] = { 0xE0, 0xAF, 0x81 };
183 : static const symbol s_9_2[3] = { 0xE0, 0xAF, 0x82 };
184 : static const symbol s_9_3[3] = { 0xE0, 0xAF, 0x86 };
185 : static const symbol s_9_4[3] = { 0xE0, 0xAF, 0x87 };
186 : static const symbol s_9_5[3] = { 0xE0, 0xAF, 0x88 };
187 : static const symbol s_9_6[3] = { 0xE0, 0xAE, 0xBE };
188 : static const symbol s_9_7[3] = { 0xE0, 0xAE, 0xBF };
189 :
190 : static const struct among a_9[8] =
191 : {
192 : { 3, s_9_0, -1, -1, 0},
193 : { 3, s_9_1, -1, -1, 0},
194 : { 3, s_9_2, -1, -1, 0},
195 : { 3, s_9_3, -1, -1, 0},
196 : { 3, s_9_4, -1, -1, 0},
197 : { 3, s_9_5, -1, -1, 0},
198 : { 3, s_9_6, -1, -1, 0},
199 : { 3, s_9_7, -1, -1, 0}
200 : };
201 :
202 : static const symbol s_10_0[3] = { 0xE0, 0xAF, 0x80 };
203 : static const symbol s_10_1[3] = { 0xE0, 0xAF, 0x81 };
204 : static const symbol s_10_2[3] = { 0xE0, 0xAF, 0x82 };
205 : static const symbol s_10_3[3] = { 0xE0, 0xAF, 0x86 };
206 : static const symbol s_10_4[3] = { 0xE0, 0xAF, 0x87 };
207 : static const symbol s_10_5[3] = { 0xE0, 0xAF, 0x88 };
208 : static const symbol s_10_6[3] = { 0xE0, 0xAE, 0xBE };
209 : static const symbol s_10_7[3] = { 0xE0, 0xAE, 0xBF };
210 :
211 : static const struct among a_10[8] =
212 : {
213 : { 3, s_10_0, -1, -1, 0},
214 : { 3, s_10_1, -1, -1, 0},
215 : { 3, s_10_2, -1, -1, 0},
216 : { 3, s_10_3, -1, -1, 0},
217 : { 3, s_10_4, -1, -1, 0},
218 : { 3, s_10_5, -1, -1, 0},
219 : { 3, s_10_6, -1, -1, 0},
220 : { 3, s_10_7, -1, -1, 0}
221 : };
222 :
223 : static const symbol s_11_0[3] = { 0xE0, 0xAE, 0x85 };
224 : static const symbol s_11_1[3] = { 0xE0, 0xAE, 0x87 };
225 : static const symbol s_11_2[3] = { 0xE0, 0xAE, 0x89 };
226 :
227 : static const struct among a_11[3] =
228 : {
229 : { 3, s_11_0, -1, -1, 0},
230 : { 3, s_11_1, -1, -1, 0},
231 : { 3, s_11_2, -1, -1, 0}
232 : };
233 :
234 : static const symbol s_12_0[3] = { 0xE0, 0xAE, 0x95 };
235 : static const symbol s_12_1[3] = { 0xE0, 0xAE, 0x99 };
236 : static const symbol s_12_2[3] = { 0xE0, 0xAE, 0x9A };
237 : static const symbol s_12_3[3] = { 0xE0, 0xAE, 0x9E };
238 : static const symbol s_12_4[3] = { 0xE0, 0xAE, 0xA4 };
239 : static const symbol s_12_5[3] = { 0xE0, 0xAE, 0xA8 };
240 : static const symbol s_12_6[3] = { 0xE0, 0xAE, 0xAA };
241 : static const symbol s_12_7[3] = { 0xE0, 0xAE, 0xAE };
242 : static const symbol s_12_8[3] = { 0xE0, 0xAE, 0xAF };
243 : static const symbol s_12_9[3] = { 0xE0, 0xAE, 0xB5 };
244 :
245 : static const struct among a_12[10] =
246 : {
247 : { 3, s_12_0, -1, -1, 0},
248 : { 3, s_12_1, -1, -1, 0},
249 : { 3, s_12_2, -1, -1, 0},
250 : { 3, s_12_3, -1, -1, 0},
251 : { 3, s_12_4, -1, -1, 0},
252 : { 3, s_12_5, -1, -1, 0},
253 : { 3, s_12_6, -1, -1, 0},
254 : { 3, s_12_7, -1, -1, 0},
255 : { 3, s_12_8, -1, -1, 0},
256 : { 3, s_12_9, -1, -1, 0}
257 : };
258 :
259 : static const symbol s_13_0[3] = { 0xE0, 0xAE, 0x95 };
260 : static const symbol s_13_1[3] = { 0xE0, 0xAE, 0x9A };
261 : static const symbol s_13_2[3] = { 0xE0, 0xAE, 0x9F };
262 : static const symbol s_13_3[3] = { 0xE0, 0xAE, 0xA4 };
263 : static const symbol s_13_4[3] = { 0xE0, 0xAE, 0xAA };
264 : static const symbol s_13_5[3] = { 0xE0, 0xAE, 0xB1 };
265 :
266 : static const struct among a_13[6] =
267 : {
268 : { 3, s_13_0, -1, -1, 0},
269 : { 3, s_13_1, -1, -1, 0},
270 : { 3, s_13_2, -1, -1, 0},
271 : { 3, s_13_3, -1, -1, 0},
272 : { 3, s_13_4, -1, -1, 0},
273 : { 3, s_13_5, -1, -1, 0}
274 : };
275 :
276 : static const symbol s_14_0[3] = { 0xE0, 0xAF, 0x87 };
277 : static const symbol s_14_1[3] = { 0xE0, 0xAF, 0x8B };
278 : static const symbol s_14_2[3] = { 0xE0, 0xAE, 0xBE };
279 :
280 : static const struct among a_14[3] =
281 : {
282 : { 3, s_14_0, -1, -1, 0},
283 : { 3, s_14_1, -1, -1, 0},
284 : { 3, s_14_2, -1, -1, 0}
285 : };
286 :
287 : static const symbol s_15_0[6] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF };
288 : static const symbol s_15_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF };
289 :
290 : static const struct among a_15[2] =
291 : {
292 : { 6, s_15_0, -1, -1, 0},
293 : { 6, s_15_1, -1, -1, 0}
294 : };
295 :
296 : static const symbol s_16_0[3] = { 0xE0, 0xAF, 0x80 };
297 : static const symbol s_16_1[3] = { 0xE0, 0xAF, 0x81 };
298 : static const symbol s_16_2[3] = { 0xE0, 0xAF, 0x82 };
299 : static const symbol s_16_3[3] = { 0xE0, 0xAF, 0x86 };
300 : static const symbol s_16_4[3] = { 0xE0, 0xAF, 0x87 };
301 : static const symbol s_16_5[3] = { 0xE0, 0xAF, 0x88 };
302 : static const symbol s_16_6[3] = { 0xE0, 0xAE, 0xBE };
303 : static const symbol s_16_7[3] = { 0xE0, 0xAE, 0xBF };
304 :
305 : static const struct among a_16[8] =
306 : {
307 : { 3, s_16_0, -1, -1, 0},
308 : { 3, s_16_1, -1, -1, 0},
309 : { 3, s_16_2, -1, -1, 0},
310 : { 3, s_16_3, -1, -1, 0},
311 : { 3, s_16_4, -1, -1, 0},
312 : { 3, s_16_5, -1, -1, 0},
313 : { 3, s_16_6, -1, -1, 0},
314 : { 3, s_16_7, -1, -1, 0}
315 : };
316 :
317 : static const symbol s_17_0[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
318 : static const symbol s_17_1[18] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
319 : static const symbol s_17_2[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
320 : static const symbol s_17_3[12] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
321 : static const symbol s_17_4[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
322 : static const symbol s_17_5[21] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
323 : static const symbol s_17_6[12] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F };
324 : static const symbol s_17_7[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA3 };
325 : static const symbol s_17_8[9] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
326 : static const symbol s_17_9[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
327 : static const symbol s_17_10[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB0, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
328 : static const symbol s_17_11[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF };
329 : static const symbol s_17_12[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
330 :
331 : static const struct among a_17[13] =
332 : {
333 : { 15, s_17_0, -1, -1, 0},
334 : { 18, s_17_1, -1, -1, 0},
335 : { 9, s_17_2, -1, -1, 0},
336 : { 12, s_17_3, -1, -1, 0},
337 : { 18, s_17_4, -1, -1, 0},
338 : { 21, s_17_5, -1, -1, 0},
339 : { 12, s_17_6, -1, -1, 0},
340 : { 15, s_17_7, -1, -1, 0},
341 : { 9, s_17_8, -1, -1, 0},
342 : { 18, s_17_9, 8, -1, 0},
343 : { 15, s_17_10, -1, -1, 0},
344 : { 9, s_17_11, -1, -1, 0},
345 : { 15, s_17_12, -1, -1, 0}
346 : };
347 :
348 : static const symbol s_18_0[3] = { 0xE0, 0xAE, 0x95 };
349 : static const symbol s_18_1[3] = { 0xE0, 0xAE, 0x9A };
350 : static const symbol s_18_2[3] = { 0xE0, 0xAE, 0x9F };
351 : static const symbol s_18_3[3] = { 0xE0, 0xAE, 0xA4 };
352 : static const symbol s_18_4[3] = { 0xE0, 0xAE, 0xAA };
353 : static const symbol s_18_5[3] = { 0xE0, 0xAE, 0xB1 };
354 :
355 : static const struct among a_18[6] =
356 : {
357 : { 3, s_18_0, -1, -1, 0},
358 : { 3, s_18_1, -1, -1, 0},
359 : { 3, s_18_2, -1, -1, 0},
360 : { 3, s_18_3, -1, -1, 0},
361 : { 3, s_18_4, -1, -1, 0},
362 : { 3, s_18_5, -1, -1, 0}
363 : };
364 :
365 : static const symbol s_19_0[3] = { 0xE0, 0xAE, 0x95 };
366 : static const symbol s_19_1[3] = { 0xE0, 0xAE, 0x9A };
367 : static const symbol s_19_2[3] = { 0xE0, 0xAE, 0x9F };
368 : static const symbol s_19_3[3] = { 0xE0, 0xAE, 0xA4 };
369 : static const symbol s_19_4[3] = { 0xE0, 0xAE, 0xAA };
370 : static const symbol s_19_5[3] = { 0xE0, 0xAE, 0xB1 };
371 :
372 : static const struct among a_19[6] =
373 : {
374 : { 3, s_19_0, -1, -1, 0},
375 : { 3, s_19_1, -1, -1, 0},
376 : { 3, s_19_2, -1, -1, 0},
377 : { 3, s_19_3, -1, -1, 0},
378 : { 3, s_19_4, -1, -1, 0},
379 : { 3, s_19_5, -1, -1, 0}
380 : };
381 :
382 : static const symbol s_20_0[3] = { 0xE0, 0xAF, 0x80 };
383 : static const symbol s_20_1[3] = { 0xE0, 0xAF, 0x81 };
384 : static const symbol s_20_2[3] = { 0xE0, 0xAF, 0x82 };
385 : static const symbol s_20_3[3] = { 0xE0, 0xAF, 0x86 };
386 : static const symbol s_20_4[3] = { 0xE0, 0xAF, 0x87 };
387 : static const symbol s_20_5[3] = { 0xE0, 0xAF, 0x88 };
388 : static const symbol s_20_6[3] = { 0xE0, 0xAE, 0xBE };
389 : static const symbol s_20_7[3] = { 0xE0, 0xAE, 0xBF };
390 :
391 : static const struct among a_20[8] =
392 : {
393 : { 3, s_20_0, -1, -1, 0},
394 : { 3, s_20_1, -1, -1, 0},
395 : { 3, s_20_2, -1, -1, 0},
396 : { 3, s_20_3, -1, -1, 0},
397 : { 3, s_20_4, -1, -1, 0},
398 : { 3, s_20_5, -1, -1, 0},
399 : { 3, s_20_6, -1, -1, 0},
400 : { 3, s_20_7, -1, -1, 0}
401 : };
402 :
403 : static const symbol s_21_0[3] = { 0xE0, 0xAF, 0x80 };
404 : static const symbol s_21_1[3] = { 0xE0, 0xAF, 0x81 };
405 : static const symbol s_21_2[3] = { 0xE0, 0xAF, 0x82 };
406 : static const symbol s_21_3[3] = { 0xE0, 0xAF, 0x86 };
407 : static const symbol s_21_4[3] = { 0xE0, 0xAF, 0x87 };
408 : static const symbol s_21_5[3] = { 0xE0, 0xAF, 0x88 };
409 : static const symbol s_21_6[3] = { 0xE0, 0xAE, 0xBE };
410 : static const symbol s_21_7[3] = { 0xE0, 0xAE, 0xBF };
411 :
412 : static const struct among a_21[8] =
413 : {
414 : { 3, s_21_0, -1, -1, 0},
415 : { 3, s_21_1, -1, -1, 0},
416 : { 3, s_21_2, -1, -1, 0},
417 : { 3, s_21_3, -1, -1, 0},
418 : { 3, s_21_4, -1, -1, 0},
419 : { 3, s_21_5, -1, -1, 0},
420 : { 3, s_21_6, -1, -1, 0},
421 : { 3, s_21_7, -1, -1, 0}
422 : };
423 :
424 : static const symbol s_22_0[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
425 : static const symbol s_22_1[24] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
426 :
427 : static const struct among a_22[2] =
428 : {
429 : { 9, s_22_0, -1, -1, 0},
430 : { 24, s_22_1, -1, -1, 0}
431 : };
432 :
433 : static const symbol s_23_0[3] = { 0xE0, 0xAE, 0x85 };
434 : static const symbol s_23_1[3] = { 0xE0, 0xAE, 0x86 };
435 : static const symbol s_23_2[3] = { 0xE0, 0xAE, 0x87 };
436 : static const symbol s_23_3[3] = { 0xE0, 0xAE, 0x88 };
437 : static const symbol s_23_4[3] = { 0xE0, 0xAE, 0x89 };
438 : static const symbol s_23_5[3] = { 0xE0, 0xAE, 0x8A };
439 : static const symbol s_23_6[3] = { 0xE0, 0xAE, 0x8E };
440 : static const symbol s_23_7[3] = { 0xE0, 0xAE, 0x8F };
441 : static const symbol s_23_8[3] = { 0xE0, 0xAE, 0x90 };
442 : static const symbol s_23_9[3] = { 0xE0, 0xAE, 0x92 };
443 : static const symbol s_23_10[3] = { 0xE0, 0xAE, 0x93 };
444 : static const symbol s_23_11[3] = { 0xE0, 0xAE, 0x94 };
445 :
446 : static const struct among a_23[12] =
447 : {
448 : { 3, s_23_0, -1, -1, 0},
449 : { 3, s_23_1, -1, -1, 0},
450 : { 3, s_23_2, -1, -1, 0},
451 : { 3, s_23_3, -1, -1, 0},
452 : { 3, s_23_4, -1, -1, 0},
453 : { 3, s_23_5, -1, -1, 0},
454 : { 3, s_23_6, -1, -1, 0},
455 : { 3, s_23_7, -1, -1, 0},
456 : { 3, s_23_8, -1, -1, 0},
457 : { 3, s_23_9, -1, -1, 0},
458 : { 3, s_23_10, -1, -1, 0},
459 : { 3, s_23_11, -1, -1, 0}
460 : };
461 :
462 : static const symbol s_24_0[3] = { 0xE0, 0xAF, 0x80 };
463 : static const symbol s_24_1[3] = { 0xE0, 0xAF, 0x81 };
464 : static const symbol s_24_2[3] = { 0xE0, 0xAF, 0x82 };
465 : static const symbol s_24_3[3] = { 0xE0, 0xAF, 0x86 };
466 : static const symbol s_24_4[3] = { 0xE0, 0xAF, 0x87 };
467 : static const symbol s_24_5[3] = { 0xE0, 0xAF, 0x88 };
468 : static const symbol s_24_6[3] = { 0xE0, 0xAE, 0xBE };
469 : static const symbol s_24_7[3] = { 0xE0, 0xAE, 0xBF };
470 :
471 : static const struct among a_24[8] =
472 : {
473 : { 3, s_24_0, -1, -1, 0},
474 : { 3, s_24_1, -1, -1, 0},
475 : { 3, s_24_2, -1, -1, 0},
476 : { 3, s_24_3, -1, -1, 0},
477 : { 3, s_24_4, -1, -1, 0},
478 : { 3, s_24_5, -1, -1, 0},
479 : { 3, s_24_6, -1, -1, 0},
480 : { 3, s_24_7, -1, -1, 0}
481 : };
482 :
483 : static const symbol s_25_0[18] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
484 : static const symbol s_25_1[21] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
485 : static const symbol s_25_2[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
486 : static const symbol s_25_3[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
487 : static const symbol s_25_4[18] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
488 : static const symbol s_25_5[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1 };
489 :
490 : static const struct among a_25[6] =
491 : {
492 : { 18, s_25_0, -1, -1, 0},
493 : { 21, s_25_1, -1, -1, 0},
494 : { 12, s_25_2, -1, -1, 0},
495 : { 15, s_25_3, -1, -1, 0},
496 : { 18, s_25_4, -1, -1, 0},
497 : { 9, s_25_5, -1, -1, 0}
498 : };
499 :
500 : static const symbol s_0[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };
501 : static const symbol s_1[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };
502 : static const symbol s_2[] = { 0xE0, 0xAE, 0x93 };
503 : static const symbol s_3[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
504 : static const symbol s_4[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
505 : static const symbol s_5[] = { 0xE0, 0xAE, 0x92 };
506 : static const symbol s_6[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
507 : static const symbol s_7[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
508 : static const symbol s_8[] = { 0xE0, 0xAE, 0x89 };
509 : static const symbol s_9[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
510 : static const symbol s_10[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
511 : static const symbol s_11[] = { 0xE0, 0xAE, 0x8A };
512 : static const symbol s_12[] = { 0xE0, 0xAE, 0x8E };
513 : static const symbol s_13[] = { 0xE0, 0xAF, 0x8D };
514 : static const symbol s_14[] = { 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
515 : static const symbol s_15[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xAA, 0xE0, 0xAF, 0x8D };
516 : static const symbol s_16[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
517 : static const symbol s_17[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
518 : static const symbol s_18[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
519 : static const symbol s_19[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
520 : static const symbol s_20[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
521 : static const symbol s_21[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
522 : static const symbol s_22[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D };
523 : static const symbol s_23[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
524 : static const symbol s_24[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
525 : static const symbol s_25[] = { 0xE0, 0xAF, 0x88 };
526 : static const symbol s_26[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
527 : static const symbol s_27[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
528 : static const symbol s_28[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
529 : static const symbol s_29[] = { 0xE0, 0xAF, 0x8D };
530 : static const symbol s_30[] = { 0xE0, 0xAF, 0x8D };
531 : static const symbol s_31[] = { 0xE0, 0xAF, 0x8D };
532 : static const symbol s_32[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
533 : static const symbol s_33[] = { 0xE0, 0xAF, 0x8D };
534 : static const symbol s_34[] = { 0xE0, 0xAF, 0x8D };
535 : static const symbol s_35[] = { 0xE0, 0xAF, 0x8D };
536 : static const symbol s_36[] = { 0xE0, 0xAF, 0x8D };
537 : static const symbol s_37[] = { 0xE0, 0xAF, 0x8D };
538 : static const symbol s_38[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81 };
539 : static const symbol s_39[] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
540 : static const symbol s_40[] = { 0xE0, 0xAF, 0x88 };
541 : static const symbol s_41[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
542 : static const symbol s_42[] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
543 : static const symbol s_43[] = { 0xE0, 0xAF, 0x8D };
544 : static const symbol s_44[] = { 0xE0, 0xAF, 0x8D };
545 : static const symbol s_45[] = { 0xE0, 0xAF, 0x8D };
546 : static const symbol s_46[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
547 : static const symbol s_47[] = { 0xE0, 0xAF, 0x8D };
548 : static const symbol s_48[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
549 : static const symbol s_49[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
550 : static const symbol s_50[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
551 : static const symbol s_51[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
552 : static const symbol s_52[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
553 : static const symbol s_53[] = { 0xE0, 0xAF, 0x8D };
554 : static const symbol s_54[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
555 : static const symbol s_55[] = { 0xE0, 0xAF, 0x8D };
556 : static const symbol s_56[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
557 : static const symbol s_57[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x88 };
558 : static const symbol s_58[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
559 : static const symbol s_59[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
560 : static const symbol s_60[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF };
561 : static const symbol s_61[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
562 : static const symbol s_62[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
563 : static const symbol s_63[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB3 };
564 : static const symbol s_64[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88, 0xE0, 0xAE, 0xAF };
565 : static const symbol s_65[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
566 : static const symbol s_66[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
567 : static const symbol s_67[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2 };
568 : static const symbol s_68[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9 };
569 : static const symbol s_69[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF };
570 : static const symbol s_70[] = { 0xE0, 0xAF, 0x8D };
571 : static const symbol s_71[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
572 : static const symbol s_72[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
573 : static const symbol s_73[] = { 0xE0, 0xAF, 0x88 };
574 : static const symbol s_74[] = { 0xE0, 0xAF, 0x88 };
575 : static const symbol s_75[] = { 0xE0, 0xAF, 0x8D };
576 : static const symbol s_76[] = { 0xE0, 0xAF, 0x8D };
577 : static const symbol s_77[] = { 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
578 : static const symbol s_78[] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
579 : static const symbol s_79[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
580 : static const symbol s_80[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
581 : static const symbol s_81[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
582 : static const symbol s_82[] = { 0xE0, 0xAE, 0xAE };
583 : static const symbol s_83[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
584 : static const symbol s_84[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
585 : static const symbol s_85[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F };
586 : static const symbol s_86[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
587 : static const symbol s_87[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
588 : static const symbol s_88[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
589 : static const symbol s_89[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
590 : static const symbol s_90[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
591 : static const symbol s_91[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
592 : static const symbol s_92[] = { 0xE0, 0xAF, 0x8D };
593 : static const symbol s_93[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D };
594 : static const symbol s_94[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
595 : static const symbol s_95[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
596 : static const symbol s_96[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
597 : static const symbol s_97[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB4, 0xE0, 0xAF, 0x8D };
598 : static const symbol s_98[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
599 : static const symbol s_99[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
600 : static const symbol s_100[] = { 0xE0, 0xAF, 0x80 };
601 : static const symbol s_101[] = { 0xE0, 0xAE, 0xBF };
602 : static const symbol s_102[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
603 : static const symbol s_103[] = { 0xE0, 0xAF, 0x8D };
604 : static const symbol s_104[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
605 : static const symbol s_105[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
606 : static const symbol s_106[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
607 : static const symbol s_107[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
608 : static const symbol s_108[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
609 : static const symbol s_109[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
610 : static const symbol s_110[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
611 : static const symbol s_111[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
612 : static const symbol s_112[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
613 : static const symbol s_113[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
614 : static const symbol s_114[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
615 : static const symbol s_115[] = { 0xE0, 0xAE, 0xA9 };
616 : static const symbol s_116[] = { 0xE0, 0xAE, 0xAA };
617 : static const symbol s_117[] = { 0xE0, 0xAE, 0x95 };
618 : static const symbol s_118[] = { 0xE0, 0xAE, 0xA4 };
619 : static const symbol s_119[] = { 0xE0, 0xAE, 0xAF };
620 : static const symbol s_120[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
621 : static const symbol s_121[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
622 : static const symbol s_122[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
623 : static const symbol s_123[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
624 : static const symbol s_124[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
625 : static const symbol s_125[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
626 : static const symbol s_126[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
627 : static const symbol s_127[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
628 : static const symbol s_128[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
629 : static const symbol s_129[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
630 : static const symbol s_130[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
631 : static const symbol s_131[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
632 : static const symbol s_132[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x88 };
633 : static const symbol s_133[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
634 : static const symbol s_134[] = { 0xE0, 0xAE, 0x9A };
635 : static const symbol s_135[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
636 : static const symbol s_136[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
637 : static const symbol s_137[] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
638 : static const symbol s_138[] = { 0xE0, 0xAE, 0xBE };
639 : static const symbol s_139[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
640 : static const symbol s_140[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
641 : static const symbol s_141[] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
642 : static const symbol s_142[] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
643 : static const symbol s_143[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
644 : static const symbol s_144[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
645 : static const symbol s_145[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
646 : static const symbol s_146[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
647 : static const symbol s_147[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
648 : static const symbol s_148[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
649 : static const symbol s_149[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
650 : static const symbol s_150[] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
651 : static const symbol s_151[] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xAF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
652 : static const symbol s_152[] = { 0xE0, 0xAF, 0x8D };
653 : static const symbol s_153[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81 };
654 : static const symbol s_154[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
655 : static const symbol s_155[] = { 0xE0, 0xAF, 0x8D };
656 :
657 0 : static int r_has_min_length(struct SN_env * z) {
658 0 : if (!(len_utf8(z->p) > 4)) return 0;
659 0 : return 1;
660 : }
661 :
662 0 : static int r_fix_va_start(struct SN_env * z) {
663 0 : { int c1 = z->c;
664 0 : { int c2 = z->c;
665 0 : { int c3 = z->c;
666 0 : if (!(eq_s(z, 6, s_0))) { z->c = c3; goto lab2; }
667 0 : lab2:
668 : ;
669 : }
670 0 : z->c = c2;
671 0 : z->bra = z->c;
672 : }
673 0 : if (!(eq_s(z, 6, s_1))) goto lab1;
674 0 : z->ket = z->c;
675 0 : { int ret = slice_from_s(z, 3, s_2);
676 0 : if (ret < 0) return ret;
677 : }
678 0 : goto lab0;
679 0 : lab1:
680 0 : z->c = c1;
681 0 : { int c4 = z->c;
682 0 : { int c5 = z->c;
683 0 : if (!(eq_s(z, 6, s_3))) { z->c = c5; goto lab4; }
684 0 : lab4:
685 : ;
686 : }
687 0 : z->c = c4;
688 0 : z->bra = z->c;
689 : }
690 0 : if (!(eq_s(z, 6, s_4))) goto lab3;
691 0 : z->ket = z->c;
692 0 : { int ret = slice_from_s(z, 3, s_5);
693 0 : if (ret < 0) return ret;
694 : }
695 0 : goto lab0;
696 0 : lab3:
697 0 : z->c = c1;
698 0 : { int c6 = z->c;
699 0 : { int c7 = z->c;
700 0 : if (!(eq_s(z, 6, s_6))) { z->c = c7; goto lab6; }
701 0 : lab6:
702 : ;
703 : }
704 0 : z->c = c6;
705 0 : z->bra = z->c;
706 : }
707 0 : if (!(eq_s(z, 6, s_7))) goto lab5;
708 0 : z->ket = z->c;
709 0 : { int ret = slice_from_s(z, 3, s_8);
710 0 : if (ret < 0) return ret;
711 : }
712 0 : goto lab0;
713 0 : lab5:
714 0 : z->c = c1;
715 0 : { int c8 = z->c;
716 0 : { int c9 = z->c;
717 0 : if (!(eq_s(z, 6, s_9))) { z->c = c9; goto lab7; }
718 0 : lab7:
719 : ;
720 : }
721 0 : z->c = c8;
722 0 : z->bra = z->c;
723 : }
724 0 : if (!(eq_s(z, 6, s_10))) return 0;
725 0 : z->ket = z->c;
726 0 : { int ret = slice_from_s(z, 3, s_11);
727 0 : if (ret < 0) return ret;
728 : }
729 : }
730 0 : lab0:
731 0 : return 1;
732 : }
733 :
734 0 : static int r_fix_endings(struct SN_env * z) {
735 0 : { int c1 = z->c;
736 0 : while(1) {
737 0 : int c2 = z->c;
738 0 : { int ret = r_fix_ending(z);
739 0 : if (ret == 0) goto lab1;
740 0 : if (ret < 0) return ret;
741 : }
742 0 : continue;
743 0 : lab1:
744 0 : z->c = c2;
745 0 : break;
746 : }
747 0 : z->c = c1;
748 : }
749 0 : return 1;
750 : }
751 :
752 0 : static int r_remove_question_prefixes(struct SN_env * z) {
753 0 : z->bra = z->c;
754 0 : if (!(eq_s(z, 3, s_12))) return 0;
755 0 : if (!(find_among(z, a_0, 10))) return 0;
756 0 : if (!(eq_s(z, 3, s_13))) return 0;
757 0 : z->ket = z->c;
758 0 : { int ret = slice_del(z);
759 0 : if (ret < 0) return ret;
760 : }
761 0 : { int c1 = z->c;
762 0 : { int ret = r_fix_va_start(z);
763 0 : if (ret < 0) return ret;
764 : }
765 0 : z->c = c1;
766 : }
767 0 : return 1;
768 : }
769 :
770 0 : static int r_fix_ending(struct SN_env * z) {
771 0 : if (!(len_utf8(z->p) > 3)) return 0;
772 0 : z->lb = z->c; z->c = z->l;
773 :
774 0 : { int m1 = z->l - z->c; (void)m1;
775 0 : z->ket = z->c;
776 0 : if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 164)) goto lab1;
777 0 : if (!(find_among_b(z, a_1, 3))) goto lab1;
778 0 : z->bra = z->c;
779 0 : { int ret = slice_del(z);
780 0 : if (ret < 0) return ret;
781 : }
782 0 : goto lab0;
783 0 : lab1:
784 0 : z->c = z->l - m1;
785 0 : z->ket = z->c;
786 0 : if (!(eq_s_b(z, 6, s_14))) goto lab2;
787 0 : { int m_test2 = z->l - z->c;
788 0 : if (!(find_among_b(z, a_2, 3))) goto lab2;
789 0 : z->c = z->l - m_test2;
790 : }
791 0 : z->bra = z->c;
792 0 : { int ret = slice_del(z);
793 0 : if (ret < 0) return ret;
794 : }
795 0 : goto lab0;
796 0 : lab2:
797 0 : z->c = z->l - m1;
798 0 : z->ket = z->c;
799 0 : { int m3 = z->l - z->c; (void)m3;
800 0 : if (!(eq_s_b(z, 12, s_15))) goto lab5;
801 0 : goto lab4;
802 0 : lab5:
803 0 : z->c = z->l - m3;
804 0 : if (!(eq_s_b(z, 12, s_16))) goto lab3;
805 : }
806 0 : lab4:
807 0 : z->bra = z->c;
808 0 : { int ret = slice_from_s(z, 6, s_17);
809 0 : if (ret < 0) return ret;
810 : }
811 0 : goto lab0;
812 0 : lab3:
813 0 : z->c = z->l - m1;
814 0 : z->ket = z->c;
815 0 : if (!(eq_s_b(z, 12, s_18))) goto lab6;
816 0 : z->bra = z->c;
817 0 : { int ret = slice_from_s(z, 6, s_19);
818 0 : if (ret < 0) return ret;
819 : }
820 0 : goto lab0;
821 0 : lab6:
822 0 : z->c = z->l - m1;
823 0 : z->ket = z->c;
824 0 : if (!(eq_s_b(z, 12, s_20))) goto lab7;
825 0 : z->bra = z->c;
826 0 : { int ret = slice_from_s(z, 6, s_21);
827 0 : if (ret < 0) return ret;
828 : }
829 0 : goto lab0;
830 0 : lab7:
831 0 : z->c = z->l - m1;
832 0 : z->ket = z->c;
833 0 : if (!(eq_s_b(z, 12, s_22))) goto lab8;
834 0 : z->bra = z->c;
835 0 : { int ret = slice_from_s(z, 6, s_23);
836 0 : if (ret < 0) return ret;
837 : }
838 0 : goto lab0;
839 0 : lab8:
840 0 : z->c = z->l - m1;
841 0 : if (!(z->I[0])) goto lab9;
842 0 : z->ket = z->c;
843 0 : if (!(eq_s_b(z, 12, s_24))) goto lab9;
844 0 : { int m_test4 = z->l - z->c;
845 0 : { int m5 = z->l - z->c; (void)m5;
846 0 : if (!(eq_s_b(z, 3, s_25))) goto lab10;
847 0 : goto lab9;
848 0 : lab10:
849 0 : z->c = z->l - m5;
850 : }
851 0 : z->c = z->l - m_test4;
852 : }
853 0 : z->bra = z->c;
854 0 : { int ret = slice_from_s(z, 6, s_26);
855 0 : if (ret < 0) return ret;
856 : }
857 0 : z->bra = z->c;
858 0 : goto lab0;
859 0 : lab9:
860 0 : z->c = z->l - m1;
861 0 : z->ket = z->c;
862 0 : { int m6 = z->l - z->c; (void)m6;
863 0 : if (!(eq_s_b(z, 9, s_27))) goto lab13;
864 0 : goto lab12;
865 0 : lab13:
866 0 : z->c = z->l - m6;
867 0 : if (!(eq_s_b(z, 15, s_28))) goto lab11;
868 : }
869 0 : lab12:
870 0 : z->bra = z->c;
871 0 : { int ret = slice_from_s(z, 3, s_29);
872 0 : if (ret < 0) return ret;
873 : }
874 0 : goto lab0;
875 0 : lab11:
876 0 : z->c = z->l - m1;
877 0 : z->ket = z->c;
878 0 : if (!(eq_s_b(z, 3, s_30))) goto lab14;
879 0 : if (!(find_among_b(z, a_3, 6))) goto lab14;
880 0 : if (!(eq_s_b(z, 3, s_31))) goto lab14;
881 0 : if (!(find_among_b(z, a_4, 6))) goto lab14;
882 0 : z->bra = z->c;
883 0 : { int ret = slice_del(z);
884 0 : if (ret < 0) return ret;
885 : }
886 0 : goto lab0;
887 0 : lab14:
888 0 : z->c = z->l - m1;
889 0 : z->ket = z->c;
890 0 : if (!(eq_s_b(z, 9, s_32))) goto lab15;
891 0 : z->bra = z->c;
892 0 : { int ret = slice_from_s(z, 3, s_33);
893 0 : if (ret < 0) return ret;
894 : }
895 0 : goto lab0;
896 0 : lab15:
897 0 : z->c = z->l - m1;
898 0 : z->ket = z->c;
899 0 : if (!(eq_s_b(z, 3, s_34))) goto lab16;
900 0 : if (!(find_among_b(z, a_5, 6))) goto lab16;
901 0 : z->bra = z->c;
902 0 : { int ret = slice_del(z);
903 0 : if (ret < 0) return ret;
904 : }
905 0 : goto lab0;
906 0 : lab16:
907 0 : z->c = z->l - m1;
908 0 : z->ket = z->c;
909 0 : if (!(eq_s_b(z, 3, s_35))) goto lab17;
910 0 : { int m7 = z->l - z->c; (void)m7;
911 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((4030464 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab19;
912 0 : if (!(find_among_b(z, a_6, 6))) goto lab19;
913 0 : goto lab18;
914 0 : lab19:
915 0 : z->c = z->l - m7;
916 0 : if (!(find_among_b(z, a_7, 6))) goto lab17;
917 : }
918 0 : lab18:
919 0 : if (!(eq_s_b(z, 3, s_36))) goto lab17;
920 0 : z->bra = z->c;
921 0 : { int ret = slice_from_s(z, 3, s_37);
922 0 : if (ret < 0) return ret;
923 : }
924 0 : goto lab0;
925 0 : lab17:
926 0 : z->c = z->l - m1;
927 0 : z->ket = z->c;
928 0 : if (!(find_among_b(z, a_8, 3))) goto lab20;
929 0 : z->bra = z->c;
930 0 : { int ret = slice_del(z);
931 0 : if (ret < 0) return ret;
932 : }
933 0 : goto lab0;
934 0 : lab20:
935 0 : z->c = z->l - m1;
936 0 : z->ket = z->c;
937 0 : if (!(eq_s_b(z, 6, s_38))) goto lab21;
938 0 : { int m_test8 = z->l - z->c;
939 0 : { int m9 = z->l - z->c; (void)m9;
940 0 : if (!(find_among_b(z, a_9, 8))) goto lab22;
941 0 : goto lab21;
942 0 : lab22:
943 0 : z->c = z->l - m9;
944 : }
945 0 : z->c = z->l - m_test8;
946 : }
947 0 : z->bra = z->c;
948 0 : { int ret = slice_del(z);
949 0 : if (ret < 0) return ret;
950 : }
951 0 : goto lab0;
952 0 : lab21:
953 0 : z->c = z->l - m1;
954 0 : z->ket = z->c;
955 0 : if (!(eq_s_b(z, 6, s_39))) goto lab23;
956 0 : { int m_test10 = z->l - z->c;
957 0 : { int m11 = z->l - z->c; (void)m11;
958 0 : if (!(eq_s_b(z, 3, s_40))) goto lab24;
959 0 : goto lab23;
960 0 : lab24:
961 0 : z->c = z->l - m11;
962 : }
963 0 : z->c = z->l - m_test10;
964 : }
965 0 : z->bra = z->c;
966 0 : { int ret = slice_from_s(z, 6, s_41);
967 0 : if (ret < 0) return ret;
968 : }
969 0 : goto lab0;
970 0 : lab23:
971 0 : z->c = z->l - m1;
972 0 : z->ket = z->c;
973 0 : if (!(eq_s_b(z, 6, s_42))) goto lab25;
974 0 : z->bra = z->c;
975 0 : { int ret = slice_del(z);
976 0 : if (ret < 0) return ret;
977 : }
978 0 : goto lab0;
979 0 : lab25:
980 0 : z->c = z->l - m1;
981 0 : z->ket = z->c;
982 0 : if (!(eq_s_b(z, 3, s_43))) return 0;
983 0 : { int m_test12 = z->l - z->c;
984 0 : { int m13 = z->l - z->c; (void)m13;
985 0 : if (!(find_among_b(z, a_10, 8))) goto lab27;
986 0 : goto lab26;
987 0 : lab27:
988 0 : z->c = z->l - m13;
989 0 : if (!(eq_s_b(z, 3, s_44))) return 0;
990 : }
991 0 : lab26:
992 0 : z->c = z->l - m_test12;
993 : }
994 0 : z->bra = z->c;
995 0 : { int ret = slice_del(z);
996 0 : if (ret < 0) return ret;
997 : }
998 : }
999 0 : lab0:
1000 0 : z->c = z->lb;
1001 0 : return 1;
1002 : }
1003 :
1004 0 : static int r_remove_pronoun_prefixes(struct SN_env * z) {
1005 0 : z->I[1] = 0;
1006 0 : z->bra = z->c;
1007 0 : if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 4 || !((672 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0;
1008 0 : if (!(find_among(z, a_11, 3))) return 0;
1009 0 : if (!(find_among(z, a_12, 10))) return 0;
1010 0 : if (!(eq_s(z, 3, s_45))) return 0;
1011 0 : z->ket = z->c;
1012 0 : { int ret = slice_del(z);
1013 0 : if (ret < 0) return ret;
1014 : }
1015 0 : z->I[1] = 1;
1016 0 : { int c1 = z->c;
1017 0 : { int ret = r_fix_va_start(z);
1018 0 : if (ret < 0) return ret;
1019 : }
1020 0 : z->c = c1;
1021 : }
1022 0 : return 1;
1023 : }
1024 :
1025 0 : static int r_remove_plural_suffix(struct SN_env * z) {
1026 0 : z->I[1] = 0;
1027 0 : z->lb = z->c; z->c = z->l;
1028 :
1029 0 : { int m1 = z->l - z->c; (void)m1;
1030 0 : z->ket = z->c;
1031 0 : if (!(eq_s_b(z, 18, s_46))) goto lab1;
1032 0 : { int m_test2 = z->l - z->c;
1033 0 : { int m3 = z->l - z->c; (void)m3;
1034 0 : if (!(find_among_b(z, a_13, 6))) goto lab2;
1035 0 : goto lab1;
1036 0 : lab2:
1037 0 : z->c = z->l - m3;
1038 : }
1039 0 : z->c = z->l - m_test2;
1040 : }
1041 0 : z->bra = z->c;
1042 0 : { int ret = slice_from_s(z, 3, s_47);
1043 0 : if (ret < 0) return ret;
1044 : }
1045 0 : goto lab0;
1046 0 : lab1:
1047 0 : z->c = z->l - m1;
1048 0 : z->ket = z->c;
1049 0 : if (!(eq_s_b(z, 15, s_48))) goto lab3;
1050 0 : z->bra = z->c;
1051 0 : { int ret = slice_from_s(z, 6, s_49);
1052 0 : if (ret < 0) return ret;
1053 : }
1054 0 : goto lab0;
1055 0 : lab3:
1056 0 : z->c = z->l - m1;
1057 0 : z->ket = z->c;
1058 0 : if (!(eq_s_b(z, 15, s_50))) goto lab4;
1059 0 : z->bra = z->c;
1060 0 : { int ret = slice_from_s(z, 6, s_51);
1061 0 : if (ret < 0) return ret;
1062 : }
1063 0 : goto lab0;
1064 0 : lab4:
1065 0 : z->c = z->l - m1;
1066 0 : z->ket = z->c;
1067 0 : if (!(eq_s_b(z, 9, s_52))) return 0;
1068 0 : z->bra = z->c;
1069 0 : { int ret = slice_del(z);
1070 0 : if (ret < 0) return ret;
1071 : }
1072 : }
1073 0 : lab0:
1074 0 : z->I[1] = 1;
1075 0 : z->c = z->lb;
1076 0 : return 1;
1077 : }
1078 :
1079 0 : static int r_remove_question_suffixes(struct SN_env * z) {
1080 0 : { int ret = r_has_min_length(z);
1081 0 : if (ret <= 0) return ret;
1082 : }
1083 0 : z->I[1] = 0;
1084 0 : z->lb = z->c; z->c = z->l;
1085 :
1086 0 : { int m1 = z->l - z->c; (void)m1;
1087 0 : z->ket = z->c;
1088 0 : if (!(find_among_b(z, a_14, 3))) goto lab0;
1089 0 : z->bra = z->c;
1090 0 : { int ret = slice_from_s(z, 3, s_53);
1091 0 : if (ret < 0) return ret;
1092 : }
1093 0 : z->I[1] = 1;
1094 0 : lab0:
1095 0 : z->c = z->l - m1;
1096 : }
1097 0 : z->c = z->lb;
1098 :
1099 0 : { int ret = r_fix_endings(z);
1100 0 : if (ret < 0) return ret;
1101 : }
1102 0 : return 1;
1103 : }
1104 :
1105 0 : static int r_remove_command_suffixes(struct SN_env * z) {
1106 0 : { int ret = r_has_min_length(z);
1107 0 : if (ret <= 0) return ret;
1108 : }
1109 0 : z->I[1] = 0;
1110 0 : z->lb = z->c; z->c = z->l;
1111 :
1112 0 : z->ket = z->c;
1113 0 : if (z->c - 5 <= z->lb || z->p[z->c - 1] != 191) return 0;
1114 0 : if (!(find_among_b(z, a_15, 2))) return 0;
1115 0 : z->bra = z->c;
1116 0 : { int ret = slice_del(z);
1117 0 : if (ret < 0) return ret;
1118 : }
1119 0 : z->I[1] = 1;
1120 0 : z->c = z->lb;
1121 0 : return 1;
1122 : }
1123 :
1124 0 : static int r_remove_um(struct SN_env * z) {
1125 0 : z->I[1] = 0;
1126 0 : { int ret = r_has_min_length(z);
1127 0 : if (ret <= 0) return ret;
1128 : }
1129 0 : z->lb = z->c; z->c = z->l;
1130 :
1131 0 : z->ket = z->c;
1132 0 : if (!(eq_s_b(z, 9, s_54))) return 0;
1133 0 : z->bra = z->c;
1134 0 : { int ret = slice_from_s(z, 3, s_55);
1135 0 : if (ret < 0) return ret;
1136 : }
1137 0 : z->I[1] = 1;
1138 0 : z->c = z->lb;
1139 0 : { int c1 = z->c;
1140 0 : { int ret = r_fix_ending(z);
1141 0 : if (ret < 0) return ret;
1142 : }
1143 0 : z->c = c1;
1144 : }
1145 0 : return 1;
1146 : }
1147 :
1148 0 : static int r_remove_common_word_endings(struct SN_env * z) {
1149 0 : z->I[1] = 0;
1150 0 : { int ret = r_has_min_length(z);
1151 0 : if (ret <= 0) return ret;
1152 : }
1153 0 : z->lb = z->c; z->c = z->l;
1154 :
1155 0 : { int m1 = z->l - z->c; (void)m1;
1156 0 : { int m_test2 = z->l - z->c;
1157 0 : z->ket = z->c;
1158 0 : { int m3 = z->l - z->c; (void)m3;
1159 0 : if (!(eq_s_b(z, 12, s_56))) goto lab3;
1160 0 : goto lab2;
1161 0 : lab3:
1162 0 : z->c = z->l - m3;
1163 0 : if (!(eq_s_b(z, 15, s_57))) goto lab4;
1164 0 : goto lab2;
1165 0 : lab4:
1166 0 : z->c = z->l - m3;
1167 0 : if (!(eq_s_b(z, 12, s_58))) goto lab5;
1168 0 : goto lab2;
1169 0 : lab5:
1170 0 : z->c = z->l - m3;
1171 0 : if (!(eq_s_b(z, 15, s_59))) goto lab6;
1172 0 : goto lab2;
1173 0 : lab6:
1174 0 : z->c = z->l - m3;
1175 0 : if (!(eq_s_b(z, 9, s_60))) goto lab7;
1176 0 : goto lab2;
1177 0 : lab7:
1178 0 : z->c = z->l - m3;
1179 0 : if (!(eq_s_b(z, 12, s_61))) goto lab8;
1180 0 : goto lab2;
1181 0 : lab8:
1182 0 : z->c = z->l - m3;
1183 0 : if (!(eq_s_b(z, 15, s_62))) goto lab9;
1184 0 : goto lab2;
1185 0 : lab9:
1186 0 : z->c = z->l - m3;
1187 0 : if (!(eq_s_b(z, 12, s_63))) goto lab10;
1188 0 : goto lab2;
1189 0 : lab10:
1190 0 : z->c = z->l - m3;
1191 0 : if (!(eq_s_b(z, 12, s_64))) goto lab11;
1192 0 : goto lab2;
1193 0 : lab11:
1194 0 : z->c = z->l - m3;
1195 0 : if (!(eq_s_b(z, 9, s_65))) goto lab12;
1196 0 : goto lab2;
1197 0 : lab12:
1198 0 : z->c = z->l - m3;
1199 0 : if (!(eq_s_b(z, 15, s_66))) goto lab13;
1200 0 : goto lab2;
1201 0 : lab13:
1202 0 : z->c = z->l - m3;
1203 0 : if (!(eq_s_b(z, 9, s_67))) goto lab14;
1204 0 : { int m_test4 = z->l - z->c;
1205 0 : { int m5 = z->l - z->c; (void)m5;
1206 0 : if (!(find_among_b(z, a_16, 8))) goto lab15;
1207 0 : goto lab14;
1208 0 : lab15:
1209 0 : z->c = z->l - m5;
1210 : }
1211 0 : z->c = z->l - m_test4;
1212 : }
1213 0 : goto lab2;
1214 0 : lab14:
1215 0 : z->c = z->l - m3;
1216 0 : if (!(eq_s_b(z, 6, s_68))) goto lab16;
1217 0 : goto lab2;
1218 0 : lab16:
1219 0 : z->c = z->l - m3;
1220 0 : if (!(eq_s_b(z, 9, s_69))) goto lab1;
1221 : }
1222 0 : lab2:
1223 0 : z->bra = z->c;
1224 0 : { int ret = slice_from_s(z, 3, s_70);
1225 0 : if (ret < 0) return ret;
1226 : }
1227 0 : z->I[1] = 1;
1228 0 : z->c = z->l - m_test2;
1229 : }
1230 0 : goto lab0;
1231 0 : lab1:
1232 0 : z->c = z->l - m1;
1233 0 : { int m_test6 = z->l - z->c;
1234 0 : z->ket = z->c;
1235 0 : if (!(find_among_b(z, a_17, 13))) return 0;
1236 0 : z->bra = z->c;
1237 0 : { int ret = slice_del(z);
1238 0 : if (ret < 0) return ret;
1239 : }
1240 0 : z->I[1] = 1;
1241 0 : z->c = z->l - m_test6;
1242 : }
1243 : }
1244 0 : lab0:
1245 0 : z->c = z->lb;
1246 :
1247 0 : { int ret = r_fix_endings(z);
1248 0 : if (ret < 0) return ret;
1249 : }
1250 0 : return 1;
1251 : }
1252 :
1253 0 : static int r_remove_vetrumai_urupukal(struct SN_env * z) {
1254 0 : z->I[1] = 0;
1255 0 : z->I[0] = 0;
1256 0 : { int ret = r_has_min_length(z);
1257 0 : if (ret <= 0) return ret;
1258 : }
1259 0 : z->lb = z->c; z->c = z->l;
1260 :
1261 0 : { int m1 = z->l - z->c; (void)m1;
1262 0 : { int m_test2 = z->l - z->c;
1263 0 : z->ket = z->c;
1264 0 : if (!(eq_s_b(z, 6, s_71))) goto lab1;
1265 0 : z->bra = z->c;
1266 0 : { int ret = slice_del(z);
1267 0 : if (ret < 0) return ret;
1268 : }
1269 0 : z->c = z->l - m_test2;
1270 : }
1271 0 : goto lab0;
1272 0 : lab1:
1273 0 : z->c = z->l - m1;
1274 0 : { int m_test3 = z->l - z->c;
1275 0 : z->ket = z->c;
1276 0 : { int m4 = z->l - z->c; (void)m4;
1277 0 : { int m5 = z->l - z->c; (void)m5;
1278 0 : if (!(eq_s_b(z, 9, s_72))) goto lab6;
1279 0 : goto lab5;
1280 0 : lab6:
1281 0 : z->c = z->l - m5;
1282 0 : if (!(eq_s_b(z, 3, s_73))) goto lab4;
1283 : }
1284 0 : lab5:
1285 0 : { int m_test6 = z->l - z->c;
1286 0 : { int m7 = z->l - z->c; (void)m7;
1287 0 : if (!(find_among_b(z, a_18, 6))) goto lab7;
1288 0 : goto lab4;
1289 0 : lab7:
1290 0 : z->c = z->l - m7;
1291 : }
1292 0 : z->c = z->l - m_test6;
1293 : }
1294 0 : goto lab3;
1295 0 : lab4:
1296 0 : z->c = z->l - m4;
1297 0 : if (!(eq_s_b(z, 3, s_74))) goto lab2;
1298 0 : { int m_test8 = z->l - z->c;
1299 0 : if (!(find_among_b(z, a_19, 6))) goto lab2;
1300 0 : if (!(eq_s_b(z, 3, s_75))) goto lab2;
1301 0 : z->c = z->l - m_test8;
1302 : }
1303 : }
1304 0 : lab3:
1305 0 : z->bra = z->c;
1306 0 : { int ret = slice_from_s(z, 3, s_76);
1307 0 : if (ret < 0) return ret;
1308 : }
1309 0 : z->c = z->l - m_test3;
1310 : }
1311 0 : goto lab0;
1312 0 : lab2:
1313 0 : z->c = z->l - m1;
1314 0 : { int m_test9 = z->l - z->c;
1315 0 : z->ket = z->c;
1316 0 : { int m10 = z->l - z->c; (void)m10;
1317 0 : if (!(eq_s_b(z, 9, s_77))) goto lab10;
1318 0 : goto lab9;
1319 0 : lab10:
1320 0 : z->c = z->l - m10;
1321 0 : if (!(eq_s_b(z, 9, s_78))) goto lab11;
1322 0 : goto lab9;
1323 0 : lab11:
1324 0 : z->c = z->l - m10;
1325 0 : if (!(eq_s_b(z, 9, s_79))) goto lab12;
1326 0 : goto lab9;
1327 0 : lab12:
1328 0 : z->c = z->l - m10;
1329 0 : if (!(eq_s_b(z, 9, s_80))) goto lab13;
1330 0 : goto lab9;
1331 0 : lab13:
1332 0 : z->c = z->l - m10;
1333 0 : if (!(eq_s_b(z, 9, s_81))) goto lab14;
1334 0 : { int m_test11 = z->l - z->c;
1335 0 : { int m12 = z->l - z->c; (void)m12;
1336 0 : if (!(eq_s_b(z, 3, s_82))) goto lab15;
1337 0 : goto lab14;
1338 0 : lab15:
1339 0 : z->c = z->l - m12;
1340 : }
1341 0 : z->c = z->l - m_test11;
1342 : }
1343 0 : goto lab9;
1344 0 : lab14:
1345 0 : z->c = z->l - m10;
1346 0 : if (!(eq_s_b(z, 15, s_83))) goto lab16;
1347 0 : goto lab9;
1348 0 : lab16:
1349 0 : z->c = z->l - m10;
1350 0 : if (!(eq_s_b(z, 21, s_84))) goto lab17;
1351 0 : goto lab9;
1352 0 : lab17:
1353 0 : z->c = z->l - m10;
1354 0 : if (!(eq_s_b(z, 9, s_85))) goto lab18;
1355 0 : goto lab9;
1356 0 : lab18:
1357 0 : z->c = z->l - m10;
1358 0 : if (!(len_utf8(z->p) >= 7)) goto lab19;
1359 0 : if (!(eq_s_b(z, 12, s_86))) goto lab19;
1360 0 : goto lab9;
1361 0 : lab19:
1362 0 : z->c = z->l - m10;
1363 0 : if (!(eq_s_b(z, 9, s_87))) goto lab20;
1364 0 : goto lab9;
1365 0 : lab20:
1366 0 : z->c = z->l - m10;
1367 0 : if (!(eq_s_b(z, 9, s_88))) goto lab21;
1368 0 : goto lab9;
1369 0 : lab21:
1370 0 : z->c = z->l - m10;
1371 0 : if (!(eq_s_b(z, 12, s_89))) goto lab22;
1372 0 : goto lab9;
1373 0 : lab22:
1374 0 : z->c = z->l - m10;
1375 0 : if (!(eq_s_b(z, 6, s_90))) goto lab23;
1376 0 : { int m_test13 = z->l - z->c;
1377 0 : { int m14 = z->l - z->c; (void)m14;
1378 0 : if (!(find_among_b(z, a_20, 8))) goto lab24;
1379 0 : goto lab23;
1380 0 : lab24:
1381 0 : z->c = z->l - m14;
1382 : }
1383 0 : z->c = z->l - m_test13;
1384 : }
1385 0 : goto lab9;
1386 0 : lab23:
1387 0 : z->c = z->l - m10;
1388 0 : if (!(eq_s_b(z, 9, s_91))) goto lab8;
1389 : }
1390 0 : lab9:
1391 0 : z->bra = z->c;
1392 0 : { int ret = slice_from_s(z, 3, s_92);
1393 0 : if (ret < 0) return ret;
1394 : }
1395 0 : z->c = z->l - m_test9;
1396 : }
1397 0 : goto lab0;
1398 0 : lab8:
1399 0 : z->c = z->l - m1;
1400 0 : { int m_test15 = z->l - z->c;
1401 0 : z->ket = z->c;
1402 0 : { int m16 = z->l - z->c; (void)m16;
1403 0 : if (!(eq_s_b(z, 9, s_93))) goto lab27;
1404 0 : goto lab26;
1405 0 : lab27:
1406 0 : z->c = z->l - m16;
1407 0 : if (!(eq_s_b(z, 12, s_94))) goto lab28;
1408 0 : goto lab26;
1409 0 : lab28:
1410 0 : z->c = z->l - m16;
1411 0 : if (!(eq_s_b(z, 12, s_95))) goto lab29;
1412 0 : goto lab26;
1413 0 : lab29:
1414 0 : z->c = z->l - m16;
1415 0 : if (!(eq_s_b(z, 12, s_96))) goto lab30;
1416 0 : goto lab26;
1417 0 : lab30:
1418 0 : z->c = z->l - m16;
1419 0 : if (!(eq_s_b(z, 12, s_97))) goto lab31;
1420 0 : goto lab26;
1421 0 : lab31:
1422 0 : z->c = z->l - m16;
1423 0 : if (!(eq_s_b(z, 12, s_98))) goto lab32;
1424 0 : goto lab26;
1425 0 : lab32:
1426 0 : z->c = z->l - m16;
1427 0 : if (!(eq_s_b(z, 6, s_99))) goto lab25;
1428 0 : { int m_test17 = z->l - z->c;
1429 0 : { int m18 = z->l - z->c; (void)m18;
1430 0 : if (!(find_among_b(z, a_21, 8))) goto lab33;
1431 0 : goto lab25;
1432 0 : lab33:
1433 0 : z->c = z->l - m18;
1434 : }
1435 0 : z->c = z->l - m_test17;
1436 : }
1437 : }
1438 0 : lab26:
1439 0 : z->bra = z->c;
1440 0 : { int ret = slice_del(z);
1441 0 : if (ret < 0) return ret;
1442 : }
1443 0 : z->c = z->l - m_test15;
1444 : }
1445 0 : goto lab0;
1446 0 : lab25:
1447 0 : z->c = z->l - m1;
1448 0 : { int m_test19 = z->l - z->c;
1449 0 : z->ket = z->c;
1450 0 : if (!(eq_s_b(z, 3, s_100))) return 0;
1451 0 : z->bra = z->c;
1452 0 : { int ret = slice_from_s(z, 3, s_101);
1453 0 : if (ret < 0) return ret;
1454 : }
1455 0 : z->c = z->l - m_test19;
1456 : }
1457 : }
1458 0 : lab0:
1459 0 : z->I[1] = 1;
1460 0 : z->I[0] = 1;
1461 0 : { int m20 = z->l - z->c; (void)m20;
1462 0 : z->ket = z->c;
1463 0 : if (!(eq_s_b(z, 9, s_102))) goto lab34;
1464 0 : z->bra = z->c;
1465 0 : { int ret = slice_from_s(z, 3, s_103);
1466 0 : if (ret < 0) return ret;
1467 : }
1468 0 : lab34:
1469 0 : z->c = z->l - m20;
1470 : }
1471 0 : z->c = z->lb;
1472 :
1473 0 : { int ret = r_fix_endings(z);
1474 0 : if (ret < 0) return ret;
1475 : }
1476 0 : return 1;
1477 : }
1478 :
1479 0 : static int r_remove_tense_suffixes(struct SN_env * z) {
1480 0 : z->I[1] = 1;
1481 0 : while(1) {
1482 0 : int c1 = z->c;
1483 0 : if (!(z->I[1])) goto lab0;
1484 0 : { int c2 = z->c;
1485 0 : { int ret = r_remove_tense_suffix(z);
1486 0 : if (ret < 0) return ret;
1487 : }
1488 0 : z->c = c2;
1489 : }
1490 0 : continue;
1491 0 : lab0:
1492 0 : z->c = c1;
1493 0 : break;
1494 : }
1495 0 : return 1;
1496 : }
1497 :
1498 0 : static int r_remove_tense_suffix(struct SN_env * z) {
1499 0 : z->I[1] = 0;
1500 0 : { int ret = r_has_min_length(z);
1501 0 : if (ret <= 0) return ret;
1502 : }
1503 0 : z->lb = z->c; z->c = z->l;
1504 :
1505 0 : { int m1 = z->l - z->c; (void)m1;
1506 0 : { int m2 = z->l - z->c; (void)m2;
1507 0 : { int m_test3 = z->l - z->c;
1508 0 : z->ket = z->c;
1509 0 : if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 129 && z->p[z->c - 1] != 141)) goto lab2;
1510 0 : if (!(find_among_b(z, a_22, 2))) goto lab2;
1511 0 : z->bra = z->c;
1512 0 : { int ret = slice_del(z);
1513 0 : if (ret < 0) return ret;
1514 : }
1515 0 : z->I[1] = 1;
1516 0 : z->c = z->l - m_test3;
1517 : }
1518 0 : goto lab1;
1519 0 : lab2:
1520 0 : z->c = z->l - m2;
1521 0 : { int m_test4 = z->l - z->c;
1522 0 : z->ket = z->c;
1523 0 : { int m5 = z->l - z->c; (void)m5;
1524 0 : if (!(eq_s_b(z, 12, s_104))) goto lab5;
1525 0 : goto lab4;
1526 0 : lab5:
1527 0 : z->c = z->l - m5;
1528 0 : if (!(eq_s_b(z, 12, s_105))) goto lab6;
1529 0 : goto lab4;
1530 0 : lab6:
1531 0 : z->c = z->l - m5;
1532 0 : if (!(eq_s_b(z, 9, s_106))) goto lab7;
1533 0 : goto lab4;
1534 0 : lab7:
1535 0 : z->c = z->l - m5;
1536 0 : if (!(eq_s_b(z, 12, s_107))) goto lab8;
1537 0 : goto lab4;
1538 0 : lab8:
1539 0 : z->c = z->l - m5;
1540 0 : if (!(eq_s_b(z, 12, s_108))) goto lab9;
1541 0 : goto lab4;
1542 0 : lab9:
1543 0 : z->c = z->l - m5;
1544 0 : if (!(eq_s_b(z, 12, s_109))) goto lab10;
1545 0 : goto lab4;
1546 0 : lab10:
1547 0 : z->c = z->l - m5;
1548 0 : if (!(eq_s_b(z, 9, s_110))) goto lab11;
1549 0 : { int m_test6 = z->l - z->c;
1550 0 : { int m7 = z->l - z->c; (void)m7;
1551 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((1951712 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab12;
1552 0 : if (!(find_among_b(z, a_23, 12))) goto lab12;
1553 0 : goto lab11;
1554 0 : lab12:
1555 0 : z->c = z->l - m7;
1556 : }
1557 0 : z->c = z->l - m_test6;
1558 : }
1559 0 : goto lab4;
1560 0 : lab11:
1561 0 : z->c = z->l - m5;
1562 0 : if (!(eq_s_b(z, 9, s_111))) goto lab13;
1563 0 : goto lab4;
1564 0 : lab13:
1565 0 : z->c = z->l - m5;
1566 0 : if (!(eq_s_b(z, 9, s_112))) goto lab14;
1567 0 : goto lab4;
1568 0 : lab14:
1569 0 : z->c = z->l - m5;
1570 0 : if (!(eq_s_b(z, 9, s_113))) goto lab15;
1571 0 : goto lab4;
1572 0 : lab15:
1573 0 : z->c = z->l - m5;
1574 0 : if (!(eq_s_b(z, 9, s_114))) goto lab16;
1575 0 : goto lab4;
1576 0 : lab16:
1577 0 : z->c = z->l - m5;
1578 0 : if (!(eq_s_b(z, 3, s_115))) goto lab17;
1579 0 : goto lab4;
1580 0 : lab17:
1581 0 : z->c = z->l - m5;
1582 0 : if (!(eq_s_b(z, 3, s_116))) goto lab18;
1583 0 : goto lab4;
1584 0 : lab18:
1585 0 : z->c = z->l - m5;
1586 0 : if (!(eq_s_b(z, 3, s_117))) goto lab19;
1587 0 : goto lab4;
1588 0 : lab19:
1589 0 : z->c = z->l - m5;
1590 0 : if (!(eq_s_b(z, 3, s_118))) goto lab20;
1591 0 : goto lab4;
1592 0 : lab20:
1593 0 : z->c = z->l - m5;
1594 0 : if (!(eq_s_b(z, 3, s_119))) goto lab21;
1595 0 : goto lab4;
1596 0 : lab21:
1597 0 : z->c = z->l - m5;
1598 0 : if (!(eq_s_b(z, 9, s_120))) goto lab22;
1599 0 : goto lab4;
1600 0 : lab22:
1601 0 : z->c = z->l - m5;
1602 0 : if (!(eq_s_b(z, 9, s_121))) goto lab23;
1603 0 : goto lab4;
1604 0 : lab23:
1605 0 : z->c = z->l - m5;
1606 0 : if (!(eq_s_b(z, 9, s_122))) goto lab24;
1607 0 : goto lab4;
1608 0 : lab24:
1609 0 : z->c = z->l - m5;
1610 0 : if (!(eq_s_b(z, 6, s_123))) goto lab25;
1611 0 : { int m_test8 = z->l - z->c;
1612 0 : { int m9 = z->l - z->c; (void)m9;
1613 0 : if (!(find_among_b(z, a_24, 8))) goto lab26;
1614 0 : goto lab25;
1615 0 : lab26:
1616 0 : z->c = z->l - m9;
1617 : }
1618 0 : z->c = z->l - m_test8;
1619 : }
1620 0 : goto lab4;
1621 0 : lab25:
1622 0 : z->c = z->l - m5;
1623 0 : if (!(eq_s_b(z, 15, s_124))) goto lab27;
1624 0 : goto lab4;
1625 0 : lab27:
1626 0 : z->c = z->l - m5;
1627 0 : if (!(eq_s_b(z, 9, s_125))) goto lab28;
1628 0 : goto lab4;
1629 0 : lab28:
1630 0 : z->c = z->l - m5;
1631 0 : if (!(eq_s_b(z, 9, s_126))) goto lab29;
1632 0 : goto lab4;
1633 0 : lab29:
1634 0 : z->c = z->l - m5;
1635 0 : if (!(eq_s_b(z, 12, s_127))) goto lab30;
1636 0 : goto lab4;
1637 0 : lab30:
1638 0 : z->c = z->l - m5;
1639 0 : if (!(eq_s_b(z, 12, s_128))) goto lab31;
1640 0 : goto lab4;
1641 0 : lab31:
1642 0 : z->c = z->l - m5;
1643 0 : if (!(eq_s_b(z, 12, s_129))) goto lab32;
1644 0 : goto lab4;
1645 0 : lab32:
1646 0 : z->c = z->l - m5;
1647 0 : if (!(eq_s_b(z, 12, s_130))) goto lab33;
1648 0 : goto lab4;
1649 0 : lab33:
1650 0 : z->c = z->l - m5;
1651 0 : if (!(eq_s_b(z, 6, s_131))) goto lab34;
1652 0 : goto lab4;
1653 0 : lab34:
1654 0 : z->c = z->l - m5;
1655 0 : if (!(eq_s_b(z, 6, s_132))) goto lab3;
1656 : }
1657 0 : lab4:
1658 0 : z->bra = z->c;
1659 0 : { int ret = slice_del(z);
1660 0 : if (ret < 0) return ret;
1661 : }
1662 0 : z->I[1] = 1;
1663 0 : z->c = z->l - m_test4;
1664 : }
1665 0 : goto lab1;
1666 0 : lab3:
1667 0 : z->c = z->l - m2;
1668 0 : { int m_test10 = z->l - z->c;
1669 0 : z->ket = z->c;
1670 0 : { int m11 = z->l - z->c; (void)m11;
1671 0 : if (!(eq_s_b(z, 9, s_133))) goto lab37;
1672 0 : { int m_test12 = z->l - z->c;
1673 0 : { int m13 = z->l - z->c; (void)m13;
1674 0 : if (!(eq_s_b(z, 3, s_134))) goto lab38;
1675 0 : goto lab37;
1676 0 : lab38:
1677 0 : z->c = z->l - m13;
1678 : }
1679 0 : z->c = z->l - m_test12;
1680 : }
1681 0 : goto lab36;
1682 0 : lab37:
1683 0 : z->c = z->l - m11;
1684 0 : if (!(eq_s_b(z, 9, s_135))) goto lab39;
1685 0 : goto lab36;
1686 0 : lab39:
1687 0 : z->c = z->l - m11;
1688 0 : if (!(eq_s_b(z, 9, s_136))) goto lab40;
1689 0 : goto lab36;
1690 0 : lab40:
1691 0 : z->c = z->l - m11;
1692 0 : if (!(eq_s_b(z, 9, s_137))) goto lab41;
1693 0 : goto lab36;
1694 0 : lab41:
1695 0 : z->c = z->l - m11;
1696 0 : if (!(eq_s_b(z, 3, s_138))) goto lab42;
1697 0 : goto lab36;
1698 0 : lab42:
1699 0 : z->c = z->l - m11;
1700 0 : if (!(eq_s_b(z, 9, s_139))) goto lab43;
1701 0 : goto lab36;
1702 0 : lab43:
1703 0 : z->c = z->l - m11;
1704 0 : if (!(eq_s_b(z, 9, s_140))) goto lab44;
1705 0 : goto lab36;
1706 0 : lab44:
1707 0 : z->c = z->l - m11;
1708 0 : if (!(eq_s_b(z, 9, s_141))) goto lab45;
1709 0 : goto lab36;
1710 0 : lab45:
1711 0 : z->c = z->l - m11;
1712 0 : if (!(eq_s_b(z, 9, s_142))) goto lab46;
1713 0 : goto lab36;
1714 0 : lab46:
1715 0 : z->c = z->l - m11;
1716 0 : if (!(eq_s_b(z, 12, s_143))) goto lab47;
1717 0 : goto lab36;
1718 0 : lab47:
1719 0 : z->c = z->l - m11;
1720 0 : if (!(eq_s_b(z, 12, s_144))) goto lab48;
1721 0 : goto lab36;
1722 0 : lab48:
1723 0 : z->c = z->l - m11;
1724 0 : if (!(eq_s_b(z, 12, s_145))) goto lab49;
1725 0 : goto lab36;
1726 0 : lab49:
1727 0 : z->c = z->l - m11;
1728 0 : if (!(eq_s_b(z, 12, s_146))) goto lab50;
1729 0 : goto lab36;
1730 0 : lab50:
1731 0 : z->c = z->l - m11;
1732 0 : if (!(eq_s_b(z, 9, s_147))) goto lab51;
1733 0 : goto lab36;
1734 0 : lab51:
1735 0 : z->c = z->l - m11;
1736 0 : if (!(eq_s_b(z, 12, s_148))) goto lab52;
1737 0 : goto lab36;
1738 0 : lab52:
1739 0 : z->c = z->l - m11;
1740 0 : if (!(eq_s_b(z, 12, s_149))) goto lab53;
1741 0 : goto lab36;
1742 0 : lab53:
1743 0 : z->c = z->l - m11;
1744 0 : if (!(eq_s_b(z, 9, s_150))) goto lab54;
1745 0 : goto lab36;
1746 0 : lab54:
1747 0 : z->c = z->l - m11;
1748 0 : if (!(eq_s_b(z, 12, s_151))) goto lab35;
1749 : }
1750 0 : lab36:
1751 0 : z->bra = z->c;
1752 0 : { int ret = slice_from_s(z, 3, s_152);
1753 0 : if (ret < 0) return ret;
1754 : }
1755 0 : z->I[1] = 1;
1756 0 : z->c = z->l - m_test10;
1757 : }
1758 0 : goto lab1;
1759 0 : lab35:
1760 0 : z->c = z->l - m2;
1761 0 : { int m_test14 = z->l - z->c;
1762 0 : z->ket = z->c;
1763 0 : { int m15 = z->l - z->c; (void)m15;
1764 0 : if (!(eq_s_b(z, 6, s_153))) goto lab56;
1765 0 : goto lab55;
1766 0 : lab56:
1767 0 : z->c = z->l - m15;
1768 0 : if (!(eq_s_b(z, 6, s_154))) goto lab0;
1769 : }
1770 0 : lab55:
1771 0 : { int m_test16 = z->l - z->c;
1772 0 : if (!(eq_s_b(z, 3, s_155))) goto lab0;
1773 0 : z->c = z->l - m_test16;
1774 : }
1775 0 : z->bra = z->c;
1776 0 : { int ret = slice_del(z);
1777 0 : if (ret < 0) return ret;
1778 : }
1779 0 : z->I[1] = 1;
1780 0 : z->c = z->l - m_test14;
1781 : }
1782 : }
1783 0 : lab1:
1784 0 : lab0:
1785 0 : z->c = z->l - m1;
1786 : }
1787 0 : { int m17 = z->l - z->c; (void)m17;
1788 0 : z->ket = z->c;
1789 0 : if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 177)) goto lab57;
1790 0 : if (!(find_among_b(z, a_25, 6))) goto lab57;
1791 0 : z->bra = z->c;
1792 0 : { int ret = slice_del(z);
1793 0 : if (ret < 0) return ret;
1794 : }
1795 0 : z->I[1] = 1;
1796 0 : lab57:
1797 0 : z->c = z->l - m17;
1798 : }
1799 0 : z->c = z->lb;
1800 :
1801 0 : { int ret = r_fix_endings(z);
1802 0 : if (ret < 0) return ret;
1803 : }
1804 0 : return 1;
1805 : }
1806 :
1807 0 : extern int tamil_UTF_8_stem(struct SN_env * z) {
1808 0 : z->I[0] = 0;
1809 0 : { int c1 = z->c;
1810 0 : { int ret = r_fix_ending(z);
1811 0 : if (ret < 0) return ret;
1812 : }
1813 0 : z->c = c1;
1814 : }
1815 0 : { int ret = r_has_min_length(z);
1816 0 : if (ret <= 0) return ret;
1817 : }
1818 0 : { int c2 = z->c;
1819 0 : { int ret = r_remove_question_prefixes(z);
1820 0 : if (ret < 0) return ret;
1821 : }
1822 0 : z->c = c2;
1823 : }
1824 0 : { int c3 = z->c;
1825 0 : { int ret = r_remove_pronoun_prefixes(z);
1826 0 : if (ret < 0) return ret;
1827 : }
1828 0 : z->c = c3;
1829 : }
1830 0 : { int c4 = z->c;
1831 0 : { int ret = r_remove_question_suffixes(z);
1832 0 : if (ret < 0) return ret;
1833 : }
1834 0 : z->c = c4;
1835 : }
1836 0 : { int c5 = z->c;
1837 0 : { int ret = r_remove_um(z);
1838 0 : if (ret < 0) return ret;
1839 : }
1840 0 : z->c = c5;
1841 : }
1842 0 : { int c6 = z->c;
1843 0 : { int ret = r_remove_common_word_endings(z);
1844 0 : if (ret < 0) return ret;
1845 : }
1846 0 : z->c = c6;
1847 : }
1848 0 : { int c7 = z->c;
1849 0 : { int ret = r_remove_vetrumai_urupukal(z);
1850 0 : if (ret < 0) return ret;
1851 : }
1852 0 : z->c = c7;
1853 : }
1854 0 : { int c8 = z->c;
1855 0 : { int ret = r_remove_plural_suffix(z);
1856 0 : if (ret < 0) return ret;
1857 : }
1858 0 : z->c = c8;
1859 : }
1860 0 : { int c9 = z->c;
1861 0 : { int ret = r_remove_command_suffixes(z);
1862 0 : if (ret < 0) return ret;
1863 : }
1864 0 : z->c = c9;
1865 : }
1866 0 : { int c10 = z->c;
1867 0 : { int ret = r_remove_tense_suffixes(z);
1868 0 : if (ret < 0) return ret;
1869 : }
1870 0 : z->c = c10;
1871 : }
1872 0 : return 1;
1873 : }
1874 :
1875 0 : extern struct SN_env * tamil_UTF_8_create_env(void) { return SN_create_env(0, 2); }
1876 :
1877 0 : extern void tamil_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1878 :
|