js2 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. data/Changelog +3 -0
  2. data/Manifest.txt +13 -28
  3. data/Rakefile +19 -19
  4. data/bin/js2 +48 -41
  5. data/lib/javascript/sel_marker.js2 +3 -3
  6. data/lib/js2/config.rb +6 -1
  7. data/lib/js2/{process/file_handler.rb → file_handler.rb} +15 -19
  8. data/lib/js2/foo.js2.haml +3 -0
  9. data/lib/js2/{process/haml_engine.rb → haml_engine.rb} +1 -1
  10. data/lib/js2/{parser/haml.rb → haml_parser.rb} +20 -7
  11. data/lib/js2/js2.js +108 -0
  12. data/lib/js2/js2bootstrap.js2 +455 -0
  13. data/lib/js2/parser.rb +3542 -0
  14. data/lib/js2/processor.rb +14 -65
  15. data/lib/js2/replace.rb +106 -0
  16. data/lib/js2/{decorator/test.rb → sel_decorator.rb} +11 -14
  17. data/{meta/c_tokenizer.rl.erb → lib/js2/tokenizer.rl.erb} +155 -123
  18. data/lib/js2/tree.rb +340 -0
  19. data/lib/js2/universe.rb +101 -0
  20. data/lib/js2.rb +31 -77
  21. data/lib/tasks/js2.rake +1 -1
  22. metadata +15 -29
  23. data/lib/js2/ast/class_node.rb +0 -105
  24. data/lib/js2/ast/comment_node.rb +0 -2
  25. data/lib/js2/ast/haml_node.rb +0 -22
  26. data/lib/js2/ast/include_node.rb +0 -11
  27. data/lib/js2/ast/inherited_node.rb +0 -7
  28. data/lib/js2/ast/member_node.rb +0 -18
  29. data/lib/js2/ast/method_node.rb +0 -29
  30. data/lib/js2/ast/module_node.rb +0 -6
  31. data/lib/js2/ast/node.rb +0 -14
  32. data/lib/js2/ast/nodes.rb +0 -123
  33. data/lib/js2/ast/stuff_node.rb +0 -6
  34. data/lib/js2/decorator/app.rb +0 -7
  35. data/lib/js2/decorator/cleanser.rb +0 -54
  36. data/lib/js2/decorator/standard.rb +0 -103
  37. data/lib/js2/parser/fast.rb +0 -3959
  38. data/lib/js2/process/universe.rb +0 -89
  39. data/lib/js2/test/selenium.rb +0 -109
  40. data/lib/js2/test/selenium_element.rb +0 -234
  41. data/lib/js2/test/selenium_helper.rb +0 -27
  42. data/lib/js2bootstrap.js2 +0 -274
  43. data/meta/replace.rb +0 -126
