[272389] tokenizers stuck in loop when input not matched
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java
index e3d5ff8..2179658 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.2.2 on 2/19/09 5:27 PM */
+/* The following code was generated by JFlex 1.2.2 on 5/6/09 2:12 PM */
/*******************************************************************************
* Copyright (c) 2004, 2009 IBM Corporation and others.
@@ -20,8 +20,8 @@
import java.util.Iterator;
import java.util.List;
-import org.eclipse.jst.jsp.core.internal.contenttype.BooleanStack;
import org.eclipse.jst.jsp.core.internal.Logger;
+import org.eclipse.jst.jsp.core.internal.contenttype.BooleanStack;
import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
import org.eclipse.wst.sse.core.internal.ltk.parser.BlockMarker;
import org.eclipse.wst.sse.core.internal.ltk.parser.BlockTokenizer;
@@ -37,8 +37,8 @@
/**
* This class is a scanner generated by
* <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 2/19/09 5:27 PM from the specification file
- * <tt>file:/D:/dev/workspaces/wtp3isolation/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex</tt>
+ * on 5/6/09 2:12 PM from the specification file
+ * <tt>file:/E:/wtp-3.0/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex</tt>
*/
public class JSPTokenizer implements BlockTokenizer, DOMJSPRegionContexts {
@@ -194,68 +194,68 @@
2130, 2201, 2272, 2343, 2414, 2485, 2556, 2627, 2698, 2769,
2840, 2911, 2982, 3053, 3124, 3195, 3266, 3337, 3408, 3479,
3550, 3621, 3692, 3763, 3834, 3905, 3976, 4047, 4118, 4189,
- 4260, 4331, 4402, 4473, 4544, 4473, 4544, 4615, 4473, 4473,
- 4544, 4686, 4757, 4828, 4899, 4970, 5041, 5112, 5183, 4473,
- 4544, 5254, 5325, 5396, 4473, 5467, 5467, 5538, 5609, 5680,
- 5254, 4473, 5751, 5822, 4473, 5893, 5964, 6035, 6106, 4473,
- 4544, 6177, 6248, 6319, 6390, 6461, 6532, 4473, 6603, 6603,
- 6674, 6745, 6816, 6887, 6958, 4473, 7029, 7100, 7171, 7242,
- 7313, 7384, 4473, 7455, 7526, 7597, 7668, 7739, 7810, 7881,
- 7952, 4473, 8023, 8094, 8165, 8236, 8307, 8378, 8449, 8520,
- 8520, 8591, 8662, 8733, 8804, 8804, 8875, 8946, 9017, 9088,
- 9088, 9159, 9230, 9301, 9372, 4473, 9443, 9443, 9514, 9585,
- 9656, 9727, 4473, 4473, 4544, 4473, 4544, 9798, 9869, 7526,
- 9940, 10011, 10082, 10153, 10224, 10295, 10366, 10437, 4473, 10508,
- 10579, 10650, 10721, 4473, 10792, 10863, 10934, 11005, 4473, 4473,
- 11076, 4473, 11147, 11218, 11147, 11289, 11360, 11289, 4473, 4473,
- 11431, 11502, 4473, 11573, 4473, 11644, 11715, 11786, 11857, 11928,
- 4473, 4473, 11999, 4473, 12070, 12141, 12070, 12212, 12283, 12212,
- 4473, 4473, 12354, 12425, 12496, 4473, 12567, 12638, 12709, 4473,
- 4473, 12780, 12851, 12922, 12993, 13064, 4473, 13135, 13206, 13277,
- 13348, 13419, 13490, 13561, 13632, 4473, 13703, 13774, 13845, 4473,
- 4473, 5467, 5609, 4473, 13916, 5680, 13987, 5751, 5893, 5964,
- 14058, 6035, 4473, 14129, 14200, 6106, 14271, 4473, 12851, 4473,
- 6603, 6674, 4473, 14342, 6745, 14413, 4473, 14484, 14555, 7455,
- 14626, 7668, 4473, 14697, 7739, 14768, 14839, 14910, 14981, 15052,
- 15123, 8236, 4473, 15194, 15265, 8520, 8591, 4473, 15336, 15407,
- 15478, 15549, 15620, 8733, 8520, 8804, 8875, 4473, 8946, 9017,
- 8804, 9088, 9159, 4473, 15691, 15762, 15833, 15904, 15975, 16046,
- 16117, 9443, 9514, 4473, 16188, 16259, 16330, 16401, 16472, 16543,
- 16614, 16685, 9869, 10011, 4473, 16756, 16827, 10082, 16898, 16969,
- 17040, 17111, 4473, 17182, 4473, 4473, 4473, 4473, 17253, 17324,
- 17395, 17466, 11147, 4473, 17537, 17608, 11289, 4473, 17679, 17750,
- 17821, 17892, 17963, 18034, 18105, 18176, 18247, 11857, 12070, 4473,
- 18318, 18389, 12212, 4473, 18460, 18531, 18602, 18673, 18744, 18815,
- 18886, 18957, 19028, 4473, 4473, 4473, 19099, 19170, 19241, 19312,
- 19383, 4473, 19454, 19525, 4473, 4473, 4473, 4473, 4473, 4899,
- 19596, 19667, 19738, 19809, 19880, 19951, 20022, 19951, 20093, 20164,
- 20093, 20235, 20306, 20377, 20448, 20519, 20590, 20661, 20661, 20732,
- 20803, 20803, 20874, 9301, 9301, 9301, 20945, 21016, 21087, 21087,
- 21158, 9656, 9656, 9656, 21229, 21300, 10011, 10082, 21371, 21371,
- 21442, 21442, 17395, 21513, 10934, 10934, 10934, 21584, 21655, 11147,
- 11147, 11147, 21726, 21797, 11289, 11289, 11289, 21868, 21939, 11431,
- 11431, 11431, 17963, 22010, 22081, 11644, 11644, 11644, 18176, 22152,
- 22223, 11857, 11857, 11857, 22294, 12070, 12070, 12070, 22365, 22436,
- 12212, 12212, 12212, 22507, 22578, 12354, 12354, 12354, 18744, 22649,
- 22720, 12567, 12567, 12567, 18957, 22791, 4473, 4473, 22862, 22933,
- 4473, 23004, 23075, 23146, 23217, 7455, 4473, 4473, 23288, 23359,
- 23430, 23501, 23572, 15549, 15904, 9301, 23643, 16401, 9656, 23714,
- 4473, 9869, 10934, 11147, 23785, 11289, 23856, 11431, 23927, 4473,
- 11644, 23998, 11857, 12070, 24069, 12212, 24140, 12354, 24211, 4473,
- 12567, 24282, 24353, 24424, 24495, 24566, 24637, 24708, 24779, 24850,
- 24921, 24992, 25063, 25134, 25205, 25276, 25347, 25418, 25489, 25560,
- 25631, 25702, 25773, 25844, 4899, 25915, 25986, 26057, 26128, 26199,
- 4473, 4473, 26270, 26341, 26412, 26483, 17963, 18176, 26554, 26625,
- 18744, 18957, 26696, 26767, 26838, 26909, 4473, 4473, 4473, 26980,
- 27051, 27122, 27193, 27264, 27335, 27406, 27477, 7171, 27548, 27619,
- 27690, 27761, 27832, 27903, 27974, 4473, 28045, 28116, 9301, 9656,
- 11147, 11289, 12070, 12212, 28187, 28258, 28329, 28400, 28471, 28542,
- 28613, 28684, 4899, 28755, 28826, 28897, 28968, 29039, 29110, 29181,
- 29252, 29323, 29394, 29465, 29536, 29607, 29678, 29749, 29820, 29891,
- 29962, 30033, 30104, 30175, 30246, 30317, 30388, 30459, 30530, 30601,
- 30672, 30743, 30814, 30885, 30956, 31027, 31098, 31169, 31240, 4473,
- 31311, 31382, 31453, 31524, 7171, 31595, 31666, 31737, 31808, 31879,
- 31950, 32021, 32092, 32163, 32234, 32305, 32376, 32447, 32518
+ 4260, 4331, 4402, 4473, 4544, 4473, 4544, 4615, 4473, 4544,
+ 4686, 4757, 4828, 4899, 4970, 5041, 5112, 5183, 4473, 4544,
+ 5254, 5325, 5396, 4473, 5467, 5467, 5538, 5609, 5680, 5254,
+ 4473, 5751, 5822, 4473, 5893, 5964, 6035, 6106, 4473, 4544,
+ 6177, 6248, 6319, 6390, 6461, 6532, 4473, 6603, 6603, 6674,
+ 6745, 6816, 6887, 6958, 4473, 7029, 7100, 7171, 7242, 7313,
+ 7384, 4473, 7455, 7526, 7597, 7668, 7739, 7810, 7881, 7952,
+ 4473, 8023, 8094, 8165, 8236, 8307, 8378, 8449, 8520, 8520,
+ 8591, 8662, 8733, 8804, 8804, 8875, 8946, 9017, 9088, 9088,
+ 9159, 9230, 9301, 9372, 4473, 9443, 9443, 9514, 9585, 9656,
+ 9727, 4473, 4473, 4544, 4473, 4544, 9798, 9869, 7526, 9940,
+ 10011, 10082, 10153, 10224, 10295, 10366, 10437, 4473, 10508, 10579,
+ 10650, 10721, 4473, 10792, 10863, 10934, 11005, 4473, 4473, 11076,
+ 4473, 11147, 11218, 11289, 11360, 4473, 4473, 11431, 11502, 4473,
+ 11573, 4473, 11644, 11715, 11786, 11857, 11928, 4473, 4473, 11999,
+ 4473, 12070, 12141, 12212, 12283, 4473, 4473, 12354, 12425, 12496,
+ 4473, 12567, 12638, 12709, 4473, 4473, 12780, 12851, 12922, 12993,
+ 13064, 4473, 13135, 13206, 13277, 13348, 13419, 13490, 13561, 13632,
+ 4473, 13703, 13774, 13845, 4473, 4473, 5467, 5609, 4473, 13916,
+ 5680, 13987, 5751, 5893, 5964, 14058, 6035, 4473, 14129, 14200,
+ 6106, 14271, 4473, 12851, 4473, 6603, 6674, 4473, 14342, 6745,
+ 14413, 4473, 14484, 14555, 7455, 14626, 7668, 4473, 14697, 7739,
+ 14768, 14839, 14910, 14981, 15052, 15123, 8236, 4473, 15194, 15265,
+ 8520, 8591, 4473, 15336, 15407, 15478, 15549, 15620, 8733, 8520,
+ 8804, 8875, 4473, 8946, 9017, 8804, 9088, 9159, 4473, 15691,
+ 15762, 15833, 15904, 15975, 16046, 16117, 9443, 9514, 4473, 16188,
+ 16259, 16330, 16401, 16472, 16543, 16614, 16685, 9869, 10011, 4473,
+ 16756, 16827, 10082, 16898, 16969, 17040, 17111, 4473, 17182, 4473,
+ 4473, 4473, 4473, 17253, 17324, 17395, 17466, 11147, 4473, 17537,
+ 17608, 11289, 4473, 17679, 17750, 17821, 17892, 17963, 18034, 18105,
+ 18176, 18247, 11857, 12070, 4473, 18318, 18389, 12212, 4473, 18460,
+ 18531, 18602, 18673, 18744, 18815, 18886, 18957, 19028, 4473, 4473,
+ 4473, 19099, 19170, 19241, 19312, 19383, 4473, 19454, 19525, 4473,
+ 4473, 4473, 4473, 4473, 4899, 19596, 19667, 19738, 19809, 19880,
+ 19951, 20022, 19951, 20093, 20164, 20093, 20235, 20306, 20377, 20448,
+ 20519, 20590, 20661, 20661, 20732, 20803, 20803, 20874, 9301, 9301,
+ 9301, 20945, 21016, 21087, 21087, 21158, 9656, 9656, 9656, 21229,
+ 21300, 10011, 10082, 21371, 21371, 21442, 21442, 17395, 21513, 10934,
+ 10934, 10934, 21584, 21655, 11147, 11147, 11147, 21726, 21797, 11289,
+ 11289, 11289, 21868, 21939, 11431, 11431, 11431, 17963, 22010, 22081,
+ 11644, 11644, 11644, 18176, 22152, 22223, 11857, 11857, 11857, 22294,
+ 12070, 12070, 12070, 22365, 22436, 12212, 12212, 12212, 22507, 22578,
+ 12354, 12354, 12354, 18744, 22649, 22720, 12567, 12567, 12567, 18957,
+ 22791, 4473, 4473, 22862, 22933, 4473, 23004, 23075, 23146, 23217,
+ 7455, 4473, 4473, 23288, 23359, 23430, 23501, 23572, 15549, 15904,
+ 9301, 23643, 16401, 9656, 23714, 4473, 9869, 10934, 11147, 23785,
+ 11289, 23856, 11431, 23927, 4473, 11644, 23998, 11857, 12070, 24069,
+ 12212, 24140, 12354, 24211, 4473, 12567, 24282, 24353, 24424, 24495,
+ 24566, 24637, 24708, 24779, 24850, 24921, 24992, 25063, 25134, 25205,
+ 25276, 25347, 25418, 25489, 25560, 25631, 25702, 25773, 25844, 4899,
+ 25915, 25986, 26057, 26128, 26199, 4473, 4473, 26270, 26341, 26412,
+ 26483, 17963, 18176, 26554, 26625, 18744, 18957, 26696, 26767, 26838,
+ 26909, 4473, 4473, 4473, 26980, 27051, 27122, 27193, 27264, 27335,
+ 27406, 27477, 7171, 27548, 27619, 27690, 27761, 27832, 27903, 27974,
+ 4473, 28045, 28116, 9301, 9656, 11147, 11289, 12070, 12212, 28187,
+ 28258, 28329, 28400, 28471, 28542, 28613, 28684, 4899, 28755, 28826,
+ 28897, 28968, 29039, 29110, 29181, 29252, 29323, 29394, 29465, 29536,
+ 29607, 29678, 29749, 29820, 29891, 29962, 30033, 30104, 30175, 30246,
+ 30317, 30388, 30459, 30530, 30601, 30672, 30743, 30814, 30885, 30956,
+ 31027, 31098, 31169, 31240, 4473, 31311, 31382, 31453, 31524, 7171,
+ 31595, 31666, 31737, 31808, 31879, 31950, 32021, 32092, 32163, 32234,
+ 32305, 32376, 32447, 32518
};
/**
@@ -264,548 +264,545 @@
final private static String yy_packed =
"\1\72\1\73\11\72\1\74\1\72\1\75\5\72\1\76"+
"\42\72\1\77\20\72\1\100\1\101\105\100\1\102\1\103"+
- "\22\102\1\104\2\102\1\105\57\102\1\106\1\107\105\106"+
- "\1\102\1\103\5\102\1\110\17\102\1\105\60\102\1\103"+
- "\2\102\1\111\1\112\2\102\2\113\6\102\1\112\6\102"+
- "\1\112\1\114\1\115\4\113\1\102\10\113\1\116\2\113"+
- "\1\102\11\113\1\116\1\113\1\102\4\113\1\102\4\113"+
- "\1\102\4\113\1\102\1\113\1\102\1\103\2\102\1\111"+
- "\1\117\12\102\1\117\6\102\1\117\57\102\1\120\1\121"+
- "\2\120\1\122\22\120\1\105\57\120\1\102\1\103\2\102"+
- "\1\123\1\112\2\102\2\124\6\102\1\112\6\102\1\112"+
- "\6\124\1\102\13\124\1\102\13\124\1\102\4\124\1\102"+
- "\4\124\1\102\4\124\1\102\1\124\1\102\1\103\2\102"+
- "\1\123\1\112\2\102\2\124\6\102\1\112\6\102\1\112"+
- "\6\124\1\102\13\124\1\125\13\124\1\102\4\124\1\102"+
- "\4\124\1\102\4\124\1\102\1\124\1\126\1\103\1\102"+
- "\1\127\1\130\1\112\4\126\1\131\1\126\1\132\3\126"+
- "\1\112\6\126\1\112\57\126\1\102\1\103\2\102\1\133"+
- "\22\102\1\105\60\102\1\103\1\134\1\135\1\102\1\112"+
- "\2\102\2\136\6\102\1\112\6\102\1\112\6\136\1\102"+
- "\13\136\1\102\13\136\1\102\4\136\1\102\4\136\1\102"+
- "\4\136\1\102\1\136\1\102\1\103\1\134\1\135\1\102"+
- "\1\112\2\102\2\136\6\102\1\112\6\102\1\112\6\136"+
- "\1\102\13\136\1\137\13\136\1\102\4\136\1\102\4\136"+
- "\1\102\4\136\1\102\1\136\1\140\1\103\1\134\1\141"+
- "\1\140\1\112\4\140\1\142\1\140\1\143\3\140\1\112"+
- "\6\140\1\112\57\140\1\102\1\103\3\102\1\112\12\102"+
- "\1\112\6\102\1\112\57\102\1\144\1\145\21\144\1\146"+
- "\63\144\1\102\1\147\3\102\1\112\2\102\2\150\6\102"+
- "\1\112\2\102\1\151\3\102\1\112\6\150\1\102\13\150"+
- "\1\102\13\150\1\102\4\150\1\102\4\150\1\102\4\150"+
- "\1\102\1\150\1\102\1\147\3\102\1\152\12\102\1\152"+
- "\2\102\1\151\3\102\1\152\60\102\1\147\3\102\1\112"+
- "\2\102\2\153\6\102\1\112\2\102\1\151\3\102\1\112"+
- "\6\153\1\102\13\153\1\102\13\153\1\102\4\153\1\102"+
- "\4\153\1\102\4\153\1\102\1\153\1\102\1\147\3\102"+
- "\1\112\2\102\2\153\6\102\1\112\2\102\1\151\3\102"+
- "\1\112\6\153\1\102\13\153\1\154\13\153\1\102\4\153"+
- "\1\102\4\153\1\102\4\153\1\102\1\153\1\155\1\147"+
- "\1\102\1\156\1\155\1\112\4\155\1\157\1\155\1\160"+
- "\3\155\1\112\2\155\1\161\3\155\1\112\57\155\1\162"+
- "\1\163\1\164\1\165\4\162\2\166\16\162\6\167\1\162"+
- "\13\167\1\162\13\167\1\162\4\167\1\162\4\167\1\162"+
- "\1\170\3\167\1\162\1\167\1\102\1\171\1\164\1\165"+
- "\1\102\1\112\2\102\2\172\6\102\1\112\6\102\1\112"+
- "\6\172\1\102\13\172\1\102\13\172\1\102\4\172\1\102"+
- "\4\172\1\102\4\172\1\102\1\172\1\102\1\171\1\164"+
- "\1\165\1\102\1\112\2\102\2\172\6\102\1\112\6\102"+
- "\1\112\6\172\1\102\13\172\1\173\13\172\1\102\4\172"+
- "\1\102\4\172\1\102\4\172\1\102\1\172\1\174\1\175"+
- "\1\164\1\176\1\174\1\112\4\174\1\177\1\174\1\200"+
- "\1\201\2\174\1\112\6\174\1\112\36\174\1\202\20\174"+
- "\1\102\1\203\1\204\2\102\1\112\12\102\1\112\6\102"+
- "\1\112\10\102\1\205\1\206\2\102\1\207\11\102\1\207"+
- "\1\102\1\206\1\205\26\102\1\103\1\204\2\102\1\112"+
- "\12\102\1\112\6\102\1\112\6\102\1\210\51\102\1\103"+
- "\1\204\2\102\1\112\2\102\2\211\6\102\1\112\6\102"+
- "\1\112\6\211\1\210\13\211\1\102\13\211\1\102\4\211"+
- "\1\102\4\211\1\102\4\211\1\102\1\211\1\102\1\103"+
- "\1\204\2\102\1\112\12\102\1\112\6\102\1\112\6\102"+
- "\1\210\7\102\1\212\6\102\1\213\11\102\1\212\12\102"+
- "\1\213\4\102\1\214\1\103\1\204\1\215\1\214\1\112"+
- "\4\214\1\216\1\214\1\217\3\214\1\112\6\214\1\112"+
- "\6\214\1\220\50\214\1\221\1\103\1\204\1\222\1\221"+
- "\1\112\4\221\1\223\1\221\1\224\3\221\1\112\6\221"+
- "\1\112\6\221\1\225\50\221\1\226\1\103\1\204\1\227"+
- "\1\226\1\112\4\226\1\230\1\226\1\231\3\226\1\112"+
- "\6\226\1\112\57\226\1\232\1\233\1\234\104\232\1\235"+
- "\1\103\1\204\1\236\1\235\1\112\4\235\1\237\1\235"+
- "\1\240\3\235\1\112\6\235\1\112\57\235\1\241\1\242"+
- "\1\243\104\241\1\244\1\245\105\244\1\102\1\103\25\102"+
- "\1\105\57\102\1\246\1\247\105\246\1\102\1\103\5\102"+
- "\1\250\17\102\1\105\57\102\1\251\1\252\1\164\1\253"+
- "\1\251\1\112\4\251\1\254\1\251\1\255\1\256\2\251"+
- "\1\112\6\251\1\112\36\251\1\257\20\251\1\260\1\261"+
- "\3\260\1\262\6\260\1\263\1\264\2\260\1\262\6\260"+
- "\1\262\36\260\1\265\20\260\1\266\1\261\3\266\1\267"+
- "\4\266\1\270\2\266\1\271\2\266\1\267\6\266\1\267"+
- "\36\266\1\272\20\266\1\273\1\274\10\273\1\275\1\273"+
- "\1\276\1\277\67\273\1\300\1\273\1\301\1\302\12\301"+
- "\1\102\12\301\1\303\57\301\1\304\1\305\10\304\1\102"+
- "\14\304\1\306\57\304\1\102\1\103\12\102\1\307\12\102"+
- "\1\105\60\102\1\103\10\102\1\310\14\102\1\105\57\102"+
- "\1\311\1\312\10\311\1\313\4\311\1\314\65\311\1\315"+
- "\1\311\1\316\1\317\12\316\1\263\2\316\1\320\65\316"+
- "\1\315\1\316\1\321\1\322\10\321\1\323\1\321\1\324"+
- "\51\321\1\325\16\321\1\326\1\321\1\327\1\330\12\327"+
- "\1\102\12\327\1\331\57\327\1\332\1\333\10\332\1\102"+
- "\14\332\1\334\57\332\1\102\1\103\12\102\1\335\12\102"+
- "\1\105\60\102\1\103\10\102\1\336\14\102\1\105\57\102"+
- "\1\337\1\340\10\337\1\313\4\337\1\341\65\337\1\342"+
- "\1\337\1\343\1\344\12\343\1\263\2\343\1\345\65\343"+
- "\1\342\1\343\1\72\1\0\11\72\1\0\1\72\1\0"+
- "\5\72\1\0\42\72\1\0\20\72\3\0\1\346\1\347"+
- "\16\0\1\350\2\0\1\351\65\0\1\352\2\0\2\353"+
- "\6\0\1\352\6\0\1\352\6\353\1\0\13\353\1\0"+
- "\13\353\1\354\4\353\1\0\4\353\1\0\4\353\1\0"+
- "\1\353\1\355\1\0\11\355\1\0\1\355\1\356\1\357"+
- "\4\355\1\0\63\355\5\0\1\352\2\0\2\360\6\0"+
- "\1\352\6\0\1\352\6\360\1\0\13\360\1\0\13\360"+
- "\1\0\4\360\1\0\4\360\1\0\4\360\1\0\1\360"+
- "\1\355\1\0\11\355\1\0\2\355\1\361\4\355\1\0"+
- "\42\355\1\362\20\355\132\0\1\350\2\0\1\363\104\0"+
- "\1\364\71\0\1\365\101\0\1\366\111\0\1\112\12\0"+
- "\1\112\6\0\1\112\65\0\4\113\7\0\1\113\6\0"+
- "\6\113\1\0\13\113\1\0\13\113\1\0\4\113\1\0"+
- "\11\113\1\0\1\113\6\0\4\113\7\0\1\113\6\0"+
- "\2\113\2\367\2\113\1\0\13\113\1\0\13\113\1\0"+
- "\4\113\1\0\11\113\1\0\1\113\6\0\4\113\7\0"+
- "\1\113\6\0\2\113\1\367\1\370\2\113\1\0\13\113"+
- "\1\0\13\113\1\0\4\113\1\0\11\113\1\0\1\113"+
- "\6\0\4\113\7\0\1\113\6\0\2\113\2\371\2\113"+
- "\1\0\13\113\1\0\13\113\1\0\4\113\1\0\11\113"+
- "\1\0\1\113\5\0\1\117\12\0\1\117\6\0\1\117"+
- "\61\0\1\372\106\0\1\373\112\0\4\124\7\0\1\124"+
- "\6\0\6\124\1\0\13\124\1\0\13\124\1\0\4\124"+
- "\1\0\11\124\1\0\1\124\1\126\2\0\1\374\1\126"+
- "\1\0\4\126\1\0\1\126\1\0\3\126\1\0\6\126"+
- "\1\0\60\126\1\0\1\373\1\374\1\126\1\0\4\126"+
- "\1\0\1\126\1\0\3\126\1\0\6\126\1\0\57\126"+
- "\1\375\1\0\10\375\1\376\2\375\1\377\50\375\1\377"+
- "\20\375\1\u0100\1\0\12\u0100\1\376\1\u0101\50\u0100\1\u0101"+
- "\20\u0100\2\0\1\134\1\u0102\111\0\4\136\7\0\1\136"+
- "\6\0\6\136\1\0\13\136\1\0\13\136\1\0\4\136"+
- "\1\0\11\136\1\0\1\136\1\140\2\0\1\u0103\1\140"+
- "\1\0\4\140\1\0\1\140\1\0\3\140\1\0\6\140"+
- "\1\0\60\140\1\0\1\134\1\u0104\1\140\1\0\4\140"+
- "\1\0\1\140\1\0\3\140\1\0\6\140\1\0\57\140"+
- "\1\142\1\0\1\u0105\1\u0106\1\142\1\u0105\4\142\1\u0107"+
- "\1\142\1\u0105\1\u0108\2\142\1\u0105\6\142\1\u0105\36\142"+
- "\1\u0108\20\142\1\143\1\0\1\u0109\1\u010a\1\143\1\u0109"+
- "\4\143\1\u0109\1\143\1\u0107\1\u010b\2\143\1\u0109\6\143"+
- "\1\u0109\36\143\1\u010b\20\143\2\0\1\u010c\127\0\1\350"+
- "\2\0\1\u010d\66\0\4\150\7\0\1\150\6\0\6\150"+
- "\1\0\13\150\1\0\13\150\1\0\4\150\1\0\11\150"+
- "\1\0\1\150\2\0\1\u010e\111\0\1\152\12\0\1\152"+
- "\6\0\1\152\65\0\4\153\7\0\1\153\6\0\6\153"+
- "\1\0\13\153\1\0\13\153\1\0\4\153\1\0\11\153"+
- "\1\0\1\153\1\155\2\0\1\u010f\1\155\1\0\4\155"+
- "\1\0\1\155\1\0\3\155\1\0\6\155\1\0\57\155"+
- "\1\u0110\1\0\10\u0110\1\u0111\2\u0110\1\u0112\50\u0110\1\u0112"+
- "\20\u0110\1\u0113\1\0\12\u0113\1\u0111\1\u0114\50\u0113\1\u0114"+
- "\20\u0113\1\155\1\0\1\u010e\1\u010f\1\155\1\0\4\155"+
- "\1\0\1\155\1\0\3\155\1\0\6\155\1\0\57\155"+
- "\1\162\3\0\24\162\6\0\1\162\13\0\1\162\13\0"+
- "\1\162\4\0\1\162\4\0\1\162\4\0\1\162\4\0"+
- "\1\346\17\0\1\350\2\0\1\351\62\0\1\u0115\104\0"+
- "\1\162\3\0\2\162\4\166\7\162\1\166\6\162\6\167"+
- "\1\162\13\167\1\162\13\167\1\162\4\167\1\162\4\167"+
- "\1\166\4\167\1\162\1\167\6\0\4\167\7\0\1\167"+
- "\6\0\6\167\1\0\13\167\1\0\13\167\1\0\4\167"+
- "\1\0\11\167\1\0\1\167\6\0\4\167\7\0\1\167"+
- "\6\0\6\167\1\0\7\167\1\u0116\3\167\1\0\13\167"+
- "\1\0\4\167\1\0\11\167\1\0\1\167\3\0\1\346"+
- "\4\0\2\u0117\11\0\1\350\2\0\1\351\1\0\6\u0117"+
- "\1\0\13\u0117\1\0\13\u0117\1\0\4\u0117\1\0\4\u0117"+
- "\1\0\4\u0117\1\0\1\u0117\6\0\4\172\7\0\1\172"+
- "\6\0\6\172\1\0\13\172\1\0\13\172\1\0\4\172"+
- "\1\0\11\172\1\0\1\172\1\174\2\0\1\u0118\1\174"+
- "\1\0\4\174\1\0\1\174\1\0\3\174\1\0\6\174"+
- "\1\0\57\174\3\0\1\346\4\0\2\u0119\11\0\1\350"+
- "\2\0\1\351\1\0\6\u0119\1\0\13\u0119\1\0\13\u0119"+
- "\1\0\4\u0119\1\0\4\u0119\1\0\4\u0119\1\0\1\u0119"+
- "\1\174\1\0\1\u0115\1\u0118\1\174\1\0\4\174\1\0"+
- "\1\174\1\0\3\174\1\0\6\174\1\0\57\174\1\u011a"+
- "\1\0\10\u011a\1\u011b\2\u011a\1\u011c\50\u011a\1\u011c\20\u011a"+
- "\1\u011d\1\0\12\u011d\1\u011b\1\u011e\50\u011d\1\u011e\20\u011d"+
- "\1\174\2\0\1\u0118\1\174\1\0\4\174\1\0\1\174"+
- "\1\0\1\174\1\u011f\1\174\1\0\6\174\1\0\60\174"+
- "\2\0\1\u0118\1\174\1\0\4\174\1\0\1\174\1\0"+
- "\1\174\1\u0120\1\174\1\0\6\174\1\0\57\174\3\0"+
- "\1\346\17\0\1\350\2\0\1\u010d\130\0\1\u0121\2\0"+
- "\1\u0121\75\0\1\u0122\14\0\1\u0122\63\0\2\u0123\51\0"+
- "\24\u0124\1\u0125\62\u0124\6\0\4\211\7\0\1\211\6\0"+
- "\6\211\1\0\13\211\1\0\13\211\1\0\4\211\1\0"+
- "\11\211\1\0\1\211\54\0\1\u0126\5\0\1\u0126\116\0"+
- "\1\u0127\10\0\1\u0127\3\0\1\214\2\0\1\u0128\1\214"+
- "\1\0\4\214\1\0\1\214\1\0\3\214\1\0\6\214"+
- "\1\0\57\214\1\u0129\1\0\10\u0129\1\u012a\2\u0129\1\u012b"+
- "\50\u0129\1\u012b\20\u0129\1\u012c\1\0\1\u012c\2\u012d\1\u012c"+
- "\4\u012d\2\u012c\1\u012e\1\u012f\2\u012c\4\u012d\1\u012c\11\u012d"+
- "\1\u012c\27\u012d\1\u012f\10\u012d\2\u012c\4\u012d\1\u012c\1\u012d"+
- "\1\220\2\u0124\1\u0130\1\220\1\u0124\4\220\1\u0124\1\220"+
- "\1\u0124\3\220\1\u0124\3\220\1\u0131\2\220\1\u0124\57\220"+
- "\1\221\2\0\1\u0132\1\221\1\0\4\221\1\0\1\221"+
- "\1\0\3\221\1\0\6\221\1\0\57\221\12\u0133\1\u0134"+
- "\74\u0133\14\u0135\1\u0134\72\u0135\1\225\2\u0124\1\u0136\1\225"+
- "\1\u0124\4\225\1\u0124\1\225\1\u0124\3\225\1\u0124\3\225"+
- "\1\u0137\2\225\1\u0124\57\225\1\226\2\0\1\u0138\1\226"+
- "\1\0\4\226\1\0\1\226\1\0\3\226\1\0\6\226"+
- "\1\0\57\226\1\u0139\1\0\10\u0139\1\u013a\2\u0139\1\u013b"+
- "\50\u0139\1\u013b\20\u0139\1\u013c\1\0\1\u013c\2\u013d\1\u013c"+
- "\4\u013d\2\u013c\1\u013e\1\u013f\2\u013c\4\u013d\1\u013c\11\u013d"+
- "\1\u013c\27\u013d\1\u013f\10\u013d\2\u013c\4\u013d\1\u013c\1\u013d"+
- "\2\232\1\0\106\232\1\0\20\232\1\u0140\2\232\1\u0141"+
- "\60\232\1\235\2\0\1\u0142\1\235\1\0\4\235\1\0"+
- "\1\235\1\0\3\235\1\0\6\235\1\0\57\235\1\u0143"+
- "\1\0\10\u0143\1\u0144\2\u0143\1\u0145\50\u0143\1\u0145\20\u0143"+
- "\1\u0146\1\0\1\u0146\2\u0147\1\u0146\4\u0147\2\u0146\1\u0148"+
- "\1\u0149\2\u0146\4\u0147\1\u0146\11\u0147\1\u0146\27\u0147\1\u0149"+
- "\10\u0147\2\u0146\4\u0147\1\u0146\1\u0147\2\241\1\0\106\241"+
- "\1\0\20\241\1\u014a\2\241\1\u014b\60\241\7\0\1\u014c"+
- "\77\0\1\251\2\0\1\u014d\1\251\1\0\4\251\1\0"+
- "\1\251\1\0\3\251\1\0\6\251\1\0\60\251\1\0"+
- "\1\u0115\1\u014d\1\251\1\0\4\251\1\0\1\251\1\0"+
- "\3\251\1\0\6\251\1\0\57\251\1\u014e\1\0\10\u014e"+
- "\1\u014f\2\u014e\1\u0150\1\u014e\1\u0151\46\u014e\1\u0150\20\u014e"+
- "\1\u0152\1\0\12\u0152\1\u014f\1\u0153\1\u0152\1\u0154\46\u0152"+
- "\1\u0153\20\u0152\1\251\2\0\1\u014d\1\251\1\0\4\251"+
- "\1\0\1\251\1\0\1\251\1\u0155\1\251\1\0\6\251"+
- "\1\0\60\251\2\0\1\u014d\1\251\1\0\4\251\1\0"+
- "\1\251\1\0\1\251\1\u0156\1\251\1\0\6\251\1\0"+
- "\57\251\1\260\1\0\12\260\2\0\50\260\1\0\20\260"+
- "\3\0\1\u0157\17\0\1\350\2\0\1\363\60\0\1\260"+
- "\1\0\3\260\1\262\6\260\2\0\2\260\1\262\6\260"+
- "\1\262\36\260\1\0\20\260\5\0\1\u0158\10\0\1\u0159"+
- "\1\0\1\u0158\6\0\1\u0158\64\0\1\u0158\10\0\1\u015a"+
- "\1\0\1\u0158\6\0\1\u0158\57\0\1\266\1\0\10\266"+
- "\1\0\2\266\1\0\50\266\1\0\21\266\1\0\3\266"+
- "\1\267\4\266\1\0\2\266\1\0\2\266\1\267\6\266"+
- "\1\267\36\266\1\0\20\266\5\0\1\u0158\10\0\1\u015b"+
- "\1\0\1\u0158\6\0\1\u0158\64\0\1\u0158\10\0\1\u015c"+
- "\1\0\1\u0158\6\0\1\u0158\57\0\12\273\1\0\1\273"+
- "\1\0\1\u015d\67\273\1\0\13\273\1\0\1\273\1\0"+
- "\1\u015d\5\273\1\u015e\61\273\1\0\13\273\1\0\1\273"+
- "\1\0\1\273\1\u015f\66\273\1\u0160\1\273\14\u0161\1\u0162"+
- "\106\u0161\1\u0162\6\u0161\1\u0163\2\u0161\1\u0164\60\u0161\12\u0165"+
- "\1\u0166\106\u0165\1\u0166\10\u0165\1\u0167\2\u0165\1\u0168\60\u0165"+
- "\12\311\1\0\4\311\1\u0169\65\311\1\0\13\311\1\0"+
- "\4\311\1\u0169\3\311\1\u016a\61\311\1\0\13\311\1\u016b"+
- "\74\311\14\316\1\0\2\316\1\u016c\65\316\1\0\15\316"+
- "\1\0\2\316\1\u016c\3\316\1\u016d\61\316\1\0\15\316"+
- "\1\u016e\72\316\12\321\1\0\1\321\1\0\70\321\1\0"+
- "\13\321\1\0\1\321\1\0\6\321\1\u016f\61\321\1\0"+
- "\13\321\1\0\1\321\1\0\1\321\1\u0170\66\321\1\0"+
- "\1\321\14\u0171\1\u0172\106\u0171\1\u0172\6\u0171\1\u0173\2\u0171"+
- "\1\u0174\60\u0171\12\u0175\1\u0176\106\u0175\1\u0176\10\u0175\1\u0177"+
- "\2\u0175\1\u0178\60\u0175\12\337\1\0\4\337\1\u0179\65\337"+
- "\1\0\13\337\1\0\4\337\1\u0179\3\337\1\u017a\61\337"+
- "\1\0\13\337\1\u017b\74\337\14\343\1\0\2\343\1\u017c"+
- "\65\343\1\0\15\343\1\0\2\343\1\u017c\3\343\1\u017d"+
- "\61\343\1\0\15\343\1\u017e\72\343\7\0\1\u017f\12\0"+
- "\1\u0180\3\0\1\u0181\23\0\1\u0182\43\0\1\u0183\26\0"+
- "\1\u0184\55\0\1\352\2\0\2\u0185\6\0\1\352\6\0"+
- "\1\352\6\u0185\1\0\13\u0185\1\0\13\u0185\1\0\4\u0185"+
- "\1\0\4\u0185\1\0\4\u0185\1\0\1\u0185\1\u0186\1\0"+
- "\3\u0186\1\u0187\4\353\1\u0186\1\0\4\u0186\1\u0187\1\353"+
- "\1\u0186\1\0\3\u0186\1\u0187\6\353\1\u0186\13\353\1\u0186"+
- "\13\353\1\u0186\4\353\1\u0188\11\353\1\u0186\1\353\21\0"+
- "\1\u0189\7\0\1\u018a\72\0\1\356\71\0\105\357\1\u018b"+
- "\1\357\1\u0186\1\0\3\u0186\1\u0187\4\360\1\u0186\1\0"+
- "\4\u0186\1\u0187\1\360\1\u0186\1\0\3\u0186\1\u0187\6\360"+
- "\1\u0186\13\360\1\u0186\13\360\1\u0186\4\360\1\u018c\11\360"+
- "\1\u0186\1\360\105\361\1\u018d\1\361\66\0\1\362\56\0"+
- "\1\u0184\52\0\1\u018e\106\0\1\u018f\112\0\4\113\7\0"+
- "\1\113\6\0\4\113\2\u0190\1\0\13\113\1\0\13\113"+
- "\1\0\4\113\1\0\11\113\1\0\1\113\6\0\4\113"+
- "\7\0\1\113\6\0\4\113\1\u0190\1\u0191\1\0\13\113"+
- "\1\0\13\113\1\0\4\113\1\0\11\113\1\0\1\113"+
- "\6\0\4\113\7\0\1\113\6\0\6\113\1\0\13\113"+
- "\1\0\2\113\1\u0192\10\113\1\0\4\113\1\0\6\113"+
- "\1\u0192\2\113\1\0\1\113\12\375\1\376\3\375\1\0"+
- "\70\375\14\u0100\1\376\1\u0100\1\0\70\u0100\1\u0105\1\0"+
- "\10\u0105\1\u0107\2\u0105\1\u0193\50\u0105\1\u0193\20\u0105\1\142"+
- "\2\u0105\1\u0106\1\142\1\u0105\4\142\1\u0107\1\142\1\u0105"+
- "\1\142\1\140\1\142\1\u0105\6\142\1\u0105\57\142\1\u0109"+
- "\1\0\12\u0109\1\u0107\1\u0194\50\u0109\1\u0194\20\u0109\1\143"+
- "\2\u0109\1\u010a\1\143\1\u0109\4\143\1\u0109\1\143\1\u0107"+
- "\1\143\1\140\1\143\1\u0109\6\143\1\u0109\57\143\12\u0110"+
- "\1\u0111\3\u0110\1\0\70\u0110\14\u0113\1\u0111\1\u0113\1\0"+
- "\70\u0113\6\0\4\167\7\0\1\167\6\0\6\167\1\0"+
- "\13\167\1\0\13\167\1\0\4\167\1\0\6\167\1\u0195"+
- "\2\167\1\0\1\167\6\0\4\u0117\7\0\1\u0117\6\0"+
- "\6\u0117\1\0\13\u0117\1\0\13\u0117\1\0\4\u0117\1\0"+
- "\11\u0117\1\0\1\u0117\6\0\4\u0119\7\0\1\u0119\6\0"+
- "\6\u0119\1\0\13\u0119\1\0\13\u0119\1\0\4\u0119\1\0"+
- "\11\u0119\1\0\1\u0119\12\u011a\1\u011b\3\u011a\1\0\70\u011a"+
- "\14\u011d\1\u011b\1\u011d\1\0\70\u011d\1\u0196\2\u0197\1\u0198"+
- "\1\u0196\1\u0197\4\u0196\1\u0197\1\u0196\1\u0197\3\u0196\1\u0197"+
- "\6\u0196\1\u0197\55\u0196\1\174\1\u0196\1\u0199\2\u019a\1\u019b"+
- "\1\u0199\1\u019a\4\u0199\1\u019a\1\u0199\1\u019a\3\u0199\1\u019a"+
- "\6\u0199\1\u019a\55\u0199\1\174\1\u0199\37\0\1\u019c\35\0"+
- "\1\u019c\53\0\1\u019d\14\0\1\u019d\73\0\1\u019e\11\0"+
- "\1\u019e\76\0\1\u019f\20\0\1\u019f\113\0\1\u01a0\7\0"+
- "\1\u01a0\2\0\12\u0129\1\u012a\3\u0129\1\0\70\u0129\1\u012c"+
- "\1\0\12\u012c\1\u012a\1\u01a1\50\u012c\1\u01a1\21\u012c\1\0"+
- "\12\u012c\1\u01a2\1\u01a1\50\u012c\1\u01a1\20\u012c\14\0\1\u01a3"+
- "\72\0\14\u012c\1\u01a2\1\u012c\1\0\70\u012c\12\u0139\1\u013a"+
- "\3\u0139\1\0\70\u0139\1\u013c\1\0\12\u013c\1\u013a\1\u01a4"+
- "\50\u013c\1\u01a4\21\u013c\1\0\12\u013c\1\u01a5\1\u01a4\50\u013c"+
- "\1\u01a4\20\u013c\14\0\1\u01a6\72\0\14\u013c\1\u01a5\1\u013c"+
- "\1\0\70\u013c\2\232\1\0\4\232\1\u01a7\12\232\1\u01a8"+
- "\3\232\1\u01a9\23\232\1\u01aa\36\232\1\0\33\232\1\u01ab"+
- "\50\232\12\u0143\1\u0144\3\u0143\1\0\70\u0143\1\u0146\1\0"+
- "\12\u0146\1\u0144\1\u01ac\50\u0146\1\u01ac\21\u0146\1\0\12\u0146"+
- "\1\u01ad\1\u01ac\50\u0146\1\u01ac\20\u0146\14\0\1\u01ae\72\0"+
- "\14\u0146\1\u01ad\1\u0146\1\0\70\u0146\2\241\1\0\4\241"+
- "\1\u01af\12\241\1\u01b0\3\241\1\u01b1\23\241\1\u01b2\36\241"+
- "\1\0\33\241\1\u01b3\50\241\23\0\1\u01b4\63\0\12\u014e"+
- "\1\u014f\3\u014e\1\0\71\u014e\1\0\10\u014e\1\u01b5\2\u014e"+
- "\1\u0150\1\u014e\1\u0151\46\u014e\1\u0150\20\u014e\14\u0152\1\u014f"+
- "\1\u0152\1\0\71\u0152\1\0\12\u0152\1\u01b6\1\u0153\1\u0152"+
- "\1\u0154\46\u0152\1\u0153\20\u0152\1\u01b7\2\u0197\1\u01b8\1\u01b7"+
- "\1\u0197\4\u01b7\1\u0197\1\u01b7\1\u0197\3\u01b7\1\u0197\6\u01b7"+
- "\1\u0197\55\u01b7\1\251\1\u01b7\1\u01b9\2\u019a\1\u01ba\1\u01b9"+
- "\1\u019a\4\u01b9\1\u019a\1\u01b9\1\u019a\3\u01b9\1\u019a\6\u01b9"+
- "\1\u019a\55\u01b9\1\251\1\u01b9\5\0\1\u0158\12\0\1\u0158"+
- "\6\0\1\u0158\57\0\12\273\1\0\1\273\1\0\1\273"+
- "\1\u01bb\66\273\1\u0160\10\273\1\u01bc\2\273\1\0\1\273"+
- "\1\0\1\u015d\4\273\1\u01bd\3\273\1\u01be\23\273\1\u01bf"+
- "\32\273\1\0\1\273\12\u01bb\1\0\1\u01bb\1\0\70\u01bb"+
- "\1\0\1\u01bb\12\u0160\1\0\1\u0160\1\0\1\u01c0\67\u0160"+
- "\1\0\1\u0160\7\u0161\1\u01c1\4\u0161\1\u0162\5\u0161\1\u01c2"+
- "\3\u0161\1\u01c3\23\u0161\1\u01c4\50\u0161\1\u0162\21\u0161\1\u01c5"+
- "\50\u0161\7\u0165\1\u01c6\2\u0165\1\u0166\7\u0165\1\u01c7\3\u0165"+
- "\1\u01c8\23\u0165\1\u01c9\46\u0165\1\u0166\23\u0165\1\u01ca\50\u0165"+
- "\12\311\1\0\103\311\1\u01cb\2\311\1\0\4\311\1\u0169"+
- "\2\311\1\u01cc\3\311\1\u01cd\23\311\1\u01ce\32\311\1\0"+
- "\1\311\17\u01cf\1\u01d0\67\u01cf\14\316\1\0\101\316\1\u01d1"+
- "\4\316\1\0\2\316\1\u016c\2\316\1\u01d2\3\316\1\u01d3"+
- "\23\316\1\u01d4\32\316\1\0\1\316\17\u01d5\1\u01d6\67\u01d5"+
- "\7\321\1\u01d7\2\321\1\0\1\321\1\0\5\321\1\u01d8"+
- "\3\321\1\u01d9\23\321\1\u01da\32\321\1\0\1\321\7\u0171"+
- "\1\u01db\4\u0171\1\u0172\5\u0171\1\u01dc\3\u0171\1\u01dd\23\u0171"+
- "\1\u01de\50\u0171\1\u0172\21\u0171\1\u01df\50\u0171\7\u0175\1\u01e0"+
- "\2\u0175\1\u0176\7\u0175\1\u01e1\3\u0175\1\u01e2\23\u0175\1\u01e3"+
- "\46\u0175\1\u0176\23\u0175\1\u01e4\50\u0175\12\337\1\0\103\337"+
- "\1\u01e5\2\337\1\0\4\337\1\u0179\2\337\1\u01e6\3\337"+
- "\1\u01e7\23\337\1\u01e8\32\337\1\0\1\337\17\u01e9\1\u01ea"+
- "\67\u01e9\14\343\1\0\101\343\1\u01eb\4\343\1\0\2\343"+
- "\1\u017c\2\343\1\u01ec\3\343\1\u01ed\23\343\1\u01ee\32\343"+
- "\1\0\1\343\17\u01ef\1\u01f0\67\u01ef\7\0\1\u01f1\106\0"+
- "\1\u01f2\136\0\1\u01f3\47\0\1\u0185\1\0\11\u0185\1\0"+
- "\7\u0185\1\0\63\u0185\1\u0186\1\0\11\u0186\1\0\7\u0186"+
- "\1\0\47\u0186\1\0\14\u0186\1\0\3\u0186\1\u0187\5\u0186"+
- "\1\0\4\u0186\1\u0187\2\u0186\1\0\3\u0186\1\u0187\43\u0186"+
- "\1\u01f4\13\u0186\21\0\1\u0189\51\0\1\u01f5\34\0\1\u01f6"+
- "\15\0\3\u01f6\2\0\1\u01f6\11\0\1\u01f6\1\0\2\u01f6"+
- "\7\0\1\u01f6\2\0\2\u01f6\6\0\1\u01f6\10\0\1\113"+
- "\1\u01f7\2\113\7\0\1\113\6\0\6\113\1\0\13\113"+
- "\1\0\13\113\1\0\4\113\1\0\11\113\1\0\1\113"+
- "\6\0\4\113\7\0\1\113\6\0\6\113\1\0\11\113"+
- "\1\u01f8\1\113\1\0\1\u01f8\12\113\1\0\4\113\1\0"+
- "\11\113\1\0\1\113\12\u0105\1\u0107\3\u0105\1\0\70\u0105"+
- "\14\u0109\1\u0107\1\u0109\1\0\70\u0109\6\0\3\167\1\u01f9"+
- "\7\0\1\167\6\0\6\167\1\0\13\167\1\0\13\167"+
- "\1\0\4\167\1\0\11\167\1\0\1\167\1\u0196\2\u0197"+
- "\1\u0198\1\u0196\1\u0197\4\u0196\1\u0197\1\u0196\1\u0197\3\u0196"+
- "\1\u0197\6\u0196\1\u0197\55\u0196\1\u01fa\1\u0196\105\u0197\1\u01fb"+
- "\1\u0197\1\u0199\2\u019a\1\u019b\1\u0199\1\u019a\4\u0199\1\u019a"+
- "\1\u0199\1\u019a\3\u0199\1\u019a\6\u0199\1\u019a\55\u0199\1\u01fa"+
- "\1\u0199\105\u019a\1\u01fc\1\u019a\42\0\1\u01fd\14\0\1\u01fd"+
- "\63\0\2\u01fe\103\0\2\u01ff\115\0\1\u0200\14\0\1\u0200"+
- "\63\0\2\u0201\51\0\14\u012c\1\u012a\1\u012c\1\0\70\u012c"+
- "\3\0\2\u0202\1\0\4\u0202\2\0\1\u012e\1\u0202\2\0"+
- "\4\u0202\1\0\11\u0202\1\0\40\u0202\2\0\4\u0202\1\0"+
- "\1\u0202\14\u013c\1\u013a\1\u013c\1\0\70\u013c\3\0\2\u0203"+
- "\1\0\4\u0203\2\0\1\u013e\1\u0203\2\0\4\u0203\1\0"+
- "\11\u0203\1\0\40\u0203\2\0\4\u0203\1\0\1\u0203\2\232"+
- "\1\0\4\232\1\u0204\101\232\1\0\34\232\1\u0205\47\232"+
- "\14\u0146\1\u0144\1\u0146\1\0\70\u0146\3\0\2\u0206\1\0"+
- "\4\u0206\2\0\1\u0148\1\u0206\2\0\4\u0206\1\0\11\u0206"+
- "\1\0\40\u0206\2\0\4\u0206\1\0\1\u0206\2\241\1\0"+
- "\4\241\1\u0207\101\241\1\0\34\241\1\u0208\47\241\2\0"+
- "\1\u0209\104\0\1\u01b7\2\u0197\1\u01b8\1\u01b7\1\u0197\4\u01b7"+
- "\1\u0197\1\u01b7\1\u0197\3\u01b7\1\u0197\6\u01b7\1\u0197\55\u01b7"+
- "\1\u020a\1\u01b7\1\u01b9\2\u019a\1\u01ba\1\u01b9\1\u019a\4\u01b9"+
- "\1\u019a\1\u01b9\1\u019a\3\u01b9\1\u019a\6\u01b9\1\u019a\55\u01b9"+
- "\1\u020a\1\u01b9\7\273\1\u020b\2\273\1\0\1\273\1\0"+
- "\1\u015d\67\273\1\0\1\273\12\u0160\1\0\1\u0160\1\0"+
- "\1\u0160\1\0\70\u0160\7\u0161\1\u020c\4\u0161\1\u0162\106\u0161"+
- "\1\u0162\22\u0161\1\u020d\47\u0161\7\u0165\1\u020e\2\u0165\1\u0166"+
- "\106\u0165\1\u0166\24\u0165\1\u020f\47\u0165\7\311\1\u0210\2\311"+
- "\1\0\4\311\1\u0169\65\311\1\0\1\311\12\u0211\1\u0212"+
- "\72\u0211\1\0\1\u0211\7\316\1\u0213\4\316\1\0\2\316"+
- "\1\u016c\65\316\1\0\1\316\14\u0214\1\u0212\70\u0214\1\0"+
- "\1\u0214\7\321\1\u0215\2\321\1\0\1\321\1\0\70\321"+
- "\1\0\1\321\7\u0171\1\u0216\4\u0171\1\u0172\106\u0171\1\u0172"+
- "\22\u0171\1\u0217\47\u0171\7\u0175\1\u0218\2\u0175\1\u0176\106\u0175"+
- "\1\u0176\24\u0175\1\u0219\47\u0175\7\337\1\u021a\2\337\1\0"+
- "\4\337\1\u0179\65\337\1\0\1\337\12\u021b\1\u021c\72\u021b"+
- "\1\0\1\u021b\7\343\1\u021d\4\343\1\0\2\343\1\u017c"+
- "\65\343\1\0\1\343\14\u021e\1\u021c\70\u021e\1\0\1\u021e"+
- "\40\0\1\u021f\141\0\1\u01f4\34\0\1\u01f6\15\0\3\u01f6"+
- "\2\0\1\u01f6\11\0\1\u01f6\1\0\2\u01f6\7\0\1\u01f6"+
- "\1\0\1\u01f5\2\u01f6\6\0\1\u01f6\10\0\4\113\7\0"+
- "\1\113\6\0\6\113\1\0\7\113\1\u0220\3\113\1\0"+
- "\13\113\1\0\4\113\1\0\11\113\1\0\1\113\6\0"+
- "\4\113\7\0\1\113\6\0\6\113\1\0\6\113\1\u0221"+
- "\4\113\1\0\13\113\1\0\1\113\1\u0221\2\113\1\0"+
- "\11\113\1\0\1\113\6\0\4\167\7\0\1\167\6\0"+
- "\6\167\1\0\6\167\1\u0222\4\167\1\0\6\167\1\u0223"+
- "\4\167\1\0\4\167\1\0\11\167\1\0\1\167\54\0"+
- "\1\u0224\5\0\1\u0224\73\0\1\u0225\14\0\1\u0225\66\0"+
- "\1\u0226\11\0\1\u0226\74\0\1\u0227\11\0\1\u0227\77\0"+
- "\1\u0228\14\0\1\u0228\22\0\2\232\1\0\35\232\1\u0229"+
- "\46\232\2\241\1\0\35\241\1\u022a\46\241\14\u0161\1\u0162"+
- "\23\u0161\1\u022b\46\u0161\12\u0165\1\u0166\25\u0165\1\u022c\46\u0165"+
- "\12\u0211\1\u01cf\4\u0211\1\u022d\65\u0211\1\u01cf\1\u0211\14\u0214"+
- "\1\u01d5\2\u0214\1\u022e\65\u0214\1\u01d5\1\u0214\14\u0171\1\u0172"+
- "\23\u0171\1\u022f\46\u0171\12\u0175\1\u0176\25\u0175\1\u0230\46\u0175"+
- "\12\u021b\1\u01e9\4\u021b\1\u0231\65\u021b\1\u01e9\1\u021b\14\u021e"+
- "\1\u01ef\2\u021e\1\u0232\65\u021e\1\u01ef\1\u021e\41\0\1\u0233"+
- "\53\0\4\113\7\0\1\113\6\0\6\113\1\0\13\113"+
- "\1\0\4\113\1\u0234\6\113\1\0\4\113\1\0\11\113"+
- "\1\0\1\113\6\0\4\113\7\0\1\113\6\0\6\113"+
- "\1\0\3\113\1\u0235\7\113\1\0\4\113\1\u0235\6\113"+
- "\1\0\4\113\1\0\11\113\1\0\1\113\6\0\4\167"+
- "\7\0\1\167\6\0\6\167\1\0\11\167\1\u0236\1\167"+
- "\1\0\13\167\1\0\4\167\1\0\11\167\1\0\1\167"+
- "\6\0\4\167\7\0\1\167\6\0\6\167\1\0\10\167"+
- "\1\u0237\2\167\1\0\13\167\1\0\4\167\1\0\11\167"+
- "\1\0\1\167\55\0\1\u0238\24\0\1\u0238\52\0\1\u0239"+
- "\20\0\1\u0239\70\0\1\u023a\13\0\1\u023a\53\0\2\u023b"+
- "\112\0\1\u023c\35\0\1\u023c\11\0\2\232\1\0\36\232"+
- "\1\u023d\45\232\2\241\1\0\36\241\1\u023e\45\241\14\u0161"+
- "\1\u0162\24\u0161\1\u023f\45\u0161\12\u0165\1\u0166\26\u0165\1\u0240"+
- "\45\u0165\12\u0211\1\u0241\4\u0211\1\u022d\65\u0211\1\u01cf\1\u0211"+
- "\14\u0214\1\u0242\2\u0214\1\u022e\65\u0214\1\u01d5\1\u0214\14\u0171"+
- "\1\u0172\24\u0171\1\u0243\45\u0171\12\u0175\1\u0176\26\u0175\1\u0244"+
- "\45\u0175\12\u021b\1\u0245\4\u021b\1\u0231\65\u021b\1\u01e9\1\u021b"+
- "\14\u021e\1\u0246\2\u021e\1\u0232\65\u021e\1\u01ef\1\u021e\42\0"+
- "\1\u0247\52\0\4\113\7\0\1\113\6\0\6\113\1\0"+
- "\13\113\1\0\7\113\1\u0248\3\113\1\0\4\113\1\0"+
- "\11\113\1\0\1\113\6\0\4\167\7\0\1\167\6\0"+
- "\6\167\1\0\11\167\1\u0249\1\167\1\0\13\167\1\0"+
- "\4\167\1\0\11\167\1\0\1\167\6\0\4\167\7\0"+
- "\1\167\6\0\6\167\1\0\6\167\1\u024a\4\167\1\0"+
- "\13\167\1\0\4\167\1\0\11\167\1\0\1\167\44\0"+
- "\1\u024b\11\0\1\u024b\72\0\1\u024c\14\0\1\u024c\71\0"+
- "\1\u024d\14\0\1\u024d\27\0\2\232\1\0\37\232\1\u024e"+
- "\44\232\2\241\1\0\37\241\1\u024f\44\241\14\u0161\1\u0162"+
- "\25\u0161\1\u0250\44\u0161\12\u0165\1\u0166\27\u0165\1\u0251\44\u0165"+
- "\14\u0171\1\u0172\25\u0171\1\u0252\44\u0171\12\u0175\1\u0176\27\u0175"+
- "\1\u0253\44\u0175\41\0\1\u0254\53\0\4\113\7\0\1\113"+
- "\6\0\5\113\1\u0255\1\0\13\113\1\0\13\113\1\0"+
- "\4\113\1\0\11\113\1\0\1\113\6\0\4\167\7\0"+
- "\1\167\6\0\6\167\1\0\13\167\1\0\4\167\1\u0256"+
- "\6\167\1\0\4\167\1\0\11\167\1\0\1\167\6\0"+
- "\4\167\7\0\1\167\6\0\6\167\1\0\5\167\1\u0257"+
- "\5\167\1\0\13\167\1\0\4\167\1\0\11\167\1\0"+
- "\1\167\2\232\1\0\36\232\1\u0258\45\232\2\241\1\0"+
- "\36\241\1\u0259\45\241\14\u0161\1\u0162\24\u0161\1\u025a\45\u0161"+
- "\12\u0165\1\u0166\26\u0165\1\u025b\45\u0165\14\u0171\1\u0172\24\u0171"+
- "\1\u025c\45\u0171\12\u0175\1\u0176\26\u0175\1\u025d\45\u0175\36\0"+
- "\1\u025e\56\0\4\113\7\0\1\113\6\0\6\113\1\0"+
- "\5\113\1\u025f\5\113\1\0\13\113\1\0\4\113\1\0"+
- "\11\113\1\0\1\113\6\0\4\167\7\0\1\167\6\0"+
- "\6\167\1\0\13\167\1\0\13\167\1\0\4\167\1\0"+
- "\1\167\1\u0260\7\167\1\0\1\167\2\232\1\0\33\232"+
- "\1\u0261\50\232\2\241\1\0\33\241\1\u0262\50\241\14\u0161"+
- "\1\u0162\21\u0161\1\u0263\50\u0161\12\u0165\1\u0166\23\u0165\1\u0264"+
- "\50\u0165\14\u0171\1\u0172\21\u0171\1\u0265\50\u0171\12\u0175\1\u0176"+
- "\23\u0175\1\u0266\50\u0175\6\0\4\113\7\0\1\113\6\0"+
- "\6\113\1\0\7\113\1\u0267\3\113\1\0\13\113\1\0"+
- "\4\113\1\0\11\113\1\0\1\113\6\0\4\167\7\0"+
- "\1\167\6\0\6\167\1\0\13\167\1\0\4\167\1\u0268"+
- "\6\167\1\0\4\167\1\0\11\167\1\0\1\167\6\0"+
- "\4\113\7\0\1\113\6\0\6\113\1\0\13\113\1\0"+
- "\13\113\1\0\4\113\1\0\11\113\1\0\1\u0269\6\0"+
- "\4\167\7\0\1\167\6\0\6\167\1\0\10\167\1\u026a"+
- "\2\167\1\0\13\167\1\0\4\167\1\0\11\167\1\0"+
- "\1\167\6\0\4\113\7\0\1\113\6\0\6\113\1\0"+
- "\5\113\1\u026b\5\113\1\0\13\113\1\0\4\113\1\0"+
- "\11\113\1\0\1\113\6\0\4\167\7\0\1\167\6\0"+
- "\6\167\1\0\4\167\1\u026c\6\167\1\0\13\167\1\0"+
- "\4\167\1\0\11\167\1\0\1\167\6\0\4\113\7\0"+
- "\1\113\6\0\6\113\1\0\5\113\1\u026d\5\113\1\0"+
- "\13\113\1\0\4\113\1\0\11\113\1\0\1\113\6\0"+
- "\4\167\7\0\1\167\6\0\6\167\1\0\5\167\1\u026e"+
- "\5\167\1\0\13\167\1\0\4\167\1\0\11\167\1\0"+
- "\1\167\6\0\4\113\7\0\1\113\6\0\6\113\1\0"+
- "\13\113\1\0\4\113\1\u026f\6\113\1\0\4\113\1\0"+
- "\11\113\1\0\1\113\6\u0270\4\u0271\7\u0270\1\u0271\5\u0270"+
- "\1\0\6\u0271\1\u0270\13\u0271\1\u0270\13\u0271\1\u0270\4\u0271"+
- "\1\u0270\11\u0271\1\u0270\1\u0271\43\0\1\u0272\3\0\1\u0273"+
- "\7\0\1\u0274\1\u0275\21\0\1\u0276\12\0\4\167\7\0"+
- "\1\167\6\0\6\167\1\0\4\167\1\u0277\3\167\1\u0278"+
- "\2\167\1\0\4\167\1\u0279\1\u027a\5\167\1\0\4\167"+
- "\1\0\6\167\1\u027b\2\167\1\0\1\167\60\0\1\u027c"+
- "\77\0\1\u027d\115\0\1\u027e\105\0\1\u027f\107\0\1\u0280"+
- "\34\0\4\167\7\0\1\167\6\0\6\167\1\0\13\167"+
- "\1\0\5\167\1\u0281\5\167\1\0\4\167\1\0\11\167"+
- "\1\0\1\167\6\0\4\167\7\0\1\167\6\0\6\167"+
- "\1\0\12\167\1\u0282\1\0\13\167\1\0\4\167\1\0"+
- "\11\167\1\0\1\167\6\0\4\167\7\0\1\167\6\0"+
- "\6\167\1\0\13\167\1\0\5\167\1\u0283\5\167\1\0"+
- "\4\167\1\0\11\167\1\0\1\167\6\0\4\167\7\0"+
- "\1\167\6\0\6\167\1\0\13\167\1\0\4\167\1\u0284"+
- "\6\167\1\0\4\167\1\0\11\167\1\0\1\167\6\0"+
- "\4\167\7\0\1\167\6\0\6\167\1\0\13\167\1\0"+
- "\5\167\1\u0285\5\167\1\0\4\167\1\0\11\167\1\0"+
- "\1\167\45\0\1\u0286\136\0\1\u0287\107\0\1\u0288\67\0"+
- "\1\u0289\125\0\1\u028a\16\0\4\167\7\0\1\167\6\0"+
- "\6\167\1\0\6\167\1\u028b\4\167\1\0\13\167\1\0"+
- "\4\167\1\0\11\167\1\0\1\167\6\0\4\167\7\0"+
- "\1\167\6\0\6\167\1\0\13\167\1\0\13\167\1\0"+
- "\4\167\1\0\1\167\1\u028c\7\167\1\0\1\167\6\0"+
- "\4\167\7\0\1\167\6\0\6\167\1\0\13\167\1\0"+
- "\13\167\1\0\4\167\1\0\2\167\1\u028d\6\167\1\0"+
- "\1\167\6\0\4\167\7\0\1\167\6\0\6\167\1\0"+
- "\13\167\1\0\4\167\1\u028e\6\167\1\0\4\167\1\0"+
- "\11\167\1\0\1\167\6\0\4\167\7\0\1\167\6\0"+
- "\6\167\1\0\13\167\1\0\13\167\1\0\4\167\1\0"+
- "\2\167\1\u028f\6\167\1\0\1\167\47\0\1\u0290\74\0"+
- "\1\u0291\106\0\1\u0292\116\0\1\u0293\105\0\1\u0294\50\0"+
- "\4\167\7\0\1\167\6\0\6\167\1\0\10\167\1\u0295"+
- "\2\167\1\0\13\167\1\0\4\167\1\0\11\167\1\0"+
- "\1\167\6\0\4\167\7\0\1\167\6\0\5\167\1\u0296"+
- "\1\0\13\167\1\0\13\167\1\0\4\167\1\0\11\167"+
- "\1\0\1\167\6\0\4\167\7\0\1\167\6\0\5\167"+
- "\1\u0297\1\0\13\167\1\0\13\167\1\0\4\167\1\0"+
- "\11\167\1\0\1\167\6\0\4\167\7\0\1\167\6\0"+
- "\6\167\1\0\6\167\1\u0298\4\167\1\0\13\167\1\0"+
- "\4\167\1\0\11\167\1\0\1\167\6\0\4\167\7\0"+
- "\1\167\6\0\6\167\1\0\5\167\1\u0299\5\167\1\0"+
- "\13\167\1\0\4\167\1\0\11\167\1\0\1\167\60\0"+
- "\1\u029a\131\0\1\u029b\52\0\1\u029c\106\0\1\u029d\45\0"+
- "\4\167\7\0\1\167\6\0\6\167\1\0\13\167\1\0"+
- "\5\167\1\u029e\5\167\1\0\4\167\1\0\11\167\1\0"+
- "\1\167\6\0\4\167\7\0\1\167\6\0\6\167\1\0"+
- "\13\167\1\0\13\167\1\0\4\167\1\0\7\167\1\u029f"+
- "\1\167\1\0\1\167\6\0\4\167\7\0\1\167\6\0"+
- "\6\167\1\0\10\167\1\u02a0\2\167\1\0\13\167\1\0"+
- "\4\167\1\0\11\167\1\0\1\167\6\0\4\167\7\0"+
- "\1\167\6\0\6\167\1\0\10\167\1\u02a1\2\167\1\0"+
- "\13\167\1\0\4\167\1\0\11\167\1\0\1\167\104\0"+
- "\1\u02a2\63\0\1\u028a\131\0\1\u0294\106\0\1\u02a3\10\0"+
- "\4\167\7\0\1\167\6\0\6\167\1\0\13\167\1\0"+
- "\13\167\1\0\4\167\1\0\10\167\1\u02a4\1\0\1\167"+
- "\6\0\4\167\7\0\1\167\6\0\6\167\1\0\13\167"+
- "\1\0\6\167\1\u028f\4\167\1\0\4\167\1\0\11\167"+
- "\1\0\1\167\6\0\4\167\7\0\1\167\6\0\6\167"+
- "\1\0\13\167\1\0\13\167\1\0\4\167\1\0\10\167"+
- "\1\u0299\1\0\1\167\6\0\4\167\7\0\1\167\6\0"+
- "\6\167\1\0\13\167\1\0\13\167\1\0\4\167\1\0"+
- "\10\167\1\u02a5\1\0\1\167\35\0\1\u028a\154\0\1\u02a6"+
- "\11\0\4\167\7\0\1\167\6\0\5\167\1\u028f\1\0"+
- "\13\167\1\0\13\167\1\0\4\167\1\0\11\167\1\0"+
- "\1\167\6\0\4\167\7\0\1\167\6\0\6\167\1\0"+
- "\13\167\1\0\13\167\1\0\4\167\1\0\7\167\1\u02a7"+
- "\1\167\1\0\1\167\57\0\1\u028a\35\0\4\167\7\0"+
- "\1\167\6\0\6\167\1\0\13\167\1\0\4\167\1\u028f"+
- "\6\167\1\0\4\167\1\0\11\167\1\0\1\167";
+ "\22\102\1\104\62\102\1\105\1\106\105\105\1\102\1\103"+
+ "\5\102\1\107\100\102\1\103\2\102\1\110\1\111\2\102"+
+ "\2\112\6\102\1\111\6\102\1\111\1\113\1\114\4\112"+
+ "\1\102\10\112\1\115\2\112\1\102\11\112\1\115\1\112"+
+ "\1\102\4\112\1\102\4\112\1\102\4\112\1\102\1\112"+
+ "\1\102\1\103\2\102\1\110\1\116\12\102\1\116\6\102"+
+ "\1\116\57\102\1\117\1\120\2\117\1\121\22\117\1\102"+
+ "\57\117\1\102\1\103\2\102\1\122\1\111\2\102\2\123"+
+ "\6\102\1\111\6\102\1\111\6\123\1\102\13\123\1\102"+
+ "\13\123\1\102\4\123\1\102\4\123\1\102\4\123\1\102"+
+ "\1\123\1\102\1\103\2\102\1\122\1\111\2\102\2\123"+
+ "\6\102\1\111\6\102\1\111\6\123\1\102\13\123\1\124"+
+ "\13\123\1\102\4\123\1\102\4\123\1\102\4\123\1\102"+
+ "\1\123\1\125\1\103\1\102\1\126\1\127\1\111\4\125"+
+ "\1\130\1\125\1\131\3\125\1\111\6\125\1\111\57\125"+
+ "\1\102\1\103\2\102\1\132\103\102\1\103\1\133\1\134"+
+ "\1\102\1\111\2\102\2\135\6\102\1\111\6\102\1\111"+
+ "\6\135\1\102\13\135\1\102\13\135\1\102\4\135\1\102"+
+ "\4\135\1\102\4\135\1\102\1\135\1\102\1\103\1\133"+
+ "\1\134\1\102\1\111\2\102\2\135\6\102\1\111\6\102"+
+ "\1\111\6\135\1\102\13\135\1\136\13\135\1\102\4\135"+
+ "\1\102\4\135\1\102\4\135\1\102\1\135\1\137\1\103"+
+ "\1\133\1\140\1\137\1\111\4\137\1\141\1\137\1\142"+
+ "\3\137\1\111\6\137\1\111\57\137\1\102\1\103\3\102"+
+ "\1\111\12\102\1\111\6\102\1\111\57\102\1\143\1\144"+
+ "\21\143\1\145\63\143\1\102\1\146\3\102\1\111\2\102"+
+ "\2\147\6\102\1\111\2\102\1\150\3\102\1\111\6\147"+
+ "\1\102\13\147\1\102\13\147\1\102\4\147\1\102\4\147"+
+ "\1\102\4\147\1\102\1\147\1\102\1\146\3\102\1\151"+
+ "\12\102\1\151\2\102\1\150\3\102\1\151\60\102\1\146"+
+ "\3\102\1\111\2\102\2\152\6\102\1\111\2\102\1\150"+
+ "\3\102\1\111\6\152\1\102\13\152\1\102\13\152\1\102"+
+ "\4\152\1\102\4\152\1\102\4\152\1\102\1\152\1\102"+
+ "\1\146\3\102\1\111\2\102\2\152\6\102\1\111\2\102"+
+ "\1\150\3\102\1\111\6\152\1\102\13\152\1\153\13\152"+
+ "\1\102\4\152\1\102\4\152\1\102\4\152\1\102\1\152"+
+ "\1\154\1\146\1\102\1\155\1\154\1\111\4\154\1\156"+
+ "\1\154\1\157\3\154\1\111\2\154\1\160\3\154\1\111"+
+ "\57\154\1\161\1\162\1\163\1\164\4\161\2\165\16\161"+
+ "\6\166\1\161\13\166\1\161\13\166\1\161\4\166\1\161"+
+ "\4\166\1\161\1\167\3\166\1\161\1\166\1\102\1\170"+
+ "\1\163\1\164\1\102\1\111\2\102\2\171\6\102\1\111"+
+ "\6\102\1\111\6\171\1\102\13\171\1\102\13\171\1\102"+
+ "\4\171\1\102\4\171\1\102\4\171\1\102\1\171\1\102"+
+ "\1\170\1\163\1\164\1\102\1\111\2\102\2\171\6\102"+
+ "\1\111\6\102\1\111\6\171\1\102\13\171\1\172\13\171"+
+ "\1\102\4\171\1\102\4\171\1\102\4\171\1\102\1\171"+
+ "\1\173\1\174\1\163\1\175\1\173\1\111\4\173\1\176"+
+ "\1\173\1\177\1\200\2\173\1\111\6\173\1\111\36\173"+
+ "\1\201\20\173\1\102\1\202\1\203\2\102\1\111\12\102"+
+ "\1\111\6\102\1\111\10\102\1\204\1\205\2\102\1\206"+
+ "\11\102\1\206\1\102\1\205\1\204\26\102\1\103\1\203"+
+ "\2\102\1\111\12\102\1\111\6\102\1\111\6\102\1\207"+
+ "\51\102\1\103\1\203\2\102\1\111\2\102\2\210\6\102"+
+ "\1\111\6\102\1\111\6\210\1\207\13\210\1\102\13\210"+
+ "\1\102\4\210\1\102\4\210\1\102\4\210\1\102\1\210"+
+ "\1\102\1\103\1\203\2\102\1\111\12\102\1\111\6\102"+
+ "\1\111\6\102\1\207\7\102\1\211\6\102\1\212\11\102"+
+ "\1\211\12\102\1\212\4\102\1\213\1\103\1\203\1\214"+
+ "\1\213\1\111\4\213\1\215\1\213\1\216\3\213\1\111"+
+ "\6\213\1\111\6\213\1\217\50\213\1\220\1\103\1\203"+
+ "\1\221\1\220\1\111\4\220\1\222\1\220\1\223\3\220"+
+ "\1\111\6\220\1\111\6\220\1\224\50\220\1\225\1\103"+
+ "\1\203\1\226\1\225\1\111\4\225\1\227\1\225\1\230"+
+ "\3\225\1\111\6\225\1\111\57\225\1\231\1\232\1\233"+
+ "\104\231\1\234\1\103\1\203\1\235\1\234\1\111\4\234"+
+ "\1\236\1\234\1\237\3\234\1\111\6\234\1\111\57\234"+
+ "\1\240\1\241\1\242\104\240\1\243\1\244\105\243\1\102"+
+ "\1\103\105\102\1\245\1\246\105\245\1\102\1\103\5\102"+
+ "\1\247\77\102\1\250\1\251\1\163\1\252\1\250\1\111"+
+ "\4\250\1\253\1\250\1\254\1\255\2\250\1\111\6\250"+
+ "\1\111\36\250\1\256\20\250\1\257\1\260\3\257\1\261"+
+ "\6\257\1\262\1\263\2\257\1\261\6\257\1\261\36\257"+
+ "\1\264\20\257\1\265\1\260\3\265\1\266\4\265\1\267"+
+ "\2\265\1\270\2\265\1\266\6\265\1\266\36\265\1\271"+
+ "\20\265\1\272\1\273\10\272\1\274\1\272\1\275\1\276"+
+ "\67\272\1\277\1\272\1\300\1\301\12\300\1\102\72\300"+
+ "\1\302\1\303\10\302\1\102\74\302\1\102\1\103\12\102"+
+ "\1\304\73\102\1\103\10\102\1\305\74\102\1\306\1\307"+
+ "\10\306\1\310\4\306\1\311\65\306\1\312\1\306\1\313"+
+ "\1\314\12\313\1\262\2\313\1\315\65\313\1\312\1\313"+
+ "\1\316\1\317\10\316\1\320\1\316\1\321\51\316\1\322"+
+ "\16\316\1\323\1\316\1\324\1\325\12\324\1\102\72\324"+
+ "\1\326\1\327\10\326\1\102\74\326\1\102\1\103\12\102"+
+ "\1\330\73\102\1\103\10\102\1\331\74\102\1\332\1\333"+
+ "\10\332\1\310\4\332\1\334\65\332\1\335\1\332\1\336"+
+ "\1\337\12\336\1\262\2\336\1\340\65\336\1\335\1\336"+
+ "\1\72\1\0\11\72\1\0\1\72\1\0\5\72\1\0"+
+ "\42\72\1\0\20\72\3\0\1\341\1\342\16\0\1\343"+
+ "\2\0\1\344\65\0\1\345\2\0\2\346\6\0\1\345"+
+ "\6\0\1\345\6\346\1\0\13\346\1\0\13\346\1\347"+
+ "\4\346\1\0\4\346\1\0\4\346\1\0\1\346\1\350"+
+ "\1\0\11\350\1\0\1\350\1\351\1\352\4\350\1\0"+
+ "\63\350\5\0\1\345\2\0\2\353\6\0\1\345\6\0"+
+ "\1\345\6\353\1\0\13\353\1\0\13\353\1\0\4\353"+
+ "\1\0\4\353\1\0\4\353\1\0\1\353\1\350\1\0"+
+ "\11\350\1\0\2\350\1\354\4\350\1\0\42\350\1\355"+
+ "\20\350\132\0\1\343\2\0\1\356\104\0\1\357\71\0"+
+ "\1\360\101\0\1\361\111\0\1\111\12\0\1\111\6\0"+
+ "\1\111\65\0\4\112\7\0\1\112\6\0\6\112\1\0"+
+ "\13\112\1\0\13\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\6\0\4\112\7\0\1\112\6\0\2\112\2\362"+
+ "\2\112\1\0\13\112\1\0\13\112\1\0\4\112\1\0"+
+ "\11\112\1\0\1\112\6\0\4\112\7\0\1\112\6\0"+
+ "\2\112\1\362\1\363\2\112\1\0\13\112\1\0\13\112"+
+ "\1\0\4\112\1\0\11\112\1\0\1\112\6\0\4\112"+
+ "\7\0\1\112\6\0\2\112\2\364\2\112\1\0\13\112"+
+ "\1\0\13\112\1\0\4\112\1\0\11\112\1\0\1\112"+
+ "\5\0\1\116\12\0\1\116\6\0\1\116\61\0\1\365"+
+ "\106\0\1\366\112\0\4\123\7\0\1\123\6\0\6\123"+
+ "\1\0\13\123\1\0\13\123\1\0\4\123\1\0\11\123"+
+ "\1\0\1\123\1\125\2\0\1\367\1\125\1\0\4\125"+
+ "\1\0\1\125\1\0\3\125\1\0\6\125\1\0\60\125"+
+ "\1\0\1\366\1\367\1\125\1\0\4\125\1\0\1\125"+
+ "\1\0\3\125\1\0\6\125\1\0\57\125\1\370\1\0"+
+ "\10\370\1\371\2\370\1\372\50\370\1\372\20\370\1\373"+
+ "\1\0\12\373\1\371\1\374\50\373\1\374\20\373\2\0"+
+ "\1\133\1\375\111\0\4\135\7\0\1\135\6\0\6\135"+
+ "\1\0\13\135\1\0\13\135\1\0\4\135\1\0\11\135"+
+ "\1\0\1\135\1\137\2\0\1\376\1\137\1\0\4\137"+
+ "\1\0\1\137\1\0\3\137\1\0\6\137\1\0\60\137"+
+ "\1\0\1\133\1\377\1\137\1\0\4\137\1\0\1\137"+
+ "\1\0\3\137\1\0\6\137\1\0\57\137\1\141\1\0"+
+ "\1\u0100\1\u0101\1\141\1\u0100\4\141\1\u0102\1\141\1\u0100"+
+ "\1\u0103\2\141\1\u0100\6\141\1\u0100\36\141\1\u0103\20\141"+
+ "\1\142\1\0\1\u0104\1\u0105\1\142\1\u0104\4\142\1\u0104"+
+ "\1\142\1\u0102\1\u0106\2\142\1\u0104\6\142\1\u0104\36\142"+
+ "\1\u0106\20\142\2\0\1\u0107\127\0\1\343\2\0\1\u0108"+
+ "\66\0\4\147\7\0\1\147\6\0\6\147\1\0\13\147"+
+ "\1\0\13\147\1\0\4\147\1\0\11\147\1\0\1\147"+
+ "\2\0\1\u0109\111\0\1\151\12\0\1\151\6\0\1\151"+
+ "\65\0\4\152\7\0\1\152\6\0\6\152\1\0\13\152"+
+ "\1\0\13\152\1\0\4\152\1\0\11\152\1\0\1\152"+
+ "\1\154\2\0\1\u010a\1\154\1\0\4\154\1\0\1\154"+
+ "\1\0\3\154\1\0\6\154\1\0\57\154\1\u010b\1\0"+
+ "\10\u010b\1\u010c\2\u010b\1\u010d\50\u010b\1\u010d\20\u010b\1\u010e"+
+ "\1\0\12\u010e\1\u010c\1\u010f\50\u010e\1\u010f\20\u010e\1\154"+
+ "\1\0\1\u0109\1\u010a\1\154\1\0\4\154\1\0\1\154"+
+ "\1\0\3\154\1\0\6\154\1\0\57\154\1\161\3\0"+
+ "\24\161\6\0\1\161\13\0\1\161\13\0\1\161\4\0"+
+ "\1\161\4\0\1\161\4\0\1\161\4\0\1\341\17\0"+
+ "\1\343\2\0\1\344\62\0\1\u0110\104\0\1\161\3\0"+
+ "\2\161\4\165\7\161\1\165\6\161\6\166\1\161\13\166"+
+ "\1\161\13\166\1\161\4\166\1\161\4\166\1\165\4\166"+
+ "\1\161\1\166\6\0\4\166\7\0\1\166\6\0\6\166"+
+ "\1\0\13\166\1\0\13\166\1\0\4\166\1\0\11\166"+
+ "\1\0\1\166\6\0\4\166\7\0\1\166\6\0\6\166"+
+ "\1\0\7\166\1\u0111\3\166\1\0\13\166\1\0\4\166"+
+ "\1\0\11\166\1\0\1\166\3\0\1\341\4\0\2\u0112"+
+ "\11\0\1\343\2\0\1\344\1\0\6\u0112\1\0\13\u0112"+
+ "\1\0\13\u0112\1\0\4\u0112\1\0\4\u0112\1\0\4\u0112"+
+ "\1\0\1\u0112\6\0\4\171\7\0\1\171\6\0\6\171"+
+ "\1\0\13\171\1\0\13\171\1\0\4\171\1\0\11\171"+
+ "\1\0\1\171\1\173\2\0\1\u0113\1\173\1\0\4\173"+
+ "\1\0\1\173\1\0\3\173\1\0\6\173\1\0\57\173"+
+ "\3\0\1\341\4\0\2\u0114\11\0\1\343\2\0\1\344"+
+ "\1\0\6\u0114\1\0\13\u0114\1\0\13\u0114\1\0\4\u0114"+
+ "\1\0\4\u0114\1\0\4\u0114\1\0\1\u0114\1\173\1\0"+
+ "\1\u0110\1\u0113\1\173\1\0\4\173\1\0\1\173\1\0"+
+ "\3\173\1\0\6\173\1\0\57\173\1\u0115\1\0\10\u0115"+
+ "\1\u0116\2\u0115\1\u0117\50\u0115\1\u0117\20\u0115\1\u0118\1\0"+
+ "\12\u0118\1\u0116\1\u0119\50\u0118\1\u0119\20\u0118\1\173\2\0"+
+ "\1\u0113\1\173\1\0\4\173\1\0\1\173\1\0\1\173"+
+ "\1\u011a\1\173\1\0\6\173\1\0\60\173\2\0\1\u0113"+
+ "\1\173\1\0\4\173\1\0\1\173\1\0\1\173\1\u011b"+
+ "\1\173\1\0\6\173\1\0\57\173\3\0\1\341\17\0"+
+ "\1\343\2\0\1\u0108\130\0\1\u011c\2\0\1\u011c\75\0"+
+ "\1\u011d\14\0\1\u011d\63\0\2\u011e\51\0\24\u011f\1\u0120"+
+ "\62\u011f\6\0\4\210\7\0\1\210\6\0\6\210\1\0"+
+ "\13\210\1\0\13\210\1\0\4\210\1\0\11\210\1\0"+
+ "\1\210\54\0\1\u0121\5\0\1\u0121\116\0\1\u0122\10\0"+
+ "\1\u0122\3\0\1\213\2\0\1\u0123\1\213\1\0\4\213"+
+ "\1\0\1\213\1\0\3\213\1\0\6\213\1\0\57\213"+
+ "\1\u0124\1\0\10\u0124\1\u0125\2\u0124\1\u0126\50\u0124\1\u0126"+
+ "\20\u0124\1\u0127\1\0\1\u0127\2\u0128\1\u0127\4\u0128\2\u0127"+
+ "\1\u0129\1\u012a\2\u0127\4\u0128\1\u0127\11\u0128\1\u0127\27\u0128"+
+ "\1\u012a\10\u0128\2\u0127\4\u0128\1\u0127\1\u0128\1\217\2\u011f"+
+ "\1\u012b\1\217\1\u011f\4\217\1\u011f\1\217\1\u011f\3\217"+
+ "\1\u011f\3\217\1\u012c\2\217\1\u011f\57\217\1\220\2\0"+
+ "\1\u012d\1\220\1\0\4\220\1\0\1\220\1\0\3\220"+
+ "\1\0\6\220\1\0\57\220\12\u012e\1\u012f\74\u012e\14\u0130"+
+ "\1\u012f\72\u0130\1\224\2\u011f\1\u0131\1\224\1\u011f\4\224"+
+ "\1\u011f\1\224\1\u011f\3\224\1\u011f\3\224\1\u0132\2\224"+
+ "\1\u011f\57\224\1\225\2\0\1\u0133\1\225\1\0\4\225"+
+ "\1\0\1\225\1\0\3\225\1\0\6\225\1\0\57\225"+
+ "\1\u0134\1\0\10\u0134\1\u0135\2\u0134\1\u0136\50\u0134\1\u0136"+
+ "\20\u0134\1\u0137\1\0\1\u0137\2\u0138\1\u0137\4\u0138\2\u0137"+
+ "\1\u0139\1\u013a\2\u0137\4\u0138\1\u0137\11\u0138\1\u0137\27\u0138"+
+ "\1\u013a\10\u0138\2\u0137\4\u0138\1\u0137\1\u0138\2\231\1\0"+
+ "\106\231\1\0\20\231\1\u013b\2\231\1\u013c\60\231\1\234"+
+ "\2\0\1\u013d\1\234\1\0\4\234\1\0\1\234\1\0"+
+ "\3\234\1\0\6\234\1\0\57\234\1\u013e\1\0\10\u013e"+
+ "\1\u013f\2\u013e\1\u0140\50\u013e\1\u0140\20\u013e\1\u0141\1\0"+
+ "\1\u0141\2\u0142\1\u0141\4\u0142\2\u0141\1\u0143\1\u0144\2\u0141"+
+ "\4\u0142\1\u0141\11\u0142\1\u0141\27\u0142\1\u0144\10\u0142\2\u0141"+
+ "\4\u0142\1\u0141\1\u0142\2\240\1\0\106\240\1\0\20\240"+
+ "\1\u0145\2\240\1\u0146\60\240\7\0\1\u0147\77\0\1\250"+
+ "\2\0\1\u0148\1\250\1\0\4\250\1\0\1\250\1\0"+
+ "\3\250\1\0\6\250\1\0\60\250\1\0\1\u0110\1\u0148"+
+ "\1\250\1\0\4\250\1\0\1\250\1\0\3\250\1\0"+
+ "\6\250\1\0\57\250\1\u0149\1\0\10\u0149\1\u014a\2\u0149"+
+ "\1\u014b\1\u0149\1\u014c\46\u0149\1\u014b\20\u0149\1\u014d\1\0"+
+ "\12\u014d\1\u014a\1\u014e\1\u014d\1\u014f\46\u014d\1\u014e\20\u014d"+
+ "\1\250\2\0\1\u0148\1\250\1\0\4\250\1\0\1\250"+
+ "\1\0\1\250\1\u0150\1\250\1\0\6\250\1\0\60\250"+
+ "\2\0\1\u0148\1\250\1\0\4\250\1\0\1\250\1\0"+
+ "\1\250\1\u0151\1\250\1\0\6\250\1\0\57\250\1\257"+
+ "\1\0\12\257\2\0\50\257\1\0\20\257\3\0\1\u0152"+
+ "\17\0\1\343\2\0\1\356\60\0\1\257\1\0\3\257"+
+ "\1\261\6\257\2\0\2\257\1\261\6\257\1\261\36\257"+
+ "\1\0\20\257\5\0\1\u0153\10\0\1\u0154\1\0\1\u0153"+
+ "\6\0\1\u0153\64\0\1\u0153\10\0\1\u0155\1\0\1\u0153"+
+ "\6\0\1\u0153\57\0\1\265\1\0\10\265\1\0\2\265"+
+ "\1\0\50\265\1\0\21\265\1\0\3\265\1\266\4\265"+
+ "\1\0\2\265\1\0\2\265\1\266\6\265\1\266\36\265"+
+ "\1\0\20\265\5\0\1\u0153\10\0\1\u0156\1\0\1\u0153"+
+ "\6\0\1\u0153\64\0\1\u0153\10\0\1\u0157\1\0\1\u0153"+
+ "\6\0\1\u0153\57\0\12\272\1\0\1\272\1\0\1\u0158"+
+ "\67\272\1\0\13\272\1\0\1\272\1\0\1\u0158\5\272"+
+ "\1\u0159\61\272\1\0\13\272\1\0\1\272\1\0\1\272"+
+ "\1\u015a\66\272\1\u015b\1\272\14\u015c\1\u015d\106\u015c\1\u015d"+
+ "\6\u015c\1\u015e\2\u015c\1\u015f\60\u015c\12\u0160\1\u0161\106\u0160"+
+ "\1\u0161\10\u0160\1\u0162\2\u0160\1\u0163\60\u0160\12\306\1\0"+
+ "\4\306\1\u0164\65\306\1\0\13\306\1\0\4\306\1\u0164"+
+ "\3\306\1\u0165\61\306\1\0\13\306\1\u0166\74\306\14\313"+
+ "\1\0\2\313\1\u0167\65\313\1\0\15\313\1\0\2\313"+
+ "\1\u0167\3\313\1\u0168\61\313\1\0\15\313\1\u0169\72\313"+
+ "\12\316\1\0\1\316\1\0\70\316\1\0\13\316\1\0"+
+ "\1\316\1\0\6\316\1\u016a\61\316\1\0\13\316\1\0"+
+ "\1\316\1\0\1\316\1\u016b\66\316\1\0\1\316\14\u016c"+
+ "\1\u016d\106\u016c\1\u016d\6\u016c\1\u016e\2\u016c\1\u016f\60\u016c"+
+ "\12\u0170\1\u0171\106\u0170\1\u0171\10\u0170\1\u0172\2\u0170\1\u0173"+
+ "\60\u0170\12\332\1\0\4\332\1\u0174\65\332\1\0\13\332"+
+ "\1\0\4\332\1\u0174\3\332\1\u0175\61\332\1\0\13\332"+
+ "\1\u0176\74\332\14\336\1\0\2\336\1\u0177\65\336\1\0"+
+ "\15\336\1\0\2\336\1\u0177\3\336\1\u0178\61\336\1\0"+
+ "\15\336\1\u0179\72\336\7\0\1\u017a\12\0\1\u017b\3\0"+
+ "\1\u017c\23\0\1\u017d\43\0\1\u017e\26\0\1\u017f\55\0"+
+ "\1\345\2\0\2\u0180\6\0\1\345\6\0\1\345\6\u0180"+
+ "\1\0\13\u0180\1\0\13\u0180\1\0\4\u0180\1\0\4\u0180"+
+ "\1\0\4\u0180\1\0\1\u0180\1\u0181\1\0\3\u0181\1\u0182"+
+ "\4\346\1\u0181\1\0\4\u0181\1\u0182\1\346\1\u0181\1\0"+
+ "\3\u0181\1\u0182\6\346\1\u0181\13\346\1\u0181\13\346\1\u0181"+
+ "\4\346\1\u0183\11\346\1\u0181\1\346\21\0\1\u0184\7\0"+
+ "\1\u0185\72\0\1\351\71\0\105\352\1\u0186\1\352\1\u0181"+
+ "\1\0\3\u0181\1\u0182\4\353\1\u0181\1\0\4\u0181\1\u0182"+
+ "\1\353\1\u0181\1\0\3\u0181\1\u0182\6\353\1\u0181\13\353"+
+ "\1\u0181\13\353\1\u0181\4\353\1\u0187\11\353\1\u0181\1\353"+
+ "\105\354\1\u0188\1\354\66\0\1\355\56\0\1\u017f\52\0"+
+ "\1\u0189\106\0\1\u018a\112\0\4\112\7\0\1\112\6\0"+
+ "\4\112\2\u018b\1\0\13\112\1\0\13\112\1\0\4\112"+
+ "\1\0\11\112\1\0\1\112\6\0\4\112\7\0\1\112"+
+ "\6\0\4\112\1\u018b\1\u018c\1\0\13\112\1\0\13\112"+
+ "\1\0\4\112\1\0\11\112\1\0\1\112\6\0\4\112"+
+ "\7\0\1\112\6\0\6\112\1\0\13\112\1\0\2\112"+
+ "\1\u018d\10\112\1\0\4\112\1\0\6\112\1\u018d\2\112"+
+ "\1\0\1\112\12\370\1\371\3\370\1\0\70\370\14\373"+
+ "\1\371\1\373\1\0\70\373\1\u0100\1\0\10\u0100\1\u0102"+
+ "\2\u0100\1\u018e\50\u0100\1\u018e\20\u0100\1\141\2\u0100\1\u0101"+
+ "\1\141\1\u0100\4\141\1\u0102\1\141\1\u0100\1\141\1\137"+
+ "\1\141\1\u0100\6\141\1\u0100\57\141\1\u0104\1\0\12\u0104"+
+ "\1\u0102\1\u018f\50\u0104\1\u018f\20\u0104\1\142\2\u0104\1\u0105"+
+ "\1\142\1\u0104\4\142\1\u0104\1\142\1\u0102\1\142\1\137"+
+ "\1\142\1\u0104\6\142\1\u0104\57\142\12\u010b\1\u010c\3\u010b"+
+ "\1\0\70\u010b\14\u010e\1\u010c\1\u010e\1\0\70\u010e\6\0"+
+ "\4\166\7\0\1\166\6\0\6\166\1\0\13\166\1\0"+
+ "\13\166\1\0\4\166\1\0\6\166\1\u0190\2\166\1\0"+
+ "\1\166\6\0\4\u0112\7\0\1\u0112\6\0\6\u0112\1\0"+
+ "\13\u0112\1\0\13\u0112\1\0\4\u0112\1\0\11\u0112\1\0"+
+ "\1\u0112\6\0\4\u0114\7\0\1\u0114\6\0\6\u0114\1\0"+
+ "\13\u0114\1\0\13\u0114\1\0\4\u0114\1\0\11\u0114\1\0"+
+ "\1\u0114\12\u0115\1\u0116\3\u0115\1\0\70\u0115\14\u0118\1\u0116"+
+ "\1\u0118\1\0\70\u0118\1\u0191\2\u0192\1\u0193\1\u0191\1\u0192"+
+ "\4\u0191\1\u0192\1\u0191\1\u0192\3\u0191\1\u0192\6\u0191\1\u0192"+
+ "\55\u0191\1\173\1\u0191\1\u0194\2\u0195\1\u0196\1\u0194\1\u0195"+
+ "\4\u0194\1\u0195\1\u0194\1\u0195\3\u0194\1\u0195\6\u0194\1\u0195"+
+ "\55\u0194\1\173\1\u0194\37\0\1\u0197\35\0\1\u0197\53\0"+
+ "\1\u0198\14\0\1\u0198\73\0\1\u0199\11\0\1\u0199\76\0"+
+ "\1\u019a\20\0\1\u019a\113\0\1\u019b\7\0\1\u019b\2\0"+
+ "\12\u0124\1\u0125\3\u0124\1\0\70\u0124\1\u0127\1\0\12\u0127"+
+ "\1\u0125\1\u019c\50\u0127\1\u019c\21\u0127\1\0\12\u0127\1\u019d"+
+ "\1\u019c\50\u0127\1\u019c\20\u0127\14\0\1\u019e\72\0\14\u0127"+
+ "\1\u019d\1\u0127\1\0\70\u0127\12\u0134\1\u0135\3\u0134\1\0"+
+ "\70\u0134\1\u0137\1\0\12\u0137\1\u0135\1\u019f\50\u0137\1\u019f"+
+ "\21\u0137\1\0\12\u0137\1\u01a0\1\u019f\50\u0137\1\u019f\20\u0137"+
+ "\14\0\1\u01a1\72\0\14\u0137\1\u01a0\1\u0137\1\0\70\u0137"+
+ "\2\231\1\0\4\231\1\u01a2\12\231\1\u01a3\3\231\1\u01a4"+
+ "\23\231\1\u01a5\36\231\1\0\33\231\1\u01a6\50\231\12\u013e"+
+ "\1\u013f\3\u013e\1\0\70\u013e\1\u0141\1\0\12\u0141\1\u013f"+
+ "\1\u01a7\50\u0141\1\u01a7\21\u0141\1\0\12\u0141\1\u01a8\1\u01a7"+
+ "\50\u0141\1\u01a7\20\u0141\14\0\1\u01a9\72\0\14\u0141\1\u01a8"+
+ "\1\u0141\1\0\70\u0141\2\240\1\0\4\240\1\u01aa\12\240"+
+ "\1\u01ab\3\240\1\u01ac\23\240\1\u01ad\36\240\1\0\33\240"+
+ "\1\u01ae\50\240\23\0\1\u01af\63\0\12\u0149\1\u014a\3\u0149"+
+ "\1\0\71\u0149\1\0\10\u0149\1\u01b0\2\u0149\1\u014b\1\u0149"+
+ "\1\u014c\46\u0149\1\u014b\20\u0149\14\u014d\1\u014a\1\u014d\1\0"+
+ "\71\u014d\1\0\12\u014d\1\u01b1\1\u014e\1\u014d\1\u014f\46\u014d"+
+ "\1\u014e\20\u014d\1\u01b2\2\u0192\1\u01b3\1\u01b2\1\u0192\4\u01b2"+
+ "\1\u0192\1\u01b2\1\u0192\3\u01b2\1\u0192\6\u01b2\1\u0192\55\u01b2"+
+ "\1\250\1\u01b2\1\u01b4\2\u0195\1\u01b5\1\u01b4\1\u0195\4\u01b4"+
+ "\1\u0195\1\u01b4\1\u0195\3\u01b4\1\u0195\6\u01b4\1\u0195\55\u01b4"+
+ "\1\250\1\u01b4\5\0\1\u0153\12\0\1\u0153\6\0\1\u0153"+
+ "\57\0\12\272\1\0\1\272\1\0\1\272\1\u01b6\66\272"+
+ "\1\u015b\10\272\1\u01b7\2\272\1\0\1\272\1\0\1\u0158"+
+ "\4\272\1\u01b8\3\272\1\u01b9\23\272\1\u01ba\32\272\1\0"+
+ "\1\272\12\u01b6\1\0\1\u01b6\1\0\70\u01b6\1\0\1\u01b6"+
+ "\12\u015b\1\0\1\u015b\1\0\1\u01bb\67\u015b\1\0\1\u015b"+
+ "\7\u015c\1\u01bc\4\u015c\1\u015d\5\u015c\1\u01bd\3\u015c\1\u01be"+
+ "\23\u015c\1\u01bf\50\u015c\1\u015d\21\u015c\1\u01c0\50\u015c\7\u0160"+
+ "\1\u01c1\2\u0160\1\u0161\7\u0160\1\u01c2\3\u0160\1\u01c3\23\u0160"+
+ "\1\u01c4\46\u0160\1\u0161\23\u0160\1\u01c5\50\u0160\12\306\1\0"+
+ "\103\306\1\u01c6\2\306\1\0\4\306\1\u0164\2\306\1\u01c7"+
+ "\3\306\1\u01c8\23\306\1\u01c9\32\306\1\0\1\306\17\u01ca"+
+ "\1\u01cb\67\u01ca\14\313\1\0\101\313\1\u01cc\4\313\1\0"+
+ "\2\313\1\u0167\2\313\1\u01cd\3\313\1\u01ce\23\313\1\u01cf"+
+ "\32\313\1\0\1\313\17\u01d0\1\u01d1\67\u01d0\7\316\1\u01d2"+
+ "\2\316\1\0\1\316\1\0\5\316\1\u01d3\3\316\1\u01d4"+
+ "\23\316\1\u01d5\32\316\1\0\1\316\7\u016c\1\u01d6\4\u016c"+
+ "\1\u016d\5\u016c\1\u01d7\3\u016c\1\u01d8\23\u016c\1\u01d9\50\u016c"+
+ "\1\u016d\21\u016c\1\u01da\50\u016c\7\u0170\1\u01db\2\u0170\1\u0171"+
+ "\7\u0170\1\u01dc\3\u0170\1\u01dd\23\u0170\1\u01de\46\u0170\1\u0171"+
+ "\23\u0170\1\u01df\50\u0170\12\332\1\0\103\332\1\u01e0\2\332"+
+ "\1\0\4\332\1\u0174\2\332\1\u01e1\3\332\1\u01e2\23\332"+
+ "\1\u01e3\32\332\1\0\1\332\17\u01e4\1\u01e5\67\u01e4\14\336"+
+ "\1\0\101\336\1\u01e6\4\336\1\0\2\336\1\u0177\2\336"+
+ "\1\u01e7\3\336\1\u01e8\23\336\1\u01e9\32\336\1\0\1\336"+
+ "\17\u01ea\1\u01eb\67\u01ea\7\0\1\u01ec\106\0\1\u01ed\136\0"+
+ "\1\u01ee\47\0\1\u0180\1\0\11\u0180\1\0\7\u0180\1\0"+
+ "\63\u0180\1\u0181\1\0\11\u0181\1\0\7\u0181\1\0\47\u0181"+
+ "\1\0\14\u0181\1\0\3\u0181\1\u0182\5\u0181\1\0\4\u0181"+
+ "\1\u0182\2\u0181\1\0\3\u0181\1\u0182\43\u0181\1\u01ef\13\u0181"+
+ "\21\0\1\u0184\51\0\1\u01f0\34\0\1\u01f1\15\0\3\u01f1"+
+ "\2\0\1\u01f1\11\0\1\u01f1\1\0\2\u01f1\7\0\1\u01f1"+
+ "\2\0\2\u01f1\6\0\1\u01f1\10\0\1\112\1\u01f2\2\112"+
+ "\7\0\1\112\6\0\6\112\1\0\13\112\1\0\13\112"+
+ "\1\0\4\112\1\0\11\112\1\0\1\112\6\0\4\112"+
+ "\7\0\1\112\6\0\6\112\1\0\11\112\1\u01f3\1\112"+
+ "\1\0\1\u01f3\12\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\12\u0100\1\u0102\3\u0100\1\0\70\u0100\14\u0104\1\u0102"+
+ "\1\u0104\1\0\70\u0104\6\0\3\166\1\u01f4\7\0\1\166"+
+ "\6\0\6\166\1\0\13\166\1\0\13\166\1\0\4\166"+
+ "\1\0\11\166\1\0\1\166\1\u0191\2\u0192\1\u0193\1\u0191"+
+ "\1\u0192\4\u0191\1\u0192\1\u0191\1\u0192\3\u0191\1\u0192\6\u0191"+
+ "\1\u0192\55\u0191\1\u01f5\1\u0191\105\u0192\1\u01f6\1\u0192\1\u0194"+
+ "\2\u0195\1\u0196\1\u0194\1\u0195\4\u0194\1\u0195\1\u0194\1\u0195"+
+ "\3\u0194\1\u0195\6\u0194\1\u0195\55\u0194\1\u01f5\1\u0194\105\u0195"+
+ "\1\u01f7\1\u0195\42\0\1\u01f8\14\0\1\u01f8\63\0\2\u01f9"+
+ "\103\0\2\u01fa\115\0\1\u01fb\14\0\1\u01fb\63\0\2\u01fc"+
+ "\51\0\14\u0127\1\u0125\1\u0127\1\0\70\u0127\3\0\2\u01fd"+
+ "\1\0\4\u01fd\2\0\1\u0129\1\u01fd\2\0\4\u01fd\1\0"+
+ "\11\u01fd\1\0\40\u01fd\2\0\4\u01fd\1\0\1\u01fd\14\u0137"+
+ "\1\u0135\1\u0137\1\0\70\u0137\3\0\2\u01fe\1\0\4\u01fe"+
+ "\2\0\1\u0139\1\u01fe\2\0\4\u01fe\1\0\11\u01fe\1\0"+
+ "\40\u01fe\2\0\4\u01fe\1\0\1\u01fe\2\231\1\0\4\231"+
+ "\1\u01ff\101\231\1\0\34\231\1\u0200\47\231\14\u0141\1\u013f"+
+ "\1\u0141\1\0\70\u0141\3\0\2\u0201\1\0\4\u0201\2\0"+
+ "\1\u0143\1\u0201\2\0\4\u0201\1\0\11\u0201\1\0\40\u0201"+
+ "\2\0\4\u0201\1\0\1\u0201\2\240\1\0\4\240\1\u0202"+
+ "\101\240\1\0\34\240\1\u0203\47\240\2\0\1\u0204\104\0"+
+ "\1\u01b2\2\u0192\1\u01b3\1\u01b2\1\u0192\4\u01b2\1\u0192\1\u01b2"+
+ "\1\u0192\3\u01b2\1\u0192\6\u01b2\1\u0192\55\u01b2\1\u0205\1\u01b2"+
+ "\1\u01b4\2\u0195\1\u01b5\1\u01b4\1\u0195\4\u01b4\1\u0195\1\u01b4"+
+ "\1\u0195\3\u01b4\1\u0195\6\u01b4\1\u0195\55\u01b4\1\u0205\1\u01b4"+
+ "\7\272\1\u0206\2\272\1\0\1\272\1\0\1\u0158\67\272"+
+ "\1\0\1\272\12\u015b\1\0\1\u015b\1\0\1\u015b\1\0"+
+ "\70\u015b\7\u015c\1\u0207\4\u015c\1\u015d\106\u015c\1\u015d\22\u015c"+
+ "\1\u0208\47\u015c\7\u0160\1\u0209\2\u0160\1\u0161\106\u0160\1\u0161"+
+ "\24\u0160\1\u020a\47\u0160\7\306\1\u020b\2\306\1\0\4\306"+
+ "\1\u0164\65\306\1\0\1\306\12\u020c\1\u020d\72\u020c\1\0"+
+ "\1\u020c\7\313\1\u020e\4\313\1\0\2\313\1\u0167\65\313"+
+ "\1\0\1\313\14\u020f\1\u020d\70\u020f\1\0\1\u020f\7\316"+
+ "\1\u0210\2\316\1\0\1\316\1\0\70\316\1\0\1\316"+
+ "\7\u016c\1\u0211\4\u016c\1\u016d\106\u016c\1\u016d\22\u016c\1\u0212"+
+ "\47\u016c\7\u0170\1\u0213\2\u0170\1\u0171\106\u0170\1\u0171\24\u0170"+
+ "\1\u0214\47\u0170\7\332\1\u0215\2\332\1\0\4\332\1\u0174"+
+ "\65\332\1\0\1\332\12\u0216\1\u0217\72\u0216\1\0\1\u0216"+
+ "\7\336\1\u0218\4\336\1\0\2\336\1\u0177\65\336\1\0"+
+ "\1\336\14\u0219\1\u0217\70\u0219\1\0\1\u0219\40\0\1\u021a"+
+ "\141\0\1\u01ef\34\0\1\u01f1\15\0\3\u01f1\2\0\1\u01f1"+
+ "\11\0\1\u01f1\1\0\2\u01f1\7\0\1\u01f1\1\0\1\u01f0"+
+ "\2\u01f1\6\0\1\u01f1\10\0\4\112\7\0\1\112\6\0"+
+ "\6\112\1\0\7\112\1\u021b\3\112\1\0\13\112\1\0"+
+ "\4\112\1\0\11\112\1\0\1\112\6\0\4\112\7\0"+
+ "\1\112\6\0\6\112\1\0\6\112\1\u021c\4\112\1\0"+
+ "\13\112\1\0\1\112\1\u021c\2\112\1\0\11\112\1\0"+
+ "\1\112\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\6\166\1\u021d\4\166\1\0\6\166\1\u021e\4\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\54\0\1\u021f\5\0"+
+ "\1\u021f\73\0\1\u0220\14\0\1\u0220\66\0\1\u0221\11\0"+
+ "\1\u0221\74\0\1\u0222\11\0\1\u0222\77\0\1\u0223\14\0"+
+ "\1\u0223\22\0\2\231\1\0\35\231\1\u0224\46\231\2\240"+
+ "\1\0\35\240\1\u0225\46\240\14\u015c\1\u015d\23\u015c\1\u0226"+
+ "\46\u015c\12\u0160\1\u0161\25\u0160\1\u0227\46\u0160\12\u020c\1\u01ca"+
+ "\4\u020c\1\u0228\65\u020c\1\u01ca\1\u020c\14\u020f\1\u01d0\2\u020f"+
+ "\1\u0229\65\u020f\1\u01d0\1\u020f\14\u016c\1\u016d\23\u016c\1\u022a"+
+ "\46\u016c\12\u0170\1\u0171\25\u0170\1\u022b\46\u0170\12\u0216\1\u01e4"+
+ "\4\u0216\1\u022c\65\u0216\1\u01e4\1\u0216\14\u0219\1\u01ea\2\u0219"+
+ "\1\u022d\65\u0219\1\u01ea\1\u0219\41\0\1\u022e\53\0\4\112"+
+ "\7\0\1\112\6\0\6\112\1\0\13\112\1\0\4\112"+
+ "\1\u022f\6\112\1\0\4\112\1\0\11\112\1\0\1\112"+
+ "\6\0\4\112\7\0\1\112\6\0\6\112\1\0\3\112"+
+ "\1\u0230\7\112\1\0\4\112\1\u0230\6\112\1\0\4\112"+
+ "\1\0\11\112\1\0\1\112\6\0\4\166\7\0\1\166"+
+ "\6\0\6\166\1\0\11\166\1\u0231\1\166\1\0\13\166"+
+ "\1\0\4\166\1\0\11\166\1\0\1\166\6\0\4\166"+
+ "\7\0\1\166\6\0\6\166\1\0\10\166\1\u0232\2\166"+
+ "\1\0\13\166\1\0\4\166\1\0\11\166\1\0\1\166"+
+ "\55\0\1\u0233\24\0\1\u0233\52\0\1\u0234\20\0\1\u0234"+
+ "\70\0\1\u0235\13\0\1\u0235\53\0\2\u0236\112\0\1\u0237"+
+ "\35\0\1\u0237\11\0\2\231\1\0\36\231\1\u0238\45\231"+
+ "\2\240\1\0\36\240\1\u0239\45\240\14\u015c\1\u015d\24\u015c"+
+ "\1\u023a\45\u015c\12\u0160\1\u0161\26\u0160\1\u023b\45\u0160\12\u020c"+
+ "\1\u023c\4\u020c\1\u0228\65\u020c\1\u01ca\1\u020c\14\u020f\1\u023d"+
+ "\2\u020f\1\u0229\65\u020f\1\u01d0\1\u020f\14\u016c\1\u016d\24\u016c"+
+ "\1\u023e\45\u016c\12\u0170\1\u0171\26\u0170\1\u023f\45\u0170\12\u0216"+
+ "\1\u0240\4\u0216\1\u022c\65\u0216\1\u01e4\1\u0216\14\u0219\1\u0241"+
+ "\2\u0219\1\u022d\65\u0219\1\u01ea\1\u0219\42\0\1\u0242\52\0"+
+ "\4\112\7\0\1\112\6\0\6\112\1\0\13\112\1\0"+
+ "\7\112\1\u0243\3\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\11\166\1\u0244\1\166\1\0\13\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\6\166\1\u0245\4\166\1\0\13\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\44\0\1\u0246\11\0"+
+ "\1\u0246\72\0\1\u0247\14\0\1\u0247\71\0\1\u0248\14\0"+
+ "\1\u0248\27\0\2\231\1\0\37\231\1\u0249\44\231\2\240"+
+ "\1\0\37\240\1\u024a\44\240\14\u015c\1\u015d\25\u015c\1\u024b"+
+ "\44\u015c\12\u0160\1\u0161\27\u0160\1\u024c\44\u0160\14\u016c\1\u016d"+
+ "\25\u016c\1\u024d\44\u016c\12\u0170\1\u0171\27\u0170\1\u024e\44\u0170"+
+ "\41\0\1\u024f\53\0\4\112\7\0\1\112\6\0\5\112"+
+ "\1\u0250\1\0\13\112\1\0\13\112\1\0\4\112\1\0"+
+ "\11\112\1\0\1\112\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\13\166\1\0\4\166\1\u0251\6\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\6\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\5\166\1\u0252\5\166\1\0"+
+ "\13\166\1\0\4\166\1\0\11\166\1\0\1\166\2\231"+
+ "\1\0\36\231\1\u0253\45\231\2\240\1\0\36\240\1\u0254"+
+ "\45\240\14\u015c\1\u015d\24\u015c\1\u0255\45\u015c\12\u0160\1\u0161"+
+ "\26\u0160\1\u0256\45\u0160\14\u016c\1\u016d\24\u016c\1\u0257\45\u016c"+
+ "\12\u0170\1\u0171\26\u0170\1\u0258\45\u0170\36\0\1\u0259\56\0"+
+ "\4\112\7\0\1\112\6\0\6\112\1\0\5\112\1\u025a"+
+ "\5\112\1\0\13\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\13\166\1\0\13\166\1\0\4\166\1\0\1\166\1\u025b"+
+ "\7\166\1\0\1\166\2\231\1\0\33\231\1\u025c\50\231"+
+ "\2\240\1\0\33\240\1\u025d\50\240\14\u015c\1\u015d\21\u015c"+
+ "\1\u025e\50\u015c\12\u0160\1\u0161\23\u0160\1\u025f\50\u0160\14\u016c"+
+ "\1\u016d\21\u016c\1\u0260\50\u016c\12\u0170\1\u0171\23\u0170\1\u0261"+
+ "\50\u0170\6\0\4\112\7\0\1\112\6\0\6\112\1\0"+
+ "\7\112\1\u0262\3\112\1\0\13\112\1\0\4\112\1\0"+
+ "\11\112\1\0\1\112\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\13\166\1\0\4\166\1\u0263\6\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\6\0\4\112\7\0"+
+ "\1\112\6\0\6\112\1\0\13\112\1\0\13\112\1\0"+
+ "\4\112\1\0\11\112\1\0\1\u0264\6\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\10\166\1\u0265\2\166\1\0"+
+ "\13\166\1\0\4\166\1\0\11\166\1\0\1\166\6\0"+
+ "\4\112\7\0\1\112\6\0\6\112\1\0\5\112\1\u0266"+
+ "\5\112\1\0\13\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\4\166\1\u0267\6\166\1\0\13\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\112\7\0\1\112\6\0"+
+ "\6\112\1\0\5\112\1\u0268\5\112\1\0\13\112\1\0"+
+ "\4\112\1\0\11\112\1\0\1\112\6\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\5\166\1\u0269\5\166\1\0"+
+ "\13\166\1\0\4\166\1\0\11\166\1\0\1\166\6\0"+
+ "\4\112\7\0\1\112\6\0\6\112\1\0\13\112\1\0"+
+ "\4\112\1\u026a\6\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\6\u026b\4\u026c\7\u026b\1\u026c\5\u026b\1\0\6\u026c"+
+ "\1\u026b\13\u026c\1\u026b\13\u026c\1\u026b\4\u026c\1\u026b\11\u026c"+
+ "\1\u026b\1\u026c\43\0\1\u026d\3\0\1\u026e\7\0\1\u026f"+
+ "\1\u0270\21\0\1\u0271\12\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\4\166\1\u0272\3\166\1\u0273\2\166\1\0"+
+ "\4\166\1\u0274\1\u0275\5\166\1\0\4\166\1\0\6\166"+
+ "\1\u0276\2\166\1\0\1\166\60\0\1\u0277\77\0\1\u0278"+
+ "\115\0\1\u0279\105\0\1\u027a\107\0\1\u027b\34\0\4\166"+
+ "\7\0\1\166\6\0\6\166\1\0\13\166\1\0\5\166"+
+ "\1\u027c\5\166\1\0\4\166\1\0\11\166\1\0\1\166"+
+ "\6\0\4\166\7\0\1\166\6\0\6\166\1\0\12\166"+
+ "\1\u027d\1\0\13\166\1\0\4\166\1\0\11\166\1\0"+
+ "\1\166\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\13\166\1\0\5\166\1\u027e\5\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\13\166\1\0\4\166\1\u027f\6\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\6\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\13\166\1\0\5\166\1\u0280"+
+ "\5\166\1\0\4\166\1\0\11\166\1\0\1\166\45\0"+
+ "\1\u0281\136\0\1\u0282\107\0\1\u0283\67\0\1\u0284\125\0"+
+ "\1\u0285\16\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\6\166\1\u0286\4\166\1\0\13\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\13\166\1\0\13\166\1\0\4\166\1\0"+
+ "\1\166\1\u0287\7\166\1\0\1\166\6\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\13\166\1\0\13\166\1\0"+
+ "\4\166\1\0\2\166\1\u0288\6\166\1\0\1\166\6\0"+
+ "\4\166\7\0\1\166\6\0\6\166\1\0\13\166\1\0"+
+ "\4\166\1\u0289\6\166\1\0\4\166\1\0\11\166\1\0"+
+ "\1\166\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\13\166\1\0\13\166\1\0\4\166\1\0\2\166\1\u028a"+
+ "\6\166\1\0\1\166\47\0\1\u028b\74\0\1\u028c\106\0"+
+ "\1\u028d\116\0\1\u028e\105\0\1\u028f\50\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\10\166\1\u0290\2\166\1\0"+
+ "\13\166\1\0\4\166\1\0\11\166\1\0\1\166\6\0"+
+ "\4\166\7\0\1\166\6\0\5\166\1\u0291\1\0\13\166"+
+ "\1\0\13\166\1\0\4\166\1\0\11\166\1\0\1\166"+
+ "\6\0\4\166\7\0\1\166\6\0\5\166\1\u0292\1\0"+
+ "\13\166\1\0\13\166\1\0\4\166\1\0\11\166\1\0"+
+ "\1\166\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\6\166\1\u0293\4\166\1\0\13\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\5\166\1\u0294\5\166\1\0\13\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\60\0\1\u0295\131\0"+
+ "\1\u0296\52\0\1\u0297\106\0\1\u0298\45\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\13\166\1\0\5\166\1\u0299"+
+ "\5\166\1\0\4\166\1\0\11\166\1\0\1\166\6\0"+
+ "\4\166\7\0\1\166\6\0\6\166\1\0\13\166\1\0"+
+ "\13\166\1\0\4\166\1\0\7\166\1\u029a\1\166\1\0"+
+ "\1\166\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\10\166\1\u029b\2\166\1\0\13\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\10\166\1\u029c\2\166\1\0\13\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\104\0\1\u029d\63\0"+
+ "\1\u0285\131\0\1\u028f\106\0\1\u029e\10\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\13\166\1\0\13\166\1\0"+
+ "\4\166\1\0\10\166\1\u029f\1\0\1\166\6\0\4\166"+
+ "\7\0\1\166\6\0\6\166\1\0\13\166\1\0\6\166"+
+ "\1\u028a\4\166\1\0\4\166\1\0\11\166\1\0\1\166"+
+ "\6\0\4\166\7\0\1\166\6\0\6\166\1\0\13\166"+
+ "\1\0\13\166\1\0\4\166\1\0\10\166\1\u0294\1\0"+
+ "\1\166\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\13\166\1\0\13\166\1\0\4\166\1\0\10\166\1\u02a0"+
+ "\1\0\1\166\35\0\1\u0285\154\0\1\u02a1\11\0\4\166"+
+ "\7\0\1\166\6\0\5\166\1\u028a\1\0\13\166\1\0"+
+ "\13\166\1\0\4\166\1\0\11\166\1\0\1\166\6\0"+
+ "\4\166\7\0\1\166\6\0\6\166\1\0\13\166\1\0"+
+ "\13\166\1\0\4\166\1\0\7\166\1\u02a2\1\166\1\0"+
+ "\1\166\57\0\1\u0285\35\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\13\166\1\0\4\166\1\u028a\6\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166";
/**
* The transition table of the DFA
@@ -821,7 +818,7 @@
/* error messages for the codes above */
final private static String YY_ERROR_MSG[] = {
- "Unkown internal scanner error", //$NON-NLS-1$
+ "Unknown internal scanner error", //$NON-NLS-1$
"Internal error: unknown state", //$NON-NLS-1$
"Error: could not match input", //$NON-NLS-1$
"Error: pushback value was too large" //$NON-NLS-1$
@@ -835,45 +832,45 @@
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 9,
- 1, 9, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9,
- 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 9, 1,
- 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1,
- 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1,
- 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1,
- 1, 1, 9, 9, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 9, 1, 1, 1, 1, 9, 1, 1, 1, 1, 9, 9, 1, 9,
- 3, 3, 3, 3, 3, 3, 9, 9, 1, 1, 9, 1, 9, 1, 1, 1,
- 1, 1, 9, 9, 1, 9, 3, 3, 3, 3, 3, 3, 9, 9, 1, 1,
- 1, 9, 1, 1, 1, 9, 9, 1, 1, 0, 1, 0, 9, 1, 2, 1,
- 2, 1, 0, 0, 0, 9, 1, 1, 1, 9, 9, 0, 0, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 9, 1, 0, 0, 1, 9, 0, 9, 0, 0,
- 9, 0, 0, 0, 9, 1, 1, 0, 1, 0, 9, 0, 0, 0, 1, 1,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0,
- 1, 0, 0, 9, 0, 0, 1, 0, 0, 9, 0, 0, 0, 1, 0, 1,
- 1, 0, 0, 9, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 9, 0,
- 0, 0, 0, 0, 1, 1, 9, 1, 9, 9, 9, 9, 1, 1, 1, 1,
- 2, 13, 3, 2, 2, 13, 3, 2, 0, 1, 1, 0, 1, 1, 1, 1,
- 2, 13, 3, 2, 2, 13, 3, 2, 0, 1, 1, 0, 1, 1, 0, 9,
- 9, 9, 0, 0, 1, 1, 1, 9, 0, 0, 13, 9, 13, 9, 9, 1,
- 1, 1, 0, 0, 1, 3, 2, 2, 3, 2, 2, 0, 0, 0, 0, 0,
- 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1,
- 1, 1, 1, 0, 1, 1, 3, 2, 3, 2, 1, 1, 1, 1, 1, 0,
- 2, 3, 3, 3, 2, 2, 3, 3, 3, 2, 1, 1, 1, 1, 0, 0,
- 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 2, 2,
- 3, 3, 3, 2, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0,
- 9, 9, 0, 1, 9, 0, 1, 1, 1, 5, 13, 13, 0, 0, 0, 0,
- 0, 0, 0, 1, 1, 0, 1, 1, 9, 5, 1, 3, 2, 3, 2, 1,
- 0, 9, 1, 0, 1, 3, 2, 3, 2, 1, 0, 9, 1, 0, 0, 1,
- 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 2, 2, 0, 0, 2, 2,
- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 9, 9, 1, 1, 2, 2,
- 1, 1, 2, 2, 1, 1, 0, 1, 1, 1, 9, 9, 9, 1, 1, 2,
- 2, 2, 2, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 9, 1, 1,
- 1, 1, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
- 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
- 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0,
- 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1,
- 1, 0, 0, 1, 1, 0, 1
+ 1, 9, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1,
+ 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 9, 1, 1,
+ 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1,
+ 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1,
+ 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1,
+ 1, 9, 9, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 9, 1, 1, 1, 1, 9, 1, 1, 1, 1, 9, 9, 1, 9, 3,
+ 3, 3, 3, 9, 9, 1, 1, 9, 1, 9, 1, 1, 1, 1, 1, 9,
+ 9, 1, 9, 3, 3, 3, 3, 9, 9, 1, 1, 1, 9, 1, 1, 1,
+ 9, 9, 1, 1, 0, 1, 0, 9, 1, 2, 1, 2, 1, 0, 0, 0,
+ 9, 1, 1, 1, 9, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 9, 1, 0, 0, 1, 9, 0, 9, 0, 0, 9, 0, 0, 0, 9,
+ 1, 1, 0, 1, 0, 9, 0, 0, 0, 1, 1, 0, 0, 0, 0, 9,
+ 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 1, 0, 0, 9, 0,
+ 0, 1, 0, 0, 9, 0, 0, 0, 1, 0, 1, 1, 0, 0, 9, 0,
+ 0, 0, 1, 0, 1, 1, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1,
+ 1, 9, 1, 9, 9, 9, 9, 1, 1, 1, 1, 2, 13, 3, 2, 2,
+ 13, 3, 2, 0, 1, 1, 0, 1, 1, 1, 1, 2, 13, 3, 2, 2,
+ 13, 3, 2, 0, 1, 1, 0, 1, 1, 0, 9, 9, 9, 0, 0, 1,
+ 1, 1, 9, 0, 0, 13, 9, 13, 9, 9, 1, 1, 1, 0, 0, 1,
+ 3, 2, 2, 3, 2, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+ 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1,
+ 1, 3, 2, 3, 2, 1, 1, 1, 1, 1, 0, 2, 3, 3, 3, 2,
+ 2, 3, 3, 3, 2, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0,
+ 0, 1, 1, 1, 1, 2, 3, 3, 3, 2, 2, 3, 3, 3, 2, 1,
+ 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 9, 9, 0, 1, 9,
+ 0, 1, 1, 1, 5, 13, 13, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+ 0, 1, 1, 9, 5, 1, 3, 2, 3, 2, 1, 0, 9, 1, 0, 1,
+ 3, 2, 3, 2, 1, 0, 9, 1, 0, 0, 1, 1, 1, 1, 0, 0,
+ 0, 0, 0, 1, 1, 2, 2, 0, 0, 2, 2, 0, 0, 0, 1, 1,
+ 1, 1, 0, 0, 0, 9, 9, 1, 1, 2, 2, 1, 1, 2, 2, 1,
+ 1, 0, 1, 1, 1, 9, 9, 9, 1, 1, 2, 2, 2, 2, 0, 1,
+ 1, 1, 1, 1, 2, 2, 2, 2, 9, 1, 1, 1, 1, 3, 3, 3,
+ 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0,
+ 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
+ 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 9, 1,
+ 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1,
+ 0, 1
};
/** the input device */
@@ -906,7 +903,7 @@
private int yy_endRead;
/** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ //private int yyline;
/** the number of characters up to the start of the matched text */
private int yychar;
@@ -925,6 +922,11 @@
/** yy_atEOF == true <=> the scanner has returned a value for EOF */
private boolean yy_atEOF;
+ // records the number of times we've set up new input to be parsed
+ private long fInputStamp = -1;
+ // records the last input iteration for which we reported an error
+ private long fErroredInputstamp = -1;
+
/** denotes if the user-EOF-code has already been executed */
private boolean yy_eof_done;
@@ -1137,7 +1139,16 @@
if (longscan)
fCurrentTagName = internalTagName;
// read the next region and context
- internalContext = primGetNextToken();
+ try {
+ internalContext = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ yybegin(ST_ABORT_EMBEDDED);
+ longscan = false;
+ }
if (longscan) {
// Returning from a block tag scan requires restoring some state variables
// as well as handling the block region and setting up for normal scanning
@@ -1153,7 +1164,15 @@
fEmbeddedHint = previousEmbeddedHint;
fCurrentTagName = previousCurrentTagName;
yybegin(previousState);
- internalContext = primGetNextToken();
+ try {
+ internalContext = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ yybegin(ST_ABORT_EMBEDDED);
+ }
}
} catch (IOException e) {
// primGetNextToken() calls may throw an IOException
@@ -1349,9 +1368,18 @@
int resumeState = yystate();
yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
if(yy_markedPos == yy_startRead) {
- String jspContext = primGetNextToken();
+ try {
+ String jspContext = primGetNextToken();
+ yybegin(resumeState);
+ return jspContext;
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
yybegin(resumeState);
- return jspContext;
+ return UNDEFINED;
}
return searchContext;
}
@@ -1367,9 +1395,18 @@
int resumeState = yystate();
yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
if(yy_markedPos == yy_startRead) {
- String jspContext = primGetNextToken();
+ try {
+ String jspContext = primGetNextToken();
+ yybegin(resumeState);
+ return jspContext;
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
yybegin(resumeState);
- return jspContext;
+ return UNDEFINED;
}
return searchContext;
}
@@ -1385,9 +1422,18 @@
int resumeState = yystate();
yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
if(yy_markedPos == yy_startRead) {
- String jspContext = primGetNextToken();
+ try {
+ String jspContext = primGetNextToken();
+ yybegin(resumeState);
+ return jspContext;
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
yybegin(resumeState);
- return jspContext;
+ return UNDEFINED;
}
return searchContext;
}
@@ -1417,7 +1463,16 @@
fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
yybegin(YYINITIAL);
- String context = primGetNextToken();
+ String context = null;
+ try {
+ context = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ return UNDEFINED;
+ }
if(context.equals(XMLRegionContexts.XML_CDATA_OPEN)) {
assembleEmbeddedContainer(XMLRegionContexts.XML_CDATA_OPEN, XMLRegionContexts.XML_CDATA_CLOSE);
}
@@ -1504,7 +1559,15 @@
// been a Block, resume scanning normally immediately
if (yy_markedPos == yy_startRead) {
yybegin(immediateFallbackState);
- return primGetNextToken();
+ try {
+ return primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
+ return UNDEFINED;
}
}
else {
@@ -1515,8 +1578,17 @@
yybegin(exitState);
// If the ending occurs at the very beginning of what would have
// been a Block, resume scanning normally immediately
- if(yy_markedPos == yy_startRead)
- return primGetNextToken();
+ if(yy_markedPos == yy_startRead) {
+ try {
+ return primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
+ return UNDEFINED;
+ }
return searchContext;
}
/**
@@ -1555,7 +1627,15 @@
textLength = length = fBufferedLength;
fShouldLoadBuffered = false;
} else {
- context = primGetNextToken();
+ try {
+ context = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ return fRegionFactory.createToken(UNDEFINED, start, textLength, length, null, null);
+ }
if (context == PROXY_CONTEXT) {
return fEmbeddedContainer;
} else if (context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) {
@@ -1576,7 +1656,15 @@
}
}
// store the next token
- f_context = primGetNextToken();
+ try {
+ f_context = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ return fRegionFactory.createToken(UNDEFINED, start, textLength, length, null, null);
+ }
if (f_context == PROXY_CONTEXT) {
fBufferedEmbeddedContainer = fEmbeddedContainer;
fShouldLoadBuffered = true;
@@ -1650,6 +1738,7 @@
if (Debug.debugTokenizer) {
System.out.println("resetting tokenizer");//$NON-NLS-1$
}
+ fInputStamp++;
fOffset = newOffset;
/* the input device */
@@ -1684,7 +1773,7 @@
yy_endRead = 0;
/* number of newlines encountered up to the start of the matched text */
- yyline = 0;
+ //yyline = 0;
/* the number of characters up to the start of the matched text */
yychar = 0;
@@ -1790,7 +1879,7 @@
int [] trans = new int[32589];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 8702) {
+ while (i < 8650) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
value--;
@@ -1912,17 +2001,23 @@
/**
- * Reports an error that occured while scanning - from the SED JFlex skeleton
+ * Reports an error that occurred while scanning - method from the SSE custom JFlex skeleton
*
- * @param errorCode the code of the errormessage to display
+ * @param errorCode the code of the error message to display
*/
private void yy_ScanError(int errorCode) {
- try {
- Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);
- }
- catch (ArrayIndexOutOfBoundsException e) {
- Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
- }
+ if (fErroredInputstamp != fInputStamp) {
+ IllegalStateException e = new IllegalStateException("Instance:" + System.identityHashCode(this) + " Input:" + fInputStamp + " offset:" + (fOffset + yychar) + " state:" + yystate());
+ try {
+ Logger.logException(YY_ERROR_MSG[errorCode], e);
+ throw(e);
+ }
+ catch (ArrayIndexOutOfBoundsException e2) {
+ Logger.logException(YY_ERROR_MSG[YY_UNKNOWN_ERROR], e2);
+ }
+ fErroredInputstamp = fInputStamp;
+ }
+
// DO NOT EXIT the VM on an error
// System.exit(1);
}
@@ -2059,31 +2154,6 @@
yychar+= yylength();
- boolean yy_counted = false;
- for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
- yy_currentPos++) {
- switch (yy_buffer[yy_currentPos]) {
- case '\r':
- yyline++;
- yy_counted = true;
- break;
- case '\n':
- if (yy_counted)
- yy_counted = false;
- else {
- yyline++;
- }
- break;
- default:
- yy_counted = false;
- }
- }
-
- if (yy_counted) {
- if ( yy_advance() == '\n' ) yyline--;
- if ( !yy_atEOF ) yy_currentPos--;
- }
-
yy_action = -1;
yy_currentPos = yy_startRead = yy_markedPos;
@@ -2122,15 +2192,15 @@
switch (yy_action) {
- case 123:
+ case 122:
+ case 127:
case 128:
- case 129:
+ case 277:
+ case 281:
case 282:
- case 286:
- case 287:
- case 405:
- case 408:
- case 505:
+ case 400:
+ case 403:
+ case 500:
{ /* only allow for non-JSP tags for this does not obey JSP quoting rules */
if(Debug.debugTokenizer)
dump("attr value");//$NON-NLS-1$
@@ -2139,18 +2209,18 @@
yybegin(ST_XML_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 680: break;
- case 168:
+ case 675: break;
+ case 167:
+ case 172:
case 173:
- case 174:
- case 334:
- case 340:
- case 341:
- case 436:
- case 437:
- case 438:
- case 440:
- case 521:
+ case 329:
+ case 335:
+ case 336:
+ case 431:
+ case 432:
+ case 433:
+ case 435:
+ case 516:
{ /* JSP attribute values have escape semantics */
if(Debug.debugTokenizer)
dump("jsp attr value");//$NON-NLS-1$
@@ -2159,11 +2229,11 @@
yybegin(ST_XML_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 681: break;
+ case 676: break;
+ case 642:
case 647:
- case 652:
+ case 654:
case 659:
- case 664:
{
if(Debug.debugTokenizer)
dump("jsp directive tag name");//$NON-NLS-1$
@@ -2172,8 +2242,8 @@
yybegin(ST_XML_ATTRIBUTE_NAME);
return JSP_DIRECTIVE_NAME;
}
- case 682: break;
- case 622:
+ case 677: break;
+ case 617:
{
if(Debug.debugTokenizer)
dump("XSL processing instruction target");//$NON-NLS-1$
@@ -2181,14 +2251,14 @@
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 683: break;
+ case 678: break;
+ case 600:
+ case 603:
+ case 604:
case 605:
+ case 606:
+ case 607:
case 608:
- case 609:
- case 610:
- case 611:
- case 612:
- case 613:
{
if(Debug.debugTokenizer)
dump("\nCDATA start");//$NON-NLS-1$
@@ -2196,8 +2266,8 @@
yybegin(ST_CDATA_TEXT);
return XML_CDATA_OPEN;
}
- case 684: break;
- case 597:
+ case 679: break;
+ case 592:
{
if(Debug.debugTokenizer)
dump("jsp:root tag name");//$NON-NLS-1$
@@ -2206,32 +2276,32 @@
yybegin(ST_XML_ATTRIBUTE_NAME);
return JSP_ROOT_TAG_NAME;
}
- case 685: break;
- case 588:
+ case 680: break;
+ case 583:
{
if(Debug.debugTokenizer)
dump("element");//$NON-NLS-1$
yybegin(ST_XML_ELEMENT_DECLARATION);
return XML_ELEMENT_DECLARATION;
}
- case 686: break;
- case 587:
+ case 681: break;
+ case 582:
{
if(Debug.debugTokenizer)
dump("attlist");//$NON-NLS-1$
yybegin(ST_XML_ATTLIST_DECLARATION);
return XML_ATTLIST_DECLARATION;
}
- case 687: break;
- case 586:
+ case 682: break;
+ case 581:
{
if(Debug.debugTokenizer)
dump("doctype");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_DECLARATION);
return XML_DOCTYPE_DECLARATION;
}
- case 688: break;
- case 571:
+ case 683: break;
+ case 566:
{
if(Debug.debugTokenizer)
dump("doctype external id");//$NON-NLS-1$
@@ -2239,8 +2309,8 @@
yybegin(ST_XML_DOCTYPE_ID_PUBLIC);
return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;
}
- case 689: break;
- case 570:
+ case 684: break;
+ case 565:
{
if(Debug.debugTokenizer)
dump("doctype external id");//$NON-NLS-1$
@@ -2248,8 +2318,8 @@
yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;
}
- case 690: break;
- case 564:
+ case 685: break;
+ case 559:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction target");//$NON-NLS-1$
@@ -2258,30 +2328,30 @@
yybegin(ST_DHTML_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 691: break;
- case 539:
- case 580:
- case 581:
+ case 686: break;
+ case 534:
+ case 575:
+ case 576:
{
return JSP_VBL_QUOTED_CONTENT;
}
- case 692: break;
- case 529:
- case 576:
- case 577:
+ case 687: break;
+ case 524:
+ case 571:
+ case 572:
{
return JSP_EL_QUOTED_CONTENT;
}
- case 693: break;
- case 520:
+ case 688: break;
+ case 515:
{
if(Debug.debugTokenizer)
dump("\nJSP comment close");//$NON-NLS-1$
yybegin(YYINITIAL);
return JSP_COMMENT_CLOSE;
}
- case 694: break;
- case 507:
+ case 689: break;
+ case 502:
{
if (Debug.debugTokenizer) {
System.out.println("begin embedded region: " + fEmbeddedHint+", el-unquoted");//$NON-NLS-1$
@@ -2302,8 +2372,8 @@
fEmbeddedPostState = ST_XML_EQUALS;
return PROXY_CONTEXT;
}
- case 695: break;
- case 506:
+ case 690: break;
+ case 501:
{
if (Debug.debugTokenizer) {
System.out.println("begin embedded region: " + fEmbeddedHint+", el-unquoted");//$NON-NLS-1$
@@ -2324,15 +2394,15 @@
fEmbeddedPostState = ST_XML_EQUALS;
return PROXY_CONTEXT;
}
- case 696: break;
- case 500:
+ case 691: break;
+ case 495:
{
if(Debug.debugTokenizer)
dump("\nCharRef");//$NON-NLS-1$
return XML_CHAR_REFERENCE;
}
- case 697: break;
- case 497:
+ case 692: break;
+ case 492:
{
if(Debug.debugTokenizer)
dump("\ncomment start");//$NON-NLS-1$
@@ -2341,20 +2411,20 @@
yybegin(ST_XML_COMMENT);
return XML_COMMENT_OPEN;
}
- case 698: break;
- case 496:
- case 515:
+ case 693: break;
+ case 491:
+ case 510:
+ case 513:
+ case 517:
case 518:
+ case 520:
case 522:
- case 523:
case 525:
case 527:
+ case 528:
case 530:
case 532:
- case 533:
case 535:
- case 537:
- case 540:
{
/* JSP comment begun (anywhere)
* A consequence of the start anywhere possibility is that the
@@ -2440,9 +2510,9 @@
return PROXY_CONTEXT;
}
}
- case 699: break;
- case 399:
- case 400:
+ case 694: break;
+ case 394:
+ case 395:
{
if(Debug.debugTokenizer)
dump("XML processing instruction target");//$NON-NLS-1$
@@ -2451,8 +2521,8 @@
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 700: break;
- case 398:
+ case 695: break;
+ case 393:
{
if(Debug.debugTokenizer)
dump("comment end");//$NON-NLS-1$
@@ -2460,16 +2530,16 @@
yybegin(YYINITIAL);
return XML_COMMENT_CLOSE;
}
- case 701: break;
- case 397:
+ case 696: break;
+ case 392:
{
if(Debug.debugTokenizer)
dump("CDATA end");//$NON-NLS-1$
yybegin(fStateStack.pop());
return XML_CDATA_CLOSE;
}
- case 702: break;
- case 396:
+ case 697: break;
+ case 391:
{
yybegin(ST_JSP_VBL);
if(yylength() > 2)
@@ -2482,15 +2552,15 @@
yybegin(YYINITIAL);
return PROXY_CONTEXT;
}
- case 703: break;
- case 395:
+ case 698: break;
+ case 390:
{
if(Debug.debugTokenizer)
dump("\nPEReference");//$NON-NLS-1$
return XML_PE_REFERENCE;
}
- case 704: break;
- case 394:
+ case 699: break;
+ case 389:
{
yybegin(ST_JSP_EL);
if(yylength() > 2)
@@ -2503,27 +2573,27 @@
yybegin(YYINITIAL);
return PROXY_CONTEXT;
}
- case 705: break;
- case 391:
+ case 700: break;
+ case 386:
{
if(Debug.debugTokenizer)
dump("\nEntityRef");//$NON-NLS-1$
return XML_ENTITY_REFERENCE;
}
- case 706: break;
- case 385:
- case 425:
- case 433:
+ case 701: break;
+ case 380:
+ case 420:
+ case 428:
+ case 441:
case 446:
case 451:
case 456:
- case 461:
- case 467:
- case 473:
+ case 462:
+ case 468:
+ case 472:
case 477:
case 482:
- case 487:
- case 493:
+ case 488:
{
/* JSP expression begun (anywhere)
* A consequence of the start anywhere possibility is that the
@@ -2598,20 +2668,20 @@
return PROXY_CONTEXT;
}
}
- case 707: break;
- case 384:
- case 424:
- case 432:
+ case 702: break;
+ case 379:
+ case 419:
+ case 427:
+ case 440:
case 445:
case 450:
case 455:
- case 460:
- case 466:
- case 472:
+ case 461:
+ case 467:
+ case 471:
case 476:
case 481:
- case 486:
- case 492:
+ case 487:
{
/* JSP declaration begun (anywhere)
* A consequence of the start anywhere possibility is that the
@@ -2685,20 +2755,20 @@
return PROXY_CONTEXT;
}
}
- case 708: break;
- case 383:
- case 423:
- case 431:
+ case 703: break;
+ case 378:
+ case 418:
+ case 426:
+ case 439:
case 444:
case 449:
case 454:
- case 459:
- case 465:
- case 471:
+ case 460:
+ case 466:
+ case 470:
case 475:
case 480:
- case 485:
- case 491:
+ case 486:
{
/* JSP directive begun (anywhere)
* A consequence of the start anywhere possibility is that the
@@ -2768,54 +2838,54 @@
return PROXY_CONTEXT;
}
}
- case 709: break;
- case 373:
+ case 704: break;
+ case 368:
{
yybegin(ST_JSP_VBL_DQUOTES_END);
return JSP_VBL_QUOTED_CONTENT;
}
- case 710: break;
- case 369:
+ case 705: break;
+ case 364:
{
yybegin(ST_JSP_VBL_SQUOTES_END);
return JSP_VBL_QUOTED_CONTENT;
}
- case 711: break;
- case 367:
+ case 706: break;
+ case 362:
{
fELlevel++;
if(fELlevel == 1) {
return JSP_VBL_OPEN;
}
}
- case 712: break;
- case 357:
+ case 707: break;
+ case 352:
{
yybegin(ST_JSP_EL_DQUOTES_END);
return JSP_EL_QUOTED_CONTENT;
}
- case 713: break;
- case 353:
+ case 708: break;
+ case 348:
{
yybegin(ST_JSP_EL_SQUOTES_END);
return JSP_EL_QUOTED_CONTENT;
}
- case 714: break;
- case 351:
+ case 709: break;
+ case 346:
{
//System.out.println(JSP_EL_CONTENT+ ":[" + yytext() + "]");
return JSP_EL_CONTENT;
}
- case 715: break;
- case 350:
+ case 710: break;
+ case 345:
{
fELlevel++;
if(fELlevel == 1) {
return JSP_EL_OPEN;
}
}
- case 716: break;
- case 347:
+ case 711: break;
+ case 342:
{
int enterState = yystate();
yybegin(ST_JSP_DQUOTED_VBL);
@@ -2830,8 +2900,8 @@
}
return PROXY_CONTEXT;
}
- case 717: break;
- case 346:
+ case 712: break;
+ case 341:
{
int enterState = yystate();
yybegin(ST_JSP_DQUOTED_EL);
@@ -2846,8 +2916,8 @@
}
return PROXY_CONTEXT;
}
- case 718: break;
- case 345:
+ case 713: break;
+ case 340:
{
int enterState = yystate();
yybegin(ST_JSP_SQUOTED_VBL);
@@ -2862,8 +2932,8 @@
}
return PROXY_CONTEXT;
}
- case 719: break;
- case 344:
+ case 714: break;
+ case 339:
{
int enterState = yystate();
yybegin(ST_JSP_SQUOTED_EL);
@@ -2878,8 +2948,8 @@
}
return PROXY_CONTEXT;
}
- case 720: break;
- case 342:
+ case 715: break;
+ case 337:
{
if (Debug.debugTokenizer) {
System.out.println("begin embedded region: " + fEmbeddedHint+", genericEndTagOpen");//$NON-NLS-1$
@@ -2895,15 +2965,15 @@
yybegin(incomingState);
return PROXY_CONTEXT;
}
- case 721: break;
- case 292:
- case 304:
- case 310:
+ case 716: break;
+ case 287:
+ case 299:
+ case 305:
{
return XML_DOCTYPE_INTERNAL_SUBSET;
}
- case 722: break;
- case 280:
+ case 717: break;
+ case 275:
{
String tagName = yytext().substring(1);
// pushback to just after the opening bracket
@@ -2928,8 +2998,8 @@
yybegin(ST_XML_ATTRIBUTE_NAME);
return PROXY_CONTEXT;
}
- case 723: break;
- case 278:
+ case 718: break;
+ case 273:
{
String tagName = yytext().substring(1);
// pushback to just after the opening bracket
@@ -2954,8 +3024,8 @@
yybegin(ST_XML_EQUALS);
return PROXY_CONTEXT;
}
- case 724: break;
- case 276:
+ case 719: break;
+ case 271:
{
yybegin(YYINITIAL);
fEmbeddedHint = UNDEFINED;
@@ -2965,8 +3035,8 @@
fJspTagStack.pop();
return XML_EMPTY_TAG_CLOSE;
}
- case 725: break;
- case 269:
+ case 720: break;
+ case 264:
{
if(Debug.debugTokenizer)
dump("JSP end");//$NON-NLS-1$
@@ -2977,22 +3047,31 @@
yybegin(fStateStack.pop());
return JSP_DIRECTIVE_CLOSE;
}
- case 726: break;
- case 267:
- {
- if(Debug.debugTokenizer)
- dump("JSP end");//$NON-NLS-1$
- if (Debug.debugTokenizer) {
- if(fStateStack.peek()!=YYINITIAL)
- System.out.println("end embedded region");//$NON-NLS-1$
- }
- yybegin(fStateStack.pop());
- return JSP_CLOSE;
- }
- case 727: break;
+ case 721: break;
case 126:
case 171:
{
+ String type = yy_lexical_state == ST_XML_ATTRIBUTE_VALUE ? XML_TAG_ATTRIBUTE_VALUE_SQUOTE : JSP_TAG_ATTRIBUTE_VALUE_SQUOTE;
+ if (Debug.debugTokenizer) {
+ System.out.println("begin embedded region: " + fEmbeddedHint+", "+type);//$NON-NLS-1$
+ }
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
+ fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
+ yybegin(ST_XML_ATTRIBUTE_VALUE_SQUOTED);
+ fStateStack.push(yystate());
+ if(Debug.debugTokenizer)
+ dump("JSP attribute value start - complex single quoted");//$NON-NLS-1$
+ assembleEmbeddedContainer(type, type);
+ fStateStack.pop();
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
+ fEmbeddedPostState = ST_XML_EQUALS;
+ yybegin(ST_XML_ATTRIBUTE_NAME);
+ return PROXY_CONTEXT;
+ }
+ case 722: break;
+ case 125:
+ case 170:
+ {
String type = yy_lexical_state == ST_XML_ATTRIBUTE_VALUE ? XML_TAG_ATTRIBUTE_VALUE_DQUOTE : JSP_TAG_ATTRIBUTE_VALUE_DQUOTE;
if (Debug.debugTokenizer) {
@@ -3011,8 +3090,8 @@
yybegin(ST_XML_ATTRIBUTE_NAME);
return PROXY_CONTEXT;
}
- case 728: break;
- case 124:
+ case 723: break;
+ case 123:
{
if (Debug.debugTokenizer) {
System.out.println("begin embedded region: " + fEmbeddedHint+", unquoted genericTagOpen");//$NON-NLS-1$
@@ -3030,8 +3109,8 @@
fEmbeddedPostState = ST_XML_EQUALS;
return PROXY_CONTEXT;
}
- case 729: break;
- case 122:
+ case 724: break;
+ case 121:
{
if(Debug.debugTokenizer)
dump("equals");//$NON-NLS-1$
@@ -3040,8 +3119,8 @@
yybegin(isJspTag() ? ST_JSP_ATTRIBUTE_VALUE : ST_XML_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 730: break;
- case 121:
+ case 725: break;
+ case 120:
{
if(Debug.debugTokenizer)
dump("attr name");//$NON-NLS-1$
@@ -3050,51 +3129,51 @@
yybegin(ST_XML_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 731: break;
+ case 726: break;
+ case 116:
case 117:
case 118:
- case 119:
- case 277:
- case 404:
- case 504:
- case 545:
- case 546:
- case 565:
- case 566:
- case 584:
- case 585:
- case 598:
- case 607:
- case 615:
- case 617:
+ case 272:
+ case 399:
+ case 499:
+ case 540:
+ case 541:
+ case 560:
+ case 561:
+ case 579:
+ case 580:
+ case 593:
+ case 602:
+ case 610:
+ case 612:
+ case 614:
+ case 616:
case 619:
- case 621:
- case 624:
- case 630:
- case 631:
- case 632:
- case 633:
- case 634:
- case 640:
- case 641:
- case 642:
- case 643:
- case 644:
- case 650:
- case 651:
- case 653:
- case 654:
- case 660:
- case 661:
- case 662:
- case 663:
- case 669:
+ case 625:
+ case 626:
+ case 627:
+ case 628:
+ case 629:
+ case 635:
+ case 636:
+ case 637:
+ case 638:
+ case 639:
+ case 645:
+ case 646:
+ case 648:
+ case 649:
+ case 655:
+ case 656:
+ case 657:
+ case 658:
+ case 664:
+ case 665:
+ case 666:
+ case 667:
case 670:
case 671:
- case 672:
- case 675:
- case 676:
- case 678:
+ case 673:
{
if(Debug.debugTokenizer)
dump("tag name");//$NON-NLS-1$
@@ -3105,8 +3184,8 @@
yybegin(ST_XML_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 732: break;
- case 115:
+ case 727: break;
+ case 114:
{
if(Debug.debugTokenizer)
dump("tag close");//$NON-NLS-1$
@@ -3122,56 +3201,56 @@
fJspTagStack.pop();
return XML_TAG_CLOSE;
}
- case 733: break;
- case 108:
- case 112:
- case 272:
+ case 728: break;
+ case 107:
+ case 111:
+ case 267:
{
if(Debug.debugTokenizer)
dump("attr value");//$NON-NLS-1$
yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 734: break;
- case 107:
+ case 729: break;
+ case 106:
{
if(Debug.debugTokenizer)
dump("equals");//$NON-NLS-1$
yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 735: break;
- case 106:
+ case 730: break;
+ case 105:
{
if(Debug.debugTokenizer)
dump("attr name");//$NON-NLS-1$
yybegin(ST_JSP_DIRECTIVE_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 736: break;
- case 103:
+ case 731: break;
+ case 102:
{
if(Debug.debugTokenizer)
dump("JSP directive name");//$NON-NLS-1$
yybegin(ST_JSP_DIRECTIVE_NAME_WHITESPACE);
return JSP_DIRECTIVE_NAME;
}
- case 737: break;
+ case 732: break;
+ case 98:
case 99:
case 100:
- case 101:
{
if(Debug.debugTokenizer)
dump("JSP code content");//$NON-NLS-1$
return doScan("%>", false, false, false, JSP_CONTENT, ST_JSP_CONTENT, ST_JSP_CONTENT);
}
- case 738: break;
- case 95:
+ case 733: break;
+ case 94:
+ case 96:
case 97:
- case 98:
- case 262:
- case 263:
- case 266:
+ case 257:
+ case 258:
+ case 261:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction attribute value");//$NON-NLS-1$
@@ -3180,8 +3259,8 @@
yybegin(ST_DHTML_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 739: break;
- case 94:
+ case 734: break;
+ case 93:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction '='");//$NON-NLS-1$
@@ -3190,16 +3269,16 @@
yybegin(ST_DHTML_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 740: break;
- case 93:
+ case 735: break;
+ case 92:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction attribute name");//$NON-NLS-1$
yybegin(ST_DHTML_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 741: break;
- case 91:
+ case 736: break;
+ case 90:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction end");//$NON-NLS-1$
@@ -3207,10 +3286,10 @@
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 742: break;
- case 85:
- case 87:
- case 253:
+ case 737: break;
+ case 84:
+ case 86:
+ case 248:
{
if(Debug.debugTokenizer)
dump("XML processing instruction attribute value");//$NON-NLS-1$
@@ -3219,89 +3298,79 @@
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 743: break;
- case 84:
- {
- if(Debug.debugTokenizer)
- dump("XML processing instruction '='");//$NON-NLS-1$
- fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
- fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
- yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
- return XML_TAG_ATTRIBUTE_EQUALS;
- }
- case 744: break;
+ case 738: break;
case 50:
- case 208:
+ case 205:
+ case 206:
case 209:
- case 212:
+ case 217:
+ case 218:
+ case 221:
case 222:
- case 223:
- case 226:
- case 227:
- case 378:
- case 381:
- case 470:
- case 484:
- case 490:
+ case 373:
+ case 376:
+ case 465:
+ case 479:
+ case 485:
{
return JSP_VBL_CONTENT;
}
- case 745: break;
+ case 739: break;
case 43:
+ case 185:
case 186:
- case 187:
- case 190:
- case 200:
- case 201:
- case 205:
- case 206:
- case 348:
- case 362:
- case 365:
- case 442:
- case 443:
- case 458:
- case 464:
+ case 189:
+ case 197:
+ case 198:
+ case 202:
+ case 203:
+ case 343:
+ case 357:
+ case 360:
+ case 437:
+ case 438:
+ case 453:
+ case 459:
{
return JSP_EL_CONTENT;
}
- case 746: break;
+ case 740: break;
case 35:
+ case 159:
case 160:
- case 161:
- case 330:
- case 430:
- case 434:
- case 519:
- case 553:
- case 573:
- case 590:
- case 600:
+ case 325:
+ case 425:
+ case 429:
+ case 514:
+ case 548:
+ case 568:
+ case 585:
+ case 595:
{
if(Debug.debugTokenizer)
dump("attlist contentspec");//$NON-NLS-1$
return XML_ATTLIST_DECL_CONTENT;
}
- case 747: break;
+ case 741: break;
case 33:
+ case 152:
case 153:
- case 154:
- case 320:
- case 422:
- case 426:
- case 516:
- case 552:
- case 572:
- case 589:
- case 599:
+ case 315:
+ case 417:
+ case 421:
+ case 511:
+ case 547:
+ case 567:
+ case 584:
+ case 594:
{
if(Debug.debugTokenizer)
dump("elementdecl contentspec");//$NON-NLS-1$
return XML_ELEMENT_DECL_CONTENT;
}
- case 748: break;
+ case 742: break;
case 22:
- case 113:
+ case 112:
{
if(Debug.debugTokenizer)
dump("inappropriate tag name");//$NON-NLS-1$
@@ -3313,16 +3382,16 @@
yybegin(YYINITIAL);
return XML_CONTENT;
}
- case 749: break;
+ case 743: break;
case 18:
- case 105:
+ case 104:
{
if(Debug.debugTokenizer)
dump("white space");//$NON-NLS-1$
yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);
return WHITE_SPACE;
}
- case 750: break;
+ case 744: break;
case 5:
case 8:
case 9:
@@ -3349,39 +3418,39 @@
case 40:
case 41:
case 42:
- case 73:
- case 177:
- case 182:
+ case 72:
+ case 176:
+ case 181:
{
if(Debug.debugTokenizer)
dump("white space");//$NON-NLS-1$
return WHITE_SPACE;
}
- case 751: break;
+ case 745: break;
case 0:
case 57:
case 60:
case 62:
+ case 229:
+ case 231:
+ case 232:
case 234:
case 236:
- case 237:
- case 239:
- case 241:
- case 388:
- case 389:
- case 390:
- case 499:
+ case 383:
+ case 384:
+ case 385:
+ case 494:
{
if(Debug.debugTokenizer)
dump("\nXML content");//$NON-NLS-1$
return XML_CONTENT;
}
- case 752: break;
+ case 746: break;
case 58:
- case 102:
- case 114:
- case 120:
- case 130:
+ case 101:
+ case 113:
+ case 119:
+ case 129:
{
if(Debug.debugTokenizer)
dump("\nstart tag open");//$NON-NLS-1$
@@ -3390,67 +3459,67 @@
yybegin(ST_XML_TAG_NAME);
return XML_TAG_OPEN;
}
- case 753: break;
+ case 747: break;
case 59:
case 61:
case 65:
case 66:
case 67:
+ case 70:
case 71:
- case 72:
- case 82:
- case 86:
+ case 81:
+ case 85:
+ case 87:
case 88:
case 89:
- case 90:
- case 92:
- case 96:
- case 104:
+ case 91:
+ case 95:
+ case 103:
+ case 108:
case 109:
case 110:
- case 111:
- case 116:
- case 125:
+ case 115:
+ case 124:
+ case 131:
case 132:
case 133:
case 134:
- case 135:
+ case 136:
case 137:
- case 138:
+ case 139:
case 140:
case 141:
- case 142:
+ case 144:
case 145:
case 146:
- case 147:
+ case 149:
case 150:
case 151:
- case 152:
+ case 156:
case 157:
case 158:
- case 159:
- case 167:
+ case 166:
+ case 168:
case 169:
- case 170:
+ case 191:
case 192:
case 193:
- case 195:
- case 196:
- case 203:
- case 207:
+ case 194:
+ case 200:
+ case 204:
+ case 211:
+ case 212:
+ case 213:
case 214:
- case 215:
- case 217:
- case 218:
- case 224:
- case 228:
+ case 219:
+ case 223:
{
if (Debug.debugTokenizer)
System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$
yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
return UNDEFINED;
}
- case 754: break;
+ case 748: break;
case 63:
case 64:
{
@@ -3463,46 +3532,35 @@
yybegin(ST_CDATA_END);
return returnedContext;
}
- case 755: break;
+ case 749: break;
case 68:
- case 194:
- case 197:
- case 216:
- case 219:
- {
- if(Debug.debugTokenizer)
- dump("LINE FEED");//$NON-NLS-1$
- return WHITE_SPACE;
- }
- case 756: break;
case 69:
- case 70:
{
if(Debug.debugTokenizer)
dump("comment content");//$NON-NLS-1$
return scanXMLCommentText();
}
- case 757: break;
+ case 750: break;
+ case 73:
case 74:
case 75:
case 76:
- case 77:
- case 246:
- case 247:
- case 248:
- case 401:
- case 502:
- case 503:
- case 543:
- case 544:
- case 563:
- case 583:
- case 596:
- case 606:
- case 614:
- case 616:
- case 618:
- case 620:
+ case 241:
+ case 242:
+ case 243:
+ case 396:
+ case 497:
+ case 498:
+ case 538:
+ case 539:
+ case 558:
+ case 578:
+ case 591:
+ case 601:
+ case 609:
+ case 611:
+ case 613:
+ case 615:
{
if(Debug.debugTokenizer)
dump("processing instruction target");//$NON-NLS-1$
@@ -3510,51 +3568,40 @@
yybegin(ST_PI_WS);
return XML_TAG_NAME;
}
- case 758: break;
- case 78:
+ case 751: break;
+ case 77:
{
yybegin(ST_PI_CONTENT);
return WHITE_SPACE;
}
- case 759: break;
+ case 752: break;
+ case 78:
case 79:
case 80:
- case 81:
{
// block scan until close is found
return doScan("?>", false, false, false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);
}
- case 760: break;
- case 83:
+ case 753: break;
+ case 82:
{
if(Debug.debugTokenizer)
dump("XML processing instruction attribute name");//$NON-NLS-1$
yybegin(ST_XML_PI_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 761: break;
- case 127:
- case 172:
+ case 754: break;
+ case 83:
{
- String type = yy_lexical_state == ST_XML_ATTRIBUTE_VALUE ? XML_TAG_ATTRIBUTE_VALUE_SQUOTE : JSP_TAG_ATTRIBUTE_VALUE_SQUOTE;
- if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint+", "+type);//$NON-NLS-1$
- }
- fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
- fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
- yybegin(ST_XML_ATTRIBUTE_VALUE_SQUOTED);
- fStateStack.push(yystate());
if(Debug.debugTokenizer)
- dump("JSP attribute value start - complex single quoted");//$NON-NLS-1$
- assembleEmbeddedContainer(type, type);
- fStateStack.pop();
- fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
- fEmbeddedPostState = ST_XML_EQUALS;
- yybegin(ST_XML_ATTRIBUTE_NAME);
- return PROXY_CONTEXT;
+ dump("XML processing instruction '='");//$NON-NLS-1$
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
+ fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
+ yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
+ return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 762: break;
- case 131:
+ case 755: break;
+ case 130:
{
if(Debug.debugTokenizer)
dump("declaration end");//$NON-NLS-1$
@@ -3565,20 +3612,20 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 763: break;
- case 136:
+ case 756: break;
+ case 135:
{
if(Debug.debugTokenizer)
dump("doctype type");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);
return XML_DOCTYPE_NAME;
}
- case 764: break;
- case 139:
- case 143:
- case 297:
- case 301:
- case 417:
+ case 757: break;
+ case 138:
+ case 142:
+ case 292:
+ case 296:
+ case 412:
{
if(Debug.debugTokenizer)
dump("doctype public reference");//$NON-NLS-1$
@@ -3587,10 +3634,10 @@
yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
return XML_DOCTYPE_EXTERNAL_ID_PUBREF;
}
- case 765: break;
- case 144:
- case 148:
- case 307:
+ case 758: break;
+ case 143:
+ case 147:
+ case 302:
{
if(Debug.debugTokenizer)
dump("doctype system reference");//$NON-NLS-1$
@@ -3599,11 +3646,11 @@
yybegin(ST_XML_DECLARATION_CLOSE);
return XML_DOCTYPE_EXTERNAL_ID_SYSREF;
}
- case 766: break;
- case 149:
- case 313:
- case 317:
- case 420:
+ case 759: break;
+ case 148:
+ case 308:
+ case 312:
+ case 415:
{
if(Debug.debugTokenizer)
dump("elementdecl name");//$NON-NLS-1$
@@ -3612,8 +3659,8 @@
yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);
return XML_ELEMENT_DECL_NAME;
}
- case 767: break;
- case 155:
+ case 760: break;
+ case 154:
{
if(Debug.debugTokenizer)
dump("elementdecl close");//$NON-NLS-1$
@@ -3624,11 +3671,11 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 768: break;
- case 156:
- case 323:
- case 327:
- case 428:
+ case 761: break;
+ case 155:
+ case 318:
+ case 322:
+ case 423:
{
if(Debug.debugTokenizer)
dump("attlist name");//$NON-NLS-1$
@@ -3637,8 +3684,8 @@
yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);
return XML_ATTLIST_DECL_NAME;
}
- case 769: break;
- case 162:
+ case 762: break;
+ case 161:
{
if(Debug.debugTokenizer)
dump("attlist close");//$NON-NLS-1$
@@ -3649,27 +3696,27 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 770: break;
+ case 763: break;
+ case 164:
case 165:
- case 166:
{
if(Debug.debugTokenizer)
dump("\nJSP comment text");//$NON-NLS-1$
return scanJSPCommentText();
}
- case 771: break;
- case 175:
+ case 764: break;
+ case 174:
+ case 178:
case 179:
case 180:
- case 181:
+ case 183:
case 184:
- case 185:
- case 343:
+ case 338:
{
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 772: break;
- case 176:
+ case 765: break;
+ case 175:
{
if (Debug.debugTokenizer) {
System.out.println("begin embedded region: " + fEmbeddedHint+", genericTagOpen");//$NON-NLS-1$
@@ -3685,30 +3732,30 @@
yybegin(incomingState);
return PROXY_CONTEXT;
}
- case 773: break;
- case 178:
+ case 766: break;
+ case 177:
{
return isJspTag() ? JSP_TAG_ATTRIBUTE_VALUE_SQUOTE : XML_TAG_ATTRIBUTE_VALUE_SQUOTE;
}
- case 774: break;
- case 183:
+ case 767: break;
+ case 182:
{
return isJspTag()? JSP_TAG_ATTRIBUTE_VALUE_DQUOTE : XML_TAG_ATTRIBUTE_VALUE_DQUOTE;
}
- case 775: break;
- case 188:
+ case 768: break;
+ case 187:
{
yybegin(ST_JSP_EL_DQUOTES);
return JSP_EL_DQUOTE;
}
- case 776: break;
- case 189:
+ case 769: break;
+ case 188:
{
yybegin(ST_JSP_EL_SQUOTES);
return JSP_EL_SQUOTE;
}
- case 777: break;
- case 191:
+ case 770: break;
+ case 190:
{
fELlevel--;
if(fELlevel == 0) {
@@ -3717,42 +3764,42 @@
}
return JSP_EL_CONTENT;
}
- case 778: break;
- case 198:
+ case 771: break;
+ case 195:
{
yybegin(ST_JSP_EL);
return JSP_EL_SQUOTE;
}
- case 779: break;
- case 199:
+ case 772: break;
+ case 196:
{
yybegin(ST_JSP_EL);
return JSP_EL_DQUOTE;
}
- case 780: break;
- case 202:
+ case 773: break;
+ case 199:
{
return isJspTag() ? JSP_TAG_ATTRIBUTE_VALUE_DQUOTE: XML_TAG_ATTRIBUTE_VALUE_DQUOTE;
}
- case 781: break;
- case 204:
+ case 774: break;
+ case 201:
{
return JSP_EL_CLOSE;
}
- case 782: break;
- case 210:
+ case 775: break;
+ case 207:
{
yybegin(ST_JSP_VBL_DQUOTES);
return JSP_VBL_DQUOTE;
}
- case 783: break;
- case 211:
+ case 776: break;
+ case 208:
{
yybegin(ST_JSP_VBL_SQUOTES);
return JSP_VBL_SQUOTE;
}
- case 784: break;
- case 213:
+ case 777: break;
+ case 210:
{
fELlevel--;
if(fELlevel == 0) {
@@ -3761,25 +3808,25 @@
}
return JSP_VBL_CONTENT;
}
- case 785: break;
- case 220:
+ case 778: break;
+ case 215:
{
yybegin(ST_JSP_VBL);
return JSP_VBL_SQUOTE;
}
- case 786: break;
- case 221:
+ case 779: break;
+ case 216:
{
yybegin(ST_JSP_VBL);
return JSP_VBL_DQUOTE;
}
- case 787: break;
- case 225:
+ case 780: break;
+ case 220:
{
return JSP_VBL_CLOSE;
}
- case 788: break;
- case 229:
+ case 781: break;
+ case 224:
{
if(Debug.debugTokenizer)
dump("\nend tag open");//$NON-NLS-1$
@@ -3788,28 +3835,28 @@
yybegin(ST_XML_TAG_NAME);
return XML_END_TAG_OPEN;
}
- case 789: break;
- case 230:
+ case 782: break;
+ case 225:
{
if(Debug.debugTokenizer)
dump("\nprocessing instruction start");//$NON-NLS-1$
yybegin(ST_PI);
return XML_PI_OPEN;
}
- case 790: break;
- case 231:
- case 319:
- case 329:
+ case 783: break;
+ case 226:
+ case 314:
+ case 324:
+ case 344:
case 349:
- case 354:
- case 358:
+ case 353:
+ case 356:
+ case 359:
case 361:
- case 364:
- case 366:
- case 370:
- case 374:
- case 377:
- case 380:
+ case 365:
+ case 369:
+ case 372:
+ case 375:
{
/* JSP scriptlet begun (anywhere)
* A consequence of the start anywhere possibility is that the
@@ -3884,8 +3931,8 @@
return PROXY_CONTEXT;
}
}
- case 791: break;
- case 232:
+ case 784: break;
+ case 227:
{
fStateStack.push(yystate());
if(Debug.debugTokenizer)
@@ -3893,8 +3940,8 @@
yybegin(ST_XML_DECLARATION);
return XML_DECLARATION_OPEN;
}
- case 792: break;
- case 245:
+ case 785: break;
+ case 240:
{
if(Debug.debugTokenizer)
dump("processing instruction end");//$NON-NLS-1$
@@ -3902,16 +3949,16 @@
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 793: break;
- case 249:
+ case 786: break;
+ case 244:
{
// ended with nothing inside
fEmbeddedHint = UNDEFINED;
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 794: break;
- case 250:
+ case 787: break;
+ case 245:
{
if(Debug.debugTokenizer)
dump("XML processing instruction end");//$NON-NLS-1$
@@ -3919,13 +3966,25 @@
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 795: break;
+ case 788: break;
+ case 262:
+ {
+ if(Debug.debugTokenizer)
+ dump("JSP end");//$NON-NLS-1$
+ if (Debug.debugTokenizer) {
+ if(fStateStack.peek()!=YYINITIAL)
+ System.out.println("end embedded region");//$NON-NLS-1$
+ }
+ yybegin(fStateStack.pop());
+ return JSP_CLOSE;
+ }
+ case 789: break;
+ case 162:
case 163:
- case 164:
{
return doBlockTagScan();
}
- case 796: break;
+ case 790: break;
default:
if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
yy_atEOF = true;
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java
index b424476..f0a9a0d 100644
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java
+++ b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java
@@ -1,7 +1,7 @@
-/* The following code was generated by JFlex 1.2.2 on 10/24/07 5:16 AM */
+/* The following code was generated by JFlex 1.2.2 on 5/6/09 2:12 PM */
/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
+ * Copyright (c) 2004, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -9,6 +9,7 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Frits Jalvingh - contributions for bug 150794
*******************************************************************************/
package org.eclipse.jst.jsp.core.internal.parser.internal;
@@ -19,6 +20,7 @@
import java.util.Iterator;
import java.util.List;
+import org.eclipse.jst.jsp.core.internal.contenttype.BooleanStack;
import org.eclipse.jst.jsp.core.internal.Logger;
import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
import org.eclipse.wst.sse.core.internal.ltk.parser.BlockMarker;
@@ -35,8 +37,8 @@
/**
* This class is a scanner generated by
* <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 10/24/07 5:16 AM from the specification file
- * <tt>file:/D:/eclipse.wtp/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex</tt>
+ * on 5/6/09 2:12 PM from the specification file
+ * <tt>file:/E:/wtp-3.0/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex</tt>
*/
public class JSPTokenizer implements BlockTokenizer, DOMJSPRegionContexts {
@@ -44,26 +46,26 @@
final public static int YYEOF = -1;
/** lexical states */
- final public static int ST_JSP_VBL_DQUOTES = 51;
- final public static int ST_JSP_VBL_SQUOTES = 50;
- final public static int ST_JSP_VBL_SQUOTES_END = 52;
+ final public static int ST_JSP_VBL_DQUOTES = 52;
+ final public static int ST_JSP_VBL_SQUOTES = 51;
+ final public static int ST_JSP_VBL_SQUOTES_END = 53;
final public static int ST_XML_COMMENT_END = 4;
final public static int ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE = 21;
- final public static int ST_JSP_EL_SQUOTES_END = 45;
- final public static int ST_JSP_EL_DQUOTES = 44;
- final public static int ST_JSP_EL = 42;
+ final public static int ST_JSP_EL_SQUOTES_END = 46;
+ final public static int ST_JSP_EL_DQUOTES = 45;
+ final public static int ST_JSP_EL = 43;
final public static int ST_BLOCK_TAG_SCAN = 36;
- final public static int ST_JSP_EL_SQUOTES = 43;
+ final public static int ST_JSP_EL_SQUOTES = 44;
final public static int ST_DHTML_ATTRIBUTE_VALUE = 14;
final public static int ST_XML_PI_ATTRIBUTE_NAME = 8;
final public static int ST_DHTML_TAG_CLOSE = 15;
- final public static int ST_XML_ATTRIBUTE_VALUE_DQUOTED = 41;
+ final public static int ST_XML_ATTRIBUTE_VALUE_DQUOTED = 42;
final public static int ST_DHTML_EQUALS = 13;
final public static int ST_XML_PI_ATTRIBUTE_VALUE = 10;
final public static int ST_XML_ATTRIBUTE_VALUE = 25;
- final public static int ST_JSP_VBL = 49;
- final public static int ST_JSP_SQUOTED_VBL = 55;
- final public static int ST_XML_ATTRIBUTE_VALUE_SQUOTED = 40;
+ final public static int ST_JSP_VBL = 50;
+ final public static int ST_JSP_SQUOTED_VBL = 56;
+ final public static int ST_XML_ATTRIBUTE_VALUE_SQUOTED = 41;
final public static int ST_XML_ATTRIBUTE_NAME = 23;
final public static int ST_XML_EQUALS = 24;
final public static int YYINITIAL = 0;
@@ -73,8 +75,8 @@
final public static int ST_XML_ELEMENT_DECLARATION = 32;
final public static int ST_XML_DECLARATION_CLOSE = 27;
final public static int ST_JSP_DIRECTIVE_EQUALS = 20;
- final public static int ST_JSP_VBL_DQUOTES_END = 53;
- final public static int ST_JSP_DQUOTED_EL = 47;
+ final public static int ST_JSP_VBL_DQUOTES_END = 54;
+ final public static int ST_JSP_DQUOTED_EL = 48;
final public static int ST_XML_DOCTYPE_DECLARATION = 28;
final public static int ST_CDATA_END = 2;
final public static int ST_PI_WS = 6;
@@ -82,13 +84,13 @@
final public static int ST_JSP_DIRECTIVE_NAME_WHITESPACE = 18;
final public static int ST_XML_ELEMENT_DECLARATION_CONTENT = 33;
final public static int ST_XML_ATTLIST_DECLARATION = 34;
- final public static int ST_JSP_EL_DQUOTES_END = 46;
- final public static int ST_JSP_SQUOTED_EL = 48;
+ final public static int ST_JSP_EL_DQUOTES_END = 47;
+ final public static int ST_JSP_SQUOTED_EL = 49;
final public static int ST_JSP_COMMENT_END = 39;
final public static int ST_XML_PI_EQUALS = 9;
final public static int ST_XML_ATTLIST_DECLARATION_CONTENT = 35;
final public static int ST_XML_DOCTYPE_ID_PUBLIC = 30;
- final public static int ST_JSP_DQUOTED_VBL = 54;
+ final public static int ST_JSP_DQUOTED_VBL = 55;
final public static int ST_DHTML_ATTRIBUTE_NAME = 12;
final public static int ST_ABORT_EMBEDDED = 37;
final public static int ST_XML_DOCTYPE_EXTERNAL_ID = 29;
@@ -101,80 +103,81 @@
final public static int ST_XML_TAG_NAME = 22;
final public static int ST_XML_PI_TAG_CLOSE = 11;
final public static int ST_XML_COMMENT = 3;
+ final public static int ST_JSP_ATTRIBUTE_VALUE = 40;
/**
* Translates characters to character classes
*/
final private static String yycmap_packed =
- "\11\0\1\5\1\26\2\0\1\17\22\0\1\17\1\25\1\12\1\65"+
- "\1\15\1\22\1\13\1\14\1\24\1\24\1\24\1\24\1\24\1\7"+
- "\1\6\1\3\12\20\1\11\1\72\1\1\1\51\1\2\1\4\1\21"+
- "\1\40\1\73\1\36\1\37\1\55\1\70\1\62\1\62\1\63\1\62"+
- "\1\62\1\33\1\31\1\64\1\52\1\54\1\62\1\67\1\66\1\41"+
- "\1\71\2\62\1\27\1\53\1\62\1\35\1\104\1\23\1\0\1\10"+
- "\1\0\1\57\1\103\1\74\1\60\1\43\1\70\1\75\1\106\1\46"+
- "\1\100\1\62\1\34\1\32\1\50\1\47\1\101\1\62\1\44\1\45"+
- "\1\56\1\102\1\42\1\62\1\30\1\61\1\62\1\16\1\0\1\105"+
- "\71\0\1\77\10\0\27\76\1\0\37\76\1\0\72\76\2\0\13\76"+
- "\2\0\10\76\1\0\65\76\1\0\104\76\11\0\44\76\3\0\2\76"+
- "\4\0\36\76\70\0\131\76\22\0\7\76\16\0\2\77\56\0\106\77"+
- "\32\0\2\77\44\0\1\76\1\77\3\76\1\0\1\76\1\0\24\76"+
- "\1\0\54\76\1\0\7\76\3\0\1\76\1\0\1\76\1\0\1\76"+
- "\1\0\1\76\1\0\22\76\15\0\14\76\1\0\102\76\1\0\14\76"+
- "\1\0\44\76\1\0\4\77\11\0\65\76\2\0\2\76\2\0\2\76"+
- "\3\0\34\76\2\0\10\76\2\0\2\76\67\0\46\76\2\0\1\76"+
- "\7\0\46\76\12\0\21\77\1\0\27\77\1\0\3\77\1\0\1\77"+
- "\1\0\2\77\1\0\1\77\13\0\33\76\5\0\3\76\56\0\32\76"+
- "\5\0\1\77\12\76\10\77\15\0\12\77\6\0\1\77\107\76\2\0"+
- "\5\76\1\0\17\76\1\0\4\76\1\0\1\76\17\77\2\76\2\77"+
- "\1\0\4\77\2\0\12\77\u0207\0\3\77\1\0\65\76\2\0\1\77"+
- "\1\76\20\77\3\0\4\77\3\0\12\76\2\77\2\0\12\77\21\0"+
- "\3\77\1\0\10\76\2\0\2\76\2\0\26\76\1\0\7\76\1\0"+
- "\1\76\3\0\4\76\2\0\1\77\1\0\7\77\2\0\2\77\2\0"+
- "\3\77\11\0\1\77\4\0\2\76\1\0\3\76\2\77\2\0\12\77"+
- "\2\76\20\0\1\77\2\0\6\76\4\0\2\76\2\0\26\76\1\0"+
- "\7\76\1\0\2\76\1\0\2\76\1\0\2\76\2\0\1\77\1\0"+
- "\5\77\4\0\2\77\2\0\3\77\13\0\4\76\1\0\1\76\7\0"+
- "\12\77\2\77\3\76\14\0\3\77\1\0\7\76\1\0\1\76\1\0"+
- "\3\76\1\0\26\76\1\0\7\76\1\0\2\76\1\0\5\76\2\0"+
- "\1\77\1\76\10\77\1\0\3\77\1\0\3\77\22\0\1\76\5\0"+
- "\12\77\21\0\3\77\1\0\10\76\2\0\2\76\2\0\26\76\1\0"+
- "\7\76\1\0\2\76\2\0\4\76\2\0\1\77\1\76\6\77\3\0"+
- "\2\77\2\0\3\77\10\0\2\77\4\0\2\76\1\0\3\76\4\0"+
- "\12\77\22\0\2\77\1\0\6\76\3\0\3\76\1\0\4\76\3\0"+
- "\2\76\1\0\1\76\1\0\2\76\3\0\2\76\3\0\3\76\3\0"+
- "\10\76\1\0\3\76\4\0\5\77\3\0\3\77\1\0\4\77\11\0"+
- "\1\77\17\0\11\77\21\0\3\77\1\0\10\76\1\0\3\76\1\0"+
- "\27\76\1\0\12\76\1\0\5\76\4\0\7\77\1\0\3\77\1\0"+
- "\4\77\7\0\2\77\11\0\2\76\4\0\12\77\22\0\2\77\1\0"+
- "\10\76\1\0\3\76\1\0\27\76\1\0\12\76\1\0\5\76\4\0"+
- "\7\77\1\0\3\77\1\0\4\77\7\0\2\77\7\0\1\76\1\0"+
- "\2\76\4\0\12\77\22\0\2\77\1\0\10\76\1\0\3\76\1\0"+
- "\27\76\1\0\20\76\4\0\6\77\2\0\3\77\1\0\4\77\11\0"+
- "\1\77\10\0\2\76\4\0\12\77\221\0\56\76\1\0\1\76\1\77"+
- "\2\76\7\77\5\0\6\76\1\77\10\77\1\0\12\77\47\0\2\76"+
- "\1\0\1\76\2\0\2\76\1\0\1\76\2\0\1\76\6\0\4\76"+
- "\1\0\7\76\1\0\3\76\1\0\1\76\1\0\1\76\2\0\2\76"+
- "\1\0\2\76\1\0\1\76\1\77\2\76\6\77\1\0\2\77\1\76"+
- "\2\0\5\76\1\0\1\77\1\0\6\77\2\0\12\77\76\0\2\77"+
- "\6\0\12\77\13\0\1\77\1\0\1\77\1\0\1\77\4\0\2\77"+
- "\10\76\1\0\41\76\7\0\24\77\1\0\6\77\4\0\6\77\1\0"+
- "\1\77\1\0\25\77\3\0\7\77\1\0\1\77\346\0\46\76\12\0"+
- "\47\76\11\0\1\76\1\0\2\76\1\0\3\76\1\0\1\76\1\0"+
- "\2\76\1\0\5\76\51\0\1\76\1\0\1\76\1\0\1\76\13\0"+
- "\1\76\1\0\1\76\1\0\1\76\3\0\2\76\3\0\1\76\5\0"+
- "\3\76\1\0\1\76\1\0\1\76\1\0\1\76\1\0\1\76\3\0"+
- "\2\76\3\0\2\76\1\0\1\76\50\0\1\76\11\0\1\76\2\0"+
- "\1\76\2\0\2\76\7\0\2\76\1\0\1\76\1\0\7\76\50\0"+
- "\1\76\4\0\1\76\10\0\1\76\u0c06\0\234\76\4\0\132\76\6\0"+
- "\26\76\2\0\6\76\2\0\46\76\2\0\6\76\2\0\10\76\1\0"+
- "\1\76\1\0\1\76\1\0\1\76\1\0\37\76\2\0\65\76\1\0"+
- "\7\76\1\0\1\76\3\0\3\76\1\0\7\76\3\0\4\76\2\0"+
- "\6\76\4\0\15\76\5\0\3\76\1\0\7\76\323\0\15\77\4\0"+
- "\1\77\104\0\1\76\3\0\2\76\2\0\1\76\121\0\3\76\u0e82\0"+
- "\1\77\1\0\1\76\31\0\11\76\6\77\1\0\5\77\13\0\124\76"+
- "\4\0\2\77\2\0\2\77\2\0\132\76\1\0\3\77\6\0\50\76"+
- "\u1cd3\0\u51a6\76\u0c5a\0\u2ba4\76\134\0\u0800\0\u1ffe\0\2\0";
+ "\11\0\1\5\1\27\2\0\1\20\22\0\1\20\1\26\1\12\1\66"+
+ "\1\15\1\23\1\13\1\14\1\25\1\25\1\25\1\25\1\25\1\7"+
+ "\1\6\1\3\12\21\1\11\1\73\1\1\1\52\1\2\1\4\1\22"+
+ "\1\41\1\74\1\37\1\40\1\56\1\71\1\63\1\63\1\64\1\63"+
+ "\1\63\1\34\1\32\1\65\1\53\1\55\1\63\1\70\1\67\1\42"+
+ "\1\72\2\63\1\30\1\54\1\63\1\36\1\17\1\24\1\0\1\10"+
+ "\1\0\1\60\1\104\1\75\1\61\1\44\1\71\1\76\1\106\1\47"+
+ "\1\101\1\63\1\35\1\33\1\51\1\50\1\102\1\63\1\45\1\46"+
+ "\1\57\1\103\1\43\1\63\1\31\1\62\1\63\1\16\1\0\1\105"+
+ "\71\0\1\100\10\0\27\77\1\0\37\77\1\0\72\77\2\0\13\77"+
+ "\2\0\10\77\1\0\65\77\1\0\104\77\11\0\44\77\3\0\2\77"+
+ "\4\0\36\77\70\0\131\77\22\0\7\77\16\0\2\100\56\0\106\100"+
+ "\32\0\2\100\44\0\1\77\1\100\3\77\1\0\1\77\1\0\24\77"+
+ "\1\0\54\77\1\0\7\77\3\0\1\77\1\0\1\77\1\0\1\77"+
+ "\1\0\1\77\1\0\22\77\15\0\14\77\1\0\102\77\1\0\14\77"+
+ "\1\0\44\77\1\0\4\100\11\0\65\77\2\0\2\77\2\0\2\77"+
+ "\3\0\34\77\2\0\10\77\2\0\2\77\67\0\46\77\2\0\1\77"+
+ "\7\0\46\77\12\0\21\100\1\0\27\100\1\0\3\100\1\0\1\100"+
+ "\1\0\2\100\1\0\1\100\13\0\33\77\5\0\3\77\56\0\32\77"+
+ "\5\0\1\100\12\77\10\100\15\0\12\100\6\0\1\100\107\77\2\0"+
+ "\5\77\1\0\17\77\1\0\4\77\1\0\1\77\17\100\2\77\2\100"+
+ "\1\0\4\100\2\0\12\100\u0207\0\3\100\1\0\65\77\2\0\1\100"+
+ "\1\77\20\100\3\0\4\100\3\0\12\77\2\100\2\0\12\100\21\0"+
+ "\3\100\1\0\10\77\2\0\2\77\2\0\26\77\1\0\7\77\1\0"+
+ "\1\77\3\0\4\77\2\0\1\100\1\0\7\100\2\0\2\100\2\0"+
+ "\3\100\11\0\1\100\4\0\2\77\1\0\3\77\2\100\2\0\12\100"+
+ "\2\77\20\0\1\100\2\0\6\77\4\0\2\77\2\0\26\77\1\0"+
+ "\7\77\1\0\2\77\1\0\2\77\1\0\2\77\2\0\1\100\1\0"+
+ "\5\100\4\0\2\100\2\0\3\100\13\0\4\77\1\0\1\77\7\0"+
+ "\12\100\2\100\3\77\14\0\3\100\1\0\7\77\1\0\1\77\1\0"+
+ "\3\77\1\0\26\77\1\0\7\77\1\0\2\77\1\0\5\77\2\0"+
+ "\1\100\1\77\10\100\1\0\3\100\1\0\3\100\22\0\1\77\5\0"+
+ "\12\100\21\0\3\100\1\0\10\77\2\0\2\77\2\0\26\77\1\0"+
+ "\7\77\1\0\2\77\2\0\4\77\2\0\1\100\1\77\6\100\3\0"+
+ "\2\100\2\0\3\100\10\0\2\100\4\0\2\77\1\0\3\77\4\0"+
+ "\12\100\22\0\2\100\1\0\6\77\3\0\3\77\1\0\4\77\3\0"+
+ "\2\77\1\0\1\77\1\0\2\77\3\0\2\77\3\0\3\77\3\0"+
+ "\10\77\1\0\3\77\4\0\5\100\3\0\3\100\1\0\4\100\11\0"+
+ "\1\100\17\0\11\100\21\0\3\100\1\0\10\77\1\0\3\77\1\0"+
+ "\27\77\1\0\12\77\1\0\5\77\4\0\7\100\1\0\3\100\1\0"+
+ "\4\100\7\0\2\100\11\0\2\77\4\0\12\100\22\0\2\100\1\0"+
+ "\10\77\1\0\3\77\1\0\27\77\1\0\12\77\1\0\5\77\4\0"+
+ "\7\100\1\0\3\100\1\0\4\100\7\0\2\100\7\0\1\77\1\0"+
+ "\2\77\4\0\12\100\22\0\2\100\1\0\10\77\1\0\3\77\1\0"+
+ "\27\77\1\0\20\77\4\0\6\100\2\0\3\100\1\0\4\100\11\0"+
+ "\1\100\10\0\2\77\4\0\12\100\221\0\56\77\1\0\1\77\1\100"+
+ "\2\77\7\100\5\0\6\77\1\100\10\100\1\0\12\100\47\0\2\77"+
+ "\1\0\1\77\2\0\2\77\1\0\1\77\2\0\1\77\6\0\4\77"+
+ "\1\0\7\77\1\0\3\77\1\0\1\77\1\0\1\77\2\0\2\77"+
+ "\1\0\2\77\1\0\1\77\1\100\2\77\6\100\1\0\2\100\1\77"+
+ "\2\0\5\77\1\0\1\100\1\0\6\100\2\0\12\100\76\0\2\100"+
+ "\6\0\12\100\13\0\1\100\1\0\1\100\1\0\1\100\4\0\2\100"+
+ "\10\77\1\0\41\77\7\0\24\100\1\0\6\100\4\0\6\100\1\0"+
+ "\1\100\1\0\25\100\3\0\7\100\1\0\1\100\346\0\46\77\12\0"+
+ "\47\77\11\0\1\77\1\0\2\77\1\0\3\77\1\0\1\77\1\0"+
+ "\2\77\1\0\5\77\51\0\1\77\1\0\1\77\1\0\1\77\13\0"+
+ "\1\77\1\0\1\77\1\0\1\77\3\0\2\77\3\0\1\77\5\0"+
+ "\3\77\1\0\1\77\1\0\1\77\1\0\1\77\1\0\1\77\3\0"+
+ "\2\77\3\0\2\77\1\0\1\77\50\0\1\77\11\0\1\77\2\0"+
+ "\1\77\2\0\2\77\7\0\2\77\1\0\1\77\1\0\7\77\50\0"+
+ "\1\77\4\0\1\77\10\0\1\77\u0c06\0\234\77\4\0\132\77\6\0"+
+ "\26\77\2\0\6\77\2\0\46\77\2\0\6\77\2\0\10\77\1\0"+
+ "\1\77\1\0\1\77\1\0\1\77\1\0\37\77\2\0\65\77\1\0"+
+ "\7\77\1\0\1\77\3\0\3\77\1\0\7\77\3\0\4\77\2\0"+
+ "\6\77\4\0\15\77\5\0\3\77\1\0\7\77\323\0\15\100\4\0"+
+ "\1\100\104\0\1\77\3\0\2\77\2\0\1\77\121\0\3\77\u0e82\0"+
+ "\1\100\1\0\1\77\31\0\11\77\6\100\1\0\5\100\13\0\124\77"+
+ "\4\0\2\100\2\0\2\100\2\0\132\77\1\0\3\100\6\0\50\77"+
+ "\u1cd3\0\u51a6\77\u0c5a\0\u2ba4\77\134\0\u0800\0\u1ffe\0\2\0";
/**
* Translates characters to character classes
@@ -191,585 +194,615 @@
2130, 2201, 2272, 2343, 2414, 2485, 2556, 2627, 2698, 2769,
2840, 2911, 2982, 3053, 3124, 3195, 3266, 3337, 3408, 3479,
3550, 3621, 3692, 3763, 3834, 3905, 3976, 4047, 4118, 4189,
- 4260, 4331, 4402, 4473, 4402, 4473, 4544, 4402, 4402, 4473,
- 4615, 4686, 4757, 4828, 4899, 4970, 5041, 5112, 4402, 4473,
- 5183, 5254, 5325, 4402, 5396, 5396, 5467, 5538, 5609, 5183,
- 4402, 5680, 5751, 4402, 5822, 5893, 5964, 6035, 4402, 4473,
- 6106, 6177, 6248, 6319, 6390, 6461, 4402, 6532, 6532, 6603,
- 6674, 6745, 6816, 6887, 4402, 6958, 7029, 7100, 7171, 7242,
- 7313, 4402, 7384, 7455, 7526, 7597, 7668, 7739, 7810, 7881,
- 4402, 7952, 8023, 8094, 8165, 8236, 8307, 8378, 8449, 8449,
- 8520, 8591, 8662, 8733, 8733, 8804, 8875, 8946, 9017, 9017,
- 9088, 9159, 9230, 9301, 4402, 9372, 9372, 9443, 9514, 9585,
- 9656, 4402, 4402, 4473, 4402, 4473, 9727, 9798, 9869, 9940,
- 4402, 10011, 10082, 10153, 10224, 4402, 10295, 10366, 10437, 10508,
- 4402, 4402, 10579, 4402, 10650, 10721, 10650, 10792, 10863, 10792,
- 4402, 4402, 10934, 11005, 11076, 4402, 11147, 11218, 11289, 11360,
- 11431, 4402, 4402, 11502, 4402, 11573, 11644, 11573, 11715, 11786,
- 11715, 4402, 4402, 11857, 11928, 11999, 4402, 12070, 12141, 12212,
- 4402, 4402, 12283, 12354, 12425, 12496, 12567, 4402, 12638, 12709,
- 12780, 12851, 12922, 12993, 13064, 13135, 4402, 13206, 13277, 13348,
- 4402, 4402, 5396, 5538, 4402, 13419, 5609, 13490, 5680, 5822,
- 5893, 13561, 5964, 4402, 13632, 13703, 6035, 13774, 4402, 12354,
- 4402, 6532, 6603, 4402, 13845, 6674, 13916, 4402, 13987, 14058,
- 7384, 14129, 7597, 4402, 14200, 7668, 14271, 14342, 14413, 14484,
- 14555, 14626, 8165, 4402, 14697, 14768, 8449, 8520, 4402, 14839,
- 14910, 14981, 15052, 15123, 8662, 8449, 8733, 8804, 4402, 8875,
- 8946, 8733, 9017, 9088, 4402, 15194, 15265, 15336, 15407, 15478,
- 15549, 15620, 9372, 9443, 4402, 15691, 15762, 15833, 15904, 15975,
- 16046, 16117, 16188, 16259, 4402, 4402, 4402, 16330, 4402, 4402,
- 16401, 16472, 16543, 16614, 10650, 4402, 16685, 16756, 10792, 4402,
- 16827, 16898, 16969, 17040, 17111, 17182, 17253, 17324, 17395, 11360,
- 11573, 4402, 17466, 17537, 11715, 4402, 17608, 17679, 17750, 17821,
- 17892, 17963, 18034, 18105, 18176, 4402, 4402, 4402, 18247, 18318,
- 18389, 18460, 18531, 4402, 18602, 18673, 4402, 4402, 4402, 4402,
- 4402, 4828, 18744, 18815, 18886, 18957, 19028, 19099, 19170, 19099,
- 19241, 19312, 19241, 19383, 19454, 19525, 19596, 19667, 19738, 19809,
- 19809, 19880, 19951, 19951, 20022, 9230, 9230, 9230, 20093, 20164,
- 20235, 20235, 20306, 9585, 9585, 9585, 20377, 20448, 16543, 20519,
- 10437, 10437, 10437, 20590, 20661, 10650, 10650, 10650, 20732, 20803,
- 10792, 10792, 10792, 20874, 20945, 10934, 10934, 10934, 17111, 21016,
- 21087, 11147, 11147, 11147, 17324, 21158, 21229, 11360, 11360, 11360,
- 21300, 11573, 11573, 11573, 21371, 21442, 11715, 11715, 11715, 21513,
- 21584, 11857, 11857, 11857, 17892, 21655, 21726, 12070, 12070, 12070,
- 18105, 21797, 4402, 4402, 21868, 21939, 4402, 22010, 22081, 22152,
- 22223, 7384, 4402, 4402, 22294, 22365, 22436, 22507, 22578, 15052,
- 15407, 9230, 22649, 15904, 9585, 22720, 4402, 10437, 10650, 22791,
- 10792, 22862, 10934, 22933, 4402, 11147, 23004, 11360, 11573, 23075,
- 11715, 23146, 11857, 23217, 4402, 12070, 23288, 23359, 23430, 23501,
- 23572, 23643, 23714, 23785, 23856, 23927, 23998, 24069, 24140, 24211,
- 24282, 24353, 24424, 24495, 24566, 24637, 24708, 24779, 24850, 4828,
- 24921, 24992, 25063, 25134, 25205, 4402, 4402, 25276, 25347, 25418,
- 25489, 17111, 17324, 25560, 25631, 17892, 18105, 25702, 25773, 25844,
- 25915, 4402, 4402, 4402, 25986, 26057, 26128, 26199, 26270, 26341,
- 26412, 26483, 7100, 26554, 26625, 26696, 26767, 26838, 26909, 26980,
- 4402, 27051, 27122, 9230, 9585, 10650, 10792, 11573, 11715, 27193,
- 27264, 27335, 27406, 27477, 27548, 27619, 27690, 4828, 27761, 27832,
- 27903, 27974, 28045, 28116, 28187, 28258, 28329, 28400, 28471, 28542,
- 28613, 28684, 28755, 28826, 28897, 28968, 29039, 29110, 29181, 29252,
- 29323, 29394, 29465, 29536, 29607, 29678, 29749, 29820, 29891, 29962,
- 30033, 30104, 30175, 30246, 4402, 30317, 30388, 30459, 30530, 7100,
- 30601, 30672, 30743, 30814, 30885, 30956, 31027, 31098, 31169, 31240,
- 31311, 31382, 31453, 31524
+ 4260, 4331, 4402, 4473, 4544, 4473, 4544, 4615, 4473, 4544,
+ 4686, 4757, 4828, 4899, 4970, 5041, 5112, 5183, 4473, 4544,
+ 5254, 5325, 5396, 4473, 5467, 5467, 5538, 5609, 5680, 5254,
+ 4473, 5751, 5822, 4473, 5893, 5964, 6035, 6106, 4473, 4544,
+ 6177, 6248, 6319, 6390, 6461, 6532, 4473, 6603, 6603, 6674,
+ 6745, 6816, 6887, 6958, 4473, 7029, 7100, 7171, 7242, 7313,
+ 7384, 4473, 7455, 7526, 7597, 7668, 7739, 7810, 7881, 7952,
+ 4473, 8023, 8094, 8165, 8236, 8307, 8378, 8449, 8520, 8520,
+ 8591, 8662, 8733, 8804, 8804, 8875, 8946, 9017, 9088, 9088,
+ 9159, 9230, 9301, 9372, 4473, 9443, 9443, 9514, 9585, 9656,
+ 9727, 4473, 4473, 4544, 4473, 4544, 9798, 9869, 7526, 9940,
+ 10011, 10082, 10153, 10224, 10295, 10366, 10437, 4473, 10508, 10579,
+ 10650, 10721, 4473, 10792, 10863, 10934, 11005, 4473, 4473, 11076,
+ 4473, 11147, 11218, 11289, 11360, 4473, 4473, 11431, 11502, 4473,
+ 11573, 4473, 11644, 11715, 11786, 11857, 11928, 4473, 4473, 11999,
+ 4473, 12070, 12141, 12212, 12283, 4473, 4473, 12354, 12425, 12496,
+ 4473, 12567, 12638, 12709, 4473, 4473, 12780, 12851, 12922, 12993,
+ 13064, 4473, 13135, 13206, 13277, 13348, 13419, 13490, 13561, 13632,
+ 4473, 13703, 13774, 13845, 4473, 4473, 5467, 5609, 4473, 13916,
+ 5680, 13987, 5751, 5893, 5964, 14058, 6035, 4473, 14129, 14200,
+ 6106, 14271, 4473, 12851, 4473, 6603, 6674, 4473, 14342, 6745,
+ 14413, 4473, 14484, 14555, 7455, 14626, 7668, 4473, 14697, 7739,
+ 14768, 14839, 14910, 14981, 15052, 15123, 8236, 4473, 15194, 15265,
+ 8520, 8591, 4473, 15336, 15407, 15478, 15549, 15620, 8733, 8520,
+ 8804, 8875, 4473, 8946, 9017, 8804, 9088, 9159, 4473, 15691,
+ 15762, 15833, 15904, 15975, 16046, 16117, 9443, 9514, 4473, 16188,
+ 16259, 16330, 16401, 16472, 16543, 16614, 16685, 9869, 10011, 4473,
+ 16756, 16827, 10082, 16898, 16969, 17040, 17111, 4473, 17182, 4473,
+ 4473, 4473, 4473, 17253, 17324, 17395, 17466, 11147, 4473, 17537,
+ 17608, 11289, 4473, 17679, 17750, 17821, 17892, 17963, 18034, 18105,
+ 18176, 18247, 11857, 12070, 4473, 18318, 18389, 12212, 4473, 18460,
+ 18531, 18602, 18673, 18744, 18815, 18886, 18957, 19028, 4473, 4473,
+ 4473, 19099, 19170, 19241, 19312, 19383, 4473, 19454, 19525, 4473,
+ 4473, 4473, 4473, 4473, 4899, 19596, 19667, 19738, 19809, 19880,
+ 19951, 20022, 19951, 20093, 20164, 20093, 20235, 20306, 20377, 20448,
+ 20519, 20590, 20661, 20661, 20732, 20803, 20803, 20874, 9301, 9301,
+ 9301, 20945, 21016, 21087, 21087, 21158, 9656, 9656, 9656, 21229,
+ 21300, 10011, 10082, 21371, 21371, 21442, 21442, 17395, 21513, 10934,
+ 10934, 10934, 21584, 21655, 11147, 11147, 11147, 21726, 21797, 11289,
+ 11289, 11289, 21868, 21939, 11431, 11431, 11431, 17963, 22010, 22081,
+ 11644, 11644, 11644, 18176, 22152, 22223, 11857, 11857, 11857, 22294,
+ 12070, 12070, 12070, 22365, 22436, 12212, 12212, 12212, 22507, 22578,
+ 12354, 12354, 12354, 18744, 22649, 22720, 12567, 12567, 12567, 18957,
+ 22791, 4473, 4473, 22862, 22933, 4473, 23004, 23075, 23146, 23217,
+ 7455, 4473, 4473, 23288, 23359, 23430, 23501, 23572, 15549, 15904,
+ 9301, 23643, 16401, 9656, 23714, 4473, 9869, 10934, 11147, 23785,
+ 11289, 23856, 11431, 23927, 4473, 11644, 23998, 11857, 12070, 24069,
+ 12212, 24140, 12354, 24211, 4473, 12567, 24282, 24353, 24424, 24495,
+ 24566, 24637, 24708, 24779, 24850, 24921, 24992, 25063, 25134, 25205,
+ 25276, 25347, 25418, 25489, 25560, 25631, 25702, 25773, 25844, 4899,
+ 25915, 25986, 26057, 26128, 26199, 4473, 4473, 26270, 26341, 26412,
+ 26483, 17963, 18176, 26554, 26625, 18744, 18957, 26696, 26767, 26838,
+ 26909, 4473, 4473, 4473, 26980, 27051, 27122, 27193, 27264, 27335,
+ 27406, 27477, 7171, 27548, 27619, 27690, 27761, 27832, 27903, 27974,
+ 4473, 28045, 28116, 9301, 9656, 11147, 11289, 12070, 12212, 28187,
+ 28258, 28329, 28400, 28471, 28542, 28613, 28684, 4899, 28755, 28826,
+ 28897, 28968, 29039, 29110, 29181, 29252, 29323, 29394, 29465, 29536,
+ 29607, 29678, 29749, 29820, 29891, 29962, 30033, 30104, 30175, 30246,
+ 30317, 30388, 30459, 30530, 30601, 30672, 30743, 30814, 30885, 30956,
+ 31027, 31098, 31169, 31240, 4473, 31311, 31382, 31453, 31524, 7171,
+ 31595, 31666, 31737, 31808, 31879, 31950, 32021, 32092, 32163, 32234,
+ 32305, 32376, 32447, 32518
};
/**
* The packed transition table of the DFA
*/
final private static String yy_packed =
- "\1\71\1\72\11\71\1\73\1\71\1\74\4\71\1\75"+
- "\42\71\1\76\21\71\1\77\1\100\105\77\1\101\1\102"+
- "\21\101\1\103\2\101\1\104\60\101\1\105\1\106\105\105"+
- "\1\101\1\102\5\101\1\107\16\101\1\104\61\101\1\102"+
- "\2\101\1\110\1\111\2\101\2\112\5\101\1\111\6\101"+
- "\1\111\1\113\1\114\4\112\1\101\10\112\1\115\2\112"+
- "\1\101\11\112\1\115\1\112\1\101\4\112\1\101\4\112"+
- "\1\101\4\112\2\101\1\112\1\101\1\102\2\101\1\110"+
- "\1\116\11\101\1\116\6\101\1\116\60\101\1\117\1\120"+
- "\2\117\1\121\21\117\1\104\60\117\1\101\1\102\2\101"+
- "\1\122\1\111\2\101\2\123\5\101\1\111\6\101\1\111"+
- "\6\123\1\101\13\123\1\101\13\123\1\101\4\123\1\101"+
- "\4\123\1\101\4\123\2\101\1\123\1\101\1\102\2\101"+
- "\1\122\1\111\2\101\2\123\5\101\1\111\6\101\1\111"+
- "\6\123\1\101\13\123\1\124\13\123\1\101\4\123\1\101"+
- "\4\123\1\101\4\123\2\101\1\123\1\125\1\102\1\101"+
- "\1\126\1\127\1\111\4\125\1\130\1\125\1\131\2\125"+
- "\1\111\6\125\1\111\60\125\1\101\1\102\2\101\1\132"+
- "\21\101\1\104\61\101\1\102\1\133\1\134\1\101\1\111"+
- "\2\101\2\135\5\101\1\111\6\101\1\111\6\135\1\101"+
- "\13\135\1\101\13\135\1\101\4\135\1\101\4\135\1\101"+
- "\4\135\2\101\1\135\1\101\1\102\1\133\1\134\1\101"+
- "\1\111\2\101\2\135\5\101\1\111\6\101\1\111\6\135"+
- "\1\101\13\135\1\136\13\135\1\101\4\135\1\101\4\135"+
- "\1\101\4\135\2\101\1\135\1\137\1\102\1\133\1\140"+
- "\1\137\1\111\4\137\1\141\1\137\1\142\2\137\1\111"+
- "\6\137\1\111\60\137\1\101\1\102\3\101\1\111\11\101"+
- "\1\111\6\101\1\111\60\101\1\143\1\144\20\143\1\145"+
- "\64\143\1\101\1\146\3\101\1\111\2\101\2\147\5\101"+
- "\1\111\2\101\1\150\3\101\1\111\6\147\1\101\13\147"+
- "\1\101\13\147\1\101\4\147\1\101\4\147\1\101\4\147"+
- "\2\101\1\147\1\101\1\146\3\101\1\151\11\101\1\151"+
- "\2\101\1\150\3\101\1\151\61\101\1\146\3\101\1\111"+
- "\2\101\2\152\5\101\1\111\2\101\1\150\3\101\1\111"+
- "\6\152\1\101\13\152\1\101\13\152\1\101\4\152\1\101"+
- "\4\152\1\101\4\152\2\101\1\152\1\101\1\146\3\101"+
- "\1\111\2\101\2\152\5\101\1\111\2\101\1\150\3\101"+
- "\1\111\6\152\1\101\13\152\1\153\13\152\1\101\4\152"+
- "\1\101\4\152\1\101\4\152\2\101\1\152\1\154\1\146"+
- "\1\101\1\155\1\154\1\111\4\154\1\156\1\154\1\157"+
- "\2\154\1\111\2\154\1\160\3\154\1\111\60\154\1\161"+
- "\1\162\1\163\1\164\4\161\2\165\15\161\6\166\1\161"+
- "\13\166\1\161\13\166\1\161\4\166\1\161\4\166\1\161"+
- "\1\167\3\166\2\161\1\166\1\101\1\170\1\163\1\164"+
- "\1\101\1\111\2\101\2\171\5\101\1\111\6\101\1\111"+
- "\6\171\1\101\13\171\1\101\13\171\1\101\4\171\1\101"+
- "\4\171\1\101\4\171\2\101\1\171\1\101\1\170\1\163"+
- "\1\164\1\101\1\111\2\101\2\171\5\101\1\111\6\101"+
- "\1\111\6\171\1\101\13\171\1\172\13\171\1\101\4\171"+
- "\1\101\4\171\1\101\4\171\2\101\1\171\1\173\1\174"+
- "\1\163\1\175\1\173\1\111\4\173\1\176\1\173\1\177"+
- "\1\200\1\173\1\111\6\173\1\111\36\173\1\201\21\173"+
- "\1\101\1\202\1\203\2\101\1\111\11\101\1\111\6\101"+
- "\1\111\10\101\1\204\1\205\2\101\1\206\11\101\1\206"+
- "\1\101\1\205\1\204\27\101\1\102\1\203\2\101\1\111"+
- "\11\101\1\111\6\101\1\111\6\101\1\207\52\101\1\102"+
- "\1\203\2\101\1\111\2\101\2\210\5\101\1\111\6\101"+
- "\1\111\6\210\1\207\13\210\1\101\13\210\1\101\4\210"+
- "\1\101\4\210\1\101\4\210\2\101\1\210\1\101\1\102"+
- "\1\203\2\101\1\111\11\101\1\111\6\101\1\111\6\101"+
- "\1\207\7\101\1\211\6\101\1\212\11\101\1\211\12\101"+
- "\1\212\5\101\1\213\1\102\1\203\1\214\1\213\1\111"+
- "\4\213\1\215\1\213\1\216\2\213\1\111\6\213\1\111"+
- "\6\213\1\217\51\213\1\220\1\102\1\203\1\221\1\220"+
- "\1\111\4\220\1\222\1\220\1\223\2\220\1\111\6\220"+
- "\1\111\6\220\1\224\51\220\1\225\1\102\1\203\1\226"+
- "\1\225\1\111\4\225\1\227\1\225\1\230\2\225\1\111"+
- "\6\225\1\111\60\225\1\231\1\232\1\233\104\231\1\234"+
- "\1\102\1\203\1\235\1\234\1\111\4\234\1\236\1\234"+
- "\1\237\2\234\1\111\6\234\1\111\60\234\1\240\1\241"+
- "\1\242\104\240\1\243\1\244\105\243\1\101\1\102\24\101"+
- "\1\104\60\101\1\245\1\246\105\245\1\101\1\102\5\101"+
- "\1\247\16\101\1\104\60\101\1\250\1\251\3\250\1\252"+
- "\6\250\1\253\1\254\1\250\1\252\6\250\1\252\36\250"+
- "\1\255\21\250\1\256\1\251\3\256\1\257\4\256\1\260"+
- "\2\256\1\261\1\256\1\257\6\256\1\257\36\256\1\262"+
- "\21\256\1\263\1\264\10\263\1\265\1\263\1\266\1\267"+
- "\67\263\1\270\1\263\1\271\1\272\12\271\1\101\11\271"+
- "\1\273\60\271\1\274\1\275\10\274\1\101\13\274\1\276"+
- "\60\274\1\101\1\102\12\101\1\277\11\101\1\104\61\101"+
- "\1\102\10\101\1\300\13\101\1\104\60\101\1\301\1\302"+
- "\10\301\1\260\71\301\1\303\1\304\1\301\1\305\1\306"+
- "\12\305\1\253\67\305\1\307\1\304\1\305\1\310\1\311"+
- "\10\310\1\312\1\310\1\313\50\310\1\314\17\310\1\315"+
- "\1\310\1\316\1\317\12\316\1\101\11\316\1\320\60\316"+
- "\1\321\1\322\10\321\1\101\13\321\1\323\60\321\1\101"+
- "\1\102\12\101\1\324\11\101\1\104\61\101\1\102\10\101"+
- "\1\325\13\101\1\104\60\101\1\326\1\327\10\326\1\260"+
- "\71\326\1\330\1\331\1\326\1\332\1\333\12\332\1\253"+
- "\67\332\1\334\1\331\1\332\1\71\1\0\11\71\1\0"+
- "\1\71\1\0\4\71\1\0\42\71\1\0\21\71\3\0"+
- "\1\335\1\336\15\0\1\337\2\0\1\340\66\0\1\341"+
- "\2\0\2\342\5\0\1\341\6\0\1\341\6\342\1\0"+
- "\13\342\1\0\13\342\1\343\4\342\1\0\4\342\1\0"+
- "\4\342\2\0\1\342\1\344\1\0\11\344\1\0\1\344"+
- "\1\345\1\346\3\344\1\0\64\344\5\0\1\341\2\0"+
- "\2\347\5\0\1\341\6\0\1\341\6\347\1\0\13\347"+
- "\1\0\13\347\1\0\4\347\1\0\4\347\1\0\4\347"+
- "\2\0\1\347\1\344\1\0\11\344\1\0\2\344\1\350"+
- "\3\344\1\0\42\344\1\351\21\344\131\0\1\337\2\0"+
- "\1\352\104\0\1\353\72\0\1\354\101\0\1\355\111\0"+
- "\1\111\11\0\1\111\6\0\1\111\66\0\4\112\6\0"+
+ "\1\72\1\73\11\72\1\74\1\72\1\75\5\72\1\76"+
+ "\42\72\1\77\20\72\1\100\1\101\105\100\1\102\1\103"+
+ "\22\102\1\104\62\102\1\105\1\106\105\105\1\102\1\103"+
+ "\5\102\1\107\100\102\1\103\2\102\1\110\1\111\2\102"+
+ "\2\112\6\102\1\111\6\102\1\111\1\113\1\114\4\112"+
+ "\1\102\10\112\1\115\2\112\1\102\11\112\1\115\1\112"+
+ "\1\102\4\112\1\102\4\112\1\102\4\112\1\102\1\112"+
+ "\1\102\1\103\2\102\1\110\1\116\12\102\1\116\6\102"+
+ "\1\116\57\102\1\117\1\120\2\117\1\121\22\117\1\102"+
+ "\57\117\1\102\1\103\2\102\1\122\1\111\2\102\2\123"+
+ "\6\102\1\111\6\102\1\111\6\123\1\102\13\123\1\102"+
+ "\13\123\1\102\4\123\1\102\4\123\1\102\4\123\1\102"+
+ "\1\123\1\102\1\103\2\102\1\122\1\111\2\102\2\123"+
+ "\6\102\1\111\6\102\1\111\6\123\1\102\13\123\1\124"+
+ "\13\123\1\102\4\123\1\102\4\123\1\102\4\123\1\102"+
+ "\1\123\1\125\1\103\1\102\1\126\1\127\1\111\4\125"+
+ "\1\130\1\125\1\131\3\125\1\111\6\125\1\111\57\125"+
+ "\1\102\1\103\2\102\1\132\103\102\1\103\1\133\1\134"+
+ "\1\102\1\111\2\102\2\135\6\102\1\111\6\102\1\111"+
+ "\6\135\1\102\13\135\1\102\13\135\1\102\4\135\1\102"+
+ "\4\135\1\102\4\135\1\102\1\135\1\102\1\103\1\133"+
+ "\1\134\1\102\1\111\2\102\2\135\6\102\1\111\6\102"+
+ "\1\111\6\135\1\102\13\135\1\136\13\135\1\102\4\135"+
+ "\1\102\4\135\1\102\4\135\1\102\1\135\1\137\1\103"+
+ "\1\133\1\140\1\137\1\111\4\137\1\141\1\137\1\142"+
+ "\3\137\1\111\6\137\1\111\57\137\1\102\1\103\3\102"+
+ "\1\111\12\102\1\111\6\102\1\111\57\102\1\143\1\144"+
+ "\21\143\1\145\63\143\1\102\1\146\3\102\1\111\2\102"+
+ "\2\147\6\102\1\111\2\102\1\150\3\102\1\111\6\147"+
+ "\1\102\13\147\1\102\13\147\1\102\4\147\1\102\4\147"+
+ "\1\102\4\147\1\102\1\147\1\102\1\146\3\102\1\151"+
+ "\12\102\1\151\2\102\1\150\3\102\1\151\60\102\1\146"+
+ "\3\102\1\111\2\102\2\152\6\102\1\111\2\102\1\150"+
+ "\3\102\1\111\6\152\1\102\13\152\1\102\13\152\1\102"+
+ "\4\152\1\102\4\152\1\102\4\152\1\102\1\152\1\102"+
+ "\1\146\3\102\1\111\2\102\2\152\6\102\1\111\2\102"+
+ "\1\150\3\102\1\111\6\152\1\102\13\152\1\153\13\152"+
+ "\1\102\4\152\1\102\4\152\1\102\4\152\1\102\1\152"+
+ "\1\154\1\146\1\102\1\155\1\154\1\111\4\154\1\156"+
+ "\1\154\1\157\3\154\1\111\2\154\1\160\3\154\1\111"+
+ "\57\154\1\161\1\162\1\163\1\164\4\161\2\165\16\161"+
+ "\6\166\1\161\13\166\1\161\13\166\1\161\4\166\1\161"+
+ "\4\166\1\161\1\167\3\166\1\161\1\166\1\102\1\170"+
+ "\1\163\1\164\1\102\1\111\2\102\2\171\6\102\1\111"+
+ "\6\102\1\111\6\171\1\102\13\171\1\102\13\171\1\102"+
+ "\4\171\1\102\4\171\1\102\4\171\1\102\1\171\1\102"+
+ "\1\170\1\163\1\164\1\102\1\111\2\102\2\171\6\102"+
+ "\1\111\6\102\1\111\6\171\1\102\13\171\1\172\13\171"+
+ "\1\102\4\171\1\102\4\171\1\102\4\171\1\102\1\171"+
+ "\1\173\1\174\1\163\1\175\1\173\1\111\4\173\1\176"+
+ "\1\173\1\177\1\200\2\173\1\111\6\173\1\111\36\173"+
+ "\1\201\20\173\1\102\1\202\1\203\2\102\1\111\12\102"+
+ "\1\111\6\102\1\111\10\102\1\204\1\205\2\102\1\206"+
+ "\11\102\1\206\1\102\1\205\1\204\26\102\1\103\1\203"+
+ "\2\102\1\111\12\102\1\111\6\102\1\111\6\102\1\207"+
+ "\51\102\1\103\1\203\2\102\1\111\2\102\2\210\6\102"+
+ "\1\111\6\102\1\111\6\210\1\207\13\210\1\102\13\210"+
+ "\1\102\4\210\1\102\4\210\1\102\4\210\1\102\1\210"+
+ "\1\102\1\103\1\203\2\102\1\111\12\102\1\111\6\102"+
+ "\1\111\6\102\1\207\7\102\1\211\6\102\1\212\11\102"+
+ "\1\211\12\102\1\212\4\102\1\213\1\103\1\203\1\214"+
+ "\1\213\1\111\4\213\1\215\1\213\1\216\3\213\1\111"+
+ "\6\213\1\111\6\213\1\217\50\213\1\220\1\103\1\203"+
+ "\1\221\1\220\1\111\4\220\1\222\1\220\1\223\3\220"+
+ "\1\111\6\220\1\111\6\220\1\224\50\220\1\225\1\103"+
+ "\1\203\1\226\1\225\1\111\4\225\1\227\1\225\1\230"+
+ "\3\225\1\111\6\225\1\111\57\225\1\231\1\232\1\233"+
+ "\104\231\1\234\1\103\1\203\1\235\1\234\1\111\4\234"+
+ "\1\236\1\234\1\237\3\234\1\111\6\234\1\111\57\234"+
+ "\1\240\1\241\1\242\104\240\1\243\1\244\105\243\1\102"+
+ "\1\103\105\102\1\245\1\246\105\245\1\102\1\103\5\102"+
+ "\1\247\77\102\1\250\1\251\1\163\1\252\1\250\1\111"+
+ "\4\250\1\253\1\250\1\254\1\255\2\250\1\111\6\250"+
+ "\1\111\36\250\1\256\20\250\1\257\1\260\3\257\1\261"+
+ "\6\257\1\262\1\263\2\257\1\261\6\257\1\261\36\257"+
+ "\1\264\20\257\1\265\1\260\3\265\1\266\4\265\1\267"+
+ "\2\265\1\270\2\265\1\266\6\265\1\266\36\265\1\271"+
+ "\20\265\1\272\1\273\10\272\1\274\1\272\1\275\1\276"+
+ "\67\272\1\277\1\272\1\300\1\301\12\300\1\102\72\300"+
+ "\1\302\1\303\10\302\1\102\74\302\1\102\1\103\12\102"+
+ "\1\304\73\102\1\103\10\102\1\305\74\102\1\306\1\307"+
+ "\10\306\1\310\4\306\1\311\65\306\1\312\1\306\1\313"+
+ "\1\314\12\313\1\262\2\313\1\315\65\313\1\312\1\313"+
+ "\1\316\1\317\10\316\1\320\1\316\1\321\51\316\1\322"+
+ "\16\316\1\323\1\316\1\324\1\325\12\324\1\102\72\324"+
+ "\1\326\1\327\10\326\1\102\74\326\1\102\1\103\12\102"+
+ "\1\330\73\102\1\103\10\102\1\331\74\102\1\332\1\333"+
+ "\10\332\1\310\4\332\1\334\65\332\1\335\1\332\1\336"+
+ "\1\337\12\336\1\262\2\336\1\340\65\336\1\335\1\336"+
+ "\1\72\1\0\11\72\1\0\1\72\1\0\5\72\1\0"+
+ "\42\72\1\0\20\72\3\0\1\341\1\342\16\0\1\343"+
+ "\2\0\1\344\65\0\1\345\2\0\2\346\6\0\1\345"+
+ "\6\0\1\345\6\346\1\0\13\346\1\0\13\346\1\347"+
+ "\4\346\1\0\4\346\1\0\4\346\1\0\1\346\1\350"+
+ "\1\0\11\350\1\0\1\350\1\351\1\352\4\350\1\0"+
+ "\63\350\5\0\1\345\2\0\2\353\6\0\1\345\6\0"+
+ "\1\345\6\353\1\0\13\353\1\0\13\353\1\0\4\353"+
+ "\1\0\4\353\1\0\4\353\1\0\1\353\1\350\1\0"+
+ "\11\350\1\0\2\350\1\354\4\350\1\0\42\350\1\355"+
+ "\20\350\132\0\1\343\2\0\1\356\104\0\1\357\71\0"+
+ "\1\360\101\0\1\361\111\0\1\111\12\0\1\111\6\0"+
+ "\1\111\65\0\4\112\7\0\1\112\6\0\6\112\1\0"+
+ "\13\112\1\0\13\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\6\0\4\112\7\0\1\112\6\0\2\112\2\362"+
+ "\2\112\1\0\13\112\1\0\13\112\1\0\4\112\1\0"+
+ "\11\112\1\0\1\112\6\0\4\112\7\0\1\112\6\0"+
+ "\2\112\1\362\1\363\2\112\1\0\13\112\1\0\13\112"+
+ "\1\0\4\112\1\0\11\112\1\0\1\112\6\0\4\112"+
+ "\7\0\1\112\6\0\2\112\2\364\2\112\1\0\13\112"+
+ "\1\0\13\112\1\0\4\112\1\0\11\112\1\0\1\112"+
+ "\5\0\1\116\12\0\1\116\6\0\1\116\61\0\1\365"+
+ "\106\0\1\366\112\0\4\123\7\0\1\123\6\0\6\123"+
+ "\1\0\13\123\1\0\13\123\1\0\4\123\1\0\11\123"+
+ "\1\0\1\123\1\125\2\0\1\367\1\125\1\0\4\125"+
+ "\1\0\1\125\1\0\3\125\1\0\6\125\1\0\60\125"+
+ "\1\0\1\366\1\367\1\125\1\0\4\125\1\0\1\125"+
+ "\1\0\3\125\1\0\6\125\1\0\57\125\1\370\1\0"+
+ "\10\370\1\371\2\370\1\372\50\370\1\372\20\370\1\373"+
+ "\1\0\12\373\1\371\1\374\50\373\1\374\20\373\2\0"+
+ "\1\133\1\375\111\0\4\135\7\0\1\135\6\0\6\135"+
+ "\1\0\13\135\1\0\13\135\1\0\4\135\1\0\11\135"+
+ "\1\0\1\135\1\137\2\0\1\376\1\137\1\0\4\137"+
+ "\1\0\1\137\1\0\3\137\1\0\6\137\1\0\60\137"+
+ "\1\0\1\133\1\377\1\137\1\0\4\137\1\0\1\137"+
+ "\1\0\3\137\1\0\6\137\1\0\57\137\1\141\1\0"+
+ "\1\u0100\1\u0101\1\141\1\u0100\4\141\1\u0102\1\141\1\u0100"+
+ "\1\u0103\2\141\1\u0100\6\141\1\u0100\36\141\1\u0103\20\141"+
+ "\1\142\1\0\1\u0104\1\u0105\1\142\1\u0104\4\142\1\u0104"+
+ "\1\142\1\u0102\1\u0106\2\142\1\u0104\6\142\1\u0104\36\142"+
+ "\1\u0106\20\142\2\0\1\u0107\127\0\1\343\2\0\1\u0108"+
+ "\66\0\4\147\7\0\1\147\6\0\6\147\1\0\13\147"+
+ "\1\0\13\147\1\0\4\147\1\0\11\147\1\0\1\147"+
+ "\2\0\1\u0109\111\0\1\151\12\0\1\151\6\0\1\151"+
+ "\65\0\4\152\7\0\1\152\6\0\6\152\1\0\13\152"+
+ "\1\0\13\152\1\0\4\152\1\0\11\152\1\0\1\152"+
+ "\1\154\2\0\1\u010a\1\154\1\0\4\154\1\0\1\154"+
+ "\1\0\3\154\1\0\6\154\1\0\57\154\1\u010b\1\0"+
+ "\10\u010b\1\u010c\2\u010b\1\u010d\50\u010b\1\u010d\20\u010b\1\u010e"+
+ "\1\0\12\u010e\1\u010c\1\u010f\50\u010e\1\u010f\20\u010e\1\154"+
+ "\1\0\1\u0109\1\u010a\1\154\1\0\4\154\1\0\1\154"+
+ "\1\0\3\154\1\0\6\154\1\0\57\154\1\161\3\0"+
+ "\24\161\6\0\1\161\13\0\1\161\13\0\1\161\4\0"+
+ "\1\161\4\0\1\161\4\0\1\161\4\0\1\341\17\0"+
+ "\1\343\2\0\1\344\62\0\1\u0110\104\0\1\161\3\0"+
+ "\2\161\4\165\7\161\1\165\6\161\6\166\1\161\13\166"+
+ "\1\161\13\166\1\161\4\166\1\161\4\166\1\165\4\166"+
+ "\1\161\1\166\6\0\4\166\7\0\1\166\6\0\6\166"+
+ "\1\0\13\166\1\0\13\166\1\0\4\166\1\0\11\166"+
+ "\1\0\1\166\6\0\4\166\7\0\1\166\6\0\6\166"+
+ "\1\0\7\166\1\u0111\3\166\1\0\13\166\1\0\4\166"+
+ "\1\0\11\166\1\0\1\166\3\0\1\341\4\0\2\u0112"+
+ "\11\0\1\343\2\0\1\344\1\0\6\u0112\1\0\13\u0112"+
+ "\1\0\13\u0112\1\0\4\u0112\1\0\4\u0112\1\0\4\u0112"+
+ "\1\0\1\u0112\6\0\4\171\7\0\1\171\6\0\6\171"+
+ "\1\0\13\171\1\0\13\171\1\0\4\171\1\0\11\171"+
+ "\1\0\1\171\1\173\2\0\1\u0113\1\173\1\0\4\173"+
+ "\1\0\1\173\1\0\3\173\1\0\6\173\1\0\57\173"+
+ "\3\0\1\341\4\0\2\u0114\11\0\1\343\2\0\1\344"+
+ "\1\0\6\u0114\1\0\13\u0114\1\0\13\u0114\1\0\4\u0114"+
+ "\1\0\4\u0114\1\0\4\u0114\1\0\1\u0114\1\173\1\0"+
+ "\1\u0110\1\u0113\1\173\1\0\4\173\1\0\1\173\1\0"+
+ "\3\173\1\0\6\173\1\0\57\173\1\u0115\1\0\10\u0115"+
+ "\1\u0116\2\u0115\1\u0117\50\u0115\1\u0117\20\u0115\1\u0118\1\0"+
+ "\12\u0118\1\u0116\1\u0119\50\u0118\1\u0119\20\u0118\1\173\2\0"+
+ "\1\u0113\1\173\1\0\4\173\1\0\1\173\1\0\1\173"+
+ "\1\u011a\1\173\1\0\6\173\1\0\60\173\2\0\1\u0113"+
+ "\1\173\1\0\4\173\1\0\1\173\1\0\1\173\1\u011b"+
+ "\1\173\1\0\6\173\1\0\57\173\3\0\1\341\17\0"+
+ "\1\343\2\0\1\u0108\130\0\1\u011c\2\0\1\u011c\75\0"+
+ "\1\u011d\14\0\1\u011d\63\0\2\u011e\51\0\24\u011f\1\u0120"+
+ "\62\u011f\6\0\4\210\7\0\1\210\6\0\6\210\1\0"+
+ "\13\210\1\0\13\210\1\0\4\210\1\0\11\210\1\0"+
+ "\1\210\54\0\1\u0121\5\0\1\u0121\116\0\1\u0122\10\0"+
+ "\1\u0122\3\0\1\213\2\0\1\u0123\1\213\1\0\4\213"+
+ "\1\0\1\213\1\0\3\213\1\0\6\213\1\0\57\213"+
+ "\1\u0124\1\0\10\u0124\1\u0125\2\u0124\1\u0126\50\u0124\1\u0126"+
+ "\20\u0124\1\u0127\1\0\1\u0127\2\u0128\1\u0127\4\u0128\2\u0127"+
+ "\1\u0129\1\u012a\2\u0127\4\u0128\1\u0127\11\u0128\1\u0127\27\u0128"+
+ "\1\u012a\10\u0128\2\u0127\4\u0128\1\u0127\1\u0128\1\217\2\u011f"+
+ "\1\u012b\1\217\1\u011f\4\217\1\u011f\1\217\1\u011f\3\217"+
+ "\1\u011f\3\217\1\u012c\2\217\1\u011f\57\217\1\220\2\0"+
+ "\1\u012d\1\220\1\0\4\220\1\0\1\220\1\0\3\220"+
+ "\1\0\6\220\1\0\57\220\12\u012e\1\u012f\74\u012e\14\u0130"+
+ "\1\u012f\72\u0130\1\224\2\u011f\1\u0131\1\224\1\u011f\4\224"+
+ "\1\u011f\1\224\1\u011f\3\224\1\u011f\3\224\1\u0132\2\224"+
+ "\1\u011f\57\224\1\225\2\0\1\u0133\1\225\1\0\4\225"+
+ "\1\0\1\225\1\0\3\225\1\0\6\225\1\0\57\225"+
+ "\1\u0134\1\0\10\u0134\1\u0135\2\u0134\1\u0136\50\u0134\1\u0136"+
+ "\20\u0134\1\u0137\1\0\1\u0137\2\u0138\1\u0137\4\u0138\2\u0137"+
+ "\1\u0139\1\u013a\2\u0137\4\u0138\1\u0137\11\u0138\1\u0137\27\u0138"+
+ "\1\u013a\10\u0138\2\u0137\4\u0138\1\u0137\1\u0138\2\231\1\0"+
+ "\106\231\1\0\20\231\1\u013b\2\231\1\u013c\60\231\1\234"+
+ "\2\0\1\u013d\1\234\1\0\4\234\1\0\1\234\1\0"+
+ "\3\234\1\0\6\234\1\0\57\234\1\u013e\1\0\10\u013e"+
+ "\1\u013f\2\u013e\1\u0140\50\u013e\1\u0140\20\u013e\1\u0141\1\0"+
+ "\1\u0141\2\u0142\1\u0141\4\u0142\2\u0141\1\u0143\1\u0144\2\u0141"+
+ "\4\u0142\1\u0141\11\u0142\1\u0141\27\u0142\1\u0144\10\u0142\2\u0141"+
+ "\4\u0142\1\u0141\1\u0142\2\240\1\0\106\240\1\0\20\240"+
+ "\1\u0145\2\240\1\u0146\60\240\7\0\1\u0147\77\0\1\250"+
+ "\2\0\1\u0148\1\250\1\0\4\250\1\0\1\250\1\0"+
+ "\3\250\1\0\6\250\1\0\60\250\1\0\1\u0110\1\u0148"+
+ "\1\250\1\0\4\250\1\0\1\250\1\0\3\250\1\0"+
+ "\6\250\1\0\57\250\1\u0149\1\0\10\u0149\1\u014a\2\u0149"+
+ "\1\u014b\1\u0149\1\u014c\46\u0149\1\u014b\20\u0149\1\u014d\1\0"+
+ "\12\u014d\1\u014a\1\u014e\1\u014d\1\u014f\46\u014d\1\u014e\20\u014d"+
+ "\1\250\2\0\1\u0148\1\250\1\0\4\250\1\0\1\250"+
+ "\1\0\1\250\1\u0150\1\250\1\0\6\250\1\0\60\250"+
+ "\2\0\1\u0148\1\250\1\0\4\250\1\0\1\250\1\0"+
+ "\1\250\1\u0151\1\250\1\0\6\250\1\0\57\250\1\257"+
+ "\1\0\12\257\2\0\50\257\1\0\20\257\3\0\1\u0152"+
+ "\17\0\1\343\2\0\1\356\60\0\1\257\1\0\3\257"+
+ "\1\261\6\257\2\0\2\257\1\261\6\257\1\261\36\257"+
+ "\1\0\20\257\5\0\1\u0153\10\0\1\u0154\1\0\1\u0153"+
+ "\6\0\1\u0153\64\0\1\u0153\10\0\1\u0155\1\0\1\u0153"+
+ "\6\0\1\u0153\57\0\1\265\1\0\10\265\1\0\2\265"+
+ "\1\0\50\265\1\0\21\265\1\0\3\265\1\266\4\265"+
+ "\1\0\2\265\1\0\2\265\1\266\6\265\1\266\36\265"+
+ "\1\0\20\265\5\0\1\u0153\10\0\1\u0156\1\0\1\u0153"+
+ "\6\0\1\u0153\64\0\1\u0153\10\0\1\u0157\1\0\1\u0153"+
+ "\6\0\1\u0153\57\0\12\272\1\0\1\272\1\0\1\u0158"+
+ "\67\272\1\0\13\272\1\0\1\272\1\0\1\u0158\5\272"+
+ "\1\u0159\61\272\1\0\13\272\1\0\1\272\1\0\1\272"+
+ "\1\u015a\66\272\1\u015b\1\272\14\u015c\1\u015d\106\u015c\1\u015d"+
+ "\6\u015c\1\u015e\2\u015c\1\u015f\60\u015c\12\u0160\1\u0161\106\u0160"+
+ "\1\u0161\10\u0160\1\u0162\2\u0160\1\u0163\60\u0160\12\306\1\0"+
+ "\4\306\1\u0164\65\306\1\0\13\306\1\0\4\306\1\u0164"+
+ "\3\306\1\u0165\61\306\1\0\13\306\1\u0166\74\306\14\313"+
+ "\1\0\2\313\1\u0167\65\313\1\0\15\313\1\0\2\313"+
+ "\1\u0167\3\313\1\u0168\61\313\1\0\15\313\1\u0169\72\313"+
+ "\12\316\1\0\1\316\1\0\70\316\1\0\13\316\1\0"+
+ "\1\316\1\0\6\316\1\u016a\61\316\1\0\13\316\1\0"+
+ "\1\316\1\0\1\316\1\u016b\66\316\1\0\1\316\14\u016c"+
+ "\1\u016d\106\u016c\1\u016d\6\u016c\1\u016e\2\u016c\1\u016f\60\u016c"+
+ "\12\u0170\1\u0171\106\u0170\1\u0171\10\u0170\1\u0172\2\u0170\1\u0173"+
+ "\60\u0170\12\332\1\0\4\332\1\u0174\65\332\1\0\13\332"+
+ "\1\0\4\332\1\u0174\3\332\1\u0175\61\332\1\0\13\332"+
+ "\1\u0176\74\332\14\336\1\0\2\336\1\u0177\65\336\1\0"+
+ "\15\336\1\0\2\336\1\u0177\3\336\1\u0178\61\336\1\0"+
+ "\15\336\1\u0179\72\336\7\0\1\u017a\12\0\1\u017b\3\0"+
+ "\1\u017c\23\0\1\u017d\43\0\1\u017e\26\0\1\u017f\55\0"+
+ "\1\345\2\0\2\u0180\6\0\1\345\6\0\1\345\6\u0180"+
+ "\1\0\13\u0180\1\0\13\u0180\1\0\4\u0180\1\0\4\u0180"+
+ "\1\0\4\u0180\1\0\1\u0180\1\u0181\1\0\3\u0181\1\u0182"+
+ "\4\346\1\u0181\1\0\4\u0181\1\u0182\1\346\1\u0181\1\0"+
+ "\3\u0181\1\u0182\6\346\1\u0181\13\346\1\u0181\13\346\1\u0181"+
+ "\4\346\1\u0183\11\346\1\u0181\1\346\21\0\1\u0184\7\0"+
+ "\1\u0185\72\0\1\351\71\0\105\352\1\u0186\1\352\1\u0181"+
+ "\1\0\3\u0181\1\u0182\4\353\1\u0181\1\0\4\u0181\1\u0182"+
+ "\1\353\1\u0181\1\0\3\u0181\1\u0182\6\353\1\u0181\13\353"+
+ "\1\u0181\13\353\1\u0181\4\353\1\u0187\11\353\1\u0181\1\353"+
+ "\105\354\1\u0188\1\354\66\0\1\355\56\0\1\u017f\52\0"+
+ "\1\u0189\106\0\1\u018a\112\0\4\112\7\0\1\112\6\0"+
+ "\4\112\2\u018b\1\0\13\112\1\0\13\112\1\0\4\112"+
+ "\1\0\11\112\1\0\1\112\6\0\4\112\7\0\1\112"+
+ "\6\0\4\112\1\u018b\1\u018c\1\0\13\112\1\0\13\112"+
+ "\1\0\4\112\1\0\11\112\1\0\1\112\6\0\4\112"+
+ "\7\0\1\112\6\0\6\112\1\0\13\112\1\0\2\112"+
+ "\1\u018d\10\112\1\0\4\112\1\0\6\112\1\u018d\2\112"+
+ "\1\0\1\112\12\370\1\371\3\370\1\0\70\370\14\373"+
+ "\1\371\1\373\1\0\70\373\1\u0100\1\0\10\u0100\1\u0102"+
+ "\2\u0100\1\u018e\50\u0100\1\u018e\20\u0100\1\141\2\u0100\1\u0101"+
+ "\1\141\1\u0100\4\141\1\u0102\1\141\1\u0100\1\141\1\137"+
+ "\1\141\1\u0100\6\141\1\u0100\57\141\1\u0104\1\0\12\u0104"+
+ "\1\u0102\1\u018f\50\u0104\1\u018f\20\u0104\1\142\2\u0104\1\u0105"+
+ "\1\142\1\u0104\4\142\1\u0104\1\142\1\u0102\1\142\1\137"+
+ "\1\142\1\u0104\6\142\1\u0104\57\142\12\u010b\1\u010c\3\u010b"+
+ "\1\0\70\u010b\14\u010e\1\u010c\1\u010e\1\0\70\u010e\6\0"+
+ "\4\166\7\0\1\166\6\0\6\166\1\0\13\166\1\0"+
+ "\13\166\1\0\4\166\1\0\6\166\1\u0190\2\166\1\0"+
+ "\1\166\6\0\4\u0112\7\0\1\u0112\6\0\6\u0112\1\0"+
+ "\13\u0112\1\0\13\u0112\1\0\4\u0112\1\0\11\u0112\1\0"+
+ "\1\u0112\6\0\4\u0114\7\0\1\u0114\6\0\6\u0114\1\0"+
+ "\13\u0114\1\0\13\u0114\1\0\4\u0114\1\0\11\u0114\1\0"+
+ "\1\u0114\12\u0115\1\u0116\3\u0115\1\0\70\u0115\14\u0118\1\u0116"+
+ "\1\u0118\1\0\70\u0118\1\u0191\2\u0192\1\u0193\1\u0191\1\u0192"+
+ "\4\u0191\1\u0192\1\u0191\1\u0192\3\u0191\1\u0192\6\u0191\1\u0192"+
+ "\55\u0191\1\173\1\u0191\1\u0194\2\u0195\1\u0196\1\u0194\1\u0195"+
+ "\4\u0194\1\u0195\1\u0194\1\u0195\3\u0194\1\u0195\6\u0194\1\u0195"+
+ "\55\u0194\1\173\1\u0194\37\0\1\u0197\35\0\1\u0197\53\0"+
+ "\1\u0198\14\0\1\u0198\73\0\1\u0199\11\0\1\u0199\76\0"+
+ "\1\u019a\20\0\1\u019a\113\0\1\u019b\7\0\1\u019b\2\0"+
+ "\12\u0124\1\u0125\3\u0124\1\0\70\u0124\1\u0127\1\0\12\u0127"+
+ "\1\u0125\1\u019c\50\u0127\1\u019c\21\u0127\1\0\12\u0127\1\u019d"+
+ "\1\u019c\50\u0127\1\u019c\20\u0127\14\0\1\u019e\72\0\14\u0127"+
+ "\1\u019d\1\u0127\1\0\70\u0127\12\u0134\1\u0135\3\u0134\1\0"+
+ "\70\u0134\1\u0137\1\0\12\u0137\1\u0135\1\u019f\50\u0137\1\u019f"+
+ "\21\u0137\1\0\12\u0137\1\u01a0\1\u019f\50\u0137\1\u019f\20\u0137"+
+ "\14\0\1\u01a1\72\0\14\u0137\1\u01a0\1\u0137\1\0\70\u0137"+
+ "\2\231\1\0\4\231\1\u01a2\12\231\1\u01a3\3\231\1\u01a4"+
+ "\23\231\1\u01a5\36\231\1\0\33\231\1\u01a6\50\231\12\u013e"+
+ "\1\u013f\3\u013e\1\0\70\u013e\1\u0141\1\0\12\u0141\1\u013f"+
+ "\1\u01a7\50\u0141\1\u01a7\21\u0141\1\0\12\u0141\1\u01a8\1\u01a7"+
+ "\50\u0141\1\u01a7\20\u0141\14\0\1\u01a9\72\0\14\u0141\1\u01a8"+
+ "\1\u0141\1\0\70\u0141\2\240\1\0\4\240\1\u01aa\12\240"+
+ "\1\u01ab\3\240\1\u01ac\23\240\1\u01ad\36\240\1\0\33\240"+
+ "\1\u01ae\50\240\23\0\1\u01af\63\0\12\u0149\1\u014a\3\u0149"+
+ "\1\0\71\u0149\1\0\10\u0149\1\u01b0\2\u0149\1\u014b\1\u0149"+
+ "\1\u014c\46\u0149\1\u014b\20\u0149\14\u014d\1\u014a\1\u014d\1\0"+
+ "\71\u014d\1\0\12\u014d\1\u01b1\1\u014e\1\u014d\1\u014f\46\u014d"+
+ "\1\u014e\20\u014d\1\u01b2\2\u0192\1\u01b3\1\u01b2\1\u0192\4\u01b2"+
+ "\1\u0192\1\u01b2\1\u0192\3\u01b2\1\u0192\6\u01b2\1\u0192\55\u01b2"+
+ "\1\250\1\u01b2\1\u01b4\2\u0195\1\u01b5\1\u01b4\1\u0195\4\u01b4"+
+ "\1\u0195\1\u01b4\1\u0195\3\u01b4\1\u0195\6\u01b4\1\u0195\55\u01b4"+
+ "\1\250\1\u01b4\5\0\1\u0153\12\0\1\u0153\6\0\1\u0153"+
+ "\57\0\12\272\1\0\1\272\1\0\1\272\1\u01b6\66\272"+
+ "\1\u015b\10\272\1\u01b7\2\272\1\0\1\272\1\0\1\u0158"+
+ "\4\272\1\u01b8\3\272\1\u01b9\23\272\1\u01ba\32\272\1\0"+
+ "\1\272\12\u01b6\1\0\1\u01b6\1\0\70\u01b6\1\0\1\u01b6"+
+ "\12\u015b\1\0\1\u015b\1\0\1\u01bb\67\u015b\1\0\1\u015b"+
+ "\7\u015c\1\u01bc\4\u015c\1\u015d\5\u015c\1\u01bd\3\u015c\1\u01be"+
+ "\23\u015c\1\u01bf\50\u015c\1\u015d\21\u015c\1\u01c0\50\u015c\7\u0160"+
+ "\1\u01c1\2\u0160\1\u0161\7\u0160\1\u01c2\3\u0160\1\u01c3\23\u0160"+
+ "\1\u01c4\46\u0160\1\u0161\23\u0160\1\u01c5\50\u0160\12\306\1\0"+
+ "\103\306\1\u01c6\2\306\1\0\4\306\1\u0164\2\306\1\u01c7"+
+ "\3\306\1\u01c8\23\306\1\u01c9\32\306\1\0\1\306\17\u01ca"+
+ "\1\u01cb\67\u01ca\14\313\1\0\101\313\1\u01cc\4\313\1\0"+
+ "\2\313\1\u0167\2\313\1\u01cd\3\313\1\u01ce\23\313\1\u01cf"+
+ "\32\313\1\0\1\313\17\u01d0\1\u01d1\67\u01d0\7\316\1\u01d2"+
+ "\2\316\1\0\1\316\1\0\5\316\1\u01d3\3\316\1\u01d4"+
+ "\23\316\1\u01d5\32\316\1\0\1\316\7\u016c\1\u01d6\4\u016c"+
+ "\1\u016d\5\u016c\1\u01d7\3\u016c\1\u01d8\23\u016c\1\u01d9\50\u016c"+
+ "\1\u016d\21\u016c\1\u01da\50\u016c\7\u0170\1\u01db\2\u0170\1\u0171"+
+ "\7\u0170\1\u01dc\3\u0170\1\u01dd\23\u0170\1\u01de\46\u0170\1\u0171"+
+ "\23\u0170\1\u01df\50\u0170\12\332\1\0\103\332\1\u01e0\2\332"+
+ "\1\0\4\332\1\u0174\2\332\1\u01e1\3\332\1\u01e2\23\332"+
+ "\1\u01e3\32\332\1\0\1\332\17\u01e4\1\u01e5\67\u01e4\14\336"+
+ "\1\0\101\336\1\u01e6\4\336\1\0\2\336\1\u0177\2\336"+
+ "\1\u01e7\3\336\1\u01e8\23\336\1\u01e9\32\336\1\0\1\336"+
+ "\17\u01ea\1\u01eb\67\u01ea\7\0\1\u01ec\106\0\1\u01ed\136\0"+
+ "\1\u01ee\47\0\1\u0180\1\0\11\u0180\1\0\7\u0180\1\0"+
+ "\63\u0180\1\u0181\1\0\11\u0181\1\0\7\u0181\1\0\47\u0181"+
+ "\1\0\14\u0181\1\0\3\u0181\1\u0182\5\u0181\1\0\4\u0181"+
+ "\1\u0182\2\u0181\1\0\3\u0181\1\u0182\43\u0181\1\u01ef\13\u0181"+
+ "\21\0\1\u0184\51\0\1\u01f0\34\0\1\u01f1\15\0\3\u01f1"+
+ "\2\0\1\u01f1\11\0\1\u01f1\1\0\2\u01f1\7\0\1\u01f1"+
+ "\2\0\2\u01f1\6\0\1\u01f1\10\0\1\112\1\u01f2\2\112"+
+ "\7\0\1\112\6\0\6\112\1\0\13\112\1\0\13\112"+
+ "\1\0\4\112\1\0\11\112\1\0\1\112\6\0\4\112"+
+ "\7\0\1\112\6\0\6\112\1\0\11\112\1\u01f3\1\112"+
+ "\1\0\1\u01f3\12\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\12\u0100\1\u0102\3\u0100\1\0\70\u0100\14\u0104\1\u0102"+
+ "\1\u0104\1\0\70\u0104\6\0\3\166\1\u01f4\7\0\1\166"+
+ "\6\0\6\166\1\0\13\166\1\0\13\166\1\0\4\166"+
+ "\1\0\11\166\1\0\1\166\1\u0191\2\u0192\1\u0193\1\u0191"+
+ "\1\u0192\4\u0191\1\u0192\1\u0191\1\u0192\3\u0191\1\u0192\6\u0191"+
+ "\1\u0192\55\u0191\1\u01f5\1\u0191\105\u0192\1\u01f6\1\u0192\1\u0194"+
+ "\2\u0195\1\u0196\1\u0194\1\u0195\4\u0194\1\u0195\1\u0194\1\u0195"+
+ "\3\u0194\1\u0195\6\u0194\1\u0195\55\u0194\1\u01f5\1\u0194\105\u0195"+
+ "\1\u01f7\1\u0195\42\0\1\u01f8\14\0\1\u01f8\63\0\2\u01f9"+
+ "\103\0\2\u01fa\115\0\1\u01fb\14\0\1\u01fb\63\0\2\u01fc"+
+ "\51\0\14\u0127\1\u0125\1\u0127\1\0\70\u0127\3\0\2\u01fd"+
+ "\1\0\4\u01fd\2\0\1\u0129\1\u01fd\2\0\4\u01fd\1\0"+
+ "\11\u01fd\1\0\40\u01fd\2\0\4\u01fd\1\0\1\u01fd\14\u0137"+
+ "\1\u0135\1\u0137\1\0\70\u0137\3\0\2\u01fe\1\0\4\u01fe"+
+ "\2\0\1\u0139\1\u01fe\2\0\4\u01fe\1\0\11\u01fe\1\0"+
+ "\40\u01fe\2\0\4\u01fe\1\0\1\u01fe\2\231\1\0\4\231"+
+ "\1\u01ff\101\231\1\0\34\231\1\u0200\47\231\14\u0141\1\u013f"+
+ "\1\u0141\1\0\70\u0141\3\0\2\u0201\1\0\4\u0201\2\0"+
+ "\1\u0143\1\u0201\2\0\4\u0201\1\0\11\u0201\1\0\40\u0201"+
+ "\2\0\4\u0201\1\0\1\u0201\2\240\1\0\4\240\1\u0202"+
+ "\101\240\1\0\34\240\1\u0203\47\240\2\0\1\u0204\104\0"+
+ "\1\u01b2\2\u0192\1\u01b3\1\u01b2\1\u0192\4\u01b2\1\u0192\1\u01b2"+
+ "\1\u0192\3\u01b2\1\u0192\6\u01b2\1\u0192\55\u01b2\1\u0205\1\u01b2"+
+ "\1\u01b4\2\u0195\1\u01b5\1\u01b4\1\u0195\4\u01b4\1\u0195\1\u01b4"+
+ "\1\u0195\3\u01b4\1\u0195\6\u01b4\1\u0195\55\u01b4\1\u0205\1\u01b4"+
+ "\7\272\1\u0206\2\272\1\0\1\272\1\0\1\u0158\67\272"+
+ "\1\0\1\272\12\u015b\1\0\1\u015b\1\0\1\u015b\1\0"+
+ "\70\u015b\7\u015c\1\u0207\4\u015c\1\u015d\106\u015c\1\u015d\22\u015c"+
+ "\1\u0208\47\u015c\7\u0160\1\u0209\2\u0160\1\u0161\106\u0160\1\u0161"+
+ "\24\u0160\1\u020a\47\u0160\7\306\1\u020b\2\306\1\0\4\306"+
+ "\1\u0164\65\306\1\0\1\306\12\u020c\1\u020d\72\u020c\1\0"+
+ "\1\u020c\7\313\1\u020e\4\313\1\0\2\313\1\u0167\65\313"+
+ "\1\0\1\313\14\u020f\1\u020d\70\u020f\1\0\1\u020f\7\316"+
+ "\1\u0210\2\316\1\0\1\316\1\0\70\316\1\0\1\316"+
+ "\7\u016c\1\u0211\4\u016c\1\u016d\106\u016c\1\u016d\22\u016c\1\u0212"+
+ "\47\u016c\7\u0170\1\u0213\2\u0170\1\u0171\106\u0170\1\u0171\24\u0170"+
+ "\1\u0214\47\u0170\7\332\1\u0215\2\332\1\0\4\332\1\u0174"+
+ "\65\332\1\0\1\332\12\u0216\1\u0217\72\u0216\1\0\1\u0216"+
+ "\7\336\1\u0218\4\336\1\0\2\336\1\u0177\65\336\1\0"+
+ "\1\336\14\u0219\1\u0217\70\u0219\1\0\1\u0219\40\0\1\u021a"+
+ "\141\0\1\u01ef\34\0\1\u01f1\15\0\3\u01f1\2\0\1\u01f1"+
+ "\11\0\1\u01f1\1\0\2\u01f1\7\0\1\u01f1\1\0\1\u01f0"+
+ "\2\u01f1\6\0\1\u01f1\10\0\4\112\7\0\1\112\6\0"+
+ "\6\112\1\0\7\112\1\u021b\3\112\1\0\13\112\1\0"+
+ "\4\112\1\0\11\112\1\0\1\112\6\0\4\112\7\0"+
+ "\1\112\6\0\6\112\1\0\6\112\1\u021c\4\112\1\0"+
+ "\13\112\1\0\1\112\1\u021c\2\112\1\0\11\112\1\0"+
+ "\1\112\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\6\166\1\u021d\4\166\1\0\6\166\1\u021e\4\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\54\0\1\u021f\5\0"+
+ "\1\u021f\73\0\1\u0220\14\0\1\u0220\66\0\1\u0221\11\0"+
+ "\1\u0221\74\0\1\u0222\11\0\1\u0222\77\0\1\u0223\14\0"+
+ "\1\u0223\22\0\2\231\1\0\35\231\1\u0224\46\231\2\240"+
+ "\1\0\35\240\1\u0225\46\240\14\u015c\1\u015d\23\u015c\1\u0226"+
+ "\46\u015c\12\u0160\1\u0161\25\u0160\1\u0227\46\u0160\12\u020c\1\u01ca"+
+ "\4\u020c\1\u0228\65\u020c\1\u01ca\1\u020c\14\u020f\1\u01d0\2\u020f"+
+ "\1\u0229\65\u020f\1\u01d0\1\u020f\14\u016c\1\u016d\23\u016c\1\u022a"+
+ "\46\u016c\12\u0170\1\u0171\25\u0170\1\u022b\46\u0170\12\u0216\1\u01e4"+
+ "\4\u0216\1\u022c\65\u0216\1\u01e4\1\u0216\14\u0219\1\u01ea\2\u0219"+
+ "\1\u022d\65\u0219\1\u01ea\1\u0219\41\0\1\u022e\53\0\4\112"+
+ "\7\0\1\112\6\0\6\112\1\0\13\112\1\0\4\112"+
+ "\1\u022f\6\112\1\0\4\112\1\0\11\112\1\0\1\112"+
+ "\6\0\4\112\7\0\1\112\6\0\6\112\1\0\3\112"+
+ "\1\u0230\7\112\1\0\4\112\1\u0230\6\112\1\0\4\112"+
+ "\1\0\11\112\1\0\1\112\6\0\4\166\7\0\1\166"+
+ "\6\0\6\166\1\0\11\166\1\u0231\1\166\1\0\13\166"+
+ "\1\0\4\166\1\0\11\166\1\0\1\166\6\0\4\166"+
+ "\7\0\1\166\6\0\6\166\1\0\10\166\1\u0232\2\166"+
+ "\1\0\13\166\1\0\4\166\1\0\11\166\1\0\1\166"+
+ "\55\0\1\u0233\24\0\1\u0233\52\0\1\u0234\20\0\1\u0234"+
+ "\70\0\1\u0235\13\0\1\u0235\53\0\2\u0236\112\0\1\u0237"+
+ "\35\0\1\u0237\11\0\2\231\1\0\36\231\1\u0238\45\231"+
+ "\2\240\1\0\36\240\1\u0239\45\240\14\u015c\1\u015d\24\u015c"+
+ "\1\u023a\45\u015c\12\u0160\1\u0161\26\u0160\1\u023b\45\u0160\12\u020c"+
+ "\1\u023c\4\u020c\1\u0228\65\u020c\1\u01ca\1\u020c\14\u020f\1\u023d"+
+ "\2\u020f\1\u0229\65\u020f\1\u01d0\1\u020f\14\u016c\1\u016d\24\u016c"+
+ "\1\u023e\45\u016c\12\u0170\1\u0171\26\u0170\1\u023f\45\u0170\12\u0216"+
+ "\1\u0240\4\u0216\1\u022c\65\u0216\1\u01e4\1\u0216\14\u0219\1\u0241"+
+ "\2\u0219\1\u022d\65\u0219\1\u01ea\1\u0219\42\0\1\u0242\52\0"+
+ "\4\112\7\0\1\112\6\0\6\112\1\0\13\112\1\0"+
+ "\7\112\1\u0243\3\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\11\166\1\u0244\1\166\1\0\13\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\6\166\1\u0245\4\166\1\0\13\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\44\0\1\u0246\11\0"+
+ "\1\u0246\72\0\1\u0247\14\0\1\u0247\71\0\1\u0248\14\0"+
+ "\1\u0248\27\0\2\231\1\0\37\231\1\u0249\44\231\2\240"+
+ "\1\0\37\240\1\u024a\44\240\14\u015c\1\u015d\25\u015c\1\u024b"+
+ "\44\u015c\12\u0160\1\u0161\27\u0160\1\u024c\44\u0160\14\u016c\1\u016d"+
+ "\25\u016c\1\u024d\44\u016c\12\u0170\1\u0171\27\u0170\1\u024e\44\u0170"+
+ "\41\0\1\u024f\53\0\4\112\7\0\1\112\6\0\5\112"+
+ "\1\u0250\1\0\13\112\1\0\13\112\1\0\4\112\1\0"+
+ "\11\112\1\0\1\112\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\13\166\1\0\4\166\1\u0251\6\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\6\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\5\166\1\u0252\5\166\1\0"+
+ "\13\166\1\0\4\166\1\0\11\166\1\0\1\166\2\231"+
+ "\1\0\36\231\1\u0253\45\231\2\240\1\0\36\240\1\u0254"+
+ "\45\240\14\u015c\1\u015d\24\u015c\1\u0255\45\u015c\12\u0160\1\u0161"+
+ "\26\u0160\1\u0256\45\u0160\14\u016c\1\u016d\24\u016c\1\u0257\45\u016c"+
+ "\12\u0170\1\u0171\26\u0170\1\u0258\45\u0170\36\0\1\u0259\56\0"+
+ "\4\112\7\0\1\112\6\0\6\112\1\0\5\112\1\u025a"+
+ "\5\112\1\0\13\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\13\166\1\0\13\166\1\0\4\166\1\0\1\166\1\u025b"+
+ "\7\166\1\0\1\166\2\231\1\0\33\231\1\u025c\50\231"+
+ "\2\240\1\0\33\240\1\u025d\50\240\14\u015c\1\u015d\21\u015c"+
+ "\1\u025e\50\u015c\12\u0160\1\u0161\23\u0160\1\u025f\50\u0160\14\u016c"+
+ "\1\u016d\21\u016c\1\u0260\50\u016c\12\u0170\1\u0171\23\u0170\1\u0261"+
+ "\50\u0170\6\0\4\112\7\0\1\112\6\0\6\112\1\0"+
+ "\7\112\1\u0262\3\112\1\0\13\112\1\0\4\112\1\0"+
+ "\11\112\1\0\1\112\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\13\166\1\0\4\166\1\u0263\6\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\6\0\4\112\7\0"+
"\1\112\6\0\6\112\1\0\13\112\1\0\13\112\1\0"+
- "\4\112\1\0\11\112\2\0\1\112\6\0\4\112\6\0"+
- "\1\112\6\0\2\112\2\356\2\112\1\0\13\112\1\0"+
- "\13\112\1\0\4\112\1\0\11\112\2\0\1\112\6\0"+
- "\4\112\6\0\1\112\6\0\2\112\1\356\1\357\2\112"+
- "\1\0\13\112\1\0\13\112\1\0\4\112\1\0\11\112"+
- "\2\0\1\112\6\0\4\112\6\0\1\112\6\0\2\112"+
- "\2\360\2\112\1\0\13\112\1\0\13\112\1\0\4\112"+
- "\1\0\11\112\2\0\1\112\5\0\1\116\11\0\1\116"+
- "\6\0\1\116\62\0\1\361\106\0\1\362\112\0\4\123"+
- "\6\0\1\123\6\0\6\123\1\0\13\123\1\0\13\123"+
- "\1\0\4\123\1\0\11\123\2\0\1\123\1\125\2\0"+
- "\1\363\1\125\1\0\4\125\1\0\1\125\1\0\2\125"+
- "\1\0\6\125\1\0\61\125\1\0\1\362\1\363\1\125"+
- "\1\0\4\125\1\0\1\125\1\0\2\125\1\0\6\125"+
- "\1\0\60\125\1\364\1\0\10\364\1\365\2\364\1\366"+
- "\47\364\1\366\21\364\1\367\1\0\12\367\1\365\1\370"+
- "\47\367\1\370\21\367\2\0\1\133\1\371\111\0\4\135"+
- "\6\0\1\135\6\0\6\135\1\0\13\135\1\0\13\135"+
- "\1\0\4\135\1\0\11\135\2\0\1\135\1\137\2\0"+
- "\1\372\1\137\1\0\4\137\1\0\1\137\1\0\2\137"+
- "\1\0\6\137\1\0\61\137\1\0\1\133\1\373\1\137"+
- "\1\0\4\137\1\0\1\137\1\0\2\137\1\0\6\137"+
- "\1\0\60\137\1\141\1\0\1\374\1\375\1\141\1\374"+
- "\4\141\1\376\1\141\1\374\1\377\1\141\1\374\6\141"+
- "\1\374\36\141\1\377\21\141\1\142\1\0\1\u0100\1\u0101"+
- "\1\142\1\u0100\4\142\1\u0100\1\142\1\376\1\u0102\1\142"+
- "\1\u0100\6\142\1\u0100\36\142\1\u0102\21\142\2\0\1\u0103"+
- "\126\0\1\337\2\0\1\u0104\67\0\4\147\6\0\1\147"+
- "\6\0\6\147\1\0\13\147\1\0\13\147\1\0\4\147"+
- "\1\0\11\147\2\0\1\147\2\0\1\u0105\111\0\1\151"+
- "\11\0\1\151\6\0\1\151\66\0\4\152\6\0\1\152"+
- "\6\0\6\152\1\0\13\152\1\0\13\152\1\0\4\152"+
- "\1\0\11\152\2\0\1\152\1\154\2\0\1\u0106\1\154"+
- "\1\0\4\154\1\0\1\154\1\0\2\154\1\0\6\154"+
- "\1\0\60\154\1\u0107\1\0\10\u0107\1\u0108\2\u0107\1\u0109"+
- "\47\u0107\1\u0109\21\u0107\1\u010a\1\0\12\u010a\1\u0108\1\u010b"+
- "\47\u010a\1\u010b\21\u010a\1\154\1\0\1\u0105\1\u0106\1\154"+
- "\1\0\4\154\1\0\1\154\1\0\2\154\1\0\6\154"+
- "\1\0\60\154\1\161\3\0\23\161\6\0\1\161\13\0"+
- "\1\161\13\0\1\161\4\0\1\161\4\0\1\161\4\0"+
- "\2\161\4\0\1\335\16\0\1\337\2\0\1\340\63\0"+
- "\1\u010c\104\0\1\161\3\0\2\161\4\165\6\161\1\165"+
- "\6\161\6\166\1\161\13\166\1\161\13\166\1\161\4\166"+
- "\1\161\4\166\1\165\4\166\2\161\1\166\6\0\4\166"+
- "\6\0\1\166\6\0\6\166\1\0\13\166\1\0\13\166"+
- "\1\0\4\166\1\0\11\166\2\0\1\166\6\0\4\166"+
- "\6\0\1\166\6\0\6\166\1\0\7\166\1\u010d\3\166"+
- "\1\0\13\166\1\0\4\166\1\0\11\166\2\0\1\166"+
- "\3\0\1\335\4\0\2\u010e\10\0\1\337\2\0\1\340"+
- "\1\0\6\u010e\1\0\13\u010e\1\0\13\u010e\1\0\4\u010e"+
- "\1\0\4\u010e\1\0\4\u010e\2\0\1\u010e\6\0\4\171"+
- "\6\0\1\171\6\0\6\171\1\0\13\171\1\0\13\171"+
- "\1\0\4\171\1\0\11\171\2\0\1\171\1\173\2\0"+
- "\1\u010f\1\173\1\0\4\173\1\0\1\173\1\0\2\173"+
- "\1\0\6\173\1\0\60\173\3\0\1\335\4\0\2\u0110"+
- "\10\0\1\337\2\0\1\340\1\0\6\u0110\1\0\13\u0110"+
- "\1\0\13\u0110\1\0\4\u0110\1\0\4\u0110\1\0\4\u0110"+
- "\2\0\1\u0110\1\173\1\0\1\u010c\1\u010f\1\173\1\0"+
- "\4\173\1\0\1\173\1\0\2\173\1\0\6\173\1\0"+
- "\60\173\1\u0111\1\0\10\u0111\1\u0112\2\u0111\1\u0113\47\u0111"+
- "\1\u0113\21\u0111\1\u0114\1\0\12\u0114\1\u0112\1\u0115\47\u0114"+
- "\1\u0115\21\u0114\1\173\2\0\1\u010f\1\173\1\0\4\173"+
- "\1\0\1\173\1\0\1\173\1\u0116\1\0\6\173\1\0"+
- "\61\173\2\0\1\u010f\1\173\1\0\4\173\1\0\1\173"+
- "\1\0\1\173\1\u0117\1\0\6\173\1\0\60\173\3\0"+
- "\1\335\16\0\1\337\2\0\1\u0104\130\0\1\u0118\2\0"+
- "\1\u0118\75\0\1\u0119\14\0\1\u0119\63\0\2\u011a\52\0"+
- "\23\u011b\1\u011c\63\u011b\6\0\4\210\6\0\1\210\6\0"+
- "\6\210\1\0\13\210\1\0\13\210\1\0\4\210\1\0"+
- "\11\210\2\0\1\210\53\0\1\u011d\5\0\1\u011d\116\0"+
- "\1\u011e\10\0\1\u011e\4\0\1\213\2\0\1\u011f\1\213"+
- "\1\0\4\213\1\0\1\213\1\0\2\213\1\0\6\213"+
- "\1\0\60\213\1\u0120\1\0\10\u0120\1\u0121\2\u0120\1\u0122"+
- "\47\u0120\1\u0122\21\u0120\1\u0123\1\0\1\u0123\2\u0124\1\u0123"+
- "\4\u0124\2\u0123\1\u0125\1\u0126\1\u0123\4\u0124\1\u0123\11\u0124"+
- "\1\u0123\27\u0124\1\u0126\10\u0124\2\u0123\4\u0124\2\u0123\1\u0124"+
- "\1\217\2\u011b\1\u0127\1\217\1\u011b\4\217\1\u011b\1\217"+
- "\1\u011b\2\217\1\u011b\3\217\1\u0128\2\217\1\u011b\60\217"+
- "\1\220\2\0\1\u0129\1\220\1\0\4\220\1\0\1\220"+
- "\1\0\2\220\1\0\6\220\1\0\60\220\12\u012a\1\u012b"+
- "\74\u012a\14\u012c\1\u012b\72\u012c\1\224\2\u011b\1\u012d\1\224"+
- "\1\u011b\4\224\1\u011b\1\224\1\u011b\2\224\1\u011b\3\224"+
- "\1\u012e\2\224\1\u011b\60\224\1\225\2\0\1\u012f\1\225"+
- "\1\0\4\225\1\0\1\225\1\0\2\225\1\0\6\225"+
- "\1\0\60\225\1\u0130\1\0\10\u0130\1\u0131\2\u0130\1\u0132"+
- "\47\u0130\1\u0132\21\u0130\1\u0133\1\0\1\u0133\2\u0134\1\u0133"+
- "\4\u0134\2\u0133\1\u0135\1\u0136\1\u0133\4\u0134\1\u0133\11\u0134"+
- "\1\u0133\27\u0134\1\u0136\10\u0134\2\u0133\4\u0134\2\u0133\1\u0134"+
- "\2\231\1\0\106\231\1\0\17\231\1\u0137\2\231\1\u0138"+
- "\61\231\1\234\2\0\1\u0139\1\234\1\0\4\234\1\0"+
- "\1\234\1\0\2\234\1\0\6\234\1\0\60\234\1\u013a"+
- "\1\0\10\u013a\1\u013b\2\u013a\1\u013c\47\u013a\1\u013c\21\u013a"+
- "\1\u013d\1\0\1\u013d\2\u013e\1\u013d\4\u013e\2\u013d\1\u013f"+
- "\1\u0140\1\u013d\4\u013e\1\u013d\11\u013e\1\u013d\27\u013e\1\u0140"+
- "\10\u013e\2\u013d\4\u013e\2\u013d\1\u013e\2\240\1\0\106\240"+
- "\1\0\17\240\1\u0141\2\240\1\u0142\61\240\7\0\1\u0143"+
- "\77\0\1\250\1\0\12\250\1\0\1\u0144\47\250\1\u0144"+
- "\21\250\3\0\1\u0145\16\0\1\337\2\0\1\352\61\0"+
- "\1\250\1\0\3\250\1\252\6\250\1\0\1\u0144\1\250"+
- "\1\252\6\250\1\252\36\250\1\u0144\37\250\1\u0146\106\250"+
- "\1\u0147\70\250\1\256\1\0\10\256\1\0\2\256\1\u0148"+
- "\47\256\1\u0148\22\256\1\0\3\256\1\257\4\256\1\0"+
- "\2\256\1\u0148\1\256\1\257\6\256\1\257\36\256\1\u0148"+
- "\37\256\1\u0149\106\256\1\u014a\70\256\12\263\1\0\1\263"+
- "\1\0\1\u014b\67\263\1\0\13\263\1\0\1\263\1\0"+
- "\1\u014b\4\263\1\u014c\62\263\1\0\13\263\1\0\1\263"+
- "\1\0\1\263\1\u014d\66\263\1\u014e\1\263\14\u014f\1\u0150"+
- "\106\u014f\1\u0150\5\u014f\1\u0151\2\u014f\1\u0152\61\u014f\12\u0153"+
- "\1\u0154\106\u0153\1\u0154\7\u0153\1\u0155\2\u0153\1\u0156\61\u0153"+
- "\12\301\1\0\71\301\1\u0157\1\0\13\301\1\0\7\301"+
- "\1\u0158\61\301\1\u0157\1\0\13\301\1\u0159\74\301\14\305"+
- "\1\0\67\305\1\u015a\1\0\15\305\1\0\5\305\1\u015b"+
- "\61\305\1\u015a\1\0\15\305\1\u015c\72\305\12\310\1\0"+
- "\1\310\1\0\70\310\1\0\13\310\1\0\1\310\1\0"+
- "\5\310\1\u015d\62\310\1\0\13\310\1\0\1\310\1\0"+
- "\1\310\1\u015e\66\310\1\0\1\310\14\u015f\1\u0160\106\u015f"+
- "\1\u0160\5\u015f\1\u0161\2\u015f\1\u0162\61\u015f\12\u0163\1\u0164"+
- "\106\u0163\1\u0164\7\u0163\1\u0165\2\u0163\1\u0166\61\u0163\12\326"+
- "\1\0\71\326\1\u0167\1\0\13\326\1\0\7\326\1\u0168"+
- "\61\326\1\u0167\1\0\13\326\1\u0169\74\326\14\332\1\0"+
- "\67\332\1\u016a\1\0\15\332\1\0\5\332\1\u016b\61\332"+
- "\1\u016a\1\0\15\332\1\u016c\72\332\7\0\1\u016d\11\0"+
- "\1\u016e\3\0\1\u016f\23\0\1\u0170\44\0\1\u0171\25\0"+
- "\1\u0172\56\0\1\341\2\0\2\u0173\5\0\1\341\6\0"+
- "\1\341\6\u0173\1\0\13\u0173\1\0\13\u0173\1\0\4\u0173"+
- "\1\0\4\u0173\1\0\4\u0173\2\0\1\u0173\1\u0174\1\0"+
- "\3\u0174\1\u0175\4\342\1\u0174\1\0\3\u0174\1\u0175\1\342"+
- "\1\u0174\1\0\3\u0174\1\u0175\6\342\1\u0174\13\342\1\u0174"+
- "\13\342\1\u0174\4\342\1\u0176\11\342\2\u0174\1\342\20\0"+
- "\1\u0177\7\0\1\u0178\73\0\1\345\71\0\105\346\1\u0179"+
- "\1\346\1\u0174\1\0\3\u0174\1\u0175\4\347\1\u0174\1\0"+
- "\3\u0174\1\u0175\1\347\1\u0174\1\0\3\u0174\1\u0175\6\347"+
- "\1\u0174\13\347\1\u0174\13\347\1\u0174\4\347\1\u017a\11\347"+
- "\2\u0174\1\347\105\350\1\u017b\1\350\65\0\1\351\56\0"+
- "\1\u0172\53\0\1\u017c\106\0\1\u017d\112\0\4\112\6\0"+
- "\1\112\6\0\4\112\2\u017e\1\0\13\112\1\0\13\112"+
- "\1\0\4\112\1\0\11\112\2\0\1\112\6\0\4\112"+
- "\6\0\1\112\6\0\4\112\1\u017e\1\u017f\1\0\13\112"+
- "\1\0\13\112\1\0\4\112\1\0\11\112\2\0\1\112"+
- "\6\0\4\112\6\0\1\112\6\0\6\112\1\0\13\112"+
- "\1\0\2\112\1\u0180\10\112\1\0\4\112\1\0\6\112"+
- "\1\u0180\2\112\2\0\1\112\12\364\1\365\3\364\1\0"+
- "\70\364\14\367\1\365\1\367\1\0\70\367\1\374\1\0"+
- "\10\374\1\376\2\374\1\u0181\47\374\1\u0181\21\374\1\141"+
- "\2\374\1\375\1\141\1\374\4\141\1\376\1\141\1\374"+
- "\1\141\1\137\1\374\6\141\1\374\60\141\1\u0100\1\0"+
- "\12\u0100\1\376\1\u0182\47\u0100\1\u0182\21\u0100\1\142\2\u0100"+
- "\1\u0101\1\142\1\u0100\4\142\1\u0100\1\142\1\376\1\142"+
- "\1\137\1\u0100\6\142\1\u0100\60\142\12\u0107\1\u0108\3\u0107"+
- "\1\0\70\u0107\14\u010a\1\u0108\1\u010a\1\0\70\u010a\6\0"+
- "\4\166\6\0\1\166\6\0\6\166\1\0\13\166\1\0"+
- "\13\166\1\0\4\166\1\0\6\166\1\u0183\2\166\2\0"+
- "\1\166\6\0\4\u010e\6\0\1\u010e\6\0\6\u010e\1\0"+
- "\13\u010e\1\0\13\u010e\1\0\4\u010e\1\0\11\u010e\2\0"+
- "\1\u010e\6\0\4\u0110\6\0\1\u0110\6\0\6\u0110\1\0"+
- "\13\u0110\1\0\13\u0110\1\0\4\u0110\1\0\11\u0110\2\0"+
- "\1\u0110\12\u0111\1\u0112\3\u0111\1\0\70\u0111\14\u0114\1\u0112"+
- "\1\u0114\1\0\70\u0114\1\u0184\2\u0185\1\u0186\1\u0184\1\u0185"+
- "\4\u0184\1\u0185\1\u0184\1\u0185\2\u0184\1\u0185\6\u0184\1\u0185"+
- "\56\u0184\1\173\1\u0184\1\u0187\2\u0188\1\u0189\1\u0187\1\u0188"+
- "\4\u0187\1\u0188\1\u0187\1\u0188\2\u0187\1\u0188\6\u0187\1\u0188"+
- "\56\u0187\1\173\1\u0187\36\0\1\u018a\35\0\1\u018a\53\0"+
- "\1\u018b\14\0\1\u018b\73\0\1\u018c\11\0\1\u018c\76\0"+
- "\1\u018d\20\0\1\u018d\113\0\1\u018e\7\0\1\u018e\3\0"+
- "\12\u0120\1\u0121\3\u0120\1\0\70\u0120\1\u0123\1\0\12\u0123"+
- "\1\u0121\1\u018f\47\u0123\1\u018f\22\u0123\1\0\12\u0123\1\u0190"+
- "\1\u018f\47\u0123\1\u018f\21\u0123\14\0\1\u0191\72\0\14\u0123"+
- "\1\u0190\1\u0123\1\0\70\u0123\12\u0130\1\u0131\3\u0130\1\0"+
- "\70\u0130\1\u0133\1\0\12\u0133\1\u0131\1\u0192\47\u0133\1\u0192"+
- "\22\u0133\1\0\12\u0133\1\u0193\1\u0192\47\u0133\1\u0192\21\u0133"+
- "\14\0\1\u0194\72\0\14\u0133\1\u0193\1\u0133\1\0\70\u0133"+
- "\2\231\1\0\4\231\1\u0195\11\231\1\u0196\3\231\1\u0197"+
- "\23\231\1\u0198\37\231\1\0\32\231\1\u0199\51\231\12\u013a"+
- "\1\u013b\3\u013a\1\0\70\u013a\1\u013d\1\0\12\u013d\1\u013b"+
- "\1\u019a\47\u013d\1\u019a\22\u013d\1\0\12\u013d\1\u019b\1\u019a"+
- "\47\u013d\1\u019a\21\u013d\14\0\1\u019c\72\0\14\u013d\1\u019b"+
- "\1\u013d\1\0\70\u013d\2\240\1\0\4\240\1\u019d\11\240"+
- "\1\u019e\3\240\1\u019f\23\240\1\u01a0\37\240\1\0\32\240"+
- "\1\u01a1\51\240\22\0\1\u01a2\64\0\16\250\1\0\70\250"+
- "\16\256\1\0\70\256\12\263\1\0\1\263\1\0\1\263"+
- "\1\u01a3\66\263\1\u014e\10\263\1\u01a4\2\263\1\0\1\263"+
- "\1\0\1\u014b\3\263\1\u01a5\3\263\1\u01a6\23\263\1\u01a7"+
- "\33\263\1\0\1\263\12\u01a3\1\0\1\u01a3\1\0\70\u01a3"+
- "\1\0\1\u01a3\12\u014e\1\0\1\u014e\1\0\1\u01a8\67\u014e"+
- "\1\0\1\u014e\7\u014f\1\u01a9\4\u014f\1\u0150\4\u014f\1\u01aa"+
- "\3\u014f\1\u01ab\23\u014f\1\u01ac\51\u014f\1\u0150\20\u014f\1\u01ad"+
- "\51\u014f\7\u0153\1\u01ae\2\u0153\1\u0154\6\u0153\1\u01af\3\u0153"+
- "\1\u01b0\23\u0153\1\u01b1\47\u0153\1\u0154\22\u0153\1\u01b2\51\u0153"+
- "\12\301\1\0\103\301\1\u01b3\2\301\1\0\6\301\1\u01b4"+
- "\3\301\1\u01b5\23\301\1\u01b6\32\301\1\u0157\1\0\1\301"+
- "\104\u01b7\1\u01b8\2\u01b7\14\305\1\0\101\305\1\u01b9\4\305"+
- "\1\0\4\305\1\u01ba\3\305\1\u01bb\23\305\1\u01bc\32\305"+
- "\1\u015a\1\0\1\305\104\u01bd\1\u01be\2\u01bd\7\310\1\u01bf"+
- "\2\310\1\0\1\310\1\0\4\310\1\u01c0\3\310\1\u01c1"+
- "\23\310\1\u01c2\33\310\1\0\1\310\7\u015f\1\u01c3\4\u015f"+
- "\1\u0160\4\u015f\1\u01c4\3\u015f\1\u01c5\23\u015f\1\u01c6\51\u015f"+
- "\1\u0160\20\u015f\1\u01c7\51\u015f\7\u0163\1\u01c8\2\u0163\1\u0164"+
- "\6\u0163\1\u01c9\3\u0163\1\u01ca\23\u0163\1\u01cb\47\u0163\1\u0164"+
- "\22\u0163\1\u01cc\51\u0163\12\326\1\0\103\326\1\u01cd\2\326"+
- "\1\0\6\326\1\u01ce\3\326\1\u01cf\23\326\1\u01d0\32\326"+
- "\1\u0167\1\0\1\326\104\u01d1\1\u01d2\2\u01d1\14\332\1\0"+
- "\101\332\1\u01d3\4\332\1\0\4\332\1\u01d4\3\332\1\u01d5"+
- "\23\332\1\u01d6\32\332\1\u016a\1\0\1\332\104\u01d7\1\u01d8"+
- "\2\u01d7\7\0\1\u01d9\106\0\1\u01da\135\0\1\u01db\50\0"+
- "\1\u0173\1\0\11\u0173\1\0\6\u0173\1\0\64\u0173\1\u0174"+
- "\1\0\11\u0174\1\0\6\u0174\1\0\47\u0174\1\0\15\u0174"+
- "\1\0\3\u0174\1\u0175\5\u0174\1\0\3\u0174\1\u0175\2\u0174"+
- "\1\0\3\u0174\1\u0175\43\u0174\1\u01dc\14\u0174\20\0\1\u0177"+
- "\51\0\1\u01dd\34\0\1\u01de\15\0\3\u01de\2\0\1\u01de"+
- "\11\0\1\u01de\1\0\2\u01de\7\0\1\u01de\2\0\2\u01de"+
- "\6\0\1\u01de\11\0\1\112\1\u01df\2\112\6\0\1\112"+
- "\6\0\6\112\1\0\13\112\1\0\13\112\1\0\4\112"+
- "\1\0\11\112\2\0\1\112\6\0\4\112\6\0\1\112"+
- "\6\0\6\112\1\0\11\112\1\u01e0\1\112\1\0\1\u01e0"+
- "\12\112\1\0\4\112\1\0\11\112\2\0\1\112\12\374"+
- "\1\376\3\374\1\0\70\374\14\u0100\1\376\1\u0100\1\0"+
- "\70\u0100\6\0\3\166\1\u01e1\6\0\1\166\6\0\6\166"+
- "\1\0\13\166\1\0\13\166\1\0\4\166\1\0\11\166"+
- "\2\0\1\166\1\u0184\2\u0185\1\u0186\1\u0184\1\u0185\4\u0184"+
- "\1\u0185\1\u0184\1\u0185\2\u0184\1\u0185\6\u0184\1\u0185\56\u0184"+
- "\1\u01e2\1\u0184\105\u0185\1\u01e3\1\u0185\1\u0187\2\u0188\1\u0189"+
- "\1\u0187\1\u0188\4\u0187\1\u0188\1\u0187\1\u0188\2\u0187\1\u0188"+
- "\6\u0187\1\u0188\56\u0187\1\u01e2\1\u0187\105\u0188\1\u01e4\1\u0188"+
- "\41\0\1\u01e5\14\0\1\u01e5\63\0\2\u01e6\103\0\2\u01e7"+
- "\115\0\1\u01e8\14\0\1\u01e8\63\0\2\u01e9\52\0\14\u0123"+
- "\1\u0121\1\u0123\1\0\70\u0123\3\0\2\u01ea\1\0\4\u01ea"+
- "\2\0\1\u0125\1\u01ea\1\0\4\u01ea\1\0\11\u01ea\1\0"+
- "\40\u01ea\2\0\4\u01ea\2\0\1\u01ea\14\u0133\1\u0131\1\u0133"+
- "\1\0\70\u0133\3\0\2\u01eb\1\0\4\u01eb\2\0\1\u0135"+
- "\1\u01eb\1\0\4\u01eb\1\0\11\u01eb\1\0\40\u01eb\2\0"+
- "\4\u01eb\2\0\1\u01eb\2\231\1\0\4\231\1\u01ec\101\231"+
- "\1\0\33\231\1\u01ed\50\231\14\u013d\1\u013b\1\u013d\1\0"+
- "\70\u013d\3\0\2\u01ee\1\0\4\u01ee\2\0\1\u013f\1\u01ee"+
- "\1\0\4\u01ee\1\0\11\u01ee\1\0\40\u01ee\2\0\4\u01ee"+
- "\2\0\1\u01ee\2\240\1\0\4\240\1\u01ef\101\240\1\0"+
- "\33\240\1\u01f0\50\240\2\0\1\u01f1\104\0\7\263\1\u01f2"+
- "\2\263\1\0\1\263\1\0\1\u014b\67\263\1\0\1\263"+
- "\12\u014e\1\0\1\u014e\1\0\1\u014e\1\0\70\u014e\7\u014f"+
- "\1\u01f3\4\u014f\1\u0150\106\u014f\1\u0150\21\u014f\1\u01f4\50\u014f"+
- "\7\u0153\1\u01f5\2\u0153\1\u0154\106\u0153\1\u0154\23\u0153\1\u01f6"+
- "\50\u0153\7\301\1\u01f7\2\301\1\0\71\301\1\u0157\1\0"+
- "\1\301\12\u01f8\1\u01f9\72\u01f8\1\0\1\u01f8\7\305\1\u01fa"+
- "\4\305\1\0\67\305\1\u015a\1\0\1\305\14\u01fb\1\u01f9"+
- "\70\u01fb\1\0\1\u01fb\7\310\1\u01fc\2\310\1\0\1\310"+
- "\1\0\70\310\1\0\1\310\7\u015f\1\u01fd\4\u015f\1\u0160"+
- "\106\u015f\1\u0160\21\u015f\1\u01fe\50\u015f\7\u0163\1\u01ff\2\u0163"+
- "\1\u0164\106\u0163\1\u0164\23\u0163\1\u0200\50\u0163\7\326\1\u0201"+
- "\2\326\1\0\71\326\1\u0167\1\0\1\326\12\u0202\1\u0203"+
- "\72\u0202\1\0\1\u0202\7\332\1\u0204\4\332\1\0\67\332"+
- "\1\u016a\1\0\1\332\14\u0205\1\u0203\70\u0205\1\0\1\u0205"+
- "\37\0\1\u0206\141\0\1\u01dc\34\0\1\u01de\15\0\3\u01de"+
- "\2\0\1\u01de\11\0\1\u01de\1\0\2\u01de\7\0\1\u01de"+
- "\1\0\1\u01dd\2\u01de\6\0\1\u01de\11\0\4\112\6\0"+
- "\1\112\6\0\6\112\1\0\7\112\1\u0207\3\112\1\0"+
- "\13\112\1\0\4\112\1\0\11\112\2\0\1\112\6\0"+
- "\4\112\6\0\1\112\6\0\6\112\1\0\6\112\1\u0208"+
- "\4\112\1\0\13\112\1\0\1\112\1\u0208\2\112\1\0"+
- "\11\112\2\0\1\112\6\0\4\166\6\0\1\166\6\0"+
- "\6\166\1\0\6\166\1\u0209\4\166\1\0\6\166\1\u020a"+
- "\4\166\1\0\4\166\1\0\11\166\2\0\1\166\53\0"+
- "\1\u020b\5\0\1\u020b\73\0\1\u020c\14\0\1\u020c\66\0"+
- "\1\u020d\11\0\1\u020d\74\0\1\u020e\11\0\1\u020e\77\0"+
- "\1\u020f\14\0\1\u020f\23\0\2\231\1\0\34\231\1\u0210"+
- "\47\231\2\240\1\0\34\240\1\u0211\47\240\14\u014f\1\u0150"+
- "\22\u014f\1\u0212\47\u014f\12\u0153\1\u0154\24\u0153\1\u0213\47\u0153"+
- "\12\u01f8\1\u01b7\71\u01f8\1\u0214\1\u01b7\1\u01f8\14\u01fb\1\u01bd"+
- "\67\u01fb\1\u0215\1\u01bd\1\u01fb\14\u015f\1\u0160\22\u015f\1\u0216"+
- "\47\u015f\12\u0163\1\u0164\24\u0163\1\u0217\47\u0163\12\u0202\1\u01d1"+
- "\71\u0202\1\u0218\1\u01d1\1\u0202\14\u0205\1\u01d7\67\u0205\1\u0219"+
- "\1\u01d7\1\u0205\40\0\1\u021a\54\0\4\112\6\0\1\112"+
- "\6\0\6\112\1\0\13\112\1\0\4\112\1\u021b\6\112"+
- "\1\0\4\112\1\0\11\112\2\0\1\112\6\0\4\112"+
- "\6\0\1\112\6\0\6\112\1\0\3\112\1\u021c\7\112"+
- "\1\0\4\112\1\u021c\6\112\1\0\4\112\1\0\11\112"+
- "\2\0\1\112\6\0\4\166\6\0\1\166\6\0\6\166"+
- "\1\0\11\166\1\u021d\1\166\1\0\13\166\1\0\4\166"+
- "\1\0\11\166\2\0\1\166\6\0\4\166\6\0\1\166"+
- "\6\0\6\166\1\0\10\166\1\u021e\2\166\1\0\13\166"+
- "\1\0\4\166\1\0\11\166\2\0\1\166\54\0\1\u021f"+
- "\24\0\1\u021f\52\0\1\u0220\20\0\1\u0220\70\0\1\u0221"+
- "\13\0\1\u0221\53\0\2\u0222\112\0\1\u0223\35\0\1\u0223"+
- "\12\0\2\231\1\0\35\231\1\u0224\46\231\2\240\1\0"+
- "\35\240\1\u0225\46\240\14\u014f\1\u0150\23\u014f\1\u0226\46\u014f"+
- "\12\u0153\1\u0154\25\u0153\1\u0227\46\u0153\12\u01f8\1\u0228\71\u01f8"+
- "\1\u0214\1\u01b7\1\u01f8\14\u01fb\1\u0229\67\u01fb\1\u0215\1\u01bd"+
- "\1\u01fb\14\u015f\1\u0160\23\u015f\1\u022a\46\u015f\12\u0163\1\u0164"+
- "\25\u0163\1\u022b\46\u0163\12\u0202\1\u022c\71\u0202\1\u0218\1\u01d1"+
- "\1\u0202\14\u0205\1\u022d\67\u0205\1\u0219\1\u01d7\1\u0205\41\0"+
- "\1\u022e\53\0\4\112\6\0\1\112\6\0\6\112\1\0"+
- "\13\112\1\0\7\112\1\u022f\3\112\1\0\4\112\1\0"+
- "\11\112\2\0\1\112\6\0\4\166\6\0\1\166\6\0"+
- "\6\166\1\0\11\166\1\u0230\1\166\1\0\13\166\1\0"+
- "\4\166\1\0\11\166\2\0\1\166\6\0\4\166\6\0"+
- "\1\166\6\0\6\166\1\0\6\166\1\u0231\4\166\1\0"+
- "\13\166\1\0\4\166\1\0\11\166\2\0\1\166\43\0"+
- "\1\u0232\11\0\1\u0232\72\0\1\u0233\14\0\1\u0233\71\0"+
- "\1\u0234\14\0\1\u0234\30\0\2\231\1\0\36\231\1\u0235"+
- "\45\231\2\240\1\0\36\240\1\u0236\45\240\14\u014f\1\u0150"+
- "\24\u014f\1\u0237\45\u014f\12\u0153\1\u0154\26\u0153\1\u0238\45\u0153"+
- "\14\u015f\1\u0160\24\u015f\1\u0239\45\u015f\12\u0163\1\u0164\26\u0163"+
- "\1\u023a\45\u0163\40\0\1\u023b\54\0\4\112\6\0\1\112"+
- "\6\0\5\112\1\u023c\1\0\13\112\1\0\13\112\1\0"+
- "\4\112\1\0\11\112\2\0\1\112\6\0\4\166\6\0"+
- "\1\166\6\0\6\166\1\0\13\166\1\0\4\166\1\u023d"+
- "\6\166\1\0\4\166\1\0\11\166\2\0\1\166\6\0"+
- "\4\166\6\0\1\166\6\0\6\166\1\0\5\166\1\u023e"+
- "\5\166\1\0\13\166\1\0\4\166\1\0\11\166\2\0"+
- "\1\166\2\231\1\0\35\231\1\u023f\46\231\2\240\1\0"+
- "\35\240\1\u0240\46\240\14\u014f\1\u0150\23\u014f\1\u0241\46\u014f"+
- "\12\u0153\1\u0154\25\u0153\1\u0242\46\u0153\14\u015f\1\u0160\23\u015f"+
- "\1\u0243\46\u015f\12\u0163\1\u0164\25\u0163\1\u0244\46\u0163\35\0"+
- "\1\u0245\57\0\4\112\6\0\1\112\6\0\6\112\1\0"+
- "\5\112\1\u0246\5\112\1\0\13\112\1\0\4\112\1\0"+
- "\11\112\2\0\1\112\6\0\4\166\6\0\1\166\6\0"+
+ "\4\112\1\0\11\112\1\0\1\u0264\6\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\10\166\1\u0265\2\166\1\0"+
+ "\13\166\1\0\4\166\1\0\11\166\1\0\1\166\6\0"+
+ "\4\112\7\0\1\112\6\0\6\112\1\0\5\112\1\u0266"+
+ "\5\112\1\0\13\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\4\166\1\u0267\6\166\1\0\13\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\112\7\0\1\112\6\0"+
+ "\6\112\1\0\5\112\1\u0268\5\112\1\0\13\112\1\0"+
+ "\4\112\1\0\11\112\1\0\1\112\6\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\5\166\1\u0269\5\166\1\0"+
+ "\13\166\1\0\4\166\1\0\11\166\1\0\1\166\6\0"+
+ "\4\112\7\0\1\112\6\0\6\112\1\0\13\112\1\0"+
+ "\4\112\1\u026a\6\112\1\0\4\112\1\0\11\112\1\0"+
+ "\1\112\6\u026b\4\u026c\7\u026b\1\u026c\5\u026b\1\0\6\u026c"+
+ "\1\u026b\13\u026c\1\u026b\13\u026c\1\u026b\4\u026c\1\u026b\11\u026c"+
+ "\1\u026b\1\u026c\43\0\1\u026d\3\0\1\u026e\7\0\1\u026f"+
+ "\1\u0270\21\0\1\u0271\12\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\4\166\1\u0272\3\166\1\u0273\2\166\1\0"+
+ "\4\166\1\u0274\1\u0275\5\166\1\0\4\166\1\0\6\166"+
+ "\1\u0276\2\166\1\0\1\166\60\0\1\u0277\77\0\1\u0278"+
+ "\115\0\1\u0279\105\0\1\u027a\107\0\1\u027b\34\0\4\166"+
+ "\7\0\1\166\6\0\6\166\1\0\13\166\1\0\5\166"+
+ "\1\u027c\5\166\1\0\4\166\1\0\11\166\1\0\1\166"+
+ "\6\0\4\166\7\0\1\166\6\0\6\166\1\0\12\166"+
+ "\1\u027d\1\0\13\166\1\0\4\166\1\0\11\166\1\0"+
+ "\1\166\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\13\166\1\0\5\166\1\u027e\5\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\13\166\1\0\4\166\1\u027f\6\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\6\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\13\166\1\0\5\166\1\u0280"+
+ "\5\166\1\0\4\166\1\0\11\166\1\0\1\166\45\0"+
+ "\1\u0281\136\0\1\u0282\107\0\1\u0283\67\0\1\u0284\125\0"+
+ "\1\u0285\16\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\6\166\1\u0286\4\166\1\0\13\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\166\7\0\1\166\6\0"+
"\6\166\1\0\13\166\1\0\13\166\1\0\4\166\1\0"+
- "\1\166\1\u0247\7\166\2\0\1\166\2\231\1\0\32\231"+
- "\1\u0248\51\231\2\240\1\0\32\240\1\u0249\51\240\14\u014f"+
- "\1\u0150\20\u014f\1\u024a\51\u014f\12\u0153\1\u0154\22\u0153\1\u024b"+
- "\51\u0153\14\u015f\1\u0160\20\u015f\1\u024c\51\u015f\12\u0163\1\u0164"+
- "\22\u0163\1\u024d\51\u0163\6\0\4\112\6\0\1\112\6\0"+
- "\6\112\1\0\7\112\1\u024e\3\112\1\0\13\112\1\0"+
- "\4\112\1\0\11\112\2\0\1\112\6\0\4\166\6\0"+
- "\1\166\6\0\6\166\1\0\13\166\1\0\4\166\1\u024f"+
- "\6\166\1\0\4\166\1\0\11\166\2\0\1\166\6\0"+
- "\4\112\6\0\1\112\6\0\6\112\1\0\13\112\1\0"+
- "\13\112\1\0\4\112\1\0\11\112\2\0\1\u0250\6\0"+
- "\4\166\6\0\1\166\6\0\6\166\1\0\10\166\1\u0251"+
- "\2\166\1\0\13\166\1\0\4\166\1\0\11\166\2\0"+
- "\1\166\6\0\4\112\6\0\1\112\6\0\6\112\1\0"+
- "\5\112\1\u0252\5\112\1\0\13\112\1\0\4\112\1\0"+
- "\11\112\2\0\1\112\6\0\4\166\6\0\1\166\6\0"+
- "\6\166\1\0\4\166\1\u0253\6\166\1\0\13\166\1\0"+
- "\4\166\1\0\11\166\2\0\1\166\6\0\4\112\6\0"+
- "\1\112\6\0\6\112\1\0\5\112\1\u0254\5\112\1\0"+
- "\13\112\1\0\4\112\1\0\11\112\2\0\1\112\6\0"+
- "\4\166\6\0\1\166\6\0\6\166\1\0\5\166\1\u0255"+
- "\5\166\1\0\13\166\1\0\4\166\1\0\11\166\2\0"+
- "\1\166\6\0\4\112\6\0\1\112\6\0\6\112\1\0"+
- "\13\112\1\0\4\112\1\u0256\6\112\1\0\4\112\1\0"+
- "\11\112\2\0\1\112\6\u0257\4\u0258\6\u0257\1\u0258\5\u0257"+
- "\1\0\6\u0258\1\u0257\13\u0258\1\u0257\13\u0258\1\u0257\4\u0258"+
- "\1\u0257\11\u0258\2\u0257\1\u0258\42\0\1\u0259\3\0\1\u025a"+
- "\7\0\1\u025b\1\u025c\21\0\1\u025d\13\0\4\166\6\0"+
- "\1\166\6\0\6\166\1\0\4\166\1\u025e\3\166\1\u025f"+
- "\2\166\1\0\4\166\1\u0260\1\u0261\5\166\1\0\4\166"+
- "\1\0\6\166\1\u0262\2\166\2\0\1\166\57\0\1\u0263"+
- "\77\0\1\u0264\115\0\1\u0265\105\0\1\u0266\107\0\1\u0267"+
- "\35\0\4\166\6\0\1\166\6\0\6\166\1\0\13\166"+
- "\1\0\5\166\1\u0268\5\166\1\0\4\166\1\0\11\166"+
- "\2\0\1\166\6\0\4\166\6\0\1\166\6\0\6\166"+
- "\1\0\12\166\1\u0269\1\0\13\166\1\0\4\166\1\0"+
- "\11\166\2\0\1\166\6\0\4\166\6\0\1\166\6\0"+
- "\6\166\1\0\13\166\1\0\5\166\1\u026a\5\166\1\0"+
- "\4\166\1\0\11\166\2\0\1\166\6\0\4\166\6\0"+
- "\1\166\6\0\6\166\1\0\13\166\1\0\4\166\1\u026b"+
- "\6\166\1\0\4\166\1\0\11\166\2\0\1\166\6\0"+
- "\4\166\6\0\1\166\6\0\6\166\1\0\13\166\1\0"+
- "\5\166\1\u026c\5\166\1\0\4\166\1\0\11\166\2\0"+
- "\1\166\44\0\1\u026d\136\0\1\u026e\107\0\1\u026f\67\0"+
- "\1\u0270\125\0\1\u0271\17\0\4\166\6\0\1\166\6\0"+
- "\6\166\1\0\6\166\1\u0272\4\166\1\0\13\166\1\0"+
- "\4\166\1\0\11\166\2\0\1\166\6\0\4\166\6\0"+
+ "\1\166\1\u0287\7\166\1\0\1\166\6\0\4\166\7\0"+
"\1\166\6\0\6\166\1\0\13\166\1\0\13\166\1\0"+
- "\4\166\1\0\1\166\1\u0273\7\166\2\0\1\166\6\0"+
- "\4\166\6\0\1\166\6\0\6\166\1\0\13\166\1\0"+
- "\13\166\1\0\4\166\1\0\2\166\1\u0274\6\166\2\0"+
- "\1\166\6\0\4\166\6\0\1\166\6\0\6\166\1\0"+
- "\13\166\1\0\4\166\1\u0275\6\166\1\0\4\166\1\0"+
- "\11\166\2\0\1\166\6\0\4\166\6\0\1\166\6\0"+
- "\6\166\1\0\13\166\1\0\13\166\1\0\4\166\1\0"+
- "\2\166\1\u0276\6\166\2\0\1\166\46\0\1\u0277\74\0"+
- "\1\u0278\106\0\1\u0279\116\0\1\u027a\105\0\1\u027b\51\0"+
- "\4\166\6\0\1\166\6\0\6\166\1\0\10\166\1\u027c"+
- "\2\166\1\0\13\166\1\0\4\166\1\0\11\166\2\0"+
- "\1\166\6\0\4\166\6\0\1\166\6\0\5\166\1\u027d"+
- "\1\0\13\166\1\0\13\166\1\0\4\166\1\0\11\166"+
- "\2\0\1\166\6\0\4\166\6\0\1\166\6\0\5\166"+
- "\1\u027e\1\0\13\166\1\0\13\166\1\0\4\166\1\0"+
- "\11\166\2\0\1\166\6\0\4\166\6\0\1\166\6\0"+
- "\6\166\1\0\6\166\1\u027f\4\166\1\0\13\166\1\0"+
- "\4\166\1\0\11\166\2\0\1\166\6\0\4\166\6\0"+
- "\1\166\6\0\6\166\1\0\5\166\1\u0280\5\166\1\0"+
- "\13\166\1\0\4\166\1\0\11\166\2\0\1\166\57\0"+
- "\1\u0281\131\0\1\u0282\52\0\1\u0283\106\0\1\u0284\46\0"+
- "\4\166\6\0\1\166\6\0\6\166\1\0\13\166\1\0"+
- "\5\166\1\u0285\5\166\1\0\4\166\1\0\11\166\2\0"+
- "\1\166\6\0\4\166\6\0\1\166\6\0\6\166\1\0"+
- "\13\166\1\0\13\166\1\0\4\166\1\0\7\166\1\u0286"+
- "\1\166\2\0\1\166\6\0\4\166\6\0\1\166\6\0"+
- "\6\166\1\0\10\166\1\u0287\2\166\1\0\13\166\1\0"+
- "\4\166\1\0\11\166\2\0\1\166\6\0\4\166\6\0"+
- "\1\166\6\0\6\166\1\0\10\166\1\u0288\2\166\1\0"+
- "\13\166\1\0\4\166\1\0\11\166\2\0\1\166\103\0"+
- "\1\u0289\63\0\1\u0271\131\0\1\u027b\106\0\1\u028a\11\0"+
- "\4\166\6\0\1\166\6\0\6\166\1\0\13\166\1\0"+
- "\13\166\1\0\4\166\1\0\10\166\1\u028b\2\0\1\166"+
- "\6\0\4\166\6\0\1\166\6\0\6\166\1\0\13\166"+
- "\1\0\6\166\1\u0276\4\166\1\0\4\166\1\0\11\166"+
- "\2\0\1\166\6\0\4\166\6\0\1\166\6\0\6\166"+
- "\1\0\13\166\1\0\13\166\1\0\4\166\1\0\10\166"+
- "\1\u0280\2\0\1\166\6\0\4\166\6\0\1\166\6\0"+
- "\6\166\1\0\13\166\1\0\13\166\1\0\4\166\1\0"+
- "\10\166\1\u028c\2\0\1\166\34\0\1\u0271\154\0\1\u028d"+
- "\12\0\4\166\6\0\1\166\6\0\5\166\1\u0276\1\0"+
- "\13\166\1\0\13\166\1\0\4\166\1\0\11\166\2\0"+
- "\1\166\6\0\4\166\6\0\1\166\6\0\6\166\1\0"+
- "\13\166\1\0\13\166\1\0\4\166\1\0\7\166\1\u028e"+
- "\1\166\2\0\1\166\56\0\1\u0271\36\0\4\166\6\0"+
- "\1\166\6\0\6\166\1\0\13\166\1\0\4\166\1\u0276"+
- "\6\166\1\0\4\166\1\0\11\166\2\0\1\166";
+ "\4\166\1\0\2\166\1\u0288\6\166\1\0\1\166\6\0"+
+ "\4\166\7\0\1\166\6\0\6\166\1\0\13\166\1\0"+
+ "\4\166\1\u0289\6\166\1\0\4\166\1\0\11\166\1\0"+
+ "\1\166\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\13\166\1\0\13\166\1\0\4\166\1\0\2\166\1\u028a"+
+ "\6\166\1\0\1\166\47\0\1\u028b\74\0\1\u028c\106\0"+
+ "\1\u028d\116\0\1\u028e\105\0\1\u028f\50\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\10\166\1\u0290\2\166\1\0"+
+ "\13\166\1\0\4\166\1\0\11\166\1\0\1\166\6\0"+
+ "\4\166\7\0\1\166\6\0\5\166\1\u0291\1\0\13\166"+
+ "\1\0\13\166\1\0\4\166\1\0\11\166\1\0\1\166"+
+ "\6\0\4\166\7\0\1\166\6\0\5\166\1\u0292\1\0"+
+ "\13\166\1\0\13\166\1\0\4\166\1\0\11\166\1\0"+
+ "\1\166\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\6\166\1\u0293\4\166\1\0\13\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\5\166\1\u0294\5\166\1\0\13\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\60\0\1\u0295\131\0"+
+ "\1\u0296\52\0\1\u0297\106\0\1\u0298\45\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\13\166\1\0\5\166\1\u0299"+
+ "\5\166\1\0\4\166\1\0\11\166\1\0\1\166\6\0"+
+ "\4\166\7\0\1\166\6\0\6\166\1\0\13\166\1\0"+
+ "\13\166\1\0\4\166\1\0\7\166\1\u029a\1\166\1\0"+
+ "\1\166\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\10\166\1\u029b\2\166\1\0\13\166\1\0\4\166\1\0"+
+ "\11\166\1\0\1\166\6\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\10\166\1\u029c\2\166\1\0\13\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166\104\0\1\u029d\63\0"+
+ "\1\u0285\131\0\1\u028f\106\0\1\u029e\10\0\4\166\7\0"+
+ "\1\166\6\0\6\166\1\0\13\166\1\0\13\166\1\0"+
+ "\4\166\1\0\10\166\1\u029f\1\0\1\166\6\0\4\166"+
+ "\7\0\1\166\6\0\6\166\1\0\13\166\1\0\6\166"+
+ "\1\u028a\4\166\1\0\4\166\1\0\11\166\1\0\1\166"+
+ "\6\0\4\166\7\0\1\166\6\0\6\166\1\0\13\166"+
+ "\1\0\13\166\1\0\4\166\1\0\10\166\1\u0294\1\0"+
+ "\1\166\6\0\4\166\7\0\1\166\6\0\6\166\1\0"+
+ "\13\166\1\0\13\166\1\0\4\166\1\0\10\166\1\u02a0"+
+ "\1\0\1\166\35\0\1\u0285\154\0\1\u02a1\11\0\4\166"+
+ "\7\0\1\166\6\0\5\166\1\u028a\1\0\13\166\1\0"+
+ "\13\166\1\0\4\166\1\0\11\166\1\0\1\166\6\0"+
+ "\4\166\7\0\1\166\6\0\6\166\1\0\13\166\1\0"+
+ "\13\166\1\0\4\166\1\0\7\166\1\u02a2\1\166\1\0"+
+ "\1\166\57\0\1\u0285\35\0\4\166\7\0\1\166\6\0"+
+ "\6\166\1\0\13\166\1\0\4\166\1\u028a\6\166\1\0"+
+ "\4\166\1\0\11\166\1\0\1\166";
/**
* The transition table of the DFA
@@ -785,7 +818,7 @@
/* error messages for the codes above */
final private static String YY_ERROR_MSG[] = {
- "Unkown internal scanner error", //$NON-NLS-1$
+ "Unknown internal scanner error", //$NON-NLS-1$
"Internal error: unknown state", //$NON-NLS-1$
"Error: could not match input", //$NON-NLS-1$
"Error: pushback value was too large" //$NON-NLS-1$
@@ -797,45 +830,47 @@
private final static byte YY_ATTRIBUTE[] = {
1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,
- 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 9, 1,
- 9, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1,
+ 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 9,
+ 1, 9, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1,
1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 9, 1, 1,
1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1,
1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1,
1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1,
- 1, 9, 9, 1, 9, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 9,
- 1, 1, 1, 1, 9, 9, 1, 9, 3, 3, 3, 3, 3, 3, 9, 9,
- 1, 1, 1, 9, 1, 1, 1, 1, 1, 9, 9, 1, 9, 3, 3, 3,
- 3, 3, 3, 9, 9, 1, 1, 1, 9, 1, 1, 1, 9, 9, 1, 1,
- 0, 1, 0, 9, 1, 2, 1, 2, 1, 0, 0, 0, 9, 1, 1, 1,
- 9, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 0,
- 0, 1, 9, 0, 9, 0, 0, 9, 0, 0, 0, 9, 1, 1, 0, 1,
- 0, 9, 0, 0, 0, 1, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0,
- 9, 0, 0, 0, 1, 0, 0, 1, 0, 0, 9, 0, 0, 1, 0, 0,
- 9, 0, 0, 0, 1, 0, 1, 1, 0, 0, 9, 0, 0, 0, 1, 0,
- 1, 1, 0, 0, 9, 9, 9, 0, 9, 9, 1, 1, 1, 1, 2, 13,
- 3, 2, 2, 13, 3, 2, 0, 1, 1, 0, 1, 1, 1, 1, 2, 13,
- 3, 2, 2, 13, 3, 2, 0, 1, 1, 0, 1, 1, 0, 9, 9, 9,
- 0, 0, 1, 1, 1, 9, 0, 0, 13, 9, 13, 9, 9, 1, 1, 1,
- 0, 0, 1, 3, 2, 2, 3, 2, 2, 0, 0, 0, 0, 0, 0, 1,
- 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1,
- 1, 0, 1, 1, 1, 1, 1, 0, 2, 3, 3, 3, 2, 2, 3, 3,
- 3, 2, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1,
- 1, 1, 2, 3, 3, 3, 2, 2, 3, 3, 3, 2, 1, 1, 1, 1,
- 0, 0, 1, 1, 1, 1, 0, 0, 9, 9, 0, 1, 9, 0, 1, 1,
- 1, 5, 13, 13, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1,
- 9, 1, 3, 2, 3, 2, 1, 0, 9, 1, 0, 1, 3, 2, 3, 2,
- 1, 0, 9, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1,
- 1, 2, 2, 0, 0, 2, 2, 0, 0, 0, 1, 1, 1, 1, 0, 0,
- 0, 9, 9, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 0, 1, 1,
- 1, 9, 9, 9, 1, 1, 2, 2, 2, 2, 0, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 9, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1,
- 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0,
- 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1,
- 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1
+ 1, 9, 9, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 9, 1, 1, 1, 1, 9, 1, 1, 1, 1, 9, 9, 1, 9, 3,
+ 3, 3, 3, 9, 9, 1, 1, 9, 1, 9, 1, 1, 1, 1, 1, 9,
+ 9, 1, 9, 3, 3, 3, 3, 9, 9, 1, 1, 1, 9, 1, 1, 1,
+ 9, 9, 1, 1, 0, 1, 0, 9, 1, 2, 1, 2, 1, 0, 0, 0,
+ 9, 1, 1, 1, 9, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 9, 1, 0, 0, 1, 9, 0, 9, 0, 0, 9, 0, 0, 0, 9,
+ 1, 1, 0, 1, 0, 9, 0, 0, 0, 1, 1, 0, 0, 0, 0, 9,
+ 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 1, 0, 0, 9, 0,
+ 0, 1, 0, 0, 9, 0, 0, 0, 1, 0, 1, 1, 0, 0, 9, 0,
+ 0, 0, 1, 0, 1, 1, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1,
+ 1, 9, 1, 9, 9, 9, 9, 1, 1, 1, 1, 2, 13, 3, 2, 2,
+ 13, 3, 2, 0, 1, 1, 0, 1, 1, 1, 1, 2, 13, 3, 2, 2,
+ 13, 3, 2, 0, 1, 1, 0, 1, 1, 0, 9, 9, 9, 0, 0, 1,
+ 1, 1, 9, 0, 0, 13, 9, 13, 9, 9, 1, 1, 1, 0, 0, 1,
+ 3, 2, 2, 3, 2, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+ 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1,
+ 1, 3, 2, 3, 2, 1, 1, 1, 1, 1, 0, 2, 3, 3, 3, 2,
+ 2, 3, 3, 3, 2, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0,
+ 0, 1, 1, 1, 1, 2, 3, 3, 3, 2, 2, 3, 3, 3, 2, 1,
+ 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 9, 9, 0, 1, 9,
+ 0, 1, 1, 1, 5, 13, 13, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+ 0, 1, 1, 9, 5, 1, 3, 2, 3, 2, 1, 0, 9, 1, 0, 1,
+ 3, 2, 3, 2, 1, 0, 9, 1, 0, 0, 1, 1, 1, 1, 0, 0,
+ 0, 0, 0, 1, 1, 2, 2, 0, 0, 2, 2, 0, 0, 0, 1, 1,
+ 1, 1, 0, 0, 0, 9, 9, 1, 1, 2, 2, 1, 1, 2, 2, 1,
+ 1, 0, 1, 1, 1, 9, 9, 9, 1, 1, 2, 2, 2, 2, 0, 1,
+ 1, 1, 1, 1, 2, 2, 2, 2, 9, 1, 1, 1, 1, 3, 3, 3,
+ 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0,
+ 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
+ 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 9, 1,
+ 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1,
+ 0, 1
};
/** the input device */
@@ -868,7 +903,7 @@
private int yy_endRead;
/** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ //private int yyline;
/** the number of characters up to the start of the matched text */
private int yychar;
@@ -887,6 +922,11 @@
/** yy_atEOF == true <=> the scanner has returned a value for EOF */
private boolean yy_atEOF;
+ // records the number of times we've set up new input to be parsed
+ private long fInputStamp = -1;
+ // records the last input iteration for which we reported an error
+ private long fErroredInputstamp = -1;
+
/** denotes if the user-EOF-code has already been executed */
private boolean yy_eof_done;
@@ -908,6 +948,9 @@
// a "hint" as to what state to enter once an embedded region has
// been completed
private int fEmbeddedPostState = YYINITIAL;
+
+ private BooleanStack fJspTagStack = new BooleanStack();
+
// the container used to create embedded regions
private ContextRegionContainer fEmbeddedContainer = null;
private static final String PROXY_CONTEXT = "PROXY_CONTEXT";
@@ -1096,7 +1139,16 @@
if (longscan)
fCurrentTagName = internalTagName;
// read the next region and context
- internalContext = primGetNextToken();
+ try {
+ internalContext = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ yybegin(ST_ABORT_EMBEDDED);
+ longscan = false;
+ }
if (longscan) {
// Returning from a block tag scan requires restoring some state variables
// as well as handling the block region and setting up for normal scanning
@@ -1112,7 +1164,15 @@
fEmbeddedHint = previousEmbeddedHint;
fCurrentTagName = previousCurrentTagName;
yybegin(previousState);
- internalContext = primGetNextToken();
+ try {
+ internalContext = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ yybegin(ST_ABORT_EMBEDDED);
+ }
}
} catch (IOException e) {
// primGetNextToken() calls may throw an IOException
@@ -1308,9 +1368,18 @@
int resumeState = yystate();
yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
if(yy_markedPos == yy_startRead) {
- String jspContext = primGetNextToken();
+ try {
+ String jspContext = primGetNextToken();
+ yybegin(resumeState);
+ return jspContext;
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
yybegin(resumeState);
- return jspContext;
+ return UNDEFINED;
}
return searchContext;
}
@@ -1326,9 +1395,18 @@
int resumeState = yystate();
yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
if(yy_markedPos == yy_startRead) {
- String jspContext = primGetNextToken();
+ try {
+ String jspContext = primGetNextToken();
+ yybegin(resumeState);
+ return jspContext;
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
yybegin(resumeState);
- return jspContext;
+ return UNDEFINED;
}
return searchContext;
}
@@ -1344,9 +1422,18 @@
int resumeState = yystate();
yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
if(yy_markedPos == yy_startRead) {
- String jspContext = primGetNextToken();
+ try {
+ String jspContext = primGetNextToken();
+ yybegin(resumeState);
+ return jspContext;
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
yybegin(resumeState);
- return jspContext;
+ return UNDEFINED;
}
return searchContext;
}
@@ -1376,7 +1463,16 @@
fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
yybegin(YYINITIAL);
- String context = primGetNextToken();
+ String context = null;
+ try {
+ context = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ return UNDEFINED;
+ }
if(context.equals(XMLRegionContexts.XML_CDATA_OPEN)) {
assembleEmbeddedContainer(XMLRegionContexts.XML_CDATA_OPEN, XMLRegionContexts.XML_CDATA_CLOSE);
}
@@ -1463,7 +1559,15 @@
// been a Block, resume scanning normally immediately
if (yy_markedPos == yy_startRead) {
yybegin(immediateFallbackState);
- return primGetNextToken();
+ try {
+ return primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
+ return UNDEFINED;
}
}
else {
@@ -1474,8 +1578,17 @@
yybegin(exitState);
// If the ending occurs at the very beginning of what would have
// been a Block, resume scanning normally immediately
- if(yy_markedPos == yy_startRead)
- return primGetNextToken();
+ if(yy_markedPos == yy_startRead) {
+ try {
+ return primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
+ return UNDEFINED;
+ }
return searchContext;
}
/**
@@ -1514,7 +1627,15 @@
textLength = length = fBufferedLength;
fShouldLoadBuffered = false;
} else {
- context = primGetNextToken();
+ try {
+ context = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ return fRegionFactory.createToken(UNDEFINED, start, textLength, length, null, null);
+ }
if (context == PROXY_CONTEXT) {
return fEmbeddedContainer;
} else if (context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) {
@@ -1535,7 +1656,15 @@
}
}
// store the next token
- f_context = primGetNextToken();
+ try {
+ f_context = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ return fRegionFactory.createToken(UNDEFINED, start, textLength, length, null, null);
+ }
if (f_context == PROXY_CONTEXT) {
fBufferedEmbeddedContainer = fEmbeddedContainer;
fShouldLoadBuffered = true;
@@ -1609,6 +1738,7 @@
if (Debug.debugTokenizer) {
System.out.println("resetting tokenizer");//$NON-NLS-1$
}
+ fInputStamp++;
fOffset = newOffset;
/* the input device */
@@ -1643,7 +1773,7 @@
yy_endRead = 0;
/* number of newlines encountered up to the start of the matched text */
- yyline = 0;
+ //yyline = 0;
/* the number of characters up to the start of the matched text */
yychar = 0;
@@ -1663,6 +1793,7 @@
fBufferedStart = 1;
fBufferedLength = 0;
fStateStack = new IntStack();
+ fJspTagStack.clear();
fLastInternalBlockStart = -1;
@@ -1711,6 +1842,11 @@
// context as usual.
return doScan("--%>", false, false, true, JSP_COMMENT_TEXT, ST_JSP_COMMENT_END, ST_JSP_COMMENT_END);
}
+
+ /* user method */
+ private boolean isJspTag() {
+ return fJspTagStack.empty() ? false : fJspTagStack.peek();
+ }
/**
@@ -1740,10 +1876,10 @@
* @return the unpacked transition table
*/
private static int [] yy_unpack(String packed) {
- int [] trans = new int[31595];
+ int [] trans = new int[32589];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 8206) {
+ while (i < 8650) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
value--;
@@ -1865,17 +2001,23 @@
/**
- * Reports an error that occured while scanning - from the SED JFlex skeleton
+ * Reports an error that occurred while scanning - method from the SSE custom JFlex skeleton
*
- * @param errorCode the code of the errormessage to display
+ * @param errorCode the code of the error message to display
*/
private void yy_ScanError(int errorCode) {
- try {
- Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);
- }
- catch (ArrayIndexOutOfBoundsException e) {
- Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
- }
+ if (fErroredInputstamp != fInputStamp) {
+ IllegalStateException e = new IllegalStateException("Instance:" + System.identityHashCode(this) + " Input:" + fInputStamp + " offset:" + (fOffset + yychar) + " state:" + yystate());
+ try {
+ Logger.logException(YY_ERROR_MSG[errorCode], e);
+ throw(e);
+ }
+ catch (ArrayIndexOutOfBoundsException e2) {
+ Logger.logException(YY_ERROR_MSG[YY_UNKNOWN_ERROR], e2);
+ }
+ fErroredInputstamp = fInputStamp;
+ }
+
// DO NOT EXIT the VM on an error
// System.exit(1);
}
@@ -2012,31 +2154,6 @@
yychar+= yylength();
- boolean yy_counted = false;
- for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
- yy_currentPos++) {
- switch (yy_buffer[yy_currentPos]) {
- case '\r':
- yyline++;
- yy_counted = true;
- break;
- case '\n':
- if (yy_counted)
- yy_counted = false;
- else {
- yyline++;
- }
- break;
- default:
- yy_counted = false;
- }
- }
-
- if (yy_counted) {
- if ( yy_advance() == '\n' ) yyline--;
- if ( !yy_atEOF ) yy_currentPos--;
- }
-
yy_action = -1;
yy_currentPos = yy_startRead = yy_markedPos;
@@ -2075,10 +2192,48 @@
switch (yy_action) {
- case 622:
- case 627:
- case 634:
- case 639:
+ case 122:
+ case 127:
+ case 128:
+ case 277:
+ case 281:
+ case 282:
+ case 400:
+ case 403:
+ case 500:
+ { /* only allow for non-JSP tags for this does not obey JSP quoting rules */
+ if(Debug.debugTokenizer)
+ dump("attr value");//$NON-NLS-1$
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
+ fEmbeddedPostState = ST_XML_EQUALS;
+ yybegin(ST_XML_ATTRIBUTE_NAME);
+ return XML_TAG_ATTRIBUTE_VALUE;
+ }
+ case 675: break;
+ case 167:
+ case 172:
+ case 173:
+ case 329:
+ case 335:
+ case 336:
+ case 431:
+ case 432:
+ case 433:
+ case 435:
+ case 516:
+ { /* JSP attribute values have escape semantics */
+ if(Debug.debugTokenizer)
+ dump("jsp attr value");//$NON-NLS-1$
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
+ fEmbeddedPostState = ST_XML_EQUALS;
+ yybegin(ST_XML_ATTRIBUTE_NAME);
+ return XML_TAG_ATTRIBUTE_VALUE;
+ }
+ case 676: break;
+ case 642:
+ case 647:
+ case 654:
+ case 659:
{
if(Debug.debugTokenizer)
dump("jsp directive tag name");//$NON-NLS-1$
@@ -2087,8 +2242,8 @@
yybegin(ST_XML_ATTRIBUTE_NAME);
return JSP_DIRECTIVE_NAME;
}
- case 655: break;
- case 597:
+ case 677: break;
+ case 617:
{
if(Debug.debugTokenizer)
dump("XSL processing instruction target");//$NON-NLS-1$
@@ -2096,14 +2251,14 @@
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 656: break;
- case 580:
- case 583:
- case 584:
- case 585:
- case 586:
- case 587:
- case 588:
+ case 678: break;
+ case 600:
+ case 603:
+ case 604:
+ case 605:
+ case 606:
+ case 607:
+ case 608:
{
if(Debug.debugTokenizer)
dump("\nCDATA start");//$NON-NLS-1$
@@ -2111,8 +2266,8 @@
yybegin(ST_CDATA_TEXT);
return XML_CDATA_OPEN;
}
- case 657: break;
- case 572:
+ case 679: break;
+ case 592:
{
if(Debug.debugTokenizer)
dump("jsp:root tag name");//$NON-NLS-1$
@@ -2121,32 +2276,32 @@
yybegin(ST_XML_ATTRIBUTE_NAME);
return JSP_ROOT_TAG_NAME;
}
- case 658: break;
- case 563:
+ case 680: break;
+ case 583:
{
if(Debug.debugTokenizer)
dump("element");//$NON-NLS-1$
yybegin(ST_XML_ELEMENT_DECLARATION);
return XML_ELEMENT_DECLARATION;
}
- case 659: break;
- case 562:
+ case 681: break;
+ case 582:
{
if(Debug.debugTokenizer)
dump("attlist");//$NON-NLS-1$
yybegin(ST_XML_ATTLIST_DECLARATION);
return XML_ATTLIST_DECLARATION;
}
- case 660: break;
- case 561:
+ case 682: break;
+ case 581:
{
if(Debug.debugTokenizer)
dump("doctype");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_DECLARATION);
return XML_DOCTYPE_DECLARATION;
}
- case 661: break;
- case 546:
+ case 683: break;
+ case 566:
{
if(Debug.debugTokenizer)
dump("doctype external id");//$NON-NLS-1$
@@ -2154,8 +2309,8 @@
yybegin(ST_XML_DOCTYPE_ID_PUBLIC);
return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;
}
- case 662: break;
- case 545:
+ case 684: break;
+ case 565:
{
if(Debug.debugTokenizer)
dump("doctype external id");//$NON-NLS-1$
@@ -2163,8 +2318,8 @@
yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;
}
- case 663: break;
- case 539:
+ case 685: break;
+ case 559:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction target");//$NON-NLS-1$
@@ -2173,33 +2328,33 @@
yybegin(ST_DHTML_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 664: break;
- case 514:
- case 555:
- case 556:
+ case 686: break;
+ case 534:
+ case 575:
+ case 576:
{
return JSP_VBL_QUOTED_CONTENT;
}
- case 665: break;
- case 504:
- case 551:
- case 552:
+ case 687: break;
+ case 524:
+ case 571:
+ case 572:
{
return JSP_EL_QUOTED_CONTENT;
}
- case 666: break;
- case 496:
+ case 688: break;
+ case 515:
{
if(Debug.debugTokenizer)
dump("\nJSP comment close");//$NON-NLS-1$
yybegin(YYINITIAL);
return JSP_COMMENT_CLOSE;
}
- case 667: break;
- case 483:
+ case 689: break;
+ case 502:
{
if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
+ System.out.println("begin embedded region: " + fEmbeddedHint+", el-unquoted");//$NON-NLS-1$
}
fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
@@ -2217,11 +2372,11 @@
fEmbeddedPostState = ST_XML_EQUALS;
return PROXY_CONTEXT;
}
- case 668: break;
- case 482:
+ case 690: break;
+ case 501:
{
if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
+ System.out.println("begin embedded region: " + fEmbeddedHint+", el-unquoted");//$NON-NLS-1$
}
fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
@@ -2239,15 +2394,15 @@
fEmbeddedPostState = ST_XML_EQUALS;
return PROXY_CONTEXT;
}
- case 669: break;
- case 476:
+ case 691: break;
+ case 495:
{
if(Debug.debugTokenizer)
dump("\nCharRef");//$NON-NLS-1$
return XML_CHAR_REFERENCE;
}
- case 670: break;
- case 473:
+ case 692: break;
+ case 492:
{
if(Debug.debugTokenizer)
dump("\ncomment start");//$NON-NLS-1$
@@ -2256,20 +2411,20 @@
yybegin(ST_XML_COMMENT);
return XML_COMMENT_OPEN;
}
- case 671: break;
- case 472:
+ case 693: break;
case 491:
- case 494:
- case 497:
- case 498:
- case 500:
- case 502:
- case 505:
- case 507:
- case 508:
case 510:
- case 512:
- case 515:
+ case 513:
+ case 517:
+ case 518:
+ case 520:
+ case 522:
+ case 525:
+ case 527:
+ case 528:
+ case 530:
+ case 532:
+ case 535:
{
/* JSP comment begun (anywhere)
* A consequence of the start anywhere possibility is that the
@@ -2311,7 +2466,7 @@
}
else {
if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
+ System.out.println("begin embedded region: " + fEmbeddedHint+", jspCommentStart");//$NON-NLS-1$
}
if(Debug.debugTokenizer)
dump("JSP comment start");//$NON-NLS-1$
@@ -2348,12 +2503,16 @@
fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
}
+ else if(yystate() == ST_JSP_ATTRIBUTE_VALUE) {
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
+ fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
+ }
return PROXY_CONTEXT;
}
}
- case 672: break;
- case 381:
- case 382:
+ case 694: break;
+ case 394:
+ case 395:
{
if(Debug.debugTokenizer)
dump("XML processing instruction target");//$NON-NLS-1$
@@ -2362,8 +2521,8 @@
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 673: break;
- case 380:
+ case 695: break;
+ case 393:
{
if(Debug.debugTokenizer)
dump("comment end");//$NON-NLS-1$
@@ -2371,16 +2530,16 @@
yybegin(YYINITIAL);
return XML_COMMENT_CLOSE;
}
- case 674: break;
- case 379:
+ case 696: break;
+ case 392:
{
if(Debug.debugTokenizer)
dump("CDATA end");//$NON-NLS-1$
yybegin(fStateStack.pop());
return XML_CDATA_CLOSE;
}
- case 675: break;
- case 378:
+ case 697: break;
+ case 391:
{
yybegin(ST_JSP_VBL);
if(yylength() > 2)
@@ -2393,15 +2552,15 @@
yybegin(YYINITIAL);
return PROXY_CONTEXT;
}
- case 676: break;
- case 377:
+ case 698: break;
+ case 390:
{
if(Debug.debugTokenizer)
dump("\nPEReference");//$NON-NLS-1$
return XML_PE_REFERENCE;
}
- case 677: break;
- case 376:
+ case 699: break;
+ case 389:
{
yybegin(ST_JSP_EL);
if(yylength() > 2)
@@ -2414,27 +2573,27 @@
yybegin(YYINITIAL);
return PROXY_CONTEXT;
}
- case 678: break;
- case 373:
+ case 700: break;
+ case 386:
{
if(Debug.debugTokenizer)
dump("\nEntityRef");//$NON-NLS-1$
return XML_ENTITY_REFERENCE;
}
- case 679: break;
- case 367:
- case 407:
- case 415:
- case 422:
- case 427:
- case 432:
- case 437:
- case 443:
- case 449:
- case 453:
- case 458:
- case 463:
- case 469:
+ case 701: break;
+ case 380:
+ case 420:
+ case 428:
+ case 441:
+ case 446:
+ case 451:
+ case 456:
+ case 462:
+ case 468:
+ case 472:
+ case 477:
+ case 482:
+ case 488:
{
/* JSP expression begun (anywhere)
* A consequence of the start anywhere possibility is that the
@@ -2470,7 +2629,7 @@
}
else {
if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
+ System.out.println("begin embedded region: " + fEmbeddedHint+", jspExpressionStart");//$NON-NLS-1$
}
if(Debug.debugTokenizer)
dump("JSP expression start");//$NON-NLS-1$
@@ -2501,23 +2660,28 @@
fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
}
+ else if(yystate() == ST_JSP_ATTRIBUTE_VALUE) {
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
+ fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
+ }
+
return PROXY_CONTEXT;
}
}
- case 680: break;
- case 366:
- case 406:
- case 414:
- case 421:
- case 426:
- case 431:
- case 436:
- case 442:
- case 448:
- case 452:
- case 457:
- case 462:
- case 468:
+ case 702: break;
+ case 379:
+ case 419:
+ case 427:
+ case 440:
+ case 445:
+ case 450:
+ case 455:
+ case 461:
+ case 467:
+ case 471:
+ case 476:
+ case 481:
+ case 487:
{
/* JSP declaration begun (anywhere)
* A consequence of the start anywhere possibility is that the
@@ -2553,7 +2717,7 @@
}
else {
if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
+ System.out.println("begin embedded region: " + fEmbeddedHint+", jspDeclarationStart");//$NON-NLS-1$
}
if(Debug.debugTokenizer)
dump("JSP declaration start");//$NON-NLS-1$
@@ -2584,23 +2748,27 @@
fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
}
+ else if(yystate() == ST_JSP_ATTRIBUTE_VALUE) {
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
+ fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
+ }
return PROXY_CONTEXT;
}
}
- case 681: break;
- case 365:
- case 405:
- case 413:
- case 420:
- case 425:
- case 430:
- case 435:
- case 441:
- case 447:
- case 451:
- case 456:
- case 461:
- case 467:
+ case 703: break;
+ case 378:
+ case 418:
+ case 426:
+ case 439:
+ case 444:
+ case 449:
+ case 454:
+ case 460:
+ case 466:
+ case 470:
+ case 475:
+ case 480:
+ case 486:
{
/* JSP directive begun (anywhere)
* A consequence of the start anywhere possibility is that the
@@ -2636,7 +2804,7 @@
}
else {
if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
+ System.out.println("begin embedded region: " + fEmbeddedHint+", jspDirectiveStart");//$NON-NLS-1$
}
if(Debug.debugTokenizer)
dump("JSP declaration start");//$NON-NLS-1$
@@ -2670,60 +2838,60 @@
return PROXY_CONTEXT;
}
}
- case 682: break;
- case 355:
+ case 704: break;
+ case 368:
{
yybegin(ST_JSP_VBL_DQUOTES_END);
return JSP_VBL_QUOTED_CONTENT;
}
- case 683: break;
- case 351:
+ case 705: break;
+ case 364:
{
yybegin(ST_JSP_VBL_SQUOTES_END);
return JSP_VBL_QUOTED_CONTENT;
}
- case 684: break;
- case 349:
+ case 706: break;
+ case 362:
{
fELlevel++;
if(fELlevel == 1) {
return JSP_VBL_OPEN;
}
}
- case 685: break;
- case 339:
+ case 707: break;
+ case 352:
{
yybegin(ST_JSP_EL_DQUOTES_END);
return JSP_EL_QUOTED_CONTENT;
}
- case 686: break;
- case 335:
+ case 708: break;
+ case 348:
{
yybegin(ST_JSP_EL_SQUOTES_END);
return JSP_EL_QUOTED_CONTENT;
}
- case 687: break;
- case 333:
+ case 709: break;
+ case 346:
{
//System.out.println(JSP_EL_CONTENT+ ":[" + yytext() + "]");
return JSP_EL_CONTENT;
}
- case 688: break;
- case 332:
+ case 710: break;
+ case 345:
{
fELlevel++;
if(fELlevel == 1) {
return JSP_EL_OPEN;
}
}
- case 689: break;
- case 329:
+ case 711: break;
+ case 342:
{
int enterState = yystate();
yybegin(ST_JSP_DQUOTED_VBL);
- assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE});
+ assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE, JSP_TAG_ATTRIBUTE_VALUE_DQUOTE});
// abort early when an unescaped double quote is found in the VBL
- if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) {
+ if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE) || fEmbeddedContainer.getLastRegion().getType().equals(JSP_TAG_ATTRIBUTE_VALUE_DQUOTE)) {
yybegin(ST_ABORT_EMBEDDED);
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
}
@@ -2732,14 +2900,14 @@
}
return PROXY_CONTEXT;
}
- case 690: break;
- case 328:
+ case 712: break;
+ case 341:
{
int enterState = yystate();
yybegin(ST_JSP_DQUOTED_EL);
- assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE});
+ assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE, JSP_TAG_ATTRIBUTE_VALUE_DQUOTE});
// abort early when an unescaped double quote is found in the EL
- if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) {
+ if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE) || fEmbeddedContainer.getLastRegion().getType().equals(JSP_TAG_ATTRIBUTE_VALUE_DQUOTE)) {
yybegin(ST_ABORT_EMBEDDED);
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
}
@@ -2748,14 +2916,14 @@
}
return PROXY_CONTEXT;
}
- case 691: break;
- case 326:
+ case 713: break;
+ case 340:
{
int enterState = yystate();
yybegin(ST_JSP_SQUOTED_VBL);
- assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE});
+ assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE, JSP_TAG_ATTRIBUTE_VALUE_SQUOTE});
// abort early when an unescaped single quote is found in the VBL
- if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
+ if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE) || fEmbeddedContainer.getLastRegion().getType().equals(JSP_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
yybegin(ST_ABORT_EMBEDDED);
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
}
@@ -2764,14 +2932,14 @@
}
return PROXY_CONTEXT;
}
- case 692: break;
- case 325:
+ case 714: break;
+ case 339:
{
int enterState = yystate();
yybegin(ST_JSP_SQUOTED_EL);
- assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE});
+ assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE, JSP_TAG_ATTRIBUTE_VALUE_SQUOTE});
// abort early when an unescaped single quote is found in the EL
- if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
+ if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE) || fEmbeddedContainer.getLastRegion().getType().equals(JSP_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
yybegin(ST_ABORT_EMBEDDED);
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
}
@@ -2780,11 +2948,11 @@
}
return PROXY_CONTEXT;
}
- case 693: break;
- case 324:
+ case 715: break;
+ case 337:
{
if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
+ System.out.println("begin embedded region: " + fEmbeddedHint+", genericEndTagOpen");//$NON-NLS-1$
}
int incomingState = yystate();
fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
@@ -2797,15 +2965,15 @@
yybegin(incomingState);
return PROXY_CONTEXT;
}
- case 694: break;
- case 283:
- case 295:
- case 301:
+ case 716: break;
+ case 287:
+ case 299:
+ case 305:
{
return XML_DOCTYPE_INTERNAL_SUBSET;
}
- case 695: break;
- case 271:
+ case 717: break;
+ case 275:
{
String tagName = yytext().substring(1);
// pushback to just after the opening bracket
@@ -2814,7 +2982,7 @@
* If this tag can not be nested or we're already searching for an
* attribute name, equals, or value, return immediately.
*/
- if (!isNestable(tagName) || (!fStateStack.empty() && (fStateStack.peek() == ST_XML_ATTRIBUTE_NAME || fStateStack.peek() == ST_XML_EQUALS || fStateStack.peek() == ST_XML_ATTRIBUTE_VALUE))) {
+ if (!isNestable(tagName) || (!fStateStack.empty() && (fStateStack.peek() == ST_XML_ATTRIBUTE_NAME || fStateStack.peek() == ST_XML_EQUALS || fStateStack.peek() == ST_XML_ATTRIBUTE_VALUE || fStateStack.peek() == ST_JSP_ATTRIBUTE_VALUE))) {
yybegin(ST_XML_TAG_NAME);
return XML_TAG_OPEN;
}
@@ -2830,8 +2998,8 @@
yybegin(ST_XML_ATTRIBUTE_NAME);
return PROXY_CONTEXT;
}
- case 696: break;
- case 269:
+ case 718: break;
+ case 273:
{
String tagName = yytext().substring(1);
// pushback to just after the opening bracket
@@ -2840,7 +3008,7 @@
* If this tag can not be nested or we're already searching for an
* attribute name, equals, or value, return immediately.
*/
- if (!isNestable(tagName) || (!fStateStack.empty() && (fStateStack.peek() == ST_XML_ATTRIBUTE_NAME || fStateStack.peek() == ST_XML_EQUALS || fStateStack.peek() == ST_XML_ATTRIBUTE_VALUE))) {
+ if (!isNestable(tagName) || (!fStateStack.empty() && (fStateStack.peek() == ST_XML_ATTRIBUTE_NAME || fStateStack.peek() == ST_XML_EQUALS || fStateStack.peek() == ST_XML_ATTRIBUTE_VALUE || fStateStack.peek() == ST_JSP_ATTRIBUTE_VALUE))) {
yybegin(ST_XML_TAG_NAME);
return XML_TAG_OPEN;
}
@@ -2856,20 +3024,58 @@
yybegin(ST_XML_EQUALS);
return PROXY_CONTEXT;
}
- case 697: break;
- case 267:
+ case 719: break;
+ case 271:
{
yybegin(YYINITIAL);
fEmbeddedHint = UNDEFINED;
if(Debug.debugTokenizer)
dump("empty tag close");//$NON-NLS-1$
+ if (!fJspTagStack.empty())
+ fJspTagStack.pop();
return XML_EMPTY_TAG_CLOSE;
}
- case 698: break;
- case 125:
+ case 720: break;
+ case 264:
{
+ if(Debug.debugTokenizer)
+ dump("JSP end");//$NON-NLS-1$
if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
+ if(fStateStack.peek()!=YYINITIAL)
+ System.out.println("end embedded region");//$NON-NLS-1$
+ }
+ yybegin(fStateStack.pop());
+ return JSP_DIRECTIVE_CLOSE;
+ }
+ case 721: break;
+ case 126:
+ case 171:
+ {
+ String type = yy_lexical_state == ST_XML_ATTRIBUTE_VALUE ? XML_TAG_ATTRIBUTE_VALUE_SQUOTE : JSP_TAG_ATTRIBUTE_VALUE_SQUOTE;
+ if (Debug.debugTokenizer) {
+ System.out.println("begin embedded region: " + fEmbeddedHint+", "+type);//$NON-NLS-1$
+ }
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
+ fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
+ yybegin(ST_XML_ATTRIBUTE_VALUE_SQUOTED);
+ fStateStack.push(yystate());
+ if(Debug.debugTokenizer)
+ dump("JSP attribute value start - complex single quoted");//$NON-NLS-1$
+ assembleEmbeddedContainer(type, type);
+ fStateStack.pop();
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
+ fEmbeddedPostState = ST_XML_EQUALS;
+ yybegin(ST_XML_ATTRIBUTE_NAME);
+ return PROXY_CONTEXT;
+ }
+ case 722: break;
+ case 125:
+ case 170:
+ {
+ String type = yy_lexical_state == ST_XML_ATTRIBUTE_VALUE ? XML_TAG_ATTRIBUTE_VALUE_DQUOTE : JSP_TAG_ATTRIBUTE_VALUE_DQUOTE;
+
+ if (Debug.debugTokenizer) {
+ System.out.println("begin embedded region: " + fEmbeddedHint+", "+type);//$NON-NLS-1$
}
fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
@@ -2877,18 +3083,18 @@
fStateStack.push(yystate());
if(Debug.debugTokenizer)
dump("JSP attribute value start - complex double quoted");//$NON-NLS-1$
- assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_DQUOTE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE);
+ assembleEmbeddedContainer(type, type);
fStateStack.pop();
fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
fEmbeddedPostState = ST_XML_EQUALS;
yybegin(ST_XML_ATTRIBUTE_NAME);
return PROXY_CONTEXT;
}
- case 699: break;
+ case 723: break;
case 123:
{
if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
+ System.out.println("begin embedded region: " + fEmbeddedHint+", unquoted genericTagOpen");//$NON-NLS-1$
}
fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
@@ -2903,35 +3109,17 @@
fEmbeddedPostState = ST_XML_EQUALS;
return PROXY_CONTEXT;
}
- case 700: break;
- case 122:
- case 127:
- case 128:
- case 273:
- case 277:
- case 278:
- case 387:
- case 390:
- case 481:
- {
- if(Debug.debugTokenizer)
- dump("attr value");//$NON-NLS-1$
- fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
- fEmbeddedPostState = ST_XML_EQUALS;
- yybegin(ST_XML_ATTRIBUTE_NAME);
- return XML_TAG_ATTRIBUTE_VALUE;
- }
- case 701: break;
+ case 724: break;
case 121:
{
if(Debug.debugTokenizer)
dump("equals");//$NON-NLS-1$
fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
- yybegin(ST_XML_ATTRIBUTE_VALUE);
+ yybegin(isJspTag() ? ST_JSP_ATTRIBUTE_VALUE : ST_XML_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 702: break;
+ case 725: break;
case 120:
{
if(Debug.debugTokenizer)
@@ -2941,60 +3129,62 @@
yybegin(ST_XML_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 703: break;
+ case 726: break;
case 116:
case 117:
case 118:
- case 268:
- case 386:
- case 480:
- case 520:
- case 521:
+ case 272:
+ case 399:
+ case 499:
case 540:
case 541:
- case 559:
case 560:
- case 573:
- case 582:
- case 590:
- case 592:
- case 594:
- case 596:
- case 599:
- case 605:
- case 606:
- case 607:
- case 608:
- case 609:
- case 615:
+ case 561:
+ case 579:
+ case 580:
+ case 593:
+ case 602:
+ case 610:
+ case 612:
+ case 614:
case 616:
- case 617:
- case 618:
case 619:
case 625:
case 626:
+ case 627:
case 628:
case 629:
case 635:
case 636:
case 637:
case 638:
- case 644:
+ case 639:
case 645:
case 646:
- case 647:
- case 650:
- case 651:
- case 653:
+ case 648:
+ case 649:
+ case 655:
+ case 656:
+ case 657:
+ case 658:
+ case 664:
+ case 665:
+ case 666:
+ case 667:
+ case 670:
+ case 671:
+ case 673:
{
if(Debug.debugTokenizer)
dump("tag name");//$NON-NLS-1$
+ String tagname = yytext();
+ fJspTagStack.push(tagname.indexOf(':') != -1);
fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
fEmbeddedPostState = ST_XML_EQUALS;
yybegin(ST_XML_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 704: break;
+ case 727: break;
case 114:
{
if(Debug.debugTokenizer)
@@ -3007,19 +3197,21 @@
}
else
yybegin(YYINITIAL);
+ if (!fJspTagStack.empty())
+ fJspTagStack.pop();
return XML_TAG_CLOSE;
}
- case 705: break;
+ case 728: break;
case 107:
case 111:
- case 263:
+ case 267:
{
if(Debug.debugTokenizer)
dump("attr value");//$NON-NLS-1$
yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 706: break;
+ case 729: break;
case 106:
{
if(Debug.debugTokenizer)
@@ -3027,7 +3219,7 @@
yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 707: break;
+ case 730: break;
case 105:
{
if(Debug.debugTokenizer)
@@ -3035,7 +3227,7 @@
yybegin(ST_JSP_DIRECTIVE_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 708: break;
+ case 731: break;
case 102:
{
if(Debug.debugTokenizer)
@@ -3043,7 +3235,7 @@
yybegin(ST_JSP_DIRECTIVE_NAME_WHITESPACE);
return JSP_DIRECTIVE_NAME;
}
- case 709: break;
+ case 732: break;
case 98:
case 99:
case 100:
@@ -3052,13 +3244,13 @@
dump("JSP code content");//$NON-NLS-1$
return doScan("%>", false, false, false, JSP_CONTENT, ST_JSP_CONTENT, ST_JSP_CONTENT);
}
- case 710: break;
+ case 733: break;
case 94:
case 96:
case 97:
- case 253:
- case 254:
case 257:
+ case 258:
+ case 261:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction attribute value");//$NON-NLS-1$
@@ -3067,7 +3259,7 @@
yybegin(ST_DHTML_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 711: break;
+ case 734: break;
case 93:
{
if(Debug.debugTokenizer)
@@ -3077,7 +3269,7 @@
yybegin(ST_DHTML_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 712: break;
+ case 735: break;
case 92:
{
if(Debug.debugTokenizer)
@@ -3085,7 +3277,7 @@
yybegin(ST_DHTML_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 713: break;
+ case 736: break;
case 90:
{
if(Debug.debugTokenizer)
@@ -3094,10 +3286,10 @@
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 714: break;
+ case 737: break;
case 84:
case 86:
- case 244:
+ case 248:
{
if(Debug.debugTokenizer)
dump("XML processing instruction attribute value");//$NON-NLS-1$
@@ -3106,87 +3298,77 @@
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 715: break;
- case 83:
- {
- if(Debug.debugTokenizer)
- dump("XML processing instruction '='");//$NON-NLS-1$
- fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
- fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
- yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
- return XML_TAG_ATTRIBUTE_EQUALS;
- }
- case 716: break;
- case 49:
- case 199:
- case 200:
- case 203:
- case 213:
- case 214:
+ case 738: break;
+ case 50:
+ case 205:
+ case 206:
+ case 209:
case 217:
case 218:
- case 360:
- case 363:
- case 446:
- case 460:
- case 466:
+ case 221:
+ case 222:
+ case 373:
+ case 376:
+ case 465:
+ case 479:
+ case 485:
{
return JSP_VBL_CONTENT;
}
- case 717: break;
- case 42:
- case 178:
- case 179:
- case 182:
- case 192:
- case 193:
- case 196:
+ case 739: break;
+ case 43:
+ case 185:
+ case 186:
+ case 189:
case 197:
- case 330:
- case 344:
- case 347:
- case 418:
- case 419:
- case 434:
- case 440:
+ case 198:
+ case 202:
+ case 203:
+ case 343:
+ case 357:
+ case 360:
+ case 437:
+ case 438:
+ case 453:
+ case 459:
{
return JSP_EL_CONTENT;
}
- case 718: break;
+ case 740: break;
case 35:
case 159:
case 160:
- case 321:
- case 412:
- case 416:
- case 495:
- case 528:
+ case 325:
+ case 425:
+ case 429:
+ case 514:
case 548:
- case 565:
- case 575:
+ case 568:
+ case 585:
+ case 595:
{
if(Debug.debugTokenizer)
dump("attlist contentspec");//$NON-NLS-1$
return XML_ATTLIST_DECL_CONTENT;
}
- case 719: break;
+ case 741: break;
case 33:
case 152:
case 153:
- case 311:
- case 404:
- case 408:
- case 492:
- case 527:
+ case 315:
+ case 417:
+ case 421:
+ case 511:
case 547:
- case 564:
- case 574:
+ case 567:
+ case 584:
+ case 594:
{
if(Debug.debugTokenizer)
dump("elementdecl contentspec");//$NON-NLS-1$
return XML_ELEMENT_DECL_CONTENT;
}
- case 720: break;
+ case 742: break;
case 22:
case 112:
{
@@ -3200,7 +3382,7 @@
yybegin(YYINITIAL);
return XML_CONTENT;
}
- case 721: break;
+ case 743: break;
case 18:
case 104:
{
@@ -3209,7 +3391,7 @@
yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);
return WHITE_SPACE;
}
- case 722: break;
+ case 744: break;
case 5:
case 8:
case 9:
@@ -3235,35 +3417,36 @@
case 34:
case 40:
case 41:
+ case 42:
case 72:
- case 169:
- case 174:
+ case 176:
+ case 181:
{
if(Debug.debugTokenizer)
dump("white space");//$NON-NLS-1$
return WHITE_SPACE;
}
- case 723: break;
+ case 745: break;
case 0:
- case 56:
- case 59:
- case 61:
- case 225:
- case 227:
- case 228:
- case 230:
+ case 57:
+ case 60:
+ case 62:
+ case 229:
+ case 231:
case 232:
- case 370:
- case 371:
- case 372:
- case 475:
+ case 234:
+ case 236:
+ case 383:
+ case 384:
+ case 385:
+ case 494:
{
if(Debug.debugTokenizer)
dump("\nXML content");//$NON-NLS-1$
return XML_CONTENT;
}
- case 724: break;
- case 57:
+ case 746: break;
+ case 58:
case 101:
case 113:
case 119:
@@ -3276,12 +3459,12 @@
yybegin(ST_XML_TAG_NAME);
return XML_TAG_OPEN;
}
- case 725: break;
- case 58:
- case 60:
- case 64:
+ case 747: break;
+ case 59:
+ case 61:
case 65:
case 66:
+ case 67:
case 70:
case 71:
case 81:
@@ -3316,31 +3499,29 @@
case 157:
case 158:
case 166:
- case 171:
- case 172:
- case 176:
- case 177:
- case 184:
- case 185:
- case 187:
- case 188:
+ case 168:
+ case 169:
+ case 191:
+ case 192:
+ case 193:
case 194:
- case 198:
- case 205:
- case 206:
- case 208:
- case 209:
- case 215:
+ case 200:
+ case 204:
+ case 211:
+ case 212:
+ case 213:
+ case 214:
case 219:
+ case 223:
{
if (Debug.debugTokenizer)
System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$
yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
return UNDEFINED;
}
- case 726: break;
- case 62:
+ case 748: break;
case 63:
+ case 64:
{
if(Debug.debugTokenizer)
dump("CDATA text");//$NON-NLS-1$
@@ -3351,18 +3532,7 @@
yybegin(ST_CDATA_END);
return returnedContext;
}
- case 727: break;
- case 67:
- case 186:
- case 189:
- case 207:
- case 210:
- {
- if(Debug.debugTokenizer)
- dump("LINE FEED");//$NON-NLS-1$
- return WHITE_SPACE;
- }
- case 728: break;
+ case 749: break;
case 68:
case 69:
{
@@ -3370,27 +3540,27 @@
dump("comment content");//$NON-NLS-1$
return scanXMLCommentText();
}
- case 729: break;
+ case 750: break;
case 73:
case 74:
case 75:
case 76:
- case 237:
- case 238:
- case 239:
- case 383:
- case 478:
- case 479:
- case 518:
- case 519:
+ case 241:
+ case 242:
+ case 243:
+ case 396:
+ case 497:
+ case 498:
case 538:
+ case 539:
case 558:
- case 571:
- case 581:
- case 589:
+ case 578:
case 591:
- case 593:
- case 595:
+ case 601:
+ case 609:
+ case 611:
+ case 613:
+ case 615:
{
if(Debug.debugTokenizer)
dump("processing instruction target");//$NON-NLS-1$
@@ -3398,13 +3568,13 @@
yybegin(ST_PI_WS);
return XML_TAG_NAME;
}
- case 730: break;
+ case 751: break;
case 77:
{
yybegin(ST_PI_CONTENT);
return WHITE_SPACE;
}
- case 731: break;
+ case 752: break;
case 78:
case 79:
case 80:
@@ -3412,7 +3582,7 @@
// block scan until close is found
return doScan("?>", false, false, false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);
}
- case 732: break;
+ case 753: break;
case 82:
{
if(Debug.debugTokenizer)
@@ -3420,26 +3590,17 @@
yybegin(ST_XML_PI_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 733: break;
- case 126:
+ case 754: break;
+ case 83:
{
- if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
- }
- fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
- fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
- yybegin(ST_XML_ATTRIBUTE_VALUE_SQUOTED);
- fStateStack.push(yystate());
if(Debug.debugTokenizer)
- dump("JSP attribute value start - complex single quoted");//$NON-NLS-1$
- assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_SQUOTE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE);
- fStateStack.pop();
- fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
- fEmbeddedPostState = ST_XML_EQUALS;
- yybegin(ST_XML_ATTRIBUTE_NAME);
- return PROXY_CONTEXT;
+ dump("XML processing instruction '='");//$NON-NLS-1$
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
+ fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
+ yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
+ return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 734: break;
+ case 755: break;
case 130:
{
if(Debug.debugTokenizer)
@@ -3451,7 +3612,7 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 735: break;
+ case 756: break;
case 135:
{
if(Debug.debugTokenizer)
@@ -3459,12 +3620,12 @@
yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);
return XML_DOCTYPE_NAME;
}
- case 736: break;
+ case 757: break;
case 138:
case 142:
- case 288:
case 292:
- case 399:
+ case 296:
+ case 412:
{
if(Debug.debugTokenizer)
dump("doctype public reference");//$NON-NLS-1$
@@ -3473,10 +3634,10 @@
yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
return XML_DOCTYPE_EXTERNAL_ID_PUBREF;
}
- case 737: break;
+ case 758: break;
case 143:
case 147:
- case 298:
+ case 302:
{
if(Debug.debugTokenizer)
dump("doctype system reference");//$NON-NLS-1$
@@ -3485,11 +3646,11 @@
yybegin(ST_XML_DECLARATION_CLOSE);
return XML_DOCTYPE_EXTERNAL_ID_SYSREF;
}
- case 738: break;
+ case 759: break;
case 148:
- case 304:
case 308:
- case 402:
+ case 312:
+ case 415:
{
if(Debug.debugTokenizer)
dump("elementdecl name");//$NON-NLS-1$
@@ -3498,7 +3659,7 @@
yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);
return XML_ELEMENT_DECL_NAME;
}
- case 739: break;
+ case 760: break;
case 154:
{
if(Debug.debugTokenizer)
@@ -3510,11 +3671,11 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 740: break;
+ case 761: break;
case 155:
- case 314:
case 318:
- case 410:
+ case 322:
+ case 423:
{
if(Debug.debugTokenizer)
dump("attlist name");//$NON-NLS-1$
@@ -3523,7 +3684,7 @@
yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);
return XML_ATTLIST_DECL_NAME;
}
- case 741: break;
+ case 762: break;
case 161:
{
if(Debug.debugTokenizer)
@@ -3535,7 +3696,7 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 742: break;
+ case 763: break;
case 164:
case 165:
{
@@ -3543,17 +3704,22 @@
dump("\nJSP comment text");//$NON-NLS-1$
return scanJSPCommentText();
}
- case 743: break;
- case 167:
- case 173:
+ case 764: break;
+ case 174:
+ case 178:
+ case 179:
+ case 180:
+ case 183:
+ case 184:
+ case 338:
{
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 744: break;
- case 168:
+ case 765: break;
+ case 175:
{
if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
+ System.out.println("begin embedded region: " + fEmbeddedHint+", genericTagOpen");//$NON-NLS-1$
}
int incomingState = yystate();
fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
@@ -3566,30 +3732,30 @@
yybegin(incomingState);
return PROXY_CONTEXT;
}
- case 745: break;
- case 170:
+ case 766: break;
+ case 177:
{
- return XML_TAG_ATTRIBUTE_VALUE_SQUOTE;
+ return isJspTag() ? JSP_TAG_ATTRIBUTE_VALUE_SQUOTE : XML_TAG_ATTRIBUTE_VALUE_SQUOTE;
}
- case 746: break;
- case 175:
+ case 767: break;
+ case 182:
{
- return XML_TAG_ATTRIBUTE_VALUE_DQUOTE;
+ return isJspTag()? JSP_TAG_ATTRIBUTE_VALUE_DQUOTE : XML_TAG_ATTRIBUTE_VALUE_DQUOTE;
}
- case 747: break;
- case 180:
+ case 768: break;
+ case 187:
{
yybegin(ST_JSP_EL_DQUOTES);
return JSP_EL_DQUOTE;
}
- case 748: break;
- case 181:
+ case 769: break;
+ case 188:
{
yybegin(ST_JSP_EL_SQUOTES);
return JSP_EL_SQUOTE;
}
- case 749: break;
- case 183:
+ case 770: break;
+ case 190:
{
fELlevel--;
if(fELlevel == 0) {
@@ -3598,37 +3764,42 @@
}
return JSP_EL_CONTENT;
}
- case 750: break;
- case 190:
+ case 771: break;
+ case 195:
{
yybegin(ST_JSP_EL);
return JSP_EL_SQUOTE;
}
- case 751: break;
- case 191:
+ case 772: break;
+ case 196:
{
yybegin(ST_JSP_EL);
return JSP_EL_DQUOTE;
}
- case 752: break;
- case 195:
+ case 773: break;
+ case 199:
+ {
+ return isJspTag() ? JSP_TAG_ATTRIBUTE_VALUE_DQUOTE: XML_TAG_ATTRIBUTE_VALUE_DQUOTE;
+ }
+ case 774: break;
+ case 201:
{
return JSP_EL_CLOSE;
}
- case 753: break;
- case 201:
+ case 775: break;
+ case 207:
{
yybegin(ST_JSP_VBL_DQUOTES);
return JSP_VBL_DQUOTE;
}
- case 754: break;
- case 202:
+ case 776: break;
+ case 208:
{
yybegin(ST_JSP_VBL_SQUOTES);
return JSP_VBL_SQUOTE;
}
- case 755: break;
- case 204:
+ case 777: break;
+ case 210:
{
fELlevel--;
if(fELlevel == 0) {
@@ -3637,25 +3808,25 @@
}
return JSP_VBL_CONTENT;
}
- case 756: break;
- case 211:
+ case 778: break;
+ case 215:
{
yybegin(ST_JSP_VBL);
return JSP_VBL_SQUOTE;
}
- case 757: break;
- case 212:
+ case 779: break;
+ case 216:
{
yybegin(ST_JSP_VBL);
return JSP_VBL_DQUOTE;
}
- case 758: break;
- case 216:
+ case 780: break;
+ case 220:
{
return JSP_VBL_CLOSE;
}
- case 759: break;
- case 220:
+ case 781: break;
+ case 224:
{
if(Debug.debugTokenizer)
dump("\nend tag open");//$NON-NLS-1$
@@ -3664,28 +3835,28 @@
yybegin(ST_XML_TAG_NAME);
return XML_END_TAG_OPEN;
}
- case 760: break;
- case 221:
+ case 782: break;
+ case 225:
{
if(Debug.debugTokenizer)
dump("\nprocessing instruction start");//$NON-NLS-1$
yybegin(ST_PI);
return XML_PI_OPEN;
}
- case 761: break;
- case 222:
- case 310:
- case 320:
- case 331:
- case 336:
- case 340:
- case 343:
- case 346:
- case 348:
- case 352:
+ case 783: break;
+ case 226:
+ case 314:
+ case 324:
+ case 344:
+ case 349:
+ case 353:
case 356:
case 359:
- case 362:
+ case 361:
+ case 365:
+ case 369:
+ case 372:
+ case 375:
{
/* JSP scriptlet begun (anywhere)
* A consequence of the start anywhere possibility is that the
@@ -3721,7 +3892,7 @@
}
else {
if (Debug.debugTokenizer) {
- System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
+ System.out.println("begin embedded region: " + fEmbeddedHint+", jspScriptletStart");//$NON-NLS-1$
}
if(Debug.debugTokenizer)
dump("JSP scriptlet start");//$NON-NLS-1$
@@ -3752,11 +3923,16 @@
fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
}
+ else if(yystate() == ST_JSP_ATTRIBUTE_VALUE) {
+ fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
+ fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
+ }
+
return PROXY_CONTEXT;
}
}
- case 762: break;
- case 223:
+ case 784: break;
+ case 227:
{
fStateStack.push(yystate());
if(Debug.debugTokenizer)
@@ -3764,8 +3940,8 @@
yybegin(ST_XML_DECLARATION);
return XML_DECLARATION_OPEN;
}
- case 763: break;
- case 236:
+ case 785: break;
+ case 240:
{
if(Debug.debugTokenizer)
dump("processing instruction end");//$NON-NLS-1$
@@ -3773,16 +3949,16 @@
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 764: break;
- case 240:
+ case 786: break;
+ case 244:
{
// ended with nothing inside
fEmbeddedHint = UNDEFINED;
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 765: break;
- case 241:
+ case 787: break;
+ case 245:
{
if(Debug.debugTokenizer)
dump("XML processing instruction end");//$NON-NLS-1$
@@ -3790,8 +3966,8 @@
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 766: break;
- case 258:
+ case 788: break;
+ case 262:
{
if(Debug.debugTokenizer)
dump("JSP end");//$NON-NLS-1$
@@ -3802,25 +3978,13 @@
yybegin(fStateStack.pop());
return JSP_CLOSE;
}
- case 767: break;
- case 260:
- {
- if(Debug.debugTokenizer)
- dump("JSP end");//$NON-NLS-1$
- if (Debug.debugTokenizer) {
- if(fStateStack.peek()!=YYINITIAL)
- System.out.println("end embedded region");//$NON-NLS-1$
- }
- yybegin(fStateStack.pop());
- return JSP_DIRECTIVE_CLOSE;
- }
- case 768: break;
+ case 789: break;
case 162:
case 163:
{
return doBlockTagScan();
}
- case 769: break;
+ case 790: break;
default:
if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
yy_atEOF = true;
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex
index 5b80ad8..4a5e121 100644
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex
+++ b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex
@@ -242,7 +242,16 @@
if (longscan)
fCurrentTagName = internalTagName;
// read the next region and context
- internalContext = primGetNextToken();
+ try {
+ internalContext = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ yybegin(ST_ABORT_EMBEDDED);
+ longscan = false;
+ }
if (longscan) {
// Returning from a block tag scan requires restoring some state variables
// as well as handling the block region and setting up for normal scanning
@@ -258,7 +267,15 @@
fEmbeddedHint = previousEmbeddedHint;
fCurrentTagName = previousCurrentTagName;
yybegin(previousState);
- internalContext = primGetNextToken();
+ try {
+ internalContext = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ yybegin(ST_ABORT_EMBEDDED);
+ }
}
} catch (IOException e) {
// primGetNextToken() calls may throw an IOException
@@ -454,9 +471,18 @@
int resumeState = yystate();
yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
if(yy_markedPos == yy_startRead) {
- String jspContext = primGetNextToken();
+ try {
+ String jspContext = primGetNextToken();
+ yybegin(resumeState);
+ return jspContext;
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
yybegin(resumeState);
- return jspContext;
+ return UNDEFINED;
}
return searchContext;
}
@@ -472,9 +498,18 @@
int resumeState = yystate();
yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
if(yy_markedPos == yy_startRead) {
- String jspContext = primGetNextToken();
+ try {
+ String jspContext = primGetNextToken();
+ yybegin(resumeState);
+ return jspContext;
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
yybegin(resumeState);
- return jspContext;
+ return UNDEFINED;
}
return searchContext;
}
@@ -490,9 +525,18 @@
int resumeState = yystate();
yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
if(yy_markedPos == yy_startRead) {
- String jspContext = primGetNextToken();
+ try {
+ String jspContext = primGetNextToken();
+ yybegin(resumeState);
+ return jspContext;
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
yybegin(resumeState);
- return jspContext;
+ return UNDEFINED;
}
return searchContext;
}
@@ -522,7 +566,16 @@
fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
yybegin(YYINITIAL);
- String context = primGetNextToken();
+ String context = null;
+ try {
+ context = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ return UNDEFINED;
+ }
if(context.equals(XMLRegionContexts.XML_CDATA_OPEN)) {
assembleEmbeddedContainer(XMLRegionContexts.XML_CDATA_OPEN, XMLRegionContexts.XML_CDATA_CLOSE);
}
@@ -609,7 +662,15 @@
// been a Block, resume scanning normally immediately
if (yy_markedPos == yy_startRead) {
yybegin(immediateFallbackState);
- return primGetNextToken();
+ try {
+ return primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
+ return UNDEFINED;
}
}
else {
@@ -620,8 +681,17 @@
yybegin(exitState);
// If the ending occurs at the very beginning of what would have
// been a Block, resume scanning normally immediately
- if(yy_markedPos == yy_startRead)
- return primGetNextToken();
+ if(yy_markedPos == yy_startRead) {
+ try {
+ return primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ }
+ return UNDEFINED;
+ }
return searchContext;
}
/**
@@ -660,7 +730,15 @@
textLength = length = fBufferedLength;
fShouldLoadBuffered = false;
} else {
- context = primGetNextToken();
+ try {
+ context = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ return fRegionFactory.createToken(UNDEFINED, start, textLength, length, null, null);
+ }
if (context == PROXY_CONTEXT) {
return fEmbeddedContainer;
} else if (context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) {
@@ -681,7 +759,15 @@
}
}
// store the next token
- f_context = primGetNextToken();
+ try {
+ f_context = primGetNextToken();
+ }
+ catch(IllegalStateException e) {
+ start = yychar;
+ while(yy_advance() != YYEOF);
+ textLength = length = yylength();
+ return fRegionFactory.createToken(UNDEFINED, start, textLength, length, null, null);
+ }
if (f_context == PROXY_CONTEXT) {
fBufferedEmbeddedContainer = fEmbeddedContainer;
fShouldLoadBuffered = true;
@@ -755,6 +841,7 @@
if (Debug.debugTokenizer) {
System.out.println("resetting tokenizer");//$NON-NLS-1$
}
+ fInputStamp++;
fOffset = newOffset;
/* the input device */
@@ -789,7 +876,7 @@
yy_endRead = 0;
/* number of newlines encountered up to the start of the matched text */
- yyline = 0;
+ //yyline = 0;
/* the number of characters up to the start of the matched text */
yychar = 0;
@@ -875,7 +962,6 @@
%function primGetNextToken
%type String
%char
-%line
%unicode
%pack
@@ -2720,12 +2806,11 @@
return XML_CONTENT;
}
-
<ST_BLOCK_TAG_SCAN> .|\r|\n {
return doBlockTagScan();
}
-. {
+.|\r|\n {
if (Debug.debugTokenizer)
System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$
yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.java b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.java
index b4607a2..b236355 100644
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.java
+++ b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.java
@@ -1,7 +1,7 @@
-/* The following code was generated by JFlex 1.2.2 on 10/17/07 4:27 AM */
+/* The following code was generated by JFlex 1.2.2 on 5/6/09 2:12 PM */
/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
+ * Copyright (c) 2004, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -32,8 +32,8 @@
/**
* This class is a scanner generated by
* <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 10/17/07 4:27 AM from the specification file
- * <tt>file:/D:/eclipse.wtp/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex</tt>
+ * on 5/6/09 2:12 PM from the specification file
+ * <tt>file:/E:/wtp-3.0/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex</tt>
*/
public class XMLTokenizer implements BlockTokenizer, DOMRegionContext {
@@ -160,32 +160,32 @@
550, 605, 660, 715, 770, 825, 880, 935, 990, 1045,
1100, 1155, 1210, 1265, 1320, 1375, 1430, 1485, 1540, 1595,
1650, 1705, 1760, 1815, 1870, 1925, 1980, 1925, 1980, 2035,
- 1925, 1925, 1980, 2090, 2145, 2200, 2255, 2310, 2365, 2420,
- 2475, 1925, 1980, 2530, 2585, 2640, 1925, 2695, 2695, 2750,
- 2805, 2860, 2530, 1925, 2915, 2970, 1925, 3025, 3080, 3135,
- 3190, 3245, 3300, 1925, 3355, 3410, 3465, 3520, 1925, 3575,
- 3630, 3685, 3740, 3795, 1925, 3850, 3905, 3960, 4015, 4070,
- 4125, 4180, 4235, 4235, 4290, 4345, 4400, 4455, 4455, 4510,
- 4565, 4620, 4675, 4675, 4730, 4785, 4840, 4895, 1925, 4950,
- 4950, 5005, 5060, 5115, 5170, 1925, 1925, 1980, 1925, 1925,
- 5225, 5280, 5335, 5390, 5445, 5500, 5555, 5610, 1925, 5665,
- 5720, 5775, 1925, 1925, 2695, 5830, 2805, 1925, 5885, 2860,
- 2915, 3025, 3080, 5940, 3135, 1925, 5995, 3190, 1925, 3575,
- 6050, 3685, 1925, 6105, 3740, 5225, 6160, 6215, 6270, 4015,
- 1925, 6325, 6380, 4235, 6435, 4290, 1925, 6490, 6545, 6600,
- 6600, 6655, 6710, 4400, 4235, 4455, 6765, 4510, 1925, 6820,
- 4565, 4620, 4455, 4675, 6875, 4730, 1925, 6930, 6985, 7040,
- 7040, 7095, 7150, 7205, 4950, 7260, 5005, 1925, 7315, 7370,
- 7425, 7425, 7480, 7535, 7590, 7645, 7700, 7755, 7810, 1925,
- 7865, 7920, 1925, 1925, 1925, 2255, 7975, 8030, 8085, 8140,
- 8195, 8250, 8305, 6490, 8360, 8360, 6930, 8415, 8415, 8470,
- 7315, 8525, 8525, 8580, 1925, 8635, 8690, 1925, 8745, 8800,
- 8855, 8910, 8965, 9020, 9075, 9130, 6655, 7095, 9185, 7480,
- 9240, 9295, 9350, 9405, 9460, 9515, 9570, 9625, 9680, 9735,
- 9790, 9845, 9900, 9955, 10010, 10065, 10120, 1925, 1925, 10175,
- 10230, 10285, 10340, 10395, 1925, 1925, 1925, 10450, 10505, 10560,
- 10615, 10670, 10725, 1925, 10780, 4840, 5115, 10835, 10890, 10945,
- 11000, 2255
+ 1925, 1980, 2090, 2145, 2200, 2255, 2310, 2365, 2420, 2475,
+ 1925, 1980, 2530, 2585, 2640, 1925, 2695, 2695, 2750, 2805,
+ 2860, 2530, 1925, 2915, 2970, 1925, 3025, 3080, 3135, 3190,
+ 3245, 3300, 1925, 3355, 3410, 3465, 3520, 1925, 3575, 3630,
+ 3685, 3740, 3795, 1925, 3850, 3905, 3960, 4015, 4070, 4125,
+ 4180, 4235, 4235, 4290, 4345, 4400, 4455, 4455, 4510, 4565,
+ 4620, 4675, 4675, 4730, 4785, 4840, 4895, 1925, 4950, 4950,
+ 5005, 5060, 5115, 5170, 1925, 1925, 1980, 1925, 1925, 5225,
+ 5280, 5335, 5390, 5445, 5500, 5555, 5610, 1925, 5665, 5720,
+ 5775, 1925, 1925, 2695, 5830, 2805, 1925, 5885, 2860, 2915,
+ 3025, 3080, 5940, 3135, 1925, 5995, 3190, 1925, 3575, 6050,
+ 3685, 1925, 6105, 3740, 5225, 6160, 6215, 6270, 4015, 1925,
+ 6325, 6380, 4235, 6435, 4290, 1925, 6490, 6545, 6600, 6600,
+ 6655, 6710, 4400, 4235, 4455, 6765, 4510, 1925, 6820, 4565,
+ 4620, 4455, 4675, 6875, 4730, 1925, 6930, 6985, 7040, 7040,
+ 7095, 7150, 7205, 4950, 7260, 5005, 1925, 7315, 7370, 7425,
+ 7425, 7480, 7535, 7590, 7645, 7700, 7755, 7810, 1925, 7865,
+ 7920, 1925, 1925, 1925, 2255, 7975, 8030, 8085, 8140, 8195,
+ 8250, 8305, 6490, 8360, 8360, 6930, 8415, 8415, 8470, 7315,
+ 8525, 8525, 8580, 1925, 8635, 8690, 1925, 8745, 8800, 8855,
+ 8910, 8965, 9020, 9075, 9130, 6655, 7095, 9185, 7480, 9240,
+ 9295, 9350, 9405, 9460, 9515, 9570, 9625, 9680, 9735, 9790,
+ 9845, 9900, 9955, 10010, 10065, 10120, 1925, 1925, 10175, 10230,
+ 10285, 10340, 10395, 1925, 1925, 1925, 10450, 10505, 10560, 10615,
+ 10670, 10725, 1925, 10780, 4840, 5115, 10835, 10890, 10945, 11000,
+ 2255
};
/**
@@ -193,239 +193,238 @@
*/
final private static String yy_packed =
"\1\40\1\41\10\40\1\42\4\40\1\43\47\40\1\44"+
- "\1\45\65\44\1\46\1\47\16\46\1\50\1\46\1\51"+
- "\44\46\1\52\1\53\65\52\1\46\1\47\5\46\1\54"+
- "\12\46\1\51\45\46\1\47\2\46\1\55\1\56\2\46"+
- "\1\57\3\46\1\56\5\46\1\56\1\60\1\61\4\57"+
- "\1\46\10\57\1\62\2\57\1\46\7\57\1\46\3\57"+
- "\1\46\3\57\1\46\1\57\1\46\1\47\2\46\1\55"+
- "\1\63\6\46\1\63\5\46\1\63\44\46\1\64\1\65"+
- "\2\64\1\66\15\64\1\51\44\64\1\46\1\47\2\46"+
- "\1\67\1\56\2\46\1\70\3\46\1\56\5\46\1\56"+
- "\6\70\1\46\13\70\1\46\7\70\1\46\3\70\1\46"+
- "\3\70\1\46\1\70\1\46\1\47\2\46\1\67\1\56"+
- "\2\46\1\70\3\46\1\56\5\46\1\56\6\70\1\46"+
- "\13\70\1\71\7\70\1\46\3\70\1\46\3\70\1\46"+
- "\1\70\1\72\1\47\1\46\1\73\1\74\1\56\3\72"+
- "\1\75\1\72\1\76\1\56\5\72\1\56\44\72\1\46"+
- "\1\47\2\46\1\77\15\46\1\51\45\46\1\47\1\100"+
- "\1\101\1\46\1\56\2\46\1\102\3\46\1\56\5\46"+
- "\1\56\6\102\1\46\13\102\1\46\7\102\1\46\3\102"+
- "\1\46\3\102\1\46\1\102\1\46\1\47\1\100\1\101"+
- "\1\46\1\56\2\46\1\102\3\46\1\56\5\46\1\56"+
- "\6\102\1\46\13\102\1\103\7\102\1\46\3\102\1\46"+
- "\3\102\1\46\1\102\1\104\1\47\1\100\1\105\1\104"+
- "\1\56\3\104\1\106\1\104\1\107\1\56\5\104\1\56"+
- "\44\104\1\46\1\47\3\46\1\56\6\46\1\56\5\46"+
- "\1\56\44\46\1\110\1\111\1\112\1\113\4\110\1\114"+
- "\12\110\6\115\1\110\13\115\1\110\7\115\1\110\3\115"+
- "\1\110\3\115\1\110\1\115\1\46\1\111\1\112\1\113"+
- "\1\46\1\56\2\46\1\116\3\46\1\56\5\46\1\56"+
- "\6\116\1\46\13\116\1\46\7\116\1\46\3\116\1\46"+
- "\3\116\1\46\1\116\1\46\1\111\1\112\1\113\1\46"+
- "\1\56\2\46\1\116\3\46\1\56\5\46\1\56\6\116"+
- "\1\46\13\116\1\117\7\116\1\46\3\116\1\46\3\116"+
- "\1\46\1\116\1\120\1\111\1\112\1\121\1\120\1\56"+
- "\3\120\1\122\1\120\1\123\1\56\5\120\1\56\44\120"+
- "\1\46\1\124\1\125\2\46\1\56\6\46\1\56\5\46"+
- "\1\56\10\46\1\126\1\127\2\46\1\130\10\46\1\130"+
- "\1\46\1\127\1\126\14\46\1\47\1\125\2\46\1\56"+
- "\6\46\1\56\5\46\1\56\6\46\1\131\36\46\1\47"+
- "\1\125\2\46\1\56\2\46\1\132\3\46\1\56\5\46"+
- "\1\56\6\132\1\131\13\132\1\46\7\132\1\46\3\132"+
- "\1\46\3\132\1\46\1\132\1\46\1\47\1\125\2\46"+
- "\1\56\6\46\1\56\5\46\1\56\6\46\1\131\7\46"+
- "\1\133\5\46\1\134\6\46\1\133\10\46\1\135\1\47"+
- "\1\125\1\136\1\135\1\56\3\135\1\137\1\135\1\140"+
- "\1\56\5\135\1\56\6\135\1\141\35\135\1\142\1\47"+
- "\1\125\1\143\1\142\1\56\3\142\1\144\1\142\1\145"+
- "\1\56\5\142\1\56\6\142\1\146\35\142\1\147\1\47"+
- "\1\125\1\150\1\147\1\56\3\147\1\151\1\147\1\152"+
- "\1\56\5\147\1\56\44\147\1\153\1\154\1\155\64\153"+
- "\1\156\1\47\1\125\1\157\1\156\1\56\3\156\1\160"+
- "\1\156\1\161\1\56\5\156\1\56\44\156\1\162\1\163"+
- "\1\164\64\162\1\165\1\166\65\165\1\40\1\0\10\40"+
- "\1\0\4\40\1\0\47\40\3\0\1\167\1\170\14\0"+
- "\1\171\52\0\1\172\2\0\1\173\3\0\1\172\5\0"+
- "\1\172\6\173\1\0\13\173\1\0\7\173\1\174\3\173"+
- "\1\0\3\173\1\0\1\173\5\0\1\172\2\0\1\175"+
- "\3\0\1\172\5\0\1\172\6\175\1\0\13\175\1\0"+
- "\7\175\1\0\3\175\1\0\3\175\1\0\1\175\110\0"+
- "\1\176\65\0\1\177\55\0\1\200\61\0\1\201\71\0"+
- "\1\56\6\0\1\56\5\0\1\56\52\0\3\57\4\0"+
- "\1\57\5\0\6\57\1\0\13\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\6\0\3\57\4\0\1\57\5\0"+
- "\2\57\2\202\2\57\1\0\13\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\6\0\3\57\4\0\1\57\5\0"+
- "\2\57\1\202\1\203\2\57\1\0\13\57\1\0\7\57"+
- "\1\0\3\57\1\0\5\57\6\0\3\57\4\0\1\57"+
- "\5\0\2\57\2\204\2\57\1\0\13\57\1\0\7\57"+
- "\1\0\3\57\1\0\5\57\5\0\1\63\6\0\1\63"+
- "\5\0\1\63\46\0\1\205\66\0\1\206\72\0\3\70"+
- "\4\0\1\70\5\0\6\70\1\0\13\70\1\0\7\70"+
- "\1\0\3\70\1\0\5\70\1\72\2\0\1\207\1\72"+
- "\1\0\3\72\1\0\1\72\2\0\5\72\1\0\45\72"+
- "\1\0\1\206\1\207\1\72\1\0\3\72\1\0\1\72"+
- "\2\0\5\72\1\0\44\72\1\75\1\0\1\210\1\211"+
- "\1\75\1\210\3\75\1\212\1\75\2\210\5\75\1\210"+
- "\44\75\1\76\1\0\1\213\1\214\1\76\1\213\3\76"+
- "\1\213\1\76\1\212\1\213\5\76\1\213\44\76\2\0"+
- "\1\100\1\215\71\0\3\102\4\0\1\102\5\0\6\102"+
- "\1\0\13\102\1\0\7\102\1\0\3\102\1\0\5\102"+
- "\1\104\2\0\1\216\1\104\1\0\3\104\1\0\1\104"+
- "\2\0\5\104\1\0\45\104\1\0\1\100\1\217\1\104"+
- "\1\0\3\104\1\0\1\104\2\0\5\104\1\0\44\104"+
- "\1\106\1\0\1\220\1\221\1\106\1\220\3\106\1\222"+
- "\1\106\2\220\5\106\1\220\44\106\1\107\1\0\1\223"+
- "\1\224\1\107\1\223\3\107\1\223\1\107\1\222\1\223"+
- "\5\107\1\223\44\107\1\110\3\0\17\110\6\0\1\110"+
- "\13\0\1\110\7\0\1\110\3\0\1\110\3\0\1\110"+
- "\4\0\1\167\15\0\1\171\47\0\1\225\64\0\1\110"+
- "\3\0\2\110\3\114\4\110\1\114\5\110\6\115\1\110"+
- "\13\115\1\110\7\115\1\110\3\115\1\110\3\115\1\114"+
- "\1\115\6\0\3\115\4\0\1\115\5\0\6\115\1\0"+
- "\13\115\1\0\7\115\1\0\3\115\1\0\5\115\6\0"+
- "\3\116\4\0\1\116\5\0\6\116\1\0\13\116\1\0"+
- "\7\116\1\0\3\116\1\0\5\116\1\120\2\0\1\226"+
- "\1\120\1\0\3\120\1\0\1\120\2\0\5\120\1\0"+
- "\45\120\1\0\1\225\1\226\1\120\1\0\3\120\1\0"+
- "\1\120\2\0\5\120\1\0\44\120\1\122\1\0\1\227"+
- "\1\230\1\122\1\227\3\122\1\231\1\122\2\227\5\122"+
- "\1\227\44\122\1\123\1\0\1\232\1\233\1\123\1\232"+
- "\3\123\1\232\1\123\1\231\1\232\5\123\1\232\44\123"+
- "\3\0\1\167\15\0\1\234\110\0\1\235\60\0\1\236"+
- "\13\0\1\236\44\0\2\237\36\0\20\240\1\241\46\240"+
- "\6\0\3\132\4\0\1\132\5\0\6\132\1\0\13\132"+
- "\1\0\7\132\1\0\3\132\1\0\5\132\46\0\1\242"+
- "\5\0\1\242\72\0\1\243\6\0\1\135\2\0\1\244"+
- "\1\135\1\0\3\135\1\0\1\135\2\0\5\135\1\0"+
- "\44\135\1\137\1\0\1\245\1\246\1\137\1\245\3\137"+
- "\1\247\1\137\2\245\5\137\1\245\44\137\1\250\1\0"+
- "\1\251\1\252\1\253\1\251\3\253\1\251\1\250\1\254"+
- "\1\255\3\253\1\250\1\253\1\255\6\253\1\250\32\253"+
- "\2\250\1\253\1\141\2\240\1\256\1\141\1\240\3\141"+
- "\1\240\1\141\2\240\3\141\1\257\1\141\1\240\44\141"+
- "\1\142\2\0\1\260\1\142\1\0\3\142\1\0\1\142"+
- "\2\0\5\142\1\0\44\142\1\144\2\261\1\262\1\144"+
- "\1\261\3\144\1\263\1\144\2\261\5\144\1\261\44\144"+
- "\1\145\2\264\1\265\1\145\1\264\3\145\1\264\1\145"+
- "\1\263\1\264\5\145\1\264\44\145\1\146\2\240\1\266"+
- "\1\146\1\240\3\146\1\240\1\146\2\240\3\146\1\267"+
- "\1\146\1\240\44\146\1\147\2\0\1\270\1\147\1\0"+
- "\3\147\1\0\1\147\2\0\5\147\1\0\44\147\1\151"+
- "\1\0\1\271\1\272\1\151\1\271\3\151\1\273\1\151"+
- "\2\271\5\151\1\271\44\151\1\274\1\0\1\275\1\276"+
- "\1\277\1\275\3\277\1\275\1\274\1\300\1\301\3\277"+
- "\1\274\1\277\1\301\6\277\1\274\32\277\2\274\1\277"+
- "\2\153\1\0\66\153\1\0\16\153\1\302\45\153\1\156"+
- "\2\0\1\303\1\156\1\0\3\156\1\0\1\156\2\0"+
- "\5\156\1\0\44\156\1\160\1\0\1\304\1\305\1\160"+
- "\1\304\3\160\1\306\1\160\2\304\5\160\1\304\44\160"+
- "\1\307\1\0\1\310\1\311\1\312\1\310\3\312\1\310"+
- "\1\307\1\313\1\314\3\312\1\307\1\312\1\314\6\312"+
- "\1\307\32\312\2\307\1\312\2\162\1\0\66\162\1\0"+
- "\16\162\1\315\45\162\7\0\1\316\21\0\1\317\42\0"+
- "\1\172\2\0\1\40\3\0\1\172\5\0\1\172\6\40"+
- "\1\0\13\40\1\0\7\40\1\0\3\40\1\0\3\40"+
- "\1\0\1\40\1\320\1\0\3\320\1\321\3\173\1\320"+
- "\1\0\1\320\1\321\1\173\1\320\1\0\2\320\1\321"+
- "\6\173\1\320\13\173\1\320\7\173\1\320\3\173\1\322"+
- "\5\173\15\0\1\323\6\0\1\324\42\0\1\320\1\0"+
- "\3\320\1\321\3\175\1\320\1\0\1\320\1\321\1\175"+
- "\1\320\1\0\2\320\1\321\6\175\1\320\13\175\1\320"+
- "\7\175\1\320\3\175\1\325\5\175\31\0\1\317\37\0"+
- "\1\326\66\0\1\327\72\0\3\57\4\0\1\57\5\0"+
- "\4\57\2\330\1\0\13\57\1\0\7\57\1\0\3\57"+
- "\1\0\5\57\6\0\3\57\4\0\1\57\5\0\4\57"+
- "\1\330\1\331\1\0\13\57\1\0\7\57\1\0\3\57"+
- "\1\0\5\57\6\0\3\57\4\0\1\57\5\0\6\57"+
- "\1\0\13\57\1\0\1\57\1\332\5\57\1\0\3\57"+
- "\1\0\5\57\1\210\1\0\7\210\1\212\55\210\1\213"+
- "\1\0\11\213\1\212\53\213\1\220\1\0\7\220\1\222"+
- "\55\220\1\223\1\0\11\223\1\222\53\223\1\227\1\0"+
- "\7\227\1\231\55\227\1\232\1\0\11\232\1\231\53\232"+
- "\32\0\1\333\30\0\1\333\40\0\1\334\13\0\1\334"+
- "\54\0\1\335\10\0\1\335\57\0\1\336\14\0\1\336"+
- "\72\0\1\337\4\0\1\245\1\0\7\245\1\247\55\245"+
- "\1\250\1\0\1\251\1\340\1\250\1\251\3\250\1\251"+
- "\1\250\1\247\1\251\5\250\1\251\44\250\1\251\1\0"+
- "\11\251\1\247\53\251\1\250\1\0\1\251\1\340\1\250"+
- "\1\251\3\250\1\251\1\250\1\341\1\251\5\250\1\251"+
- "\44\250\13\0\1\342\53\0\1\251\1\0\11\251\1\341"+
- "\53\251\11\261\1\263\55\261\13\264\1\263\53\264\1\271"+
- "\1\0\7\271\1\273\55\271\1\274\1\0\1\275\1\343"+
- "\1\274\1\275\3\274\1\275\1\274\1\273\1\275\5\274"+
- "\1\275\44\274\1\275\1\0\11\275\1\273\53\275\1\274"+
- "\1\0\1\275\1\343\1\274\1\275\3\274\1\275\1\274"+
- "\1\344\1\275\5\274\1\275\44\274\13\0\1\345\53\0"+
- "\1\275\1\0\11\275\1\344\53\275\2\153\1\0\26\153"+
- "\1\346\35\153\1\304\1\0\7\304\1\306\55\304\1\307"+
- "\1\0\1\310\1\347\1\307\1\310\3\307\1\310\1\307"+
- "\1\306\1\310\5\307\1\310\44\307\1\310\1\0\11\310"+
- "\1\306\53\310\1\307\1\0\1\310\1\347\1\307\1\310"+
- "\3\307\1\310\1\307\1\350\1\310\5\307\1\310\44\307"+
- "\13\0\1\351\53\0\1\310\1\0\11\310\1\350\53\310"+
- "\2\162\1\0\26\162\1\352\35\162\7\0\1\353\111\0"+
- "\1\354\34\0\1\320\1\0\10\320\1\0\4\320\1\0"+
- "\41\320\1\0\6\320\1\0\3\320\1\321\4\320\1\0"+
- "\1\320\1\321\2\320\1\0\2\320\1\321\36\320\1\355"+
- "\5\320\15\0\1\323\43\0\1\356\22\0\1\357\14\0"+
- "\3\357\2\0\1\357\10\0\1\357\1\0\2\357\3\0"+
- "\1\357\2\0\2\357\11\0\1\57\1\360\1\57\4\0"+
- "\1\57\5\0\6\57\1\0\13\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\6\0\3\57\4\0\1\57\5\0"+
- "\6\57\1\0\11\57\1\361\1\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\35\0\1\362\13\0\1\362\44\0"+
- "\2\363\63\0\2\364\75\0\1\365\13\0\1\365\44\0"+
- "\2\366\41\0\2\367\1\0\3\367\2\0\1\254\4\367"+
- "\1\0\10\367\1\0\32\367\2\0\1\367\3\0\2\370"+
- "\1\0\3\370\2\0\1\300\4\370\1\0\10\370\1\0"+
- "\32\370\2\0\1\370\2\153\1\0\27\153\1\371\34\153"+
- "\3\0\2\372\1\0\3\372\2\0\1\313\4\372\1\0"+
- "\10\372\1\0\32\372\2\0\1\372\2\162\1\0\27\162"+
- "\1\373\34\162\33\0\1\374\114\0\1\355\22\0\1\357"+
- "\14\0\3\357\2\0\1\357\10\0\1\357\1\0\2\357"+
- "\3\0\1\357\1\0\1\356\2\357\11\0\3\57\4\0"+
- "\1\57\5\0\6\57\1\0\7\57\1\375\3\57\1\0"+
- "\7\57\1\0\3\57\1\0\5\57\6\0\3\57\4\0"+
- "\1\57\5\0\6\57\1\0\6\57\1\376\4\57\1\0"+
- "\7\57\1\0\3\57\1\0\5\57\46\0\1\377\5\0"+
- "\1\377\54\0\1\u0100\63\0\1\u0101\10\0\1\u0101\55\0"+
- "\1\u0102\10\0\1\u0102\60\0\1\u0103\24\0\2\153\1\0"+
- "\30\153\1\u0104\33\153\2\162\1\0\30\162\1\u0105\33\162"+
- "\34\0\1\u0106\40\0\3\57\4\0\1\57\5\0\6\57"+
- "\1\0\13\57\1\0\3\57\1\u0107\3\57\1\0\3\57"+
- "\1\0\5\57\6\0\3\57\4\0\1\57\5\0\6\57"+
- "\1\0\3\57\1\u0108\7\57\1\0\3\57\1\u0108\3\57"+
- "\1\0\3\57\1\0\5\57\47\0\1\u0109\60\0\1\u010a"+
- "\14\0\1\u010a\54\0\1\u010b\47\0\2\u010c\72\0\1\u010d"+
- "\30\0\1\u010d\3\0\2\153\1\0\31\153\1\u010e\32\153"+
- "\2\162\1\0\31\162\1\u010f\32\162\35\0\1\u0110\37\0"+
- "\3\57\4\0\1\57\5\0\6\57\1\0\13\57\1\0"+
- "\6\57\1\u0111\1\0\3\57\1\0\5\57\5\0\1\u0112"+
- "\3\57\3\0\1\u0112\1\57\4\0\1\u0112\6\57\1\0"+
- "\13\57\1\0\7\57\1\0\3\57\1\0\5\57\37\0"+
- "\1\u0113\10\0\1\u0113\53\0\1\u0114\13\0\1\u0114\52\0"+
- "\1\u0115\13\0\1\u0115\15\0\2\153\1\0\32\153\1\u0116"+
- "\31\153\2\162\1\0\32\162\1\u0117\31\162\34\0\1\u0118"+
- "\40\0\3\57\4\0\1\57\5\0\5\57\1\u0119\1\0"+
- "\13\57\1\0\7\57\1\0\3\57\1\0\5\57\5\0"+
- "\1\u0112\6\0\1\u0112\5\0\1\u0112\44\0\2\153\1\0"+
- "\31\153\1\u011a\32\153\2\162\1\0\31\162\1\u011b\32\162"+
- "\31\0\1\u011c\43\0\3\57\4\0\1\57\5\0\6\57"+
- "\1\0\5\57\1\u011d\5\57\1\0\7\57\1\0\3\57"+
- "\1\0\5\57\2\153\1\0\26\153\1\u011e\35\153\2\162"+
- "\1\0\26\162\1\u011f\35\162\6\0\3\57\4\0\1\57"+
- "\5\0\6\57\1\0\7\57\1\u0120\3\57\1\0\7\57"+
- "\1\0\3\57\1\0\5\57\6\0\3\57\4\0\1\57"+
- "\5\0\6\57\1\0\13\57\1\0\7\57\1\0\3\57"+
- "\1\0\4\57\1\u0121\6\0\3\57\4\0\1\57\5\0"+
- "\6\57\1\0\5\57\1\u0122\5\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\6\0\3\57\4\0\1\57\5\0"+
- "\6\57\1\0\5\57\1\u0123\5\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\6\0\3\57\4\0\1\57\5\0"+
- "\6\57\1\0\13\57\1\0\3\57\1\u0124\3\57\1\0"+
- "\3\57\1\0\5\57";
+ "\1\45\65\44\1\46\1\47\16\46\1\50\46\46\1\51"+
+ "\1\52\65\51\1\46\1\47\5\46\1\53\60\46\1\47"+
+ "\2\46\1\54\1\55\2\46\1\56\3\46\1\55\5\46"+
+ "\1\55\1\57\1\60\4\56\1\46\10\56\1\61\2\56"+
+ "\1\46\7\56\1\46\3\56\1\46\3\56\1\46\1\56"+
+ "\1\46\1\47\2\46\1\54\1\62\6\46\1\62\5\46"+
+ "\1\62\44\46\1\63\1\64\2\63\1\65\15\63\1\46"+
+ "\44\63\1\46\1\47\2\46\1\66\1\55\2\46\1\67"+
+ "\3\46\1\55\5\46\1\55\6\67\1\46\13\67\1\46"+
+ "\7\67\1\46\3\67\1\46\3\67\1\46\1\67\1\46"+
+ "\1\47\2\46\1\66\1\55\2\46\1\67\3\46\1\55"+
+ "\5\46\1\55\6\67\1\46\13\67\1\70\7\67\1\46"+
+ "\3\67\1\46\3\67\1\46\1\67\1\71\1\47\1\46"+
+ "\1\72\1\73\1\55\3\71\1\74\1\71\1\75\1\55"+
+ "\5\71\1\55\44\71\1\46\1\47\2\46\1\76\63\46"+
+ "\1\47\1\77\1\100\1\46\1\55\2\46\1\101\3\46"+
+ "\1\55\5\46\1\55\6\101\1\46\13\101\1\46\7\101"+
+ "\1\46\3\101\1\46\3\101\1\46\1\101\1\46\1\47"+
+ "\1\77\1\100\1\46\1\55\2\46\1\101\3\46\1\55"+
+ "\5\46\1\55\6\101\1\46\13\101\1\102\7\101\1\46"+
+ "\3\101\1\46\3\101\1\46\1\101\1\103\1\47\1\77"+
+ "\1\104\1\103\1\55\3\103\1\105\1\103\1\106\1\55"+
+ "\5\103\1\55\44\103\1\46\1\47\3\46\1\55\6\46"+
+ "\1\55\5\46\1\55\44\46\1\107\1\110\1\111\1\112"+
+ "\4\107\1\113\12\107\6\114\1\107\13\114\1\107\7\114"+
+ "\1\107\3\114\1\107\3\114\1\107\1\114\1\46\1\110"+
+ "\1\111\1\112\1\46\1\55\2\46\1\115\3\46\1\55"+
+ "\5\46\1\55\6\115\1\46\13\115\1\46\7\115\1\46"+
+ "\3\115\1\46\3\115\1\46\1\115\1\46\1\110\1\111"+
+ "\1\112\1\46\1\55\2\46\1\115\3\46\1\55\5\46"+
+ "\1\55\6\115\1\46\13\115\1\116\7\115\1\46\3\115"+
+ "\1\46\3\115\1\46\1\115\1\117\1\110\1\111\1\120"+
+ "\1\117\1\55\3\117\1\121\1\117\1\122\1\55\5\117"+
+ "\1\55\44\117\1\46\1\123\1\124\2\46\1\55\6\46"+
+ "\1\55\5\46\1\55\10\46\1\125\1\126\2\46\1\127"+
+ "\10\46\1\127\1\46\1\126\1\125\14\46\1\47\1\124"+
+ "\2\46\1\55\6\46\1\55\5\46\1\55\6\46\1\130"+
+ "\36\46\1\47\1\124\2\46\1\55\2\46\1\131\3\46"+
+ "\1\55\5\46\1\55\6\131\1\130\13\131\1\46\7\131"+
+ "\1\46\3\131\1\46\3\131\1\46\1\131\1\46\1\47"+
+ "\1\124\2\46\1\55\6\46\1\55\5\46\1\55\6\46"+
+ "\1\130\7\46\1\132\5\46\1\133\6\46\1\132\10\46"+
+ "\1\134\1\47\1\124\1\135\1\134\1\55\3\134\1\136"+
+ "\1\134\1\137\1\55\5\134\1\55\6\134\1\140\35\134"+
+ "\1\141\1\47\1\124\1\142\1\141\1\55\3\141\1\143"+
+ "\1\141\1\144\1\55\5\141\1\55\6\141\1\145\35\141"+
+ "\1\146\1\47\1\124\1\147\1\146\1\55\3\146\1\150"+
+ "\1\146\1\151\1\55\5\146\1\55\44\146\1\152\1\153"+
+ "\1\154\64\152\1\155\1\47\1\124\1\156\1\155\1\55"+
+ "\3\155\1\157\1\155\1\160\1\55\5\155\1\55\44\155"+
+ "\1\161\1\162\1\163\64\161\1\164\1\165\65\164\1\40"+
+ "\1\0\10\40\1\0\4\40\1\0\47\40\3\0\1\166"+
+ "\1\167\14\0\1\170\52\0\1\171\2\0\1\172\3\0"+
+ "\1\171\5\0\1\171\6\172\1\0\13\172\1\0\7\172"+
+ "\1\173\3\172\1\0\3\172\1\0\1\172\5\0\1\171"+
+ "\2\0\1\174\3\0\1\171\5\0\1\171\6\174\1\0"+
+ "\13\174\1\0\7\174\1\0\3\174\1\0\3\174\1\0"+
+ "\1\174\110\0\1\175\65\0\1\176\55\0\1\177\61\0"+
+ "\1\200\71\0\1\55\6\0\1\55\5\0\1\55\52\0"+
+ "\3\56\4\0\1\56\5\0\6\56\1\0\13\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\6\0\3\56\4\0"+
+ "\1\56\5\0\2\56\2\201\2\56\1\0\13\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\6\0\3\56\4\0"+
+ "\1\56\5\0\2\56\1\201\1\202\2\56\1\0\13\56"+
+ "\1\0\7\56\1\0\3\56\1\0\5\56\6\0\3\56"+
+ "\4\0\1\56\5\0\2\56\2\203\2\56\1\0\13\56"+
+ "\1\0\7\56\1\0\3\56\1\0\5\56\5\0\1\62"+
+ "\6\0\1\62\5\0\1\62\46\0\1\204\66\0\1\205"+
+ "\72\0\3\67\4\0\1\67\5\0\6\67\1\0\13\67"+
+ "\1\0\7\67\1\0\3\67\1\0\5\67\1\71\2\0"+
+ "\1\206\1\71\1\0\3\71\1\0\1\71\2\0\5\71"+
+ "\1\0\45\71\1\0\1\205\1\206\1\71\1\0\3\71"+
+ "\1\0\1\71\2\0\5\71\1\0\44\71\1\74\1\0"+
+ "\1\207\1\210\1\74\1\207\3\74\1\211\1\74\2\207"+
+ "\5\74\1\207\44\74\1\75\1\0\1\212\1\213\1\75"+
+ "\1\212\3\75\1\212\1\75\1\211\1\212\5\75\1\212"+
+ "\44\75\2\0\1\77\1\214\71\0\3\101\4\0\1\101"+
+ "\5\0\6\101\1\0\13\101\1\0\7\101\1\0\3\101"+
+ "\1\0\5\101\1\103\2\0\1\215\1\103\1\0\3\103"+
+ "\1\0\1\103\2\0\5\103\1\0\45\103\1\0\1\77"+
+ "\1\216\1\103\1\0\3\103\1\0\1\103\2\0\5\103"+
+ "\1\0\44\103\1\105\1\0\1\217\1\220\1\105\1\217"+
+ "\3\105\1\221\1\105\2\217\5\105\1\217\44\105\1\106"+
+ "\1\0\1\222\1\223\1\106\1\222\3\106\1\222\1\106"+
+ "\1\221\1\222\5\106\1\222\44\106\1\107\3\0\17\107"+
+ "\6\0\1\107\13\0\1\107\7\0\1\107\3\0\1\107"+
+ "\3\0\1\107\4\0\1\166\15\0\1\170\47\0\1\224"+
+ "\64\0\1\107\3\0\2\107\3\113\4\107\1\113\5\107"+
+ "\6\114\1\107\13\114\1\107\7\114\1\107\3\114\1\107"+
+ "\3\114\1\113\1\114\6\0\3\114\4\0\1\114\5\0"+
+ "\6\114\1\0\13\114\1\0\7\114\1\0\3\114\1\0"+
+ "\5\114\6\0\3\115\4\0\1\115\5\0\6\115\1\0"+
+ "\13\115\1\0\7\115\1\0\3\115\1\0\5\115\1\117"+
+ "\2\0\1\225\1\117\1\0\3\117\1\0\1\117\2\0"+
+ "\5\117\1\0\45\117\1\0\1\224\1\225\1\117\1\0"+
+ "\3\117\1\0\1\117\2\0\5\117\1\0\44\117\1\121"+
+ "\1\0\1\226\1\227\1\121\1\226\3\121\1\230\1\121"+
+ "\2\226\5\121\1\226\44\121\1\122\1\0\1\231\1\232"+
+ "\1\122\1\231\3\122\1\231\1\122\1\230\1\231\5\122"+
+ "\1\231\44\122\3\0\1\166\15\0\1\233\110\0\1\234"+
+ "\60\0\1\235\13\0\1\235\44\0\2\236\36\0\20\237"+
+ "\1\240\46\237\6\0\3\131\4\0\1\131\5\0\6\131"+
+ "\1\0\13\131\1\0\7\131\1\0\3\131\1\0\5\131"+
+ "\46\0\1\241\5\0\1\241\72\0\1\242\6\0\1\134"+
+ "\2\0\1\243\1\134\1\0\3\134\1\0\1\134\2\0"+
+ "\5\134\1\0\44\134\1\136\1\0\1\244\1\245\1\136"+
+ "\1\244\3\136\1\246\1\136\2\244\5\136\1\244\44\136"+
+ "\1\247\1\0\1\250\1\251\1\252\1\250\3\252\1\250"+
+ "\1\247\1\253\1\254\3\252\1\247\1\252\1\254\6\252"+
+ "\1\247\32\252\2\247\1\252\1\140\2\237\1\255\1\140"+
+ "\1\237\3\140\1\237\1\140\2\237\3\140\1\256\1\140"+
+ "\1\237\44\140\1\141\2\0\1\257\1\141\1\0\3\141"+
+ "\1\0\1\141\2\0\5\141\1\0\44\141\1\143\2\260"+
+ "\1\261\1\143\1\260\3\143\1\262\1\143\2\260\5\143"+
+ "\1\260\44\143\1\144\2\263\1\264\1\144\1\263\3\144"+
+ "\1\263\1\144\1\262\1\263\5\144\1\263\44\144\1\145"+
+ "\2\237\1\265\1\145\1\237\3\145\1\237\1\145\2\237"+
+ "\3\145\1\266\1\145\1\237\44\145\1\146\2\0\1\267"+
+ "\1\146\1\0\3\146\1\0\1\146\2\0\5\146\1\0"+
+ "\44\146\1\150\1\0\1\270\1\271\1\150\1\270\3\150"+
+ "\1\272\1\150\2\270\5\150\1\270\44\150\1\273\1\0"+
+ "\1\274\1\275\1\276\1\274\3\276\1\274\1\273\1\277"+
+ "\1\300\3\276\1\273\1\276\1\300\6\276\1\273\32\276"+
+ "\2\273\1\276\2\152\1\0\66\152\1\0\16\152\1\301"+
+ "\45\152\1\155\2\0\1\302\1\155\1\0\3\155\1\0"+
+ "\1\155\2\0\5\155\1\0\44\155\1\157\1\0\1\303"+
+ "\1\304\1\157\1\303\3\157\1\305\1\157\2\303\5\157"+
+ "\1\303\44\157\1\306\1\0\1\307\1\310\1\311\1\307"+
+ "\3\311\1\307\1\306\1\312\1\313\3\311\1\306\1\311"+
+ "\1\313\6\311\1\306\32\311\2\306\1\311\2\161\1\0"+
+ "\66\161\1\0\16\161\1\314\45\161\7\0\1\315\21\0"+
+ "\1\316\42\0\1\171\2\0\1\40\3\0\1\171\5\0"+
+ "\1\171\6\40\1\0\13\40\1\0\7\40\1\0\3\40"+
+ "\1\0\3\40\1\0\1\40\1\317\1\0\3\317\1\320"+
+ "\3\172\1\317\1\0\1\317\1\320\1\172\1\317\1\0"+
+ "\2\317\1\320\6\172\1\317\13\172\1\317\7\172\1\317"+
+ "\3\172\1\321\5\172\15\0\1\322\6\0\1\323\42\0"+
+ "\1\317\1\0\3\317\1\320\3\174\1\317\1\0\1\317"+
+ "\1\320\1\174\1\317\1\0\2\317\1\320\6\174\1\317"+
+ "\13\174\1\317\7\174\1\317\3\174\1\324\5\174\31\0"+
+ "\1\316\37\0\1\325\66\0\1\326\72\0\3\56\4\0"+
+ "\1\56\5\0\4\56\2\327\1\0\13\56\1\0\7\56"+
+ "\1\0\3\56\1\0\5\56\6\0\3\56\4\0\1\56"+
+ "\5\0\4\56\1\327\1\330\1\0\13\56\1\0\7\56"+
+ "\1\0\3\56\1\0\5\56\6\0\3\56\4\0\1\56"+
+ "\5\0\6\56\1\0\13\56\1\0\1\56\1\331\5\56"+
+ "\1\0\3\56\1\0\5\56\1\207\1\0\7\207\1\211"+
+ "\55\207\1\212\1\0\11\212\1\211\53\212\1\217\1\0"+
+ "\7\217\1\221\55\217\1\222\1\0\11\222\1\221\53\222"+
+ "\1\226\1\0\7\226\1\230\55\226\1\231\1\0\11\231"+
+ "\1\230\53\231\32\0\1\332\30\0\1\332\40\0\1\333"+
+ "\13\0\1\333\54\0\1\334\10\0\1\334\57\0\1\335"+
+ "\14\0\1\335\72\0\1\336\4\0\1\244\1\0\7\244"+
+ "\1\246\55\244\1\247\1\0\1\250\1\337\1\247\1\250"+
+ "\3\247\1\250\1\247\1\246\1\250\5\247\1\250\44\247"+
+ "\1\250\1\0\11\250\1\246\53\250\1\247\1\0\1\250"+
+ "\1\337\1\247\1\250\3\247\1\250\1\247\1\340\1\250"+
+ "\5\247\1\250\44\247\13\0\1\341\53\0\1\250\1\0"+
+ "\11\250\1\340\53\250\11\260\1\262\55\260\13\263\1\262"+
+ "\53\263\1\270\1\0\7\270\1\272\55\270\1\273\1\0"+
+ "\1\274\1\342\1\273\1\274\3\273\1\274\1\273\1\272"+
+ "\1\274\5\273\1\274\44\273\1\274\1\0\11\274\1\272"+
+ "\53\274\1\273\1\0\1\274\1\342\1\273\1\274\3\273"+
+ "\1\274\1\273\1\343\1\274\5\273\1\274\44\273\13\0"+
+ "\1\344\53\0\1\274\1\0\11\274\1\343\53\274\2\152"+
+ "\1\0\26\152\1\345\35\152\1\303\1\0\7\303\1\305"+
+ "\55\303\1\306\1\0\1\307\1\346\1\306\1\307\3\306"+
+ "\1\307\1\306\1\305\1\307\5\306\1\307\44\306\1\307"+
+ "\1\0\11\307\1\305\53\307\1\306\1\0\1\307\1\346"+
+ "\1\306\1\307\3\306\1\307\1\306\1\347\1\307\5\306"+
+ "\1\307\44\306\13\0\1\350\53\0\1\307\1\0\11\307"+
+ "\1\347\53\307\2\161\1\0\26\161\1\351\35\161\7\0"+
+ "\1\352\111\0\1\353\34\0\1\317\1\0\10\317\1\0"+
+ "\4\317\1\0\41\317\1\0\6\317\1\0\3\317\1\320"+
+ "\4\317\1\0\1\317\1\320\2\317\1\0\2\317\1\320"+
+ "\36\317\1\354\5\317\15\0\1\322\43\0\1\355\22\0"+
+ "\1\356\14\0\3\356\2\0\1\356\10\0\1\356\1\0"+
+ "\2\356\3\0\1\356\2\0\2\356\11\0\1\56\1\357"+
+ "\1\56\4\0\1\56\5\0\6\56\1\0\13\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\6\0\3\56\4\0"+
+ "\1\56\5\0\6\56\1\0\11\56\1\360\1\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\35\0\1\361\13\0"+
+ "\1\361\44\0\2\362\63\0\2\363\75\0\1\364\13\0"+
+ "\1\364\44\0\2\365\41\0\2\366\1\0\3\366\2\0"+
+ "\1\253\4\366\1\0\10\366\1\0\32\366\2\0\1\366"+
+ "\3\0\2\367\1\0\3\367\2\0\1\277\4\367\1\0"+
+ "\10\367\1\0\32\367\2\0\1\367\2\152\1\0\27\152"+
+ "\1\370\34\152\3\0\2\371\1\0\3\371\2\0\1\312"+
+ "\4\371\1\0\10\371\1\0\32\371\2\0\1\371\2\161"+
+ "\1\0\27\161\1\372\34\161\33\0\1\373\114\0\1\354"+
+ "\22\0\1\356\14\0\3\356\2\0\1\356\10\0\1\356"+
+ "\1\0\2\356\3\0\1\356\1\0\1\355\2\356\11\0"+
+ "\3\56\4\0\1\56\5\0\6\56\1\0\7\56\1\374"+
+ "\3\56\1\0\7\56\1\0\3\56\1\0\5\56\6\0"+
+ "\3\56\4\0\1\56\5\0\6\56\1\0\6\56\1\375"+
+ "\4\56\1\0\7\56\1\0\3\56\1\0\5\56\46\0"+
+ "\1\376\5\0\1\376\54\0\1\377\63\0\1\u0100\10\0"+
+ "\1\u0100\55\0\1\u0101\10\0\1\u0101\60\0\1\u0102\24\0"+
+ "\2\152\1\0\30\152\1\u0103\33\152\2\161\1\0\30\161"+
+ "\1\u0104\33\161\34\0\1\u0105\40\0\3\56\4\0\1\56"+
+ "\5\0\6\56\1\0\13\56\1\0\3\56\1\u0106\3\56"+
+ "\1\0\3\56\1\0\5\56\6\0\3\56\4\0\1\56"+
+ "\5\0\6\56\1\0\3\56\1\u0107\7\56\1\0\3\56"+
+ "\1\u0107\3\56\1\0\3\56\1\0\5\56\47\0\1\u0108"+
+ "\60\0\1\u0109\14\0\1\u0109\54\0\1\u010a\47\0\2\u010b"+
+ "\72\0\1\u010c\30\0\1\u010c\3\0\2\152\1\0\31\152"+
+ "\1\u010d\32\152\2\161\1\0\31\161\1\u010e\32\161\35\0"+
+ "\1\u010f\37\0\3\56\4\0\1\56\5\0\6\56\1\0"+
+ "\13\56\1\0\6\56\1\u0110\1\0\3\56\1\0\5\56"+
+ "\5\0\1\u0111\3\56\3\0\1\u0111\1\56\4\0\1\u0111"+
+ "\6\56\1\0\13\56\1\0\7\56\1\0\3\56\1\0"+
+ "\5\56\37\0\1\u0112\10\0\1\u0112\53\0\1\u0113\13\0"+
+ "\1\u0113\52\0\1\u0114\13\0\1\u0114\15\0\2\152\1\0"+
+ "\32\152\1\u0115\31\152\2\161\1\0\32\161\1\u0116\31\161"+
+ "\34\0\1\u0117\40\0\3\56\4\0\1\56\5\0\5\56"+
+ "\1\u0118\1\0\13\56\1\0\7\56\1\0\3\56\1\0"+
+ "\5\56\5\0\1\u0111\6\0\1\u0111\5\0\1\u0111\44\0"+
+ "\2\152\1\0\31\152\1\u0119\32\152\2\161\1\0\31\161"+
+ "\1\u011a\32\161\31\0\1\u011b\43\0\3\56\4\0\1\56"+
+ "\5\0\6\56\1\0\5\56\1\u011c\5\56\1\0\7\56"+
+ "\1\0\3\56\1\0\5\56\2\152\1\0\26\152\1\u011d"+
+ "\35\152\2\161\1\0\26\161\1\u011e\35\161\6\0\3\56"+
+ "\4\0\1\56\5\0\6\56\1\0\7\56\1\u011f\3\56"+
+ "\1\0\7\56\1\0\3\56\1\0\5\56\6\0\3\56"+
+ "\4\0\1\56\5\0\6\56\1\0\13\56\1\0\7\56"+
+ "\1\0\3\56\1\0\4\56\1\u0120\6\0\3\56\4\0"+
+ "\1\56\5\0\6\56\1\0\5\56\1\u0121\5\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\6\0\3\56\4\0"+
+ "\1\56\5\0\6\56\1\0\5\56\1\u0122\5\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\6\0\3\56\4\0"+
+ "\1\56\5\0\6\56\1\0\13\56\1\0\3\56\1\u0123"+
+ "\3\56\1\0\3\56\1\0\5\56";
/**
* The transition table of the DFA
@@ -441,7 +440,7 @@
/* error messages for the codes above */
final private static String YY_ERROR_MSG[] = {
- "Unkown internal scanner error", //$NON-NLS-1$
+ "Unknown internal scanner error", //$NON-NLS-1$
"Internal error: unknown state", //$NON-NLS-1$
"Error: could not match input", //$NON-NLS-1$
"Error: pushback value was too large" //$NON-NLS-1$
@@ -453,23 +452,23 @@
private final static byte YY_ATTRIBUTE[] = {
1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,
- 1, 1, 1, 9, 1, 9, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 9, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9,
- 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 9, 1,
- 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1,
- 1, 1, 1, 9, 9, 1, 9, 9, 1, 0, 1, 0, 1, 0, 0, 0,
- 9, 1, 1, 1, 9, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0,
- 0, 9, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 9, 1, 0, 0, 1, 1, 0, 0, 1, 0,
- 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 9, 1, 0, 0, 1, 1,
- 0, 1, 0, 0, 0, 9, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
- 1, 9, 0, 0, 9, 9, 9, 1, 1, 1, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 9, 0, 1, 9, 0, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0,
- 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 9, 9, 1, 1, 0,
- 1, 1, 9, 9, 9, 1, 1, 0, 1, 1, 1, 9, 1, 1, 1, 1,
- 1, 1, 1, 1
+ 1, 1, 1, 9, 1, 9, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 9, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1,
+ 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 9, 1, 1,
+ 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1,
+ 1, 1, 9, 9, 1, 9, 9, 1, 0, 1, 0, 1, 0, 0, 0, 9,
+ 1, 1, 1, 9, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 9, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9,
+ 0, 0, 0, 0, 0, 9, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0,
+ 0, 9, 0, 0, 0, 1, 0, 0, 0, 9, 1, 0, 0, 1, 1, 0,
+ 1, 0, 0, 0, 9, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1,
+ 9, 0, 0, 9, 9, 9, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1,
+ 0, 0, 1, 0, 1, 0, 1, 0, 1, 9, 0, 1, 9, 0, 1, 1,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0,
+ 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 9, 9, 1, 1, 0, 1,
+ 1, 9, 9, 9, 1, 1, 0, 1, 1, 1, 9, 1, 1, 1, 1, 1,
+ 1, 1, 1
};
/** the input device */
@@ -502,7 +501,7 @@
private int yy_endRead;
/** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ //private int yyline;
/** the number of characters up to the start of the matched text */
private int yychar;
@@ -521,6 +520,11 @@
/** yy_atEOF == true <=> the scanner has returned a value for EOF */
private boolean yy_atEOF;
+ // records the number of times we've set up new input to be parsed
+ private long fInputStamp = -1;
+ // records the last input iteration for which we reported an error
+ private long fErroredInputstamp = -1;
+
/** denotes if the user-EOF-code has already been executed */
private boolean yy_eof_done;
@@ -753,8 +757,9 @@
yybegin(exitState);
// If the ending occurs at the very beginning of what would have
// been a Block, resume scanning normally immediately
- if(yy_markedPos == yy_startRead)
+ if(yy_markedPos == yy_startRead) {
return primGetNextToken();
+ }
return searchContext;
}
/**
@@ -818,10 +823,10 @@
// store the next token
f_context = primGetNextToken();
if (f_context == XML_TAG_NAME) {
- if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
- fCurrentTagName = yytext();
- else
- fCurrentTagName = null;
+ if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
+ fCurrentTagName = yytext();
+ else
+ fCurrentTagName = null;
}
else if (f_context == XML_TAG_OPEN) {
fIsBlockingEnabled = true;
@@ -889,6 +894,8 @@
if (Debug.debugTokenizer) {
System.out.println("resetting tokenizer");//$NON-NLS-1$
}
+
+ fInputStamp++;
fOffset = newOffset;
/* the input device */
@@ -923,7 +930,7 @@
yy_endRead = 0;
/* number of newlines encountered up to the start of the matched text */
- yyline = 0;
+ //yyline = 0;
/* the number of characters up to the start of the matched text */
yychar = 0;
@@ -1005,7 +1012,7 @@
int [] trans = new int[11055];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 3734) {
+ while (i < 3722) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
value--;
@@ -1127,17 +1134,23 @@
/**
- * Reports an error that occured while scanning - from the SED JFlex skeleton
+ * Reports an error that occurred while scanning - method from the SSE custom JFlex skeleton
*
- * @param errorCode the code of the errormessage to display
+ * @param errorCode the code of the error message to display
*/
private void yy_ScanError(int errorCode) {
- try {
- Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);
- }
- catch (ArrayIndexOutOfBoundsException e) {
- Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
- }
+ if (fErroredInputstamp != fInputStamp) {
+ IllegalStateException e = new IllegalStateException("Instance:" + System.identityHashCode(this) + " Input:" + fInputStamp + " offset:" + (fOffset + yychar) + " state:" + yystate());
+ try {
+ Logger.logException(YY_ERROR_MSG[errorCode], e);
+ throw(e);
+ }
+ catch (ArrayIndexOutOfBoundsException e2) {
+ Logger.logException(YY_ERROR_MSG[YY_UNKNOWN_ERROR], e2);
+ }
+ fErroredInputstamp = fInputStamp;
+ }
+
// DO NOT EXIT the VM on an error
// System.exit(1);
}
@@ -1272,31 +1285,6 @@
yychar+= yylength();
- boolean yy_counted = false;
- for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
- yy_currentPos++) {
- switch (yy_buffer[yy_currentPos]) {
- case '\r':
- yyline++;
- yy_counted = true;
- break;
- case '\n':
- if (yy_counted)
- yy_counted = false;
- else {
- yyline++;
- }
- break;
- default:
- yy_counted = false;
- }
- }
-
- if (yy_counted) {
- if ( yy_advance() == '\n' ) yyline--;
- if ( !yy_atEOF ) yy_currentPos--;
- }
-
yy_action = -1;
yy_currentPos = yy_startRead = yy_markedPos;
@@ -1328,17 +1316,17 @@
switch (yy_action) {
- case 291:
+ case 290:
{
if(Debug.debugTokenizer)
dump("XSL processing instruction target");//$NON-NLS-1$
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 293: break;
- case 283:
+ case 292: break;
+ case 282:
+ case 284:
case 285:
- case 286:
{
if(Debug.debugTokenizer)
dump("\nCDATA start");//$NON-NLS-1$
@@ -1346,149 +1334,149 @@
yybegin(ST_CDATA_TEXT);
return XML_CDATA_OPEN;
}
- case 294: break;
- case 276:
+ case 293: break;
+ case 275:
{
if(Debug.debugTokenizer)
dump("element");//$NON-NLS-1$
yybegin(ST_XML_ELEMENT_DECLARATION);
return XML_ELEMENT_DECLARATION;
}
- case 295: break;
- case 275:
+ case 294: break;
+ case 274:
{
if(Debug.debugTokenizer)
dump("attlist");//$NON-NLS-1$
yybegin(ST_XML_ATTLIST_DECLARATION);
return XML_ATTLIST_DECLARATION;
}
- case 296: break;
- case 274:
+ case 295: break;
+ case 273:
{
if(Debug.debugTokenizer)
dump("doctype");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_DECLARATION);
return XML_DOCTYPE_DECLARATION;
}
- case 297: break;
- case 268:
+ case 296: break;
+ case 267:
{
if(Debug.debugTokenizer)
dump("doctype external id");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_ID_PUBLIC);
return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;
}
- case 298: break;
- case 267:
+ case 297: break;
+ case 266:
{
if(Debug.debugTokenizer)
dump("doctype external id");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;
}
- case 299: break;
- case 263:
- case 273:
+ case 298: break;
+ case 262:
+ case 272:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction target");//$NON-NLS-1$
yybegin(ST_DHTML_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 300: break;
- case 237:
+ case 299: break;
+ case 236:
{
if(Debug.debugTokenizer)
dump("\nCharRef");//$NON-NLS-1$
return XML_CHAR_REFERENCE;
}
- case 301: break;
- case 234:
+ case 300: break;
+ case 233:
{
if(Debug.debugTokenizer)
dump("\ncomment start");//$NON-NLS-1$
yybegin(ST_XML_COMMENT);
return XML_COMMENT_OPEN;
}
- case 302: break;
+ case 301: break;
+ case 214:
case 215:
- case 216:
{
if(Debug.debugTokenizer)
dump("XML processing instruction target");//$NON-NLS-1$
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 303: break;
- case 214:
+ case 302: break;
+ case 213:
{
if(Debug.debugTokenizer)
dump("comment end");//$NON-NLS-1$
yybegin(YYINITIAL);
return XML_COMMENT_CLOSE;
}
- case 304: break;
- case 213:
+ case 303: break;
+ case 212:
{
if(Debug.debugTokenizer)
dump("CDATA end");//$NON-NLS-1$
yybegin(fStateStack.pop());
return XML_CDATA_CLOSE;
}
- case 305: break;
- case 212:
+ case 304: break;
+ case 211:
{
if(Debug.debugTokenizer)
dump("\nPEReference");//$NON-NLS-1$
return XML_PE_REFERENCE;
}
- case 306: break;
- case 209:
+ case 305: break;
+ case 208:
{
if(Debug.debugTokenizer)
dump("\nEntityRef");//$NON-NLS-1$
return XML_ENTITY_REFERENCE;
}
- case 307: break;
- case 160:
- case 174:
- case 182:
+ case 306: break;
+ case 159:
+ case 173:
+ case 181:
{
return XML_DOCTYPE_INTERNAL_SUBSET;
}
- case 308: break;
- case 148:
+ case 307: break;
+ case 147:
{
yybegin(YYINITIAL);
if(Debug.debugTokenizer)
dump("empty tag close");//$NON-NLS-1$
return XML_EMPTY_TAG_CLOSE;
}
- case 309: break;
- case 133:
+ case 308: break;
+ case 132:
{
if(Debug.debugTokenizer)
dump("XML processing instruction end");//$NON-NLS-1$
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 310: break;
- case 132:
+ case 309: break;
+ case 131:
{
// ended with nothing inside
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 311: break;
- case 128:
+ case 310: break;
+ case 127:
{
if(Debug.debugTokenizer)
dump("processing instruction end");//$NON-NLS-1$
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 312: break;
- case 120:
+ case 311: break;
+ case 119:
{
fStateStack.push(yystate());
if(Debug.debugTokenizer)
@@ -1496,120 +1484,113 @@
yybegin(ST_XML_DECLARATION);
return XML_DECLARATION_OPEN;
}
- case 313: break;
- case 119:
+ case 312: break;
+ case 64:
{
if(Debug.debugTokenizer)
- dump("\nprocessing instruction start");//$NON-NLS-1$
- yybegin(ST_PI);
- return XML_PI_OPEN;
+ dump("DHTML processing instruction attribute name");//$NON-NLS-1$
+ yybegin(ST_DHTML_EQUALS);
+ return XML_TAG_ATTRIBUTE_NAME;
}
- case 314: break;
- case 63:
+ case 313: break;
+ case 62:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction end");//$NON-NLS-1$
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 315: break;
- case 57:
+ case 314: break;
+ case 56:
+ case 58:
case 59:
case 60:
- case 61:
- case 137:
+ case 136:
{
if(Debug.debugTokenizer)
dump("XML processing instruction attribute value");//$NON-NLS-1$
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 316: break;
- case 56:
+ case 315: break;
+ case 55:
{
if(Debug.debugTokenizer)
dump("XML processing instruction '='");//$NON-NLS-1$
yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 317: break;
- case 55:
+ case 316: break;
+ case 54:
{
if(Debug.debugTokenizer)
dump("XML processing instruction attribute name");//$NON-NLS-1$
yybegin(ST_XML_PI_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 318: break;
+ case 317: break;
+ case 50:
case 51:
case 52:
- case 53:
{
// block scan until close is found
return doScan("?>", false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);
}
- case 319: break;
- case 50:
+ case 318: break;
+ case 49:
{
yybegin(ST_PI_CONTENT);
return WHITE_SPACE;
}
- case 320: break;
+ case 319: break;
+ case 45:
case 46:
case 47:
case 48:
- case 49:
+ case 128:
case 129:
case 130:
- case 131:
- case 217:
+ case 216:
+ case 238:
case 239:
- case 240:
+ case 251:
case 252:
- case 253:
- case 262:
- case 272:
- case 280:
- case 284:
+ case 261:
+ case 271:
+ case 279:
+ case 283:
+ case 286:
case 287:
case 288:
case 289:
- case 290:
{
if(Debug.debugTokenizer)
dump("processing instruction target");//$NON-NLS-1$
yybegin(ST_PI_WS);
return XML_TAG_NAME;
}
- case 321: break;
+ case 320: break;
+ case 40:
case 41:
- case 42:
{
if(Debug.debugTokenizer)
dump("comment content");//$NON-NLS-1$
return scanXMLCommentText();
}
- case 322: break;
- case 40:
- {
- if(Debug.debugTokenizer)
- dump("LINE FEED");//$NON-NLS-1$
- return WHITE_SPACE;
- }
- case 323: break;
+ case 321: break;
case 0:
case 31:
- case 122:
- case 124:
+ case 121:
+ case 123:
+ case 206:
case 207:
- case 208:
- case 236:
+ case 235:
{
if(Debug.debugTokenizer)
dump("\nXML content");//$NON-NLS-1$
return XML_CONTENT;
}
- case 324: break;
+ case 322: break;
case 5:
case 8:
case 9:
@@ -1629,95 +1610,95 @@
case 25:
case 26:
case 28:
- case 45:
+ case 44:
{
if(Debug.debugTokenizer)
dump("white space");//$NON-NLS-1$
return WHITE_SPACE;
}
- case 325: break;
+ case 323: break;
case 16:
- case 71:
+ case 70:
{
if(Debug.debugTokenizer)
dump("inappropriate tag name");//$NON-NLS-1$
yybegin(YYINITIAL);
return XML_CONTENT;
}
- case 326: break;
+ case 324: break;
case 27:
+ case 105:
case 106:
- case 107:
- case 193:
- case 229:
- case 248:
+ case 192:
+ case 228:
+ case 247:
+ case 258:
+ case 268:
+ case 276:
+ case 280:
+ {
+ if(Debug.debugTokenizer)
+ dump("elementdecl contentspec");//$NON-NLS-1$
+ return XML_ELEMENT_DECL_CONTENT;
+ }
+ case 325: break;
+ case 29:
+ case 112:
+ case 113:
+ case 203:
+ case 232:
+ case 249:
case 259:
case 269:
case 277:
case 281:
{
if(Debug.debugTokenizer)
- dump("elementdecl contentspec");//$NON-NLS-1$
- return XML_ELEMENT_DECL_CONTENT;
- }
- case 327: break;
- case 29:
- case 113:
- case 114:
- case 204:
- case 233:
- case 250:
- case 260:
- case 270:
- case 278:
- case 282:
- {
- if(Debug.debugTokenizer)
dump("attlist contentspec");//$NON-NLS-1$
return XML_ATTLIST_DECL_CONTENT;
}
- case 328: break;
+ case 326: break;
case 32:
- case 72:
- case 83:
+ case 71:
+ case 82:
{
if(Debug.debugTokenizer)
dump("\nstart tag open");//$NON-NLS-1$
yybegin(ST_XML_TAG_NAME);
return XML_TAG_OPEN;
}
- case 329: break;
+ case 327: break;
case 33:
case 34:
case 37:
case 38:
case 39:
+ case 42:
case 43:
- case 44:
- case 54:
- case 58:
- case 62:
- case 64:
- case 68:
- case 74:
- case 80:
+ case 53:
+ case 57:
+ case 61:
+ case 63:
+ case 67:
+ case 73:
+ case 79:
+ case 84:
case 85:
case 86:
case 87:
- case 88:
+ case 89:
case 90:
- case 91:
- case 93:
- case 98:
- case 103:
- case 110:
+ case 92:
+ case 97:
+ case 102:
+ case 109:
{
if (Debug.debugTokenizer)
System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$
yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
return UNDEFINED;
}
- case 330: break;
+ case 328: break;
case 35:
case 36:
{
@@ -1728,35 +1709,27 @@
yybegin(ST_CDATA_END);
return blockContext;
}
- case 331: break;
+ case 329: break;
case 65:
{
if(Debug.debugTokenizer)
- dump("DHTML processing instruction attribute name");//$NON-NLS-1$
- yybegin(ST_DHTML_EQUALS);
- return XML_TAG_ATTRIBUTE_NAME;
- }
- case 332: break;
- case 66:
- {
- if(Debug.debugTokenizer)
dump("DHTML processing instruction '='");//$NON-NLS-1$
yybegin(ST_DHTML_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 333: break;
- case 67:
+ case 330: break;
+ case 66:
+ case 68:
case 69:
- case 70:
- case 145:
+ case 144:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction attribute value");//$NON-NLS-1$
yybegin(ST_DHTML_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 334: break;
- case 73:
+ case 331: break;
+ case 72:
{
if(Debug.debugTokenizer)
dump("tag close");//$NON-NLS-1$
@@ -1767,44 +1740,44 @@
yybegin(YYINITIAL);
return XML_TAG_CLOSE;
}
- case 335: break;
+ case 332: break;
+ case 74:
case 75:
- case 76:
{
if(Debug.debugTokenizer)
dump("tag name");//$NON-NLS-1$
yybegin(ST_XML_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 336: break;
- case 77:
+ case 333: break;
+ case 76:
{
if(Debug.debugTokenizer)
dump("attr name");//$NON-NLS-1$
yybegin(ST_XML_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 337: break;
- case 78:
+ case 334: break;
+ case 77:
{
if(Debug.debugTokenizer)
dump("equals");//$NON-NLS-1$
yybegin(ST_XML_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 338: break;
- case 79:
+ case 335: break;
+ case 78:
+ case 80:
case 81:
- case 82:
- case 152:
+ case 151:
{
if(Debug.debugTokenizer)
dump("attr value");//$NON-NLS-1$
yybegin(ST_XML_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 339: break;
- case 84:
+ case 336: break;
+ case 83:
{
if(Debug.debugTokenizer)
dump("declaration end");//$NON-NLS-1$
@@ -1815,59 +1788,59 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 340: break;
- case 89:
+ case 337: break;
+ case 88:
{
if(Debug.debugTokenizer)
dump("doctype type");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);
return XML_DOCTYPE_NAME;
}
- case 341: break;
- case 92:
+ case 338: break;
+ case 91:
+ case 93:
case 94:
case 95:
- case 96:
+ case 165:
case 166:
- case 167:
+ case 169:
case 170:
- case 171:
- case 224:
+ case 223:
{
if(Debug.debugTokenizer)
dump("doctype public reference");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
return XML_DOCTYPE_EXTERNAL_ID_PUBREF;
}
- case 342: break;
- case 97:
+ case 339: break;
+ case 96:
+ case 98:
case 99:
case 100:
- case 101:
- case 178:
+ case 177:
{
if(Debug.debugTokenizer)
dump("doctype system reference");//$NON-NLS-1$
yybegin(ST_XML_DECLARATION_CLOSE);
return XML_DOCTYPE_EXTERNAL_ID_SYSREF;
}
- case 343: break;
- case 102:
+ case 340: break;
+ case 101:
+ case 103:
case 104:
- case 105:
+ case 185:
case 186:
- case 187:
+ case 189:
case 190:
- case 191:
- case 227:
+ case 226:
{
if(Debug.debugTokenizer)
dump("elementdecl name");//$NON-NLS-1$
yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);
return XML_ELEMENT_DECL_NAME;
}
- case 344: break;
- case 108:
+ case 341: break;
+ case 107:
{
if(Debug.debugTokenizer)
dump("elementdecl close");//$NON-NLS-1$
@@ -1878,23 +1851,23 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 345: break;
- case 109:
+ case 342: break;
+ case 108:
+ case 110:
case 111:
- case 112:
+ case 196:
case 197:
- case 198:
+ case 200:
case 201:
- case 202:
- case 231:
+ case 230:
{
if(Debug.debugTokenizer)
dump("attlist name");//$NON-NLS-1$
yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);
return XML_ATTLIST_DECL_NAME;
}
- case 346: break;
- case 115:
+ case 343: break;
+ case 114:
{
if(Debug.debugTokenizer)
dump("attlist close");//$NON-NLS-1$
@@ -1905,21 +1878,29 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 347: break;
- case 118:
+ case 344: break;
+ case 117:
{
if(Debug.debugTokenizer)
dump("\nend tag open");//$NON-NLS-1$
yybegin(ST_XML_TAG_NAME);
return XML_END_TAG_OPEN;
}
- case 348: break;
+ case 345: break;
+ case 118:
+ {
+ if(Debug.debugTokenizer)
+ dump("\nprocessing instruction start");//$NON-NLS-1$
+ yybegin(ST_PI);
+ return XML_PI_OPEN;
+ }
+ case 346: break;
+ case 115:
case 116:
- case 117:
{
return doBlockTagScan();
}
- case 349: break;
+ case 347: break;
default:
if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
yy_atEOF = true;
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex
index f4ef7b0..602b78f 100644
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex
+++ b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
+ * Copyright (c) 2004, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -257,8 +257,9 @@
yybegin(exitState);
// If the ending occurs at the very beginning of what would have
// been a Block, resume scanning normally immediately
- if(yy_markedPos == yy_startRead)
+ if(yy_markedPos == yy_startRead) {
return primGetNextToken();
+ }
return searchContext;
}
/**
@@ -322,10 +323,10 @@
// store the next token
f_context = primGetNextToken();
if (f_context == XML_TAG_NAME) {
- if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
- fCurrentTagName = yytext();
- else
- fCurrentTagName = null;
+ if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
+ fCurrentTagName = yytext();
+ else
+ fCurrentTagName = null;
}
else if (f_context == XML_TAG_OPEN) {
fIsBlockingEnabled = true;
@@ -393,6 +394,8 @@
if (Debug.debugTokenizer) {
System.out.println("resetting tokenizer");//$NON-NLS-1$
}
+
+ fInputStamp++;
fOffset = newOffset;
/* the input device */
@@ -427,7 +430,7 @@
yy_endRead = 0;
/* number of newlines encountered up to the start of the matched text */
- yyline = 0;
+ //yyline = 0;
/* the number of characters up to the start of the matched text */
yychar = 0;
@@ -489,7 +492,6 @@
%function primGetNextToken
%type String
%char
-%line
%unicode
%pack
@@ -1298,7 +1300,7 @@
return doBlockTagScan();
}
-. {
+.|\r|\n {
if (Debug.debugTokenizer)
System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$
yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexj.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexj.cmd
index e010e35..a62363e 100644
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexj.cmd
+++ b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexj.cmd
@@ -1,3 +1,3 @@
@echo off
-PATH=%PATH%;d:\jdk6_01\bin
+PATH=%PATH%;d:\jdk6_11\bin
java -Xmx470000000 -cp d:\JFlex\1.2.2\lib\JFlex.jar;. JFlex.Main JSPTokenizer.jflex -skel skeleton.sse && rm -f JSPTokenizer.java~ JSPTokenizer~ && copy JSPTokenizer.java ..\..\..\..\..\org.eclipse.jst.jsp.core\src\org\eclipse\jst\jsp\core\internal\parser\\internal\JSPTokenizer.java
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexx.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexx.cmd
index fcb1f81..a9be10f 100644
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexx.cmd
+++ b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexx.cmd
@@ -1,3 +1,3 @@
@echo off
-PATH=%PATH%;c:\jdk1.4.2_08\bin
+PATH=%PATH%;d:\jdk6_11\bin
java -Xmx470000000 -cp d:\JFlex\1.2.2\lib\JFlex.jar;. JFlex.Main XMLTokenizer.jflex -skel skeleton.sse && rm -f XMLTokenizer.java~ XMLTokenizer~ && copy XMLTokenizer.java ..\..\..\..\..\org.eclipse.wst.xml.core\src\org\eclipse\wst\xml\core\internal\parser\XMLTokenizer.java
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/skeleton.sse b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/skeleton.sse
index 92b7634..05e4245 100644
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/skeleton.sse
+++ b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/skeleton.sse
@@ -13,7 +13,7 @@
/* error messages for the codes above */
final private static String YY_ERROR_MSG[] = {
- "Unkown internal scanner error", //$NON-NLS-1$
+ "Unknown internal scanner error", //$NON-NLS-1$
"Internal error: unknown state", //$NON-NLS-1$
"Error: could not match input", //$NON-NLS-1$
"Error: pushback value was too large" //$NON-NLS-1$
@@ -50,7 +50,7 @@
private int yy_endRead;
/** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ //private int yyline;
/** the number of characters up to the start of the matched text */
private int yychar;
@@ -69,6 +69,11 @@
/** yy_atEOF == true <=> the scanner has returned a value for EOF */
private boolean yy_atEOF;
+ // records the number of times we've set up new input to be parsed
+ private long fInputStamp = -1;
+ // records the last input iteration for which we reported an error
+ private long fErroredInputstamp = -1;
+
--- user class code
/**
@@ -174,17 +179,23 @@
/**
- * Reports an error that occured while scanning - from the SED JFlex skeleton
+ * Reports an error that occurred while scanning - method from the SSE custom JFlex skeleton
*
- * @param errorCode the code of the errormessage to display
+ * @param errorCode the code of the error message to display
*/
private void yy_ScanError(int errorCode) {
- try {
- Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);
- }
- catch (ArrayIndexOutOfBoundsException e) {
- Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
- }
+ if (fErroredInputstamp != fInputStamp) {
+ IllegalStateException e = new IllegalStateException("Instance:" + System.identityHashCode(this) + " Input:" + fInputStamp + " offset:" + (fOffset + yychar) + " state:" + yystate());
+ try {
+ Logger.logException(YY_ERROR_MSG[errorCode], e);
+ throw(e);
+ }
+ catch (ArrayIndexOutOfBoundsException e2) {
+ Logger.logException(YY_ERROR_MSG[YY_UNKNOWN_ERROR], e2);
+ }
+ fErroredInputstamp = fInputStamp;
+ }
+
// DO NOT EXIT the VM on an error
// System.exit(1);
}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java
index b4607a2..b236355 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java
@@ -1,7 +1,7 @@
-/* The following code was generated by JFlex 1.2.2 on 10/17/07 4:27 AM */
+/* The following code was generated by JFlex 1.2.2 on 5/6/09 2:12 PM */
/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
+ * Copyright (c) 2004, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -32,8 +32,8 @@
/**
* This class is a scanner generated by
* <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 10/17/07 4:27 AM from the specification file
- * <tt>file:/D:/eclipse.wtp/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex</tt>
+ * on 5/6/09 2:12 PM from the specification file
+ * <tt>file:/E:/wtp-3.0/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex</tt>
*/
public class XMLTokenizer implements BlockTokenizer, DOMRegionContext {
@@ -160,32 +160,32 @@
550, 605, 660, 715, 770, 825, 880, 935, 990, 1045,
1100, 1155, 1210, 1265, 1320, 1375, 1430, 1485, 1540, 1595,
1650, 1705, 1760, 1815, 1870, 1925, 1980, 1925, 1980, 2035,
- 1925, 1925, 1980, 2090, 2145, 2200, 2255, 2310, 2365, 2420,
- 2475, 1925, 1980, 2530, 2585, 2640, 1925, 2695, 2695, 2750,
- 2805, 2860, 2530, 1925, 2915, 2970, 1925, 3025, 3080, 3135,
- 3190, 3245, 3300, 1925, 3355, 3410, 3465, 3520, 1925, 3575,
- 3630, 3685, 3740, 3795, 1925, 3850, 3905, 3960, 4015, 4070,
- 4125, 4180, 4235, 4235, 4290, 4345, 4400, 4455, 4455, 4510,
- 4565, 4620, 4675, 4675, 4730, 4785, 4840, 4895, 1925, 4950,
- 4950, 5005, 5060, 5115, 5170, 1925, 1925, 1980, 1925, 1925,
- 5225, 5280, 5335, 5390, 5445, 5500, 5555, 5610, 1925, 5665,
- 5720, 5775, 1925, 1925, 2695, 5830, 2805, 1925, 5885, 2860,
- 2915, 3025, 3080, 5940, 3135, 1925, 5995, 3190, 1925, 3575,
- 6050, 3685, 1925, 6105, 3740, 5225, 6160, 6215, 6270, 4015,
- 1925, 6325, 6380, 4235, 6435, 4290, 1925, 6490, 6545, 6600,
- 6600, 6655, 6710, 4400, 4235, 4455, 6765, 4510, 1925, 6820,
- 4565, 4620, 4455, 4675, 6875, 4730, 1925, 6930, 6985, 7040,
- 7040, 7095, 7150, 7205, 4950, 7260, 5005, 1925, 7315, 7370,
- 7425, 7425, 7480, 7535, 7590, 7645, 7700, 7755, 7810, 1925,
- 7865, 7920, 1925, 1925, 1925, 2255, 7975, 8030, 8085, 8140,
- 8195, 8250, 8305, 6490, 8360, 8360, 6930, 8415, 8415, 8470,
- 7315, 8525, 8525, 8580, 1925, 8635, 8690, 1925, 8745, 8800,
- 8855, 8910, 8965, 9020, 9075, 9130, 6655, 7095, 9185, 7480,
- 9240, 9295, 9350, 9405, 9460, 9515, 9570, 9625, 9680, 9735,
- 9790, 9845, 9900, 9955, 10010, 10065, 10120, 1925, 1925, 10175,
- 10230, 10285, 10340, 10395, 1925, 1925, 1925, 10450, 10505, 10560,
- 10615, 10670, 10725, 1925, 10780, 4840, 5115, 10835, 10890, 10945,
- 11000, 2255
+ 1925, 1980, 2090, 2145, 2200, 2255, 2310, 2365, 2420, 2475,
+ 1925, 1980, 2530, 2585, 2640, 1925, 2695, 2695, 2750, 2805,
+ 2860, 2530, 1925, 2915, 2970, 1925, 3025, 3080, 3135, 3190,
+ 3245, 3300, 1925, 3355, 3410, 3465, 3520, 1925, 3575, 3630,
+ 3685, 3740, 3795, 1925, 3850, 3905, 3960, 4015, 4070, 4125,
+ 4180, 4235, 4235, 4290, 4345, 4400, 4455, 4455, 4510, 4565,
+ 4620, 4675, 4675, 4730, 4785, 4840, 4895, 1925, 4950, 4950,
+ 5005, 5060, 5115, 5170, 1925, 1925, 1980, 1925, 1925, 5225,
+ 5280, 5335, 5390, 5445, 5500, 5555, 5610, 1925, 5665, 5720,
+ 5775, 1925, 1925, 2695, 5830, 2805, 1925, 5885, 2860, 2915,
+ 3025, 3080, 5940, 3135, 1925, 5995, 3190, 1925, 3575, 6050,
+ 3685, 1925, 6105, 3740, 5225, 6160, 6215, 6270, 4015, 1925,
+ 6325, 6380, 4235, 6435, 4290, 1925, 6490, 6545, 6600, 6600,
+ 6655, 6710, 4400, 4235, 4455, 6765, 4510, 1925, 6820, 4565,
+ 4620, 4455, 4675, 6875, 4730, 1925, 6930, 6985, 7040, 7040,
+ 7095, 7150, 7205, 4950, 7260, 5005, 1925, 7315, 7370, 7425,
+ 7425, 7480, 7535, 7590, 7645, 7700, 7755, 7810, 1925, 7865,
+ 7920, 1925, 1925, 1925, 2255, 7975, 8030, 8085, 8140, 8195,
+ 8250, 8305, 6490, 8360, 8360, 6930, 8415, 8415, 8470, 7315,
+ 8525, 8525, 8580, 1925, 8635, 8690, 1925, 8745, 8800, 8855,
+ 8910, 8965, 9020, 9075, 9130, 6655, 7095, 9185, 7480, 9240,
+ 9295, 9350, 9405, 9460, 9515, 9570, 9625, 9680, 9735, 9790,
+ 9845, 9900, 9955, 10010, 10065, 10120, 1925, 1925, 10175, 10230,
+ 10285, 10340, 10395, 1925, 1925, 1925, 10450, 10505, 10560, 10615,
+ 10670, 10725, 1925, 10780, 4840, 5115, 10835, 10890, 10945, 11000,
+ 2255
};
/**
@@ -193,239 +193,238 @@
*/
final private static String yy_packed =
"\1\40\1\41\10\40\1\42\4\40\1\43\47\40\1\44"+
- "\1\45\65\44\1\46\1\47\16\46\1\50\1\46\1\51"+
- "\44\46\1\52\1\53\65\52\1\46\1\47\5\46\1\54"+
- "\12\46\1\51\45\46\1\47\2\46\1\55\1\56\2\46"+
- "\1\57\3\46\1\56\5\46\1\56\1\60\1\61\4\57"+
- "\1\46\10\57\1\62\2\57\1\46\7\57\1\46\3\57"+
- "\1\46\3\57\1\46\1\57\1\46\1\47\2\46\1\55"+
- "\1\63\6\46\1\63\5\46\1\63\44\46\1\64\1\65"+
- "\2\64\1\66\15\64\1\51\44\64\1\46\1\47\2\46"+
- "\1\67\1\56\2\46\1\70\3\46\1\56\5\46\1\56"+
- "\6\70\1\46\13\70\1\46\7\70\1\46\3\70\1\46"+
- "\3\70\1\46\1\70\1\46\1\47\2\46\1\67\1\56"+
- "\2\46\1\70\3\46\1\56\5\46\1\56\6\70\1\46"+
- "\13\70\1\71\7\70\1\46\3\70\1\46\3\70\1\46"+
- "\1\70\1\72\1\47\1\46\1\73\1\74\1\56\3\72"+
- "\1\75\1\72\1\76\1\56\5\72\1\56\44\72\1\46"+
- "\1\47\2\46\1\77\15\46\1\51\45\46\1\47\1\100"+
- "\1\101\1\46\1\56\2\46\1\102\3\46\1\56\5\46"+
- "\1\56\6\102\1\46\13\102\1\46\7\102\1\46\3\102"+
- "\1\46\3\102\1\46\1\102\1\46\1\47\1\100\1\101"+
- "\1\46\1\56\2\46\1\102\3\46\1\56\5\46\1\56"+
- "\6\102\1\46\13\102\1\103\7\102\1\46\3\102\1\46"+
- "\3\102\1\46\1\102\1\104\1\47\1\100\1\105\1\104"+
- "\1\56\3\104\1\106\1\104\1\107\1\56\5\104\1\56"+
- "\44\104\1\46\1\47\3\46\1\56\6\46\1\56\5\46"+
- "\1\56\44\46\1\110\1\111\1\112\1\113\4\110\1\114"+
- "\12\110\6\115\1\110\13\115\1\110\7\115\1\110\3\115"+
- "\1\110\3\115\1\110\1\115\1\46\1\111\1\112\1\113"+
- "\1\46\1\56\2\46\1\116\3\46\1\56\5\46\1\56"+
- "\6\116\1\46\13\116\1\46\7\116\1\46\3\116\1\46"+
- "\3\116\1\46\1\116\1\46\1\111\1\112\1\113\1\46"+
- "\1\56\2\46\1\116\3\46\1\56\5\46\1\56\6\116"+
- "\1\46\13\116\1\117\7\116\1\46\3\116\1\46\3\116"+
- "\1\46\1\116\1\120\1\111\1\112\1\121\1\120\1\56"+
- "\3\120\1\122\1\120\1\123\1\56\5\120\1\56\44\120"+
- "\1\46\1\124\1\125\2\46\1\56\6\46\1\56\5\46"+
- "\1\56\10\46\1\126\1\127\2\46\1\130\10\46\1\130"+
- "\1\46\1\127\1\126\14\46\1\47\1\125\2\46\1\56"+
- "\6\46\1\56\5\46\1\56\6\46\1\131\36\46\1\47"+
- "\1\125\2\46\1\56\2\46\1\132\3\46\1\56\5\46"+
- "\1\56\6\132\1\131\13\132\1\46\7\132\1\46\3\132"+
- "\1\46\3\132\1\46\1\132\1\46\1\47\1\125\2\46"+
- "\1\56\6\46\1\56\5\46\1\56\6\46\1\131\7\46"+
- "\1\133\5\46\1\134\6\46\1\133\10\46\1\135\1\47"+
- "\1\125\1\136\1\135\1\56\3\135\1\137\1\135\1\140"+
- "\1\56\5\135\1\56\6\135\1\141\35\135\1\142\1\47"+
- "\1\125\1\143\1\142\1\56\3\142\1\144\1\142\1\145"+
- "\1\56\5\142\1\56\6\142\1\146\35\142\1\147\1\47"+
- "\1\125\1\150\1\147\1\56\3\147\1\151\1\147\1\152"+
- "\1\56\5\147\1\56\44\147\1\153\1\154\1\155\64\153"+
- "\1\156\1\47\1\125\1\157\1\156\1\56\3\156\1\160"+
- "\1\156\1\161\1\56\5\156\1\56\44\156\1\162\1\163"+
- "\1\164\64\162\1\165\1\166\65\165\1\40\1\0\10\40"+
- "\1\0\4\40\1\0\47\40\3\0\1\167\1\170\14\0"+
- "\1\171\52\0\1\172\2\0\1\173\3\0\1\172\5\0"+
- "\1\172\6\173\1\0\13\173\1\0\7\173\1\174\3\173"+
- "\1\0\3\173\1\0\1\173\5\0\1\172\2\0\1\175"+
- "\3\0\1\172\5\0\1\172\6\175\1\0\13\175\1\0"+
- "\7\175\1\0\3\175\1\0\3\175\1\0\1\175\110\0"+
- "\1\176\65\0\1\177\55\0\1\200\61\0\1\201\71\0"+
- "\1\56\6\0\1\56\5\0\1\56\52\0\3\57\4\0"+
- "\1\57\5\0\6\57\1\0\13\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\6\0\3\57\4\0\1\57\5\0"+
- "\2\57\2\202\2\57\1\0\13\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\6\0\3\57\4\0\1\57\5\0"+
- "\2\57\1\202\1\203\2\57\1\0\13\57\1\0\7\57"+
- "\1\0\3\57\1\0\5\57\6\0\3\57\4\0\1\57"+
- "\5\0\2\57\2\204\2\57\1\0\13\57\1\0\7\57"+
- "\1\0\3\57\1\0\5\57\5\0\1\63\6\0\1\63"+
- "\5\0\1\63\46\0\1\205\66\0\1\206\72\0\3\70"+
- "\4\0\1\70\5\0\6\70\1\0\13\70\1\0\7\70"+
- "\1\0\3\70\1\0\5\70\1\72\2\0\1\207\1\72"+
- "\1\0\3\72\1\0\1\72\2\0\5\72\1\0\45\72"+
- "\1\0\1\206\1\207\1\72\1\0\3\72\1\0\1\72"+
- "\2\0\5\72\1\0\44\72\1\75\1\0\1\210\1\211"+
- "\1\75\1\210\3\75\1\212\1\75\2\210\5\75\1\210"+
- "\44\75\1\76\1\0\1\213\1\214\1\76\1\213\3\76"+
- "\1\213\1\76\1\212\1\213\5\76\1\213\44\76\2\0"+
- "\1\100\1\215\71\0\3\102\4\0\1\102\5\0\6\102"+
- "\1\0\13\102\1\0\7\102\1\0\3\102\1\0\5\102"+
- "\1\104\2\0\1\216\1\104\1\0\3\104\1\0\1\104"+
- "\2\0\5\104\1\0\45\104\1\0\1\100\1\217\1\104"+
- "\1\0\3\104\1\0\1\104\2\0\5\104\1\0\44\104"+
- "\1\106\1\0\1\220\1\221\1\106\1\220\3\106\1\222"+
- "\1\106\2\220\5\106\1\220\44\106\1\107\1\0\1\223"+
- "\1\224\1\107\1\223\3\107\1\223\1\107\1\222\1\223"+
- "\5\107\1\223\44\107\1\110\3\0\17\110\6\0\1\110"+
- "\13\0\1\110\7\0\1\110\3\0\1\110\3\0\1\110"+
- "\4\0\1\167\15\0\1\171\47\0\1\225\64\0\1\110"+
- "\3\0\2\110\3\114\4\110\1\114\5\110\6\115\1\110"+
- "\13\115\1\110\7\115\1\110\3\115\1\110\3\115\1\114"+
- "\1\115\6\0\3\115\4\0\1\115\5\0\6\115\1\0"+
- "\13\115\1\0\7\115\1\0\3\115\1\0\5\115\6\0"+
- "\3\116\4\0\1\116\5\0\6\116\1\0\13\116\1\0"+
- "\7\116\1\0\3\116\1\0\5\116\1\120\2\0\1\226"+
- "\1\120\1\0\3\120\1\0\1\120\2\0\5\120\1\0"+
- "\45\120\1\0\1\225\1\226\1\120\1\0\3\120\1\0"+
- "\1\120\2\0\5\120\1\0\44\120\1\122\1\0\1\227"+
- "\1\230\1\122\1\227\3\122\1\231\1\122\2\227\5\122"+
- "\1\227\44\122\1\123\1\0\1\232\1\233\1\123\1\232"+
- "\3\123\1\232\1\123\1\231\1\232\5\123\1\232\44\123"+
- "\3\0\1\167\15\0\1\234\110\0\1\235\60\0\1\236"+
- "\13\0\1\236\44\0\2\237\36\0\20\240\1\241\46\240"+
- "\6\0\3\132\4\0\1\132\5\0\6\132\1\0\13\132"+
- "\1\0\7\132\1\0\3\132\1\0\5\132\46\0\1\242"+
- "\5\0\1\242\72\0\1\243\6\0\1\135\2\0\1\244"+
- "\1\135\1\0\3\135\1\0\1\135\2\0\5\135\1\0"+
- "\44\135\1\137\1\0\1\245\1\246\1\137\1\245\3\137"+
- "\1\247\1\137\2\245\5\137\1\245\44\137\1\250\1\0"+
- "\1\251\1\252\1\253\1\251\3\253\1\251\1\250\1\254"+
- "\1\255\3\253\1\250\1\253\1\255\6\253\1\250\32\253"+
- "\2\250\1\253\1\141\2\240\1\256\1\141\1\240\3\141"+
- "\1\240\1\141\2\240\3\141\1\257\1\141\1\240\44\141"+
- "\1\142\2\0\1\260\1\142\1\0\3\142\1\0\1\142"+
- "\2\0\5\142\1\0\44\142\1\144\2\261\1\262\1\144"+
- "\1\261\3\144\1\263\1\144\2\261\5\144\1\261\44\144"+
- "\1\145\2\264\1\265\1\145\1\264\3\145\1\264\1\145"+
- "\1\263\1\264\5\145\1\264\44\145\1\146\2\240\1\266"+
- "\1\146\1\240\3\146\1\240\1\146\2\240\3\146\1\267"+
- "\1\146\1\240\44\146\1\147\2\0\1\270\1\147\1\0"+
- "\3\147\1\0\1\147\2\0\5\147\1\0\44\147\1\151"+
- "\1\0\1\271\1\272\1\151\1\271\3\151\1\273\1\151"+
- "\2\271\5\151\1\271\44\151\1\274\1\0\1\275\1\276"+
- "\1\277\1\275\3\277\1\275\1\274\1\300\1\301\3\277"+
- "\1\274\1\277\1\301\6\277\1\274\32\277\2\274\1\277"+
- "\2\153\1\0\66\153\1\0\16\153\1\302\45\153\1\156"+
- "\2\0\1\303\1\156\1\0\3\156\1\0\1\156\2\0"+
- "\5\156\1\0\44\156\1\160\1\0\1\304\1\305\1\160"+
- "\1\304\3\160\1\306\1\160\2\304\5\160\1\304\44\160"+
- "\1\307\1\0\1\310\1\311\1\312\1\310\3\312\1\310"+
- "\1\307\1\313\1\314\3\312\1\307\1\312\1\314\6\312"+
- "\1\307\32\312\2\307\1\312\2\162\1\0\66\162\1\0"+
- "\16\162\1\315\45\162\7\0\1\316\21\0\1\317\42\0"+
- "\1\172\2\0\1\40\3\0\1\172\5\0\1\172\6\40"+
- "\1\0\13\40\1\0\7\40\1\0\3\40\1\0\3\40"+
- "\1\0\1\40\1\320\1\0\3\320\1\321\3\173\1\320"+
- "\1\0\1\320\1\321\1\173\1\320\1\0\2\320\1\321"+
- "\6\173\1\320\13\173\1\320\7\173\1\320\3\173\1\322"+
- "\5\173\15\0\1\323\6\0\1\324\42\0\1\320\1\0"+
- "\3\320\1\321\3\175\1\320\1\0\1\320\1\321\1\175"+
- "\1\320\1\0\2\320\1\321\6\175\1\320\13\175\1\320"+
- "\7\175\1\320\3\175\1\325\5\175\31\0\1\317\37\0"+
- "\1\326\66\0\1\327\72\0\3\57\4\0\1\57\5\0"+
- "\4\57\2\330\1\0\13\57\1\0\7\57\1\0\3\57"+
- "\1\0\5\57\6\0\3\57\4\0\1\57\5\0\4\57"+
- "\1\330\1\331\1\0\13\57\1\0\7\57\1\0\3\57"+
- "\1\0\5\57\6\0\3\57\4\0\1\57\5\0\6\57"+
- "\1\0\13\57\1\0\1\57\1\332\5\57\1\0\3\57"+
- "\1\0\5\57\1\210\1\0\7\210\1\212\55\210\1\213"+
- "\1\0\11\213\1\212\53\213\1\220\1\0\7\220\1\222"+
- "\55\220\1\223\1\0\11\223\1\222\53\223\1\227\1\0"+
- "\7\227\1\231\55\227\1\232\1\0\11\232\1\231\53\232"+
- "\32\0\1\333\30\0\1\333\40\0\1\334\13\0\1\334"+
- "\54\0\1\335\10\0\1\335\57\0\1\336\14\0\1\336"+
- "\72\0\1\337\4\0\1\245\1\0\7\245\1\247\55\245"+
- "\1\250\1\0\1\251\1\340\1\250\1\251\3\250\1\251"+
- "\1\250\1\247\1\251\5\250\1\251\44\250\1\251\1\0"+
- "\11\251\1\247\53\251\1\250\1\0\1\251\1\340\1\250"+
- "\1\251\3\250\1\251\1\250\1\341\1\251\5\250\1\251"+
- "\44\250\13\0\1\342\53\0\1\251\1\0\11\251\1\341"+
- "\53\251\11\261\1\263\55\261\13\264\1\263\53\264\1\271"+
- "\1\0\7\271\1\273\55\271\1\274\1\0\1\275\1\343"+
- "\1\274\1\275\3\274\1\275\1\274\1\273\1\275\5\274"+
- "\1\275\44\274\1\275\1\0\11\275\1\273\53\275\1\274"+
- "\1\0\1\275\1\343\1\274\1\275\3\274\1\275\1\274"+
- "\1\344\1\275\5\274\1\275\44\274\13\0\1\345\53\0"+
- "\1\275\1\0\11\275\1\344\53\275\2\153\1\0\26\153"+
- "\1\346\35\153\1\304\1\0\7\304\1\306\55\304\1\307"+
- "\1\0\1\310\1\347\1\307\1\310\3\307\1\310\1\307"+
- "\1\306\1\310\5\307\1\310\44\307\1\310\1\0\11\310"+
- "\1\306\53\310\1\307\1\0\1\310\1\347\1\307\1\310"+
- "\3\307\1\310\1\307\1\350\1\310\5\307\1\310\44\307"+
- "\13\0\1\351\53\0\1\310\1\0\11\310\1\350\53\310"+
- "\2\162\1\0\26\162\1\352\35\162\7\0\1\353\111\0"+
- "\1\354\34\0\1\320\1\0\10\320\1\0\4\320\1\0"+
- "\41\320\1\0\6\320\1\0\3\320\1\321\4\320\1\0"+
- "\1\320\1\321\2\320\1\0\2\320\1\321\36\320\1\355"+
- "\5\320\15\0\1\323\43\0\1\356\22\0\1\357\14\0"+
- "\3\357\2\0\1\357\10\0\1\357\1\0\2\357\3\0"+
- "\1\357\2\0\2\357\11\0\1\57\1\360\1\57\4\0"+
- "\1\57\5\0\6\57\1\0\13\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\6\0\3\57\4\0\1\57\5\0"+
- "\6\57\1\0\11\57\1\361\1\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\35\0\1\362\13\0\1\362\44\0"+
- "\2\363\63\0\2\364\75\0\1\365\13\0\1\365\44\0"+
- "\2\366\41\0\2\367\1\0\3\367\2\0\1\254\4\367"+
- "\1\0\10\367\1\0\32\367\2\0\1\367\3\0\2\370"+
- "\1\0\3\370\2\0\1\300\4\370\1\0\10\370\1\0"+
- "\32\370\2\0\1\370\2\153\1\0\27\153\1\371\34\153"+
- "\3\0\2\372\1\0\3\372\2\0\1\313\4\372\1\0"+
- "\10\372\1\0\32\372\2\0\1\372\2\162\1\0\27\162"+
- "\1\373\34\162\33\0\1\374\114\0\1\355\22\0\1\357"+
- "\14\0\3\357\2\0\1\357\10\0\1\357\1\0\2\357"+
- "\3\0\1\357\1\0\1\356\2\357\11\0\3\57\4\0"+
- "\1\57\5\0\6\57\1\0\7\57\1\375\3\57\1\0"+
- "\7\57\1\0\3\57\1\0\5\57\6\0\3\57\4\0"+
- "\1\57\5\0\6\57\1\0\6\57\1\376\4\57\1\0"+
- "\7\57\1\0\3\57\1\0\5\57\46\0\1\377\5\0"+
- "\1\377\54\0\1\u0100\63\0\1\u0101\10\0\1\u0101\55\0"+
- "\1\u0102\10\0\1\u0102\60\0\1\u0103\24\0\2\153\1\0"+
- "\30\153\1\u0104\33\153\2\162\1\0\30\162\1\u0105\33\162"+
- "\34\0\1\u0106\40\0\3\57\4\0\1\57\5\0\6\57"+
- "\1\0\13\57\1\0\3\57\1\u0107\3\57\1\0\3\57"+
- "\1\0\5\57\6\0\3\57\4\0\1\57\5\0\6\57"+
- "\1\0\3\57\1\u0108\7\57\1\0\3\57\1\u0108\3\57"+
- "\1\0\3\57\1\0\5\57\47\0\1\u0109\60\0\1\u010a"+
- "\14\0\1\u010a\54\0\1\u010b\47\0\2\u010c\72\0\1\u010d"+
- "\30\0\1\u010d\3\0\2\153\1\0\31\153\1\u010e\32\153"+
- "\2\162\1\0\31\162\1\u010f\32\162\35\0\1\u0110\37\0"+
- "\3\57\4\0\1\57\5\0\6\57\1\0\13\57\1\0"+
- "\6\57\1\u0111\1\0\3\57\1\0\5\57\5\0\1\u0112"+
- "\3\57\3\0\1\u0112\1\57\4\0\1\u0112\6\57\1\0"+
- "\13\57\1\0\7\57\1\0\3\57\1\0\5\57\37\0"+
- "\1\u0113\10\0\1\u0113\53\0\1\u0114\13\0\1\u0114\52\0"+
- "\1\u0115\13\0\1\u0115\15\0\2\153\1\0\32\153\1\u0116"+
- "\31\153\2\162\1\0\32\162\1\u0117\31\162\34\0\1\u0118"+
- "\40\0\3\57\4\0\1\57\5\0\5\57\1\u0119\1\0"+
- "\13\57\1\0\7\57\1\0\3\57\1\0\5\57\5\0"+
- "\1\u0112\6\0\1\u0112\5\0\1\u0112\44\0\2\153\1\0"+
- "\31\153\1\u011a\32\153\2\162\1\0\31\162\1\u011b\32\162"+
- "\31\0\1\u011c\43\0\3\57\4\0\1\57\5\0\6\57"+
- "\1\0\5\57\1\u011d\5\57\1\0\7\57\1\0\3\57"+
- "\1\0\5\57\2\153\1\0\26\153\1\u011e\35\153\2\162"+
- "\1\0\26\162\1\u011f\35\162\6\0\3\57\4\0\1\57"+
- "\5\0\6\57\1\0\7\57\1\u0120\3\57\1\0\7\57"+
- "\1\0\3\57\1\0\5\57\6\0\3\57\4\0\1\57"+
- "\5\0\6\57\1\0\13\57\1\0\7\57\1\0\3\57"+
- "\1\0\4\57\1\u0121\6\0\3\57\4\0\1\57\5\0"+
- "\6\57\1\0\5\57\1\u0122\5\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\6\0\3\57\4\0\1\57\5\0"+
- "\6\57\1\0\5\57\1\u0123\5\57\1\0\7\57\1\0"+
- "\3\57\1\0\5\57\6\0\3\57\4\0\1\57\5\0"+
- "\6\57\1\0\13\57\1\0\3\57\1\u0124\3\57\1\0"+
- "\3\57\1\0\5\57";
+ "\1\45\65\44\1\46\1\47\16\46\1\50\46\46\1\51"+
+ "\1\52\65\51\1\46\1\47\5\46\1\53\60\46\1\47"+
+ "\2\46\1\54\1\55\2\46\1\56\3\46\1\55\5\46"+
+ "\1\55\1\57\1\60\4\56\1\46\10\56\1\61\2\56"+
+ "\1\46\7\56\1\46\3\56\1\46\3\56\1\46\1\56"+
+ "\1\46\1\47\2\46\1\54\1\62\6\46\1\62\5\46"+
+ "\1\62\44\46\1\63\1\64\2\63\1\65\15\63\1\46"+
+ "\44\63\1\46\1\47\2\46\1\66\1\55\2\46\1\67"+
+ "\3\46\1\55\5\46\1\55\6\67\1\46\13\67\1\46"+
+ "\7\67\1\46\3\67\1\46\3\67\1\46\1\67\1\46"+
+ "\1\47\2\46\1\66\1\55\2\46\1\67\3\46\1\55"+
+ "\5\46\1\55\6\67\1\46\13\67\1\70\7\67\1\46"+
+ "\3\67\1\46\3\67\1\46\1\67\1\71\1\47\1\46"+
+ "\1\72\1\73\1\55\3\71\1\74\1\71\1\75\1\55"+
+ "\5\71\1\55\44\71\1\46\1\47\2\46\1\76\63\46"+
+ "\1\47\1\77\1\100\1\46\1\55\2\46\1\101\3\46"+
+ "\1\55\5\46\1\55\6\101\1\46\13\101\1\46\7\101"+
+ "\1\46\3\101\1\46\3\101\1\46\1\101\1\46\1\47"+
+ "\1\77\1\100\1\46\1\55\2\46\1\101\3\46\1\55"+
+ "\5\46\1\55\6\101\1\46\13\101\1\102\7\101\1\46"+
+ "\3\101\1\46\3\101\1\46\1\101\1\103\1\47\1\77"+
+ "\1\104\1\103\1\55\3\103\1\105\1\103\1\106\1\55"+
+ "\5\103\1\55\44\103\1\46\1\47\3\46\1\55\6\46"+
+ "\1\55\5\46\1\55\44\46\1\107\1\110\1\111\1\112"+
+ "\4\107\1\113\12\107\6\114\1\107\13\114\1\107\7\114"+
+ "\1\107\3\114\1\107\3\114\1\107\1\114\1\46\1\110"+
+ "\1\111\1\112\1\46\1\55\2\46\1\115\3\46\1\55"+
+ "\5\46\1\55\6\115\1\46\13\115\1\46\7\115\1\46"+
+ "\3\115\1\46\3\115\1\46\1\115\1\46\1\110\1\111"+
+ "\1\112\1\46\1\55\2\46\1\115\3\46\1\55\5\46"+
+ "\1\55\6\115\1\46\13\115\1\116\7\115\1\46\3\115"+
+ "\1\46\3\115\1\46\1\115\1\117\1\110\1\111\1\120"+
+ "\1\117\1\55\3\117\1\121\1\117\1\122\1\55\5\117"+
+ "\1\55\44\117\1\46\1\123\1\124\2\46\1\55\6\46"+
+ "\1\55\5\46\1\55\10\46\1\125\1\126\2\46\1\127"+
+ "\10\46\1\127\1\46\1\126\1\125\14\46\1\47\1\124"+
+ "\2\46\1\55\6\46\1\55\5\46\1\55\6\46\1\130"+
+ "\36\46\1\47\1\124\2\46\1\55\2\46\1\131\3\46"+
+ "\1\55\5\46\1\55\6\131\1\130\13\131\1\46\7\131"+
+ "\1\46\3\131\1\46\3\131\1\46\1\131\1\46\1\47"+
+ "\1\124\2\46\1\55\6\46\1\55\5\46\1\55\6\46"+
+ "\1\130\7\46\1\132\5\46\1\133\6\46\1\132\10\46"+
+ "\1\134\1\47\1\124\1\135\1\134\1\55\3\134\1\136"+
+ "\1\134\1\137\1\55\5\134\1\55\6\134\1\140\35\134"+
+ "\1\141\1\47\1\124\1\142\1\141\1\55\3\141\1\143"+
+ "\1\141\1\144\1\55\5\141\1\55\6\141\1\145\35\141"+
+ "\1\146\1\47\1\124\1\147\1\146\1\55\3\146\1\150"+
+ "\1\146\1\151\1\55\5\146\1\55\44\146\1\152\1\153"+
+ "\1\154\64\152\1\155\1\47\1\124\1\156\1\155\1\55"+
+ "\3\155\1\157\1\155\1\160\1\55\5\155\1\55\44\155"+
+ "\1\161\1\162\1\163\64\161\1\164\1\165\65\164\1\40"+
+ "\1\0\10\40\1\0\4\40\1\0\47\40\3\0\1\166"+
+ "\1\167\14\0\1\170\52\0\1\171\2\0\1\172\3\0"+
+ "\1\171\5\0\1\171\6\172\1\0\13\172\1\0\7\172"+
+ "\1\173\3\172\1\0\3\172\1\0\1\172\5\0\1\171"+
+ "\2\0\1\174\3\0\1\171\5\0\1\171\6\174\1\0"+
+ "\13\174\1\0\7\174\1\0\3\174\1\0\3\174\1\0"+
+ "\1\174\110\0\1\175\65\0\1\176\55\0\1\177\61\0"+
+ "\1\200\71\0\1\55\6\0\1\55\5\0\1\55\52\0"+
+ "\3\56\4\0\1\56\5\0\6\56\1\0\13\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\6\0\3\56\4\0"+
+ "\1\56\5\0\2\56\2\201\2\56\1\0\13\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\6\0\3\56\4\0"+
+ "\1\56\5\0\2\56\1\201\1\202\2\56\1\0\13\56"+
+ "\1\0\7\56\1\0\3\56\1\0\5\56\6\0\3\56"+
+ "\4\0\1\56\5\0\2\56\2\203\2\56\1\0\13\56"+
+ "\1\0\7\56\1\0\3\56\1\0\5\56\5\0\1\62"+
+ "\6\0\1\62\5\0\1\62\46\0\1\204\66\0\1\205"+
+ "\72\0\3\67\4\0\1\67\5\0\6\67\1\0\13\67"+
+ "\1\0\7\67\1\0\3\67\1\0\5\67\1\71\2\0"+
+ "\1\206\1\71\1\0\3\71\1\0\1\71\2\0\5\71"+
+ "\1\0\45\71\1\0\1\205\1\206\1\71\1\0\3\71"+
+ "\1\0\1\71\2\0\5\71\1\0\44\71\1\74\1\0"+
+ "\1\207\1\210\1\74\1\207\3\74\1\211\1\74\2\207"+
+ "\5\74\1\207\44\74\1\75\1\0\1\212\1\213\1\75"+
+ "\1\212\3\75\1\212\1\75\1\211\1\212\5\75\1\212"+
+ "\44\75\2\0\1\77\1\214\71\0\3\101\4\0\1\101"+
+ "\5\0\6\101\1\0\13\101\1\0\7\101\1\0\3\101"+
+ "\1\0\5\101\1\103\2\0\1\215\1\103\1\0\3\103"+
+ "\1\0\1\103\2\0\5\103\1\0\45\103\1\0\1\77"+
+ "\1\216\1\103\1\0\3\103\1\0\1\103\2\0\5\103"+
+ "\1\0\44\103\1\105\1\0\1\217\1\220\1\105\1\217"+
+ "\3\105\1\221\1\105\2\217\5\105\1\217\44\105\1\106"+
+ "\1\0\1\222\1\223\1\106\1\222\3\106\1\222\1\106"+
+ "\1\221\1\222\5\106\1\222\44\106\1\107\3\0\17\107"+
+ "\6\0\1\107\13\0\1\107\7\0\1\107\3\0\1\107"+
+ "\3\0\1\107\4\0\1\166\15\0\1\170\47\0\1\224"+
+ "\64\0\1\107\3\0\2\107\3\113\4\107\1\113\5\107"+
+ "\6\114\1\107\13\114\1\107\7\114\1\107\3\114\1\107"+
+ "\3\114\1\113\1\114\6\0\3\114\4\0\1\114\5\0"+
+ "\6\114\1\0\13\114\1\0\7\114\1\0\3\114\1\0"+
+ "\5\114\6\0\3\115\4\0\1\115\5\0\6\115\1\0"+
+ "\13\115\1\0\7\115\1\0\3\115\1\0\5\115\1\117"+
+ "\2\0\1\225\1\117\1\0\3\117\1\0\1\117\2\0"+
+ "\5\117\1\0\45\117\1\0\1\224\1\225\1\117\1\0"+
+ "\3\117\1\0\1\117\2\0\5\117\1\0\44\117\1\121"+
+ "\1\0\1\226\1\227\1\121\1\226\3\121\1\230\1\121"+
+ "\2\226\5\121\1\226\44\121\1\122\1\0\1\231\1\232"+
+ "\1\122\1\231\3\122\1\231\1\122\1\230\1\231\5\122"+
+ "\1\231\44\122\3\0\1\166\15\0\1\233\110\0\1\234"+
+ "\60\0\1\235\13\0\1\235\44\0\2\236\36\0\20\237"+
+ "\1\240\46\237\6\0\3\131\4\0\1\131\5\0\6\131"+
+ "\1\0\13\131\1\0\7\131\1\0\3\131\1\0\5\131"+
+ "\46\0\1\241\5\0\1\241\72\0\1\242\6\0\1\134"+
+ "\2\0\1\243\1\134\1\0\3\134\1\0\1\134\2\0"+
+ "\5\134\1\0\44\134\1\136\1\0\1\244\1\245\1\136"+
+ "\1\244\3\136\1\246\1\136\2\244\5\136\1\244\44\136"+
+ "\1\247\1\0\1\250\1\251\1\252\1\250\3\252\1\250"+
+ "\1\247\1\253\1\254\3\252\1\247\1\252\1\254\6\252"+
+ "\1\247\32\252\2\247\1\252\1\140\2\237\1\255\1\140"+
+ "\1\237\3\140\1\237\1\140\2\237\3\140\1\256\1\140"+
+ "\1\237\44\140\1\141\2\0\1\257\1\141\1\0\3\141"+
+ "\1\0\1\141\2\0\5\141\1\0\44\141\1\143\2\260"+
+ "\1\261\1\143\1\260\3\143\1\262\1\143\2\260\5\143"+
+ "\1\260\44\143\1\144\2\263\1\264\1\144\1\263\3\144"+
+ "\1\263\1\144\1\262\1\263\5\144\1\263\44\144\1\145"+
+ "\2\237\1\265\1\145\1\237\3\145\1\237\1\145\2\237"+
+ "\3\145\1\266\1\145\1\237\44\145\1\146\2\0\1\267"+
+ "\1\146\1\0\3\146\1\0\1\146\2\0\5\146\1\0"+
+ "\44\146\1\150\1\0\1\270\1\271\1\150\1\270\3\150"+
+ "\1\272\1\150\2\270\5\150\1\270\44\150\1\273\1\0"+
+ "\1\274\1\275\1\276\1\274\3\276\1\274\1\273\1\277"+
+ "\1\300\3\276\1\273\1\276\1\300\6\276\1\273\32\276"+
+ "\2\273\1\276\2\152\1\0\66\152\1\0\16\152\1\301"+
+ "\45\152\1\155\2\0\1\302\1\155\1\0\3\155\1\0"+
+ "\1\155\2\0\5\155\1\0\44\155\1\157\1\0\1\303"+
+ "\1\304\1\157\1\303\3\157\1\305\1\157\2\303\5\157"+
+ "\1\303\44\157\1\306\1\0\1\307\1\310\1\311\1\307"+
+ "\3\311\1\307\1\306\1\312\1\313\3\311\1\306\1\311"+
+ "\1\313\6\311\1\306\32\311\2\306\1\311\2\161\1\0"+
+ "\66\161\1\0\16\161\1\314\45\161\7\0\1\315\21\0"+
+ "\1\316\42\0\1\171\2\0\1\40\3\0\1\171\5\0"+
+ "\1\171\6\40\1\0\13\40\1\0\7\40\1\0\3\40"+
+ "\1\0\3\40\1\0\1\40\1\317\1\0\3\317\1\320"+
+ "\3\172\1\317\1\0\1\317\1\320\1\172\1\317\1\0"+
+ "\2\317\1\320\6\172\1\317\13\172\1\317\7\172\1\317"+
+ "\3\172\1\321\5\172\15\0\1\322\6\0\1\323\42\0"+
+ "\1\317\1\0\3\317\1\320\3\174\1\317\1\0\1\317"+
+ "\1\320\1\174\1\317\1\0\2\317\1\320\6\174\1\317"+
+ "\13\174\1\317\7\174\1\317\3\174\1\324\5\174\31\0"+
+ "\1\316\37\0\1\325\66\0\1\326\72\0\3\56\4\0"+
+ "\1\56\5\0\4\56\2\327\1\0\13\56\1\0\7\56"+
+ "\1\0\3\56\1\0\5\56\6\0\3\56\4\0\1\56"+
+ "\5\0\4\56\1\327\1\330\1\0\13\56\1\0\7\56"+
+ "\1\0\3\56\1\0\5\56\6\0\3\56\4\0\1\56"+
+ "\5\0\6\56\1\0\13\56\1\0\1\56\1\331\5\56"+
+ "\1\0\3\56\1\0\5\56\1\207\1\0\7\207\1\211"+
+ "\55\207\1\212\1\0\11\212\1\211\53\212\1\217\1\0"+
+ "\7\217\1\221\55\217\1\222\1\0\11\222\1\221\53\222"+
+ "\1\226\1\0\7\226\1\230\55\226\1\231\1\0\11\231"+
+ "\1\230\53\231\32\0\1\332\30\0\1\332\40\0\1\333"+
+ "\13\0\1\333\54\0\1\334\10\0\1\334\57\0\1\335"+
+ "\14\0\1\335\72\0\1\336\4\0\1\244\1\0\7\244"+
+ "\1\246\55\244\1\247\1\0\1\250\1\337\1\247\1\250"+
+ "\3\247\1\250\1\247\1\246\1\250\5\247\1\250\44\247"+
+ "\1\250\1\0\11\250\1\246\53\250\1\247\1\0\1\250"+
+ "\1\337\1\247\1\250\3\247\1\250\1\247\1\340\1\250"+
+ "\5\247\1\250\44\247\13\0\1\341\53\0\1\250\1\0"+
+ "\11\250\1\340\53\250\11\260\1\262\55\260\13\263\1\262"+
+ "\53\263\1\270\1\0\7\270\1\272\55\270\1\273\1\0"+
+ "\1\274\1\342\1\273\1\274\3\273\1\274\1\273\1\272"+
+ "\1\274\5\273\1\274\44\273\1\274\1\0\11\274\1\272"+
+ "\53\274\1\273\1\0\1\274\1\342\1\273\1\274\3\273"+
+ "\1\274\1\273\1\343\1\274\5\273\1\274\44\273\13\0"+
+ "\1\344\53\0\1\274\1\0\11\274\1\343\53\274\2\152"+
+ "\1\0\26\152\1\345\35\152\1\303\1\0\7\303\1\305"+
+ "\55\303\1\306\1\0\1\307\1\346\1\306\1\307\3\306"+
+ "\1\307\1\306\1\305\1\307\5\306\1\307\44\306\1\307"+
+ "\1\0\11\307\1\305\53\307\1\306\1\0\1\307\1\346"+
+ "\1\306\1\307\3\306\1\307\1\306\1\347\1\307\5\306"+
+ "\1\307\44\306\13\0\1\350\53\0\1\307\1\0\11\307"+
+ "\1\347\53\307\2\161\1\0\26\161\1\351\35\161\7\0"+
+ "\1\352\111\0\1\353\34\0\1\317\1\0\10\317\1\0"+
+ "\4\317\1\0\41\317\1\0\6\317\1\0\3\317\1\320"+
+ "\4\317\1\0\1\317\1\320\2\317\1\0\2\317\1\320"+
+ "\36\317\1\354\5\317\15\0\1\322\43\0\1\355\22\0"+
+ "\1\356\14\0\3\356\2\0\1\356\10\0\1\356\1\0"+
+ "\2\356\3\0\1\356\2\0\2\356\11\0\1\56\1\357"+
+ "\1\56\4\0\1\56\5\0\6\56\1\0\13\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\6\0\3\56\4\0"+
+ "\1\56\5\0\6\56\1\0\11\56\1\360\1\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\35\0\1\361\13\0"+
+ "\1\361\44\0\2\362\63\0\2\363\75\0\1\364\13\0"+
+ "\1\364\44\0\2\365\41\0\2\366\1\0\3\366\2\0"+
+ "\1\253\4\366\1\0\10\366\1\0\32\366\2\0\1\366"+
+ "\3\0\2\367\1\0\3\367\2\0\1\277\4\367\1\0"+
+ "\10\367\1\0\32\367\2\0\1\367\2\152\1\0\27\152"+
+ "\1\370\34\152\3\0\2\371\1\0\3\371\2\0\1\312"+
+ "\4\371\1\0\10\371\1\0\32\371\2\0\1\371\2\161"+
+ "\1\0\27\161\1\372\34\161\33\0\1\373\114\0\1\354"+
+ "\22\0\1\356\14\0\3\356\2\0\1\356\10\0\1\356"+
+ "\1\0\2\356\3\0\1\356\1\0\1\355\2\356\11\0"+
+ "\3\56\4\0\1\56\5\0\6\56\1\0\7\56\1\374"+
+ "\3\56\1\0\7\56\1\0\3\56\1\0\5\56\6\0"+
+ "\3\56\4\0\1\56\5\0\6\56\1\0\6\56\1\375"+
+ "\4\56\1\0\7\56\1\0\3\56\1\0\5\56\46\0"+
+ "\1\376\5\0\1\376\54\0\1\377\63\0\1\u0100\10\0"+
+ "\1\u0100\55\0\1\u0101\10\0\1\u0101\60\0\1\u0102\24\0"+
+ "\2\152\1\0\30\152\1\u0103\33\152\2\161\1\0\30\161"+
+ "\1\u0104\33\161\34\0\1\u0105\40\0\3\56\4\0\1\56"+
+ "\5\0\6\56\1\0\13\56\1\0\3\56\1\u0106\3\56"+
+ "\1\0\3\56\1\0\5\56\6\0\3\56\4\0\1\56"+
+ "\5\0\6\56\1\0\3\56\1\u0107\7\56\1\0\3\56"+
+ "\1\u0107\3\56\1\0\3\56\1\0\5\56\47\0\1\u0108"+
+ "\60\0\1\u0109\14\0\1\u0109\54\0\1\u010a\47\0\2\u010b"+
+ "\72\0\1\u010c\30\0\1\u010c\3\0\2\152\1\0\31\152"+
+ "\1\u010d\32\152\2\161\1\0\31\161\1\u010e\32\161\35\0"+
+ "\1\u010f\37\0\3\56\4\0\1\56\5\0\6\56\1\0"+
+ "\13\56\1\0\6\56\1\u0110\1\0\3\56\1\0\5\56"+
+ "\5\0\1\u0111\3\56\3\0\1\u0111\1\56\4\0\1\u0111"+
+ "\6\56\1\0\13\56\1\0\7\56\1\0\3\56\1\0"+
+ "\5\56\37\0\1\u0112\10\0\1\u0112\53\0\1\u0113\13\0"+
+ "\1\u0113\52\0\1\u0114\13\0\1\u0114\15\0\2\152\1\0"+
+ "\32\152\1\u0115\31\152\2\161\1\0\32\161\1\u0116\31\161"+
+ "\34\0\1\u0117\40\0\3\56\4\0\1\56\5\0\5\56"+
+ "\1\u0118\1\0\13\56\1\0\7\56\1\0\3\56\1\0"+
+ "\5\56\5\0\1\u0111\6\0\1\u0111\5\0\1\u0111\44\0"+
+ "\2\152\1\0\31\152\1\u0119\32\152\2\161\1\0\31\161"+
+ "\1\u011a\32\161\31\0\1\u011b\43\0\3\56\4\0\1\56"+
+ "\5\0\6\56\1\0\5\56\1\u011c\5\56\1\0\7\56"+
+ "\1\0\3\56\1\0\5\56\2\152\1\0\26\152\1\u011d"+
+ "\35\152\2\161\1\0\26\161\1\u011e\35\161\6\0\3\56"+
+ "\4\0\1\56\5\0\6\56\1\0\7\56\1\u011f\3\56"+
+ "\1\0\7\56\1\0\3\56\1\0\5\56\6\0\3\56"+
+ "\4\0\1\56\5\0\6\56\1\0\13\56\1\0\7\56"+
+ "\1\0\3\56\1\0\4\56\1\u0120\6\0\3\56\4\0"+
+ "\1\56\5\0\6\56\1\0\5\56\1\u0121\5\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\6\0\3\56\4\0"+
+ "\1\56\5\0\6\56\1\0\5\56\1\u0122\5\56\1\0"+
+ "\7\56\1\0\3\56\1\0\5\56\6\0\3\56\4\0"+
+ "\1\56\5\0\6\56\1\0\13\56\1\0\3\56\1\u0123"+
+ "\3\56\1\0\3\56\1\0\5\56";
/**
* The transition table of the DFA
@@ -441,7 +440,7 @@
/* error messages for the codes above */
final private static String YY_ERROR_MSG[] = {
- "Unkown internal scanner error", //$NON-NLS-1$
+ "Unknown internal scanner error", //$NON-NLS-1$
"Internal error: unknown state", //$NON-NLS-1$
"Error: could not match input", //$NON-NLS-1$
"Error: pushback value was too large" //$NON-NLS-1$
@@ -453,23 +452,23 @@
private final static byte YY_ATTRIBUTE[] = {
1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,
- 1, 1, 1, 9, 1, 9, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 9, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9,
- 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 9, 1,
- 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1,
- 1, 1, 1, 9, 9, 1, 9, 9, 1, 0, 1, 0, 1, 0, 0, 0,
- 9, 1, 1, 1, 9, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0,
- 0, 9, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 9, 1, 0, 0, 1, 1, 0, 0, 1, 0,
- 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 9, 1, 0, 0, 1, 1,
- 0, 1, 0, 0, 0, 9, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
- 1, 9, 0, 0, 9, 9, 9, 1, 1, 1, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 9, 0, 1, 9, 0, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0,
- 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 9, 9, 1, 1, 0,
- 1, 1, 9, 9, 9, 1, 1, 0, 1, 1, 1, 9, 1, 1, 1, 1,
- 1, 1, 1, 1
+ 1, 1, 1, 9, 1, 9, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 9, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1,
+ 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 9, 1, 1,
+ 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1,
+ 1, 1, 9, 9, 1, 9, 9, 1, 0, 1, 0, 1, 0, 0, 0, 9,
+ 1, 1, 1, 9, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 9, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9,
+ 0, 0, 0, 0, 0, 9, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0,
+ 0, 9, 0, 0, 0, 1, 0, 0, 0, 9, 1, 0, 0, 1, 1, 0,
+ 1, 0, 0, 0, 9, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1,
+ 9, 0, 0, 9, 9, 9, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1,
+ 0, 0, 1, 0, 1, 0, 1, 0, 1, 9, 0, 1, 9, 0, 1, 1,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0,
+ 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 9, 9, 1, 1, 0, 1,
+ 1, 9, 9, 9, 1, 1, 0, 1, 1, 1, 9, 1, 1, 1, 1, 1,
+ 1, 1, 1
};
/** the input device */
@@ -502,7 +501,7 @@
private int yy_endRead;
/** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ //private int yyline;
/** the number of characters up to the start of the matched text */
private int yychar;
@@ -521,6 +520,11 @@
/** yy_atEOF == true <=> the scanner has returned a value for EOF */
private boolean yy_atEOF;
+ // records the number of times we've set up new input to be parsed
+ private long fInputStamp = -1;
+ // records the last input iteration for which we reported an error
+ private long fErroredInputstamp = -1;
+
/** denotes if the user-EOF-code has already been executed */
private boolean yy_eof_done;
@@ -753,8 +757,9 @@
yybegin(exitState);
// If the ending occurs at the very beginning of what would have
// been a Block, resume scanning normally immediately
- if(yy_markedPos == yy_startRead)
+ if(yy_markedPos == yy_startRead) {
return primGetNextToken();
+ }
return searchContext;
}
/**
@@ -818,10 +823,10 @@
// store the next token
f_context = primGetNextToken();
if (f_context == XML_TAG_NAME) {
- if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
- fCurrentTagName = yytext();
- else
- fCurrentTagName = null;
+ if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
+ fCurrentTagName = yytext();
+ else
+ fCurrentTagName = null;
}
else if (f_context == XML_TAG_OPEN) {
fIsBlockingEnabled = true;
@@ -889,6 +894,8 @@
if (Debug.debugTokenizer) {
System.out.println("resetting tokenizer");//$NON-NLS-1$
}
+
+ fInputStamp++;
fOffset = newOffset;
/* the input device */
@@ -923,7 +930,7 @@
yy_endRead = 0;
/* number of newlines encountered up to the start of the matched text */
- yyline = 0;
+ //yyline = 0;
/* the number of characters up to the start of the matched text */
yychar = 0;
@@ -1005,7 +1012,7 @@
int [] trans = new int[11055];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 3734) {
+ while (i < 3722) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
value--;
@@ -1127,17 +1134,23 @@
/**
- * Reports an error that occured while scanning - from the SED JFlex skeleton
+ * Reports an error that occurred while scanning - method from the SSE custom JFlex skeleton
*
- * @param errorCode the code of the errormessage to display
+ * @param errorCode the code of the error message to display
*/
private void yy_ScanError(int errorCode) {
- try {
- Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);
- }
- catch (ArrayIndexOutOfBoundsException e) {
- Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
- }
+ if (fErroredInputstamp != fInputStamp) {
+ IllegalStateException e = new IllegalStateException("Instance:" + System.identityHashCode(this) + " Input:" + fInputStamp + " offset:" + (fOffset + yychar) + " state:" + yystate());
+ try {
+ Logger.logException(YY_ERROR_MSG[errorCode], e);
+ throw(e);
+ }
+ catch (ArrayIndexOutOfBoundsException e2) {
+ Logger.logException(YY_ERROR_MSG[YY_UNKNOWN_ERROR], e2);
+ }
+ fErroredInputstamp = fInputStamp;
+ }
+
// DO NOT EXIT the VM on an error
// System.exit(1);
}
@@ -1272,31 +1285,6 @@
yychar+= yylength();
- boolean yy_counted = false;
- for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
- yy_currentPos++) {
- switch (yy_buffer[yy_currentPos]) {
- case '\r':
- yyline++;
- yy_counted = true;
- break;
- case '\n':
- if (yy_counted)
- yy_counted = false;
- else {
- yyline++;
- }
- break;
- default:
- yy_counted = false;
- }
- }
-
- if (yy_counted) {
- if ( yy_advance() == '\n' ) yyline--;
- if ( !yy_atEOF ) yy_currentPos--;
- }
-
yy_action = -1;
yy_currentPos = yy_startRead = yy_markedPos;
@@ -1328,17 +1316,17 @@
switch (yy_action) {
- case 291:
+ case 290:
{
if(Debug.debugTokenizer)
dump("XSL processing instruction target");//$NON-NLS-1$
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 293: break;
- case 283:
+ case 292: break;
+ case 282:
+ case 284:
case 285:
- case 286:
{
if(Debug.debugTokenizer)
dump("\nCDATA start");//$NON-NLS-1$
@@ -1346,149 +1334,149 @@
yybegin(ST_CDATA_TEXT);
return XML_CDATA_OPEN;
}
- case 294: break;
- case 276:
+ case 293: break;
+ case 275:
{
if(Debug.debugTokenizer)
dump("element");//$NON-NLS-1$
yybegin(ST_XML_ELEMENT_DECLARATION);
return XML_ELEMENT_DECLARATION;
}
- case 295: break;
- case 275:
+ case 294: break;
+ case 274:
{
if(Debug.debugTokenizer)
dump("attlist");//$NON-NLS-1$
yybegin(ST_XML_ATTLIST_DECLARATION);
return XML_ATTLIST_DECLARATION;
}
- case 296: break;
- case 274:
+ case 295: break;
+ case 273:
{
if(Debug.debugTokenizer)
dump("doctype");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_DECLARATION);
return XML_DOCTYPE_DECLARATION;
}
- case 297: break;
- case 268:
+ case 296: break;
+ case 267:
{
if(Debug.debugTokenizer)
dump("doctype external id");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_ID_PUBLIC);
return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;
}
- case 298: break;
- case 267:
+ case 297: break;
+ case 266:
{
if(Debug.debugTokenizer)
dump("doctype external id");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;
}
- case 299: break;
- case 263:
- case 273:
+ case 298: break;
+ case 262:
+ case 272:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction target");//$NON-NLS-1$
yybegin(ST_DHTML_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 300: break;
- case 237:
+ case 299: break;
+ case 236:
{
if(Debug.debugTokenizer)
dump("\nCharRef");//$NON-NLS-1$
return XML_CHAR_REFERENCE;
}
- case 301: break;
- case 234:
+ case 300: break;
+ case 233:
{
if(Debug.debugTokenizer)
dump("\ncomment start");//$NON-NLS-1$
yybegin(ST_XML_COMMENT);
return XML_COMMENT_OPEN;
}
- case 302: break;
+ case 301: break;
+ case 214:
case 215:
- case 216:
{
if(Debug.debugTokenizer)
dump("XML processing instruction target");//$NON-NLS-1$
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 303: break;
- case 214:
+ case 302: break;
+ case 213:
{
if(Debug.debugTokenizer)
dump("comment end");//$NON-NLS-1$
yybegin(YYINITIAL);
return XML_COMMENT_CLOSE;
}
- case 304: break;
- case 213:
+ case 303: break;
+ case 212:
{
if(Debug.debugTokenizer)
dump("CDATA end");//$NON-NLS-1$
yybegin(fStateStack.pop());
return XML_CDATA_CLOSE;
}
- case 305: break;
- case 212:
+ case 304: break;
+ case 211:
{
if(Debug.debugTokenizer)
dump("\nPEReference");//$NON-NLS-1$
return XML_PE_REFERENCE;
}
- case 306: break;
- case 209:
+ case 305: break;
+ case 208:
{
if(Debug.debugTokenizer)
dump("\nEntityRef");//$NON-NLS-1$
return XML_ENTITY_REFERENCE;
}
- case 307: break;
- case 160:
- case 174:
- case 182:
+ case 306: break;
+ case 159:
+ case 173:
+ case 181:
{
return XML_DOCTYPE_INTERNAL_SUBSET;
}
- case 308: break;
- case 148:
+ case 307: break;
+ case 147:
{
yybegin(YYINITIAL);
if(Debug.debugTokenizer)
dump("empty tag close");//$NON-NLS-1$
return XML_EMPTY_TAG_CLOSE;
}
- case 309: break;
- case 133:
+ case 308: break;
+ case 132:
{
if(Debug.debugTokenizer)
dump("XML processing instruction end");//$NON-NLS-1$
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 310: break;
- case 132:
+ case 309: break;
+ case 131:
{
// ended with nothing inside
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 311: break;
- case 128:
+ case 310: break;
+ case 127:
{
if(Debug.debugTokenizer)
dump("processing instruction end");//$NON-NLS-1$
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 312: break;
- case 120:
+ case 311: break;
+ case 119:
{
fStateStack.push(yystate());
if(Debug.debugTokenizer)
@@ -1496,120 +1484,113 @@
yybegin(ST_XML_DECLARATION);
return XML_DECLARATION_OPEN;
}
- case 313: break;
- case 119:
+ case 312: break;
+ case 64:
{
if(Debug.debugTokenizer)
- dump("\nprocessing instruction start");//$NON-NLS-1$
- yybegin(ST_PI);
- return XML_PI_OPEN;
+ dump("DHTML processing instruction attribute name");//$NON-NLS-1$
+ yybegin(ST_DHTML_EQUALS);
+ return XML_TAG_ATTRIBUTE_NAME;
}
- case 314: break;
- case 63:
+ case 313: break;
+ case 62:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction end");//$NON-NLS-1$
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 315: break;
- case 57:
+ case 314: break;
+ case 56:
+ case 58:
case 59:
case 60:
- case 61:
- case 137:
+ case 136:
{
if(Debug.debugTokenizer)
dump("XML processing instruction attribute value");//$NON-NLS-1$
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 316: break;
- case 56:
+ case 315: break;
+ case 55:
{
if(Debug.debugTokenizer)
dump("XML processing instruction '='");//$NON-NLS-1$
yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 317: break;
- case 55:
+ case 316: break;
+ case 54:
{
if(Debug.debugTokenizer)
dump("XML processing instruction attribute name");//$NON-NLS-1$
yybegin(ST_XML_PI_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 318: break;
+ case 317: break;
+ case 50:
case 51:
case 52:
- case 53:
{
// block scan until close is found
return doScan("?>", false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);
}
- case 319: break;
- case 50:
+ case 318: break;
+ case 49:
{
yybegin(ST_PI_CONTENT);
return WHITE_SPACE;
}
- case 320: break;
+ case 319: break;
+ case 45:
case 46:
case 47:
case 48:
- case 49:
+ case 128:
case 129:
case 130:
- case 131:
- case 217:
+ case 216:
+ case 238:
case 239:
- case 240:
+ case 251:
case 252:
- case 253:
- case 262:
- case 272:
- case 280:
- case 284:
+ case 261:
+ case 271:
+ case 279:
+ case 283:
+ case 286:
case 287:
case 288:
case 289:
- case 290:
{
if(Debug.debugTokenizer)
dump("processing instruction target");//$NON-NLS-1$
yybegin(ST_PI_WS);
return XML_TAG_NAME;
}
- case 321: break;
+ case 320: break;
+ case 40:
case 41:
- case 42:
{
if(Debug.debugTokenizer)
dump("comment content");//$NON-NLS-1$
return scanXMLCommentText();
}
- case 322: break;
- case 40:
- {
- if(Debug.debugTokenizer)
- dump("LINE FEED");//$NON-NLS-1$
- return WHITE_SPACE;
- }
- case 323: break;
+ case 321: break;
case 0:
case 31:
- case 122:
- case 124:
+ case 121:
+ case 123:
+ case 206:
case 207:
- case 208:
- case 236:
+ case 235:
{
if(Debug.debugTokenizer)
dump("\nXML content");//$NON-NLS-1$
return XML_CONTENT;
}
- case 324: break;
+ case 322: break;
case 5:
case 8:
case 9:
@@ -1629,95 +1610,95 @@
case 25:
case 26:
case 28:
- case 45:
+ case 44:
{
if(Debug.debugTokenizer)
dump("white space");//$NON-NLS-1$
return WHITE_SPACE;
}
- case 325: break;
+ case 323: break;
case 16:
- case 71:
+ case 70:
{
if(Debug.debugTokenizer)
dump("inappropriate tag name");//$NON-NLS-1$
yybegin(YYINITIAL);
return XML_CONTENT;
}
- case 326: break;
+ case 324: break;
case 27:
+ case 105:
case 106:
- case 107:
- case 193:
- case 229:
- case 248:
+ case 192:
+ case 228:
+ case 247:
+ case 258:
+ case 268:
+ case 276:
+ case 280:
+ {
+ if(Debug.debugTokenizer)
+ dump("elementdecl contentspec");//$NON-NLS-1$
+ return XML_ELEMENT_DECL_CONTENT;
+ }
+ case 325: break;
+ case 29:
+ case 112:
+ case 113:
+ case 203:
+ case 232:
+ case 249:
case 259:
case 269:
case 277:
case 281:
{
if(Debug.debugTokenizer)
- dump("elementdecl contentspec");//$NON-NLS-1$
- return XML_ELEMENT_DECL_CONTENT;
- }
- case 327: break;
- case 29:
- case 113:
- case 114:
- case 204:
- case 233:
- case 250:
- case 260:
- case 270:
- case 278:
- case 282:
- {
- if(Debug.debugTokenizer)
dump("attlist contentspec");//$NON-NLS-1$
return XML_ATTLIST_DECL_CONTENT;
}
- case 328: break;
+ case 326: break;
case 32:
- case 72:
- case 83:
+ case 71:
+ case 82:
{
if(Debug.debugTokenizer)
dump("\nstart tag open");//$NON-NLS-1$
yybegin(ST_XML_TAG_NAME);
return XML_TAG_OPEN;
}
- case 329: break;
+ case 327: break;
case 33:
case 34:
case 37:
case 38:
case 39:
+ case 42:
case 43:
- case 44:
- case 54:
- case 58:
- case 62:
- case 64:
- case 68:
- case 74:
- case 80:
+ case 53:
+ case 57:
+ case 61:
+ case 63:
+ case 67:
+ case 73:
+ case 79:
+ case 84:
case 85:
case 86:
case 87:
- case 88:
+ case 89:
case 90:
- case 91:
- case 93:
- case 98:
- case 103:
- case 110:
+ case 92:
+ case 97:
+ case 102:
+ case 109:
{
if (Debug.debugTokenizer)
System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$
yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
return UNDEFINED;
}
- case 330: break;
+ case 328: break;
case 35:
case 36:
{
@@ -1728,35 +1709,27 @@
yybegin(ST_CDATA_END);
return blockContext;
}
- case 331: break;
+ case 329: break;
case 65:
{
if(Debug.debugTokenizer)
- dump("DHTML processing instruction attribute name");//$NON-NLS-1$
- yybegin(ST_DHTML_EQUALS);
- return XML_TAG_ATTRIBUTE_NAME;
- }
- case 332: break;
- case 66:
- {
- if(Debug.debugTokenizer)
dump("DHTML processing instruction '='");//$NON-NLS-1$
yybegin(ST_DHTML_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 333: break;
- case 67:
+ case 330: break;
+ case 66:
+ case 68:
case 69:
- case 70:
- case 145:
+ case 144:
{
if(Debug.debugTokenizer)
dump("DHTML processing instruction attribute value");//$NON-NLS-1$
yybegin(ST_DHTML_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 334: break;
- case 73:
+ case 331: break;
+ case 72:
{
if(Debug.debugTokenizer)
dump("tag close");//$NON-NLS-1$
@@ -1767,44 +1740,44 @@
yybegin(YYINITIAL);
return XML_TAG_CLOSE;
}
- case 335: break;
+ case 332: break;
+ case 74:
case 75:
- case 76:
{
if(Debug.debugTokenizer)
dump("tag name");//$NON-NLS-1$
yybegin(ST_XML_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 336: break;
- case 77:
+ case 333: break;
+ case 76:
{
if(Debug.debugTokenizer)
dump("attr name");//$NON-NLS-1$
yybegin(ST_XML_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 337: break;
- case 78:
+ case 334: break;
+ case 77:
{
if(Debug.debugTokenizer)
dump("equals");//$NON-NLS-1$
yybegin(ST_XML_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 338: break;
- case 79:
+ case 335: break;
+ case 78:
+ case 80:
case 81:
- case 82:
- case 152:
+ case 151:
{
if(Debug.debugTokenizer)
dump("attr value");//$NON-NLS-1$
yybegin(ST_XML_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 339: break;
- case 84:
+ case 336: break;
+ case 83:
{
if(Debug.debugTokenizer)
dump("declaration end");//$NON-NLS-1$
@@ -1815,59 +1788,59 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 340: break;
- case 89:
+ case 337: break;
+ case 88:
{
if(Debug.debugTokenizer)
dump("doctype type");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);
return XML_DOCTYPE_NAME;
}
- case 341: break;
- case 92:
+ case 338: break;
+ case 91:
+ case 93:
case 94:
case 95:
- case 96:
+ case 165:
case 166:
- case 167:
+ case 169:
case 170:
- case 171:
- case 224:
+ case 223:
{
if(Debug.debugTokenizer)
dump("doctype public reference");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
return XML_DOCTYPE_EXTERNAL_ID_PUBREF;
}
- case 342: break;
- case 97:
+ case 339: break;
+ case 96:
+ case 98:
case 99:
case 100:
- case 101:
- case 178:
+ case 177:
{
if(Debug.debugTokenizer)
dump("doctype system reference");//$NON-NLS-1$
yybegin(ST_XML_DECLARATION_CLOSE);
return XML_DOCTYPE_EXTERNAL_ID_SYSREF;
}
- case 343: break;
- case 102:
+ case 340: break;
+ case 101:
+ case 103:
case 104:
- case 105:
+ case 185:
case 186:
- case 187:
+ case 189:
case 190:
- case 191:
- case 227:
+ case 226:
{
if(Debug.debugTokenizer)
dump("elementdecl name");//$NON-NLS-1$
yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);
return XML_ELEMENT_DECL_NAME;
}
- case 344: break;
- case 108:
+ case 341: break;
+ case 107:
{
if(Debug.debugTokenizer)
dump("elementdecl close");//$NON-NLS-1$
@@ -1878,23 +1851,23 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 345: break;
- case 109:
+ case 342: break;
+ case 108:
+ case 110:
case 111:
- case 112:
+ case 196:
case 197:
- case 198:
+ case 200:
case 201:
- case 202:
- case 231:
+ case 230:
{
if(Debug.debugTokenizer)
dump("attlist name");//$NON-NLS-1$
yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);
return XML_ATTLIST_DECL_NAME;
}
- case 346: break;
- case 115:
+ case 343: break;
+ case 114:
{
if(Debug.debugTokenizer)
dump("attlist close");//$NON-NLS-1$
@@ -1905,21 +1878,29 @@
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 347: break;
- case 118:
+ case 344: break;
+ case 117:
{
if(Debug.debugTokenizer)
dump("\nend tag open");//$NON-NLS-1$
yybegin(ST_XML_TAG_NAME);
return XML_END_TAG_OPEN;
}
- case 348: break;
+ case 345: break;
+ case 118:
+ {
+ if(Debug.debugTokenizer)
+ dump("\nprocessing instruction start");//$NON-NLS-1$
+ yybegin(ST_PI);
+ return XML_PI_OPEN;
+ }
+ case 346: break;
+ case 115:
case 116:
- case 117:
{
return doBlockTagScan();
}
- case 349: break;
+ case 347: break;
default:
if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
yy_atEOF = true;