data/lib/js2/parser.rb ADDED
@@ -0,0 +1,3542 @@
1
+
2
+ #line 1 "tokenizer.rl"
3
+ # Somewhat based on http://www.mozilla.org/js/language/js20-2000-07/formal/lexer-grammar.html
4
+ # Regular Expression Literals determined with these rules:
5
+ # http://www.mozilla.org/js/language/js20-1999-03-25/tokens.html
6
+
7
+
8
+ #line 414 "tokenizer.rl"
9
+
10
+
11
+ require 'rubygems'
12
+ require 'inline'
13
+
14
+ class JS2::Parser
15
+ attr_accessor :data
16
+
17
+ inline do |builder|
18
+ builder.c_raw <<-END
19
+
20
+ int do_parse (int argc, VALUE *argv, VALUE self) {
21
+ // convert ruby string to char*
22
+ VALUE r_str = argv[0];
23
+ int data_length = RSTRING(r_str)->len;
24
+ char* data = STR2CSTR(r_str);
25
+
26
+ int in_class = 0;
27
+ int in_module = 0;
28
+ int close_on_semi = 0;
29
+ int classable = 1;
30
+ int in_foreach = 0;
31
+
32
+ // start vars
33
+ VALUE start_argv[3];
34
+ ID start_sym = rb_intern("start_node");
35
+
36
+ // stop vars
37
+ VALUE stop_argv[1];
38
+ ID stop_sym = rb_intern("stop_node");
39
+
40
+ // mark vars
41
+ VALUE mark_argv[1];
42
+ ID mark_sym = rb_intern("mark_node");
43
+ int mark_on_br = -1;
44
+
45
+
46
+ VALUE warn_intv[1];
47
+ ID warn_sym = rb_intern("warn_int");
48
+
49
+
50
+ // state vars
51
+ int i = 0; // iterator
52
+ int j = 0; // iterator
53
+
54
+ char keyword[100]; // keyword
55
+ char single;
56
+ int is_static = 0;
57
+ int is_private = 0;
58
+
59
+ // curly handling
60
+ int curlies[1000];
61
+ curlies[0] = 0;
62
+ int curly_idx = 0; // on purpose!
63
+ int cb_count = 0;
64
+ int br_count = 0;
65
+ int close_on_br = 0;
66
+
67
+ // CLASS
68
+ ID sym_CLASS = ID2SYM(rb_intern("CLASS"));
69
+ // METHOD
70
+ ID sym_METHOD = ID2SYM(rb_intern("METHOD"));
71
+ // MEMBER
72
+ ID sym_MEMBER = ID2SYM(rb_intern("MEMBER"));
73
+ // STUFF
74
+ ID sym_STUFF = ID2SYM(rb_intern("STUFF"));
75
+ // ACCESSOR
76
+ ID sym_ACCESSOR = ID2SYM(rb_intern("ACCESSOR"));
77
+ // COMMENT
78
+ ID sym_COMMENT = ID2SYM(rb_intern("COMMENT"));
79
+ // FOREACH
80
+ ID sym_FOREACH = ID2SYM(rb_intern("FOREACH"));
81
+ // MODULE
82
+ ID sym_MODULE = ID2SYM(rb_intern("MODULE"));
83
+ // INCLUDE
84
+ ID sym_INCLUDE = ID2SYM(rb_intern("INCLUDE"));
85
+ // CURRY
86
+ ID sym_CURRY = ID2SYM(rb_intern("CURRY"));
87
+ // PROPERTY
88
+ ID sym_PROPERTY = ID2SYM(rb_intern("PROPERTY"));
89
+ // PRIVATE
90
+ ID sym_PRIVATE = ID2SYM(rb_intern("PRIVATE"));
91
+ // STATIC
92
+ ID sym_STATIC = ID2SYM(rb_intern("STATIC"));
93
+
94
+ // ragel variables
95
+ int cs, act;
96
+ char *ts = NULL;
97
+ char *te = NULL;
98
+ char *p = data;
99
+ char *pe = p + data_length;
100
+ char *eof = pe;
101
+ char* regexp_start = NULL;
102
+
103
+ ;
104
+
105
+ start_argv[0] = sym_STUFF;
106
+ start_argv[1] = INT2FIX(0);
107
+ start_argv[2] = INT2FIX(is_static);
108
+ rb_funcall2(self, start_sym, 3, start_argv);
109
+ is_static = 0;
110
+
111
+
112
+
113
+ #line 114 "tokenizer.c"
114
+ static const unsigned char _dude_actions[] = {
115
+ 0, 1, 1, 1, 2, 1, 3, 1,
116
+ 4, 1, 5, 1, 6, 1, 7, 1,
117
+ 17, 1, 18, 1, 19, 1, 20, 1,
118
+ 21, 1, 22, 1, 23, 1, 24, 1,
119
+ 25, 1, 26, 1, 27, 1, 28, 1,
120
+ 29, 1, 30, 1, 31, 1, 32, 1,
121
+ 33, 1, 34, 1, 35, 1, 36, 1,
122
+ 37, 1, 38, 1, 39, 1, 40, 1,
123
+ 41, 1, 42, 1, 43, 1, 44, 1,
124
+ 45, 1, 46, 1, 47, 1, 48, 1,
125
+ 49, 1, 50, 1, 51, 1, 52, 1,
126
+ 53, 1, 54, 1, 55, 1, 56, 1,
127
+ 57, 1, 58, 1, 59, 1, 60, 1,
128
+ 61, 1, 62, 1, 63, 1, 64, 1,
129
+ 65, 1, 66, 1, 67, 1, 68, 1,
130
+ 69, 1, 70, 1, 71, 1, 72, 1,
131
+ 73, 1, 74, 1, 75, 1, 76, 1,
132
+ 77, 1, 78, 1, 79, 1, 80, 1,
133
+ 81, 1, 82, 1, 83, 1, 84, 1,
134
+ 85, 1, 86, 1, 87, 1, 88, 1,
135
+ 89, 1, 90, 1, 91, 1, 92, 1,
136
+ 93, 1, 94, 1, 95, 1, 96, 1,
137
+ 97, 1, 98, 1, 99, 1, 100, 1,
138
+ 101, 1, 102, 1, 103, 1, 104, 1,
139
+ 105, 1, 106, 1, 107, 1, 108, 1,
140
+ 109, 1, 110, 1, 111, 1, 112, 1,
141
+ 113, 1, 114, 1, 115, 1, 116, 1,
142
+ 117, 1, 118, 1, 119, 1, 120, 1,
143
+ 121, 1, 122, 1, 123, 1, 124, 1,
144
+ 125, 1, 126, 1, 127, 1, 128, 1,
145
+ 129, 1, 130, 1, 131, 1, 132, 1,
146
+ 133, 1, 134, 1, 135, 1, 136, 1,
147
+ 137, 1, 138, 1, 139, 2, 7, 0,
148
+ 2, 7, 8, 2, 7, 9, 2, 7,
149
+ 10, 2, 7, 11, 2, 7, 12, 2,
150
+ 7, 13, 2, 7, 14, 2, 7, 15,
151
+ 2, 7, 16
152
+ };
153
+
154
+ static const short _dude_key_offsets[] = {
155
+ 0, 1, 2, 3, 4, 5, 6, 7,
156
+ 10, 11, 12, 13, 14, 15, 16, 17,
157
+ 28, 29, 31, 32, 33, 34, 35, 38,
158
+ 39, 40, 41, 42, 43, 46, 50, 51,
159
+ 52, 53, 54, 55, 58, 63, 64, 65,
160
+ 68, 79, 83, 87, 91, 93, 97, 101,
161
+ 105, 107, 111, 114, 120, 126, 132, 138,
162
+ 142, 146, 150, 152, 156, 160, 164, 166,
163
+ 170, 174, 178, 180, 184, 188, 192, 194,
164
+ 198, 202, 206, 208, 212, 216, 220, 222,
165
+ 226, 229, 235, 241, 247, 253, 257, 261,
166
+ 265, 267, 271, 275, 279, 281, 285, 289,
167
+ 293, 295, 299, 303, 307, 309, 313, 317,
168
+ 321, 323, 327, 331, 335, 337, 341, 345,
169
+ 349, 351, 353, 357, 359, 363, 367, 371,
170
+ 373, 377, 381, 385, 387, 391, 395, 399,
171
+ 401, 405, 409, 413, 415, 419, 422, 426,
172
+ 427, 431, 435, 439, 441, 445, 449, 453,
173
+ 455, 459, 463, 467, 469, 473, 477, 481,
174
+ 483, 487, 491, 495, 497, 501, 505, 509,
175
+ 511, 515, 519, 523, 525, 529, 533, 537,
176
+ 539, 543, 547, 551, 553, 557, 561, 565,
177
+ 567, 571, 575, 579, 581, 585, 589, 593,
178
+ 595, 599, 603, 607, 609, 613, 617, 621,
179
+ 623, 627, 631, 635, 637, 641, 645, 649,
180
+ 651, 655, 659, 663, 665, 669, 673, 677,
181
+ 679, 683, 687, 691, 693, 697, 701, 705,
182
+ 707, 711, 715, 719, 721, 726, 730, 734,
183
+ 738, 740, 744, 748, 752, 754, 758, 762,
184
+ 766, 768, 772, 776, 780, 782, 786, 790,
185
+ 794, 796, 800, 804, 808, 810, 822, 826,
186
+ 830, 832, 836, 840, 844, 846, 850, 854,
187
+ 858, 860, 872, 885, 890, 891, 892, 893,
188
+ 897, 909, 922, 927, 931, 935, 939, 941,
189
+ 945, 949, 953, 955, 959, 963, 967, 969,
190
+ 973, 977, 981, 983, 987, 991, 995, 997,
191
+ 1001, 1005, 1009, 1011, 1015, 1019, 1023, 1025,
192
+ 1029, 1033, 1037, 1039, 1043, 1047, 1051, 1053,
193
+ 1057, 1061, 1065, 1067, 1071, 1075, 1079, 1081,
194
+ 1085, 1089, 1093, 1095, 1100, 1104, 1105, 1106,
195
+ 1117, 1128, 1132, 1136, 1138, 1142, 1146, 1150,
196
+ 1152, 1156, 1160, 1164, 1166, 1170, 1174, 1178,
197
+ 1180, 1184, 1188, 1192, 1194, 1198, 1202, 1206,
198
+ 1208, 1212, 1216, 1220, 1222, 1234, 1238, 1242,
199
+ 1244, 1248, 1252, 1256, 1258, 1270, 1274, 1278,
200
+ 1280, 1284, 1288, 1292, 1294, 1298, 1302, 1306,
201
+ 1308, 1312, 1316, 1320, 1322, 1326, 1330, 1334,
202
+ 1336, 1340, 1344, 1348, 1350, 1354, 1358, 1362,
203
+ 1364, 1368, 1372, 1376, 1378, 1382, 1386, 1390,
204
+ 1392, 1396, 1400, 1404, 1406, 1410, 1414, 1418,
205
+ 1420, 1424, 1428, 1432, 1434, 1438, 1442, 1446,
206
+ 1448, 1452, 1456, 1460, 1462, 1466, 1470, 1474,
207
+ 1476, 1480, 1484, 1488, 1490, 1494, 1498, 1502,
208
+ 1504, 1508, 1512, 1516, 1518, 1522, 1526, 1530,
209
+ 1532, 1536, 1540, 1544, 1546, 1550, 1554, 1558,
210
+ 1560, 1564, 1568, 1572, 1574, 1578, 1582, 1586,
211
+ 1588, 1592, 1596, 1600, 1602, 1658, 1663, 1671,
212
+ 1679, 1691, 1702, 1710, 1711, 1716, 1719, 1723,
213
+ 1726, 1730, 1734, 1737, 1745, 1750, 1753, 1757,
214
+ 1760, 1762, 1767, 1770, 1773, 1777, 1780, 1784,
215
+ 1788, 1791, 1796, 1799, 1803, 1806, 1812, 1815,
216
+ 1819, 1822, 1826, 1829, 1839, 1842, 1847, 1851,
217
+ 1853, 1858, 1862, 1865, 1868, 1872, 1875, 1881,
218
+ 1884, 1885, 1889, 1893, 1898, 1900, 1902, 1906,
219
+ 1909, 1920, 1928, 1938, 1949, 1954, 1957, 1960,
220
+ 1966, 1969, 1974, 1977, 1981, 1984, 1988, 1991,
221
+ 1996, 1999, 2004, 2007, 2011, 2014, 2020, 2023,
222
+ 2027, 2030, 2036, 2039, 2043, 2046, 2051, 2054,
223
+ 2058, 2061, 2065, 2068, 2072, 2075, 2079, 2082,
224
+ 2088, 2091, 2095, 2098, 2101, 2104, 2114, 2123,
225
+ 2132, 2141, 2150, 2159, 2168, 2180, 2183, 2192,
226
+ 2201, 2210, 2219, 2228, 2237, 2248, 2257, 2266,
227
+ 2275, 2284, 2293, 2302, 2311, 2320, 2332, 2335,
228
+ 2344, 2353, 2366, 2376, 2385, 2397, 2400, 2409,
229
+ 2418, 2430, 2433, 2442, 2451, 2460, 2469, 2478,
230
+ 2490, 2498, 2501, 2510, 2520, 2529, 2541, 2544,
231
+ 2553, 2562, 2571, 2580, 2592, 2595, 2604, 2613,
232
+ 2622, 2635, 2640, 2644, 2647, 2656, 2665, 2674,
233
+ 2686, 2696, 2707, 2716, 2725, 2734, 2743, 2752,
234
+ 2764, 2767, 2776, 2785, 2794, 2803, 2815, 2818,
235
+ 2827, 2836, 2845, 2857, 2860, 2873, 2876, 2885,
236
+ 2894, 2905, 2914, 2923, 2935, 2938, 2947, 2956,
237
+ 2968, 2971, 2981, 2990, 2999, 3008, 3020, 3023,
238
+ 3032, 3041, 3050, 3059, 3071, 3074, 3087, 3096,
239
+ 3105, 3114, 3124, 3133, 3142, 3154, 3157, 3166,
240
+ 3175, 3188, 3191, 3200, 3212, 3215, 3224, 3233,
241
+ 3242, 3251, 3264, 3267, 3276, 3285, 3294, 3307,
242
+ 3319, 3323, 3334, 3337, 3340, 3349, 3358, 3367,
243
+ 3376, 3385, 3394, 3406, 3409, 3418, 3427, 3436,
244
+ 3448, 3451, 3462, 3474, 3477, 3486, 3496, 3505,
245
+ 3514, 3523, 3532, 3541, 3550, 3562, 3565, 3574,
246
+ 3583, 3595, 3598, 3613, 3616, 3625, 3634, 3643,
247
+ 3652, 3664, 3672, 3675, 3684, 3693, 3702, 3711,
248
+ 3720, 3729, 3738, 3750, 3753, 3762, 3771, 3780,
249
+ 3789, 3798, 3807, 3816, 3825, 3834, 3843, 3852,
250
+ 3861, 3870, 3882, 3890, 3893, 3904, 3913, 3922,
251
+ 3931, 3940, 3952, 3955, 3964, 3976, 3979, 3988,
252
+ 3997, 4008, 4017, 4026, 4035, 4044, 4053, 4065,
253
+ 4068, 4078, 4087, 4096, 4105, 4114, 4126, 4129,
254
+ 4139, 4148, 4157, 4166, 4175, 4184, 4193, 4202,
255
+ 4211, 4220, 4232, 4235, 4244, 4253, 4262, 4271,
256
+ 4283, 4286, 4295, 4304, 4313, 4322, 4331, 4343,
257
+ 4346, 4359, 4368, 4377, 4386, 4395, 4404, 4413,
258
+ 4425, 4428, 4437, 4446, 4455, 4464, 4473, 4482,
259
+ 4494, 4497, 4506, 4515, 4524, 4533, 4542, 4551,
260
+ 4560, 4569, 4578, 4587, 4599, 4602, 4613, 4623,
261
+ 4632, 4641, 4650, 4663, 4666, 4678, 4681, 4692,
262
+ 4701, 4710, 4719, 4728, 4737, 4746, 4758, 4761,
263
+ 4773, 4776, 4785, 4794, 4803, 4812, 4824, 4827,
264
+ 4837, 4846, 4858, 4861, 4871, 4880, 4889, 4898,
265
+ 4907, 4916, 4925, 4937, 4940, 4950, 4959, 4968,
266
+ 4977, 4989, 4992, 5001, 5010, 5022, 5025, 5031,
267
+ 5034, 5038, 5041, 5046, 5049
268
+ };
269
+
270
+ static const char _dude_trans_keys[] = {
271
+ 99, 99, 101, 115, 115, 111, 114, 32,
272
+ 9, 13, 117, 110, 99, 116, 105, 111,
273
+ 110, 32, 36, 95, 9, 13, 48, 57,
274
+ 65, 90, 97, 122, 114, 105, 111, 118,
275
+ 97, 116, 101, 32, 9, 13, 112, 101,
276
+ 114, 116, 121, 32, 9, 13, 32, 44,
277
+ 9, 13, 116, 97, 116, 105, 99, 32,
278
+ 9, 13, 32, 102, 118, 9, 13, 97,
279
+ 114, 32, 9, 13, 32, 36, 95, 9,
280
+ 13, 48, 57, 65, 90, 97, 122, 32,
281
+ 47, 9, 13, 10, 13, 47, 92, 10,
282
+ 13, 47, 92, 10, 13, 32, 47, 9,
283
+ 13, 10, 13, 47, 92, 10, 13, 47,
284
+ 92, 10, 13, 34, 92, 0, 31, 117,
285
+ 0, 31, 48, 57, 65, 70, 97, 102,
286
+ 48, 57, 65, 70, 97, 102, 48, 57,
287
+ 65, 70, 97, 102, 48, 57, 65, 70,
288
+ 97, 102, 32, 47, 9, 13, 10, 13,
289
+ 47, 92, 10, 13, 47, 92, 10, 13,
290
+ 32, 47, 9, 13, 10, 13, 47, 92,
291
+ 10, 13, 47, 92, 10, 13, 32, 47,
292
+ 9, 13, 10, 13, 47, 92, 10, 13,
293
+ 47, 92, 10, 13, 32, 47, 9, 13,
294
+ 10, 13, 47, 92, 10, 13, 47, 92,
295
+ 10, 13, 32, 47, 9, 13, 10, 13,
296
+ 47, 92, 10, 13, 47, 92, 10, 13,
297
+ 32, 47, 9, 13, 10, 13, 47, 92,
298
+ 10, 13, 47, 92, 10, 13, 39, 92,
299
+ 0, 31, 117, 0, 31, 48, 57, 65,
300
+ 70, 97, 102, 48, 57, 65, 70, 97,
301
+ 102, 48, 57, 65, 70, 97, 102, 48,
302
+ 57, 65, 70, 97, 102, 32, 47, 9,
303
+ 13, 10, 13, 47, 92, 10, 13, 47,
304
+ 92, 10, 13, 32, 47, 9, 13, 10,
305
+ 13, 47, 92, 10, 13, 47, 92, 10,
306
+ 13, 32, 47, 9, 13, 10, 13, 47,
307
+ 92, 10, 13, 47, 92, 10, 13, 32,
308
+ 47, 9, 13, 10, 13, 47, 92, 10,
309
+ 13, 47, 92, 10, 13, 32, 47, 9,
310
+ 13, 10, 13, 47, 92, 10, 13, 47,
311
+ 92, 10, 13, 32, 47, 9, 13, 10,
312
+ 13, 47, 92, 10, 13, 47, 92, 10,
313
+ 13, 32, 47, 9, 13, 10, 13, 47,
314
+ 92, 10, 13, 47, 92, 10, 13, 48,
315
+ 57, 43, 45, 48, 57, 48, 57, 32,
316
+ 47, 9, 13, 10, 13, 47, 92, 10,
317
+ 13, 47, 92, 10, 13, 32, 47, 9,
318
+ 13, 10, 13, 47, 92, 10, 13, 47,
319
+ 92, 10, 13, 32, 47, 9, 13, 10,
320
+ 13, 47, 92, 10, 13, 47, 92, 10,
321
+ 13, 32, 47, 9, 13, 10, 13, 47,
322
+ 92, 10, 13, 47, 92, 10, 13, 10,
323
+ 13, 42, 47, 10, 13, 42, 10, 13,
324
+ 42, 47, 47, 32, 47, 9, 13, 10,
325
+ 13, 47, 92, 10, 13, 47, 92, 10,
326
+ 13, 32, 47, 9, 13, 10, 13, 47,
327
+ 92, 10, 13, 47, 92, 10, 13, 32,
328
+ 47, 9, 13, 10, 13, 47, 92, 10,
329
+ 13, 47, 92, 10, 13, 32, 47, 9,
330
+ 13, 10, 13, 47, 92, 10, 13, 47,
331
+ 92, 10, 13, 32, 47, 9, 13, 10,
332
+ 13, 47, 92, 10, 13, 47, 92, 10,
333
+ 13, 32, 47, 9, 13, 10, 13, 47,
334
+ 92, 10, 13, 47, 92, 10, 13, 32,
335
+ 47, 9, 13, 10, 13, 47, 92, 10,
336
+ 13, 47, 92, 10, 13, 32, 47, 9,
337
+ 13, 10, 13, 47, 92, 10, 13, 47,
338
+ 92, 10, 13, 32, 47, 9, 13, 10,
339
+ 13, 47, 92, 10, 13, 47, 92, 10,
340
+ 13, 32, 47, 9, 13, 10, 13, 47,
341
+ 92, 10, 13, 47, 92, 10, 13, 32,
342
+ 47, 9, 13, 10, 13, 47, 92, 10,
343
+ 13, 47, 92, 10, 13, 32, 47, 9,
344
+ 13, 10, 13, 47, 92, 10, 13, 47,
345
+ 92, 10, 13, 32, 47, 9, 13, 10,
346
+ 13, 47, 92, 10, 13, 47, 92, 10,
347
+ 13, 32, 47, 9, 13, 10, 13, 47,
348
+ 92, 10, 13, 47, 92, 10, 13, 32,
349
+ 47, 9, 13, 10, 13, 47, 92, 10,
350
+ 13, 47, 92, 10, 13, 32, 47, 9,
351
+ 13, 10, 13, 47, 92, 10, 13, 47,
352
+ 92, 10, 13, 32, 47, 9, 13, 10,
353
+ 13, 47, 92, 10, 13, 47, 92, 10,
354
+ 13, 32, 47, 9, 13, 10, 13, 47,
355
+ 92, 10, 13, 47, 92, 10, 13, 32,
356
+ 47, 9, 13, 10, 13, 47, 92, 10,
357
+ 13, 47, 92, 10, 13, 32, 47, 9,
358
+ 13, 10, 13, 47, 92, 10, 13, 47,
359
+ 92, 10, 13, 32, 47, 9, 13, 10,
360
+ 13, 47, 92, 10, 13, 47, 92, 10,
361
+ 13, 32, 47, 61, 9, 13, 32, 47,
362
+ 9, 13, 10, 13, 47, 92, 10, 13,
363
+ 47, 92, 10, 13, 32, 47, 9, 13,
364
+ 10, 13, 47, 92, 10, 13, 47, 92,
365
+ 10, 13, 32, 47, 9, 13, 10, 13,
366
+ 47, 92, 10, 13, 47, 92, 10, 13,
367
+ 32, 47, 9, 13, 10, 13, 47, 92,
368
+ 10, 13, 47, 92, 10, 13, 32, 47,
369
+ 9, 13, 10, 13, 47, 92, 10, 13,
370
+ 47, 92, 10, 13, 32, 47, 9, 13,
371
+ 10, 13, 47, 92, 10, 13, 47, 92,
372
+ 10, 13, 32, 36, 47, 95, 9, 13,
373
+ 48, 57, 65, 90, 97, 122, 10, 13,
374
+ 47, 92, 10, 13, 47, 92, 10, 13,
375
+ 32, 47, 9, 13, 10, 13, 47, 92,
376
+ 10, 13, 47, 92, 10, 13, 32, 47,
377
+ 9, 13, 10, 13, 47, 92, 10, 13,
378
+ 47, 92, 10, 13, 32, 36, 41, 95,
379
+ 9, 13, 48, 57, 65, 90, 97, 122,
380
+ 32, 36, 41, 44, 95, 9, 13, 48,
381
+ 57, 65, 90, 97, 122, 32, 41, 44,
382
+ 9, 13, 105, 116, 104, 32, 40, 9,
383
+ 13, 32, 36, 41, 95, 9, 13, 48,
384
+ 57, 65, 90, 97, 122, 32, 36, 41,
385
+ 44, 95, 9, 13, 48, 57, 65, 90,
386
+ 97, 122, 32, 41, 44, 9, 13, 32,
387
+ 47, 9, 13, 10, 13, 47, 92, 10,
388
+ 13, 47, 92, 10, 13, 32, 47, 9,
389
+ 13, 10, 13, 47, 92, 10, 13, 47,
390
+ 92, 10, 13, 32, 47, 9, 13, 10,
391
+ 13, 47, 92, 10, 13, 47, 92, 10,
392
+ 13, 32, 47, 9, 13, 10, 13, 47,
393
+ 92, 10, 13, 47, 92, 10, 13, 32,
394
+ 47, 9, 13, 10, 13, 47, 92, 10,
395
+ 13, 47, 92, 10, 13, 32, 47, 9,
396
+ 13, 10, 13, 47, 92, 10, 13, 47,
397
+ 92, 10, 13, 32, 47, 9, 13, 10,
398
+ 13, 47, 92, 10, 13, 47, 92, 10,
399
+ 13, 32, 47, 9, 13, 10, 13, 47,
400
+ 92, 10, 13, 47, 92, 10, 13, 32,
401
+ 47, 9, 13, 10, 13, 47, 92, 10,
402
+ 13, 47, 92, 10, 13, 32, 47, 9,
403
+ 13, 10, 13, 47, 92, 10, 13, 47,
404
+ 92, 10, 13, 32, 47, 9, 13, 10,
405
+ 13, 47, 92, 10, 13, 47, 92, 10,
406
+ 13, 32, 47, 9, 13, 10, 13, 47,
407
+ 92, 10, 13, 47, 92, 10, 13, 32,
408
+ 40, 47, 9, 13, 32, 118, 9, 13,
409
+ 97, 114, 32, 36, 95, 9, 13, 48,
410
+ 57, 65, 90, 97, 122, 32, 36, 95,
411
+ 9, 13, 48, 57, 65, 90, 97, 122,
412
+ 10, 13, 47, 92, 10, 13, 47, 92,
413
+ 10, 13, 32, 47, 9, 13, 10, 13,
414
+ 47, 92, 10, 13, 47, 92, 10, 13,
415
+ 32, 47, 9, 13, 10, 13, 47, 92,
416
+ 10, 13, 47, 92, 10, 13, 32, 47,
417
+ 9, 13, 10, 13, 47, 92, 10, 13,
418
+ 47, 92, 10, 13, 32, 47, 9, 13,
419
+ 10, 13, 47, 92, 10, 13, 47, 92,
420
+ 10, 13, 32, 47, 9, 13, 10, 13,
421
+ 47, 92, 10, 13, 47, 92, 10, 13,
422
+ 32, 47, 9, 13, 10, 13, 47, 92,
423
+ 10, 13, 47, 92, 10, 13, 32, 36,
424
+ 47, 95, 9, 13, 48, 57, 65, 90,
425
+ 97, 122, 10, 13, 47, 92, 10, 13,
426
+ 47, 92, 10, 13, 32, 47, 9, 13,
427
+ 10, 13, 47, 92, 10, 13, 47, 92,
428
+ 10, 13, 32, 36, 47, 95, 9, 13,
429
+ 48, 57, 65, 90, 97, 122, 10, 13,
430
+ 47, 92, 10, 13, 47, 92, 10, 13,
431
+ 32, 47, 9, 13, 10, 13, 47, 92,
432
+ 10, 13, 47, 92, 10, 13, 32, 47,
433
+ 9, 13, 10, 13, 47, 92, 10, 13,
434
+ 47, 92, 10, 13, 32, 47, 9, 13,
435
+ 10, 13, 47, 92, 10, 13, 47, 92,
436
+ 10, 13, 32, 47, 9, 13, 10, 13,
437
+ 47, 92, 10, 13, 47, 92, 10, 13,
438
+ 32, 47, 9, 13, 10, 13, 47, 92,
439
+ 10, 13, 47, 92, 10, 13, 32, 47,
440
+ 9, 13, 10, 13, 47, 92, 10, 13,
441
+ 47, 92, 10, 13, 32, 47, 9, 13,
442
+ 10, 13, 47, 92, 10, 13, 47, 92,
443
+ 10, 13, 32, 47, 9, 13, 10, 13,
444
+ 47, 92, 10, 13, 47, 92, 10, 13,
445
+ 32, 47, 9, 13, 10, 13, 47, 92,
446
+ 10, 13, 47, 92, 10, 13, 32, 47,
447
+ 9, 13, 10, 13, 47, 92, 10, 13,
448
+ 47, 92, 10, 13, 32, 47, 9, 13,
449
+ 10, 13, 47, 92, 10, 13, 47, 92,
450
+ 10, 13, 32, 47, 9, 13, 10, 13,
451
+ 47, 92, 10, 13, 47, 92, 10, 13,
452
+ 32, 47, 9, 13, 10, 13, 47, 92,
453
+ 10, 13, 47, 92, 10, 13, 32, 47,
454
+ 9, 13, 10, 13, 47, 92, 10, 13,
455
+ 47, 92, 10, 13, 32, 47, 9, 13,
456
+ 10, 13, 47, 92, 10, 13, 47, 92,
457
+ 10, 13, 32, 47, 9, 13, 10, 13,
458
+ 47, 92, 10, 13, 47, 92, 10, 13,
459
+ 32, 47, 9, 13, 10, 13, 47, 92,
460
+ 10, 13, 47, 92, 10, 13, 32, 47,
461
+ 9, 13, 10, 13, 47, 92, 10, 13,
462
+ 47, 92, 10, 13, 32, 47, 9, 13,
463
+ 10, 13, 47, 92, 10, 13, 47, 92,
464
+ 10, 13, 32, 47, 9, 13, 10, 13,
465
+ 47, 92, 10, 13, 47, 92, 10, 13,
466
+ 32, 47, 9, 13, 10, 13, 47, 92,
467
+ 10, 13, 47, 92, 10, 13, 32, 47,
468
+ 9, 13, 10, 13, 47, 92, 10, 13,
469
+ 47, 92, 10, 13, 32, 47, 9, 13,
470
+ 10, 13, 47, 92, 10, 13, 47, 92,
471
+ 10, 13, 10, 13, 32, 33, 34, 35,
472
+ 36, 37, 38, 39, 40, 42, 43, 44,
473
+ 45, 46, 47, 48, 58, 59, 60, 61,
474
+ 62, 63, 64, 91, 94, 95, 97, 98,
475
+ 99, 100, 101, 102, 103, 105, 108, 109,
476
+ 110, 112, 114, 115, 116, 118, 119, 124,
477
+ 9, 12, 49, 57, 65, 90, 104, 122,
478
+ 123, 125, 97, 102, 112, 115, 118, 36,
479
+ 95, 48, 57, 65, 90, 97, 122, 36,
480
+ 95, 48, 57, 65, 90, 97, 122, 32,
481
+ 36, 44, 95, 9, 13, 48, 57, 65,
482
+ 90, 97, 122, 32, 36, 95, 9, 13,
483
+ 48, 57, 65, 90, 97, 122, 36, 95,
484
+ 48, 57, 65, 90, 97, 122, 61, 32,
485
+ 47, 61, 9, 13, 103, 105, 109, 32,
486
+ 47, 9, 13, 103, 105, 109, 34, 92,
487
+ 0, 31, 32, 47, 9, 13, 103, 105,
488
+ 109, 36, 95, 48, 57, 65, 90, 97,
489
+ 122, 32, 47, 61, 9, 13, 103, 105,
490
+ 109, 32, 47, 9, 13, 103, 105, 109,
491
+ 38, 61, 32, 47, 61, 9, 13, 103,
492
+ 105, 109, 103, 105, 109, 32, 47, 9,
493
+ 13, 103, 105, 109, 39, 92, 0, 31,
494
+ 32, 47, 9, 13, 103, 105, 109, 32,
495
+ 47, 61, 9, 13, 103, 105, 109, 32,
496
+ 47, 9, 13, 103, 105, 109, 32, 43,
497
+ 47, 61, 9, 13, 103, 105, 109, 32,
498
+ 47, 9, 13, 103, 105, 109, 32, 47,
499
+ 9, 13, 103, 105, 109, 32, 45, 47,
500
+ 48, 61, 62, 9, 13, 49, 57, 103,
501
+ 105, 109, 46, 69, 101, 48, 57, 69,
502
+ 101, 48, 57, 48, 57, 46, 69, 101,
503
+ 48, 57, 32, 47, 9, 13, 103, 105,
504
+ 109, 103, 105, 109, 32, 47, 9, 13,
505
+ 103, 105, 109, 32, 42, 47, 61, 9,
506
+ 13, 103, 105, 109, 47, 10, 13, 47,
507
+ 92, 10, 13, 47, 92, 10, 13, 103,
508
+ 105, 109, 10, 13, 10, 13, 32, 47,
509
+ 9, 13, 103, 105, 109, 36, 46, 69,
510
+ 95, 101, 48, 57, 65, 90, 97, 122,
511
+ 36, 95, 48, 57, 65, 90, 97, 122,
512
+ 36, 43, 45, 95, 48, 57, 65, 90,
513
+ 97, 122, 36, 46, 69, 95, 101, 48,
514
+ 57, 65, 90, 97, 122, 32, 47, 58,
515
+ 9, 13, 103, 105, 109, 103, 105, 109,
516
+ 32, 47, 60, 61, 9, 13, 103, 105,
517
+ 109, 32, 47, 61, 9, 13, 103, 105,
518
+ 109, 32, 47, 9, 13, 103, 105, 109,
519
+ 32, 47, 9, 13, 103, 105, 109, 32,
520
+ 47, 61, 9, 13, 103, 105, 109, 32,
521
+ 47, 61, 9, 13, 103, 105, 109, 32,
522
+ 47, 9, 13, 103, 105, 109, 32, 47,
523
+ 61, 62, 9, 13, 103, 105, 109, 32,
524
+ 47, 9, 13, 103, 105, 109, 32, 47,
525
+ 61, 62, 9, 13, 103, 105, 109, 32,
526
+ 47, 9, 13, 103, 105, 109, 32, 47,
527
+ 61, 9, 13, 103, 105, 109, 32, 47,
528
+ 9, 13, 103, 105, 109, 32, 47, 9,
529
+ 13, 103, 105, 109, 32, 47, 9, 13,
530
+ 103, 105, 109, 32, 47, 9, 13, 103,
531
+ 105, 109, 32, 47, 61, 94, 9, 13,
532
+ 103, 105, 109, 32, 47, 9, 13, 103,
533
+ 105, 109, 103, 105, 109, 103, 105, 109,
534
+ 36, 95, 98, 99, 48, 57, 65, 90,
535
+ 97, 122, 36, 95, 115, 48, 57, 65,
536
+ 90, 97, 122, 36, 95, 116, 48, 57,
537
+ 65, 90, 97, 122, 36, 95, 114, 48,
538
+ 57, 65, 90, 97, 122, 36, 95, 97,
539
+ 48, 57, 65, 90, 98, 122, 36, 95,
540
+ 99, 48, 57, 65, 90, 97, 122, 36,
541
+ 95, 116, 48, 57, 65, 90, 97, 122,
542
+ 32, 36, 47, 95, 9, 13, 48, 57,
543
+ 65, 90, 97, 122, 103, 105, 109, 36,
544
+ 95, 99, 48, 57, 65, 90, 97, 122,
545
+ 36, 95, 101, 48, 57, 65, 90, 97,
546
+ 122, 36, 95, 115, 48, 57, 65, 90,
547
+ 97, 122, 36, 95, 115, 48, 57, 65,
548
+ 90, 97, 122, 36, 95, 111, 48, 57,
549
+ 65, 90, 97, 122, 36, 95, 114, 48,
550
+ 57, 65, 90, 97, 122, 36, 95, 111,
551
+ 114, 121, 48, 57, 65, 90, 97, 122,
552
+ 36, 95, 111, 48, 57, 65, 90, 97,
553
+ 122, 36, 95, 108, 48, 57, 65, 90,
554
+ 97, 122, 36, 95, 101, 48, 57, 65,
555
+ 90, 97, 122, 36, 95, 97, 48, 57,
556
+ 65, 90, 98, 122, 36, 95, 110, 48,
557
+ 57, 65, 90, 97, 122, 36, 95, 101,
558
+ 48, 57, 65, 90, 97, 122, 36, 95,
559
+ 97, 48, 57, 65, 90, 98, 122, 36,
560
+ 95, 107, 48, 57, 65, 90, 97, 122,
561
+ 32, 36, 47, 95, 9, 13, 48, 57,
562
+ 65, 90, 97, 122, 103, 105, 109, 36,
563
+ 95, 116, 48, 57, 65, 90, 97, 122,
564
+ 36, 95, 101, 48, 57, 65, 90, 97,
565
+ 122, 36, 95, 97, 104, 108, 111, 117,
566
+ 48, 57, 65, 90, 98, 122, 36, 95,
567
+ 115, 116, 48, 57, 65, 90, 97, 122,
568
+ 36, 95, 101, 48, 57, 65, 90, 97,
569
+ 122, 32, 36, 47, 95, 9, 13, 48,
570
+ 57, 65, 90, 97, 122, 103, 105, 109,
571
+ 36, 95, 99, 48, 57, 65, 90, 97,
572
+ 122, 36, 95, 104, 48, 57, 65, 90,
573
+ 97, 122, 32, 36, 47, 95, 9, 13,
574
+ 48, 57, 65, 90, 97, 122, 103, 105,
575
+ 109, 36, 95, 97, 48, 57, 65, 90,
576
+ 98, 122, 36, 95, 114, 48, 57, 65,
577
+ 90, 97, 122, 36, 95, 97, 48, 57,
578
+ 65, 90, 98, 122, 36, 95, 115, 48,
579
+ 57, 65, 90, 97, 122, 36, 95, 115,
580
+ 48, 57, 65, 90, 97, 122, 32, 36,
581
+ 47, 95, 9, 13, 48, 57, 65, 90,
582
+ 97, 122, 36, 95, 48, 57, 65, 90,
583
+ 97, 122, 103, 105, 109, 36, 95, 110,
584
+ 48, 57, 65, 90, 97, 122, 36, 95,
585
+ 115, 116, 48, 57, 65, 90, 97, 122,
586
+ 36, 95, 116, 48, 57, 65, 90, 97,
587
+ 122, 32, 36, 47, 95, 9, 13, 48,
588
+ 57, 65, 90, 97, 122, 103, 105, 109,
589
+ 36, 95, 105, 48, 57, 65, 90, 97,
590
+ 122, 36, 95, 110, 48, 57, 65, 90,
591
+ 97, 122, 36, 95, 117, 48, 57, 65,
592
+ 90, 97, 122, 36, 95, 101, 48, 57,
593
+ 65, 90, 97, 122, 32, 36, 47, 95,
594
+ 9, 13, 48, 57, 65, 90, 97, 122,
595
+ 103, 105, 109, 36, 95, 114, 48, 57,
596
+ 65, 90, 97, 122, 36, 95, 114, 48,
597
+ 57, 65, 90, 97, 122, 36, 95, 121,
598
+ 48, 57, 65, 90, 97, 122, 32, 36,
599
+ 40, 95, 119, 9, 13, 48, 57, 65,
600
+ 90, 97, 122, 32, 40, 119, 9, 13,
601
+ 32, 119, 9, 13, 32, 9, 13, 36,
602
+ 95, 105, 48, 57, 65, 90, 97, 122,
603
+ 36, 95, 116, 48, 57, 65, 90, 97,
604
+ 122, 36, 95, 104, 48, 57, 65, 90,
605
+ 97, 122, 32, 36, 40, 95, 9, 13,
606
+ 48, 57, 65, 90, 97, 122, 36, 95,
607
+ 101, 111, 48, 57, 65, 90, 97, 122,
608
+ 36, 95, 98, 102, 108, 48, 57, 65,
609
+ 90, 97, 122, 36, 95, 117, 48, 57,
610
+ 65, 90, 97, 122, 36, 95, 103, 48,
611
+ 57, 65, 90, 97, 122, 36, 95, 103,
612
+ 48, 57, 65, 90, 97, 122, 36, 95,
613
+ 101, 48, 57, 65, 90, 97, 122, 36,
614
+ 95, 114, 48, 57, 65, 90, 97, 122,
615
+ 32, 36, 47, 95, 9, 13, 48, 57,
616
+ 65, 90, 97, 122, 103, 105, 109, 36,
617
+ 95, 97, 48, 57, 65, 90, 98, 122,
618
+ 36, 95, 117, 48, 57, 65, 90, 97,
619
+ 122, 36, 95, 108, 48, 57, 65, 90,
620
+ 97, 122, 36, 95, 116, 48, 57, 65,
621
+ 90, 97, 122, 32, 36, 47, 95, 9,
622
+ 13, 48, 57, 65, 90, 97, 122, 103,
623
+ 105, 109, 36, 95, 101, 48, 57, 65,
624
+ 90, 97, 122, 36, 95, 116, 48, 57,
625
+ 65, 90, 97, 122, 36, 95, 101, 48,
626
+ 57, 65, 90, 97, 122, 32, 36, 47,
627
+ 95, 9, 13, 48, 57, 65, 90, 97,
628
+ 122, 103, 105, 109, 32, 36, 47, 95,
629
+ 117, 9, 13, 48, 57, 65, 90, 97,
630
+ 122, 103, 105, 109, 36, 95, 98, 48,
631
+ 57, 65, 90, 97, 122, 36, 95, 108,
632
+ 48, 57, 65, 90, 97, 122, 36, 95,
633
+ 108, 110, 120, 48, 57, 65, 90, 97,
634
+ 122, 36, 95, 115, 48, 57, 65, 90,
635
+ 97, 122, 36, 95, 101, 48, 57, 65,
636
+ 90, 97, 122, 32, 36, 47, 95, 9,
637
+ 13, 48, 57, 65, 90, 97, 122, 103,
638
+ 105, 109, 36, 95, 117, 48, 57, 65,
639
+ 90, 97, 122, 36, 95, 109, 48, 57,
640
+ 65, 90, 97, 122, 32, 36, 47, 95,
641
+ 9, 13, 48, 57, 65, 90, 97, 122,
642
+ 103, 105, 109, 36, 95, 112, 116, 48,
643
+ 57, 65, 90, 97, 122, 36, 95, 111,
644
+ 48, 57, 65, 90, 97, 122, 36, 95,
645
+ 114, 48, 57, 65, 90, 97, 122, 36,
646
+ 95, 116, 48, 57, 65, 90, 97, 122,
647
+ 32, 36, 47, 95, 9, 13, 48, 57,
648
+ 65, 90, 97, 122, 103, 105, 109, 36,
649
+ 95, 101, 48, 57, 65, 90, 97, 122,
650
+ 36, 95, 110, 48, 57, 65, 90, 97,
651
+ 122, 36, 95, 100, 48, 57, 65, 90,
652
+ 97, 122, 36, 95, 115, 48, 57, 65,
653
+ 90, 97, 122, 32, 36, 47, 95, 9,
654
+ 13, 48, 57, 65, 90, 97, 122, 103,
655
+ 105, 109, 36, 95, 97, 105, 108, 111,
656
+ 117, 48, 57, 65, 90, 98, 122, 36,
657
+ 95, 108, 48, 57, 65, 90, 97, 122,
658
+ 36, 95, 115, 48, 57, 65, 90, 97,
659
+ 122, 36, 95, 101, 48, 57, 65, 90,
660
+ 97, 122, 36, 95, 101, 110, 48, 57,
661
+ 65, 90, 97, 122, 36, 95, 108, 48,
662
+ 57, 65, 90, 97, 122, 36, 95, 100,
663
+ 48, 57, 65, 90, 97, 122, 32, 36,
664
+ 47, 95, 9, 13, 48, 57, 65, 90,
665
+ 97, 122, 103, 105, 109, 36, 95, 97,
666
+ 48, 57, 65, 90, 98, 122, 36, 95,
667
+ 108, 48, 57, 65, 90, 97, 122, 32,
668
+ 36, 47, 95, 108, 9, 13, 48, 57,
669
+ 65, 90, 97, 122, 103, 105, 109, 36,
670
+ 95, 121, 48, 57, 65, 90, 97, 122,
671
+ 32, 36, 47, 95, 9, 13, 48, 57,
672
+ 65, 90, 97, 122, 103, 105, 109, 36,
673
+ 95, 111, 48, 57, 65, 90, 97, 122,
674
+ 36, 95, 97, 48, 57, 65, 90, 98,
675
+ 122, 36, 95, 116, 48, 57, 65, 90,
676
+ 97, 122, 36, 95, 114, 48, 57, 65,
677
+ 90, 97, 122, 32, 36, 47, 95, 101,
678
+ 9, 13, 48, 57, 65, 90, 97, 122,
679
+ 103, 105, 109, 36, 95, 97, 48, 57,
680
+ 65, 90, 98, 122, 36, 95, 99, 48,
681
+ 57, 65, 90, 97, 122, 36, 95, 104,
682
+ 48, 57, 65, 90, 97, 122, 32, 36,
683
+ 40, 47, 95, 9, 13, 48, 57, 65,
684
+ 90, 97, 122, 32, 36, 58, 95, 9,
685
+ 13, 48, 57, 65, 90, 97, 122, 32,
686
+ 58, 9, 13, 32, 36, 95, 9, 13,
687
+ 48, 57, 65, 90, 97, 122, 32, 9,
688
+ 13, 103, 105, 109, 36, 95, 110, 48,
689
+ 57, 65, 90, 97, 122, 36, 95, 99,
690
+ 48, 57, 65, 90, 97, 122, 36, 95,
691
+ 116, 48, 57, 65, 90, 97, 122, 36,
692
+ 95, 105, 48, 57, 65, 90, 97, 122,
693
+ 36, 95, 111, 48, 57, 65, 90, 97,
694
+ 122, 36, 95, 110, 48, 57, 65, 90,
695
+ 97, 122, 32, 36, 47, 95, 9, 13,
696
+ 48, 57, 65, 90, 97, 122, 103, 105,
697
+ 109, 36, 95, 111, 48, 57, 65, 90,
698
+ 97, 122, 36, 95, 116, 48, 57, 65,
699
+ 90, 97, 122, 36, 95, 111, 48, 57,
700
+ 65, 90, 97, 122, 32, 36, 47, 95,
701
+ 9, 13, 48, 57, 65, 90, 97, 122,
702
+ 103, 105, 109, 36, 95, 102, 109, 110,
703
+ 48, 57, 65, 90, 97, 122, 32, 36,
704
+ 47, 95, 9, 13, 48, 57, 65, 90,
705
+ 97, 122, 103, 105, 109, 36, 95, 112,
706
+ 48, 57, 65, 90, 97, 122, 36, 95,
707
+ 108, 111, 48, 57, 65, 90, 97, 122,
708
+ 36, 95, 101, 48, 57, 65, 90, 97,
709
+ 122, 36, 95, 109, 48, 57, 65, 90,
710
+ 97, 122, 36, 95, 101, 48, 57, 65,
711
+ 90, 97, 122, 36, 95, 110, 48, 57,
712
+ 65, 90, 97, 122, 36, 95, 116, 48,
713
+ 57, 65, 90, 97, 122, 36, 95, 115,
714
+ 48, 57, 65, 90, 97, 122, 32, 36,
715
+ 47, 95, 9, 13, 48, 57, 65, 90,
716
+ 97, 122, 103, 105, 109, 36, 95, 114,
717
+ 48, 57, 65, 90, 97, 122, 36, 95,
718
+ 116, 48, 57, 65, 90, 97, 122, 32,
719
+ 36, 47, 95, 9, 13, 48, 57, 65,
720
+ 90, 97, 122, 103, 105, 109, 32, 36,
721
+ 47, 95, 99, 115, 116, 9, 13, 48,
722
+ 57, 65, 90, 97, 122, 103, 105, 109,
723
+ 36, 95, 108, 48, 57, 65, 90, 97,
724
+ 122, 36, 95, 117, 48, 57, 65, 90,
725
+ 97, 122, 36, 95, 100, 48, 57, 65,
726
+ 90, 97, 122, 36, 95, 101, 48, 57,
727
+ 65, 90, 97, 122, 32, 36, 47, 95,
728
+ 9, 13, 48, 57, 65, 90, 97, 122,
729
+ 36, 95, 48, 57, 65, 90, 97, 122,
730
+ 103, 105, 109, 36, 95, 116, 48, 57,
731
+ 65, 90, 97, 122, 36, 95, 97, 48,
732
+ 57, 65, 90, 98, 122, 36, 95, 110,
733
+ 48, 57, 65, 90, 97, 122, 36, 95,
734
+ 99, 48, 57, 65, 90, 97, 122, 36,
735
+ 95, 101, 48, 57, 65, 90, 97, 122,
736
+ 36, 95, 111, 48, 57, 65, 90, 97,
737
+ 122, 36, 95, 102, 48, 57, 65, 90,
738
+ 97, 122, 32, 36, 47, 95, 9, 13,
739
+ 48, 57, 65, 90, 97, 122, 103, 105,
740
+ 109, 36, 95, 101, 48, 57, 65, 90,
741
+ 97, 122, 36, 95, 114, 48, 57, 65,
742
+ 90, 97, 122, 36, 95, 102, 48, 57,
743
+ 65, 90, 97, 122, 36, 95, 97, 48,
744
+ 57, 65, 90, 98, 122, 36, 95, 99,
745
+ 48, 57, 65, 90, 97, 122, 36, 95,
746
+ 111, 48, 57, 65, 90, 97, 122, 36,
747
+ 95, 110, 48, 57, 65, 90, 97, 122,
748
+ 36, 95, 103, 48, 57, 65, 90, 97,
749
+ 122, 36, 95, 111, 48, 57, 65, 90,
750
+ 97, 122, 36, 95, 100, 48, 57, 65,
751
+ 90, 97, 122, 36, 95, 117, 48, 57,
752
+ 65, 90, 97, 122, 36, 95, 108, 48,
753
+ 57, 65, 90, 97, 122, 36, 95, 101,
754
+ 48, 57, 65, 90, 97, 122, 32, 36,
755
+ 47, 95, 9, 13, 48, 57, 65, 90,
756
+ 97, 122, 36, 95, 48, 57, 65, 90,
757
+ 97, 122, 103, 105, 109, 36, 95, 97,
758
+ 101, 117, 48, 57, 65, 90, 98, 122,
759
+ 36, 95, 116, 48, 57, 65, 90, 97,
760
+ 122, 36, 95, 105, 48, 57, 65, 90,
761
+ 97, 122, 36, 95, 118, 48, 57, 65,
762
+ 90, 97, 122, 36, 95, 101, 48, 57,
763
+ 65, 90, 97, 122, 32, 36, 47, 95,
764
+ 9, 13, 48, 57, 65, 90, 97, 122,
765
+ 103, 105, 109, 36, 95, 119, 48, 57,
766
+ 65, 90, 97, 122, 32, 36, 47, 95,
767
+ 9, 13, 48, 57, 65, 90, 97, 122,
768
+ 103, 105, 109, 36, 95, 108, 48, 57,
769
+ 65, 90, 97, 122, 36, 95, 108, 48,
770
+ 57, 65, 90, 97, 122, 36, 95, 97,
771
+ 114, 117, 48, 57, 65, 90, 98, 122,
772
+ 36, 95, 99, 48, 57, 65, 90, 97,
773
+ 122, 36, 95, 107, 48, 57, 65, 90,
774
+ 97, 122, 36, 95, 97, 48, 57, 65,
775
+ 90, 98, 122, 36, 95, 103, 48, 57,
776
+ 65, 90, 97, 122, 36, 95, 101, 48,
777
+ 57, 65, 90, 97, 122, 32, 36, 47,
778
+ 95, 9, 13, 48, 57, 65, 90, 97,
779
+ 122, 103, 105, 109, 36, 95, 105, 111,
780
+ 48, 57, 65, 90, 97, 122, 36, 95,
781
+ 118, 48, 57, 65, 90, 97, 122, 36,
782
+ 95, 97, 48, 57, 65, 90, 98, 122,
783
+ 36, 95, 116, 48, 57, 65, 90, 97,
784
+ 122, 36, 95, 101, 48, 57, 65, 90,
785
+ 97, 122, 32, 36, 47, 95, 9, 13,
786
+ 48, 57, 65, 90, 97, 122, 103, 105,
787
+ 109, 36, 95, 112, 116, 48, 57, 65,
788
+ 90, 97, 122, 36, 95, 101, 48, 57,
789
+ 65, 90, 97, 122, 36, 95, 114, 48,
790
+ 57, 65, 90, 97, 122, 36, 95, 116,
791
+ 48, 57, 65, 90, 97, 122, 36, 95,
792
+ 121, 48, 57, 65, 90, 97, 122, 36,
793
+ 95, 101, 48, 57, 65, 90, 97, 122,
794
+ 36, 95, 99, 48, 57, 65, 90, 97,
795
+ 122, 36, 95, 116, 48, 57, 65, 90,
796
+ 97, 122, 36, 95, 101, 48, 57, 65,
797
+ 90, 97, 122, 36, 95, 100, 48, 57,
798
+ 65, 90, 97, 122, 32, 36, 47, 95,
799
+ 9, 13, 48, 57, 65, 90, 97, 122,
800
+ 103, 105, 109, 36, 95, 98, 48, 57,
801
+ 65, 90, 97, 122, 36, 95, 108, 48,
802
+ 57, 65, 90, 97, 122, 36, 95, 105,
803
+ 48, 57, 65, 90, 97, 122, 36, 95,
804
+ 99, 48, 57, 65, 90, 97, 122, 32,
805
+ 36, 47, 95, 9, 13, 48, 57, 65,
806
+ 90, 97, 122, 103, 105, 109, 36, 95,
807
+ 101, 48, 57, 65, 90, 97, 122, 36,
808
+ 95, 116, 48, 57, 65, 90, 97, 122,
809
+ 36, 95, 117, 48, 57, 65, 90, 97,
810
+ 122, 36, 95, 114, 48, 57, 65, 90,
811
+ 97, 122, 36, 95, 110, 48, 57, 65,
812
+ 90, 97, 122, 32, 36, 47, 95, 9,
813
+ 13, 48, 57, 65, 90, 97, 122, 103,
814
+ 105, 109, 36, 95, 104, 116, 117, 119,
815
+ 121, 48, 57, 65, 90, 97, 122, 36,
816
+ 95, 111, 48, 57, 65, 90, 97, 122,
817
+ 36, 95, 114, 48, 57, 65, 90, 97,
818
+ 122, 36, 95, 97, 48, 57, 65, 90,
819
+ 98, 122, 36, 95, 116, 48, 57, 65,
820
+ 90, 97, 122, 36, 95, 105, 48, 57,
821
+ 65, 90, 97, 122, 36, 95, 99, 48,
822
+ 57, 65, 90, 97, 122, 32, 36, 47,
823
+ 95, 9, 13, 48, 57, 65, 90, 97,
824
+ 122, 103, 105, 109, 36, 95, 112, 48,
825
+ 57, 65, 90, 97, 122, 36, 95, 101,
826
+ 48, 57, 65, 90, 97, 122, 36, 95,
827
+ 105, 48, 57, 65, 90, 97, 122, 36,
828
+ 95, 116, 48, 57, 65, 90, 97, 122,
829
+ 36, 95, 99, 48, 57, 65, 90, 97,
830
+ 122, 36, 95, 104, 48, 57, 65, 90,
831
+ 97, 122, 32, 36, 47, 95, 9, 13,
832
+ 48, 57, 65, 90, 97, 122, 103, 105,
833
+ 109, 36, 95, 110, 48, 57, 65, 90,
834
+ 97, 122, 36, 95, 99, 48, 57, 65,
835
+ 90, 97, 122, 36, 95, 104, 48, 57,
836
+ 65, 90, 97, 122, 36, 95, 114, 48,
837
+ 57, 65, 90, 97, 122, 36, 95, 111,
838
+ 48, 57, 65, 90, 97, 122, 36, 95,
839
+ 110, 48, 57, 65, 90, 97, 122, 36,
840
+ 95, 105, 48, 57, 65, 90, 97, 122,
841
+ 36, 95, 122, 48, 57, 65, 90, 97,
842
+ 121, 36, 95, 101, 48, 57, 65, 90,
843
+ 97, 122, 36, 95, 100, 48, 57, 65,
844
+ 90, 97, 122, 32, 36, 47, 95, 9,
845
+ 13, 48, 57, 65, 90, 97, 122, 103,
846
+ 105, 109, 36, 95, 104, 114, 121, 48,
847
+ 57, 65, 90, 97, 122, 36, 95, 105,
848
+ 114, 48, 57, 65, 90, 97, 122, 36,
849
+ 95, 115, 48, 57, 65, 90, 97, 122,
850
+ 36, 95, 111, 48, 57, 65, 90, 97,
851
+ 122, 36, 95, 119, 48, 57, 65, 90,
852
+ 97, 122, 32, 36, 47, 95, 115, 9,
853
+ 13, 48, 57, 65, 90, 97, 122, 103,
854
+ 105, 109, 32, 36, 47, 95, 9, 13,
855
+ 48, 57, 65, 90, 97, 122, 103, 105,
856
+ 109, 36, 95, 97, 117, 121, 48, 57,
857
+ 65, 90, 98, 122, 36, 95, 110, 48,
858
+ 57, 65, 90, 97, 122, 36, 95, 115,
859
+ 48, 57, 65, 90, 97, 122, 36, 95,
860
+ 105, 48, 57, 65, 90, 97, 122, 36,
861
+ 95, 101, 48, 57, 65, 90, 97, 122,
862
+ 36, 95, 110, 48, 57, 65, 90, 97,
863
+ 122, 36, 95, 116, 48, 57, 65, 90,
864
+ 97, 122, 32, 36, 47, 95, 9, 13,
865
+ 48, 57, 65, 90, 97, 122, 103, 105,
866
+ 109, 32, 36, 47, 95, 9, 13, 48,
867
+ 57, 65, 90, 97, 122, 103, 105, 109,
868
+ 36, 95, 112, 48, 57, 65, 90, 97,
869
+ 122, 36, 95, 101, 48, 57, 65, 90,
870
+ 97, 122, 36, 95, 111, 48, 57, 65,
871
+ 90, 97, 122, 36, 95, 102, 48, 57,
872
+ 65, 90, 97, 122, 32, 36, 47, 95,
873
+ 9, 13, 48, 57, 65, 90, 97, 122,
874
+ 103, 105, 109, 36, 95, 97, 111, 48,
875
+ 57, 65, 90, 98, 122, 36, 95, 114,
876
+ 48, 57, 65, 90, 97, 122, 32, 36,
877
+ 47, 95, 9, 13, 48, 57, 65, 90,
878
+ 97, 122, 103, 105, 109, 36, 95, 105,
879
+ 108, 48, 57, 65, 90, 97, 122, 36,
880
+ 95, 100, 48, 57, 65, 90, 97, 122,
881
+ 36, 95, 97, 48, 57, 65, 90, 98,
882
+ 122, 36, 95, 116, 48, 57, 65, 90,
883
+ 97, 122, 36, 95, 105, 48, 57, 65,
884
+ 90, 97, 122, 36, 95, 108, 48, 57,
885
+ 65, 90, 97, 122, 36, 95, 101, 48,
886
+ 57, 65, 90, 97, 122, 32, 36, 47,
887
+ 95, 9, 13, 48, 57, 65, 90, 97,
888
+ 122, 103, 105, 109, 36, 95, 104, 105,
889
+ 48, 57, 65, 90, 97, 122, 36, 95,
890
+ 105, 48, 57, 65, 90, 97, 122, 36,
891
+ 95, 108, 48, 57, 65, 90, 97, 122,
892
+ 36, 95, 101, 48, 57, 65, 90, 97,
893
+ 122, 32, 36, 47, 95, 9, 13, 48,
894
+ 57, 65, 90, 97, 122, 103, 105, 109,
895
+ 36, 95, 116, 48, 57, 65, 90, 97,
896
+ 122, 36, 95, 104, 48, 57, 65, 90,
897
+ 97, 122, 32, 36, 47, 95, 9, 13,
898
+ 48, 57, 65, 90, 97, 122, 103, 105,
899
+ 109, 32, 47, 61, 124, 9, 13, 103,
900
+ 105, 109, 32, 47, 9, 13, 103, 105,
901
+ 109, 32, 47, 61, 9, 13, 103, 105,
902
+ 109, 103, 105, 109, 0
903
+ };
904
+
905
+ static const char _dude_single_lengths[] = {
906
+ 1, 1, 1, 1, 1, 1, 1, 1,
907
+ 1, 1, 1, 1, 1, 1, 1, 3,
908
+ 1, 2, 1, 1, 1, 1, 1, 1,
909
+ 1, 1, 1, 1, 1, 2, 1, 1,
910
+ 1, 1, 1, 1, 3, 1, 1, 1,
911
+ 3, 2, 4, 4, 2, 2, 4, 4,
912
+ 2, 2, 1, 0, 0, 0, 0, 2,
913
+ 4, 4, 2, 2, 4, 4, 2, 2,
914
+ 4, 4, 2, 2, 4, 4, 2, 2,
915
+ 4, 4, 2, 2, 4, 4, 2, 2,
916
+ 1, 0, 0, 0, 0, 2, 4, 4,
917
+ 2, 2, 4, 4, 2, 2, 4, 4,
918
+ 2, 2, 4, 4, 2, 2, 4, 4,
919
+ 2, 2, 4, 4, 2, 2, 4, 4,
920
+ 2, 0, 2, 0, 2, 4, 4, 2,
921
+ 2, 4, 4, 2, 2, 4, 4, 2,
922
+ 2, 4, 4, 2, 4, 3, 4, 1,
923
+ 2, 4, 4, 2, 2, 4, 4, 2,
924
+ 2, 4, 4, 2, 2, 4, 4, 2,
925
+ 2, 4, 4, 2, 2, 4, 4, 2,
926
+ 2, 4, 4, 2, 2, 4, 4, 2,
927
+ 2, 4, 4, 2, 2, 4, 4, 2,
928
+ 2, 4, 4, 2, 2, 4, 4, 2,
929
+ 2, 4, 4, 2, 2, 4, 4, 2,
930
+ 2, 4, 4, 2, 2, 4, 4, 2,
931
+ 2, 4, 4, 2, 2, 4, 4, 2,
932
+ 2, 4, 4, 2, 2, 4, 4, 2,
933
+ 2, 4, 4, 2, 3, 2, 4, 4,
934
+ 2, 2, 4, 4, 2, 2, 4, 4,
935
+ 2, 2, 4, 4, 2, 2, 4, 4,
936
+ 2, 2, 4, 4, 2, 4, 4, 4,
937
+ 2, 2, 4, 4, 2, 2, 4, 4,
938
+ 2, 4, 5, 3, 1, 1, 1, 2,
939
+ 4, 5, 3, 2, 4, 4, 2, 2,
940
+ 4, 4, 2, 2, 4, 4, 2, 2,
941
+ 4, 4, 2, 2, 4, 4, 2, 2,
942
+ 4, 4, 2, 2, 4, 4, 2, 2,
943
+ 4, 4, 2, 2, 4, 4, 2, 2,
944
+ 4, 4, 2, 2, 4, 4, 2, 2,
945
+ 4, 4, 2, 3, 2, 1, 1, 3,
946
+ 3, 4, 4, 2, 2, 4, 4, 2,
947
+ 2, 4, 4, 2, 2, 4, 4, 2,
948
+ 2, 4, 4, 2, 2, 4, 4, 2,
949
+ 2, 4, 4, 2, 4, 4, 4, 2,
950
+ 2, 4, 4, 2, 4, 4, 4, 2,
951
+ 2, 4, 4, 2, 2, 4, 4, 2,
952
+ 2, 4, 4, 2, 2, 4, 4, 2,
953
+ 2, 4, 4, 2, 2, 4, 4, 2,
954
+ 2, 4, 4, 2, 2, 4, 4, 2,
955
+ 2, 4, 4, 2, 2, 4, 4, 2,
956
+ 2, 4, 4, 2, 2, 4, 4, 2,
957
+ 2, 4, 4, 2, 2, 4, 4, 2,
958
+ 2, 4, 4, 2, 2, 4, 4, 2,
959
+ 2, 4, 4, 2, 2, 4, 4, 2,
960
+ 2, 4, 4, 2, 2, 4, 4, 2,
961
+ 2, 4, 4, 2, 2, 4, 4, 2,
962
+ 2, 4, 4, 2, 46, 5, 2, 2,
963
+ 4, 3, 2, 1, 3, 3, 2, 3,
964
+ 2, 2, 3, 2, 3, 3, 2, 3,
965
+ 2, 3, 3, 3, 2, 3, 2, 2,
966
+ 3, 3, 3, 2, 3, 4, 3, 2,
967
+ 3, 2, 3, 6, 3, 3, 2, 0,
968
+ 3, 2, 3, 3, 2, 3, 4, 3,
969
+ 1, 4, 4, 5, 2, 2, 2, 3,
970
+ 5, 2, 4, 5, 3, 3, 3, 4,
971
+ 3, 3, 3, 2, 3, 2, 3, 3,
972
+ 3, 3, 3, 2, 3, 4, 3, 2,
973
+ 3, 4, 3, 2, 3, 3, 3, 2,
974
+ 3, 2, 3, 2, 3, 2, 3, 4,
975
+ 3, 2, 3, 3, 3, 4, 3, 3,
976
+ 3, 3, 3, 3, 4, 3, 3, 3,
977
+ 3, 3, 3, 3, 5, 3, 3, 3,
978
+ 3, 3, 3, 3, 3, 4, 3, 3,
979
+ 3, 7, 4, 3, 4, 3, 3, 3,
980
+ 4, 3, 3, 3, 3, 3, 3, 4,
981
+ 2, 3, 3, 4, 3, 4, 3, 3,
982
+ 3, 3, 3, 4, 3, 3, 3, 3,
983
+ 5, 3, 2, 1, 3, 3, 3, 4,
984
+ 4, 5, 3, 3, 3, 3, 3, 4,
985
+ 3, 3, 3, 3, 3, 4, 3, 3,
986
+ 3, 3, 4, 3, 5, 3, 3, 3,
987
+ 5, 3, 3, 4, 3, 3, 3, 4,
988
+ 3, 4, 3, 3, 3, 4, 3, 3,
989
+ 3, 3, 3, 4, 3, 7, 3, 3,
990
+ 3, 4, 3, 3, 4, 3, 3, 3,
991
+ 5, 3, 3, 4, 3, 3, 3, 3,
992
+ 3, 5, 3, 3, 3, 3, 5, 4,
993
+ 2, 3, 1, 3, 3, 3, 3, 3,
994
+ 3, 3, 4, 3, 3, 3, 3, 4,
995
+ 3, 5, 4, 3, 3, 4, 3, 3,
996
+ 3, 3, 3, 3, 4, 3, 3, 3,
997
+ 4, 3, 7, 3, 3, 3, 3, 3,
998
+ 4, 2, 3, 3, 3, 3, 3, 3,
999
+ 3, 3, 4, 3, 3, 3, 3, 3,
1000
+ 3, 3, 3, 3, 3, 3, 3, 3,
1001
+ 3, 4, 2, 3, 5, 3, 3, 3,
1002
+ 3, 4, 3, 3, 4, 3, 3, 3,
1003
+ 5, 3, 3, 3, 3, 3, 4, 3,
1004
+ 4, 3, 3, 3, 3, 4, 3, 4,
1005
+ 3, 3, 3, 3, 3, 3, 3, 3,
1006
+ 3, 4, 3, 3, 3, 3, 3, 4,
1007
+ 3, 3, 3, 3, 3, 3, 4, 3,
1008
+ 7, 3, 3, 3, 3, 3, 3, 4,
1009
+ 3, 3, 3, 3, 3, 3, 3, 4,
1010
+ 3, 3, 3, 3, 3, 3, 3, 3,
1011
+ 3, 3, 3, 4, 3, 5, 4, 3,
1012
+ 3, 3, 5, 3, 4, 3, 5, 3,
1013
+ 3, 3, 3, 3, 3, 4, 3, 4,
1014
+ 3, 3, 3, 3, 3, 4, 3, 4,
1015
+ 3, 4, 3, 4, 3, 3, 3, 3,
1016
+ 3, 3, 4, 3, 4, 3, 3, 3,
1017
+ 4, 3, 3, 3, 4, 3, 4, 3,
1018
+ 2, 3, 3, 3, 3
1019
+ };
1020
+
1021
+ static const char _dude_range_lengths[] = {
1022
+ 0, 0, 0, 0, 0, 0, 0, 1,
1023
+ 0, 0, 0, 0, 0, 0, 0, 4,
1024
+ 0, 0, 0, 0, 0, 0, 1, 0,
1025
+ 0, 0, 0, 0, 1, 1, 0, 0,
1026
+ 0, 0, 0, 1, 1, 0, 0, 1,
1027
+ 4, 1, 0, 0, 0, 1, 0, 0,
1028
+ 0, 1, 1, 3, 3, 3, 3, 1,
1029
+ 0, 0, 0, 1, 0, 0, 0, 1,
1030
+ 0, 0, 0, 1, 0, 0, 0, 1,
1031
+ 0, 0, 0, 1, 0, 0, 0, 1,
1032
+ 1, 3, 3, 3, 3, 1, 0, 0,
1033
+ 0, 1, 0, 0, 0, 1, 0, 0,
1034
+ 0, 1, 0, 0, 0, 1, 0, 0,
1035
+ 0, 1, 0, 0, 0, 1, 0, 0,
1036
+ 0, 1, 1, 1, 1, 0, 0, 0,
1037
+ 1, 0, 0, 0, 1, 0, 0, 0,
1038
+ 1, 0, 0, 0, 0, 0, 0, 0,
1039
+ 1, 0, 0, 0, 1, 0, 0, 0,
1040
+ 1, 0, 0, 0, 1, 0, 0, 0,
1041
+ 1, 0, 0, 0, 1, 0, 0, 0,
1042
+ 1, 0, 0, 0, 1, 0, 0, 0,
1043
+ 1, 0, 0, 0, 1, 0, 0, 0,
1044
+ 1, 0, 0, 0, 1, 0, 0, 0,
1045
+ 1, 0, 0, 0, 1, 0, 0, 0,
1046
+ 1, 0, 0, 0, 1, 0, 0, 0,
1047
+ 1, 0, 0, 0, 1, 0, 0, 0,
1048
+ 1, 0, 0, 0, 1, 0, 0, 0,
1049
+ 1, 0, 0, 0, 1, 1, 0, 0,
1050
+ 0, 1, 0, 0, 0, 1, 0, 0,
1051
+ 0, 1, 0, 0, 0, 1, 0, 0,
1052
+ 0, 1, 0, 0, 0, 4, 0, 0,
1053
+ 0, 1, 0, 0, 0, 1, 0, 0,
1054
+ 0, 4, 4, 1, 0, 0, 0, 1,
1055
+ 4, 4, 1, 1, 0, 0, 0, 1,
1056
+ 0, 0, 0, 1, 0, 0, 0, 1,
1057
+ 0, 0, 0, 1, 0, 0, 0, 1,
1058
+ 0, 0, 0, 1, 0, 0, 0, 1,
1059
+ 0, 0, 0, 1, 0, 0, 0, 1,
1060
+ 0, 0, 0, 1, 0, 0, 0, 1,
1061
+ 0, 0, 0, 1, 1, 0, 0, 4,
1062
+ 4, 0, 0, 0, 1, 0, 0, 0,
1063
+ 1, 0, 0, 0, 1, 0, 0, 0,
1064
+ 1, 0, 0, 0, 1, 0, 0, 0,
1065
+ 1, 0, 0, 0, 4, 0, 0, 0,
1066
+ 1, 0, 0, 0, 4, 0, 0, 0,
1067
+ 1, 0, 0, 0, 1, 0, 0, 0,
1068
+ 1, 0, 0, 0, 1, 0, 0, 0,
1069
+ 1, 0, 0, 0, 1, 0, 0, 0,
1070
+ 1, 0, 0, 0, 1, 0, 0, 0,
1071
+ 1, 0, 0, 0, 1, 0, 0, 0,
1072
+ 1, 0, 0, 0, 1, 0, 0, 0,
1073
+ 1, 0, 0, 0, 1, 0, 0, 0,
1074
+ 1, 0, 0, 0, 1, 0, 0, 0,
1075
+ 1, 0, 0, 0, 1, 0, 0, 0,
1076
+ 1, 0, 0, 0, 1, 0, 0, 0,
1077
+ 1, 0, 0, 0, 1, 0, 0, 0,
1078
+ 1, 0, 0, 0, 5, 0, 3, 3,
1079
+ 4, 4, 3, 0, 1, 0, 1, 0,
1080
+ 1, 1, 0, 3, 1, 0, 1, 0,
1081
+ 0, 1, 0, 0, 1, 0, 1, 1,
1082
+ 0, 1, 0, 1, 0, 1, 0, 1,
1083
+ 0, 1, 0, 2, 0, 1, 1, 1,
1084
+ 1, 1, 0, 0, 1, 0, 1, 0,
1085
+ 0, 0, 0, 0, 0, 0, 1, 0,
1086
+ 3, 3, 3, 3, 1, 0, 0, 1,
1087
+ 0, 1, 0, 1, 0, 1, 0, 1,
1088
+ 0, 1, 0, 1, 0, 1, 0, 1,
1089
+ 0, 1, 0, 1, 0, 1, 0, 1,
1090
+ 0, 1, 0, 1, 0, 1, 0, 1,
1091
+ 0, 1, 0, 0, 0, 3, 3, 3,
1092
+ 3, 3, 3, 3, 4, 0, 3, 3,
1093
+ 3, 3, 3, 3, 3, 3, 3, 3,
1094
+ 3, 3, 3, 3, 3, 4, 0, 3,
1095
+ 3, 3, 3, 3, 4, 0, 3, 3,
1096
+ 4, 0, 3, 3, 3, 3, 3, 4,
1097
+ 3, 0, 3, 3, 3, 4, 0, 3,
1098
+ 3, 3, 3, 4, 0, 3, 3, 3,
1099
+ 4, 1, 1, 1, 3, 3, 3, 4,
1100
+ 3, 3, 3, 3, 3, 3, 3, 4,
1101
+ 0, 3, 3, 3, 3, 4, 0, 3,
1102
+ 3, 3, 4, 0, 4, 0, 3, 3,
1103
+ 3, 3, 3, 4, 0, 3, 3, 4,
1104
+ 0, 3, 3, 3, 3, 4, 0, 3,
1105
+ 3, 3, 3, 4, 0, 3, 3, 3,
1106
+ 3, 3, 3, 3, 4, 0, 3, 3,
1107
+ 4, 0, 3, 4, 0, 3, 3, 3,
1108
+ 3, 4, 0, 3, 3, 3, 4, 4,
1109
+ 1, 4, 1, 0, 3, 3, 3, 3,
1110
+ 3, 3, 4, 0, 3, 3, 3, 4,
1111
+ 0, 3, 4, 0, 3, 3, 3, 3,
1112
+ 3, 3, 3, 3, 4, 0, 3, 3,
1113
+ 4, 0, 4, 0, 3, 3, 3, 3,
1114
+ 4, 3, 0, 3, 3, 3, 3, 3,
1115
+ 3, 3, 4, 0, 3, 3, 3, 3,
1116
+ 3, 3, 3, 3, 3, 3, 3, 3,
1117
+ 3, 4, 3, 0, 3, 3, 3, 3,
1118
+ 3, 4, 0, 3, 4, 0, 3, 3,
1119
+ 3, 3, 3, 3, 3, 3, 4, 0,
1120
+ 3, 3, 3, 3, 3, 4, 0, 3,
1121
+ 3, 3, 3, 3, 3, 3, 3, 3,
1122
+ 3, 4, 0, 3, 3, 3, 3, 4,
1123
+ 0, 3, 3, 3, 3, 3, 4, 0,
1124
+ 3, 3, 3, 3, 3, 3, 3, 4,
1125
+ 0, 3, 3, 3, 3, 3, 3, 4,
1126
+ 0, 3, 3, 3, 3, 3, 3, 3,
1127
+ 3, 3, 3, 4, 0, 3, 3, 3,
1128
+ 3, 3, 4, 0, 4, 0, 3, 3,
1129
+ 3, 3, 3, 3, 3, 4, 0, 4,
1130
+ 0, 3, 3, 3, 3, 4, 0, 3,
1131
+ 3, 4, 0, 3, 3, 3, 3, 3,
1132
+ 3, 3, 4, 0, 3, 3, 3, 3,
1133
+ 4, 0, 3, 3, 4, 0, 1, 0,
1134
+ 1, 0, 1, 0, 0
1135
+ };
1136
+
1137
+ static const short _dude_index_offsets[] = {
1138
+ 0, 2, 4, 6, 8, 10, 12, 14,
1139
+ 17, 19, 21, 23, 25, 27, 29, 31,
1140
+ 39, 41, 44, 46, 48, 50, 52, 55,
1141
+ 57, 59, 61, 63, 65, 68, 72, 74,
1142
+ 76, 78, 80, 82, 85, 90, 92, 94,
1143
+ 97, 105, 109, 114, 119, 122, 126, 131,
1144
+ 136, 139, 143, 146, 150, 154, 158, 162,
1145
+ 166, 171, 176, 179, 183, 188, 193, 196,
1146
+ 200, 205, 210, 213, 217, 222, 227, 230,
1147
+ 234, 239, 244, 247, 251, 256, 261, 264,
1148
+ 268, 271, 275, 279, 283, 287, 291, 296,
1149
+ 301, 304, 308, 313, 318, 321, 325, 330,
1150
+ 335, 338, 342, 347, 352, 355, 359, 364,
1151
+ 369, 372, 376, 381, 386, 389, 393, 398,
1152
+ 403, 406, 408, 412, 414, 418, 423, 428,
1153
+ 431, 435, 440, 445, 448, 452, 457, 462,
1154
+ 465, 469, 474, 479, 482, 487, 491, 496,
1155
+ 498, 502, 507, 512, 515, 519, 524, 529,
1156
+ 532, 536, 541, 546, 549, 553, 558, 563,
1157
+ 566, 570, 575, 580, 583, 587, 592, 597,
1158
+ 600, 604, 609, 614, 617, 621, 626, 631,
1159
+ 634, 638, 643, 648, 651, 655, 660, 665,
1160
+ 668, 672, 677, 682, 685, 689, 694, 699,
1161
+ 702, 706, 711, 716, 719, 723, 728, 733,
1162
+ 736, 740, 745, 750, 753, 757, 762, 767,
1163
+ 770, 774, 779, 784, 787, 791, 796, 801,
1164
+ 804, 808, 813, 818, 821, 825, 830, 835,
1165
+ 838, 842, 847, 852, 855, 860, 864, 869,
1166
+ 874, 877, 881, 886, 891, 894, 898, 903,
1167
+ 908, 911, 915, 920, 925, 928, 932, 937,
1168
+ 942, 945, 949, 954, 959, 962, 971, 976,
1169
+ 981, 984, 988, 993, 998, 1001, 1005, 1010,
1170
+ 1015, 1018, 1027, 1037, 1042, 1044, 1046, 1048,
1171
+ 1052, 1061, 1071, 1076, 1080, 1085, 1090, 1093,
1172
+ 1097, 1102, 1107, 1110, 1114, 1119, 1124, 1127,
1173
+ 1131, 1136, 1141, 1144, 1148, 1153, 1158, 1161,
1174
+ 1165, 1170, 1175, 1178, 1182, 1187, 1192, 1195,
1175
+ 1199, 1204, 1209, 1212, 1216, 1221, 1226, 1229,
1176
+ 1233, 1238, 1243, 1246, 1250, 1255, 1260, 1263,
1177
+ 1267, 1272, 1277, 1280, 1285, 1289, 1291, 1293,
1178
+ 1301, 1309, 1314, 1319, 1322, 1326, 1331, 1336,
1179
+ 1339, 1343, 1348, 1353, 1356, 1360, 1365, 1370,
1180
+ 1373, 1377, 1382, 1387, 1390, 1394, 1399, 1404,
1181
+ 1407, 1411, 1416, 1421, 1424, 1433, 1438, 1443,
1182
+ 1446, 1450, 1455, 1460, 1463, 1472, 1477, 1482,
1183
+ 1485, 1489, 1494, 1499, 1502, 1506, 1511, 1516,
1184
+ 1519, 1523, 1528, 1533, 1536, 1540, 1545, 1550,
1185
+ 1553, 1557, 1562, 1567, 1570, 1574, 1579, 1584,
1186
+ 1587, 1591, 1596, 1601, 1604, 1608, 1613, 1618,
1187
+ 1621, 1625, 1630, 1635, 1638, 1642, 1647, 1652,
1188
+ 1655, 1659, 1664, 1669, 1672, 1676, 1681, 1686,
1189
+ 1689, 1693, 1698, 1703, 1706, 1710, 1715, 1720,
1190
+ 1723, 1727, 1732, 1737, 1740, 1744, 1749, 1754,
1191
+ 1757, 1761, 1766, 1771, 1774, 1778, 1783, 1788,
1192
+ 1791, 1795, 1800, 1805, 1808, 1812, 1817, 1822,
1193
+ 1825, 1829, 1834, 1839, 1842, 1846, 1851, 1856,
1194
+ 1859, 1863, 1868, 1873, 1876, 1928, 1934, 1940,
1195
+ 1946, 1955, 1963, 1969, 1971, 1976, 1980, 1984,
1196
+ 1988, 1992, 1996, 2000, 2006, 2011, 2015, 2019,
1197
+ 2023, 2026, 2031, 2035, 2039, 2043, 2047, 2051,
1198
+ 2055, 2059, 2064, 2068, 2072, 2076, 2082, 2086,
1199
+ 2090, 2094, 2098, 2102, 2111, 2115, 2120, 2124,
1200
+ 2126, 2131, 2135, 2139, 2143, 2147, 2151, 2157,
1201
+ 2161, 2163, 2168, 2173, 2179, 2182, 2185, 2189,
1202
+ 2193, 2202, 2208, 2216, 2225, 2230, 2234, 2238,
1203
+ 2244, 2248, 2253, 2257, 2261, 2265, 2269, 2273,
1204
+ 2278, 2282, 2287, 2291, 2295, 2299, 2305, 2309,
1205
+ 2313, 2317, 2323, 2327, 2331, 2335, 2340, 2344,
1206
+ 2348, 2352, 2356, 2360, 2364, 2368, 2372, 2376,
1207
+ 2382, 2386, 2390, 2394, 2398, 2402, 2410, 2417,
1208
+ 2424, 2431, 2438, 2445, 2452, 2461, 2465, 2472,
1209
+ 2479, 2486, 2493, 2500, 2507, 2516, 2523, 2530,
1210
+ 2537, 2544, 2551, 2558, 2565, 2572, 2581, 2585,
1211
+ 2592, 2599, 2610, 2618, 2625, 2634, 2638, 2645,
1212
+ 2652, 2661, 2665, 2672, 2679, 2686, 2693, 2700,
1213
+ 2709, 2715, 2719, 2726, 2734, 2741, 2750, 2754,
1214
+ 2761, 2768, 2775, 2782, 2791, 2795, 2802, 2809,
1215
+ 2816, 2826, 2831, 2835, 2838, 2845, 2852, 2859,
1216
+ 2868, 2876, 2885, 2892, 2899, 2906, 2913, 2920,
1217
+ 2929, 2933, 2940, 2947, 2954, 2961, 2970, 2974,
1218
+ 2981, 2988, 2995, 3004, 3008, 3018, 3022, 3029,
1219
+ 3036, 3045, 3052, 3059, 3068, 3072, 3079, 3086,
1220
+ 3095, 3099, 3107, 3114, 3121, 3128, 3137, 3141,
1221
+ 3148, 3155, 3162, 3169, 3178, 3182, 3193, 3200,
1222
+ 3207, 3214, 3222, 3229, 3236, 3245, 3249, 3256,
1223
+ 3263, 3273, 3277, 3284, 3293, 3297, 3304, 3311,
1224
+ 3318, 3325, 3335, 3339, 3346, 3353, 3360, 3370,
1225
+ 3379, 3383, 3391, 3394, 3398, 3405, 3412, 3419,
1226
+ 3426, 3433, 3440, 3449, 3453, 3460, 3467, 3474,
1227
+ 3483, 3487, 3496, 3505, 3509, 3516, 3524, 3531,
1228
+ 3538, 3545, 3552, 3559, 3566, 3575, 3579, 3586,
1229
+ 3593, 3602, 3606, 3618, 3622, 3629, 3636, 3643,
1230
+ 3650, 3659, 3665, 3669, 3676, 3683, 3690, 3697,
1231
+ 3704, 3711, 3718, 3727, 3731, 3738, 3745, 3752,
1232
+ 3759, 3766, 3773, 3780, 3787, 3794, 3801, 3808,
1233
+ 3815, 3822, 3831, 3837, 3841, 3850, 3857, 3864,
1234
+ 3871, 3878, 3887, 3891, 3898, 3907, 3911, 3918,
1235
+ 3925, 3934, 3941, 3948, 3955, 3962, 3969, 3978,
1236
+ 3982, 3990, 3997, 4004, 4011, 4018, 4027, 4031,
1237
+ 4039, 4046, 4053, 4060, 4067, 4074, 4081, 4088,
1238
+ 4095, 4102, 4111, 4115, 4122, 4129, 4136, 4143,
1239
+ 4152, 4156, 4163, 4170, 4177, 4184, 4191, 4200,
1240
+ 4204, 4215, 4222, 4229, 4236, 4243, 4250, 4257,
1241
+ 4266, 4270, 4277, 4284, 4291, 4298, 4305, 4312,
1242
+ 4321, 4325, 4332, 4339, 4346, 4353, 4360, 4367,
1243
+ 4374, 4381, 4388, 4395, 4404, 4408, 4417, 4425,
1244
+ 4432, 4439, 4446, 4456, 4460, 4469, 4473, 4482,
1245
+ 4489, 4496, 4503, 4510, 4517, 4524, 4533, 4537,
1246
+ 4546, 4550, 4557, 4564, 4571, 4578, 4587, 4591,
1247
+ 4599, 4606, 4615, 4619, 4627, 4634, 4641, 4648,
1248
+ 4655, 4662, 4669, 4678, 4682, 4690, 4697, 4704,
1249
+ 4711, 4720, 4724, 4731, 4738, 4747, 4751, 4757,
1250
+ 4761, 4765, 4769, 4774, 4778
1251
+ };
1252
+
1253
+ static const short _dude_indicies[] = {
1254
+ 1, 0, 2, 0, 3, 0, 4, 0,
1255
+ 5, 0, 6, 0, 7, 0, 8, 8,
1256
+ 0, 9, 0, 10, 0, 11, 0, 12,
1257
+ 0, 13, 0, 14, 0, 15, 0, 15,
1258
+ 16, 16, 15, 16, 16, 16, 0, 17,
1259
+ 0, 18, 19, 0, 20, 0, 21, 0,
1260
+ 22, 0, 23, 0, 24, 24, 0, 25,
1261
+ 0, 26, 0, 27, 0, 28, 0, 29,
1262
+ 0, 30, 30, 0, 32, 33, 32, 31,
1263
+ 34, 0, 35, 0, 36, 0, 37, 0,
1264
+ 38, 0, 39, 39, 0, 39, 40, 41,
1265
+ 39, 0, 42, 0, 43, 0, 44, 44,
1266
+ 0, 44, 45, 45, 44, 45, 45, 45,
1267
+ 0, 47, 48, 47, 46, 46, 46, 46,
1268
+ 50, 49, 46, 46, 51, 50, 49, 46,
1269
+ 46, 49, 52, 53, 52, 46, 46, 46,
1270
+ 46, 55, 54, 46, 46, 56, 55, 54,
1271
+ 46, 46, 54, 59, 60, 57, 58, 62,
1272
+ 57, 61, 63, 63, 63, 57, 64, 64,
1273
+ 64, 57, 65, 65, 65, 57, 66, 66,
1274
+ 66, 57, 67, 68, 67, 57, 57, 57,
1275
+ 57, 70, 69, 57, 57, 71, 70, 69,
1276
+ 57, 57, 69, 72, 73, 72, 57, 57,
1277
+ 57, 57, 75, 74, 57, 57, 76, 75,
1278
+ 74, 57, 57, 74, 77, 78, 77, 46,
1279
+ 46, 46, 46, 80, 79, 46, 46, 81,
1280
+ 80, 79, 46, 46, 79, 82, 83, 82,
1281
+ 46, 46, 46, 46, 85, 84, 46, 46,
1282
+ 86, 85, 84, 46, 46, 84, 87, 88,
1283
+ 87, 46, 46, 46, 46, 90, 89, 46,
1284
+ 46, 91, 90, 89, 46, 46, 89, 92,
1285
+ 93, 92, 46, 46, 46, 46, 95, 94,
1286
+ 46, 46, 96, 95, 94, 46, 46, 94,
1287
+ 59, 98, 57, 97, 100, 57, 99, 101,
1288
+ 101, 101, 57, 102, 102, 102, 57, 103,
1289
+ 103, 103, 57, 104, 104, 104, 57, 105,
1290
+ 106, 105, 57, 57, 57, 57, 108, 107,
1291
+ 57, 57, 109, 108, 107, 57, 57, 107,
1292
+ 110, 111, 110, 57, 57, 57, 57, 113,
1293
+ 112, 57, 57, 114, 113, 112, 57, 57,
1294
+ 112, 115, 116, 115, 46, 46, 46, 46,
1295
+ 118, 117, 46, 46, 119, 118, 117, 46,
1296
+ 46, 117, 120, 121, 120, 57, 57, 57,
1297
+ 57, 123, 122, 57, 57, 124, 123, 122,
1298
+ 57, 57, 122, 125, 126, 125, 46, 46,
1299
+ 46, 46, 128, 127, 46, 46, 129, 128,
1300
+ 127, 46, 46, 127, 130, 131, 130, 57,
1301
+ 57, 57, 57, 133, 132, 57, 57, 134,
1302
+ 133, 132, 57, 57, 132, 135, 136, 135,
1303
+ 57, 57, 57, 57, 138, 137, 57, 57,
1304
+ 139, 138, 137, 57, 57, 137, 141, 140,
1305
+ 142, 142, 143, 140, 143, 0, 144, 145,
1306
+ 144, 46, 46, 46, 46, 147, 146, 46,
1307
+ 46, 148, 147, 146, 46, 46, 146, 149,
1308
+ 150, 149, 57, 57, 57, 57, 152, 151,
1309
+ 57, 57, 153, 152, 151, 57, 57, 151,
1310
+ 154, 155, 154, 57, 57, 57, 57, 157,
1311
+ 156, 57, 57, 158, 157, 156, 57, 57,
1312
+ 156, 159, 160, 159, 57, 57, 57, 57,
1313
+ 162, 161, 57, 57, 163, 162, 161, 57,
1314
+ 57, 161, 165, 165, 166, 167, 164, 165,
1315
+ 165, 166, 164, 165, 165, 166, 168, 164,
1316
+ 165, 0, 169, 170, 169, 46, 46, 46,
1317
+ 46, 172, 171, 46, 46, 173, 172, 171,
1318
+ 46, 46, 171, 174, 175, 174, 57, 57,
1319
+ 57, 57, 177, 176, 57, 57, 178, 177,
1320
+ 176, 57, 57, 176, 179, 180, 179, 57,
1321
+ 57, 57, 57, 182, 181, 57, 57, 183,
1322
+ 182, 181, 57, 57, 181, 184, 185, 184,
1323
+ 57, 57, 57, 57, 187, 186, 57, 57,
1324
+ 188, 187, 186, 57, 57, 186, 189, 190,
1325
+ 189, 46, 46, 46, 46, 192, 191, 46,
1326
+ 46, 193, 192, 191, 46, 46, 191, 194,
1327
+ 195, 194, 46, 46, 46, 46, 197, 196,
1328
+ 46, 46, 198, 197, 196, 46, 46, 196,
1329
+ 199, 200, 199, 46, 46, 46, 46, 202,
1330
+ 201, 46, 46, 203, 202, 201, 46, 46,
1331
+ 201, 204, 205, 204, 57, 57, 57, 57,
1332
+ 207, 206, 57, 57, 208, 207, 206, 57,
1333
+ 57, 206, 209, 210, 209, 46, 46, 46,
1334
+ 46, 212, 211, 46, 46, 213, 212, 211,
1335
+ 46, 46, 211, 214, 215, 214, 46, 46,
1336
+ 46, 46, 217, 216, 46, 46, 218, 217,
1337
+ 216, 46, 46, 216, 219, 220, 219, 57,
1338
+ 57, 57, 57, 222, 221, 57, 57, 223,
1339
+ 222, 221, 57, 57, 221, 224, 225, 224,
1340
+ 46, 46, 46, 46, 227, 226, 46, 46,
1341
+ 228, 227, 226, 46, 46, 226, 229, 230,
1342
+ 229, 46, 46, 46, 46, 232, 231, 46,
1343
+ 46, 233, 232, 231, 46, 46, 231, 234,
1344
+ 235, 234, 46, 46, 46, 46, 237, 236,
1345
+ 46, 46, 238, 237, 236, 46, 46, 236,
1346
+ 239, 240, 239, 46, 46, 46, 46, 242,
1347
+ 241, 46, 46, 243, 242, 241, 46, 46,
1348
+ 241, 244, 245, 244, 46, 46, 46, 46,
1349
+ 247, 246, 46, 46, 248, 247, 246, 46,
1350
+ 46, 246, 249, 250, 249, 57, 57, 57,
1351
+ 57, 252, 251, 57, 57, 253, 252, 251,
1352
+ 57, 57, 251, 254, 255, 254, 57, 57,
1353
+ 57, 57, 257, 256, 57, 57, 258, 257,
1354
+ 256, 57, 57, 256, 259, 260, 259, 57,
1355
+ 57, 57, 57, 262, 261, 57, 57, 263,
1356
+ 262, 261, 57, 57, 261, 264, 265, 264,
1357
+ 57, 57, 57, 57, 267, 266, 57, 57,
1358
+ 268, 267, 266, 57, 57, 266, 269, 270,
1359
+ 269, 46, 46, 46, 46, 272, 271, 46,
1360
+ 46, 273, 272, 271, 46, 46, 271, 274,
1361
+ 275, 276, 274, 57, 274, 275, 274, 57,
1362
+ 57, 57, 57, 278, 277, 57, 57, 279,
1363
+ 278, 277, 57, 57, 277, 276, 280, 276,
1364
+ 57, 57, 57, 57, 282, 281, 57, 57,
1365
+ 283, 282, 281, 57, 57, 281, 285, 286,
1366
+ 285, 284, 284, 284, 284, 288, 287, 284,
1367
+ 284, 289, 288, 287, 284, 284, 287, 291,
1368
+ 292, 291, 290, 290, 290, 290, 294, 293,
1369
+ 290, 290, 295, 294, 293, 290, 290, 293,
1370
+ 296, 297, 296, 290, 290, 290, 290, 299,
1371
+ 298, 290, 290, 300, 299, 298, 290, 290,
1372
+ 298, 301, 302, 301, 290, 290, 290, 290,
1373
+ 304, 303, 290, 290, 305, 304, 303, 290,
1374
+ 290, 303, 306, 307, 308, 307, 306, 307,
1375
+ 307, 307, 290, 290, 290, 290, 310, 309,
1376
+ 290, 290, 311, 310, 309, 290, 290, 309,
1377
+ 312, 313, 312, 290, 290, 290, 290, 315,
1378
+ 314, 290, 290, 316, 315, 314, 290, 290,
1379
+ 314, 317, 318, 317, 290, 290, 290, 290,
1380
+ 320, 319, 290, 290, 321, 320, 319, 290,
1381
+ 290, 319, 323, 324, 325, 324, 323, 324,
1382
+ 324, 324, 322, 326, 324, 325, 323, 324,
1383
+ 326, 324, 324, 324, 322, 326, 325, 323,
1384
+ 326, 322, 327, 322, 328, 322, 329, 322,
1385
+ 329, 330, 329, 0, 330, 331, 332, 331,
1386
+ 330, 331, 331, 331, 0, 333, 331, 332,
1387
+ 330, 331, 333, 331, 331, 331, 0, 333,
1388
+ 332, 330, 333, 0, 334, 335, 334, 290,
1389
+ 290, 290, 290, 337, 336, 290, 290, 338,
1390
+ 337, 336, 290, 290, 336, 339, 340, 339,
1391
+ 290, 290, 290, 290, 342, 341, 290, 290,
1392
+ 343, 342, 341, 290, 290, 341, 344, 345,
1393
+ 344, 290, 290, 290, 290, 347, 346, 290,
1394
+ 290, 348, 347, 346, 290, 290, 346, 349,
1395
+ 350, 349, 290, 290, 290, 290, 352, 351,
1396
+ 290, 290, 353, 352, 351, 290, 290, 351,
1397
+ 354, 355, 354, 290, 290, 290, 290, 357,
1398
+ 356, 290, 290, 358, 357, 356, 290, 290,
1399
+ 356, 359, 360, 359, 284, 284, 284, 284,
1400
+ 362, 361, 284, 284, 363, 362, 361, 284,
1401
+ 284, 361, 364, 365, 364, 284, 284, 284,
1402
+ 284, 367, 366, 284, 284, 368, 367, 366,
1403
+ 284, 284, 366, 369, 370, 369, 284, 284,
1404
+ 284, 284, 372, 371, 284, 284, 373, 372,
1405
+ 371, 284, 284, 371, 375, 376, 375, 374,
1406
+ 374, 374, 374, 378, 377, 374, 374, 379,
1407
+ 378, 377, 374, 374, 377, 380, 381, 380,
1408
+ 284, 284, 284, 284, 383, 382, 284, 284,
1409
+ 384, 383, 382, 284, 284, 382, 385, 386,
1410
+ 385, 290, 290, 290, 290, 388, 387, 290,
1411
+ 290, 389, 388, 387, 290, 290, 387, 390,
1412
+ 391, 390, 290, 290, 290, 290, 393, 392,
1413
+ 290, 290, 394, 393, 392, 290, 290, 392,
1414
+ 395, 396, 397, 395, 290, 396, 398, 396,
1415
+ 290, 399, 290, 400, 290, 400, 401, 401,
1416
+ 400, 401, 401, 401, 290, 403, 404, 404,
1417
+ 403, 404, 404, 404, 402, 290, 290, 290,
1418
+ 406, 405, 290, 290, 407, 406, 405, 290,
1419
+ 290, 405, 408, 409, 408, 290, 290, 290,
1420
+ 290, 411, 410, 290, 290, 412, 411, 410,
1421
+ 290, 290, 410, 413, 414, 413, 284, 284,
1422
+ 284, 284, 416, 415, 284, 284, 417, 416,
1423
+ 415, 284, 284, 415, 418, 419, 418, 290,
1424
+ 290, 290, 290, 421, 420, 290, 290, 422,
1425
+ 421, 420, 290, 290, 420, 423, 424, 423,
1426
+ 284, 284, 284, 284, 426, 425, 284, 284,
1427
+ 427, 426, 425, 284, 284, 425, 428, 429,
1428
+ 428, 284, 284, 284, 284, 431, 430, 284,
1429
+ 284, 432, 431, 430, 284, 284, 430, 433,
1430
+ 434, 433, 290, 290, 290, 290, 436, 435,
1431
+ 290, 290, 437, 436, 435, 290, 290, 435,
1432
+ 438, 439, 440, 439, 438, 439, 439, 439,
1433
+ 290, 290, 290, 290, 442, 441, 290, 290,
1434
+ 443, 442, 441, 290, 290, 441, 444, 445,
1435
+ 444, 290, 290, 290, 290, 447, 446, 290,
1436
+ 290, 448, 447, 446, 290, 290, 446, 449,
1437
+ 450, 451, 450, 449, 450, 450, 450, 290,
1438
+ 290, 290, 290, 453, 452, 290, 290, 454,
1439
+ 453, 452, 290, 290, 452, 455, 456, 455,
1440
+ 284, 284, 284, 284, 458, 457, 284, 284,
1441
+ 459, 458, 457, 284, 284, 457, 460, 461,
1442
+ 460, 290, 290, 290, 290, 463, 462, 290,
1443
+ 290, 464, 463, 462, 290, 290, 462, 465,
1444
+ 466, 465, 284, 284, 284, 284, 468, 467,
1445
+ 284, 284, 469, 468, 467, 284, 284, 467,
1446
+ 470, 471, 470, 284, 284, 284, 284, 473,
1447
+ 472, 284, 284, 474, 473, 472, 284, 284,
1448
+ 472, 475, 476, 475, 284, 284, 284, 284,
1449
+ 478, 477, 284, 284, 479, 478, 477, 284,
1450
+ 284, 477, 480, 481, 480, 284, 284, 284,
1451
+ 284, 483, 482, 284, 284, 484, 483, 482,
1452
+ 284, 284, 482, 485, 486, 485, 290, 290,
1453
+ 290, 290, 488, 487, 290, 290, 489, 488,
1454
+ 487, 290, 290, 487, 490, 491, 490, 290,
1455
+ 290, 290, 290, 493, 492, 290, 290, 494,
1456
+ 493, 492, 290, 290, 492, 495, 496, 495,
1457
+ 290, 290, 290, 290, 498, 497, 290, 290,
1458
+ 499, 498, 497, 290, 290, 497, 500, 501,
1459
+ 500, 284, 284, 284, 284, 503, 502, 284,
1460
+ 284, 504, 503, 502, 284, 284, 502, 505,
1461
+ 506, 505, 290, 290, 290, 290, 508, 507,
1462
+ 290, 290, 509, 508, 507, 290, 290, 507,
1463
+ 510, 511, 510, 284, 284, 284, 284, 513,
1464
+ 512, 284, 284, 514, 513, 512, 284, 284,
1465
+ 512, 515, 516, 515, 284, 284, 284, 284,
1466
+ 518, 517, 284, 284, 519, 518, 517, 284,
1467
+ 284, 517, 520, 521, 520, 290, 290, 290,
1468
+ 290, 523, 522, 290, 290, 524, 523, 522,
1469
+ 290, 290, 522, 525, 526, 525, 290, 290,
1470
+ 290, 290, 528, 527, 290, 290, 529, 528,
1471
+ 527, 290, 290, 527, 530, 531, 530, 290,
1472
+ 290, 290, 290, 533, 532, 290, 290, 534,
1473
+ 533, 532, 290, 290, 532, 535, 536, 535,
1474
+ 284, 284, 284, 284, 538, 537, 284, 284,
1475
+ 539, 538, 537, 284, 284, 537, 540, 541,
1476
+ 540, 290, 290, 290, 290, 543, 542, 290,
1477
+ 290, 544, 543, 542, 290, 290, 542, 545,
1478
+ 546, 545, 290, 290, 290, 290, 548, 547,
1479
+ 290, 290, 549, 548, 547, 290, 290, 547,
1480
+ 550, 551, 550, 57, 57, 57, 57, 553,
1481
+ 552, 57, 57, 554, 553, 552, 57, 57,
1482
+ 552, 555, 556, 555, 46, 46, 46, 46,
1483
+ 558, 557, 46, 46, 559, 558, 557, 46,
1484
+ 46, 557, 560, 561, 560, 46, 46, 46,
1485
+ 46, 563, 562, 46, 46, 564, 563, 562,
1486
+ 46, 46, 562, 565, 566, 565, 46, 46,
1487
+ 46, 46, 568, 567, 46, 46, 569, 568,
1488
+ 567, 46, 46, 567, 572, 572, 571, 573,
1489
+ 574, 575, 576, 577, 578, 579, 580, 581,
1490
+ 582, 583, 584, 585, 586, 587, 589, 580,
1491
+ 590, 591, 592, 593, 594, 595, 596, 576,
1492
+ 597, 598, 599, 600, 601, 602, 603, 604,
1493
+ 605, 606, 607, 608, 609, 610, 611, 612,
1494
+ 613, 614, 571, 588, 576, 576, 580, 570,
1495
+ 615, 40, 616, 617, 41, 0, 16, 16,
1496
+ 16, 16, 16, 618, 620, 620, 620, 620,
1497
+ 620, 619, 32, 620, 33, 620, 32, 620,
1498
+ 620, 620, 619, 33, 620, 620, 33, 620,
1499
+ 620, 620, 619, 45, 45, 45, 45, 45,
1500
+ 621, 623, 622, 47, 48, 625, 47, 624,
1501
+ 51, 51, 51, 626, 52, 53, 52, 624,
1502
+ 56, 56, 56, 627, 59, 60, 622, 58,
1503
+ 67, 68, 67, 622, 71, 71, 71, 628,
1504
+ 576, 576, 576, 576, 576, 0, 72, 73,
1505
+ 629, 72, 622, 76, 76, 76, 630, 77,
1506
+ 78, 77, 624, 81, 81, 81, 631, 632,
1507
+ 633, 622, 82, 83, 87, 82, 624, 86,
1508
+ 86, 86, 634, 91, 91, 91, 635, 92,
1509
+ 93, 92, 624, 96, 96, 96, 636, 59,
1510
+ 98, 622, 97, 105, 106, 105, 622, 109,
1511
+ 109, 109, 622, 110, 111, 637, 110, 622,
1512
+ 114, 114, 114, 638, 115, 116, 115, 624,
1513
+ 119, 119, 119, 639, 120, 640, 121, 641,
1514
+ 120, 622, 124, 124, 124, 642, 125, 126,
1515
+ 125, 624, 129, 129, 129, 643, 130, 131,
1516
+ 130, 622, 134, 134, 134, 644, 135, 640,
1517
+ 136, 645, 647, 149, 135, 646, 622, 139,
1518
+ 139, 139, 648, 650, 651, 651, 143, 649,
1519
+ 651, 651, 141, 649, 143, 649, 650, 651,
1520
+ 651, 646, 649, 144, 145, 144, 624, 148,
1521
+ 148, 148, 652, 153, 153, 153, 653, 154,
1522
+ 155, 154, 622, 158, 158, 158, 654, 159,
1523
+ 165, 655, 656, 159, 622, 163, 163, 163,
1524
+ 657, 165, 658, 658, 658, 660, 661, 659,
1525
+ 658, 658, 662, 661, 659, 658, 658, 662,
1526
+ 662, 662, 660, 658, 658, 660, 658, 658,
1527
+ 659, 169, 170, 169, 624, 173, 173, 173,
1528
+ 663, 576, 650, 665, 576, 665, 664, 576,
1529
+ 576, 649, 576, 576, 664, 576, 576, 649,
1530
+ 576, 142, 142, 576, 664, 576, 576, 666,
1531
+ 576, 650, 665, 576, 665, 588, 576, 576,
1532
+ 649, 174, 175, 179, 174, 622, 178, 178,
1533
+ 178, 667, 183, 183, 183, 668, 184, 185,
1534
+ 669, 670, 184, 622, 188, 188, 188, 671,
1535
+ 189, 190, 672, 189, 624, 193, 193, 193,
1536
+ 673, 194, 195, 194, 624, 198, 198, 198,
1537
+ 674, 199, 200, 199, 624, 203, 203, 203,
1538
+ 675, 204, 205, 676, 204, 622, 208, 208,
1539
+ 208, 677, 209, 210, 678, 209, 624, 213,
1540
+ 213, 213, 679, 214, 215, 214, 624, 218,
1541
+ 218, 218, 680, 219, 220, 681, 682, 219,
1542
+ 622, 223, 223, 223, 683, 224, 225, 224,
1543
+ 624, 228, 228, 228, 684, 229, 230, 685,
1544
+ 686, 229, 624, 233, 233, 233, 687, 234,
1545
+ 235, 234, 624, 238, 238, 238, 688, 239,
1546
+ 240, 689, 239, 624, 243, 243, 243, 690,
1547
+ 244, 245, 244, 624, 248, 248, 248, 691,
1548
+ 249, 250, 249, 622, 253, 253, 253, 692,
1549
+ 254, 255, 254, 622, 258, 258, 258, 693,
1550
+ 259, 260, 259, 622, 263, 263, 263, 694,
1551
+ 264, 265, 695, 696, 264, 622, 268, 268,
1552
+ 268, 697, 269, 270, 269, 624, 273, 273,
1553
+ 273, 698, 279, 279, 279, 699, 283, 283,
1554
+ 283, 700, 576, 576, 701, 702, 576, 576,
1555
+ 576, 666, 576, 576, 703, 576, 576, 576,
1556
+ 666, 576, 576, 704, 576, 576, 576, 666,
1557
+ 576, 576, 705, 576, 576, 576, 666, 576,
1558
+ 576, 706, 576, 576, 576, 666, 576, 576,
1559
+ 707, 576, 576, 576, 666, 576, 576, 708,
1560
+ 576, 576, 576, 666, 285, 576, 286, 576,
1561
+ 285, 576, 576, 576, 709, 289, 289, 289,
1562
+ 710, 576, 576, 711, 576, 576, 576, 666,
1563
+ 576, 576, 712, 576, 576, 576, 666, 576,
1564
+ 576, 713, 576, 576, 576, 666, 576, 576,
1565
+ 714, 576, 576, 576, 666, 576, 576, 715,
1566
+ 576, 576, 576, 666, 576, 576, 716, 576,
1567
+ 576, 576, 666, 576, 576, 717, 718, 719,
1568
+ 576, 576, 576, 666, 576, 576, 720, 576,
1569
+ 576, 576, 666, 576, 576, 721, 576, 576,
1570
+ 576, 666, 576, 576, 722, 576, 576, 576,
1571
+ 666, 576, 576, 723, 576, 576, 576, 666,
1572
+ 576, 576, 724, 576, 576, 576, 666, 576,
1573
+ 576, 725, 576, 576, 576, 666, 576, 576,
1574
+ 726, 576, 576, 576, 666, 576, 576, 727,
1575
+ 576, 576, 576, 666, 291, 576, 292, 576,
1576
+ 291, 576, 576, 576, 728, 295, 295, 295,
1577
+ 729, 576, 576, 730, 576, 576, 576, 666,
1578
+ 576, 576, 724, 576, 576, 576, 666, 576,
1579
+ 576, 731, 732, 733, 734, 735, 576, 576,
1580
+ 576, 666, 576, 576, 736, 737, 576, 576,
1581
+ 576, 666, 576, 576, 738, 576, 576, 576,
1582
+ 666, 296, 576, 297, 576, 296, 576, 576,
1583
+ 576, 728, 300, 300, 300, 739, 576, 576,
1584
+ 740, 576, 576, 576, 666, 576, 576, 741,
1585
+ 576, 576, 576, 666, 301, 576, 302, 576,
1586
+ 301, 576, 576, 576, 728, 305, 305, 305,
1587
+ 742, 576, 576, 743, 576, 576, 576, 666,
1588
+ 576, 576, 724, 576, 576, 576, 666, 576,
1589
+ 576, 744, 576, 576, 576, 666, 576, 576,
1590
+ 745, 576, 576, 576, 666, 576, 576, 746,
1591
+ 576, 576, 576, 666, 306, 576, 308, 576,
1592
+ 306, 576, 576, 576, 728, 307, 307, 307,
1593
+ 307, 307, 747, 311, 311, 311, 748, 576,
1594
+ 576, 749, 576, 576, 576, 666, 576, 576,
1595
+ 750, 751, 576, 576, 576, 666, 576, 576,
1596
+ 752, 576, 576, 576, 666, 312, 576, 313,
1597
+ 576, 312, 576, 576, 576, 728, 316, 316,
1598
+ 316, 753, 576, 576, 754, 576, 576, 576,
1599
+ 666, 576, 576, 755, 576, 576, 576, 666,
1600
+ 576, 576, 756, 576, 576, 576, 666, 576,
1601
+ 576, 757, 576, 576, 576, 666, 317, 576,
1602
+ 318, 576, 317, 576, 576, 576, 728, 321,
1603
+ 321, 321, 758, 576, 576, 759, 576, 576,
1604
+ 576, 666, 576, 576, 760, 576, 576, 576,
1605
+ 666, 576, 576, 761, 576, 576, 576, 666,
1606
+ 763, 576, 323, 576, 764, 763, 576, 576,
1607
+ 576, 762, 763, 323, 765, 763, 762, 325,
1608
+ 765, 325, 762, 332, 332, 762, 576, 576,
1609
+ 766, 576, 576, 576, 666, 576, 576, 767,
1610
+ 576, 576, 576, 666, 576, 576, 768, 576,
1611
+ 576, 576, 666, 329, 576, 330, 576, 329,
1612
+ 576, 576, 576, 666, 576, 576, 769, 770,
1613
+ 576, 576, 576, 666, 576, 576, 771, 772,
1614
+ 773, 576, 576, 576, 666, 576, 576, 774,
1615
+ 576, 576, 576, 666, 576, 576, 775, 576,
1616
+ 576, 576, 666, 576, 576, 776, 576, 576,
1617
+ 576, 666, 576, 576, 777, 576, 576, 576,
1618
+ 666, 576, 576, 778, 576, 576, 576, 666,
1619
+ 334, 576, 335, 576, 334, 576, 576, 576,
1620
+ 728, 338, 338, 338, 779, 576, 576, 780,
1621
+ 576, 576, 576, 666, 576, 576, 781, 576,
1622
+ 576, 576, 666, 576, 576, 782, 576, 576,
1623
+ 576, 666, 576, 576, 783, 576, 576, 576,
1624
+ 666, 339, 576, 340, 576, 339, 576, 576,
1625
+ 576, 728, 343, 343, 343, 784, 576, 576,
1626
+ 785, 576, 576, 576, 666, 576, 576, 786,
1627
+ 576, 576, 576, 666, 576, 576, 787, 576,
1628
+ 576, 576, 666, 344, 576, 345, 576, 344,
1629
+ 576, 576, 576, 728, 348, 348, 348, 788,
1630
+ 349, 576, 350, 576, 789, 349, 576, 576,
1631
+ 576, 728, 353, 353, 353, 790, 576, 576,
1632
+ 791, 576, 576, 576, 666, 576, 576, 730,
1633
+ 576, 576, 576, 666, 576, 576, 792, 793,
1634
+ 794, 576, 576, 576, 666, 576, 576, 795,
1635
+ 576, 576, 576, 666, 576, 576, 796, 576,
1636
+ 576, 576, 666, 354, 576, 355, 576, 354,
1637
+ 576, 576, 576, 728, 358, 358, 358, 797,
1638
+ 576, 576, 798, 576, 576, 576, 666, 576,
1639
+ 576, 799, 576, 576, 576, 666, 359, 576,
1640
+ 360, 576, 359, 576, 576, 576, 709, 363,
1641
+ 363, 363, 800, 576, 576, 801, 802, 576,
1642
+ 576, 576, 666, 576, 576, 803, 576, 576,
1643
+ 576, 666, 576, 576, 804, 576, 576, 576,
1644
+ 666, 576, 576, 805, 576, 576, 576, 666,
1645
+ 364, 576, 365, 576, 364, 576, 576, 576,
1646
+ 709, 368, 368, 368, 806, 576, 576, 807,
1647
+ 576, 576, 576, 666, 576, 576, 808, 576,
1648
+ 576, 576, 666, 576, 576, 809, 576, 576,
1649
+ 576, 666, 576, 576, 810, 576, 576, 576,
1650
+ 666, 369, 576, 370, 576, 369, 576, 576,
1651
+ 576, 709, 373, 373, 373, 811, 576, 576,
1652
+ 812, 813, 814, 815, 816, 576, 576, 576,
1653
+ 666, 576, 576, 817, 576, 576, 576, 666,
1654
+ 576, 576, 818, 576, 576, 576, 666, 576,
1655
+ 576, 716, 576, 576, 576, 666, 576, 576,
1656
+ 819, 820, 576, 576, 576, 666, 576, 576,
1657
+ 821, 576, 576, 576, 666, 576, 576, 822,
1658
+ 576, 576, 576, 666, 375, 576, 376, 576,
1659
+ 375, 576, 576, 576, 666, 379, 379, 379,
1660
+ 823, 576, 576, 824, 576, 576, 576, 666,
1661
+ 576, 576, 825, 576, 576, 576, 666, 380,
1662
+ 576, 381, 576, 826, 380, 576, 576, 576,
1663
+ 709, 384, 384, 384, 827, 576, 576, 828,
1664
+ 576, 576, 576, 666, 385, 576, 386, 576,
1665
+ 385, 576, 576, 576, 728, 389, 389, 389,
1666
+ 829, 576, 576, 830, 576, 576, 576, 666,
1667
+ 576, 576, 831, 576, 576, 576, 666, 576,
1668
+ 576, 724, 576, 576, 576, 666, 576, 576,
1669
+ 832, 576, 576, 576, 666, 390, 576, 391,
1670
+ 576, 833, 390, 576, 576, 576, 728, 394,
1671
+ 394, 394, 834, 576, 576, 835, 576, 576,
1672
+ 576, 666, 576, 576, 836, 576, 576, 576,
1673
+ 666, 576, 576, 837, 576, 576, 576, 666,
1674
+ 395, 576, 396, 397, 576, 395, 576, 576,
1675
+ 576, 728, 839, 401, 403, 401, 839, 401,
1676
+ 401, 401, 838, 839, 403, 839, 838, 840,
1677
+ 404, 404, 840, 404, 404, 404, 838, 840,
1678
+ 840, 838, 407, 407, 407, 841, 576, 576,
1679
+ 842, 576, 576, 576, 666, 576, 576, 843,
1680
+ 576, 576, 576, 666, 576, 576, 844, 576,
1681
+ 576, 576, 666, 576, 576, 845, 576, 576,
1682
+ 576, 666, 576, 576, 846, 576, 576, 576,
1683
+ 666, 576, 576, 847, 576, 576, 576, 666,
1684
+ 408, 576, 409, 576, 408, 576, 576, 576,
1685
+ 728, 412, 412, 412, 848, 576, 576, 849,
1686
+ 576, 576, 576, 666, 576, 576, 850, 576,
1687
+ 576, 576, 666, 576, 576, 851, 576, 576,
1688
+ 576, 666, 413, 576, 414, 576, 413, 576,
1689
+ 576, 576, 709, 417, 417, 417, 852, 576,
1690
+ 576, 853, 854, 855, 576, 576, 576, 666,
1691
+ 418, 576, 419, 576, 418, 576, 576, 576,
1692
+ 728, 422, 422, 422, 856, 576, 576, 857,
1693
+ 576, 576, 576, 666, 576, 576, 858, 859,
1694
+ 576, 576, 576, 666, 576, 576, 860, 576,
1695
+ 576, 576, 666, 576, 576, 861, 576, 576,
1696
+ 576, 666, 576, 576, 862, 576, 576, 576,
1697
+ 666, 576, 576, 863, 576, 576, 576, 666,
1698
+ 576, 576, 864, 576, 576, 576, 666, 576,
1699
+ 576, 865, 576, 576, 576, 666, 423, 576,
1700
+ 424, 576, 423, 576, 576, 576, 709, 427,
1701
+ 427, 427, 866, 576, 576, 867, 576, 576,
1702
+ 576, 666, 576, 576, 868, 576, 576, 576,
1703
+ 666, 428, 576, 429, 576, 428, 576, 576,
1704
+ 576, 709, 432, 432, 432, 869, 433, 576,
1705
+ 434, 576, 870, 871, 872, 433, 576, 576,
1706
+ 576, 728, 437, 437, 437, 873, 576, 576,
1707
+ 874, 576, 576, 576, 666, 576, 576, 875,
1708
+ 576, 576, 576, 666, 576, 576, 876, 576,
1709
+ 576, 576, 666, 576, 576, 877, 576, 576,
1710
+ 576, 666, 438, 576, 440, 576, 438, 576,
1711
+ 576, 576, 728, 439, 439, 439, 439, 439,
1712
+ 878, 443, 443, 443, 879, 576, 576, 880,
1713
+ 576, 576, 576, 666, 576, 576, 881, 576,
1714
+ 576, 576, 666, 576, 576, 882, 576, 576,
1715
+ 576, 666, 576, 576, 883, 576, 576, 576,
1716
+ 666, 576, 576, 884, 576, 576, 576, 666,
1717
+ 576, 576, 885, 576, 576, 576, 666, 576,
1718
+ 576, 886, 576, 576, 576, 666, 444, 576,
1719
+ 445, 576, 444, 576, 576, 576, 728, 448,
1720
+ 448, 448, 887, 576, 576, 888, 576, 576,
1721
+ 576, 709, 576, 576, 889, 576, 576, 576,
1722
+ 666, 576, 576, 890, 576, 576, 576, 666,
1723
+ 576, 576, 891, 576, 576, 576, 666, 576,
1724
+ 576, 730, 576, 576, 576, 666, 576, 576,
1725
+ 892, 576, 576, 576, 666, 576, 576, 893,
1726
+ 576, 576, 576, 666, 576, 576, 724, 576,
1727
+ 576, 576, 666, 576, 576, 894, 576, 576,
1728
+ 576, 666, 576, 576, 895, 576, 576, 576,
1729
+ 666, 576, 576, 896, 576, 576, 576, 666,
1730
+ 576, 576, 897, 576, 576, 576, 666, 576,
1731
+ 576, 898, 576, 576, 576, 666, 449, 576,
1732
+ 451, 576, 449, 576, 576, 576, 728, 450,
1733
+ 450, 450, 450, 450, 899, 454, 454, 454,
1734
+ 900, 576, 576, 901, 902, 903, 576, 576,
1735
+ 576, 666, 576, 576, 904, 576, 576, 576,
1736
+ 666, 576, 576, 905, 576, 576, 576, 666,
1737
+ 576, 576, 906, 576, 576, 576, 666, 576,
1738
+ 576, 907, 576, 576, 576, 666, 455, 576,
1739
+ 456, 576, 455, 576, 576, 576, 709, 459,
1740
+ 459, 459, 908, 576, 576, 909, 576, 576,
1741
+ 576, 666, 460, 576, 461, 576, 460, 576,
1742
+ 576, 576, 728, 464, 464, 464, 910, 576,
1743
+ 576, 911, 576, 576, 576, 666, 576, 576,
1744
+ 716, 576, 576, 576, 666, 576, 576, 912,
1745
+ 913, 914, 576, 576, 576, 666, 576, 576,
1746
+ 915, 576, 576, 576, 666, 576, 576, 916,
1747
+ 576, 576, 576, 666, 576, 576, 917, 576,
1748
+ 576, 576, 666, 576, 576, 918, 576, 576,
1749
+ 576, 666, 576, 576, 919, 576, 576, 576,
1750
+ 666, 465, 576, 466, 576, 465, 576, 576,
1751
+ 576, 709, 469, 469, 469, 920, 576, 576,
1752
+ 921, 922, 576, 576, 576, 666, 576, 576,
1753
+ 923, 576, 576, 576, 666, 576, 576, 924,
1754
+ 576, 576, 576, 666, 576, 576, 925, 576,
1755
+ 576, 576, 666, 576, 576, 926, 576, 576,
1756
+ 576, 666, 470, 576, 471, 576, 470, 576,
1757
+ 576, 576, 709, 474, 474, 474, 927, 576,
1758
+ 576, 928, 929, 576, 576, 576, 666, 576,
1759
+ 576, 930, 576, 576, 576, 666, 576, 576,
1760
+ 931, 576, 576, 576, 666, 576, 576, 932,
1761
+ 576, 576, 576, 666, 576, 576, 716, 576,
1762
+ 576, 576, 666, 576, 576, 933, 576, 576,
1763
+ 576, 666, 576, 576, 934, 576, 576, 576,
1764
+ 666, 576, 576, 935, 576, 576, 576, 666,
1765
+ 576, 576, 936, 576, 576, 576, 666, 576,
1766
+ 576, 937, 576, 576, 576, 666, 475, 576,
1767
+ 476, 576, 475, 576, 576, 576, 709, 479,
1768
+ 479, 479, 938, 576, 576, 939, 576, 576,
1769
+ 576, 666, 576, 576, 940, 576, 576, 576,
1770
+ 666, 576, 576, 941, 576, 576, 576, 666,
1771
+ 576, 576, 942, 576, 576, 576, 666, 480,
1772
+ 576, 481, 576, 480, 576, 576, 576, 709,
1773
+ 484, 484, 484, 943, 576, 576, 944, 576,
1774
+ 576, 576, 666, 576, 576, 945, 576, 576,
1775
+ 576, 666, 576, 576, 946, 576, 576, 576,
1776
+ 666, 576, 576, 947, 576, 576, 576, 666,
1777
+ 576, 576, 948, 576, 576, 576, 666, 485,
1778
+ 576, 486, 576, 485, 576, 576, 576, 728,
1779
+ 489, 489, 489, 949, 576, 576, 950, 951,
1780
+ 952, 953, 954, 576, 576, 576, 666, 576,
1781
+ 576, 955, 576, 576, 576, 666, 576, 576,
1782
+ 831, 576, 576, 576, 666, 576, 576, 956,
1783
+ 576, 576, 576, 666, 576, 576, 957, 576,
1784
+ 576, 576, 666, 576, 576, 958, 576, 576,
1785
+ 576, 666, 576, 576, 959, 576, 576, 576,
1786
+ 666, 490, 576, 491, 576, 490, 576, 576,
1787
+ 576, 728, 494, 494, 494, 960, 576, 576,
1788
+ 961, 576, 576, 576, 666, 576, 576, 743,
1789
+ 576, 576, 576, 666, 576, 576, 962, 576,
1790
+ 576, 576, 666, 576, 576, 963, 576, 576,
1791
+ 576, 666, 576, 576, 964, 576, 576, 576,
1792
+ 666, 576, 576, 965, 576, 576, 576, 666,
1793
+ 495, 576, 496, 576, 495, 576, 576, 576,
1794
+ 728, 499, 499, 499, 966, 576, 576, 967,
1795
+ 576, 576, 576, 666, 576, 576, 968, 576,
1796
+ 576, 576, 666, 576, 576, 969, 576, 576,
1797
+ 576, 666, 576, 576, 970, 576, 576, 576,
1798
+ 666, 576, 576, 971, 576, 576, 576, 666,
1799
+ 576, 576, 972, 576, 576, 576, 666, 576,
1800
+ 576, 973, 576, 576, 576, 666, 576, 576,
1801
+ 974, 576, 576, 576, 666, 576, 576, 975,
1802
+ 576, 576, 576, 666, 576, 576, 976, 576,
1803
+ 576, 576, 666, 500, 576, 501, 576, 500,
1804
+ 576, 576, 576, 709, 504, 504, 504, 977,
1805
+ 576, 576, 978, 979, 980, 576, 576, 576,
1806
+ 666, 576, 576, 981, 982, 576, 576, 576,
1807
+ 666, 576, 576, 716, 576, 576, 576, 666,
1808
+ 576, 576, 983, 576, 576, 576, 666, 576,
1809
+ 576, 984, 576, 576, 576, 666, 505, 576,
1810
+ 506, 576, 985, 505, 576, 576, 576, 728,
1811
+ 509, 509, 509, 986, 510, 576, 511, 576,
1812
+ 510, 576, 576, 576, 709, 514, 514, 514,
1813
+ 987, 576, 576, 988, 818, 989, 576, 576,
1814
+ 576, 666, 576, 576, 990, 576, 576, 576,
1815
+ 666, 576, 576, 991, 576, 576, 576, 666,
1816
+ 576, 576, 992, 576, 576, 576, 666, 576,
1817
+ 576, 993, 576, 576, 576, 666, 576, 576,
1818
+ 994, 576, 576, 576, 666, 576, 576, 995,
1819
+ 576, 576, 576, 666, 515, 576, 516, 576,
1820
+ 515, 576, 576, 576, 709, 519, 519, 519,
1821
+ 996, 520, 576, 521, 576, 520, 576, 576,
1822
+ 576, 728, 524, 524, 524, 997, 576, 576,
1823
+ 998, 576, 576, 576, 666, 576, 576, 999,
1824
+ 576, 576, 576, 666, 576, 576, 1000, 576,
1825
+ 576, 576, 666, 576, 576, 1001, 576, 576,
1826
+ 576, 666, 525, 576, 526, 576, 525, 576,
1827
+ 576, 576, 728, 529, 529, 529, 1002, 576,
1828
+ 576, 1003, 1004, 576, 576, 576, 666, 576,
1829
+ 576, 1005, 576, 576, 576, 666, 530, 576,
1830
+ 531, 576, 530, 576, 576, 576, 728, 534,
1831
+ 534, 534, 1006, 576, 576, 1007, 1008, 576,
1832
+ 576, 576, 666, 576, 576, 716, 576, 576,
1833
+ 576, 666, 576, 576, 1009, 576, 576, 576,
1834
+ 666, 576, 576, 1010, 576, 576, 576, 666,
1835
+ 576, 576, 1011, 576, 576, 576, 666, 576,
1836
+ 576, 1012, 576, 576, 576, 666, 576, 576,
1837
+ 1013, 576, 576, 576, 666, 535, 576, 536,
1838
+ 576, 535, 576, 576, 576, 709, 539, 539,
1839
+ 539, 1014, 576, 576, 1015, 1016, 576, 576,
1840
+ 576, 666, 576, 576, 1017, 576, 576, 576,
1841
+ 666, 576, 576, 1018, 576, 576, 576, 666,
1842
+ 576, 576, 1019, 576, 576, 576, 666, 540,
1843
+ 576, 541, 576, 540, 576, 576, 576, 728,
1844
+ 544, 544, 544, 1020, 576, 576, 1021, 576,
1845
+ 576, 576, 666, 576, 576, 1022, 576, 576,
1846
+ 576, 666, 545, 576, 546, 576, 545, 576,
1847
+ 576, 576, 728, 549, 549, 549, 1023, 550,
1848
+ 551, 1024, 1025, 550, 622, 554, 554, 554,
1849
+ 1026, 555, 556, 555, 624, 559, 559, 559,
1850
+ 1027, 560, 561, 565, 560, 624, 564, 564,
1851
+ 564, 1028, 569, 569, 569, 1029, 0
1852
+ };
1853
+
1854
+ static const short _dude_trans_targs[] = {
1855
+ 452, 1, 2, 3, 4, 5, 6, 7,
1856
+ 452, 9, 10, 11, 12, 13, 14, 15,
1857
+ 454, 17, 18, 23, 19, 20, 21, 22,
1858
+ 452, 24, 25, 26, 27, 28, 455, 452,
1859
+ 29, 457, 31, 32, 33, 34, 35, 36,
1860
+ 8, 37, 38, 39, 40, 458, 452, 41,
1861
+ 42, 43, 44, 461, 45, 46, 47, 48,
1862
+ 463, 452, 49, 452, 50, 49, 51, 52,
1863
+ 53, 54, 49, 55, 56, 57, 58, 466,
1864
+ 59, 60, 61, 62, 469, 63, 64, 65,
1865
+ 66, 471, 67, 68, 69, 70, 474, 71,
1866
+ 72, 73, 74, 475, 75, 76, 77, 78,
1867
+ 477, 79, 80, 79, 81, 82, 83, 84,
1868
+ 79, 85, 86, 87, 88, 480, 89, 90,
1869
+ 91, 92, 482, 93, 94, 95, 96, 484,
1870
+ 97, 98, 99, 100, 486, 101, 102, 103,
1871
+ 104, 488, 105, 106, 107, 108, 490, 109,
1872
+ 110, 111, 112, 492, 452, 494, 115, 495,
1873
+ 116, 117, 118, 119, 498, 120, 121, 122,
1874
+ 123, 499, 124, 125, 126, 127, 501, 128,
1875
+ 129, 130, 131, 503, 133, 132, 134, 135,
1876
+ 504, 136, 137, 138, 139, 511, 140, 141,
1877
+ 142, 143, 517, 144, 145, 146, 147, 518,
1878
+ 148, 149, 150, 151, 520, 152, 153, 154,
1879
+ 155, 522, 156, 157, 158, 159, 524, 160,
1880
+ 161, 162, 163, 526, 164, 165, 166, 167,
1881
+ 528, 168, 169, 170, 171, 530, 172, 173,
1882
+ 174, 175, 532, 176, 177, 178, 179, 534,
1883
+ 180, 181, 182, 183, 536, 184, 185, 186,
1884
+ 187, 538, 188, 189, 190, 191, 540, 192,
1885
+ 193, 194, 195, 542, 196, 197, 198, 199,
1886
+ 544, 200, 201, 202, 203, 546, 204, 205,
1887
+ 206, 207, 548, 208, 209, 210, 211, 550,
1888
+ 212, 213, 214, 215, 552, 216, 217, 218,
1889
+ 219, 554, 221, 222, 225, 223, 224, 555,
1890
+ 226, 227, 228, 556, 452, 229, 230, 231,
1891
+ 232, 565, 452, 233, 234, 235, 236, 582,
1892
+ 237, 238, 239, 240, 589, 241, 242, 243,
1893
+ 244, 593, 245, 600, 246, 247, 248, 601,
1894
+ 249, 250, 251, 252, 606, 253, 254, 255,
1895
+ 256, 612, 452, 257, 258, 618, 259, 261,
1896
+ 262, 263, 264, 265, 619, 266, 267, 268,
1897
+ 269, 270, 632, 271, 272, 273, 274, 638,
1898
+ 275, 276, 277, 278, 643, 279, 280, 281,
1899
+ 282, 645, 283, 284, 285, 286, 652, 287,
1900
+ 288, 289, 290, 656, 291, 292, 293, 294,
1901
+ 662, 295, 296, 297, 298, 668, 452, 299,
1902
+ 300, 301, 302, 677, 303, 304, 305, 306,
1903
+ 681, 307, 308, 309, 310, 684, 311, 312,
1904
+ 313, 314, 690, 315, 316, 321, 317, 318,
1905
+ 319, 695, 452, 320, 697, 322, 323, 699,
1906
+ 324, 325, 326, 327, 707, 328, 329, 330,
1907
+ 331, 712, 332, 333, 334, 335, 715, 336,
1908
+ 337, 338, 339, 725, 340, 341, 342, 343,
1909
+ 729, 344, 345, 346, 347, 731, 348, 737,
1910
+ 349, 350, 351, 738, 352, 353, 354, 355,
1911
+ 747, 356, 762, 357, 358, 359, 763, 360,
1912
+ 361, 362, 363, 770, 364, 365, 366, 367,
1913
+ 773, 368, 369, 370, 371, 783, 372, 373,
1914
+ 374, 375, 790, 376, 377, 378, 379, 802,
1915
+ 380, 381, 382, 383, 808, 384, 385, 386,
1916
+ 387, 815, 388, 389, 390, 391, 824, 392,
1917
+ 393, 394, 395, 832, 396, 397, 398, 399,
1918
+ 844, 400, 401, 402, 403, 851, 404, 405,
1919
+ 406, 407, 853, 408, 409, 410, 411, 862,
1920
+ 412, 413, 414, 415, 864, 416, 417, 418,
1921
+ 419, 870, 420, 421, 422, 423, 874, 424,
1922
+ 425, 426, 427, 883, 428, 429, 430, 431,
1923
+ 889, 432, 433, 434, 435, 893, 436, 437,
1924
+ 438, 439, 895, 440, 441, 442, 443, 897,
1925
+ 444, 445, 446, 447, 899, 448, 449, 450,
1926
+ 451, 900, 452, 453, 453, 459, 464, 465,
1927
+ 467, 468, 472, 478, 479, 481, 485, 489,
1928
+ 491, 500, 502, 512, 515, 516, 519, 527,
1929
+ 533, 545, 547, 549, 551, 557, 572, 585,
1930
+ 624, 648, 669, 708, 713, 753, 756, 764,
1931
+ 776, 809, 816, 845, 871, 884, 894, 0,
1932
+ 16, 30, 452, 452, 456, 452, 452, 460,
1933
+ 452, 462, 452, 452, 452, 470, 452, 452,
1934
+ 473, 476, 452, 452, 452, 483, 452, 452,
1935
+ 452, 487, 452, 452, 452, 493, 496, 497,
1936
+ 452, 452, 113, 114, 452, 452, 452, 505,
1937
+ 510, 452, 452, 506, 508, 509, 507, 452,
1938
+ 513, 514, 452, 452, 452, 521, 525, 452,
1939
+ 523, 452, 452, 452, 529, 452, 531, 452,
1940
+ 452, 535, 537, 452, 452, 539, 541, 452,
1941
+ 452, 543, 452, 452, 452, 452, 452, 553,
1942
+ 220, 452, 452, 452, 452, 558, 566, 559,
1943
+ 560, 561, 562, 563, 564, 452, 452, 567,
1944
+ 568, 569, 570, 571, 467, 573, 578, 583,
1945
+ 574, 575, 576, 577, 467, 579, 580, 581,
1946
+ 452, 452, 584, 586, 594, 596, 602, 613,
1947
+ 587, 590, 588, 452, 591, 592, 452, 595,
1948
+ 597, 598, 599, 452, 452, 603, 604, 607,
1949
+ 605, 452, 608, 609, 610, 611, 452, 614,
1950
+ 615, 616, 452, 617, 620, 260, 621, 622,
1951
+ 623, 625, 644, 626, 633, 639, 627, 628,
1952
+ 629, 630, 631, 452, 634, 635, 636, 637,
1953
+ 452, 640, 641, 642, 452, 646, 452, 647,
1954
+ 649, 653, 657, 650, 651, 452, 654, 655,
1955
+ 452, 658, 663, 659, 660, 661, 452, 664,
1956
+ 665, 666, 667, 452, 670, 673, 685, 688,
1957
+ 700, 671, 672, 674, 678, 675, 676, 452,
1958
+ 679, 680, 682, 452, 683, 452, 686, 687,
1959
+ 689, 691, 452, 692, 693, 694, 452, 696,
1960
+ 698, 452, 701, 702, 703, 704, 705, 706,
1961
+ 452, 709, 710, 711, 452, 714, 716, 730,
1962
+ 452, 717, 718, 726, 719, 720, 721, 722,
1963
+ 723, 724, 452, 727, 728, 452, 732, 739,
1964
+ 748, 452, 733, 734, 735, 736, 452, 452,
1965
+ 740, 741, 742, 743, 744, 745, 746, 452,
1966
+ 749, 750, 751, 752, 754, 755, 757, 758,
1967
+ 759, 760, 761, 452, 452, 765, 771, 774,
1968
+ 766, 767, 768, 769, 452, 772, 452, 775,
1969
+ 777, 784, 803, 778, 779, 780, 781, 782,
1970
+ 452, 785, 791, 786, 787, 788, 789, 452,
1971
+ 792, 796, 793, 794, 795, 797, 798, 799,
1972
+ 800, 801, 452, 804, 805, 806, 807, 452,
1973
+ 810, 811, 812, 813, 814, 452, 817, 819,
1974
+ 825, 827, 833, 818, 820, 821, 822, 823,
1975
+ 452, 826, 828, 829, 830, 831, 452, 834,
1976
+ 835, 836, 837, 838, 839, 840, 841, 842,
1977
+ 843, 452, 846, 854, 865, 847, 848, 849,
1978
+ 850, 852, 452, 452, 855, 863, 856, 857,
1979
+ 858, 859, 860, 861, 452, 452, 866, 867,
1980
+ 868, 869, 452, 872, 875, 873, 452, 876,
1981
+ 877, 878, 879, 880, 881, 882, 452, 885,
1982
+ 890, 886, 887, 888, 452, 891, 892, 452,
1983
+ 896, 898, 452, 452, 452, 452
1984
+ };
1985
+
1986
+ static const short _dude_trans_actions[] = {
1987
+ 259, 0, 0, 0, 0, 0, 0, 0,
1988
+ 17, 0, 0, 0, 0, 0, 0, 0,
1989
+ 0, 0, 0, 0, 0, 0, 0, 0,
1990
+ 15, 0, 0, 0, 0, 0, 0, 241,
1991
+ 0, 0, 0, 0, 0, 0, 0, 0,
1992
+ 0, 0, 0, 0, 0, 0, 251, 0,
1993
+ 7, 0, 0, 0, 0, 7, 0, 0,
1994
+ 0, 257, 1, 19, 0, 3, 0, 0,
1995
+ 0, 0, 5, 0, 7, 0, 0, 0,
1996
+ 0, 7, 0, 0, 0, 0, 7, 0,
1997
+ 0, 0, 0, 7, 0, 0, 0, 0,
1998
+ 7, 0, 0, 0, 0, 7, 0, 0,
1999
+ 0, 1, 0, 3, 0, 0, 0, 0,
2000
+ 5, 0, 7, 0, 0, 0, 0, 7,
2001
+ 0, 0, 0, 0, 7, 0, 0, 0,
2002
+ 0, 7, 0, 0, 0, 0, 7, 0,
2003
+ 0, 0, 0, 7, 0, 0, 0, 0,
2004
+ 7, 0, 0, 0, 247, 276, 0, 0,
2005
+ 0, 7, 0, 0, 0, 0, 7, 0,
2006
+ 0, 0, 0, 7, 0, 0, 0, 0,
2007
+ 7, 0, 0, 0, 0, 0, 0, 0,
2008
+ 273, 0, 7, 0, 0, 0, 0, 7,
2009
+ 0, 0, 0, 0, 7, 0, 0, 0,
2010
+ 0, 7, 0, 0, 0, 0, 7, 0,
2011
+ 0, 0, 0, 7, 0, 0, 0, 0,
2012
+ 7, 0, 0, 0, 0, 7, 0, 0,
2013
+ 0, 0, 7, 0, 0, 0, 0, 7,
2014
+ 0, 0, 0, 0, 7, 0, 0, 0,
2015
+ 0, 7, 0, 0, 0, 0, 7, 0,
2016
+ 0, 0, 0, 7, 0, 0, 0, 0,
2017
+ 7, 0, 0, 0, 0, 7, 0, 0,
2018
+ 0, 0, 7, 0, 0, 0, 0, 7,
2019
+ 0, 0, 0, 0, 7, 0, 0, 0,
2020
+ 0, 7, 0, 0, 0, 0, 7, 0,
2021
+ 0, 0, 0, 7, 0, 0, 0, 0,
2022
+ 7, 0, 0, 0, 253, 0, 7, 0,
2023
+ 0, 0, 249, 0, 7, 0, 0, 0,
2024
+ 0, 7, 0, 0, 0, 0, 7, 0,
2025
+ 0, 0, 0, 0, 7, 0, 0, 0,
2026
+ 0, 7, 0, 0, 0, 0, 7, 0,
2027
+ 0, 0, 245, 0, 0, 267, 0, 0,
2028
+ 0, 0, 0, 0, 0, 0, 0, 7,
2029
+ 0, 0, 0, 0, 7, 0, 0, 0,
2030
+ 0, 7, 0, 0, 0, 0, 7, 0,
2031
+ 0, 0, 0, 7, 0, 0, 0, 0,
2032
+ 7, 0, 0, 0, 0, 7, 0, 0,
2033
+ 0, 0, 7, 0, 0, 0, 255, 0,
2034
+ 7, 0, 0, 0, 0, 7, 0, 0,
2035
+ 0, 0, 7, 0, 0, 0, 0, 7,
2036
+ 0, 0, 0, 0, 0, 7, 0, 0,
2037
+ 0, 13, 243, 0, 0, 0, 0, 0,
2038
+ 0, 7, 0, 0, 0, 0, 7, 0,
2039
+ 0, 0, 0, 7, 0, 0, 0, 0,
2040
+ 7, 0, 0, 0, 0, 7, 0, 0,
2041
+ 0, 0, 7, 0, 0, 0, 0, 0,
2042
+ 7, 0, 0, 0, 0, 7, 0, 0,
2043
+ 0, 0, 0, 7, 0, 0, 0, 0,
2044
+ 7, 0, 0, 0, 0, 7, 0, 0,
2045
+ 0, 0, 7, 0, 0, 0, 0, 7,
2046
+ 0, 0, 0, 0, 7, 0, 0, 0,
2047
+ 0, 7, 0, 0, 0, 0, 7, 0,
2048
+ 0, 0, 0, 7, 0, 0, 0, 0,
2049
+ 7, 0, 0, 0, 0, 7, 0, 0,
2050
+ 0, 0, 7, 0, 0, 0, 0, 7,
2051
+ 0, 0, 0, 0, 7, 0, 0, 0,
2052
+ 0, 7, 0, 0, 0, 0, 7, 0,
2053
+ 0, 0, 0, 7, 0, 0, 0, 0,
2054
+ 7, 0, 0, 0, 0, 7, 0, 0,
2055
+ 0, 0, 7, 0, 0, 0, 0, 7,
2056
+ 0, 0, 0, 0, 7, 0, 0, 0,
2057
+ 0, 7, 0, 0, 0, 0, 7, 0,
2058
+ 0, 0, 23, 270, 264, 0, 261, 13,
2059
+ 285, 13, 0, 261, 13, 13, 13, 13,
2060
+ 13, 13, 288, 13, 13, 13, 13, 13,
2061
+ 13, 13, 13, 13, 13, 0, 0, 0,
2062
+ 0, 0, 0, 0, 0, 0, 0, 0,
2063
+ 0, 0, 0, 0, 0, 0, 13, 0,
2064
+ 0, 0, 33, 29, 13, 31, 239, 13,
2065
+ 47, 13, 53, 55, 57, 13, 59, 61,
2066
+ 13, 13, 63, 65, 67, 13, 69, 71,
2067
+ 21, 13, 73, 75, 77, 276, 276, 13,
2068
+ 79, 43, 0, 0, 81, 83, 85, 7,
2069
+ 13, 87, 41, 0, 0, 0, 0, 89,
2070
+ 0, 285, 51, 91, 93, 13, 13, 95,
2071
+ 13, 97, 99, 101, 13, 103, 13, 105,
2072
+ 107, 13, 13, 109, 111, 13, 13, 113,
2073
+ 115, 13, 117, 119, 121, 123, 125, 13,
2074
+ 0, 127, 129, 131, 133, 0, 0, 0,
2075
+ 0, 0, 0, 0, 13, 49, 143, 0,
2076
+ 0, 0, 0, 0, 279, 0, 0, 0,
2077
+ 0, 0, 0, 0, 282, 0, 0, 13,
2078
+ 45, 145, 0, 0, 0, 0, 0, 0,
2079
+ 0, 0, 13, 147, 0, 13, 149, 0,
2080
+ 0, 0, 13, 25, 151, 0, 0, 0,
2081
+ 13, 153, 0, 0, 0, 13, 155, 0,
2082
+ 0, 13, 39, 267, 0, 0, 0, 0,
2083
+ 285, 0, 13, 0, 0, 0, 0, 0,
2084
+ 0, 0, 13, 157, 0, 0, 0, 13,
2085
+ 159, 0, 0, 13, 161, 0, 163, 0,
2086
+ 0, 0, 0, 0, 13, 165, 0, 13,
2087
+ 167, 0, 0, 0, 0, 13, 169, 0,
2088
+ 0, 0, 13, 171, 0, 0, 0, 0,
2089
+ 0, 0, 0, 0, 0, 0, 13, 173,
2090
+ 0, 13, 0, 175, 13, 177, 0, 0,
2091
+ 13, 0, 179, 0, 0, 13, 37, 13,
2092
+ 0, 233, 0, 0, 0, 0, 0, 13,
2093
+ 181, 0, 0, 13, 183, 13, 0, 13,
2094
+ 185, 0, 0, 0, 0, 0, 0, 0,
2095
+ 0, 13, 187, 0, 13, 189, 0, 0,
2096
+ 0, 191, 0, 0, 0, 13, 35, 237,
2097
+ 0, 0, 0, 0, 0, 0, 13, 193,
2098
+ 0, 0, 0, 0, 0, 0, 0, 0,
2099
+ 0, 0, 13, 27, 235, 0, 0, 0,
2100
+ 0, 0, 0, 13, 195, 13, 197, 0,
2101
+ 0, 0, 0, 0, 0, 0, 0, 13,
2102
+ 199, 0, 0, 0, 0, 0, 13, 201,
2103
+ 0, 0, 0, 0, 0, 0, 0, 0,
2104
+ 0, 13, 203, 0, 0, 0, 13, 205,
2105
+ 0, 0, 0, 0, 13, 207, 0, 0,
2106
+ 0, 0, 0, 0, 0, 0, 0, 13,
2107
+ 209, 0, 0, 0, 0, 13, 211, 0,
2108
+ 0, 0, 0, 0, 0, 0, 0, 0,
2109
+ 13, 213, 0, 0, 0, 0, 0, 0,
2110
+ 13, 13, 215, 217, 0, 13, 0, 0,
2111
+ 0, 0, 0, 13, 219, 221, 0, 0,
2112
+ 0, 13, 223, 0, 0, 13, 225, 0,
2113
+ 0, 0, 0, 0, 0, 13, 227, 0,
2114
+ 0, 0, 0, 13, 229, 0, 13, 231,
2115
+ 13, 13, 135, 137, 139, 141
2116
+ };
2117
+
2118
+ static const short _dude_to_state_actions[] = {
2119
+ 0, 0, 0, 0, 0, 0, 0, 0,
2120
+ 0, 0, 0, 0, 0, 0, 0, 0,
2121
+ 0, 0, 0, 0, 0, 0, 0, 0,
2122
+ 0, 0, 0, 0, 0, 0, 0, 0,
2123
+ 0, 0, 0, 0, 0, 0, 0, 0,
2124
+ 0, 0, 0, 0, 0, 0, 0, 0,
2125
+ 0, 0, 0, 0, 0, 0, 0, 0,
2126
+ 0, 0, 0, 0, 0, 0, 0, 0,
2127
+ 0, 0, 0, 0, 0, 0, 0, 0,
2128
+ 0, 0, 0, 0, 0, 0, 0, 0,
2129
+ 0, 0, 0, 0, 0, 0, 0, 0,
2130
+ 0, 0, 0, 0, 0, 0, 0, 0,
2131
+ 0, 0, 0, 0, 0, 0, 0, 0,
2132
+ 0, 0, 0, 0, 0, 0, 0, 0,
2133
+ 0, 0, 0, 0, 0, 0, 0, 0,
2134
+ 0, 0, 0, 0, 0, 0, 0, 0,
2135
+ 0, 0, 0, 0, 0, 0, 0, 0,
2136
+ 0, 0, 0, 0, 0, 0, 0, 0,
2137
+ 0, 0, 0, 0, 0, 0, 0, 0,
2138
+ 0, 0, 0, 0, 0, 0, 0, 0,
2139
+ 0, 0, 0, 0, 0, 0, 0, 0,
2140
+ 0, 0, 0, 0, 0, 0, 0, 0,
2141
+ 0, 0, 0, 0, 0, 0, 0, 0,
2142
+ 0, 0, 0, 0, 0, 0, 0, 0,
2143
+ 0, 0, 0, 0, 0, 0, 0, 0,
2144
+ 0, 0, 0, 0, 0, 0, 0, 0,
2145
+ 0, 0, 0, 0, 0, 0, 0, 0,
2146
+ 0, 0, 0, 0, 0, 0, 0, 0,
2147
+ 0, 0, 0, 0, 0, 0, 0, 0,
2148
+ 0, 0, 0, 0, 0, 0, 0, 0,
2149
+ 0, 0, 0, 0, 0, 0, 0, 0,
2150
+ 0, 0, 0, 0, 0, 0, 0, 0,
2151
+ 0, 0, 0, 0, 0, 0, 0, 0,
2152
+ 0, 0, 0, 0, 0, 0, 0, 0,
2153
+ 0, 0, 0, 0, 0, 0, 0, 0,
2154
+ 0, 0, 0, 0, 0, 0, 0, 0,
2155
+ 0, 0, 0, 0, 0, 0, 0, 0,
2156
+ 0, 0, 0, 0, 0, 0, 0, 0,
2157
+ 0, 0, 0, 0, 0, 0, 0, 0,
2158
+ 0, 0, 0, 0, 0, 0, 0, 0,
2159
+ 0, 0, 0, 0, 0, 0, 0, 0,
2160
+ 0, 0, 0, 0, 0, 0, 0, 0,
2161
+ 0, 0, 0, 0, 0, 0, 0, 0,
2162
+ 0, 0, 0, 0, 0, 0, 0, 0,
2163
+ 0, 0, 0, 0, 0, 0, 0, 0,
2164
+ 0, 0, 0, 0, 0, 0, 0, 0,
2165
+ 0, 0, 0, 0, 0, 0, 0, 0,
2166
+ 0, 0, 0, 0, 0, 0, 0, 0,
2167
+ 0, 0, 0, 0, 0, 0, 0, 0,
2168
+ 0, 0, 0, 0, 0, 0, 0, 0,
2169
+ 0, 0, 0, 0, 0, 0, 0, 0,
2170
+ 0, 0, 0, 0, 0, 0, 0, 0,
2171
+ 0, 0, 0, 0, 0, 0, 0, 0,
2172
+ 0, 0, 0, 0, 0, 0, 0, 0,
2173
+ 0, 0, 0, 0, 0, 0, 0, 0,
2174
+ 0, 0, 0, 0, 0, 0, 0, 0,
2175
+ 0, 0, 0, 0, 9, 0, 0, 0,
2176
+ 0, 0, 0, 0, 0, 0, 0, 0,
2177
+ 0, 0, 0, 0, 0, 0, 0, 0,
2178
+ 0, 0, 0, 0, 0, 0, 0, 0,
2179
+ 0, 0, 0, 0, 0, 0, 0, 0,
2180
+ 0, 0, 0, 0, 0, 0, 0, 0,
2181
+ 0, 0, 0, 0, 0, 0, 0, 0,
2182
+ 0, 0, 0, 0, 0, 0, 0, 0,
2183
+ 0, 0, 0, 0, 0, 0, 0, 0,
2184
+ 0, 0, 0, 0, 0, 0, 0, 0,
2185
+ 0, 0, 0, 0, 0, 0, 0, 0,
2186
+ 0, 0, 0, 0, 0, 0, 0, 0,
2187
+ 0, 0, 0, 0, 0, 0, 0, 0,
2188
+ 0, 0, 0, 0, 0, 0, 0, 0,
2189
+ 0, 0, 0, 0, 0, 0, 0, 0,
2190
+ 0, 0, 0, 0, 0, 0, 0, 0,
2191
+ 0, 0, 0, 0, 0, 0, 0, 0,
2192
+ 0, 0, 0, 0, 0, 0, 0, 0,
2193
+ 0, 0, 0, 0, 0, 0, 0, 0,
2194
+ 0, 0, 0, 0, 0, 0, 0, 0,
2195
+ 0, 0, 0, 0, 0, 0, 0, 0,
2196
+ 0, 0, 0, 0, 0, 0, 0, 0,
2197
+ 0, 0, 0, 0, 0, 0, 0, 0,
2198
+ 0, 0, 0, 0, 0, 0, 0, 0,
2199
+ 0, 0, 0, 0, 0, 0, 0, 0,
2200
+ 0, 0, 0, 0, 0, 0, 0, 0,
2201
+ 0, 0, 0, 0, 0, 0, 0, 0,
2202
+ 0, 0, 0, 0, 0, 0, 0, 0,
2203
+ 0, 0, 0, 0, 0, 0, 0, 0,
2204
+ 0, 0, 0, 0, 0, 0, 0, 0,
2205
+ 0, 0, 0, 0, 0, 0, 0, 0,
2206
+ 0, 0, 0, 0, 0, 0, 0, 0,
2207
+ 0, 0, 0, 0, 0, 0, 0, 0,
2208
+ 0, 0, 0, 0, 0, 0, 0, 0,
2209
+ 0, 0, 0, 0, 0, 0, 0, 0,
2210
+ 0, 0, 0, 0, 0, 0, 0, 0,
2211
+ 0, 0, 0, 0, 0, 0, 0, 0,
2212
+ 0, 0, 0, 0, 0, 0, 0, 0,
2213
+ 0, 0, 0, 0, 0, 0, 0, 0,
2214
+ 0, 0, 0, 0, 0, 0, 0, 0,
2215
+ 0, 0, 0, 0, 0, 0, 0, 0,
2216
+ 0, 0, 0, 0, 0, 0, 0, 0,
2217
+ 0, 0, 0, 0, 0, 0, 0, 0,
2218
+ 0, 0, 0, 0, 0, 0, 0, 0,
2219
+ 0, 0, 0, 0, 0, 0, 0, 0,
2220
+ 0, 0, 0, 0, 0, 0, 0, 0,
2221
+ 0, 0, 0, 0, 0, 0, 0, 0,
2222
+ 0, 0, 0, 0, 0, 0, 0, 0,
2223
+ 0, 0, 0, 0, 0, 0, 0, 0,
2224
+ 0, 0, 0, 0, 0, 0, 0, 0,
2225
+ 0, 0, 0, 0, 0, 0, 0, 0,
2226
+ 0, 0, 0, 0, 0, 0, 0, 0,
2227
+ 0, 0, 0, 0, 0, 0, 0, 0,
2228
+ 0, 0, 0, 0, 0, 0, 0, 0,
2229
+ 0, 0, 0, 0, 0, 0, 0, 0,
2230
+ 0, 0, 0, 0, 0, 0, 0, 0,
2231
+ 0, 0, 0, 0, 0
2232
+ };
2233
+
2234
+ static const short _dude_from_state_actions[] = {
2235
+ 0, 0, 0, 0, 0, 0, 0, 0,
2236
+ 0, 0, 0, 0, 0, 0, 0, 0,
2237
+ 0, 0, 0, 0, 0, 0, 0, 0,
2238
+ 0, 0, 0, 0, 0, 0, 0, 0,
2239
+ 0, 0, 0, 0, 0, 0, 0, 0,
2240
+ 0, 0, 0, 0, 0, 0, 0, 0,
2241
+ 0, 0, 0, 0, 0, 0, 0, 0,
2242
+ 0, 0, 0, 0, 0, 0, 0, 0,
2243
+ 0, 0, 0, 0, 0, 0, 0, 0,
2244
+ 0, 0, 0, 0, 0, 0, 0, 0,
2245
+ 0, 0, 0, 0, 0, 0, 0, 0,
2246
+ 0, 0, 0, 0, 0, 0, 0, 0,
2247
+ 0, 0, 0, 0, 0, 0, 0, 0,
2248
+ 0, 0, 0, 0, 0, 0, 0, 0,
2249
+ 0, 0, 0, 0, 0, 0, 0, 0,
2250
+ 0, 0, 0, 0, 0, 0, 0, 0,
2251
+ 0, 0, 0, 0, 0, 0, 0, 0,
2252
+ 0, 0, 0, 0, 0, 0, 0, 0,
2253
+ 0, 0, 0, 0, 0, 0, 0, 0,
2254
+ 0, 0, 0, 0, 0, 0, 0, 0,
2255
+ 0, 0, 0, 0, 0, 0, 0, 0,
2256
+ 0, 0, 0, 0, 0, 0, 0, 0,
2257
+ 0, 0, 0, 0, 0, 0, 0, 0,
2258
+ 0, 0, 0, 0, 0, 0, 0, 0,
2259
+ 0, 0, 0, 0, 0, 0, 0, 0,
2260
+ 0, 0, 0, 0, 0, 0, 0, 0,
2261
+ 0, 0, 0, 0, 0, 0, 0, 0,
2262
+ 0, 0, 0, 0, 0, 0, 0, 0,
2263
+ 0, 0, 0, 0, 0, 0, 0, 0,
2264
+ 0, 0, 0, 0, 0, 0, 0, 0,
2265
+ 0, 0, 0, 0, 0, 0, 0, 0,
2266
+ 0, 0, 0, 0, 0, 0, 0, 0,
2267
+ 0, 0, 0, 0, 0, 0, 0, 0,
2268
+ 0, 0, 0, 0, 0, 0, 0, 0,
2269
+ 0, 0, 0, 0, 0, 0, 0, 0,
2270
+ 0, 0, 0, 0, 0, 0, 0, 0,
2271
+ 0, 0, 0, 0, 0, 0, 0, 0,
2272
+ 0, 0, 0, 0, 0, 0, 0, 0,
2273
+ 0, 0, 0, 0, 0, 0, 0, 0,
2274
+ 0, 0, 0, 0, 0, 0, 0, 0,
2275
+ 0, 0, 0, 0, 0, 0, 0, 0,
2276
+ 0, 0, 0, 0, 0, 0, 0, 0,
2277
+ 0, 0, 0, 0, 0, 0, 0, 0,
2278
+ 0, 0, 0, 0, 0, 0, 0, 0,
2279
+ 0, 0, 0, 0, 0, 0, 0, 0,
2280
+ 0, 0, 0, 0, 0, 0, 0, 0,
2281
+ 0, 0, 0, 0, 0, 0, 0, 0,
2282
+ 0, 0, 0, 0, 0, 0, 0, 0,
2283
+ 0, 0, 0, 0, 0, 0, 0, 0,
2284
+ 0, 0, 0, 0, 0, 0, 0, 0,
2285
+ 0, 0, 0, 0, 0, 0, 0, 0,
2286
+ 0, 0, 0, 0, 0, 0, 0, 0,
2287
+ 0, 0, 0, 0, 0, 0, 0, 0,
2288
+ 0, 0, 0, 0, 0, 0, 0, 0,
2289
+ 0, 0, 0, 0, 0, 0, 0, 0,
2290
+ 0, 0, 0, 0, 0, 0, 0, 0,
2291
+ 0, 0, 0, 0, 11, 0, 0, 0,
2292
+ 0, 0, 0, 0, 0, 0, 0, 0,
2293
+ 0, 0, 0, 0, 0, 0, 0, 0,
2294
+ 0, 0, 0, 0, 0, 0, 0, 0,
2295
+ 0, 0, 0, 0, 0, 0, 0, 0,
2296
+ 0, 0, 0, 0, 0, 0, 0, 0,
2297
+ 0, 0, 0, 0, 0, 0, 0, 0,
2298
+ 0, 0, 0, 0, 0, 0, 0, 0,
2299
+ 0, 0, 0, 0, 0, 0, 0, 0,
2300
+ 0, 0, 0, 0, 0, 0, 0, 0,
2301
+ 0, 0, 0, 0, 0, 0, 0, 0,
2302
+ 0, 0, 0, 0, 0, 0, 0, 0,
2303
+ 0, 0, 0, 0, 0, 0, 0, 0,
2304
+ 0, 0, 0, 0, 0, 0, 0, 0,
2305
+ 0, 0, 0, 0, 0, 0, 0, 0,
2306
+ 0, 0, 0, 0, 0, 0, 0, 0,
2307
+ 0, 0, 0, 0, 0, 0, 0, 0,
2308
+ 0, 0, 0, 0, 0, 0, 0, 0,
2309
+ 0, 0, 0, 0, 0, 0, 0, 0,
2310
+ 0, 0, 0, 0, 0, 0, 0, 0,
2311
+ 0, 0, 0, 0, 0, 0, 0, 0,
2312
+ 0, 0, 0, 0, 0, 0, 0, 0,
2313
+ 0, 0, 0, 0, 0, 0, 0, 0,
2314
+ 0, 0, 0, 0, 0, 0, 0, 0,
2315
+ 0, 0, 0, 0, 0, 0, 0, 0,
2316
+ 0, 0, 0, 0, 0, 0, 0, 0,
2317
+ 0, 0, 0, 0, 0, 0, 0, 0,
2318
+ 0, 0, 0, 0, 0, 0, 0, 0,
2319
+ 0, 0, 0, 0, 0, 0, 0, 0,
2320
+ 0, 0, 0, 0, 0, 0, 0, 0,
2321
+ 0, 0, 0, 0, 0, 0, 0, 0,
2322
+ 0, 0, 0, 0, 0, 0, 0, 0,
2323
+ 0, 0, 0, 0, 0, 0, 0, 0,
2324
+ 0, 0, 0, 0, 0, 0, 0, 0,
2325
+ 0, 0, 0, 0, 0, 0, 0, 0,
2326
+ 0, 0, 0, 0, 0, 0, 0, 0,
2327
+ 0, 0, 0, 0, 0, 0, 0, 0,
2328
+ 0, 0, 0, 0, 0, 0, 0, 0,
2329
+ 0, 0, 0, 0, 0, 0, 0, 0,
2330
+ 0, 0, 0, 0, 0, 0, 0, 0,
2331
+ 0, 0, 0, 0, 0, 0, 0, 0,
2332
+ 0, 0, 0, 0, 0, 0, 0, 0,
2333
+ 0, 0, 0, 0, 0, 0, 0, 0,
2334
+ 0, 0, 0, 0, 0, 0, 0, 0,
2335
+ 0, 0, 0, 0, 0, 0, 0, 0,
2336
+ 0, 0, 0, 0, 0, 0, 0, 0,
2337
+ 0, 0, 0, 0, 0, 0, 0, 0,
2338
+ 0, 0, 0, 0, 0, 0, 0, 0,
2339
+ 0, 0, 0, 0, 0, 0, 0, 0,
2340
+ 0, 0, 0, 0, 0, 0, 0, 0,
2341
+ 0, 0, 0, 0, 0, 0, 0, 0,
2342
+ 0, 0, 0, 0, 0, 0, 0, 0,
2343
+ 0, 0, 0, 0, 0, 0, 0, 0,
2344
+ 0, 0, 0, 0, 0, 0, 0, 0,
2345
+ 0, 0, 0, 0, 0, 0, 0, 0,
2346
+ 0, 0, 0, 0, 0, 0, 0, 0,
2347
+ 0, 0, 0, 0, 0
2348
+ };
2349
+
2350
+ static const short _dude_eof_trans[] = {
2351
+ 1, 1, 1, 1, 1, 1, 1, 1,
2352
+ 1, 1, 1, 1, 1, 1, 1, 1,
2353
+ 1, 1, 1, 1, 1, 1, 1, 1,
2354
+ 1, 1, 1, 1, 1, 32, 1, 1,
2355
+ 1, 1, 1, 1, 1, 1, 1, 1,
2356
+ 1, 47, 47, 47, 47, 47, 47, 47,
2357
+ 47, 58, 58, 58, 58, 58, 58, 58,
2358
+ 58, 58, 58, 58, 58, 58, 58, 47,
2359
+ 47, 47, 47, 47, 47, 47, 47, 47,
2360
+ 47, 47, 47, 47, 47, 47, 47, 58,
2361
+ 58, 58, 58, 58, 58, 58, 58, 58,
2362
+ 58, 58, 58, 58, 58, 47, 47, 47,
2363
+ 47, 58, 58, 58, 58, 47, 47, 47,
2364
+ 47, 58, 58, 58, 58, 58, 58, 58,
2365
+ 58, 141, 141, 1, 47, 47, 47, 47,
2366
+ 58, 58, 58, 58, 58, 58, 58, 58,
2367
+ 58, 58, 58, 58, 1, 1, 1, 1,
2368
+ 47, 47, 47, 47, 58, 58, 58, 58,
2369
+ 58, 58, 58, 58, 58, 58, 58, 58,
2370
+ 47, 47, 47, 47, 47, 47, 47, 47,
2371
+ 47, 47, 47, 47, 58, 58, 58, 58,
2372
+ 47, 47, 47, 47, 47, 47, 47, 47,
2373
+ 58, 58, 58, 58, 47, 47, 47, 47,
2374
+ 47, 47, 47, 47, 47, 47, 47, 47,
2375
+ 47, 47, 47, 47, 47, 47, 47, 47,
2376
+ 58, 58, 58, 58, 58, 58, 58, 58,
2377
+ 58, 58, 58, 58, 58, 58, 58, 58,
2378
+ 47, 47, 47, 47, 58, 58, 58, 58,
2379
+ 58, 58, 58, 58, 58, 285, 285, 285,
2380
+ 285, 291, 291, 291, 291, 291, 291, 291,
2381
+ 291, 291, 291, 291, 291, 291, 291, 291,
2382
+ 291, 291, 291, 291, 291, 291, 291, 291,
2383
+ 291, 323, 323, 323, 323, 323, 323, 1,
2384
+ 1, 1, 1, 291, 291, 291, 291, 291,
2385
+ 291, 291, 291, 291, 291, 291, 291, 291,
2386
+ 291, 291, 291, 291, 291, 291, 291, 285,
2387
+ 285, 285, 285, 285, 285, 285, 285, 285,
2388
+ 285, 285, 285, 375, 375, 375, 375, 285,
2389
+ 285, 285, 285, 291, 291, 291, 291, 291,
2390
+ 291, 291, 291, 291, 291, 291, 291, 291,
2391
+ 403, 291, 291, 291, 291, 291, 291, 291,
2392
+ 285, 285, 285, 285, 291, 291, 291, 291,
2393
+ 285, 285, 285, 285, 285, 285, 285, 285,
2394
+ 291, 291, 291, 291, 291, 291, 291, 291,
2395
+ 291, 291, 291, 291, 291, 291, 291, 291,
2396
+ 285, 285, 285, 285, 291, 291, 291, 291,
2397
+ 285, 285, 285, 285, 285, 285, 285, 285,
2398
+ 285, 285, 285, 285, 285, 285, 285, 285,
2399
+ 291, 291, 291, 291, 291, 291, 291, 291,
2400
+ 291, 291, 291, 291, 285, 285, 285, 285,
2401
+ 291, 291, 291, 291, 285, 285, 285, 285,
2402
+ 285, 285, 285, 285, 291, 291, 291, 291,
2403
+ 291, 291, 291, 291, 291, 291, 291, 291,
2404
+ 285, 285, 285, 285, 291, 291, 291, 291,
2405
+ 291, 291, 291, 291, 58, 58, 58, 58,
2406
+ 47, 47, 47, 47, 47, 47, 47, 47,
2407
+ 47, 47, 47, 47, 0, 1, 619, 620,
2408
+ 620, 620, 622, 623, 625, 627, 625, 628,
2409
+ 623, 623, 629, 1, 623, 631, 625, 632,
2410
+ 623, 625, 635, 636, 625, 637, 623, 623,
2411
+ 623, 623, 639, 625, 640, 623, 643, 625,
2412
+ 644, 623, 645, 623, 649, 650, 650, 650,
2413
+ 650, 625, 653, 654, 623, 655, 623, 658,
2414
+ 659, 659, 659, 659, 659, 659, 625, 664,
2415
+ 650, 650, 667, 650, 623, 668, 669, 623,
2416
+ 672, 625, 674, 625, 675, 625, 676, 623,
2417
+ 678, 625, 680, 625, 681, 623, 684, 625,
2418
+ 685, 625, 688, 625, 689, 625, 691, 625,
2419
+ 692, 623, 693, 623, 694, 623, 695, 623,
2420
+ 698, 625, 699, 700, 701, 667, 667, 667,
2421
+ 667, 667, 667, 667, 710, 711, 667, 667,
2422
+ 667, 667, 667, 667, 667, 667, 667, 667,
2423
+ 667, 667, 667, 667, 667, 729, 730, 667,
2424
+ 667, 667, 667, 667, 729, 740, 667, 667,
2425
+ 729, 743, 667, 667, 667, 667, 667, 729,
2426
+ 748, 749, 667, 667, 667, 729, 754, 667,
2427
+ 667, 667, 667, 729, 759, 667, 667, 667,
2428
+ 763, 763, 763, 763, 667, 667, 667, 667,
2429
+ 667, 667, 667, 667, 667, 667, 667, 729,
2430
+ 780, 667, 667, 667, 667, 729, 785, 667,
2431
+ 667, 667, 729, 789, 729, 791, 667, 667,
2432
+ 667, 667, 667, 729, 798, 667, 667, 710,
2433
+ 801, 667, 667, 667, 667, 710, 807, 667,
2434
+ 667, 667, 667, 710, 812, 667, 667, 667,
2435
+ 667, 667, 667, 667, 667, 824, 667, 667,
2436
+ 710, 828, 667, 729, 830, 667, 667, 667,
2437
+ 667, 729, 835, 667, 667, 667, 729, 839,
2438
+ 839, 839, 839, 842, 667, 667, 667, 667,
2439
+ 667, 667, 729, 849, 667, 667, 667, 710,
2440
+ 853, 667, 729, 857, 667, 667, 667, 667,
2441
+ 667, 667, 667, 667, 710, 867, 667, 667,
2442
+ 710, 870, 729, 874, 667, 667, 667, 667,
2443
+ 729, 879, 880, 667, 667, 667, 667, 667,
2444
+ 667, 667, 729, 888, 710, 667, 667, 667,
2445
+ 667, 667, 667, 667, 667, 667, 667, 667,
2446
+ 667, 729, 900, 901, 667, 667, 667, 667,
2447
+ 667, 710, 909, 667, 729, 911, 667, 667,
2448
+ 667, 667, 667, 667, 667, 667, 710, 921,
2449
+ 667, 667, 667, 667, 667, 710, 928, 667,
2450
+ 667, 667, 667, 667, 667, 667, 667, 667,
2451
+ 667, 710, 939, 667, 667, 667, 667, 710,
2452
+ 944, 667, 667, 667, 667, 667, 729, 950,
2453
+ 667, 667, 667, 667, 667, 667, 667, 729,
2454
+ 961, 667, 667, 667, 667, 667, 667, 729,
2455
+ 967, 667, 667, 667, 667, 667, 667, 667,
2456
+ 667, 667, 667, 710, 978, 667, 667, 667,
2457
+ 667, 667, 729, 987, 710, 988, 667, 667,
2458
+ 667, 667, 667, 667, 667, 710, 997, 729,
2459
+ 998, 667, 667, 667, 667, 729, 1003, 667,
2460
+ 667, 729, 1007, 667, 667, 667, 667, 667,
2461
+ 667, 667, 710, 1015, 667, 667, 667, 667,
2462
+ 729, 1021, 667, 667, 729, 1024, 623, 1027,
2463
+ 625, 1028, 625, 1029, 1030
2464
+ };
2465
+
2466
+ static const int dude_start = 452;
2467
+ static const int dude_first_final = 452;
2468
+ static const int dude_error = -1;
2469
+
2470
+ static const int dude_en_main = 452;
2471
+
2472
+
2473
+ #line 518 "tokenizer.rl"
2474
+
2475
+ #line 2476 "tokenizer.c"
2476
+ {
2477
+ cs = dude_start;
2478
+ ts = 0;
2479
+ te = 0;
2480
+ act = 0;
2481
+ }
2482
+
2483
+ #line 519 "tokenizer.rl"
2484
+
2485
+ #line 2486 "tokenizer.c"
2486
+ {
2487
+ int _klen;
2488
+ unsigned int _trans;
2489
+ const unsigned char *_acts;
2490
+ unsigned int _nacts;
2491
+ const char *_keys;
2492
+
2493
+ if ( p == pe )
2494
+ goto _test_eof;
2495
+ _resume:
2496
+ _acts = _dude_actions + _dude_from_state_actions[cs];
2497
+ _nacts = (unsigned int) *_acts++;
2498
+ while ( _nacts-- > 0 ) {
2499
+ switch ( *_acts++ ) {
2500
+ case 6:
2501
+ #line 1 "tokenizer.rl"
2502
+ {ts = p;}
2503
+ break;
2504
+ #line 2505 "tokenizer.c"
2505
+ }
2506
+ }
2507
+
2508
+ _keys = _dude_trans_keys + _dude_key_offsets[cs];
2509
+ _trans = _dude_index_offsets[cs];
2510
+
2511
+ _klen = _dude_single_lengths[cs];
2512
+ if ( _klen > 0 ) {
2513
+ const char *_lower = _keys;
2514
+ const char *_mid;
2515
+ const char *_upper = _keys + _klen - 1;
2516
+ while (1) {
2517
+ if ( _upper < _lower )
2518
+ break;
2519
+
2520
+ _mid = _lower + ((_upper-_lower) >> 1);
2521
+ if ( (*p) < *_mid )
2522
+ _upper = _mid - 1;
2523
+ else if ( (*p) > *_mid )
2524
+ _lower = _mid + 1;
2525
+ else {
2526
+ _trans += (_mid - _keys);
2527
+ goto _match;
2528
+ }
2529
+ }
2530
+ _keys += _klen;
2531
+ _trans += _klen;
2532
+ }
2533
+
2534
+ _klen = _dude_range_lengths[cs];
2535
+ if ( _klen > 0 ) {
2536
+ const char *_lower = _keys;
2537
+ const char *_mid;
2538
+ const char *_upper = _keys + (_klen<<1) - 2;
2539
+ while (1) {
2540
+ if ( _upper < _lower )
2541
+ break;
2542
+
2543
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1);
2544
+ if ( (*p) < _mid[0] )
2545
+ _upper = _mid - 2;
2546
+ else if ( (*p) > _mid[1] )
2547
+ _lower = _mid + 2;
2548
+ else {
2549
+ _trans += ((_mid - _keys)>>1);
2550
+ goto _match;
2551
+ }
2552
+ }
2553
+ _trans += _klen;
2554
+ }
2555
+
2556
+ _match:
2557
+ _trans = _dude_indicies[_trans];
2558
+ _eof_trans:
2559
+ cs = _dude_trans_targs[_trans];
2560
+
2561
+ if ( _dude_trans_actions[_trans] == 0 )
2562
+ goto _again;
2563
+
2564
+ _acts = _dude_actions + _dude_trans_actions[_trans];
2565
+ _nacts = (unsigned int) *_acts++;
2566
+ while ( _nacts-- > 0 )
2567
+ {
2568
+ switch ( *_acts++ )
2569
+ {
2570
+ case 0:
2571
+ #line 9 "tokenizer.rl"
2572
+ {
2573
+ }
2574
+ break;
2575
+ case 1:
2576
+ #line 12 "tokenizer.rl"
2577
+ {
2578
+ }
2579
+ break;
2580
+ case 2:
2581
+ #line 15 "tokenizer.rl"
2582
+ {
2583
+ }
2584
+ break;
2585
+ case 3:
2586
+ #line 18 "tokenizer.rl"
2587
+ {
2588
+ }
2589
+ break;
2590
+ case 4:
2591
+ #line 96 "tokenizer.rl"
2592
+ {regexp_start = p;}
2593
+ break;
2594
+ case 7:
2595
+ #line 1 "tokenizer.rl"
2596
+ {te = p+1;}
2597
+ break;
2598
+ case 8:
2599
+ #line 128 "tokenizer.rl"
2600
+ {act = 1;}
2601
+ break;
2602
+ case 9:
2603
+ #line 253 "tokenizer.rl"
2604
+ {act = 11;}
2605
+ break;
2606
+ case 10:
2607
+ #line 264 "tokenizer.rl"
2608
+ {act = 12;}
2609
+ break;
2610
+ case 11:
2611
+ #line 265 "tokenizer.rl"
2612
+ {act = 13;}
2613
+ break;
2614
+ case 12:
2615
+ #line 268 "tokenizer.rl"
2616
+ {act = 15;}
2617
+ break;
2618
+ case 13:
2619
+ #line 269 "tokenizer.rl"
2620
+ {act = 16;}
2621
+ break;
2622
+ case 14:
2623
+ #line 272 "tokenizer.rl"
2624
+ {act = 18;}
2625
+ break;
2626
+ case 15:
2627
+ #line 273 "tokenizer.rl"
2628
+ {act = 19;}
2629
+ break;
2630
+ case 16:
2631
+ #line 370 "tokenizer.rl"
2632
+ {act = 113;}
2633
+ break;
2634
+ case 17:
2635
+ #line 146 "tokenizer.rl"
2636
+ {te = p+1;{
2637
+ if (in_class && in_class == curly_idx) {
2638
+ curlies[++curly_idx] = cb_count;;
2639
+
2640
+ start_argv[0] = sym_PRIVATE;
2641
+ start_argv[1] = INT2FIX(ts-data);
2642
+ start_argv[2] = INT2FIX(is_static);
2643
+ rb_funcall2(self, start_sym, 3, start_argv);
2644
+ is_static = 0;
2645
+
2646
+ if (curly_idx) curly_idx--;
2647
+ stop_argv[0] = INT2FIX(te-data);
2648
+ rb_funcall2(self, stop_sym, 1, stop_argv);
2649
+
2650
+ }
2651
+ }}
2652
+ break;
2653
+ case 18:
2654
+ #line 189 "tokenizer.rl"
2655
+ {te = p+1;{
2656
+ if (in_class && in_class == curly_idx) {
2657
+ close_on_semi = 1;
2658
+ start_argv[0] = sym_ACCESSOR;
2659
+ start_argv[1] = INT2FIX(ts-data);
2660
+ start_argv[2] = INT2FIX(is_static);
2661
+ rb_funcall2(self, start_sym, 3, start_argv);
2662
+ is_static = 0;
2663
+
2664
+ }
2665
+ }}
2666
+ break;
2667
+ case 19:
2668
+ #line 267 "tokenizer.rl"
2669
+ {te = p+1;}
2670
+ break;
2671
+ case 20:
2672
+ #line 271 "tokenizer.rl"
2673
+ {te = p+1;{ }}
2674
+ break;
2675
+ case 21:
2676
+ #line 370 "tokenizer.rl"
2677
+ {te = p+1;{
2678
+ char single = data[ts-data];
2679
+
2680
+ if (single == '{') {
2681
+ in_foreach = 0;
2682
+ cb_count++;
2683
+ } else if (single == '}') {
2684
+ cb_count--;
2685
+ if (curly_idx && curlies[curly_idx] == cb_count) {
2686
+ in_foreach = 0;
2687
+ if (curly_idx) curly_idx--;
2688
+ stop_argv[0] = INT2FIX(te-data);
2689
+ rb_funcall2(self, stop_sym, 1, stop_argv);
2690
+
2691
+ if (curlies[in_class] == cb_count) {
2692
+ in_class = 0;
2693
+ }
2694
+ }
2695
+ } else if (single == ';' && close_on_semi == 1) {
2696
+ close_on_semi = 0;
2697
+ stop_argv[0] = INT2FIX(te-data);
2698
+ rb_funcall2(self, stop_sym, 1, stop_argv);
2699
+
2700
+ }
2701
+
2702
+ if (single == ';' || single == '}') {
2703
+ classable = 1;
2704
+ }
2705
+
2706
+ if (single == '(') {
2707
+ br_count++;
2708
+ } else if (single == ')') {
2709
+ br_count--;
2710
+ if (mark_on_br == br_count) {
2711
+ if (curly_idx) curly_idx--;
2712
+ stop_argv[0] = INT2FIX(te-data);
2713
+ rb_funcall2(self, stop_sym, 1, stop_argv);
2714
+
2715
+ mark_on_br = -1;
2716
+ }
2717
+ }
2718
+ }}
2719
+ break;
2720
+ case 22:
2721
+ #line 132 "tokenizer.rl"
2722
+ {te = p;p--;{
2723
+ if (in_class == 0) {
2724
+ curlies[++curly_idx] = cb_count;;
2725
+
2726
+ start_argv[0] = sym_CLASS;
2727
+ start_argv[1] = INT2FIX(ts-data);
2728
+ start_argv[2] = INT2FIX(is_static);
2729
+ rb_funcall2(self, start_sym, 3, start_argv);
2730
+ is_static = 0;
2731
+
2732
+ in_class = curly_idx;
2733
+ }
2734
+ }}
2735
+ break;
2736
+ case 23:
2737
+ #line 163 "tokenizer.rl"
2738
+ {te = p;p--;{
2739
+ if (in_class == 0) {
2740
+ curlies[++curly_idx] = cb_count;;
2741
+
2742
+ start_argv[0] = sym_MODULE;
2743
+ start_argv[1] = INT2FIX(ts-data);
2744
+ start_argv[2] = INT2FIX(is_static);
2745
+ rb_funcall2(self, start_sym, 3, start_argv);
2746
+ is_static = 0;
2747
+
2748
+ in_class = curly_idx;
2749
+ }
2750
+ }}
2751
+ break;
2752
+ case 24:
2753
+ #line 177 "tokenizer.rl"
2754
+ {te = p;p--;{
2755
+ if (in_class && in_class == curly_idx) {
2756
+ close_on_semi = 1;
2757
+ start_argv[0] = sym_PROPERTY;
2758
+ start_argv[1] = INT2FIX(ts-data);
2759
+ start_argv[2] = INT2FIX(is_static);
2760
+ rb_funcall2(self, start_sym, 3, start_argv);
2761
+ is_static = 0;
2762
+
2763
+ }
2764
+ }}
2765
+ break;
2766
+ case 25:
2767
+ #line 202 "tokenizer.rl"
2768
+ {te = p;p--;{
2769
+ if (in_class && in_class == curly_idx) {
2770
+ close_on_semi = 1;
2771
+ start_argv[0] = sym_MEMBER;
2772
+ start_argv[1] = INT2FIX(ts-data);
2773
+ start_argv[2] = INT2FIX(is_static);
2774
+ rb_funcall2(self, start_sym, 3, start_argv);
2775
+ is_static = 0;
2776
+
2777
+ }
2778
+ }}
2779
+ break;
2780
+ case 26:
2781
+ #line 214 "tokenizer.rl"
2782
+ {te = p;p--;{
2783
+ if (in_class && in_class == curly_idx) {
2784
+ curlies[++curly_idx] = cb_count;;
2785
+
2786
+ start_argv[0] = sym_METHOD;
2787
+ start_argv[1] = INT2FIX(ts-data);
2788
+ start_argv[2] = INT2FIX(is_static);
2789
+ rb_funcall2(self, start_sym, 3, start_argv);
2790
+ is_static = 0;
2791
+
2792
+ }
2793
+ }}
2794
+ break;
2795
+ case 27:
2796
+ #line 228 "tokenizer.rl"
2797
+ {te = p;p--;{
2798
+ if (in_class && in_class == curly_idx) {
2799
+ close_on_semi = 1;
2800
+ start_argv[0] = sym_INCLUDE;
2801
+ start_argv[1] = INT2FIX(ts-data);
2802
+ start_argv[2] = INT2FIX(is_static);
2803
+ rb_funcall2(self, start_sym, 3, start_argv);
2804
+ is_static = 0;
2805
+
2806
+ }
2807
+ }}
2808
+ break;
2809
+ case 28:
2810
+ #line 240 "tokenizer.rl"
2811
+ {te = p;p--;{
2812
+ curlies[++curly_idx] = cb_count;;
2813
+
2814
+ start_argv[0] = sym_FOREACH;
2815
+ start_argv[1] = INT2FIX(ts-data);
2816
+ start_argv[2] = INT2FIX(is_static);
2817
+ rb_funcall2(self, start_sym, 3, start_argv);
2818
+ is_static = 0;
2819
+
2820
+ mark_on_br = br_count;
2821
+ br_count++;
2822
+ }}
2823
+ break;
2824
+ case 29:
2825
+ #line 253 "tokenizer.rl"
2826
+ {te = p;p--;{
2827
+ curlies[++curly_idx] = cb_count;;
2828
+
2829
+ start_argv[0] = sym_CURRY;
2830
+ start_argv[1] = INT2FIX(ts-data);
2831
+ start_argv[2] = INT2FIX(is_static);
2832
+ rb_funcall2(self, start_sym, 3, start_argv);
2833
+ is_static = 0;
2834
+
2835
+ }}
2836
+ break;
2837
+ case 30:
2838
+ #line 265 "tokenizer.rl"
2839
+ {te = p;p--;{ }}
2840
+ break;
2841
+ case 31:
2842
+ #line 268 "tokenizer.rl"
2843
+ {te = p;p--;}
2844
+ break;
2845
+ case 32:
2846
+ #line 269 "tokenizer.rl"
2847
+ {te = p;p--;{ }}
2848
+ break;
2849
+ case 33:
2850
+ #line 271 "tokenizer.rl"
2851
+ {te = p;p--;{ }}
2852
+ break;
2853
+ case 34:
2854
+ #line 272 "tokenizer.rl"
2855
+ {te = p;p--;{ }}
2856
+ break;
2857
+ case 35:
2858
+ #line 273 "tokenizer.rl"
2859
+ {te = p;p--;{ }}
2860
+ break;
2861
+ case 36:
2862
+ #line 275 "tokenizer.rl"
2863
+ {te = p;p--;{ }}
2864
+ break;
2865
+ case 37:
2866
+ #line 276 "tokenizer.rl"
2867
+ {te = p;p--;{ }}
2868
+ break;
2869
+ case 38:
2870
+ #line 277 "tokenizer.rl"
2871
+ {te = p;p--;{ }}
2872
+ break;
2873
+ case 39:
2874
+ #line 278 "tokenizer.rl"
2875
+ {te = p;p--;{ }}
2876
+ break;
2877
+ case 40:
2878
+ #line 279 "tokenizer.rl"
2879
+ {te = p;p--;{ }}
2880
+ break;
2881
+ case 41:
2882
+ #line 280 "tokenizer.rl"
2883
+ {te = p;p--;{ }}
2884
+ break;
2885
+ case 42:
2886
+ #line 281 "tokenizer.rl"
2887
+ {te = p;p--;{ }}
2888
+ break;
2889
+ case 43:
2890
+ #line 282 "tokenizer.rl"
2891
+ {te = p;p--;{ }}
2892
+ break;
2893
+ case 44:
2894
+ #line 283 "tokenizer.rl"
2895
+ {te = p;p--;{ }}
2896
+ break;
2897
+ case 45:
2898
+ #line 284 "tokenizer.rl"
2899
+ {te = p;p--;{ }}
2900
+ break;
2901
+ case 46:
2902
+ #line 285 "tokenizer.rl"
2903
+ {te = p;p--;{ }}
2904
+ break;
2905
+ case 47:
2906
+ #line 286 "tokenizer.rl"
2907
+ {te = p;p--;{ }}
2908
+ break;
2909
+ case 48:
2910
+ #line 287 "tokenizer.rl"
2911
+ {te = p;p--;{ }}
2912
+ break;
2913
+ case 49:
2914
+ #line 288 "tokenizer.rl"
2915
+ {te = p;p--;{ }}
2916
+ break;
2917
+ case 50:
2918
+ #line 289 "tokenizer.rl"
2919
+ {te = p;p--;{ }}
2920
+ break;
2921
+ case 51:
2922
+ #line 290 "tokenizer.rl"
2923
+ {te = p;p--;{ }}
2924
+ break;
2925
+ case 52:
2926
+ #line 291 "tokenizer.rl"
2927
+ {te = p;p--;{ }}
2928
+ break;
2929
+ case 53:
2930
+ #line 292 "tokenizer.rl"
2931
+ {te = p;p--;{ }}
2932
+ break;
2933
+ case 54:
2934
+ #line 293 "tokenizer.rl"
2935
+ {te = p;p--;{ }}
2936
+ break;
2937
+ case 55:
2938
+ #line 294 "tokenizer.rl"
2939
+ {te = p;p--;{ }}
2940
+ break;
2941
+ case 56:
2942
+ #line 295 "tokenizer.rl"
2943
+ {te = p;p--;{ }}
2944
+ break;
2945
+ case 57:
2946
+ #line 296 "tokenizer.rl"
2947
+ {te = p;p--;{ }}
2948
+ break;
2949
+ case 58:
2950
+ #line 297 "tokenizer.rl"
2951
+ {te = p;p--;{ }}
2952
+ break;
2953
+ case 59:
2954
+ #line 298 "tokenizer.rl"
2955
+ {te = p;p--;{ }}
2956
+ break;
2957
+ case 60:
2958
+ #line 299 "tokenizer.rl"
2959
+ {te = p;p--;{ }}
2960
+ break;
2961
+ case 61:
2962
+ #line 300 "tokenizer.rl"
2963
+ {te = p;p--;{ }}
2964
+ break;
2965
+ case 62:
2966
+ #line 301 "tokenizer.rl"
2967
+ {te = p;p--;{ }}
2968
+ break;
2969
+ case 63:
2970
+ #line 302 "tokenizer.rl"
2971
+ {te = p;p--;{ }}
2972
+ break;
2973
+ case 64:
2974
+ #line 303 "tokenizer.rl"
2975
+ {te = p;p--;{ }}
2976
+ break;
2977
+ case 65:
2978
+ #line 304 "tokenizer.rl"
2979
+ {te = p;p--;{ }}
2980
+ break;
2981
+ case 66:
2982
+ #line 305 "tokenizer.rl"
2983
+ {te = p;p--;{ }}
2984
+ break;
2985
+ case 67:
2986
+ #line 306 "tokenizer.rl"
2987
+ {te = p;p--;{ }}
2988
+ break;
2989
+ case 68:
2990
+ #line 307 "tokenizer.rl"
2991
+ {te = p;p--;{ }}
2992
+ break;
2993
+ case 69:
2994
+ #line 308 "tokenizer.rl"
2995
+ {te = p;p--;{ }}
2996
+ break;
2997
+ case 70:
2998
+ #line 309 "tokenizer.rl"
2999
+ {te = p;p--;{ }}
3000
+ break;
3001
+ case 71:
3002
+ #line 310 "tokenizer.rl"
3003
+ {te = p;p--;{ }}
3004
+ break;
3005
+ case 72:
3006
+ #line 311 "tokenizer.rl"
3007
+ {te = p;p--;{ }}
3008
+ break;
3009
+ case 73:
3010
+ #line 312 "tokenizer.rl"
3011
+ {te = p;p--;{ }}
3012
+ break;
3013
+ case 74:
3014
+ #line 313 "tokenizer.rl"
3015
+ {te = p;p--;{ }}
3016
+ break;
3017
+ case 75:
3018
+ #line 314 "tokenizer.rl"
3019
+ {te = p;p--;{ }}
3020
+ break;
3021
+ case 76:
3022
+ #line 315 "tokenizer.rl"
3023
+ {te = p;p--;{ }}
3024
+ break;
3025
+ case 77:
3026
+ #line 316 "tokenizer.rl"
3027
+ {te = p;p--;{ }}
3028
+ break;
3029
+ case 78:
3030
+ #line 317 "tokenizer.rl"
3031
+ {te = p;p--;{ }}
3032
+ break;
3033
+ case 79:
3034
+ #line 318 "tokenizer.rl"
3035
+ {te = p;p--;{ }}
3036
+ break;
3037
+ case 80:
3038
+ #line 319 "tokenizer.rl"
3039
+ {te = p;p--;{ }}
3040
+ break;
3041
+ case 81:
3042
+ #line 320 "tokenizer.rl"
3043
+ {te = p;p--;{ }}
3044
+ break;
3045
+ case 82:
3046
+ #line 321 "tokenizer.rl"
3047
+ {te = p;p--;{ }}
3048
+ break;
3049
+ case 83:
3050
+ #line 322 "tokenizer.rl"
3051
+ {te = p;p--;{ }}
3052
+ break;
3053
+ case 84:
3054
+ #line 323 "tokenizer.rl"
3055
+ {te = p;p--;{ }}
3056
+ break;
3057
+ case 85:
3058
+ #line 324 "tokenizer.rl"
3059
+ {te = p;p--;{ }}
3060
+ break;
3061
+ case 86:
3062
+ #line 325 "tokenizer.rl"
3063
+ {te = p;p--;{ }}
3064
+ break;
3065
+ case 87:
3066
+ #line 326 "tokenizer.rl"
3067
+ {te = p;p--;{ }}
3068
+ break;
3069
+ case 88:
3070
+ #line 327 "tokenizer.rl"
3071
+ {te = p;p--;{ }}
3072
+ break;
3073
+ case 89:
3074
+ #line 328 "tokenizer.rl"
3075
+ {te = p;p--;{ }}
3076
+ break;
3077
+ case 90:
3078
+ #line 329 "tokenizer.rl"
3079
+ {te = p;p--;{ }}
3080
+ break;
3081
+ case 91:
3082
+ #line 330 "tokenizer.rl"
3083
+ {te = p;p--;{ }}
3084
+ break;
3085
+ case 92:
3086
+ #line 331 "tokenizer.rl"
3087
+ {te = p;p--;{ }}
3088
+ break;
3089
+ case 93:
3090
+ #line 332 "tokenizer.rl"
3091
+ {te = p;p--;{ }}
3092
+ break;
3093
+ case 94:
3094
+ #line 333 "tokenizer.rl"
3095
+ {te = p;p--;{ }}
3096
+ break;
3097
+ case 95:
3098
+ #line 334 "tokenizer.rl"
3099
+ {te = p;p--;{ }}
3100
+ break;
3101
+ case 96:
3102
+ #line 335 "tokenizer.rl"
3103
+ {te = p;p--;{ }}
3104
+ break;
3105
+ case 97:
3106
+ #line 336 "tokenizer.rl"
3107
+ {te = p;p--;{ }}
3108
+ break;
3109
+ case 98:
3110
+ #line 337 "tokenizer.rl"
3111
+ {te = p;p--;{ }}
3112
+ break;
3113
+ case 99:
3114
+ #line 338 "tokenizer.rl"
3115
+ {te = p;p--;{ }}
3116
+ break;
3117
+ case 100:
3118
+ #line 339 "tokenizer.rl"
3119
+ {te = p;p--;{ }}
3120
+ break;
3121
+ case 101:
3122
+ #line 340 "tokenizer.rl"
3123
+ {te = p;p--;{ }}
3124
+ break;
3125
+ case 102:
3126
+ #line 341 "tokenizer.rl"
3127
+ {te = p;p--;{ }}
3128
+ break;
3129
+ case 103:
3130
+ #line 342 "tokenizer.rl"
3131
+ {te = p;p--;{ }}
3132
+ break;
3133
+ case 104:
3134
+ #line 343 "tokenizer.rl"
3135
+ {te = p;p--;{ }}
3136
+ break;
3137
+ case 105:
3138
+ #line 344 "tokenizer.rl"
3139
+ {te = p;p--;{ }}
3140
+ break;
3141
+ case 106:
3142
+ #line 345 "tokenizer.rl"
3143
+ {te = p;p--;{ }}
3144
+ break;
3145
+ case 107:
3146
+ #line 346 "tokenizer.rl"
3147
+ {te = p;p--;{ }}
3148
+ break;
3149
+ case 108:
3150
+ #line 347 "tokenizer.rl"
3151
+ {te = p;p--;{ }}
3152
+ break;
3153
+ case 109:
3154
+ #line 348 "tokenizer.rl"
3155
+ {te = p;p--;{ }}
3156
+ break;
3157
+ case 110:
3158
+ #line 349 "tokenizer.rl"
3159
+ {te = p;p--;{ }}
3160
+ break;
3161
+ case 111:
3162
+ #line 350 "tokenizer.rl"
3163
+ {te = p;p--;{ }}
3164
+ break;
3165
+ case 112:
3166
+ #line 351 "tokenizer.rl"
3167
+ {te = p;p--;{ }}
3168
+ break;
3169
+ case 113:
3170
+ #line 352 "tokenizer.rl"
3171
+ {te = p;p--;{ }}
3172
+ break;
3173
+ case 114:
3174
+ #line 353 "tokenizer.rl"
3175
+ {te = p;p--;{ }}
3176
+ break;
3177
+ case 115:
3178
+ #line 354 "tokenizer.rl"
3179
+ {te = p;p--;{ }}
3180
+ break;
3181
+ case 116:
3182
+ #line 355 "tokenizer.rl"
3183
+ {te = p;p--;{ }}
3184
+ break;
3185
+ case 117:
3186
+ #line 356 "tokenizer.rl"
3187
+ {te = p;p--;{ }}
3188
+ break;
3189
+ case 118:
3190
+ #line 357 "tokenizer.rl"
3191
+ {te = p;p--;{ }}
3192
+ break;
3193
+ case 119:
3194
+ #line 358 "tokenizer.rl"
3195
+ {te = p;p--;{ }}
3196
+ break;
3197
+ case 120:
3198
+ #line 359 "tokenizer.rl"
3199
+ {te = p;p--;{ }}
3200
+ break;
3201
+ case 121:
3202
+ #line 360 "tokenizer.rl"
3203
+ {te = p;p--;{ }}
3204
+ break;
3205
+ case 122:
3206
+ #line 361 "tokenizer.rl"
3207
+ {te = p;p--;{ }}
3208
+ break;
3209
+ case 123:
3210
+ #line 362 "tokenizer.rl"
3211
+ {te = p;p--;{ }}
3212
+ break;
3213
+ case 124:
3214
+ #line 363 "tokenizer.rl"
3215
+ {te = p;p--;{ }}
3216
+ break;
3217
+ case 125:
3218
+ #line 364 "tokenizer.rl"
3219
+ {te = p;p--;{ }}
3220
+ break;
3221
+ case 126:
3222
+ #line 365 "tokenizer.rl"
3223
+ {te = p;p--;{ }}
3224
+ break;
3225
+ case 127:
3226
+ #line 366 "tokenizer.rl"
3227
+ {te = p;p--;{ }}
3228
+ break;
3229
+ case 128:
3230
+ #line 367 "tokenizer.rl"
3231
+ {te = p;p--;{ }}
3232
+ break;
3233
+ case 129:
3234
+ #line 370 "tokenizer.rl"
3235
+ {te = p;p--;{
3236
+ char single = data[ts-data];
3237
+
3238
+ if (single == '{') {
3239
+ in_foreach = 0;
3240
+ cb_count++;
3241
+ } else if (single == '}') {
3242
+ cb_count--;
3243
+ if (curly_idx && curlies[curly_idx] == cb_count) {
3244
+ in_foreach = 0;
3245
+ if (curly_idx) curly_idx--;
3246
+ stop_argv[0] = INT2FIX(te-data);
3247
+ rb_funcall2(self, stop_sym, 1, stop_argv);
3248
+
3249
+ if (curlies[in_class] == cb_count) {
3250
+ in_class = 0;
3251
+ }
3252
+ }
3253
+ } else if (single == ';' && close_on_semi == 1) {
3254
+ close_on_semi = 0;
3255
+ stop_argv[0] = INT2FIX(te-data);
3256
+ rb_funcall2(self, stop_sym, 1, stop_argv);
3257
+
3258
+ }
3259
+
3260
+ if (single == ';' || single == '}') {
3261
+ classable = 1;
3262
+ }
3263
+
3264
+ if (single == '(') {
3265
+ br_count++;
3266
+ } else if (single == ')') {
3267
+ br_count--;
3268
+ if (mark_on_br == br_count) {
3269
+ if (curly_idx) curly_idx--;
3270
+ stop_argv[0] = INT2FIX(te-data);
3271
+ rb_funcall2(self, stop_sym, 1, stop_argv);
3272
+
3273
+ mark_on_br = -1;
3274
+ }
3275
+ }
3276
+ }}
3277
+ break;
3278
+ case 130:
3279
+ #line 177 "tokenizer.rl"
3280
+ {{p = ((te))-1;}{
3281
+ if (in_class && in_class == curly_idx) {
3282
+ close_on_semi = 1;
3283
+ start_argv[0] = sym_PROPERTY;
3284
+ start_argv[1] = INT2FIX(ts-data);
3285
+ start_argv[2] = INT2FIX(is_static);
3286
+ rb_funcall2(self, start_sym, 3, start_argv);
3287
+ is_static = 0;
3288
+
3289
+ }
3290
+ }}
3291
+ break;
3292
+ case 131:
3293
+ #line 240 "tokenizer.rl"
3294
+ {{p = ((te))-1;}{
3295
+ curlies[++curly_idx] = cb_count;;
3296
+
3297
+ start_argv[0] = sym_FOREACH;
3298
+ start_argv[1] = INT2FIX(ts-data);
3299
+ start_argv[2] = INT2FIX(is_static);
3300
+ rb_funcall2(self, start_sym, 3, start_argv);
3301
+ is_static = 0;
3302
+
3303
+ mark_on_br = br_count;
3304
+ br_count++;
3305
+ }}
3306
+ break;
3307
+ case 132:
3308
+ #line 253 "tokenizer.rl"
3309
+ {{p = ((te))-1;}{
3310
+ curlies[++curly_idx] = cb_count;;
3311
+
3312
+ start_argv[0] = sym_CURRY;
3313
+ start_argv[1] = INT2FIX(ts-data);
3314
+ start_argv[2] = INT2FIX(is_static);
3315
+ rb_funcall2(self, start_sym, 3, start_argv);
3316
+ is_static = 0;
3317
+
3318
+ }}
3319
+ break;
3320
+ case 133:
3321
+ #line 268 "tokenizer.rl"
3322
+ {{p = ((te))-1;}}
3323
+ break;
3324
+ case 134:
3325
+ #line 269 "tokenizer.rl"
3326
+ {{p = ((te))-1;}{ }}
3327
+ break;
3328
+ case 135:
3329
+ #line 271 "tokenizer.rl"
3330
+ {{p = ((te))-1;}{ }}
3331
+ break;
3332
+ case 136:
3333
+ #line 272 "tokenizer.rl"
3334
+ {{p = ((te))-1;}{ }}
3335
+ break;
3336
+ case 137:
3337
+ #line 273 "tokenizer.rl"
3338
+ {{p = ((te))-1;}{ }}
3339
+ break;
3340
+ case 138:
3341
+ #line 370 "tokenizer.rl"
3342
+ {{p = ((te))-1;}{
3343
+ char single = data[ts-data];
3344
+
3345
+ if (single == '{') {
3346
+ in_foreach = 0;
3347
+ cb_count++;
3348
+ } else if (single == '}') {
3349
+ cb_count--;
3350
+ if (curly_idx && curlies[curly_idx] == cb_count) {
3351
+ in_foreach = 0;
3352
+ if (curly_idx) curly_idx--;
3353
+ stop_argv[0] = INT2FIX(te-data);
3354
+ rb_funcall2(self, stop_sym, 1, stop_argv);
3355
+
3356
+ if (curlies[in_class] == cb_count) {
3357
+ in_class = 0;
3358
+ }
3359
+ }
3360
+ } else if (single == ';' && close_on_semi == 1) {
3361
+ close_on_semi = 0;
3362
+ stop_argv[0] = INT2FIX(te-data);
3363
+ rb_funcall2(self, stop_sym, 1, stop_argv);
3364
+
3365
+ }
3366
+
3367
+ if (single == ';' || single == '}') {
3368
+ classable = 1;
3369
+ }
3370
+
3371
+ if (single == '(') {
3372
+ br_count++;
3373
+ } else if (single == ')') {
3374
+ br_count--;
3375
+ if (mark_on_br == br_count) {
3376
+ if (curly_idx) curly_idx--;
3377
+ stop_argv[0] = INT2FIX(te-data);
3378
+ rb_funcall2(self, stop_sym, 1, stop_argv);
3379
+
3380
+ mark_on_br = -1;
3381
+ }
3382
+ }
3383
+ }}
3384
+ break;
3385
+ case 139:
3386
+ #line 1 "tokenizer.rl"
3387
+ { switch( act ) {
3388
+ case 1:
3389
+ {{p = ((te))-1;}
3390
+ //line_number++;
3391
+ }
3392
+ break;
3393
+ case 11:
3394
+ {{p = ((te))-1;}
3395
+ curlies[++curly_idx] = cb_count;;
3396
+
3397
+ start_argv[0] = sym_CURRY;
3398
+ start_argv[1] = INT2FIX(ts-data);
3399
+ start_argv[2] = INT2FIX(is_static);
3400
+ rb_funcall2(self, start_sym, 3, start_argv);
3401
+ is_static = 0;
3402
+
3403
+ }
3404
+ break;
3405
+ case 12:
3406
+ {{p = ((te))-1;}}
3407
+ break;
3408
+ case 13:
3409
+ {{p = ((te))-1;} }
3410
+ break;
3411
+ case 15:
3412
+ {{p = ((te))-1;}}
3413
+ break;
3414
+ case 16:
3415
+ {{p = ((te))-1;} }
3416
+ break;
3417
+ case 18:
3418
+ {{p = ((te))-1;} }
3419
+ break;
3420
+ case 19:
3421
+ {{p = ((te))-1;} }
3422
+ break;
3423
+ case 113:
3424
+ {{p = ((te))-1;}
3425
+ char single = data[ts-data];
3426
+
3427
+ if (single == '{') {
3428
+ in_foreach = 0;
3429
+ cb_count++;
3430
+ } else if (single == '}') {
3431
+ cb_count--;
3432
+ if (curly_idx && curlies[curly_idx] == cb_count) {
3433
+ in_foreach = 0;
3434
+ if (curly_idx) curly_idx--;
3435
+ stop_argv[0] = INT2FIX(te-data);
3436
+ rb_funcall2(self, stop_sym, 1, stop_argv);
3437
+
3438
+ if (curlies[in_class] == cb_count) {
3439
+ in_class = 0;
3440
+ }
3441
+ }
3442
+ } else if (single == ';' && close_on_semi == 1) {
3443
+ close_on_semi = 0;
3444
+ stop_argv[0] = INT2FIX(te-data);
3445
+ rb_funcall2(self, stop_sym, 1, stop_argv);
3446
+
3447
+ }
3448
+
3449
+ if (single == ';' || single == '}') {
3450
+ classable = 1;
3451
+ }
3452
+
3453
+ if (single == '(') {
3454
+ br_count++;
3455
+ } else if (single == ')') {
3456
+ br_count--;
3457
+ if (mark_on_br == br_count) {
3458
+ if (curly_idx) curly_idx--;
3459
+ stop_argv[0] = INT2FIX(te-data);
3460
+ rb_funcall2(self, stop_sym, 1, stop_argv);
3461
+
3462
+ mark_on_br = -1;
3463
+ }
3464
+ }
3465
+ }
3466
+ break;
3467
+ }
3468
+ }
3469
+ break;
3470
+ #line 3471 "tokenizer.c"
3471
+ }
3472
+ }
3473
+
3474
+ _again:
3475
+ _acts = _dude_actions + _dude_to_state_actions[cs];
3476
+ _nacts = (unsigned int) *_acts++;
3477
+ while ( _nacts-- > 0 ) {
3478
+ switch ( *_acts++ ) {
3479
+ case 5:
3480
+ #line 1 "tokenizer.rl"
3481
+ {ts = 0;}
3482
+ break;
3483
+ #line 3484 "tokenizer.c"
3484
+ }
3485
+ }
3486
+
3487
+ if ( ++p != pe )
3488
+ goto _resume;
3489
+ _test_eof: {}
3490
+ if ( p == eof )
3491
+ {
3492
+ if ( _dude_eof_trans[cs] > 0 ) {
3493
+ _trans = _dude_eof_trans[cs] - 1;
3494
+ goto _eof_trans;
3495
+ }
3496
+ }
3497
+
3498
+ }
3499
+
3500
+ #line 520 "tokenizer.rl"
3501
+
3502
+ if (curly_idx) curly_idx--;
3503
+ stop_argv[0] = INT2FIX(data_length-1);
3504
+ rb_funcall2(self, stop_sym, 1, stop_argv);
3505
+
3506
+ }
3507
+
3508
+ END
3509
+ end
3510
+
3511
+ def warn_int (int)
3512
+ puts int.to_s
3513
+ end
3514
+
3515
+ def start_node (type, idx, is_static)
3516
+ @ph.start_node(type, idx, is_static == 1)
3517
+ end
3518
+
3519
+ def stop_node (idx)
3520
+ @ph.stop_node(idx)
3521
+ end
3522
+
3523
+ def mark_node (idx)
3524
+ @ph.mark_node(idx)
3525
+ end
3526
+
3527
+
3528
+ def parse (data)
3529
+ @data = data
3530
+ @ph = JS2::ParserHelper.new(data)
3531
+ self.do_parse(data)
3532
+ return @ph
3533
+ end
3534
+
3535
+ def parse_file (filename)
3536
+ data = File.read(filename)
3537
+ ph = self.parse(data)
3538
+ ph.filename = filename
3539
+ return ph
3540
+ end
3541
+
3542
+ end