diff options
author | david_williams | 2006-11-23 04:41:56 +0000 |
---|---|---|
committer | david_williams | 2006-11-23 04:41:56 +0000 |
commit | bee4584906a0f912c2d821fbc6356cf6974a9637 (patch) | |
tree | 411f3d85a0e7047b2f927a778b4918e01af0636d | |
parent | 9575f8b4b318d7f1d0678bf4b33068a54b3b4359 (diff) | |
download | webtools.sourceediting-bee4584906a0f912c2d821fbc6356cf6974a9637.tar.gz webtools.sourceediting-bee4584906a0f912c2d821fbc6356cf6974a9637.tar.xz webtools.sourceediting-bee4584906a0f912c2d821fbc6356cf6974a9637.zip |
removed unused import, applied standard "cleanup" profile
-rw-r--r-- | bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java | 2741 |
1 files changed, 1021 insertions, 1720 deletions
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java index a83b17f978..37d7302d0d 100644 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java +++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java @@ -25,1058 +25,187 @@ import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion; /** - * This class is a scanner generated by - * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2 + * This class is a scanner generated by <a + * href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2 * on 6/7/06 5:23 PM from the specification file * <tt>file:/D:/builds/Workspaces/pureHeadWTP/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex</tt> */ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { - /** this character denotes the end of file */ - final public static int YYEOF = -1; - - /** lexical states */ - final public static int ST_SELECTOR_ATTRIBUTE_NAME = 11; - final public static int ST_IMPORT_DELIMITER = 5; - final public static int ST_DECLARATION_PRE_VALUE = 17; - final public static int ST_SELECTOR = 0; - final public static int ST_CHARSET_DELIMITER = 2; - final public static int ST_DECLARATION_VALUE = 18; - final public static int ST_PAGE_PSEUDO_PAGE = 8; - final public static int ST_IMPORT_URI = 3; - final public static int ST_SELECTOR_ATTRIBUTE_END = 14; - final public static int ST_SELECTOR_ATTRIBUTE_OPERATOR = 12; - final public static int ST_DECLARATION = 15; - final public static int ST_PAGE_DELIMITER = 9; - final public static int ST_SELECTOR_ATTRIBUTE_VALUE = 13; - final public static int ST_MEDIA_MEDIUM = 6; - final public static int ST_CHARSET_NAME = 1; - final public static int ST_IMPORT_MEDIUM = 4; - final public static int ST_DECLARATION_SEPARATOR = 16; - final public static int ST_FONT_FACE_DELIMITER = 9; - final public static int ST_MEDIA_DELIMITER = 7; - final public static int ST_SELECTOR_MODIFIER = 10; - final public static int YYINITIAL = 0; - - /** - * Translates characters to character classes - */ - final private static String yycmap_packed = - "\11\0\1\12\1\17\1\0\1\4\1\20\22\0\1\6\1\31\1\11"+ - "\1\21\1\16\1\72\1\16\1\5\1\25\1\13\1\35\1\14\1\55"+ - "\1\10\1\15\1\34\12\1\1\62\1\50\1\30\1\67\1\32\1\27"+ - "\1\36\1\43\1\26\1\40\1\57\1\46\1\64\1\61\1\41\1\51"+ - "\2\2\1\24\1\52\1\65\1\54\1\53\1\2\1\23\1\44\1\47"+ - "\1\22\5\2\1\66\1\3\1\71\1\16\1\2\1\16\1\42\1\7"+ - "\1\37\1\56\1\45\1\63\1\61\1\41\1\51\2\2\1\24\1\52"+ - "\1\65\1\54\1\53\1\2\1\23\1\44\1\47\1\22\5\2\1\60"+ - "\1\70\1\33\1\70\1\0\uff80\2"; - - /** - * Translates characters to character classes - */ - final private static char [] yycmap = yy_unpack_cmap(yycmap_packed); - - /** - * Translates a state to a row index in the transition table - */ - final private static int yy_rowMap [] = { - 0, 59, 118, 177, 236, 295, 354, 413, 472, 531, - 590, 649, 708, 767, 826, 885, 944, 1003, 1062, 1121, - 1180, 1239, 1298, 1357, 1416, 1475, 1534, 1121, 1593, 1121, - 1652, 1711, 1121, 1770, 1829, 1888, 1121, 1947, 2006, 2065, - 2124, 2183, 2242, 1121, 2301, 2360, 2419, 1121, 1121, 2478, - 2537, 2596, 1121, 2655, 2714, 1121, 1121, 2773, 2832, 2891, - 1121, 2950, 1121, 3009, 3068, 3127, 3186, 3245, 3304, 3363, - 3422, 1121, 1121, 3481, 3540, 3599, 3658, 3717, 3776, 1121, - 3835, 3894, 3953, 4012, 4071, 1593, 1121, 4130, 1239, 4189, - 4248, 1416, 4307, 1475, 4366, 4425, 4484, 4543, 4602, 4661, - 4720, 4779, 4838, 4897, 4956, 1770, 5015, 1121, 1888, 5074, - 1947, 5133, 1121, 2006, 5192, 5251, 2183, 5310, 2360, 5369, - 2537, 5428, 5487, 1121, 2714, 2832, 5546, 3068, 5605, 3127, - 5664, 1121, 3245, 5723, 3363, 5782, 5841, 5900, 5959, 3894, - 1121, 3599, 1121, 6018, 3658, 6077, 1121, 3776, 6136, 6195, - 3953, 6254, 6313, 6372, 4071, 6431, 1121, 4130, 6490, 1121, - 6549, 6608, 6667, 6726, 6785, 6844, 6903, 6962, 7021, 7080, - 7139, 7198, 1770, 7257, 7316, 1888, 7375, 7434, 1947, 7493, - 7552, 2006, 7611, 7670, 7729, 7788, 7847, 7906, 7965, 8024, - 3127, 8083, 8142, 3245, 8201, 8260, 8319, 8378, 8437, 3658, - 8496, 8555, 3776, 8614, 8673, 8732, 8791, 8850, 8909, 8968, - 9027, 1121, 1121, 9086, 9145, 9204, 9263, 9322, 9381, 9440, - 9499, 9558, 9617, 9676, 9735, 9794, 9853, 9912, 9971, 10030, - 10089, 10148, 10207, 10266, 10325, 10384, 10443, 10502, 10561, 10620, - 10679, 10738, 10797, 10856, 10915, 10974, 11033, 11092, 11151, 11210, - 1121, 11269, 11328, 1121, 11387, 11446, 11505, 11564, 11623, 11682, - 11741, 11800, 11859, 11918, 1121, 11977, 12036, 12095, 12154, 12213, - 12272, 12331, 12390, 12449, 12508, 12567, 12626, 12685, 12744, 12803, - 12862, 12921, 10797, 12980, 13039, 1121, 13098, 13157, 13216, 13275, - 13334, 13393, 1121, 13452, 13511, 13570, 13629, 13688, 13747, 13806, - 13865, 13924, 11741, 13983, 14042, 14101, 14160, 14219, 14278, 14337, - 14396, 14455, 14514, 14573, 14632, 14691, 14750, 14809, 14868, 14927, - 14986, 15045, 12862, 15104, 15163, 15222, 15281, 15340, 15399, 15458, - 1121, 15517, 15576, 15635, 15694, 15753, 15812, 15871, 15930, 15989, - 16048, 16107, 16166, 16225, 16284, 16343, 16402, 16461, 16520, 16579, - 16638, 16697, 16756, 16815, 16874, 16933, 16992, 17051, 17110, 17169, - 17228, 17287, 17346, 17405, 17464, 17523, 17582, 17641, 17700, 17759, - 1121, 17818, 17877, 17936, 17995, 18054, 18113, 18172, 18231, 18290, - 11859, 18349, 11918, 18408, 18467, 18526, 18585, 18644, 18703, 18762, - 18821, 18880, 18939, 12980, 18998, 13039, 19057, 19116, 19175, 19234, - 19293, 19352, 19411, 19470, 19529, 19588, 19647, 1121, 19706, 19765, - 19824, 19883, 1121, 19942, 20001, 20060, 1121, 20119, 20178, 20237, - 20296, 20355, 20414, 20473, 20532, 20591, 20650 - }; - - /** - * The packed transition table of the DFA - */ - final private static String yy_packed = - "\2\24\1\25\1\26\1\27\1\24\1\27\1\25\1\30"+ - "\1\24\1\27\2\24\1\31\1\24\2\27\1\32\3\25"+ - "\1\24\1\25\1\24\1\33\2\24\1\34\1\35\1\36"+ - "\1\37\11\25\1\24\4\25\1\24\2\25\1\24\1\25"+ - "\1\40\3\25\1\41\10\24\1\27\1\42\1\27\1\24"+ - "\1\43\1\44\1\27\4\24\2\27\7\24\1\33\2\24"+ - "\1\34\1\35\1\24\1\37\40\24\1\27\1\24\1\27"+ - "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+ - "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\26\24"+ - "\1\27\1\46\1\27\1\24\1\43\1\47\1\27\4\24"+ - "\2\27\1\24\1\50\5\24\1\33\2\24\1\34\1\35"+ - "\1\24\1\37\11\24\1\45\24\24\1\51\1\52\1\27"+ - "\1\24\1\27\1\51\1\53\1\24\1\27\4\24\2\27"+ - "\1\24\3\51\1\24\1\51\1\24\1\33\2\24\1\34"+ - "\1\35\1\24\1\37\11\51\1\45\4\51\1\24\2\51"+ - "\1\24\1\51\1\24\3\51\11\24\1\27\1\24\1\27"+ - "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+ - "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\4\24"+ - "\1\54\17\24\1\55\1\56\1\27\1\24\1\27\1\55"+ - "\1\57\1\24\1\27\4\24\2\27\1\24\3\55\1\24"+ - "\1\55\1\24\1\33\2\24\1\34\1\35\1\24\1\37"+ - "\11\55\1\24\4\55\1\24\2\55\1\24\1\55\1\24"+ - "\3\55\11\24\1\27\1\24\1\27\1\24\1\43\1\24"+ - "\1\27\4\24\2\27\7\24\1\33\2\24\1\34\1\35"+ - "\1\24\1\37\16\24\1\60\2\24\1\61\14\24\1\62"+ - "\1\63\1\27\1\24\1\27\1\62\1\64\1\24\1\27"+ - "\4\24\2\27\1\24\3\62\1\24\1\62\1\24\1\33"+ - "\2\24\1\34\1\35\1\24\1\37\11\62\1\24\4\62"+ - "\1\24\2\62\1\65\1\62\1\66\3\62\11\24\1\27"+ - "\1\24\1\27\1\24\1\43\1\24\1\27\4\24\2\27"+ - "\7\24\1\33\2\24\1\34\1\35\1\24\1\37\21\24"+ - "\1\65\16\24\1\67\1\24\1\67\1\24\1\43\1\24"+ - "\1\67\1\24\1\70\1\31\1\24\2\67\1\32\6\24"+ - "\1\33\1\24\1\70\1\34\1\35\1\36\1\37\16\24"+ - "\1\71\2\24\1\65\1\24\1\40\3\24\1\41\6\24"+ - "\1\72\1\73\1\27\1\24\1\27\1\72\1\74\1\24"+ - "\1\27\4\24\2\27\1\24\3\72\1\24\1\72\1\24"+ - "\1\33\2\24\1\34\1\35\1\24\1\37\11\72\1\24"+ - "\4\72\1\24\2\72\1\24\1\72\1\24\3\72\11\24"+ - "\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24"+ - "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37"+ - "\30\24\1\75\1\76\1\77\3\24\1\100\1\101\1\27"+ - "\1\102\1\27\1\100\1\103\1\104\1\27\4\24\2\27"+ - "\1\24\3\100\1\24\1\100\1\24\1\33\2\24\1\34"+ - "\1\35\1\24\1\37\11\100\1\24\4\100\1\24\2\100"+ - "\1\24\1\100\1\24\3\100\11\24\1\27\1\24\1\27"+ - "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+ - "\2\24\1\34\1\35\1\24\1\37\32\24\1\77\3\24"+ - "\1\105\1\106\1\27\1\24\1\27\1\105\1\107\1\24"+ - "\1\27\4\24\2\27\1\24\3\105\1\24\1\105\1\24"+ - "\1\33\2\24\1\34\1\35\1\24\1\37\11\105\1\110"+ - "\4\105\1\24\2\105\1\24\1\105\1\24\3\105\11\24"+ - "\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24"+ - "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37"+ - "\11\24\1\110\11\24\1\111\11\24\1\112\1\113\1\114"+ - "\1\27\1\115\1\27\1\113\1\116\1\117\1\27\1\120"+ - "\1\121\1\122\1\24\2\27\1\123\1\124\2\113\1\24"+ - "\1\113\1\24\1\33\1\125\1\24\1\34\1\126\1\24"+ - "\1\37\11\113\1\110\4\113\1\127\2\113\1\24\1\113"+ - "\1\24\3\113\6\24\1\112\1\113\1\114\1\130\1\115"+ - "\1\130\1\113\1\116\1\117\1\130\1\120\1\121\1\122"+ - "\1\24\2\130\1\123\1\124\2\113\1\24\1\113\1\24"+ - "\1\33\1\125\1\24\1\34\1\126\1\24\1\37\11\113"+ - "\1\110\4\113\1\127\2\113\1\24\1\113\1\24\3\113"+ - "\5\24\74\0\2\25\1\131\3\0\2\25\11\0\3\25"+ - "\1\0\1\25\10\0\11\25\1\0\4\25\1\0\2\25"+ - "\1\0\1\25\1\0\3\25\6\0\1\132\2\25\1\0"+ - "\2\25\1\132\2\25\1\0\4\25\2\0\16\25\1\132"+ - "\2\25\1\132\2\25\1\132\10\25\1\132\4\25\1\132"+ - "\7\25\4\0\1\27\1\0\1\27\3\0\1\27\4\0"+ - "\2\27\54\0\1\25\1\131\3\0\1\25\1\133\11\0"+ - "\3\25\1\0\1\25\10\0\11\25\1\0\4\25\1\0"+ - "\2\25\1\0\1\25\1\0\3\25\6\0\2\134\1\135"+ - "\3\0\2\134\11\0\3\134\1\0\1\134\10\0\11\134"+ - "\1\0\4\134\1\0\2\134\1\0\1\134\1\0\3\134"+ - "\6\0\2\136\1\137\3\0\2\136\11\0\3\136\1\0"+ - "\1\136\10\0\11\136\1\0\4\136\1\0\2\136\1\0"+ - "\1\136\1\0\3\136\36\0\1\140\76\0\1\141\74\0"+ - "\2\142\10\0\1\143\1\144\1\145\7\0\2\146\10\0"+ - "\1\147\1\150\3\0\1\147\1\151\11\0\3\147\1\0"+ - "\1\147\10\0\11\147\1\0\4\147\1\0\2\147\1\0"+ - "\1\147\1\0\3\147\6\0\2\152\1\153\1\0\1\154"+ - "\11\152\2\0\52\152\10\0\1\133\63\0\2\155\1\156"+ - "\1\0\4\155\1\154\5\155\2\0\52\155\1\0\2\157"+ - "\1\160\1\0\1\161\11\157\2\0\52\157\1\0\2\162"+ - "\1\163\1\0\4\162\1\161\5\162\2\0\52\162\23\0"+ - "\1\164\50\0\2\51\1\165\3\0\2\51\11\0\3\51"+ - "\1\0\1\51\10\0\11\51\1\0\4\51\1\0\2\51"+ - "\1\0\1\51\1\0\3\51\6\0\1\166\2\51\1\0"+ - "\2\51\1\166\2\51\1\0\4\51\2\0\16\51\1\166"+ - "\2\51\1\166\2\51\1\166\10\51\1\166\4\51\1\166"+ - "\7\51\2\0\1\51\1\165\3\0\1\51\1\133\11\0"+ - "\3\51\1\0\1\51\10\0\11\51\1\0\4\51\1\0"+ - "\2\51\1\0\1\51\1\0\3\51\6\0\2\55\1\167"+ - "\3\0\2\55\11\0\3\55\1\0\1\55\10\0\11\55"+ - "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\3\55"+ - "\6\0\1\170\2\55\1\0\2\55\1\170\2\55\1\0"+ - "\4\55\2\0\16\55\1\170\2\55\1\170\2\55\1\170"+ - "\10\55\1\170\4\55\1\170\7\55\2\0\1\55\1\167"+ - "\3\0\1\55\1\133\11\0\3\55\1\0\1\55\10\0"+ - "\11\55\1\0\4\55\1\0\2\55\1\0\1\55\1\0"+ - "\3\55\6\0\2\62\1\171\3\0\2\62\11\0\3\62"+ - "\1\0\1\62\10\0\11\62\1\0\4\62\1\0\2\62"+ - "\1\0\1\62\1\0\3\62\6\0\1\172\2\62\1\0"+ - "\2\62\1\172\2\62\1\0\4\62\2\0\16\62\1\172"+ - "\2\62\1\172\2\62\1\172\10\62\1\172\4\62\1\172"+ - "\7\62\2\0\1\62\1\171\3\0\1\62\1\133\11\0"+ - "\3\62\1\0\1\62\10\0\11\62\1\0\4\62\1\0"+ - "\2\62\1\0\1\62\1\0\3\62\7\0\1\62\1\171"+ - "\3\0\1\62\1\173\11\0\3\62\1\0\1\62\10\0"+ - "\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0"+ - "\3\62\5\0\4\174\1\175\1\174\1\175\3\174\1\175"+ - "\1\174\1\0\2\174\2\175\11\174\1\0\25\174\1\0"+ - "\12\174\1\0\2\72\1\176\3\0\2\72\11\0\3\72"+ - "\1\0\1\72\10\0\11\72\1\0\4\72\1\0\2\72"+ - "\1\0\1\72\1\0\3\72\6\0\1\177\2\72\1\0"+ - "\2\72\1\177\2\72\1\0\4\72\2\0\16\72\1\177"+ - "\2\72\1\177\2\72\1\177\10\72\1\177\4\72\1\177"+ - "\7\72\2\0\1\72\1\176\3\0\1\72\1\133\11\0"+ - "\3\72\1\0\1\72\10\0\11\72\1\0\4\72\1\0"+ - "\2\72\1\0\1\72\1\0\3\72\74\0\1\75\4\0"+ - "\2\100\1\200\3\0\2\100\11\0\3\100\1\0\1\100"+ - "\10\0\11\100\1\0\4\100\1\0\2\100\1\0\1\100"+ - "\1\0\3\100\6\0\1\201\2\100\1\0\2\100\1\201"+ - "\2\100\1\0\4\100\2\0\16\100\1\201\2\100\1\201"+ - "\2\100\1\201\10\100\1\201\4\100\1\201\7\100\1\0"+ - "\2\202\1\203\1\0\1\204\11\202\2\0\52\202\2\0"+ - "\1\100\1\200\3\0\1\100\1\133\11\0\3\100\1\0"+ - "\1\100\10\0\11\100\1\0\4\100\1\0\2\100\1\0"+ - "\1\100\1\0\3\100\6\0\2\205\1\206\1\0\4\205"+ - "\1\204\5\205\2\0\52\205\1\0\2\105\1\207\3\0"+ - "\2\105\11\0\3\105\1\0\1\105\10\0\11\105\1\0"+ - "\4\105\1\0\2\105\1\0\1\105\1\0\3\105\6\0"+ - "\1\210\2\105\1\0\2\105\1\210\2\105\1\0\4\105"+ - "\2\0\16\105\1\210\2\105\1\210\2\105\1\210\10\105"+ - "\1\210\4\105\1\210\7\105\2\0\1\105\1\207\3\0"+ - "\1\105\1\133\11\0\3\105\1\0\1\105\10\0\11\105"+ - "\1\0\4\105\1\0\2\105\1\0\1\105\1\0\3\105"+ - "\6\0\1\112\1\211\1\212\3\0\1\211\1\213\4\0"+ - "\1\214\4\0\3\211\1\0\1\211\10\0\11\211\1\0"+ - "\4\211\1\0\2\211\1\0\1\211\1\0\3\211\4\0"+ - "\1\215\1\0\2\113\1\216\3\0\2\113\11\0\3\113"+ - "\1\217\1\113\10\0\11\113\1\0\4\113\1\0\2\113"+ - "\1\0\1\113\1\0\3\113\6\0\1\220\2\113\1\0"+ - "\2\113\1\220\2\113\1\0\4\113\2\0\16\113\1\220"+ - "\2\113\1\220\2\113\1\220\10\113\1\220\4\113\1\220"+ - "\7\113\1\0\2\221\1\222\1\0\1\223\11\221\2\0"+ - "\52\221\1\0\1\112\1\113\1\216\3\0\1\113\1\133"+ - "\4\0\1\214\4\0\3\113\1\0\1\113\10\0\11\113"+ - "\1\0\4\113\1\0\2\113\1\0\1\113\1\0\3\113"+ - "\6\0\2\224\1\225\1\0\4\224\1\223\5\224\2\0"+ - "\52\224\1\0\1\112\13\0\1\214\56\0\1\226\72\0"+ - "\2\227\1\230\3\0\2\227\11\0\3\227\1\0\1\227"+ - "\10\0\11\227\1\0\4\227\1\0\2\227\1\0\1\227"+ - "\1\0\3\227\6\0\2\113\1\216\3\0\2\113\3\0"+ - "\1\231\5\0\1\113\1\232\1\113\1\217\1\113\10\0"+ - "\11\113\1\0\4\113\1\0\2\113\1\0\1\113\1\0"+ - "\3\113\11\0\1\233\1\0\1\233\3\0\1\233\4\0"+ - "\2\233\30\0\1\234\21\0\4\235\1\236\1\235\1\236"+ - "\3\235\1\236\4\235\2\236\12\235\1\0\14\235\1\0"+ - "\22\235\1\0\1\237\1\25\1\131\1\25\1\0\1\25"+ - "\1\237\1\25\1\0\1\25\4\0\2\25\1\0\3\25"+ - "\1\0\1\25\10\0\1\237\2\25\1\237\2\25\1\237"+ - "\2\25\1\0\4\25\1\0\1\237\1\25\1\0\1\25"+ - "\1\0\1\237\2\25\37\0\1\240\41\0\1\241\2\134"+ - "\1\0\2\134\1\241\2\134\1\0\4\134\2\0\16\134"+ - "\1\241\2\134\1\241\2\134\1\241\10\134\1\241\4\134"+ - "\1\241\7\134\1\0\1\242\2\136\1\0\2\136\1\242"+ - "\2\136\1\0\4\136\2\0\16\136\1\242\2\136\1\242"+ - "\2\136\1\242\10\136\1\242\4\136\1\242\7\136\10\0"+ - "\1\243\62\0\35\141\1\244\35\141\41\0\1\245\103\0"+ - "\1\246\65\0\2\247\66\0\2\250\103\0\1\251\17\0"+ - "\2\147\1\150\3\0\2\147\11\0\3\147\1\252\1\147"+ - "\10\0\11\147\1\0\4\147\1\0\2\147\1\0\1\147"+ - "\1\0\3\147\6\0\1\253\2\147\1\0\2\147\1\253"+ - "\2\147\1\0\4\147\2\0\16\147\1\253\2\147\1\253"+ - "\2\147\1\253\10\147\1\253\4\147\1\253\7\147\2\0"+ - "\1\147\1\150\3\0\1\147\12\0\3\147\1\0\1\147"+ - "\10\0\11\147\1\0\4\147\1\0\2\147\1\0\1\147"+ - "\1\0\3\147\6\0\1\254\1\152\1\153\1\152\1\255"+ - "\1\152\1\254\10\152\1\256\16\152\1\254\2\152\1\254"+ - "\2\152\1\254\10\152\1\254\4\152\1\254\7\152\1\0"+ - "\1\257\1\155\1\156\3\155\1\257\1\155\1\260\6\155"+ - "\1\261\16\155\1\257\2\155\1\257\2\155\1\257\10\155"+ - "\1\257\4\155\1\257\7\155\1\0\1\262\1\157\1\160"+ - "\1\157\1\263\1\157\1\262\10\157\1\264\16\157\1\262"+ - "\2\157\1\262\2\157\1\262\10\157\1\262\4\157\1\262"+ - "\7\157\1\0\1\265\1\162\1\163\3\162\1\265\1\162"+ - "\1\266\6\162\1\267\16\162\1\265\2\162\1\265\2\162"+ - "\1\265\10\162\1\265\4\162\1\265\7\162\24\0\1\270"+ - "\47\0\1\271\1\51\1\165\1\51\1\0\1\51\1\271"+ - "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0"+ - "\1\51\10\0\1\271\2\51\1\271\2\51\1\271\2\51"+ - "\1\0\4\51\1\0\1\271\1\51\1\0\1\51\1\0"+ - "\1\271\2\51\6\0\1\272\1\55\1\167\1\55\1\0"+ - "\1\55\1\272\1\55\1\0\1\55\4\0\2\55\1\0"+ - "\3\55\1\0\1\55\10\0\1\272\2\55\1\272\2\55"+ - "\1\272\2\55\1\0\4\55\1\0\1\272\1\55\1\0"+ - "\1\55\1\0\1\272\2\55\6\0\1\273\1\62\1\171"+ - "\1\62\1\0\1\62\1\273\1\62\1\0\1\62\4\0"+ - "\2\62\1\0\3\62\1\0\1\62\10\0\1\273\2\62"+ - "\1\273\2\62\1\273\2\62\1\0\4\62\1\0\1\273"+ - "\1\62\1\0\1\62\1\0\1\273\2\62\7\0\1\62"+ - "\1\171\3\0\1\62\12\0\3\62\1\0\1\62\10\0"+ - "\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0"+ - "\3\62\6\0\1\274\1\72\1\176\1\72\1\0\1\72"+ - "\1\274\1\72\1\0\1\72\4\0\2\72\1\0\3\72"+ - "\1\0\1\72\10\0\1\274\2\72\1\274\2\72\1\274"+ - "\2\72\1\0\4\72\1\0\1\274\1\72\1\0\1\72"+ - "\1\0\1\274\2\72\6\0\1\275\1\100\1\200\1\100"+ - "\1\0\1\100\1\275\1\100\1\0\1\100\4\0\2\100"+ - "\1\0\3\100\1\0\1\100\10\0\1\275\2\100\1\275"+ - "\2\100\1\275\2\100\1\0\4\100\1\0\1\275\1\100"+ - "\1\0\1\100\1\0\1\275\2\100\6\0\1\276\1\202"+ - "\1\203\1\202\1\277\1\202\1\276\10\202\1\300\16\202"+ - "\1\276\2\202\1\276\2\202\1\276\10\202\1\276\4\202"+ - "\1\276\7\202\1\0\1\301\1\205\1\206\3\205\1\301"+ - "\1\205\1\302\6\205\1\303\16\205\1\301\2\205\1\301"+ - "\2\205\1\301\10\205\1\301\4\205\1\301\7\205\1\0"+ - "\1\304\1\105\1\207\1\105\1\0\1\105\1\304\1\105"+ - "\1\0\1\105\4\0\2\105\1\0\3\105\1\0\1\105"+ - "\10\0\1\304\2\105\1\304\2\105\1\304\2\105\1\0"+ - "\4\105\1\0\1\304\1\105\1\0\1\105\1\0\1\304"+ - "\2\105\6\0\2\211\1\212\3\0\2\211\11\0\3\211"+ - "\1\0\1\211\10\0\11\211\1\0\4\211\1\0\2\211"+ - "\1\0\1\211\1\0\3\211\6\0\1\305\2\211\1\0"+ - "\2\211\1\305\2\211\1\0\4\211\2\0\16\211\1\305"+ - "\2\211\1\305\2\211\1\305\10\211\1\305\4\211\1\305"+ - "\7\211\2\0\1\211\1\212\3\0\1\211\12\0\3\211"+ - "\1\0\1\211\10\0\11\211\1\0\4\211\1\0\2\211"+ - "\1\0\1\211\1\0\3\211\6\0\1\306\1\113\1\216"+ - "\1\113\1\0\1\113\1\306\1\113\1\0\1\113\4\0"+ - "\2\113\1\0\3\113\1\217\1\113\10\0\1\306\2\113"+ - "\1\306\2\113\1\306\2\113\1\0\4\113\1\0\1\306"+ - "\1\113\1\0\1\113\1\0\1\306\2\113\6\0\1\307"+ - "\1\221\1\222\1\221\1\310\1\221\1\307\10\221\1\311"+ - "\16\221\1\307\2\221\1\307\2\221\1\307\10\221\1\307"+ - "\4\221\1\307\7\221\1\0\1\312\1\224\1\225\3\224"+ - "\1\312\1\224\1\313\6\224\1\314\16\224\1\312\2\224"+ - "\1\312\2\224\1\312\10\224\1\312\4\224\1\312\7\224"+ - "\1\0\1\226\1\211\1\212\3\0\1\211\1\213\11\0"+ - "\3\211\1\0\1\211\10\0\11\211\1\0\4\211\1\0"+ - "\2\211\1\0\1\211\1\0\3\211\4\0\1\215\1\0"+ - "\1\315\2\227\1\0\2\227\1\315\2\227\1\0\4\227"+ - "\2\0\16\227\1\315\2\227\1\315\2\227\1\315\10\227"+ - "\1\315\4\227\1\315\7\227\1\0\1\316\5\0\1\316"+ - "\16\0\2\316\7\0\2\316\1\0\2\316\1\0\2\316"+ - "\7\0\2\316\3\0\2\316\7\0\2\113\1\216\3\0"+ - "\2\113\11\0\2\113\1\317\1\217\1\113\10\0\11\113"+ - "\1\0\4\113\1\0\2\113\1\0\1\113\1\0\3\113"+ - "\57\0\1\320\21\0\1\321\1\25\1\131\1\25\1\0"+ - "\1\25\1\321\1\25\1\0\1\25\4\0\2\25\1\0"+ - "\3\25\1\0\1\25\10\0\1\321\2\25\1\321\2\25"+ - "\1\321\2\25\1\0\4\25\1\0\1\321\1\25\1\0"+ - "\1\25\1\0\1\321\2\25\6\0\1\322\1\134\1\135"+ - "\1\134\1\0\1\134\1\322\1\134\1\0\1\134\4\0"+ - "\2\134\1\0\3\134\1\0\1\134\10\0\1\322\2\134"+ - "\1\322\2\134\1\322\2\134\1\0\4\134\1\0\1\322"+ - "\1\134\1\0\1\134\1\0\1\322\2\134\6\0\1\323"+ - "\1\136\1\137\1\136\1\0\1\136\1\323\1\136\1\0"+ - "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0"+ - "\1\323\2\136\1\323\2\136\1\323\2\136\1\0\4\136"+ - "\1\0\1\323\1\136\1\0\1\136\1\0\1\323\2\136"+ - "\15\0\1\324\62\0\34\141\1\325\1\244\35\141\42\0"+ - "\2\326\102\0\1\327\75\0\2\330\74\0\1\331\76\0"+ - "\1\332\7\0\1\333\1\334\1\252\1\0\1\252\1\333"+ - "\1\335\1\0\1\252\4\0\2\252\1\0\3\333\1\0"+ - "\1\333\10\0\11\333\1\0\4\333\1\0\2\333\1\0"+ - "\1\333\1\0\3\333\6\0\1\336\1\147\1\150\1\147"+ - "\1\0\1\147\1\336\1\147\1\0\1\147\4\0\2\147"+ - "\1\0\3\147\1\252\1\147\10\0\1\336\2\147\1\336"+ - "\2\147\1\336\2\147\1\0\4\147\1\0\1\336\1\147"+ - "\1\0\1\147\1\0\1\336\2\147\6\0\1\337\1\152"+ - "\1\153\1\152\1\154\1\152\1\337\27\152\1\337\2\152"+ - "\1\337\2\152\1\337\10\152\1\337\4\152\1\337\7\152"+ - "\1\0\2\152\1\153\1\0\1\154\12\152\1\0\52\152"+ - "\1\0\1\340\1\155\1\156\3\155\1\340\1\155\1\154"+ - "\25\155\1\340\2\155\1\340\2\155\1\340\10\155\1\340"+ - "\4\155\1\340\7\155\1\0\2\155\1\156\1\0\4\155"+ - "\1\154\6\155\1\0\52\155\1\0\1\341\1\157\1\160"+ - "\1\157\1\161\1\157\1\341\27\157\1\341\2\157\1\341"+ - "\2\157\1\341\10\157\1\341\4\157\1\341\7\157\1\0"+ - "\2\157\1\160\1\0\1\161\12\157\1\0\52\157\1\0"+ - "\1\342\1\162\1\163\3\162\1\342\1\162\1\161\25\162"+ - "\1\342\2\162\1\342\2\162\1\342\10\162\1\342\4\162"+ - "\1\342\7\162\1\0\2\162\1\163\1\0\4\162\1\161"+ - "\6\162\1\0\52\162\25\0\1\343\46\0\1\344\1\51"+ - "\1\165\1\51\1\0\1\51\1\344\1\51\1\0\1\51"+ - "\4\0\2\51\1\0\3\51\1\0\1\51\10\0\1\344"+ - "\2\51\1\344\2\51\1\344\2\51\1\0\4\51\1\0"+ - "\1\344\1\51\1\0\1\51\1\0\1\344\2\51\6\0"+ - "\1\345\1\55\1\167\1\55\1\0\1\55\1\345\1\55"+ - "\1\0\1\55\4\0\2\55\1\0\3\55\1\0\1\55"+ - "\10\0\1\345\2\55\1\345\2\55\1\345\2\55\1\0"+ - "\4\55\1\0\1\345\1\55\1\0\1\55\1\0\1\345"+ - "\2\55\6\0\1\346\1\62\1\171\1\62\1\0\1\62"+ - "\1\346\1\62\1\0\1\62\4\0\2\62\1\0\3\62"+ - "\1\0\1\62\10\0\1\346\2\62\1\346\2\62\1\346"+ - "\2\62\1\0\4\62\1\0\1\346\1\62\1\0\1\62"+ - "\1\0\1\346\2\62\6\0\1\347\1\72\1\176\1\72"+ - "\1\0\1\72\1\347\1\72\1\0\1\72\4\0\2\72"+ - "\1\0\3\72\1\0\1\72\10\0\1\347\2\72\1\347"+ - "\2\72\1\347\2\72\1\0\4\72\1\0\1\347\1\72"+ - "\1\0\1\72\1\0\1\347\2\72\6\0\1\350\1\100"+ - "\1\200\1\100\1\0\1\100\1\350\1\100\1\0\1\100"+ - "\4\0\2\100\1\0\3\100\1\0\1\100\10\0\1\350"+ - "\2\100\1\350\2\100\1\350\2\100\1\0\4\100\1\0"+ - "\1\350\1\100\1\0\1\100\1\0\1\350\2\100\6\0"+ - "\1\351\1\202\1\203\1\202\1\204\1\202\1\351\27\202"+ - "\1\351\2\202\1\351\2\202\1\351\10\202\1\351\4\202"+ - "\1\351\7\202\1\0\2\202\1\203\1\0\1\204\12\202"+ - "\1\0\52\202\1\0\1\352\1\205\1\206\3\205\1\352"+ - "\1\205\1\204\25\205\1\352\2\205\1\352\2\205\1\352"+ - "\10\205\1\352\4\205\1\352\7\205\1\0\2\205\1\206"+ - "\1\0\4\205\1\204\6\205\1\0\52\205\1\0\1\353"+ - "\1\105\1\207\1\105\1\0\1\105\1\353\1\105\1\0"+ - "\1\105\4\0\2\105\1\0\3\105\1\0\1\105\10\0"+ - "\1\353\2\105\1\353\2\105\1\353\2\105\1\0\4\105"+ - "\1\0\1\353\1\105\1\0\1\105\1\0\1\353\2\105"+ - "\6\0\1\354\1\211\1\212\1\211\1\0\1\211\1\354"+ - "\1\211\1\0\1\211\4\0\2\211\1\0\3\211\1\0"+ - "\1\211\10\0\1\354\2\211\1\354\2\211\1\354\2\211"+ - "\1\0\4\211\1\0\1\354\1\211\1\0\1\211\1\0"+ - "\1\354\2\211\6\0\1\355\1\113\1\216\1\113\1\0"+ - "\1\113\1\355\1\113\1\0\1\113\4\0\2\113\1\0"+ - "\3\113\1\217\1\113\10\0\1\355\2\113\1\355\2\113"+ - "\1\355\2\113\1\0\4\113\1\0\1\355\1\113\1\0"+ - "\1\113\1\0\1\355\2\113\6\0\1\356\1\221\1\222"+ - "\1\221\1\223\1\221\1\356\27\221\1\356\2\221\1\356"+ - "\2\221\1\356\10\221\1\356\4\221\1\356\7\221\1\0"+ - "\2\221\1\222\1\0\1\223\12\221\1\0\52\221\1\0"+ - "\1\357\1\224\1\225\3\224\1\357\1\224\1\223\25\224"+ - "\1\357\2\224\1\357\2\224\1\357\10\224\1\357\4\224"+ - "\1\357\7\224\1\0\2\224\1\225\1\0\4\224\1\223"+ - "\6\224\1\0\52\224\1\0\1\360\1\227\1\230\1\227"+ - "\1\0\1\227\1\360\1\227\1\0\1\227\4\0\2\227"+ - "\1\0\3\227\1\0\1\227\10\0\1\360\2\227\1\360"+ - "\2\227\1\360\2\227\1\0\4\227\1\0\1\360\1\227"+ - "\1\0\1\227\1\0\1\360\2\227\6\0\1\361\5\0"+ - "\1\361\1\362\15\0\2\361\7\0\2\361\1\0\2\361"+ - "\1\0\2\361\7\0\2\361\3\0\2\361\7\0\2\113"+ - "\1\216\3\0\2\113\11\0\3\113\1\363\1\113\10\0"+ - "\11\113\1\0\4\113\1\0\2\113\1\0\1\113\1\0"+ - "\3\113\60\0\1\364\20\0\1\365\1\25\1\131\1\25"+ - "\1\0\1\25\1\365\1\25\1\0\1\25\4\0\2\25"+ - "\1\0\3\25\1\0\1\25\10\0\1\365\2\25\1\365"+ - "\2\25\1\365\2\25\1\0\4\25\1\0\1\365\1\25"+ - "\1\0\1\25\1\0\1\365\2\25\6\0\1\366\1\134"+ - "\1\135\1\134\1\0\1\134\1\366\1\134\1\0\1\134"+ - "\4\0\2\134\1\0\3\134\1\0\1\134\10\0\1\366"+ - "\2\134\1\366\2\134\1\366\2\134\1\0\4\134\1\0"+ - "\1\366\1\134\1\0\1\134\1\0\1\366\2\134\6\0"+ - "\1\367\1\136\1\137\1\136\1\0\1\136\1\367\1\136"+ - "\1\0\1\136\4\0\2\136\1\0\3\136\1\0\1\136"+ - "\10\0\1\367\2\136\1\367\2\136\1\367\2\136\1\0"+ - "\4\136\1\0\1\367\1\136\1\0\1\136\1\0\1\367"+ - "\2\136\30\0\1\370\123\0\1\371\67\0\1\372\66\0"+ - "\2\373\73\0\1\374\24\0\2\333\1\334\1\375\1\0"+ - "\1\375\2\333\1\0\1\375\1\376\3\0\2\375\1\0"+ - "\3\333\1\0\1\333\10\0\11\333\1\0\4\333\1\0"+ - "\2\333\1\0\1\333\1\0\3\333\6\0\1\377\2\333"+ - "\1\0\2\333\1\377\2\333\1\0\4\333\2\0\16\333"+ - "\1\377\2\333\1\377\2\333\1\377\10\333\1\377\4\333"+ - "\1\377\7\333\2\0\1\333\1\334\3\0\1\333\12\0"+ - "\3\333\1\0\1\333\10\0\11\333\1\0\4\333\1\0"+ - "\2\333\1\0\1\333\1\0\3\333\6\0\1\u0100\1\147"+ - "\1\150\1\147\1\0\1\147\1\u0100\1\147\1\0\1\147"+ - "\4\0\2\147\1\0\3\147\1\252\1\147\10\0\1\u0100"+ - "\2\147\1\u0100\2\147\1\u0100\2\147\1\0\4\147\1\0"+ - "\1\u0100\1\147\1\0\1\147\1\0\1\u0100\2\147\6\0"+ - "\1\u0101\1\152\1\153\1\152\1\154\1\152\1\u0101\27\152"+ - "\1\u0101\2\152\1\u0101\2\152\1\u0101\10\152\1\u0101\4\152"+ - "\1\u0101\7\152\1\0\1\u0102\1\155\1\156\3\155\1\u0102"+ - "\1\155\1\154\25\155\1\u0102\2\155\1\u0102\2\155\1\u0102"+ - "\10\155\1\u0102\4\155\1\u0102\7\155\1\0\1\u0103\1\157"+ - "\1\160\1\157\1\161\1\157\1\u0103\27\157\1\u0103\2\157"+ - "\1\u0103\2\157\1\u0103\10\157\1\u0103\4\157\1\u0103\7\157"+ - "\1\0\1\u0104\1\162\1\163\3\162\1\u0104\1\162\1\161"+ - "\25\162\1\u0104\2\162\1\u0104\2\162\1\u0104\10\162\1\u0104"+ - "\4\162\1\u0104\7\162\1\0\2\u0105\1\u0106\1\343\1\u0107"+ - "\1\343\2\u0105\1\u0108\1\343\1\u0109\3\u0105\2\343\4\u0105"+ - "\1\0\45\u0105\1\0\1\u010a\1\51\1\165\1\51\1\0"+ - "\1\51\1\u010a\1\51\1\0\1\51\4\0\2\51\1\0"+ - "\3\51\1\0\1\51\10\0\1\u010a\2\51\1\u010a\2\51"+ - "\1\u010a\2\51\1\0\4\51\1\0\1\u010a\1\51\1\0"+ - "\1\51\1\0\1\u010a\2\51\6\0\1\u010b\1\55\1\167"+ - "\1\55\1\0\1\55\1\u010b\1\55\1\0\1\55\4\0"+ - "\2\55\1\0\3\55\1\0\1\55\10\0\1\u010b\2\55"+ - "\1\u010b\2\55\1\u010b\2\55\1\0\4\55\1\0\1\u010b"+ - "\1\55\1\0\1\55\1\0\1\u010b\2\55\6\0\1\u010c"+ - "\1\62\1\171\1\62\1\0\1\62\1\u010c\1\62\1\0"+ - "\1\62\4\0\2\62\1\0\3\62\1\0\1\62\10\0"+ - "\1\u010c\2\62\1\u010c\2\62\1\u010c\2\62\1\0\4\62"+ - "\1\0\1\u010c\1\62\1\0\1\62\1\0\1\u010c\2\62"+ - "\6\0\1\u010d\1\72\1\176\1\72\1\0\1\72\1\u010d"+ - "\1\72\1\0\1\72\4\0\2\72\1\0\3\72\1\0"+ - "\1\72\10\0\1\u010d\2\72\1\u010d\2\72\1\u010d\2\72"+ - "\1\0\4\72\1\0\1\u010d\1\72\1\0\1\72\1\0"+ - "\1\u010d\2\72\6\0\1\u010e\1\100\1\200\1\100\1\0"+ - "\1\100\1\u010e\1\100\1\0\1\100\4\0\2\100\1\0"+ - "\3\100\1\0\1\100\10\0\1\u010e\2\100\1\u010e\2\100"+ - "\1\u010e\2\100\1\0\4\100\1\0\1\u010e\1\100\1\0"+ - "\1\100\1\0\1\u010e\2\100\6\0\1\u010f\1\202\1\203"+ - "\1\202\1\204\1\202\1\u010f\27\202\1\u010f\2\202\1\u010f"+ - "\2\202\1\u010f\10\202\1\u010f\4\202\1\u010f\7\202\1\0"+ - "\1\u0110\1\205\1\206\3\205\1\u0110\1\205\1\204\25\205"+ - "\1\u0110\2\205\1\u0110\2\205\1\u0110\10\205\1\u0110\4\205"+ - "\1\u0110\7\205\1\0\1\u0111\1\105\1\207\1\105\1\0"+ - "\1\105\1\u0111\1\105\1\0\1\105\4\0\2\105\1\0"+ - "\3\105\1\0\1\105\10\0\1\u0111\2\105\1\u0111\2\105"+ - "\1\u0111\2\105\1\0\4\105\1\0\1\u0111\1\105\1\0"+ - "\1\105\1\0\1\u0111\2\105\6\0\1\u0112\1\211\1\212"+ - "\1\211\1\0\1\211\1\u0112\1\211\1\0\1\211\4\0"+ - "\2\211\1\0\3\211\1\0\1\211\10\0\1\u0112\2\211"+ - "\1\u0112\2\211\1\u0112\2\211\1\0\4\211\1\0\1\u0112"+ - "\1\211\1\0\1\211\1\0\1\u0112\2\211\6\0\1\u0113"+ - "\1\113\1\216\1\113\1\0\1\113\1\u0113\1\113\1\0"+ - "\1\113\4\0\2\113\1\0\3\113\1\217\1\113\10\0"+ - "\1\u0113\2\113\1\u0113\2\113\1\u0113\2\113\1\0\4\113"+ - "\1\0\1\u0113\1\113\1\0\1\113\1\0\1\u0113\2\113"+ - "\6\0\1\u0114\1\221\1\222\1\221\1\223\1\221\1\u0114"+ - "\27\221\1\u0114\2\221\1\u0114\2\221\1\u0114\10\221\1\u0114"+ - "\4\221\1\u0114\7\221\1\0\1\u0115\1\224\1\225\3\224"+ - "\1\u0115\1\224\1\223\25\224\1\u0115\2\224\1\u0115\2\224"+ - "\1\u0115\10\224\1\u0115\4\224\1\u0115\7\224\1\0\1\u0116"+ - "\1\227\1\230\1\227\1\0\1\227\1\u0116\1\227\1\0"+ - "\1\227\4\0\2\227\1\0\3\227\1\0\1\227\10\0"+ - "\1\u0116\2\227\1\u0116\2\227\1\u0116\2\227\1\0\4\227"+ - "\1\0\1\u0116\1\227\1\0\1\227\1\0\1\u0116\2\227"+ - "\6\0\1\u0117\5\0\1\u0117\1\362\15\0\2\u0117\7\0"+ - "\2\u0117\1\0\2\u0117\1\0\2\u0117\7\0\2\u0117\3\0"+ - "\2\u0117\7\0\1\u0118\5\0\1\u0118\16\0\2\u0118\7\0"+ - "\2\u0118\1\0\2\u0118\1\0\2\u0118\7\0\2\u0118\3\0"+ - "\2\u0118\7\0\2\u0119\1\u011a\1\u011b\1\u011c\1\u011b\2\u0119"+ - "\1\u011d\1\u011b\1\u011e\3\u0119\2\u011b\4\u0119\1\0\45\u0119"+ - "\54\0\1\u011f\17\0\1\u0120\1\25\1\131\1\25\1\0"+ - "\1\25\1\u0120\1\25\1\0\1\25\4\0\2\25\1\0"+ - "\3\25\1\0\1\25\10\0\1\u0120\2\25\1\u0120\2\25"+ - "\1\u0120\2\25\1\0\4\25\1\0\1\u0120\1\25\1\0"+ - "\1\25\1\0\1\u0120\2\25\6\0\1\u0121\1\134\1\135"+ - "\1\134\1\0\1\134\1\u0121\1\134\1\0\1\134\4\0"+ - "\2\134\1\0\3\134\1\0\1\134\10\0\1\u0121\2\134"+ - "\1\u0121\2\134\1\u0121\2\134\1\0\4\134\1\0\1\u0121"+ - "\1\134\1\0\1\134\1\0\1\u0121\2\134\6\0\1\u0122"+ - "\1\136\1\137\1\136\1\0\1\136\1\u0122\1\136\1\0"+ - "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0"+ - "\1\u0122\2\136\1\u0122\2\136\1\u0122\2\136\1\0\4\136"+ - "\1\0\1\u0122\1\136\1\0\1\136\1\0\1\u0122\2\136"+ - "\51\0\1\u0123\51\0\1\u0124\111\0\2\u0125\37\0\1\u0126"+ - "\66\0\1\375\1\0\1\375\3\0\1\375\1\376\3\0"+ - "\2\375\53\0\1\u0127\1\333\1\334\1\333\1\0\1\333"+ - "\1\u0127\1\333\1\0\1\333\1\376\3\0\2\333\1\0"+ - "\3\333\1\0\1\333\10\0\1\u0127\2\333\1\u0127\2\333"+ - "\1\u0127\2\333\1\0\4\333\1\0\1\u0127\1\333\1\0"+ - "\1\333\1\0\1\u0127\2\333\6\0\1\u0128\1\147\1\150"+ - "\1\147\1\0\1\147\1\u0128\1\147\1\0\1\147\4\0"+ - "\2\147\1\0\3\147\1\252\1\147\10\0\1\u0128\2\147"+ - "\1\u0128\2\147\1\u0128\2\147\1\0\4\147\1\0\1\u0128"+ - "\1\147\1\0\1\147\1\0\1\u0128\2\147\6\0\1\u0129"+ - "\1\152\1\153\1\152\1\154\1\152\1\u0129\27\152\1\u0129"+ - "\2\152\1\u0129\2\152\1\u0129\10\152\1\u0129\4\152\1\u0129"+ - "\7\152\1\0\1\u012a\1\155\1\156\3\155\1\u012a\1\155"+ - "\1\154\25\155\1\u012a\2\155\1\u012a\2\155\1\u012a\10\155"+ - "\1\u012a\4\155\1\u012a\7\155\1\0\1\u012b\1\157\1\160"+ - "\1\157\1\161\1\157\1\u012b\27\157\1\u012b\2\157\1\u012b"+ - "\2\157\1\u012b\10\157\1\u012b\4\157\1\u012b\7\157\1\0"+ - "\1\u012c\1\162\1\163\3\162\1\u012c\1\162\1\161\25\162"+ - "\1\u012c\2\162\1\u012c\2\162\1\u012c\10\162\1\u012c\4\162"+ - "\1\u012c\7\162\1\0\2\u0105\1\u0106\1\u012d\1\0\3\u0105"+ - "\1\0\1\u012d\1\u0109\3\u0105\2\u012d\4\u0105\1\0\45\u0105"+ - "\1\0\1\u012e\1\u0105\1\u0106\1\u012d\2\u0105\1\u012e\2\u0105"+ - "\1\u012d\1\u012f\3\u0105\2\u012d\16\u0105\1\u012e\2\u0105\1\u012e"+ - "\2\u0105\1\u012e\10\u0105\1\u012e\4\u0105\1\u012e\7\u0105\1\0"+ - "\2\u0107\1\u0130\1\0\1\u012d\11\u0107\2\0\52\u0107\1\0"+ - "\2\u0108\1\u0131\1\0\4\u0108\1\u012d\5\u0108\2\0\52\u0108"+ - "\1\0\1\u0132\1\51\1\165\1\51\1\0\1\51\1\u0132"+ - "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0"+ - "\1\51\10\0\1\u0132\2\51\1\u0132\2\51\1\u0132\2\51"+ - "\1\0\4\51\1\0\1\u0132\1\51\1\0\1\51\1\0"+ - "\1\u0132\2\51\6\0\1\u0133\1\55\1\167\1\55\1\0"+ - "\1\55\1\u0133\1\55\1\0\1\55\4\0\2\55\1\0"+ - "\3\55\1\0\1\55\10\0\1\u0133\2\55\1\u0133\2\55"+ - "\1\u0133\2\55\1\0\4\55\1\0\1\u0133\1\55\1\0"+ - "\1\55\1\0\1\u0133\2\55\6\0\1\u0134\1\62\1\171"+ - "\1\62\1\0\1\62\1\u0134\1\62\1\0\1\62\4\0"+ - "\2\62\1\0\3\62\1\0\1\62\10\0\1\u0134\2\62"+ - "\1\u0134\2\62\1\u0134\2\62\1\0\4\62\1\0\1\u0134"+ - "\1\62\1\0\1\62\1\0\1\u0134\2\62\6\0\1\u0135"+ - "\1\72\1\176\1\72\1\0\1\72\1\u0135\1\72\1\0"+ - "\1\72\4\0\2\72\1\0\3\72\1\0\1\72\10\0"+ - "\1\u0135\2\72\1\u0135\2\72\1\u0135\2\72\1\0\4\72"+ - "\1\0\1\u0135\1\72\1\0\1\72\1\0\1\u0135\2\72"+ - "\6\0\1\u0136\1\100\1\200\1\100\1\0\1\100\1\u0136"+ - "\1\100\1\0\1\100\4\0\2\100\1\0\3\100\1\0"+ - "\1\100\10\0\1\u0136\2\100\1\u0136\2\100\1\u0136\2\100"+ - "\1\0\4\100\1\0\1\u0136\1\100\1\0\1\100\1\0"+ - "\1\u0136\2\100\6\0\1\u0137\1\202\1\203\1\202\1\204"+ - "\1\202\1\u0137\27\202\1\u0137\2\202\1\u0137\2\202\1\u0137"+ - "\10\202\1\u0137\4\202\1\u0137\7\202\1\0\1\u0138\1\205"+ - "\1\206\3\205\1\u0138\1\205\1\204\25\205\1\u0138\2\205"+ - "\1\u0138\2\205\1\u0138\10\205\1\u0138\4\205\1\u0138\7\205"+ - "\1\0\1\u0139\1\105\1\207\1\105\1\0\1\105\1\u0139"+ - "\1\105\1\0\1\105\4\0\2\105\1\0\3\105\1\0"+ - "\1\105\10\0\1\u0139\2\105\1\u0139\2\105\1\u0139\2\105"+ - "\1\0\4\105\1\0\1\u0139\1\105\1\0\1\105\1\0"+ - "\1\u0139\2\105\6\0\1\u013a\1\211\1\212\1\211\1\0"+ - "\1\211\1\u013a\1\211\1\0\1\211\4\0\2\211\1\0"+ - "\3\211\1\0\1\211\10\0\1\u013a\2\211\1\u013a\2\211"+ - "\1\u013a\2\211\1\0\4\211\1\0\1\u013a\1\211\1\0"+ - "\1\211\1\0\1\u013a\2\211\6\0\1\u013b\1\113\1\216"+ - "\1\113\1\0\1\113\1\u013b\1\113\1\0\1\113\4\0"+ - "\2\113\1\0\3\113\1\217\1\113\10\0\1\u013b\2\113"+ - "\1\u013b\2\113\1\u013b\2\113\1\0\4\113\1\0\1\u013b"+ - "\1\113\1\0\1\113\1\0\1\u013b\2\113\6\0\1\u013c"+ - "\1\221\1\222\1\221\1\223\1\221\1\u013c\27\221\1\u013c"+ - "\2\221\1\u013c\2\221\1\u013c\10\221\1\u013c\4\221\1\u013c"+ - "\7\221\1\0\1\u013d\1\224\1\225\3\224\1\u013d\1\224"+ - "\1\223\25\224\1\u013d\2\224\1\u013d\2\224\1\u013d\10\224"+ - "\1\u013d\4\224\1\u013d\7\224\1\0\1\u013e\1\227\1\230"+ - "\1\227\1\0\1\227\1\u013e\1\227\1\0\1\227\4\0"+ - "\2\227\1\0\3\227\1\0\1\227\10\0\1\u013e\2\227"+ - "\1\u013e\2\227\1\u013e\2\227\1\0\4\227\1\0\1\u013e"+ - "\1\227\1\0\1\227\1\0\1\u013e\2\227\6\0\1\u013f"+ - "\5\0\1\u013f\1\362\15\0\2\u013f\7\0\2\u013f\1\0"+ - "\2\u013f\1\0\2\u013f\7\0\2\u013f\3\0\2\u013f\7\0"+ - "\1\u0140\5\0\1\u0140\16\0\2\u0140\7\0\2\u0140\1\0"+ - "\2\u0140\1\0\2\u0140\7\0\2\u0140\3\0\2\u0140\7\0"+ - "\2\u0119\1\u011a\1\u0141\1\0\3\u0119\1\0\1\u0141\1\u011e"+ - "\3\u0119\2\u0141\4\u0119\1\0\45\u0119\1\0\1\u0142\1\u0119"+ - "\1\u011a\1\u0141\2\u0119\1\u0142\2\u0119\1\u0141\1\u0143\3\u0119"+ - "\2\u0141\16\u0119\1\u0142\2\u0119\1\u0142\2\u0119\1\u0142\10\u0119"+ - "\1\u0142\4\u0119\1\u0142\7\u0119\1\0\2\u011c\1\u0144\1\0"+ - "\1\u0141\11\u011c\2\0\52\u011c\1\0\2\u011d\1\u0145\1\0"+ - "\4\u011d\1\u0141\5\u011d\2\0\52\u011d\23\0\1\u0146\50\0"+ - "\1\u0147\1\25\1\131\1\25\1\0\1\25\1\u0147\1\25"+ - "\1\0\1\25\4\0\2\25\1\0\3\25\1\0\1\25"+ - "\10\0\1\u0147\2\25\1\u0147\2\25\1\u0147\2\25\1\0"+ - "\4\25\1\0\1\u0147\1\25\1\0\1\25\1\0\1\u0147"+ - "\2\25\6\0\1\u0148\1\134\1\135\1\134\1\0\1\134"+ - "\1\u0148\1\134\1\0\1\134\4\0\2\134\1\0\3\134"+ - "\1\0\1\134\10\0\1\u0148\2\134\1\u0148\2\134\1\u0148"+ - "\2\134\1\0\4\134\1\0\1\u0148\1\134\1\0\1\134"+ - "\1\0\1\u0148\2\134\6\0\1\u0149\1\136\1\137\1\136"+ - "\1\0\1\136\1\u0149\1\136\1\0\1\136\4\0\2\136"+ - "\1\0\3\136\1\0\1\136\10\0\1\u0149\2\136\1\u0149"+ - "\2\136\1\u0149\2\136\1\0\4\136\1\0\1\u0149\1\136"+ - "\1\0\1\136\1\0\1\u0149\2\136\52\0\2\u014a\73\0"+ - "\1\u014b\106\0\2\u014c\7\0\1\u014d\1\333\1\334\1\333"+ - "\1\0\1\333\1\u014d\1\333\1\0\1\333\1\376\3\0"+ - "\2\333\1\0\3\333\1\0\1\333\10\0\1\u014d\2\333"+ - "\1\u014d\2\333\1\u014d\2\333\1\0\4\333\1\0\1\u014d"+ - "\1\333\1\0\1\333\1\0\1\u014d\2\333\6\0\1\u014e"+ - "\1\147\1\150\1\147\1\0\1\147\1\u014e\1\147\1\0"+ - "\1\147\4\0\2\147\1\0\3\147\1\252\1\147\10\0"+ - "\1\u014e\2\147\1\u014e\2\147\1\u014e\2\147\1\0\4\147"+ - "\1\0\1\u014e\1\147\1\0\1\147\1\0\1\u014e\2\147"+ - "\6\0\1\u014f\1\152\1\153\1\152\1\154\1\152\1\u014f"+ - "\27\152\1\u014f\2\152\1\u014f\2\152\1\u014f\10\152\1\u014f"+ - "\4\152\1\u014f\7\152\1\0\1\u0150\1\155\1\156\3\155"+ - "\1\u0150\1\155\1\154\25\155\1\u0150\2\155\1\u0150\2\155"+ - "\1\u0150\10\155\1\u0150\4\155\1\u0150\7\155\1\0\1\u0151"+ - "\1\157\1\160\1\157\1\161\1\157\1\u0151\27\157\1\u0151"+ - "\2\157\1\u0151\2\157\1\u0151\10\157\1\u0151\4\157\1\u0151"+ - "\7\157\1\0\1\u0152\1\162\1\163\3\162\1\u0152\1\162"+ - "\1\161\25\162\1\u0152\2\162\1\u0152\2\162\1\u0152\10\162"+ - "\1\u0152\4\162\1\u0152\7\162\4\0\1\u012d\1\0\1\u012d"+ - "\3\0\1\u012d\1\u0109\3\0\2\u012d\53\0\1\u0153\1\u0105"+ - "\1\u0106\1\u0105\1\0\1\u0105\1\u0153\1\u0105\1\0\1\u0105"+ - "\1\u0109\11\u0105\1\0\11\u0105\1\u0153\2\u0105\1\u0153\2\u0105"+ - "\1\u0153\10\u0105\1\u0153\4\u0105\1\u0153\7\u0105\1\0\1\u0154"+ - "\1\u0107\1\u0130\1\u0107\1\u0155\1\u0107\1\u0154\10\u0107\1\u0156"+ - "\16\u0107\1\u0154\2\u0107\1\u0154\2\u0107\1\u0154\10\u0107\1\u0154"+ - "\4\u0107\1\u0154\7\u0107\1\0\1\u0157\1\u0108\1\u0131\3\u0108"+ - "\1\u0157\1\u0108\1\u0158\6\u0108\1\u0159\16\u0108\1\u0157\2\u0108"+ - "\1\u0157\2\u0108\1\u0157\10\u0108\1\u0157\4\u0108\1\u0157\7\u0108"+ - "\1\0\1\u015a\1\51\1\165\1\51\1\0\1\51\1\u015a"+ - "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0"+ - "\1\51\10\0\1\u015a\2\51\1\u015a\2\51\1\u015a\2\51"+ - "\1\0\4\51\1\0\1\u015a\1\51\1\0\1\51\1\0"+ - "\1\u015a\2\51\6\0\1\u015b\1\55\1\167\1\55\1\0"+ - "\1\55\1\u015b\1\55\1\0\1\55\4\0\2\55\1\0"+ - "\3\55\1\0\1\55\10\0\1\u015b\2\55\1\u015b\2\55"+ - "\1\u015b\2\55\1\0\4\55\1\0\1\u015b\1\55\1\0"+ - "\1\55\1\0\1\u015b\2\55\6\0\1\u015c\1\62\1\171"+ - "\1\62\1\0\1\62\1\u015c\1\62\1\0\1\62\4\0"+ - "\2\62\1\0\3\62\1\0\1\62\10\0\1\u015c\2\62"+ - "\1\u015c\2\62\1\u015c\2\62\1\0\4\62\1\0\1\u015c"+ - "\1\62\1\0\1\62\1\0\1\u015c\2\62\6\0\1\u015d"+ - "\1\72\1\176\1\72\1\0\1\72\1\u015d\1\72\1\0"+ - "\1\72\4\0\2\72\1\0\3\72\1\0\1\72\10\0"+ - "\1\u015d\2\72\1\u015d\2\72\1\u015d\2\72\1\0\4\72"+ - "\1\0\1\u015d\1\72\1\0\1\72\1\0\1\u015d\2\72"+ - "\6\0\1\u015e\1\100\1\200\1\100\1\0\1\100\1\u015e"+ - "\1\100\1\0\1\100\4\0\2\100\1\0\3\100\1\0"+ - "\1\100\10\0\1\u015e\2\100\1\u015e\2\100\1\u015e\2\100"+ - "\1\0\4\100\1\0\1\u015e\1\100\1\0\1\100\1\0"+ - "\1\u015e\2\100\6\0\1\u015f\1\202\1\203\1\202\1\204"+ - "\1\202\1\u015f\27\202\1\u015f\2\202\1\u015f\2\202\1\u015f"+ - "\10\202\1\u015f\4\202\1\u015f\7\202\1\0\1\u0160\1\205"+ - "\1\206\3\205\1\u0160\1\205\1\204\25\205\1\u0160\2\205"+ - "\1\u0160\2\205\1\u0160\10\205\1\u0160\4\205\1\u0160\7\205"+ - "\1\0\1\u0161\1\105\1\207\1\105\1\0\1\105\1\u0161"+ - "\1\105\1\0\1\105\4\0\2\105\1\0\3\105\1\0"+ - "\1\105\10\0\1\u0161\2\105\1\u0161\2\105\1\u0161\2\105"+ - "\1\0\4\105\1\0\1\u0161\1\105\1\0\1\105\1\0"+ - "\1\u0161\2\105\6\0\1\u0162\1\211\1\212\1\211\1\0"+ - "\1\211\1\u0162\1\211\1\0\1\211\4\0\2\211\1\0"+ - "\3\211\1\0\1\211\10\0\1\u0162\2\211\1\u0162\2\211"+ - "\1\u0162\2\211\1\0\4\211\1\0\1\u0162\1\211\1\0"+ - "\1\211\1\0\1\u0162\2\211\6\0\1\u0163\1\113\1\216"+ - "\1\113\1\0\1\113\1\u0163\1\113\1\0\1\113\4\0"+ - "\2\113\1\0\3\113\1\217\1\113\10\0\1\u0163\2\113"+ - "\1\u0163\2\113\1\u0163\2\113\1\0\4\113\1\0\1\u0163"+ - "\1\113\1\0\1\113\1\0\1\u0163\2\113\6\0\1\u0164"+ - "\1\221\1\222\1\221\1\223\1\221\1\u0164\27\221\1\u0164"+ - "\2\221\1\u0164\2\221\1\u0164\10\221\1\u0164\4\221\1\u0164"+ - "\7\221\1\0\1\u0165\1\224\1\225\3\224\1\u0165\1\224"+ - "\1\223\25\224\1\u0165\2\224\1\u0165\2\224\1\u0165\10\224"+ - "\1\u0165\4\224\1\u0165\7\224\1\0\1\u0166\1\227\1\230"+ - "\1\227\1\0\1\227\1\u0166\1\227\1\0\1\227\4\0"+ - "\2\227\1\0\3\227\1\0\1\227\10\0\1\u0166\2\227"+ - "\1\u0166\2\227\1\u0166\2\227\1\0\4\227\1\0\1\u0166"+ - "\1\227\1\0\1\227\1\0\1\u0166\2\227\6\0\1\u0167"+ - "\5\0\1\u0167\1\362\15\0\2\u0167\7\0\2\u0167\1\0"+ - "\2\u0167\1\0\2\u0167\7\0\2\u0167\3\0\2\u0167\7\0"+ - "\1\u0168\5\0\1\u0168\16\0\2\u0168\7\0\2\u0168\1\0"+ - "\2\u0168\1\0\2\u0168\7\0\2\u0168\3\0\2\u0168\12\0"+ - "\1\u0141\1\0\1\u0141\3\0\1\u0141\1\u011e\3\0\2\u0141"+ - "\53\0\1\u0169\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0169"+ - "\1\u0119\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0169"+ - "\2\u0119\1\u0169\2\u0119\1\u0169\10\u0119\1\u0169\4\u0119\1\u0169"+ - "\7\u0119\1\0\1\u016a\1\u011c\1\u0144\1\u011c\1\u016b\1\u011c"+ - "\1\u016a\10\u011c\1\u016c\16\u011c\1\u016a\2\u011c\1\u016a\2\u011c"+ - "\1\u016a\10\u011c\1\u016a\4\u011c\1\u016a\7\u011c\1\0\1\u016d"+ - "\1\u011d\1\u0145\3\u011d\1\u016d\1\u011d\1\u016e\6\u011d\1\u016f"+ - "\16\u011d\1\u016d\2\u011d\1\u016d\2\u011d\1\u016d\10\u011d\1\u016d"+ - "\4\u011d\1\u016d\7\u011d\47\0\1\u0170\24\0\2\25\1\131"+ - "\1\25\1\0\3\25\1\0\1\25\4\0\2\25\1\0"+ - "\3\25\1\0\1\25\10\0\11\25\1\0\4\25\1\0"+ - "\2\25\1\0\1\25\1\0\3\25\6\0\1\u0171\1\134"+ - "\1\135\1\134\1\0\1\134\1\u0171\1\134\1\0\1\134"+ - "\4\0\2\134\1\0\3\134\1\0\1\134\10\0\1\u0171"+ - "\2\134\1\u0171\2\134\1\u0171\2\134\1\0\4\134\1\0"+ - "\1\u0171\1\134\1\0\1\134\1\0\1\u0171\2\134\6\0"+ - "\1\u0172\1\136\1\137\1\136\1\0\1\136\1\u0172\1\136"+ - "\1\0\1\136\4\0\2\136\1\0\3\136\1\0\1\136"+ - "\10\0\1\u0172\2\136\1\u0172\2\136\1\u0172\2\136\1\0"+ - "\4\136\1\0\1\u0172\1\136\1\0\1\136\1\0\1\u0172"+ - "\2\136\54\0\1\u0173\65\0\2\u0174\30\0\1\u0175\1\333"+ - "\1\334\1\333\1\0\1\333\1\u0175\1\333\1\0\1\333"+ - "\1\376\3\0\2\333\1\0\3\333\1\0\1\333\10\0"+ - "\1\u0175\2\333\1\u0175\2\333\1\u0175\2\333\1\0\4\333"+ - "\1\0\1\u0175\1\333\1\0\1\333\1\0\1\u0175\2\333"+ - "\6\0\1\u0176\1\147\1\150\1\147\1\0\1\147\1\u0176"+ - "\1\147\1\0\1\147\4\0\2\147\1\0\3\147\1\252"+ - "\1\147\10\0\1\u0176\2\147\1\u0176\2\147\1\u0176\2\147"+ - "\1\0\4\147\1\0\1\u0176\1\147\1\0\1\147\1\0"+ - "\1\u0176\2\147\6\0\1\u0177\1\152\1\153\1\152\1\154"+ - "\1\152\1\u0177\27\152\1\u0177\2\152\1\u0177\2\152\1\u0177"+ - "\10\152\1\u0177\4\152\1\u0177\7\152\1\0\1\u0178\1\155"+ - "\1\156\3\155\1\u0178\1\155\1\154\25\155\1\u0178\2\155"+ - "\1\u0178\2\155\1\u0178\10\155\1\u0178\4\155\1\u0178\7\155"+ - "\1\0\1\u0179\1\157\1\160\1\157\1\161\1\157\1\u0179"+ - "\27\157\1\u0179\2\157\1\u0179\2\157\1\u0179\10\157\1\u0179"+ - "\4\157\1\u0179\7\157\1\0\1\u017a\1\162\1\163\3\162"+ - "\1\u017a\1\162\1\161\25\162\1\u017a\2\162\1\u017a\2\162"+ - "\1\u017a\10\162\1\u017a\4\162\1\u017a\7\162\1\0\1\u017b"+ - "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u017b\1\u0105\1\0"+ - "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u017b\2\u0105\1\u017b"+ - "\2\u0105\1\u017b\10\u0105\1\u017b\4\u0105\1\u017b\7\u0105\1\0"+ - "\1\u017c\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u017c\27\u0107"+ - "\1\u017c\2\u0107\1\u017c\2\u0107\1\u017c\10\u0107\1\u017c\4\u0107"+ - "\1\u017c\7\u0107\1\0\2\u0107\1\u0130\2\u012d\1\u0155\3\u0107"+ - "\1\u0155\1\u017d\3\u0107\2\u012d\52\u0107\1\0\2\u0107\1\u0130"+ - "\1\0\1\u012d\12\u0107\1\0\52\u0107\1\0\1\u017e\1\u0108"+ - "\1\u0131\3\u0108\1\u017e\1\u0108\1\u012d\25\u0108\1\u017e\2\u0108"+ - "\1\u017e\2\u0108\1\u017e\10\u0108\1\u017e\4\u0108\1\u017e\7\u0108"+ - "\1\0\2\u0108\1\u0131\1\u012d\1\u0108\1\u0158\2\u0108\1\u012d"+ - "\1\u0158\1\u017f\3\u0108\2\u012d\52\u0108\1\0\2\u0108\1\u0131"+ - "\1\0\4\u0108\1\u012d\6\u0108\1\0\52\u0108\1\0\2\51"+ - "\1\165\1\51\1\0\3\51\1\0\1\51\4\0\2\51"+ - "\1\0\3\51\1\0\1\51\10\0\11\51\1\0\4\51"+ - "\1\0\2\51\1\0\1\51\1\0\3\51\6\0\2\55"+ - "\1\167\1\55\1\0\3\55\1\0\1\55\4\0\2\55"+ - "\1\0\3\55\1\0\1\55\10\0\11\55\1\0\4\55"+ - "\1\0\2\55\1\0\1\55\1\0\3\55\6\0\2\62"+ - "\1\171\1\62\1\0\3\62\1\0\1\62\4\0\2\62"+ - "\1\0\3\62\1\0\1\62\10\0\11\62\1\0\4\62"+ - "\1\0\2\62\1\0\1\62\1\0\3\62\6\0\2\72"+ - "\1\176\1\72\1\0\3\72\1\0\1\72\4\0\2\72"+ - "\1\0\3\72\1\0\1\72\10\0\11\72\1\0\4\72"+ - "\1\0\2\72\1\0\1\72\1\0\3\72\6\0\2\100"+ - "\1\200\1\100\1\0\3\100\1\0\1\100\4\0\2\100"+ - "\1\0\3\100\1\0\1\100\10\0\11\100\1\0\4\100"+ - "\1\0\2\100\1\0\1\100\1\0\3\100\6\0\1\u0180"+ - "\1\202\1\203\1\202\1\204\1\202\1\u0180\27\202\1\u0180"+ - "\2\202\1\u0180\2\202\1\u0180\10\202\1\u0180\4\202\1\u0180"+ - "\7\202\1\0\1\u0181\1\205\1\206\3\205\1\u0181\1\205"+ - "\1\204\25\205\1\u0181\2\205\1\u0181\2\205\1\u0181\10\205"+ - "\1\u0181\4\205\1\u0181\7\205\1\0\2\105\1\207\1\105"+ - "\1\0\3\105\1\0\1\105\4\0\2\105\1\0\3\105"+ - "\1\0\1\105\10\0\11\105\1\0\4\105\1\0\2\105"+ - "\1\0\1\105\1\0\3\105\6\0\1\u0182\1\211\1\212"+ - "\1\211\1\0\1\211\1\u0182\1\211\1\0\1\211\4\0"+ - "\2\211\1\0\3\211\1\0\1\211\10\0\1\u0182\2\211"+ - "\1\u0182\2\211\1\u0182\2\211\1\0\4\211\1\0\1\u0182"+ - "\1\211\1\0\1\211\1\0\1\u0182\2\211\6\0\2\113"+ - "\1\216\1\113\1\0\3\113\1\0\1\113\4\0\2\113"+ - "\1\0\3\113\1\217\1\113\10\0\11\113\1\0\4\113"+ - "\1\0\2\113\1\0\1\113\1\0\3\113\6\0\1\u0183"+ - "\1\221\1\222\1\221\1\223\1\221\1\u0183\27\221\1\u0183"+ - "\2\221\1\u0183\2\221\1\u0183\10\221\1\u0183\4\221\1\u0183"+ - "\7\221\1\0\1\u0184\1\224\1\225\3\224\1\u0184\1\224"+ - "\1\223\25\224\1\u0184\2\224\1\u0184\2\224\1\u0184\10\224"+ - "\1\u0184\4\224\1\u0184\7\224\1\0\1\u0185\1\227\1\230"+ - "\1\227\1\0\1\227\1\u0185\1\227\1\0\1\227\4\0"+ - "\2\227\1\0\3\227\1\0\1\227\10\0\1\u0185\2\227"+ - "\1\u0185\2\227\1\u0185\2\227\1\0\4\227\1\0\1\u0185"+ - "\1\227\1\0\1\227\1\0\1\u0185\2\227\6\0\1\u0186"+ - "\5\0\1\u0186\1\362\15\0\2\u0186\7\0\2\u0186\1\0"+ - "\2\u0186\1\0\2\u0186\7\0\2\u0186\3\0\2\u0186\7\0"+ - "\1\u0187\5\0\1\u0187\16\0\2\u0187\7\0\2\u0187\1\0"+ - "\2\u0187\1\0\2\u0187\7\0\2\u0187\3\0\2\u0187\7\0"+ - "\1\u0188\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0188\1\u0119"+ - "\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0188\2\u0119"+ - "\1\u0188\2\u0119\1\u0188\10\u0119\1\u0188\4\u0119\1\u0188\7\u0119"+ - "\1\0\1\u0189\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u0189"+ - "\27\u011c\1\u0189\2\u011c\1\u0189\2\u011c\1\u0189\10\u011c\1\u0189"+ - "\4\u011c\1\u0189\7\u011c\1\0\2\u011c\1\u0144\2\u0141\1\u016b"+ - "\3\u011c\1\u016b\1\u018a\3\u011c\2\u0141\52\u011c\1\0\2\u011c"+ - "\1\u0144\1\0\1\u0141\12\u011c\1\0\52\u011c\1\0\1\u018b"+ - "\1\u011d\1\u0145\3\u011d\1\u018b\1\u011d\1\u0141\25\u011d\1\u018b"+ - "\2\u011d\1\u018b\2\u011d\1\u018b\10\u011d\1\u018b\4\u011d\1\u018b"+ - "\7\u011d\1\0\2\u011d\1\u0145\1\u0141\1\u011d\1\u016e\2\u011d"+ - "\1\u0141\1\u016e\1\u018c\3\u011d\2\u0141\52\u011d\1\0\2\u011d"+ - "\1\u0145\1\0\4\u011d\1\u0141\6\u011d\1\0\52\u011d\42\0"+ - "\2\u018d\30\0\2\134\1\135\1\134\1\0\3\134\1\0"+ - "\1\134\4\0\2\134\1\0\3\134\1\0\1\134\10\0"+ - "\11\134\1\0\4\134\1\0\2\134\1\0\1\134\1\0"+ - "\3\134\6\0\2\136\1\137\1\136\1\0\3\136\1\0"+ - "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0"+ - "\11\136\1\0\4\136\1\0\2\136\1\0\1\136\1\0"+ - "\3\136\44\0\2\u018e\33\0\1\u018f\1\333\1\334\1\333"+ - "\1\0\1\333\1\u018f\1\333\1\0\1\333\1\376\3\0"+ - "\2\333\1\0\3\333\1\0\1\333\10\0\1\u018f\2\333"+ - "\1\u018f\2\333\1\u018f\2\333\1\0\4\333\1\0\1\u018f"+ - "\1\333\1\0\1\333\1\0\1\u018f\2\333\6\0\2\147"+ - "\1\150\1\147\1\0\3\147\1\0\1\147\4\0\2\147"+ - "\1\0\3\147\1\252\1\147\10\0\11\147\1\0\4\147"+ - "\1\0\2\147\1\0\1\147\1\0\3\147\6\0\2\152"+ - "\1\153\1\152\1\154\65\152\1\0\2\155\1\156\5\155"+ - "\1\154\61\155\1\0\2\157\1\160\1\157\1\161\65\157"+ - "\1\0\2\162\1\163\5\162\1\161\61\162\1\0\1\u0190"+ - "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u0190\1\u0105\1\0"+ - "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u0190\2\u0105\1\u0190"+ - "\2\u0105\1\u0190\10\u0105\1\u0190\4\u0105\1\u0190\7\u0105\1\0"+ - "\1\u0191\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u0191\27\u0107"+ - "\1\u0191\2\u0107\1\u0191\2\u0107\1\u0191\10\u0107\1\u0191\4\u0107"+ - "\1\u0191\7\u0107\1\0\1\u0192\1\u0108\1\u0131\3\u0108\1\u0192"+ - "\1\u0108\1\u012d\25\u0108\1\u0192\2\u0108\1\u0192\2\u0108\1\u0192"+ - "\10\u0108\1\u0192\4\u0108\1\u0192\7\u0108\1\0\2\202\1\203"+ - "\1\202\1\204\65\202\1\0\2\205\1\206\5\205\1\204"+ - "\61\205\1\0\2\211\1\212\1\211\1\0\3\211\1\0"+ - "\1\211\4\0\2\211\1\0\3\211\1\0\1\211\10\0"+ - "\11\211\1\0\4\211\1\0\2\211\1\0\1\211\1\0"+ - "\3\211\6\0\2\221\1\222\1\221\1\223\65\221\1\0"+ - "\2\224\1\225\5\224\1\223\61\224\1\0\2\227\1\230"+ - "\1\227\1\0\3\227\1\0\1\227\4\0\2\227\1\0"+ - "\3\227\1\0\1\227\10\0\11\227\1\0\4\227\1\0"+ - "\2\227\1\0\1\227\1\0\3\227\15\0\1\362\63\0"+ - "\1\u0193\5\0\1\u0193\16\0\2\u0193\7\0\2\u0193\1\0"+ - "\2\u0193\1\0\2\u0193\7\0\2\u0193\3\0\2\u0193\7\0"+ - "\1\u0194\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0194\1\u0119"+ - "\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0194\2\u0119"+ - "\1\u0194\2\u0119\1\u0194\10\u0119\1\u0194\4\u0119\1\u0194\7\u0119"+ - "\1\0\1\u0195\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u0195"+ - "\27\u011c\1\u0195\2\u011c\1\u0195\2\u011c\1\u0195\10\u011c\1\u0195"+ - "\4\u011c\1\u0195\7\u011c\1\0\1\u0196\1\u011d\1\u0145\3\u011d"+ - "\1\u0196\1\u011d\1\u0141\25\u011d\1\u0196\2\u011d\1\u0196\2\u011d"+ - "\1\u0196\10\u011d\1\u0196\4\u011d\1\u0196\7\u011d\65\0\1\u0197"+ - "\52\0\2\u0198\25\0\1\u0199\1\333\1\334\1\333\1\0"+ - "\1\333\1\u0199\1\333\1\0\1\333\1\376\3\0\2\333"+ - "\1\0\3\333\1\0\1\333\10\0\1\u0199\2\333\1\u0199"+ - "\2\333\1\u0199\2\333\1\0\4\333\1\0\1\u0199\1\333"+ - "\1\0\1\333\1\0\1\u0199\2\333\6\0\1\u019a\1\u0105"+ - "\1\u0106\1\u0105\1\0\1\u0105\1\u019a\1\u0105\1\0\1\u0105"+ - "\1\u0109\11\u0105\1\0\11\u0105\1\u019a\2\u0105\1\u019a\2\u0105"+ - "\1\u019a\10\u0105\1\u019a\4\u0105\1\u019a\7\u0105\1\0\1\u019b"+ - "\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u019b\27\u0107\1\u019b"+ - "\2\u0107\1\u019b\2\u0107\1\u019b\10\u0107\1\u019b\4\u0107\1\u019b"+ - "\7\u0107\1\0\1\u019c\1\u0108\1\u0131\3\u0108\1\u019c\1\u0108"+ - "\1\u012d\25\u0108\1\u019c\2\u0108\1\u019c\2\u0108\1\u019c\10\u0108"+ - "\1\u019c\4\u0108\1\u019c\7\u0108\1\0\1\u019d\5\0\1\u019d"+ - "\16\0\2\u019d\7\0\2\u019d\1\0\2\u019d\1\0\2\u019d"+ - "\7\0\2\u019d\3\0\2\u019d\7\0\1\u019e\1\u0119\1\u011a"+ - "\1\u0119\1\0\1\u0119\1\u019e\1\u0119\1\0\1\u0119\1\u011e"+ - "\11\u0119\1\0\11\u0119\1\u019e\2\u0119\1\u019e\2\u0119\1\u019e"+ - "\10\u0119\1\u019e\4\u0119\1\u019e\7\u0119\1\0\1\u019f\1\u011c"+ - "\1\u0144\1\u011c\1\u0141\1\u011c\1\u019f\27\u011c\1\u019f\2\u011c"+ - "\1\u019f\2\u011c\1\u019f\10\u011c\1\u019f\4\u011c\1\u019f\7\u011c"+ - "\1\0\1\u01a0\1\u011d\1\u0145\3\u011d\1\u01a0\1\u011d\1\u0141"+ - "\25\u011d\1\u01a0\2\u011d\1\u01a0\2\u011d\1\u01a0\10\u011d\1\u01a0"+ - "\4\u011d\1\u01a0\7\u011d\47\0\1\u01a1\24\0\2\333\1\334"+ - "\1\333\1\0\3\333\1\0\1\333\1\376\3\0\2\333"+ - "\1\0\3\333\1\0\1\333\10\0\11\333\1\0\4\333"+ - "\1\0\2\333\1\0\1\333\1\0\3\333\6\0\1\u01a2"+ - "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u01a2\1\u0105\1\0"+ - "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u01a2\2\u0105\1\u01a2"+ - "\2\u0105\1\u01a2\10\u0105\1\u01a2\4\u0105\1\u01a2\7\u0105\1\0"+ - "\1\u01a3\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u01a3\27\u0107"+ - "\1\u01a3\2\u0107\1\u01a3\2\u0107\1\u01a3\10\u0107\1\u01a3\4\u0107"+ - "\1\u01a3\7\u0107\1\0\1\u01a4\1\u0108\1\u0131\3\u0108\1\u01a4"+ - "\1\u0108\1\u012d\25\u0108\1\u01a4\2\u0108\1\u01a4\2\u0108\1\u01a4"+ - "\10\u0108\1\u01a4\4\u0108\1\u01a4\7\u0108\1\0\1\u01a5\1\u0119"+ - "\1\u011a\1\u0119\1\0\1\u0119\1\u01a5\1\u0119\1\0\1\u0119"+ - "\1\u011e\11\u0119\1\0\11\u0119\1\u01a5\2\u0119\1\u01a5\2\u0119"+ - "\1\u01a5\10\u0119\1\u01a5\4\u0119\1\u01a5\7\u0119\1\0\1\u01a6"+ - "\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u01a6\27\u011c\1\u01a6"+ - "\2\u011c\1\u01a6\2\u011c\1\u01a6\10\u011c\1\u01a6\4\u011c\1\u01a6"+ - "\7\u011c\1\0\1\u01a7\1\u011d\1\u0145\3\u011d\1\u01a7\1\u011d"+ - "\1\u0141\25\u011d\1\u01a7\2\u011d\1\u01a7\2\u011d\1\u01a7\10\u011d"+ - "\1\u01a7\4\u011d\1\u01a7\7\u011d\1\0\2\u0105\1\u0106\1\u0105"+ - "\1\0\3\u0105\1\0\1\u0105\1\u0109\11\u0105\1\0\45\u0105"+ - "\1\0\1\u01a8\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u01a8"+ - "\27\u0107\1\u01a8\2\u0107\1\u01a8\2\u0107\1\u01a8\10\u0107\1\u01a8"+ - "\4\u0107\1\u01a8\7\u0107\1\0\1\u01a9\1\u0108\1\u0131\3\u0108"+ - "\1\u01a9\1\u0108\1\u012d\25\u0108\1\u01a9\2\u0108\1\u01a9\2\u0108"+ - "\1\u01a9\10\u0108\1\u01a9\4\u0108\1\u01a9\7\u0108\1\0\2\u0119"+ - "\1\u011a\1\u0119\1\0\3\u0119\1\0\1\u0119\1\u011e\11\u0119"+ - "\1\0\45\u0119\1\0\1\u01aa\1\u011c\1\u0144\1\u011c\1\u0141"+ - "\1\u011c\1\u01aa\27\u011c\1\u01aa\2\u011c\1\u01aa\2\u011c\1\u01aa"+ - "\10\u011c\1\u01aa\4\u011c\1\u01aa\7\u011c\1\0\1\u01ab\1\u011d"+ - "\1\u0145\3\u011d\1\u01ab\1\u011d\1\u0141\25\u011d\1\u01ab\2\u011d"+ - "\1\u01ab\2\u011d\1\u01ab\10\u011d\1\u01ab\4\u011d\1\u01ab\7\u011d"+ - "\1\0\2\u0107\1\u0130\1\u0107\1\u012d\65\u0107\1\0\2\u0108"+ - "\1\u0131\5\u0108\1\u012d\61\u0108\1\0\2\u011c\1\u0144\1\u011c"+ - "\1\u0141\65\u011c\1\0\2\u011d\1\u0145\5\u011d\1\u0141\61\u011d"; - - /** - * The transition table of the DFA - */ - final private static int yytrans [] = yy_unpack(yy_packed); - - - /* error codes */ - final private static int YY_UNKNOWN_ERROR = 0; -// final private static int YY_ILLEGAL_STATE = 1; - final private static int YY_NO_MATCH = 2; -// final private static int YY_PUSHBACK_2BIG = 3; - - /* error messages for the codes above */ - final private static String YY_ERROR_MSG[] = { - "Unkown internal scanner error", - "Internal error: unknown state", - "Error: could not match input", - "Error: pushback value was too large" - }; - - /** - * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code> - */ - private final static byte YY_ATTRIBUTE[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 9, 1, 1, 1, 1, 1, 1, 1, 9, 1, 9, 1, 1, - 9, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 9, - 9, 1, 1, 1, 9, 1, 3, 9, 9, 1, 1, 1, 9, 1, 9, 1, - 1, 1, 1, 1, 1, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 9, - 1, 1, 1, 1, 1, 1, 9, 3, 0, 1, 0, 1, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, - 9, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 13, 7, 0, 1, 0, - 1, 0, 0, 9, 0, 0, 0, 1, 1, 0, 0, 0, 9, 0, 9, 1, - 0, 0, 9, 0, 0, 1, 1, 0, 0, 1, 0, 0, 13, 7, 1, 9, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, - 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, - 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, - 1, 1, 1, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, - 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 9, 0, 0, 9, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, - 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 9, 0, 1, - 1, 1, 0, 0, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, - 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 9, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, - 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, - 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }; - - /** the input device */ - private java.io.Reader yy_reader; - - /** the current state of the DFA */ - private int yy_state; - - /** the current lexical state */ - private int yy_lexical_state = YYINITIAL; - - /** this buffer contains the current text to be matched and is - the source of the yytext() string */ - private char yy_buffer[] = new char[16384]; - - /** the textposition at the last accepting state */ - private int yy_markedPos; - - /** the textposition at the last state to be included in yytext */ - private int yy_pushbackPos; - - /** the current text position in the buffer */ - private int yy_currentPos; - - /** startRead marks the beginning of the yytext() string in the buffer */ - private int yy_startRead; - - /** endRead marks the last character in the buffer, that has been read - from input */ - private int yy_endRead; - - /** number of newlines encountered up to the start of the matched text */ - private int yyline; - - /** the number of characters up to the start of the matched text */ - private int yychar; - - /** - * the number of characters from the last newline up to the start of the - * matched text - */ -// private int yycolumn; - - /** - * yy_atBOL == true <=> the scanner is currently at the beginning of a line - */ -// private boolean yy_atBOL; - - /** yy_atEOF == true <=> the scanner has returned a value for EOF */ - private boolean yy_atEOF; - - /* user code: */ + /** this character denotes the end of file */ + final public static int YYEOF = -1; + + /** lexical states */ + final public static int ST_SELECTOR_ATTRIBUTE_NAME = 11; + final public static int ST_IMPORT_DELIMITER = 5; + final public static int ST_DECLARATION_PRE_VALUE = 17; + final public static int ST_SELECTOR = 0; + final public static int ST_CHARSET_DELIMITER = 2; + final public static int ST_DECLARATION_VALUE = 18; + final public static int ST_PAGE_PSEUDO_PAGE = 8; + final public static int ST_IMPORT_URI = 3; + final public static int ST_SELECTOR_ATTRIBUTE_END = 14; + final public static int ST_SELECTOR_ATTRIBUTE_OPERATOR = 12; + final public static int ST_DECLARATION = 15; + final public static int ST_PAGE_DELIMITER = 9; + final public static int ST_SELECTOR_ATTRIBUTE_VALUE = 13; + final public static int ST_MEDIA_MEDIUM = 6; + final public static int ST_CHARSET_NAME = 1; + final public static int ST_IMPORT_MEDIUM = 4; + final public static int ST_DECLARATION_SEPARATOR = 16; + final public static int ST_FONT_FACE_DELIMITER = 9; + final public static int ST_MEDIA_DELIMITER = 7; + final public static int ST_SELECTOR_MODIFIER = 10; + final public static int YYINITIAL = 0; + + /** + * Translates characters to character classes + */ + final private static String yycmap_packed = "\11\0\1\12\1\17\1\0\1\4\1\20\22\0\1\6\1\31\1\11" + "\1\21\1\16\1\72\1\16\1\5\1\25\1\13\1\35\1\14\1\55" + "\1\10\1\15\1\34\12\1\1\62\1\50\1\30\1\67\1\32\1\27" + "\1\36\1\43\1\26\1\40\1\57\1\46\1\64\1\61\1\41\1\51" + "\2\2\1\24\1\52\1\65\1\54\1\53\1\2\1\23\1\44\1\47" + "\1\22\5\2\1\66\1\3\1\71\1\16\1\2\1\16\1\42\1\7" + "\1\37\1\56\1\45\1\63\1\61\1\41\1\51\2\2\1\24\1\52" + "\1\65\1\54\1\53\1\2\1\23\1\44\1\47\1\22\5\2\1\60" + "\1\70\1\33\1\70\1\0\uff80\2"; + + /** + * Translates characters to character classes + */ + final private static char[] yycmap = yy_unpack_cmap(yycmap_packed); + + /** + * Translates a state to a row index in the transition table + */ + final private static int yy_rowMap[] = {0, 59, 118, 177, 236, 295, 354, 413, 472, 531, 590, 649, 708, 767, 826, 885, 944, 1003, 1062, 1121, 1180, 1239, 1298, 1357, 1416, 1475, 1534, 1121, 1593, 1121, 1652, 1711, 1121, 1770, 1829, 1888, 1121, 1947, 2006, 2065, 2124, 2183, 2242, 1121, 2301, 2360, 2419, 1121, 1121, 2478, 2537, 2596, 1121, 2655, 2714, 1121, 1121, 2773, 2832, 2891, 1121, 2950, 1121, 3009, 3068, 3127, 3186, 3245, 3304, 3363, 3422, 1121, 1121, 3481, 3540, 3599, 3658, 3717, 3776, 1121, 3835, 3894, 3953, 4012, 4071, 1593, 1121, 4130, 1239, 4189, 4248, 1416, 4307, 1475, 4366, 4425, 4484, 4543, 4602, 4661, 4720, 4779, 4838, 4897, 4956, 1770, 5015, 1121, 1888, 5074, 1947, 5133, 1121, 2006, 5192, 5251, 2183, 5310, 2360, 5369, 2537, 5428, 5487, 1121, 2714, 2832, 5546, 3068, 5605, 3127, 5664, 1121, 3245, 5723, 3363, 5782, 5841, 5900, 5959, 3894, 1121, 3599, 1121, 6018, 3658, 6077, 1121, 3776, 6136, 6195, 3953, 6254, 6313, 6372, 4071, 6431, 1121, 4130, 6490, 1121, 6549, 6608, + 6667, 6726, 6785, 6844, 6903, 6962, 7021, 7080, 7139, 7198, 1770, 7257, 7316, 1888, 7375, 7434, 1947, 7493, 7552, 2006, 7611, 7670, 7729, 7788, 7847, 7906, 7965, 8024, 3127, 8083, 8142, 3245, 8201, 8260, 8319, 8378, 8437, 3658, 8496, 8555, 3776, 8614, 8673, 8732, 8791, 8850, 8909, 8968, 9027, 1121, 1121, 9086, 9145, 9204, 9263, 9322, 9381, 9440, 9499, 9558, 9617, 9676, 9735, 9794, 9853, 9912, 9971, 10030, 10089, 10148, 10207, 10266, 10325, 10384, 10443, 10502, 10561, 10620, 10679, 10738, 10797, 10856, 10915, 10974, 11033, 11092, 11151, 11210, 1121, 11269, 11328, 1121, 11387, 11446, 11505, 11564, 11623, 11682, 11741, 11800, 11859, 11918, 1121, 11977, 12036, 12095, 12154, 12213, 12272, 12331, 12390, 12449, 12508, 12567, 12626, 12685, 12744, 12803, 12862, 12921, 10797, 12980, 13039, 1121, 13098, 13157, 13216, 13275, 13334, 13393, 1121, 13452, 13511, 13570, 13629, 13688, 13747, 13806, 13865, 13924, 11741, 13983, 14042, 14101, 14160, 14219, 14278, 14337, 14396, 14455, + 14514, 14573, 14632, 14691, 14750, 14809, 14868, 14927, 14986, 15045, 12862, 15104, 15163, 15222, 15281, 15340, 15399, 15458, 1121, 15517, 15576, 15635, 15694, 15753, 15812, 15871, 15930, 15989, 16048, 16107, 16166, 16225, 16284, 16343, 16402, 16461, 16520, 16579, 16638, 16697, 16756, 16815, 16874, 16933, 16992, 17051, 17110, 17169, 17228, 17287, 17346, 17405, 17464, 17523, 17582, 17641, 17700, 17759, 1121, 17818, 17877, 17936, 17995, 18054, 18113, 18172, 18231, 18290, 11859, 18349, 11918, 18408, 18467, 18526, 18585, 18644, 18703, 18762, 18821, 18880, 18939, 12980, 18998, 13039, 19057, 19116, 19175, 19234, 19293, 19352, 19411, 19470, 19529, 19588, 19647, 1121, 19706, 19765, 19824, 19883, 1121, 19942, 20001, 20060, 1121, 20119, 20178, 20237, 20296, 20355, 20414, 20473, 20532, 20591, 20650}; + + /** + * The packed transition table of the DFA + */ + final private static String yy_packed = "\2\24\1\25\1\26\1\27\1\24\1\27\1\25\1\30" + "\1\24\1\27\2\24\1\31\1\24\2\27\1\32\3\25" + "\1\24\1\25\1\24\1\33\2\24\1\34\1\35\1\36" + "\1\37\11\25\1\24\4\25\1\24\2\25\1\24\1\25" + "\1\40\3\25\1\41\10\24\1\27\1\42\1\27\1\24" + "\1\43\1\44\1\27\4\24\2\27\7\24\1\33\2\24" + "\1\34\1\35\1\24\1\37\40\24\1\27\1\24\1\27" + "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33" + "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\26\24" + "\1\27\1\46\1\27\1\24\1\43\1\47\1\27\4\24" + "\2\27\1\24\1\50\5\24\1\33\2\24\1\34\1\35" + "\1\24\1\37\11\24\1\45\24\24\1\51\1\52\1\27" + "\1\24\1\27\1\51\1\53\1\24\1\27\4\24\2\27" + "\1\24\3\51\1\24\1\51\1\24\1\33\2\24\1\34" + "\1\35\1\24\1\37\11\51\1\45\4\51\1\24\2\51" + "\1\24\1\51\1\24\3\51\11\24\1\27\1\24\1\27" + "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33" + "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\4\24" + "\1\54\17\24\1\55\1\56\1\27\1\24\1\27\1\55" + "\1\57\1\24\1\27\4\24\2\27\1\24\3\55\1\24" + "\1\55\1\24\1\33\2\24\1\34\1\35\1\24\1\37" + + "\11\55\1\24\4\55\1\24\2\55\1\24\1\55\1\24" + "\3\55\11\24\1\27\1\24\1\27\1\24\1\43\1\24" + "\1\27\4\24\2\27\7\24\1\33\2\24\1\34\1\35" + "\1\24\1\37\16\24\1\60\2\24\1\61\14\24\1\62" + "\1\63\1\27\1\24\1\27\1\62\1\64\1\24\1\27" + "\4\24\2\27\1\24\3\62\1\24\1\62\1\24\1\33" + "\2\24\1\34\1\35\1\24\1\37\11\62\1\24\4\62" + "\1\24\2\62\1\65\1\62\1\66\3\62\11\24\1\27" + "\1\24\1\27\1\24\1\43\1\24\1\27\4\24\2\27" + "\7\24\1\33\2\24\1\34\1\35\1\24\1\37\21\24" + "\1\65\16\24\1\67\1\24\1\67\1\24\1\43\1\24" + "\1\67\1\24\1\70\1\31\1\24\2\67\1\32\6\24" + "\1\33\1\24\1\70\1\34\1\35\1\36\1\37\16\24" + "\1\71\2\24\1\65\1\24\1\40\3\24\1\41\6\24" + "\1\72\1\73\1\27\1\24\1\27\1\72\1\74\1\24" + "\1\27\4\24\2\27\1\24\3\72\1\24\1\72\1\24" + "\1\33\2\24\1\34\1\35\1\24\1\37\11\72\1\24" + "\4\72\1\24\2\72\1\24\1\72\1\24\3\72\11\24" + "\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24" + "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37" + "\30\24\1\75\1\76\1\77\3\24\1\100\1\101\1\27" + + "\1\102\1\27\1\100\1\103\1\104\1\27\4\24\2\27" + "\1\24\3\100\1\24\1\100\1\24\1\33\2\24\1\34" + "\1\35\1\24\1\37\11\100\1\24\4\100\1\24\2\100" + "\1\24\1\100\1\24\3\100\11\24\1\27\1\24\1\27" + "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33" + "\2\24\1\34\1\35\1\24\1\37\32\24\1\77\3\24" + "\1\105\1\106\1\27\1\24\1\27\1\105\1\107\1\24" + "\1\27\4\24\2\27\1\24\3\105\1\24\1\105\1\24" + "\1\33\2\24\1\34\1\35\1\24\1\37\11\105\1\110" + "\4\105\1\24\2\105\1\24\1\105\1\24\3\105\11\24" + "\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24" + "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37" + "\11\24\1\110\11\24\1\111\11\24\1\112\1\113\1\114" + "\1\27\1\115\1\27\1\113\1\116\1\117\1\27\1\120" + "\1\121\1\122\1\24\2\27\1\123\1\124\2\113\1\24" + "\1\113\1\24\1\33\1\125\1\24\1\34\1\126\1\24" + "\1\37\11\113\1\110\4\113\1\127\2\113\1\24\1\113" + "\1\24\3\113\6\24\1\112\1\113\1\114\1\130\1\115" + "\1\130\1\113\1\116\1\117\1\130\1\120\1\121\1\122" + "\1\24\2\130\1\123\1\124\2\113\1\24\1\113\1\24" + + "\1\33\1\125\1\24\1\34\1\126\1\24\1\37\11\113" + "\1\110\4\113\1\127\2\113\1\24\1\113\1\24\3\113" + "\5\24\74\0\2\25\1\131\3\0\2\25\11\0\3\25" + "\1\0\1\25\10\0\11\25\1\0\4\25\1\0\2\25" + "\1\0\1\25\1\0\3\25\6\0\1\132\2\25\1\0" + "\2\25\1\132\2\25\1\0\4\25\2\0\16\25\1\132" + "\2\25\1\132\2\25\1\132\10\25\1\132\4\25\1\132" + "\7\25\4\0\1\27\1\0\1\27\3\0\1\27\4\0" + "\2\27\54\0\1\25\1\131\3\0\1\25\1\133\11\0" + "\3\25\1\0\1\25\10\0\11\25\1\0\4\25\1\0" + "\2\25\1\0\1\25\1\0\3\25\6\0\2\134\1\135" + "\3\0\2\134\11\0\3\134\1\0\1\134\10\0\11\134" + "\1\0\4\134\1\0\2\134\1\0\1\134\1\0\3\134" + "\6\0\2\136\1\137\3\0\2\136\11\0\3\136\1\0" + "\1\136\10\0\11\136\1\0\4\136\1\0\2\136\1\0" + "\1\136\1\0\3\136\36\0\1\140\76\0\1\141\74\0" + "\2\142\10\0\1\143\1\144\1\145\7\0\2\146\10\0" + "\1\147\1\150\3\0\1\147\1\151\11\0\3\147\1\0" + "\1\147\10\0\11\147\1\0\4\147\1\0\2\147\1\0" + "\1\147\1\0\3\147\6\0\2\152\1\153\1\0\1\154" + "\11\152\2\0\52\152\10\0\1\133\63\0\2\155\1\156" + + "\1\0\4\155\1\154\5\155\2\0\52\155\1\0\2\157" + "\1\160\1\0\1\161\11\157\2\0\52\157\1\0\2\162" + "\1\163\1\0\4\162\1\161\5\162\2\0\52\162\23\0" + "\1\164\50\0\2\51\1\165\3\0\2\51\11\0\3\51" + "\1\0\1\51\10\0\11\51\1\0\4\51\1\0\2\51" + "\1\0\1\51\1\0\3\51\6\0\1\166\2\51\1\0" + "\2\51\1\166\2\51\1\0\4\51\2\0\16\51\1\166" + "\2\51\1\166\2\51\1\166\10\51\1\166\4\51\1\166" + "\7\51\2\0\1\51\1\165\3\0\1\51\1\133\11\0" + "\3\51\1\0\1\51\10\0\11\51\1\0\4\51\1\0" + "\2\51\1\0\1\51\1\0\3\51\6\0\2\55\1\167" + "\3\0\2\55\11\0\3\55\1\0\1\55\10\0\11\55" + "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\3\55" + "\6\0\1\170\2\55\1\0\2\55\1\170\2\55\1\0" + "\4\55\2\0\16\55\1\170\2\55\1\170\2\55\1\170" + "\10\55\1\170\4\55\1\170\7\55\2\0\1\55\1\167" + "\3\0\1\55\1\133\11\0\3\55\1\0\1\55\10\0" + "\11\55\1\0\4\55\1\0\2\55\1\0\1\55\1\0" + "\3\55\6\0\2\62\1\171\3\0\2\62\11\0\3\62" + "\1\0\1\62\10\0\11\62\1\0\4\62\1\0\2\62" + "\1\0\1\62\1\0\3\62\6\0\1\172\2\62\1\0" + + "\2\62\1\172\2\62\1\0\4\62\2\0\16\62\1\172" + "\2\62\1\172\2\62\1\172\10\62\1\172\4\62\1\172" + "\7\62\2\0\1\62\1\171\3\0\1\62\1\133\11\0" + "\3\62\1\0\1\62\10\0\11\62\1\0\4\62\1\0" + "\2\62\1\0\1\62\1\0\3\62\7\0\1\62\1\171" + "\3\0\1\62\1\173\11\0\3\62\1\0\1\62\10\0" + "\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0" + "\3\62\5\0\4\174\1\175\1\174\1\175\3\174\1\175" + "\1\174\1\0\2\174\2\175\11\174\1\0\25\174\1\0" + "\12\174\1\0\2\72\1\176\3\0\2\72\11\0\3\72" + "\1\0\1\72\10\0\11\72\1\0\4\72\1\0\2\72" + "\1\0\1\72\1\0\3\72\6\0\1\177\2\72\1\0" + "\2\72\1\177\2\72\1\0\4\72\2\0\16\72\1\177" + "\2\72\1\177\2\72\1\177\10\72\1\177\4\72\1\177" + "\7\72\2\0\1\72\1\176\3\0\1\72\1\133\11\0" + "\3\72\1\0\1\72\10\0\11\72\1\0\4\72\1\0" + "\2\72\1\0\1\72\1\0\3\72\74\0\1\75\4\0" + "\2\100\1\200\3\0\2\100\11\0\3\100\1\0\1\100" + "\10\0\11\100\1\0\4\100\1\0\2\100\1\0\1\100" + "\1\0\3\100\6\0\1\201\2\100\1\0\2\100\1\201" + "\2\100\1\0\4\100\2\0\16\100\1\201\2\100\1\201" + + "\2\100\1\201\10\100\1\201\4\100\1\201\7\100\1\0" + "\2\202\1\203\1\0\1\204\11\202\2\0\52\202\2\0" + "\1\100\1\200\3\0\1\100\1\133\11\0\3\100\1\0" + "\1\100\10\0\11\100\1\0\4\100\1\0\2\100\1\0" + "\1\100\1\0\3\100\6\0\2\205\1\206\1\0\4\205" + "\1\204\5\205\2\0\52\205\1\0\2\105\1\207\3\0" + "\2\105\11\0\3\105\1\0\1\105\10\0\11\105\1\0" + "\4\105\1\0\2\105\1\0\1\105\1\0\3\105\6\0" + "\1\210\2\105\1\0\2\105\1\210\2\105\1\0\4\105" + "\2\0\16\105\1\210\2\105\1\210\2\105\1\210\10\105" + "\1\210\4\105\1\210\7\105\2\0\1\105\1\207\3\0" + "\1\105\1\133\11\0\3\105\1\0\1\105\10\0\11\105" + "\1\0\4\105\1\0\2\105\1\0\1\105\1\0\3\105" + "\6\0\1\112\1\211\1\212\3\0\1\211\1\213\4\0" + "\1\214\4\0\3\211\1\0\1\211\10\0\11\211\1\0" + "\4\211\1\0\2\211\1\0\1\211\1\0\3\211\4\0" + "\1\215\1\0\2\113\1\216\3\0\2\113\11\0\3\113" + "\1\217\1\113\10\0\11\113\1\0\4\113\1\0\2\113" + "\1\0\1\113\1\0\3\113\6\0\1\220\2\113\1\0" + "\2\113\1\220\2\113\1\0\4\113\2\0\16\113\1\220" + + "\2\113\1\220\2\113\1\220\10\113\1\220\4\113\1\220" + "\7\113\1\0\2\221\1\222\1\0\1\223\11\221\2\0" + "\52\221\1\0\1\112\1\113\1\216\3\0\1\113\1\133" + "\4\0\1\214\4\0\3\113\1\0\1\113\10\0\11\113" + "\1\0\4\113\1\0\2\113\1\0\1\113\1\0\3\113" + "\6\0\2\224\1\225\1\0\4\224\1\223\5\224\2\0" + "\52\224\1\0\1\112\13\0\1\214\56\0\1\226\72\0" + "\2\227\1\230\3\0\2\227\11\0\3\227\1\0\1\227" + "\10\0\11\227\1\0\4\227\1\0\2\227\1\0\1\227" + "\1\0\3\227\6\0\2\113\1\216\3\0\2\113\3\0" + "\1\231\5\0\1\113\1\232\1\113\1\217\1\113\10\0" + "\11\113\1\0\4\113\1\0\2\113\1\0\1\113\1\0" + "\3\113\11\0\1\233\1\0\1\233\3\0\1\233\4\0" + "\2\233\30\0\1\234\21\0\4\235\1\236\1\235\1\236" + "\3\235\1\236\4\235\2\236\12\235\1\0\14\235\1\0" + "\22\235\1\0\1\237\1\25\1\131\1\25\1\0\1\25" + "\1\237\1\25\1\0\1\25\4\0\2\25\1\0\3\25" + "\1\0\1\25\10\0\1\237\2\25\1\237\2\25\1\237" + "\2\25\1\0\4\25\1\0\1\237\1\25\1\0\1\25" + "\1\0\1\237\2\25\37\0\1\240\41\0\1\241\2\134" + + "\1\0\2\134\1\241\2\134\1\0\4\134\2\0\16\134" + "\1\241\2\134\1\241\2\134\1\241\10\134\1\241\4\134" + "\1\241\7\134\1\0\1\242\2\136\1\0\2\136\1\242" + "\2\136\1\0\4\136\2\0\16\136\1\242\2\136\1\242" + "\2\136\1\242\10\136\1\242\4\136\1\242\7\136\10\0" + "\1\243\62\0\35\141\1\244\35\141\41\0\1\245\103\0" + "\1\246\65\0\2\247\66\0\2\250\103\0\1\251\17\0" + "\2\147\1\150\3\0\2\147\11\0\3\147\1\252\1\147" + "\10\0\11\147\1\0\4\147\1\0\2\147\1\0\1\147" + "\1\0\3\147\6\0\1\253\2\147\1\0\2\147\1\253" + "\2\147\1\0\4\147\2\0\16\147\1\253\2\147\1\253" + "\2\147\1\253\10\147\1\253\4\147\1\253\7\147\2\0" + "\1\147\1\150\3\0\1\147\12\0\3\147\1\0\1\147" + "\10\0\11\147\1\0\4\147\1\0\2\147\1\0\1\147" + "\1\0\3\147\6\0\1\254\1\152\1\153\1\152\1\255" + "\1\152\1\254\10\152\1\256\16\152\1\254\2\152\1\254" + "\2\152\1\254\10\152\1\254\4\152\1\254\7\152\1\0" + "\1\257\1\155\1\156\3\155\1\257\1\155\1\260\6\155" + "\1\261\16\155\1\257\2\155\1\257\2\155\1\257\10\155" + + "\1\257\4\155\1\257\7\155\1\0\1\262\1\157\1\160" + "\1\157\1\263\1\157\1\262\10\157\1\264\16\157\1\262" + "\2\157\1\262\2\157\1\262\10\157\1\262\4\157\1\262" + "\7\157\1\0\1\265\1\162\1\163\3\162\1\265\1\162" + "\1\266\6\162\1\267\16\162\1\265\2\162\1\265\2\162" + "\1\265\10\162\1\265\4\162\1\265\7\162\24\0\1\270" + "\47\0\1\271\1\51\1\165\1\51\1\0\1\51\1\271" + "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0" + "\1\51\10\0\1\271\2\51\1\271\2\51\1\271\2\51" + "\1\0\4\51\1\0\1\271\1\51\1\0\1\51\1\0" + "\1\271\2\51\6\0\1\272\1\55\1\167\1\55\1\0" + "\1\55\1\272\1\55\1\0\1\55\4\0\2\55\1\0" + "\3\55\1\0\1\55\10\0\1\272\2\55\1\272\2\55" + "\1\272\2\55\1\0\4\55\1\0\1\272\1\55\1\0" + "\1\55\1\0\1\272\2\55\6\0\1\273\1\62\1\171" + "\1\62\1\0\1\62\1\273\1\62\1\0\1\62\4\0" + "\2\62\1\0\3\62\1\0\1\62\10\0\1\273\2\62" + "\1\273\2\62\1\273\2\62\1\0\4\62\1\0\1\273" + "\1\62\1\0\1\62\1\0\1\273\2\62\7\0\1\62" + "\1\171\3\0\1\62\12\0\3\62\1\0\1\62\10\0" + "\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0" + + "\3\62\6\0\1\274\1\72\1\176\1\72\1\0\1\72" + "\1\274\1\72\1\0\1\72\4\0\2\72\1\0\3\72" + "\1\0\1\72\10\0\1\274\2\72\1\274\2\72\1\274" + "\2\72\1\0\4\72\1\0\1\274\1\72\1\0\1\72" + "\1\0\1\274\2\72\6\0\1\275\1\100\1\200\1\100" + "\1\0\1\100\1\275\1\100\1\0\1\100\4\0\2\100" + "\1\0\3\100\1\0\1\100\10\0\1\275\2\100\1\275" + "\2\100\1\275\2\100\1\0\4\100\1\0\1\275\1\100" + "\1\0\1\100\1\0\1\275\2\100\6\0\1\276\1\202" + "\1\203\1\202\1\277\1\202\1\276\10\202\1\300\16\202" + "\1\276\2\202\1\276\2\202\1\276\10\202\1\276\4\202" + "\1\276\7\202\1\0\1\301\1\205\1\206\3\205\1\301" + "\1\205\1\302\6\205\1\303\16\205\1\301\2\205\1\301" + "\2\205\1\301\10\205\1\301\4\205\1\301\7\205\1\0" + "\1\304\1\105\1\207\1\105\1\0\1\105\1\304\1\105" + "\1\0\1\105\4\0\2\105\1\0\3\105\1\0\1\105" + "\10\0\1\304\2\105\1\304\2\105\1\304\2\105\1\0" + "\4\105\1\0\1\304\1\105\1\0\1\105\1\0\1\304" + "\2\105\6\0\2\211\1\212\3\0\2\211\11\0\3\211" + "\1\0\1\211\10\0\11\211\1\0\4\211\1\0\2\211" + + "\1\0\1\211\1\0\3\211\6\0\1\305\2\211\1\0" + "\2\211\1\305\2\211\1\0\4\211\2\0\16\211\1\305" + "\2\211\1\305\2\211\1\305\10\211\1\305\4\211\1\305" + "\7\211\2\0\1\211\1\212\3\0\1\211\12\0\3\211" + "\1\0\1\211\10\0\11\211\1\0\4\211\1\0\2\211" + "\1\0\1\211\1\0\3\211\6\0\1\306\1\113\1\216" + "\1\113\1\0\1\113\1\306\1\113\1\0\1\113\4\0" + "\2\113\1\0\3\113\1\217\1\113\10\0\1\306\2\113" + "\1\306\2\113\1\306\2\113\1\0\4\113\1\0\1\306" + "\1\113\1\0\1\113\1\0\1\306\2\113\6\0\1\307" + "\1\221\1\222\1\221\1\310\1\221\1\307\10\221\1\311" + "\16\221\1\307\2\221\1\307\2\221\1\307\10\221\1\307" + "\4\221\1\307\7\221\1\0\1\312\1\224\1\225\3\224" + "\1\312\1\224\1\313\6\224\1\314\16\224\1\312\2\224" + "\1\312\2\224\1\312\10\224\1\312\4\224\1\312\7\224" + "\1\0\1\226\1\211\1\212\3\0\1\211\1\213\11\0" + "\3\211\1\0\1\211\10\0\11\211\1\0\4\211\1\0" + "\2\211\1\0\1\211\1\0\3\211\4\0\1\215\1\0" + "\1\315\2\227\1\0\2\227\1\315\2\227\1\0\4\227" + + "\2\0\16\227\1\315\2\227\1\315\2\227\1\315\10\227" + "\1\315\4\227\1\315\7\227\1\0\1\316\5\0\1\316" + "\16\0\2\316\7\0\2\316\1\0\2\316\1\0\2\316" + "\7\0\2\316\3\0\2\316\7\0\2\113\1\216\3\0" + "\2\113\11\0\2\113\1\317\1\217\1\113\10\0\11\113" + "\1\0\4\113\1\0\2\113\1\0\1\113\1\0\3\113" + "\57\0\1\320\21\0\1\321\1\25\1\131\1\25\1\0" + "\1\25\1\321\1\25\1\0\1\25\4\0\2\25\1\0" + "\3\25\1\0\1\25\10\0\1\321\2\25\1\321\2\25" + "\1\321\2\25\1\0\4\25\1\0\1\321\1\25\1\0" + "\1\25\1\0\1\321\2\25\6\0\1\322\1\134\1\135" + "\1\134\1\0\1\134\1\322\1\134\1\0\1\134\4\0" + "\2\134\1\0\3\134\1\0\1\134\10\0\1\322\2\134" + "\1\322\2\134\1\322\2\134\1\0\4\134\1\0\1\322" + "\1\134\1\0\1\134\1\0\1\322\2\134\6\0\1\323" + "\1\136\1\137\1\136\1\0\1\136\1\323\1\136\1\0" + "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0" + "\1\323\2\136\1\323\2\136\1\323\2\136\1\0\4\136" + "\1\0\1\323\1\136\1\0\1\136\1\0\1\323\2\136" + "\15\0\1\324\62\0\34\141\1\325\1\244\35\141\42\0" + + "\2\326\102\0\1\327\75\0\2\330\74\0\1\331\76\0" + "\1\332\7\0\1\333\1\334\1\252\1\0\1\252\1\333" + "\1\335\1\0\1\252\4\0\2\252\1\0\3\333\1\0" + "\1\333\10\0\11\333\1\0\4\333\1\0\2\333\1\0" + "\1\333\1\0\3\333\6\0\1\336\1\147\1\150\1\147" + "\1\0\1\147\1\336\1\147\1\0\1\147\4\0\2\147" + "\1\0\3\147\1\252\1\147\10\0\1\336\2\147\1\336" + "\2\147\1\336\2\147\1\0\4\147\1\0\1\336\1\147" + "\1\0\1\147\1\0\1\336\2\147\6\0\1\337\1\152" + "\1\153\1\152\1\154\1\152\1\337\27\152\1\337\2\152" + "\1\337\2\152\1\337\10\152\1\337\4\152\1\337\7\152" + "\1\0\2\152\1\153\1\0\1\154\12\152\1\0\52\152" + "\1\0\1\340\1\155\1\156\3\155\1\340\1\155\1\154" + "\25\155\1\340\2\155\1\340\2\155\1\340\10\155\1\340" + "\4\155\1\340\7\155\1\0\2\155\1\156\1\0\4\155" + "\1\154\6\155\1\0\52\155\1\0\1\341\1\157\1\160" + "\1\157\1\161\1\157\1\341\27\157\1\341\2\157\1\341" + "\2\157\1\341\10\157\1\341\4\157\1\341\7\157\1\0" + "\2\157\1\160\1\0\1\161\12\157\1\0\52\157\1\0" + + "\1\342\1\162\1\163\3\162\1\342\1\162\1\161\25\162" + "\1\342\2\162\1\342\2\162\1\342\10\162\1\342\4\162" + "\1\342\7\162\1\0\2\162\1\163\1\0\4\162\1\161" + "\6\162\1\0\52\162\25\0\1\343\46\0\1\344\1\51" + "\1\165\1\51\1\0\1\51\1\344\1\51\1\0\1\51" + "\4\0\2\51\1\0\3\51\1\0\1\51\10\0\1\344" + "\2\51\1\344\2\51\1\344\2\51\1\0\4\51\1\0" + "\1\344\1\51\1\0\1\51\1\0\1\344\2\51\6\0" + "\1\345\1\55\1\167\1\55\1\0\1\55\1\345\1\55" + "\1\0\1\55\4\0\2\55\1\0\3\55\1\0\1\55" + "\10\0\1\345\2\55\1\345\2\55\1\345\2\55\1\0" + "\4\55\1\0\1\345\1\55\1\0\1\55\1\0\1\345" + "\2\55\6\0\1\346\1\62\1\171\1\62\1\0\1\62" + "\1\346\1\62\1\0\1\62\4\0\2\62\1\0\3\62" + "\1\0\1\62\10\0\1\346\2\62\1\346\2\62\1\346" + "\2\62\1\0\4\62\1\0\1\346\1\62\1\0\1\62" + "\1\0\1\346\2\62\6\0\1\347\1\72\1\176\1\72" + "\1\0\1\72\1\347\1\72\1\0\1\72\4\0\2\72" + "\1\0\3\72\1\0\1\72\10\0\1\347\2\72\1\347" + "\2\72\1\347\2\72\1\0\4\72\1\0\1\347\1\72" + "\1\0\1\72\1\0\1\347\2\72\6\0\1\350\1\100" + + "\1\200\1\100\1\0\1\100\1\350\1\100\1\0\1\100" + "\4\0\2\100\1\0\3\100\1\0\1\100\10\0\1\350" + "\2\100\1\350\2\100\1\350\2\100\1\0\4\100\1\0" + "\1\350\1\100\1\0\1\100\1\0\1\350\2\100\6\0" + "\1\351\1\202\1\203\1\202\1\204\1\202\1\351\27\202" + "\1\351\2\202\1\351\2\202\1\351\10\202\1\351\4\202" + "\1\351\7\202\1\0\2\202\1\203\1\0\1\204\12\202" + "\1\0\52\202\1\0\1\352\1\205\1\206\3\205\1\352" + "\1\205\1\204\25\205\1\352\2\205\1\352\2\205\1\352" + "\10\205\1\352\4\205\1\352\7\205\1\0\2\205\1\206" + "\1\0\4\205\1\204\6\205\1\0\52\205\1\0\1\353" + "\1\105\1\207\1\105\1\0\1\105\1\353\1\105\1\0" + "\1\105\4\0\2\105\1\0\3\105\1\0\1\105\10\0" + "\1\353\2\105\1\353\2\105\1\353\2\105\1\0\4\105" + "\1\0\1\353\1\105\1\0\1\105\1\0\1\353\2\105" + "\6\0\1\354\1\211\1\212\1\211\1\0\1\211\1\354" + "\1\211\1\0\1\211\4\0\2\211\1\0\3\211\1\0" + "\1\211\10\0\1\354\2\211\1\354\2\211\1\354\2\211" + "\1\0\4\211\1\0\1\354\1\211\1\0\1\211\1\0" + + "\1\354\2\211\6\0\1\355\1\113\1\216\1\113\1\0" + "\1\113\1\355\1\113\1\0\1\113\4\0\2\113\1\0" + "\3\113\1\217\1\113\10\0\1\355\2\113\1\355\2\113" + "\1\355\2\113\1\0\4\113\1\0\1\355\1\113\1\0" + "\1\113\1\0\1\355\2\113\6\0\1\356\1\221\1\222" + "\1\221\1\223\1\221\1\356\27\221\1\356\2\221\1\356" + "\2\221\1\356\10\221\1\356\4\221\1\356\7\221\1\0" + "\2\221\1\222\1\0\1\223\12\221\1\0\52\221\1\0" + "\1\357\1\224\1\225\3\224\1\357\1\224\1\223\25\224" + "\1\357\2\224\1\357\2\224\1\357\10\224\1\357\4\224" + "\1\357\7\224\1\0\2\224\1\225\1\0\4\224\1\223" + "\6\224\1\0\52\224\1\0\1\360\1\227\1\230\1\227" + "\1\0\1\227\1\360\1\227\1\0\1\227\4\0\2\227" + "\1\0\3\227\1\0\1\227\10\0\1\360\2\227\1\360" + "\2\227\1\360\2\227\1\0\4\227\1\0\1\360\1\227" + "\1\0\1\227\1\0\1\360\2\227\6\0\1\361\5\0" + "\1\361\1\362\15\0\2\361\7\0\2\361\1\0\2\361" + "\1\0\2\361\7\0\2\361\3\0\2\361\7\0\2\113" + "\1\216\3\0\2\113\11\0\3\113\1\363\1\113\10\0" + "\11\113\1\0\4\113\1\0\2\113\1\0\1\113\1\0" + + "\3\113\60\0\1\364\20\0\1\365\1\25\1\131\1\25" + "\1\0\1\25\1\365\1\25\1\0\1\25\4\0\2\25" + "\1\0\3\25\1\0\1\25\10\0\1\365\2\25\1\365" + "\2\25\1\365\2\25\1\0\4\25\1\0\1\365\1\25" + "\1\0\1\25\1\0\1\365\2\25\6\0\1\366\1\134" + "\1\135\1\134\1\0\1\134\1\366\1\134\1\0\1\134" + "\4\0\2\134\1\0\3\134\1\0\1\134\10\0\1\366" + "\2\134\1\366\2\134\1\366\2\134\1\0\4\134\1\0" + "\1\366\1\134\1\0\1\134\1\0\1\366\2\134\6\0" + "\1\367\1\136\1\137\1\136\1\0\1\136\1\367\1\136" + "\1\0\1\136\4\0\2\136\1\0\3\136\1\0\1\136" + "\10\0\1\367\2\136\1\367\2\136\1\367\2\136\1\0" + "\4\136\1\0\1\367\1\136\1\0\1\136\1\0\1\367" + "\2\136\30\0\1\370\123\0\1\371\67\0\1\372\66\0" + "\2\373\73\0\1\374\24\0\2\333\1\334\1\375\1\0" + "\1\375\2\333\1\0\1\375\1\376\3\0\2\375\1\0" + "\3\333\1\0\1\333\10\0\11\333\1\0\4\333\1\0" + "\2\333\1\0\1\333\1\0\3\333\6\0\1\377\2\333" + "\1\0\2\333\1\377\2\333\1\0\4\333\2\0\16\333" + "\1\377\2\333\1\377\2\333\1\377\10\333\1\377\4\333" + + "\1\377\7\333\2\0\1\333\1\334\3\0\1\333\12\0" + "\3\333\1\0\1\333\10\0\11\333\1\0\4\333\1\0" + "\2\333\1\0\1\333\1\0\3\333\6\0\1\u0100\1\147" + "\1\150\1\147\1\0\1\147\1\u0100\1\147\1\0\1\147" + "\4\0\2\147\1\0\3\147\1\252\1\147\10\0\1\u0100" + "\2\147\1\u0100\2\147\1\u0100\2\147\1\0\4\147\1\0" + "\1\u0100\1\147\1\0\1\147\1\0\1\u0100\2\147\6\0" + "\1\u0101\1\152\1\153\1\152\1\154\1\152\1\u0101\27\152" + "\1\u0101\2\152\1\u0101\2\152\1\u0101\10\152\1\u0101\4\152" + "\1\u0101\7\152\1\0\1\u0102\1\155\1\156\3\155\1\u0102" + "\1\155\1\154\25\155\1\u0102\2\155\1\u0102\2\155\1\u0102" + "\10\155\1\u0102\4\155\1\u0102\7\155\1\0\1\u0103\1\157" + "\1\160\1\157\1\161\1\157\1\u0103\27\157\1\u0103\2\157" + "\1\u0103\2\157\1\u0103\10\157\1\u0103\4\157\1\u0103\7\157" + "\1\0\1\u0104\1\162\1\163\3\162\1\u0104\1\162\1\161" + "\25\162\1\u0104\2\162\1\u0104\2\162\1\u0104\10\162\1\u0104" + "\4\162\1\u0104\7\162\1\0\2\u0105\1\u0106\1\343\1\u0107" + + "\1\343\2\u0105\1\u0108\1\343\1\u0109\3\u0105\2\343\4\u0105" + "\1\0\45\u0105\1\0\1\u010a\1\51\1\165\1\51\1\0" + "\1\51\1\u010a\1\51\1\0\1\51\4\0\2\51\1\0" + "\3\51\1\0\1\51\10\0\1\u010a\2\51\1\u010a\2\51" + "\1\u010a\2\51\1\0\4\51\1\0\1\u010a\1\51\1\0" + "\1\51\1\0\1\u010a\2\51\6\0\1\u010b\1\55\1\167" + "\1\55\1\0\1\55\1\u010b\1\55\1\0\1\55\4\0" + "\2\55\1\0\3\55\1\0\1\55\10\0\1\u010b\2\55" + "\1\u010b\2\55\1\u010b\2\55\1\0\4\55\1\0\1\u010b" + "\1\55\1\0\1\55\1\0\1\u010b\2\55\6\0\1\u010c" + "\1\62\1\171\1\62\1\0\1\62\1\u010c\1\62\1\0" + "\1\62\4\0\2\62\1\0\3\62\1\0\1\62\10\0" + "\1\u010c\2\62\1\u010c\2\62\1\u010c\2\62\1\0\4\62" + "\1\0\1\u010c\1\62\1\0\1\62\1\0\1\u010c\2\62" + "\6\0\1\u010d\1\72\1\176\1\72\1\0\1\72\1\u010d" + "\1\72\1\0\1\72\4\0\2\72\1\0\3\72\1\0" + "\1\72\10\0\1\u010d\2\72\1\u010d\2\72\1\u010d\2\72" + "\1\0\4\72\1\0\1\u010d\1\72\1\0\1\72\1\0" + "\1\u010d\2\72\6\0\1\u010e\1\100\1\200\1\100\1\0" + "\1\100\1\u010e\1\100\1\0\1\100\4\0\2\100\1\0" + + "\3\100\1\0\1\100\10\0\1\u010e\2\100\1\u010e\2\100" + "\1\u010e\2\100\1\0\4\100\1\0\1\u010e\1\100\1\0" + "\1\100\1\0\1\u010e\2\100\6\0\1\u010f\1\202\1\203" + "\1\202\1\204\1\202\1\u010f\27\202\1\u010f\2\202\1\u010f" + "\2\202\1\u010f\10\202\1\u010f\4\202\1\u010f\7\202\1\0" + "\1\u0110\1\205\1\206\3\205\1\u0110\1\205\1\204\25\205" + "\1\u0110\2\205\1\u0110\2\205\1\u0110\10\205\1\u0110\4\205" + "\1\u0110\7\205\1\0\1\u0111\1\105\1\207\1\105\1\0" + "\1\105\1\u0111\1\105\1\0\1\105\4\0\2\105\1\0" + "\3\105\1\0\1\105\10\0\1\u0111\2\105\1\u0111\2\105" + "\1\u0111\2\105\1\0\4\105\1\0\1\u0111\1\105\1\0" + "\1\105\1\0\1\u0111\2\105\6\0\1\u0112\1\211\1\212" + "\1\211\1\0\1\211\1\u0112\1\211\1\0\1\211\4\0" + "\2\211\1\0\3\211\1\0\1\211\10\0\1\u0112\2\211" + "\1\u0112\2\211\1\u0112\2\211\1\0\4\211\1\0\1\u0112" + "\1\211\1\0\1\211\1\0\1\u0112\2\211\6\0\1\u0113" + "\1\113\1\216\1\113\1\0\1\113\1\u0113\1\113\1\0" + "\1\113\4\0\2\113\1\0\3\113\1\217\1\113\10\0" + + "\1\u0113\2\113\1\u0113\2\113\1\u0113\2\113\1\0\4\113" + "\1\0\1\u0113\1\113\1\0\1\113\1\0\1\u0113\2\113" + "\6\0\1\u0114\1\221\1\222\1\221\1\223\1\221\1\u0114" + "\27\221\1\u0114\2\221\1\u0114\2\221\1\u0114\10\221\1\u0114" + "\4\221\1\u0114\7\221\1\0\1\u0115\1\224\1\225\3\224" + "\1\u0115\1\224\1\223\25\224\1\u0115\2\224\1\u0115\2\224" + "\1\u0115\10\224\1\u0115\4\224\1\u0115\7\224\1\0\1\u0116" + "\1\227\1\230\1\227\1\0\1\227\1\u0116\1\227\1\0" + "\1\227\4\0\2\227\1\0\3\227\1\0\1\227\10\0" + "\1\u0116\2\227\1\u0116\2\227\1\u0116\2\227\1\0\4\227" + "\1\0\1\u0116\1\227\1\0\1\227\1\0\1\u0116\2\227" + "\6\0\1\u0117\5\0\1\u0117\1\362\15\0\2\u0117\7\0" + "\2\u0117\1\0\2\u0117\1\0\2\u0117\7\0\2\u0117\3\0" + "\2\u0117\7\0\1\u0118\5\0\1\u0118\16\0\2\u0118\7\0" + "\2\u0118\1\0\2\u0118\1\0\2\u0118\7\0\2\u0118\3\0" + "\2\u0118\7\0\2\u0119\1\u011a\1\u011b\1\u011c\1\u011b\2\u0119" + "\1\u011d\1\u011b\1\u011e\3\u0119\2\u011b\4\u0119\1\0\45\u0119" + + "\54\0\1\u011f\17\0\1\u0120\1\25\1\131\1\25\1\0" + "\1\25\1\u0120\1\25\1\0\1\25\4\0\2\25\1\0" + "\3\25\1\0\1\25\10\0\1\u0120\2\25\1\u0120\2\25" + "\1\u0120\2\25\1\0\4\25\1\0\1\u0120\1\25\1\0" + "\1\25\1\0\1\u0120\2\25\6\0\1\u0121\1\134\1\135" + "\1\134\1\0\1\134\1\u0121\1\134\1\0\1\134\4\0" + "\2\134\1\0\3\134\1\0\1\134\10\0\1\u0121\2\134" + "\1\u0121\2\134\1\u0121\2\134\1\0\4\134\1\0\1\u0121" + "\1\134\1\0\1\134\1\0\1\u0121\2\134\6\0\1\u0122" + "\1\136\1\137\1\136\1\0\1\136\1\u0122\1\136\1\0" + "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0" + "\1\u0122\2\136\1\u0122\2\136\1\u0122\2\136\1\0\4\136" + "\1\0\1\u0122\1\136\1\0\1\136\1\0\1\u0122\2\136" + "\51\0\1\u0123\51\0\1\u0124\111\0\2\u0125\37\0\1\u0126" + "\66\0\1\375\1\0\1\375\3\0\1\375\1\376\3\0" + "\2\375\53\0\1\u0127\1\333\1\334\1\333\1\0\1\333" + "\1\u0127\1\333\1\0\1\333\1\376\3\0\2\333\1\0" + "\3\333\1\0\1\333\10\0\1\u0127\2\333\1\u0127\2\333" + "\1\u0127\2\333\1\0\4\333\1\0\1\u0127\1\333\1\0" + + "\1\333\1\0\1\u0127\2\333\6\0\1\u0128\1\147\1\150" + "\1\147\1\0\1\147\1\u0128\1\147\1\0\1\147\4\0" + "\2\147\1\0\3\147\1\252\1\147\10\0\1\u0128\2\147" + "\1\u0128\2\147\1\u0128\2\147\1\0\4\147\1\0\1\u0128" + "\1\147\1\0\1\147\1\0\1\u0128\2\147\6\0\1\u0129" + "\1\152\1\153\1\152\1\154\1\152\1\u0129\27\152\1\u0129" + "\2\152\1\u0129\2\152\1\u0129\10\152\1\u0129\4\152\1\u0129" + "\7\152\1\0\1\u012a\1\155\1\156\3\155\1\u012a\1\155" + "\1\154\25\155\1\u012a\2\155\1\u012a\2\155\1\u012a\10\155" + "\1\u012a\4\155\1\u012a\7\155\1\0\1\u012b\1\157\1\160" + "\1\157\1\161\1\157\1\u012b\27\157\1\u012b\2\157\1\u012b" + "\2\157\1\u012b\10\157\1\u012b\4\157\1\u012b\7\157\1\0" + "\1\u012c\1\162\1\163\3\162\1\u012c\1\162\1\161\25\162" + "\1\u012c\2\162\1\u012c\2\162\1\u012c\10\162\1\u012c\4\162" + "\1\u012c\7\162\1\0\2\u0105\1\u0106\1\u012d\1\0\3\u0105" + "\1\0\1\u012d\1\u0109\3\u0105\2\u012d\4\u0105\1\0\45\u0105" + "\1\0\1\u012e\1\u0105\1\u0106\1\u012d\2\u0105\1\u012e\2\u0105" + + "\1\u012d\1\u012f\3\u0105\2\u012d\16\u0105\1\u012e\2\u0105\1\u012e" + "\2\u0105\1\u012e\10\u0105\1\u012e\4\u0105\1\u012e\7\u0105\1\0" + "\2\u0107\1\u0130\1\0\1\u012d\11\u0107\2\0\52\u0107\1\0" + "\2\u0108\1\u0131\1\0\4\u0108\1\u012d\5\u0108\2\0\52\u0108" + "\1\0\1\u0132\1\51\1\165\1\51\1\0\1\51\1\u0132" + "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0" + "\1\51\10\0\1\u0132\2\51\1\u0132\2\51\1\u0132\2\51" + "\1\0\4\51\1\0\1\u0132\1\51\1\0\1\51\1\0" + "\1\u0132\2\51\6\0\1\u0133\1\55\1\167\1\55\1\0" + "\1\55\1\u0133\1\55\1\0\1\55\4\0\2\55\1\0" + "\3\55\1\0\1\55\10\0\1\u0133\2\55\1\u0133\2\55" + "\1\u0133\2\55\1\0\4\55\1\0\1\u0133\1\55\1\0" + "\1\55\1\0\1\u0133\2\55\6\0\1\u0134\1\62\1\171" + "\1\62\1\0\1\62\1\u0134\1\62\1\0\1\62\4\0" + "\2\62\1\0\3\62\1\0\1\62\10\0\1\u0134\2\62" + "\1\u0134\2\62\1\u0134\2\62\1\0\4\62\1\0\1\u0134" + "\1\62\1\0\1\62\1\0\1\u0134\2\62\6\0\1\u0135" + "\1\72\1\176\1\72\1\0\1\72\1\u0135\1\72\1\0" + "\1\72\4\0\2\72\1\0\3\72\1\0\1\72\10\0" + + "\1\u0135\2\72\1\u0135\2\72\1\u0135\2\72\1\0\4\72" + "\1\0\1\u0135\1\72\1\0\1\72\1\0\1\u0135\2\72" + "\6\0\1\u0136\1\100\1\200\1\100\1\0\1\100\1\u0136" + "\1\100\1\0\1\100\4\0\2\100\1\0\3\100\1\0" + "\1\100\10\0\1\u0136\2\100\1\u0136\2\100\1\u0136\2\100" + "\1\0\4\100\1\0\1\u0136\1\100\1\0\1\100\1\0" + "\1\u0136\2\100\6\0\1\u0137\1\202\1\203\1\202\1\204" + "\1\202\1\u0137\27\202\1\u0137\2\202\1\u0137\2\202\1\u0137" + "\10\202\1\u0137\4\202\1\u0137\7\202\1\0\1\u0138\1\205" + "\1\206\3\205\1\u0138\1\205\1\204\25\205\1\u0138\2\205" + "\1\u0138\2\205\1\u0138\10\205\1\u0138\4\205\1\u0138\7\205" + "\1\0\1\u0139\1\105\1\207\1\105\1\0\1\105\1\u0139" + "\1\105\1\0\1\105\4\0\2\105\1\0\3\105\1\0" + "\1\105\10\0\1\u0139\2\105\1\u0139\2\105\1\u0139\2\105" + "\1\0\4\105\1\0\1\u0139\1\105\1\0\1\105\1\0" + "\1\u0139\2\105\6\0\1\u013a\1\211\1\212\1\211\1\0" + "\1\211\1\u013a\1\211\1\0\1\211\4\0\2\211\1\0" + "\3\211\1\0\1\211\10\0\1\u013a\2\211\1\u013a\2\211" + + "\1\u013a\2\211\1\0\4\211\1\0\1\u013a\1\211\1\0" + "\1\211\1\0\1\u013a\2\211\6\0\1\u013b\1\113\1\216" + "\1\113\1\0\1\113\1\u013b\1\113\1\0\1\113\4\0" + "\2\113\1\0\3\113\1\217\1\113\10\0\1\u013b\2\113" + "\1\u013b\2\113\1\u013b\2\113\1\0\4\113\1\0\1\u013b" + "\1\113\1\0\1\113\1\0\1\u013b\2\113\6\0\1\u013c" + "\1\221\1\222\1\221\1\223\1\221\1\u013c\27\221\1\u013c" + "\2\221\1\u013c\2\221\1\u013c\10\221\1\u013c\4\221\1\u013c" + "\7\221\1\0\1\u013d\1\224\1\225\3\224\1\u013d\1\224" + "\1\223\25\224\1\u013d\2\224\1\u013d\2\224\1\u013d\10\224" + "\1\u013d\4\224\1\u013d\7\224\1\0\1\u013e\1\227\1\230" + "\1\227\1\0\1\227\1\u013e\1\227\1\0\1\227\4\0" + "\2\227\1\0\3\227\1\0\1\227\10\0\1\u013e\2\227" + "\1\u013e\2\227\1\u013e\2\227\1\0\4\227\1\0\1\u013e" + "\1\227\1\0\1\227\1\0\1\u013e\2\227\6\0\1\u013f" + "\5\0\1\u013f\1\362\15\0\2\u013f\7\0\2\u013f\1\0" + "\2\u013f\1\0\2\u013f\7\0\2\u013f\3\0\2\u013f\7\0" + "\1\u0140\5\0\1\u0140\16\0\2\u0140\7\0\2\u0140\1\0" + + "\2\u0140\1\0\2\u0140\7\0\2\u0140\3\0\2\u0140\7\0" + "\2\u0119\1\u011a\1\u0141\1\0\3\u0119\1\0\1\u0141\1\u011e" + "\3\u0119\2\u0141\4\u0119\1\0\45\u0119\1\0\1\u0142\1\u0119" + "\1\u011a\1\u0141\2\u0119\1\u0142\2\u0119\1\u0141\1\u0143\3\u0119" + "\2\u0141\16\u0119\1\u0142\2\u0119\1\u0142\2\u0119\1\u0142\10\u0119" + "\1\u0142\4\u0119\1\u0142\7\u0119\1\0\2\u011c\1\u0144\1\0" + "\1\u0141\11\u011c\2\0\52\u011c\1\0\2\u011d\1\u0145\1\0" + "\4\u011d\1\u0141\5\u011d\2\0\52\u011d\23\0\1\u0146\50\0" + "\1\u0147\1\25\1\131\1\25\1\0\1\25\1\u0147\1\25" + "\1\0\1\25\4\0\2\25\1\0\3\25\1\0\1\25" + "\10\0\1\u0147\2\25\1\u0147\2\25\1\u0147\2\25\1\0" + "\4\25\1\0\1\u0147\1\25\1\0\1\25\1\0\1\u0147" + "\2\25\6\0\1\u0148\1\134\1\135\1\134\1\0\1\134" + "\1\u0148\1\134\1\0\1\134\4\0\2\134\1\0\3\134" + "\1\0\1\134\10\0\1\u0148\2\134\1\u0148\2\134\1\u0148" + "\2\134\1\0\4\134\1\0\1\u0148\1\134\1\0\1\134" + "\1\0\1\u0148\2\134\6\0\1\u0149\1\136\1\137\1\136" + + "\1\0\1\136\1\u0149\1\136\1\0\1\136\4\0\2\136" + "\1\0\3\136\1\0\1\136\10\0\1\u0149\2\136\1\u0149" + "\2\136\1\u0149\2\136\1\0\4\136\1\0\1\u0149\1\136" + "\1\0\1\136\1\0\1\u0149\2\136\52\0\2\u014a\73\0" + "\1\u014b\106\0\2\u014c\7\0\1\u014d\1\333\1\334\1\333" + "\1\0\1\333\1\u014d\1\333\1\0\1\333\1\376\3\0" + "\2\333\1\0\3\333\1\0\1\333\10\0\1\u014d\2\333" + "\1\u014d\2\333\1\u014d\2\333\1\0\4\333\1\0\1\u014d" + "\1\333\1\0\1\333\1\0\1\u014d\2\333\6\0\1\u014e" + "\1\147\1\150\1\147\1\0\1\147\1\u014e\1\147\1\0" + "\1\147\4\0\2\147\1\0\3\147\1\252\1\147\10\0" + "\1\u014e\2\147\1\u014e\2\147\1\u014e\2\147\1\0\4\147" + "\1\0\1\u014e\1\147\1\0\1\147\1\0\1\u014e\2\147" + "\6\0\1\u014f\1\152\1\153\1\152\1\154\1\152\1\u014f" + "\27\152\1\u014f\2\152\1\u014f\2\152\1\u014f\10\152\1\u014f" + "\4\152\1\u014f\7\152\1\0\1\u0150\1\155\1\156\3\155" + "\1\u0150\1\155\1\154\25\155\1\u0150\2\155\1\u0150\2\155" + "\1\u0150\10\155\1\u0150\4\155\1\u0150\7\155\1\0\1\u0151" + + "\1\157\1\160\1\157\1\161\1\157\1\u0151\27\157\1\u0151" + "\2\157\1\u0151\2\157\1\u0151\10\157\1\u0151\4\157\1\u0151" + "\7\157\1\0\1\u0152\1\162\1\163\3\162\1\u0152\1\162" + "\1\161\25\162\1\u0152\2\162\1\u0152\2\162\1\u0152\10\162" + "\1\u0152\4\162\1\u0152\7\162\4\0\1\u012d\1\0\1\u012d" + "\3\0\1\u012d\1\u0109\3\0\2\u012d\53\0\1\u0153\1\u0105" + "\1\u0106\1\u0105\1\0\1\u0105\1\u0153\1\u0105\1\0\1\u0105" + "\1\u0109\11\u0105\1\0\11\u0105\1\u0153\2\u0105\1\u0153\2\u0105" + "\1\u0153\10\u0105\1\u0153\4\u0105\1\u0153\7\u0105\1\0\1\u0154" + "\1\u0107\1\u0130\1\u0107\1\u0155\1\u0107\1\u0154\10\u0107\1\u0156" + "\16\u0107\1\u0154\2\u0107\1\u0154\2\u0107\1\u0154\10\u0107\1\u0154" + "\4\u0107\1\u0154\7\u0107\1\0\1\u0157\1\u0108\1\u0131\3\u0108" + "\1\u0157\1\u0108\1\u0158\6\u0108\1\u0159\16\u0108\1\u0157\2\u0108" + "\1\u0157\2\u0108\1\u0157\10\u0108\1\u0157\4\u0108\1\u0157\7\u0108" + "\1\0\1\u015a\1\51\1\165\1\51\1\0\1\51\1\u015a" + "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0" + + "\1\51\10\0\1\u015a\2\51\1\u015a\2\51\1\u015a\2\51" + "\1\0\4\51\1\0\1\u015a\1\51\1\0\1\51\1\0" + "\1\u015a\2\51\6\0\1\u015b\1\55\1\167\1\55\1\0" + "\1\55\1\u015b\1\55\1\0\1\55\4\0\2\55\1\0" + "\3\55\1\0\1\55\10\0\1\u015b\2\55\1\u015b\2\55" + "\1\u015b\2\55\1\0\4\55\1\0\1\u015b\1\55\1\0" + "\1\55\1\0\1\u015b\2\55\6\0\1\u015c\1\62\1\171" + "\1\62\1\0\1\62\1\u015c\1\62\1\0\1\62\4\0" + "\2\62\1\0\3\62\1\0\1\62\10\0\1\u015c\2\62" + "\1\u015c\2\62\1\u015c\2\62\1\0\4\62\1\0\1\u015c" + "\1\62\1\0\1\62\1\0\1\u015c\2\62\6\0\1\u015d" + "\1\72\1\176\1\72\1\0\1\72\1\u015d\1\72\1\0" + "\1\72\4\0\2\72\1\0\3\72\1\0\1\72\10\0" + "\1\u015d\2\72\1\u015d\2\72\1\u015d\2\72\1\0\4\72" + "\1\0\1\u015d\1\72\1\0\1\72\1\0\1\u015d\2\72" + "\6\0\1\u015e\1\100\1\200\1\100\1\0\1\100\1\u015e" + "\1\100\1\0\1\100\4\0\2\100\1\0\3\100\1\0" + "\1\100\10\0\1\u015e\2\100\1\u015e\2\100\1\u015e\2\100" + "\1\0\4\100\1\0\1\u015e\1\100\1\0\1\100\1\0" + "\1\u015e\2\100\6\0\1\u015f\1\202\1\203\1\202\1\204" + + "\1\202\1\u015f\27\202\1\u015f\2\202\1\u015f\2\202\1\u015f" + "\10\202\1\u015f\4\202\1\u015f\7\202\1\0\1\u0160\1\205" + "\1\206\3\205\1\u0160\1\205\1\204\25\205\1\u0160\2\205" + "\1\u0160\2\205\1\u0160\10\205\1\u0160\4\205\1\u0160\7\205" + "\1\0\1\u0161\1\105\1\207\1\105\1\0\1\105\1\u0161" + "\1\105\1\0\1\105\4\0\2\105\1\0\3\105\1\0" + "\1\105\10\0\1\u0161\2\105\1\u0161\2\105\1\u0161\2\105" + "\1\0\4\105\1\0\1\u0161\1\105\1\0\1\105\1\0" + "\1\u0161\2\105\6\0\1\u0162\1\211\1\212\1\211\1\0" + "\1\211\1\u0162\1\211\1\0\1\211\4\0\2\211\1\0" + "\3\211\1\0\1\211\10\0\1\u0162\2\211\1\u0162\2\211" + "\1\u0162\2\211\1\0\4\211\1\0\1\u0162\1\211\1\0" + "\1\211\1\0\1\u0162\2\211\6\0\1\u0163\1\113\1\216" + "\1\113\1\0\1\113\1\u0163\1\113\1\0\1\113\4\0" + "\2\113\1\0\3\113\1\217\1\113\10\0\1\u0163\2\113" + "\1\u0163\2\113\1\u0163\2\113\1\0\4\113\1\0\1\u0163" + "\1\113\1\0\1\113\1\0\1\u0163\2\113\6\0\1\u0164" + "\1\221\1\222\1\221\1\223\1\221\1\u0164\27\221\1\u0164" + + "\2\221\1\u0164\2\221\1\u0164\10\221\1\u0164\4\221\1\u0164" + "\7\221\1\0\1\u0165\1\224\1\225\3\224\1\u0165\1\224" + "\1\223\25\224\1\u0165\2\224\1\u0165\2\224\1\u0165\10\224" + "\1\u0165\4\224\1\u0165\7\224\1\0\1\u0166\1\227\1\230" + "\1\227\1\0\1\227\1\u0166\1\227\1\0\1\227\4\0" + "\2\227\1\0\3\227\1\0\1\227\10\0\1\u0166\2\227" + "\1\u0166\2\227\1\u0166\2\227\1\0\4\227\1\0\1\u0166" + "\1\227\1\0\1\227\1\0\1\u0166\2\227\6\0\1\u0167" + "\5\0\1\u0167\1\362\15\0\2\u0167\7\0\2\u0167\1\0" + "\2\u0167\1\0\2\u0167\7\0\2\u0167\3\0\2\u0167\7\0" + "\1\u0168\5\0\1\u0168\16\0\2\u0168\7\0\2\u0168\1\0" + "\2\u0168\1\0\2\u0168\7\0\2\u0168\3\0\2\u0168\12\0" + "\1\u0141\1\0\1\u0141\3\0\1\u0141\1\u011e\3\0\2\u0141" + "\53\0\1\u0169\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0169" + "\1\u0119\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0169" + "\2\u0119\1\u0169\2\u0119\1\u0169\10\u0119\1\u0169\4\u0119\1\u0169" + "\7\u0119\1\0\1\u016a\1\u011c\1\u0144\1\u011c\1\u016b\1\u011c" + + "\1\u016a\10\u011c\1\u016c\16\u011c\1\u016a\2\u011c\1\u016a\2\u011c" + "\1\u016a\10\u011c\1\u016a\4\u011c\1\u016a\7\u011c\1\0\1\u016d" + "\1\u011d\1\u0145\3\u011d\1\u016d\1\u011d\1\u016e\6\u011d\1\u016f" + "\16\u011d\1\u016d\2\u011d\1\u016d\2\u011d\1\u016d\10\u011d\1\u016d" + "\4\u011d\1\u016d\7\u011d\47\0\1\u0170\24\0\2\25\1\131" + "\1\25\1\0\3\25\1\0\1\25\4\0\2\25\1\0" + "\3\25\1\0\1\25\10\0\11\25\1\0\4\25\1\0" + "\2\25\1\0\1\25\1\0\3\25\6\0\1\u0171\1\134" + "\1\135\1\134\1\0\1\134\1\u0171\1\134\1\0\1\134" + "\4\0\2\134\1\0\3\134\1\0\1\134\10\0\1\u0171" + "\2\134\1\u0171\2\134\1\u0171\2\134\1\0\4\134\1\0" + "\1\u0171\1\134\1\0\1\134\1\0\1\u0171\2\134\6\0" + "\1\u0172\1\136\1\137\1\136\1\0\1\136\1\u0172\1\136" + "\1\0\1\136\4\0\2\136\1\0\3\136\1\0\1\136" + "\10\0\1\u0172\2\136\1\u0172\2\136\1\u0172\2\136\1\0" + "\4\136\1\0\1\u0172\1\136\1\0\1\136\1\0\1\u0172" + "\2\136\54\0\1\u0173\65\0\2\u0174\30\0\1\u0175\1\333" + "\1\334\1\333\1\0\1\333\1\u0175\1\333\1\0\1\333" + + "\1\376\3\0\2\333\1\0\3\333\1\0\1\333\10\0" + "\1\u0175\2\333\1\u0175\2\333\1\u0175\2\333\1\0\4\333" + "\1\0\1\u0175\1\333\1\0\1\333\1\0\1\u0175\2\333" + "\6\0\1\u0176\1\147\1\150\1\147\1\0\1\147\1\u0176" + "\1\147\1\0\1\147\4\0\2\147\1\0\3\147\1\252" + "\1\147\10\0\1\u0176\2\147\1\u0176\2\147\1\u0176\2\147" + "\1\0\4\147\1\0\1\u0176\1\147\1\0\1\147\1\0" + "\1\u0176\2\147\6\0\1\u0177\1\152\1\153\1\152\1\154" + "\1\152\1\u0177\27\152\1\u0177\2\152\1\u0177\2\152\1\u0177" + "\10\152\1\u0177\4\152\1\u0177\7\152\1\0\1\u0178\1\155" + "\1\156\3\155\1\u0178\1\155\1\154\25\155\1\u0178\2\155" + "\1\u0178\2\155\1\u0178\10\155\1\u0178\4\155\1\u0178\7\155" + "\1\0\1\u0179\1\157\1\160\1\157\1\161\1\157\1\u0179" + "\27\157\1\u0179\2\157\1\u0179\2\157\1\u0179\10\157\1\u0179" + "\4\157\1\u0179\7\157\1\0\1\u017a\1\162\1\163\3\162" + "\1\u017a\1\162\1\161\25\162\1\u017a\2\162\1\u017a\2\162" + "\1\u017a\10\162\1\u017a\4\162\1\u017a\7\162\1\0\1\u017b" + + "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u017b\1\u0105\1\0" + "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u017b\2\u0105\1\u017b" + "\2\u0105\1\u017b\10\u0105\1\u017b\4\u0105\1\u017b\7\u0105\1\0" + "\1\u017c\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u017c\27\u0107" + "\1\u017c\2\u0107\1\u017c\2\u0107\1\u017c\10\u0107\1\u017c\4\u0107" + "\1\u017c\7\u0107\1\0\2\u0107\1\u0130\2\u012d\1\u0155\3\u0107" + "\1\u0155\1\u017d\3\u0107\2\u012d\52\u0107\1\0\2\u0107\1\u0130" + "\1\0\1\u012d\12\u0107\1\0\52\u0107\1\0\1\u017e\1\u0108" + "\1\u0131\3\u0108\1\u017e\1\u0108\1\u012d\25\u0108\1\u017e\2\u0108" + "\1\u017e\2\u0108\1\u017e\10\u0108\1\u017e\4\u0108\1\u017e\7\u0108" + "\1\0\2\u0108\1\u0131\1\u012d\1\u0108\1\u0158\2\u0108\1\u012d" + "\1\u0158\1\u017f\3\u0108\2\u012d\52\u0108\1\0\2\u0108\1\u0131" + "\1\0\4\u0108\1\u012d\6\u0108\1\0\52\u0108\1\0\2\51" + "\1\165\1\51\1\0\3\51\1\0\1\51\4\0\2\51" + "\1\0\3\51\1\0\1\51\10\0\11\51\1\0\4\51" + "\1\0\2\51\1\0\1\51\1\0\3\51\6\0\2\55" + + "\1\167\1\55\1\0\3\55\1\0\1\55\4\0\2\55" + "\1\0\3\55\1\0\1\55\10\0\11\55\1\0\4\55" + "\1\0\2\55\1\0\1\55\1\0\3\55\6\0\2\62" + "\1\171\1\62\1\0\3\62\1\0\1\62\4\0\2\62" + "\1\0\3\62\1\0\1\62\10\0\11\62\1\0\4\62" + "\1\0\2\62\1\0\1\62\1\0\3\62\6\0\2\72" + "\1\176\1\72\1\0\3\72\1\0\1\72\4\0\2\72" + "\1\0\3\72\1\0\1\72\10\0\11\72\1\0\4\72" + "\1\0\2\72\1\0\1\72\1\0\3\72\6\0\2\100" + "\1\200\1\100\1\0\3\100\1\0\1\100\4\0\2\100" + "\1\0\3\100\1\0\1\100\10\0\11\100\1\0\4\100" + "\1\0\2\100\1\0\1\100\1\0\3\100\6\0\1\u0180" + "\1\202\1\203\1\202\1\204\1\202\1\u0180\27\202\1\u0180" + "\2\202\1\u0180\2\202\1\u0180\10\202\1\u0180\4\202\1\u0180" + "\7\202\1\0\1\u0181\1\205\1\206\3\205\1\u0181\1\205" + "\1\204\25\205\1\u0181\2\205\1\u0181\2\205\1\u0181\10\205" + "\1\u0181\4\205\1\u0181\7\205\1\0\2\105\1\207\1\105" + "\1\0\3\105\1\0\1\105\4\0\2\105\1\0\3\105" + "\1\0\1\105\10\0\11\105\1\0\4\105\1\0\2\105" + "\1\0\1\105\1\0\3\105\6\0\1\u0182\1\211\1\212" + + "\1\211\1\0\1\211\1\u0182\1\211\1\0\1\211\4\0" + "\2\211\1\0\3\211\1\0\1\211\10\0\1\u0182\2\211" + "\1\u0182\2\211\1\u0182\2\211\1\0\4\211\1\0\1\u0182" + "\1\211\1\0\1\211\1\0\1\u0182\2\211\6\0\2\113" + "\1\216\1\113\1\0\3\113\1\0\1\113\4\0\2\113" + "\1\0\3\113\1\217\1\113\10\0\11\113\1\0\4\113" + "\1\0\2\113\1\0\1\113\1\0\3\113\6\0\1\u0183" + "\1\221\1\222\1\221\1\223\1\221\1\u0183\27\221\1\u0183" + "\2\221\1\u0183\2\221\1\u0183\10\221\1\u0183\4\221\1\u0183" + "\7\221\1\0\1\u0184\1\224\1\225\3\224\1\u0184\1\224" + "\1\223\25\224\1\u0184\2\224\1\u0184\2\224\1\u0184\10\224" + "\1\u0184\4\224\1\u0184\7\224\1\0\1\u0185\1\227\1\230" + "\1\227\1\0\1\227\1\u0185\1\227\1\0\1\227\4\0" + "\2\227\1\0\3\227\1\0\1\227\10\0\1\u0185\2\227" + "\1\u0185\2\227\1\u0185\2\227\1\0\4\227\1\0\1\u0185" + "\1\227\1\0\1\227\1\0\1\u0185\2\227\6\0\1\u0186" + "\5\0\1\u0186\1\362\15\0\2\u0186\7\0\2\u0186\1\0" + "\2\u0186\1\0\2\u0186\7\0\2\u0186\3\0\2\u0186\7\0" + + "\1\u0187\5\0\1\u0187\16\0\2\u0187\7\0\2\u0187\1\0" + "\2\u0187\1\0\2\u0187\7\0\2\u0187\3\0\2\u0187\7\0" + "\1\u0188\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0188\1\u0119" + "\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0188\2\u0119" + "\1\u0188\2\u0119\1\u0188\10\u0119\1\u0188\4\u0119\1\u0188\7\u0119" + "\1\0\1\u0189\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u0189" + "\27\u011c\1\u0189\2\u011c\1\u0189\2\u011c\1\u0189\10\u011c\1\u0189" + "\4\u011c\1\u0189\7\u011c\1\0\2\u011c\1\u0144\2\u0141\1\u016b" + "\3\u011c\1\u016b\1\u018a\3\u011c\2\u0141\52\u011c\1\0\2\u011c" + "\1\u0144\1\0\1\u0141\12\u011c\1\0\52\u011c\1\0\1\u018b" + "\1\u011d\1\u0145\3\u011d\1\u018b\1\u011d\1\u0141\25\u011d\1\u018b" + "\2\u011d\1\u018b\2\u011d\1\u018b\10\u011d\1\u018b\4\u011d\1\u018b" + "\7\u011d\1\0\2\u011d\1\u0145\1\u0141\1\u011d\1\u016e\2\u011d" + "\1\u0141\1\u016e\1\u018c\3\u011d\2\u0141\52\u011d\1\0\2\u011d" + "\1\u0145\1\0\4\u011d\1\u0141\6\u011d\1\0\52\u011d\42\0" + + "\2\u018d\30\0\2\134\1\135\1\134\1\0\3\134\1\0" + "\1\134\4\0\2\134\1\0\3\134\1\0\1\134\10\0" + "\11\134\1\0\4\134\1\0\2\134\1\0\1\134\1\0" + "\3\134\6\0\2\136\1\137\1\136\1\0\3\136\1\0" + "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0" + "\11\136\1\0\4\136\1\0\2\136\1\0\1\136\1\0" + "\3\136\44\0\2\u018e\33\0\1\u018f\1\333\1\334\1\333" + "\1\0\1\333\1\u018f\1\333\1\0\1\333\1\376\3\0" + "\2\333\1\0\3\333\1\0\1\333\10\0\1\u018f\2\333" + "\1\u018f\2\333\1\u018f\2\333\1\0\4\333\1\0\1\u018f" + "\1\333\1\0\1\333\1\0\1\u018f\2\333\6\0\2\147" + "\1\150\1\147\1\0\3\147\1\0\1\147\4\0\2\147" + "\1\0\3\147\1\252\1\147\10\0\11\147\1\0\4\147" + "\1\0\2\147\1\0\1\147\1\0\3\147\6\0\2\152" + "\1\153\1\152\1\154\65\152\1\0\2\155\1\156\5\155" + "\1\154\61\155\1\0\2\157\1\160\1\157\1\161\65\157" + "\1\0\2\162\1\163\5\162\1\161\61\162\1\0\1\u0190" + "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u0190\1\u0105\1\0" + "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u0190\2\u0105\1\u0190" + + "\2\u0105\1\u0190\10\u0105\1\u0190\4\u0105\1\u0190\7\u0105\1\0" + "\1\u0191\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u0191\27\u0107" + "\1\u0191\2\u0107\1\u0191\2\u0107\1\u0191\10\u0107\1\u0191\4\u0107" + "\1\u0191\7\u0107\1\0\1\u0192\1\u0108\1\u0131\3\u0108\1\u0192" + "\1\u0108\1\u012d\25\u0108\1\u0192\2\u0108\1\u0192\2\u0108\1\u0192" + "\10\u0108\1\u0192\4\u0108\1\u0192\7\u0108\1\0\2\202\1\203" + "\1\202\1\204\65\202\1\0\2\205\1\206\5\205\1\204" + "\61\205\1\0\2\211\1\212\1\211\1\0\3\211\1\0" + "\1\211\4\0\2\211\1\0\3\211\1\0\1\211\10\0" + "\11\211\1\0\4\211\1\0\2\211\1\0\1\211\1\0" + "\3\211\6\0\2\221\1\222\1\221\1\223\65\221\1\0" + "\2\224\1\225\5\224\1\223\61\224\1\0\2\227\1\230" + "\1\227\1\0\3\227\1\0\1\227\4\0\2\227\1\0" + "\3\227\1\0\1\227\10\0\11\227\1\0\4\227\1\0" + "\2\227\1\0\1\227\1\0\3\227\15\0\1\362\63\0" + "\1\u0193\5\0\1\u0193\16\0\2\u0193\7\0\2\u0193\1\0" + "\2\u0193\1\0\2\u0193\7\0\2\u0193\3\0\2\u0193\7\0" + + "\1\u0194\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0194\1\u0119" + "\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0194\2\u0119" + "\1\u0194\2\u0119\1\u0194\10\u0119\1\u0194\4\u0119\1\u0194\7\u0119" + "\1\0\1\u0195\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u0195" + "\27\u011c\1\u0195\2\u011c\1\u0195\2\u011c\1\u0195\10\u011c\1\u0195" + "\4\u011c\1\u0195\7\u011c\1\0\1\u0196\1\u011d\1\u0145\3\u011d" + "\1\u0196\1\u011d\1\u0141\25\u011d\1\u0196\2\u011d\1\u0196\2\u011d" + "\1\u0196\10\u011d\1\u0196\4\u011d\1\u0196\7\u011d\65\0\1\u0197" + "\52\0\2\u0198\25\0\1\u0199\1\333\1\334\1\333\1\0" + "\1\333\1\u0199\1\333\1\0\1\333\1\376\3\0\2\333" + "\1\0\3\333\1\0\1\333\10\0\1\u0199\2\333\1\u0199" + "\2\333\1\u0199\2\333\1\0\4\333\1\0\1\u0199\1\333" + "\1\0\1\333\1\0\1\u0199\2\333\6\0\1\u019a\1\u0105" + "\1\u0106\1\u0105\1\0\1\u0105\1\u019a\1\u0105\1\0\1\u0105" + "\1\u0109\11\u0105\1\0\11\u0105\1\u019a\2\u0105\1\u019a\2\u0105" + + "\1\u019a\10\u0105\1\u019a\4\u0105\1\u019a\7\u0105\1\0\1\u019b" + "\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u019b\27\u0107\1\u019b" + "\2\u0107\1\u019b\2\u0107\1\u019b\10\u0107\1\u019b\4\u0107\1\u019b" + "\7\u0107\1\0\1\u019c\1\u0108\1\u0131\3\u0108\1\u019c\1\u0108" + "\1\u012d\25\u0108\1\u019c\2\u0108\1\u019c\2\u0108\1\u019c\10\u0108" + "\1\u019c\4\u0108\1\u019c\7\u0108\1\0\1\u019d\5\0\1\u019d" + "\16\0\2\u019d\7\0\2\u019d\1\0\2\u019d\1\0\2\u019d" + "\7\0\2\u019d\3\0\2\u019d\7\0\1\u019e\1\u0119\1\u011a" + "\1\u0119\1\0\1\u0119\1\u019e\1\u0119\1\0\1\u0119\1\u011e" + "\11\u0119\1\0\11\u0119\1\u019e\2\u0119\1\u019e\2\u0119\1\u019e" + "\10\u0119\1\u019e\4\u0119\1\u019e\7\u0119\1\0\1\u019f\1\u011c" + "\1\u0144\1\u011c\1\u0141\1\u011c\1\u019f\27\u011c\1\u019f\2\u011c" + "\1\u019f\2\u011c\1\u019f\10\u011c\1\u019f\4\u011c\1\u019f\7\u011c" + "\1\0\1\u01a0\1\u011d\1\u0145\3\u011d\1\u01a0\1\u011d\1\u0141" + + "\25\u011d\1\u01a0\2\u011d\1\u01a0\2\u011d\1\u01a0\10\u011d\1\u01a0" + "\4\u011d\1\u01a0\7\u011d\47\0\1\u01a1\24\0\2\333\1\334" + "\1\333\1\0\3\333\1\0\1\333\1\376\3\0\2\333" + "\1\0\3\333\1\0\1\333\10\0\11\333\1\0\4\333" + "\1\0\2\333\1\0\1\333\1\0\3\333\6\0\1\u01a2" + "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u01a2\1\u0105\1\0" + "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u01a2\2\u0105\1\u01a2" + "\2\u0105\1\u01a2\10\u0105\1\u01a2\4\u0105\1\u01a2\7\u0105\1\0" + "\1\u01a3\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u01a3\27\u0107" + "\1\u01a3\2\u0107\1\u01a3\2\u0107\1\u01a3\10\u0107\1\u01a3\4\u0107" + "\1\u01a3\7\u0107\1\0\1\u01a4\1\u0108\1\u0131\3\u0108\1\u01a4" + "\1\u0108\1\u012d\25\u0108\1\u01a4\2\u0108\1\u01a4\2\u0108\1\u01a4" + "\10\u0108\1\u01a4\4\u0108\1\u01a4\7\u0108\1\0\1\u01a5\1\u0119" + "\1\u011a\1\u0119\1\0\1\u0119\1\u01a5\1\u0119\1\0\1\u0119" + "\1\u011e\11\u0119\1\0\11\u0119\1\u01a5\2\u0119\1\u01a5\2\u0119" + + "\1\u01a5\10\u0119\1\u01a5\4\u0119\1\u01a5\7\u0119\1\0\1\u01a6" + "\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u01a6\27\u011c\1\u01a6" + "\2\u011c\1\u01a6\2\u011c\1\u01a6\10\u011c\1\u01a6\4\u011c\1\u01a6" + "\7\u011c\1\0\1\u01a7\1\u011d\1\u0145\3\u011d\1\u01a7\1\u011d" + "\1\u0141\25\u011d\1\u01a7\2\u011d\1\u01a7\2\u011d\1\u01a7\10\u011d" + "\1\u01a7\4\u011d\1\u01a7\7\u011d\1\0\2\u0105\1\u0106\1\u0105" + "\1\0\3\u0105\1\0\1\u0105\1\u0109\11\u0105\1\0\45\u0105" + "\1\0\1\u01a8\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u01a8" + "\27\u0107\1\u01a8\2\u0107\1\u01a8\2\u0107\1\u01a8\10\u0107\1\u01a8" + "\4\u0107\1\u01a8\7\u0107\1\0\1\u01a9\1\u0108\1\u0131\3\u0108" + "\1\u01a9\1\u0108\1\u012d\25\u0108\1\u01a9\2\u0108\1\u01a9\2\u0108" + "\1\u01a9\10\u0108\1\u01a9\4\u0108\1\u01a9\7\u0108\1\0\2\u0119" + "\1\u011a\1\u0119\1\0\3\u0119\1\0\1\u0119\1\u011e\11\u0119" + "\1\0\45\u0119\1\0\1\u01aa\1\u011c\1\u0144\1\u011c\1\u0141" + + "\1\u011c\1\u01aa\27\u011c\1\u01aa\2\u011c\1\u01aa\2\u011c\1\u01aa" + "\10\u011c\1\u01aa\4\u011c\1\u01aa\7\u011c\1\0\1\u01ab\1\u011d" + "\1\u0145\3\u011d\1\u01ab\1\u011d\1\u0141\25\u011d\1\u01ab\2\u011d" + "\1\u01ab\2\u011d\1\u01ab\10\u011d\1\u01ab\4\u011d\1\u01ab\7\u011d" + "\1\0\2\u0107\1\u0130\1\u0107\1\u012d\65\u0107\1\0\2\u0108" + "\1\u0131\5\u0108\1\u012d\61\u0108\1\0\2\u011c\1\u0144\1\u011c" + "\1\u0141\65\u011c\1\0\2\u011d\1\u0145\5\u011d\1\u0141\61\u011d"; + + /** + * The transition table of the DFA + */ + final private static int yytrans[] = yy_unpack(yy_packed); + + + /* error codes */ + final private static int YY_UNKNOWN_ERROR = 0; + // final private static int YY_ILLEGAL_STATE = 1; + final private static int YY_NO_MATCH = 2; + // final private static int YY_PUSHBACK_2BIG = 3; + + /* error messages for the codes above */ + final private static String YY_ERROR_MSG[] = {"Unkown internal scanner error", "Internal error: unknown state", "Error: could not match input", "Error: pushback value was too large"}; + + /** + * YY_ATTRIBUTE[aState] contains the attributes of state + * <code>aState</code> + */ + private final static byte YY_ATTRIBUTE[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 1, 1, 9, 1, 9, 1, 1, 9, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 9, 9, 1, 1, 1, 9, 1, 3, 9, 9, 1, 1, 1, 9, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 3, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 13, 7, 0, 1, 0, 1, 0, 0, 9, 0, 0, 0, 1, 1, 0, 0, 0, 9, 0, 9, 1, 0, 0, 9, 0, 0, 1, 1, 0, 0, 1, 0, 0, 13, 7, 1, 9, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 9, 0, 0, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 9, 0, 1, 1, 1, 0, 0, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, + 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + /** the input device */ + private java.io.Reader yy_reader; + + /** the current state of the DFA */ + private int yy_state; + + /** the current lexical state */ + private int yy_lexical_state = YYINITIAL; + + /** + * this buffer contains the current text to be matched and is the source + * of the yytext() string + */ + private char yy_buffer[] = new char[16384]; + + /** the textposition at the last accepting state */ + private int yy_markedPos; + + /** the textposition at the last state to be included in yytext */ + private int yy_pushbackPos; + + /** the current text position in the buffer */ + private int yy_currentPos; + + /** startRead marks the beginning of the yytext() string in the buffer */ + private int yy_startRead; + + /** + * endRead marks the last character in the buffer, that has been read from + * input + */ + private int yy_endRead; + + /** number of newlines encountered up to the start of the matched text */ + private int yyline; + + /** the number of characters up to the start of the matched text */ + private int yychar; + + /** + * the number of characters from the last newline up to the start of the + * matched text + */ + // private int yycolumn; + /** + * yy_atBOL == true <=> the scanner is currently at the beginning of a + * line + */ + // private boolean yy_atBOL; + /** yy_atEOF == true <=> the scanner has returned a value for EOF */ + private boolean yy_atEOF; + + /* user code: */ private final static String UNDEFINED = "undefined"; private String fBufferedContext = null; private int fBufferedStart; -// private int fBufferedTextLength; + // private int fBufferedTextLength; private int fBufferedLength; -// private StringBuffer fBufferedText = null; + // private StringBuffer fBufferedText = null; private CSSTextRegionFactory fRegionFactory = CSSTextRegionFactory.getInstance(); private int fInitialState = YYINITIAL; public final static int BUFFER_SIZE_NORMAL = 16384; @@ -1086,30 +215,31 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { public void setInitialState(int state) { fInitialState = state; } - + public void setInitialBufferSize(int size) { fInitialBufferSize = size; } /* user method */ - public final ITextRegion getNextToken() throws IOException { + public final ITextRegion getNextToken() throws IOException { String context; String nextTokenType; boolean spaceFollows; -// StringBuffer text; + // StringBuffer text; int start; int textLength; int length; if (fBufferedContext != null) { context = fBufferedContext; -// text = fBufferedText; + // text = fBufferedText; start = fBufferedStart; textLength = length = fBufferedLength; fBufferedContext = null; - } else { + } + else { context = primGetNextToken(); -// text = new StringBuffer(yytext()); + // text = new StringBuffer(yytext()); start = yychar; textLength = length = yylength(); } @@ -1119,34 +249,42 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { // undef -> concatenate undef's nextTokenType = primGetNextToken(); while (nextTokenType == UNDEFINED) { -// text.append(yytext()); + // text.append(yytext()); textLength += yylength(); length = textLength; nextTokenType = primGetNextToken(); } fBufferedContext = nextTokenType; -// fBufferedText = new StringBuffer(yytext()); + // fBufferedText = new StringBuffer(yytext()); fBufferedStart = yychar; fBufferedLength = yylength(); - } else { + } + else { nextTokenType = null; spaceFollows = false; - if (CSSRegionUtil.isDeclarationValueType(context)) { // declaration value can contain VALUE_S + if (CSSRegionUtil.isDeclarationValueType(context)) { // declaration + // value + // can + // contain + // VALUE_S nextTokenType = primGetNextToken(); spaceFollows = (nextTokenType == CSS_DECLARATION_VALUE_S); - } else if (canContainSpace(context)) { + } + else if (canContainSpace(context)) { nextTokenType = primGetNextToken(); spaceFollows = (nextTokenType == CSS_S); } if (nextTokenType != null) { // nextToken is retrieved if (spaceFollows) { // next is space -> append -// text.append(yytext()); + // text.append(yytext()); length += yylength(); - } else { - // next is NOT space -> push this for next time, return itself + } + else { + // next is NOT space -> push this for next time, + // return itself fBufferedContext = nextTokenType; -// fBufferedText = new StringBuffer(yytext()); + // fBufferedText = new StringBuffer(yytext()); fBufferedStart = yychar; fBufferedLength = yylength(); } @@ -1159,43 +297,45 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { context = CSS_UNKNOWN; } return fRegionFactory.createRegion(context, start, textLength, length); - } else { + } + else { return null; } - } + } /* user method */ /* for standalone use */ - public final List parseText() throws IOException { - List tokens = new ArrayList(); + public final List parseText() throws IOException { + List tokens = new ArrayList(); - CSSTextToken token; + CSSTextToken token; for (String kind = primGetNextToken(); kind != null; kind = primGetNextToken()) { token = new CSSTextToken(); - token.kind = kind; + token.kind = kind; token.start = yychar; token.length = yylength(); token.image = yytext(); tokens.add(token); } - return tokens; - } - - /* user method */ - private boolean canContainSpace(String type) { - if (type == CSS_DELIMITER || type == CSS_RBRACE || type == CSS_DECLARATION_DELIMITER) { - return false; - } else { - return true; - } - } + return tokens; + } + + /* user method */ + private boolean canContainSpace(String type) { + if (type == CSS_DELIMITER || type == CSS_RBRACE || type == CSS_DECLARATION_DELIMITER) { + return false; + } + else { + return true; + } + } /* user method */ public final int getOffset() { return yychar; } - + /* user method */ public final boolean isEOF() { return yy_atEOF; @@ -1215,14 +355,16 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { yy_state = 0; /** the current lexical state */ - yy_lexical_state = fInitialState; //YYINITIAL; + yy_lexical_state = fInitialState; // YYINITIAL; - /** this buffer contains the current text to be matched and is - the source of the yytext() string */ + /** + * this buffer contains the current text to be matched and is the + * source of the yytext() string + */ if (yy_buffer.length != fInitialBufferSize) { yy_buffer = new char[fInitialBufferSize]; } - java.util.Arrays.fill(yy_buffer, (char)0); + java.util.Arrays.fill(yy_buffer, (char) 0); /** the textposition at the last accepting state */ yy_markedPos = 0; @@ -1236,8 +378,10 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { /** startRead marks the beginning of the yytext() string in the buffer */ yy_startRead = 0; - /** endRead marks the last character in the buffer, that has been read - from input */ + /** + * endRead marks the last character in the buffer, that has been read + * from input + */ yy_endRead = 0; /** number of newlines encountered up to the start of the matched text */ @@ -1247,21 +391,20 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { yychar = 0; /** - * the number of characters from the last newline up to the start of the - * matched text + * the number of characters from the last newline up to the start of + * the matched text */ -// yycolumn = 0; - - /** - * yy_atBOL == true <=> the scanner is currently at the beginning of a line + // yycolumn = 0; + /** + * yy_atBOL == true <=> the scanner is currently at the beginning of a + * line */ -// yy_atBOL = false; - + // yy_atBOL = false; /** yy_atEOF == true <=> the scanner has returned a value for EOF */ yy_atEOF = false; /* user variables */ - // fUndefined.delete(0, fUndefined.length()); + // fUndefined.delete(0, fUndefined.length()); } /* user method */ @@ -1271,635 +414,793 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { - /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. - * - * @param in the java.io.Reader to read input from. - */ - public CSSTokenizer(java.io.Reader in) { - this.yy_reader = in; - } - - /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. - * - * @param in the java.io.Inputstream to read input from. - */ - public CSSTokenizer(java.io.InputStream in) { - this(new java.io.InputStreamReader(in)); - } - - /** - * Unpacks the compressed DFA transition table. - * - * @param packed the packed transition table - * @return the unpacked transition table - */ - private static int [] yy_unpack(String packed) { - int [] trans = new int[20709]; - int i = 0; /* index in packed string */ - int j = 0; /* index in unpacked array */ - while (i < 13392) { - int count = packed.charAt(i++); - int value = packed.charAt(i++); - value--; - do trans[j++] = value; while (--count > 0); - } - return trans; - } - - /** - * Unpacks the compressed character translation table. - * - * @param packed the packed character translation table - * @return the unpacked character translation table - */ - private static char [] yy_unpack_cmap(String packed) { - char [] map = new char[0x10000]; - int i = 0; /* index in packed string */ - int j = 0; /* index in unpacked array */ - while (i < 170) { - int count = packed.charAt(i++); - char value = packed.charAt(i++); - do map[j++] = value; while (--count > 0); - } - return map; - } - - - /** - * Gets the next input character. - * - * @return the next character of the input stream, EOF if the - * end of the stream is reached. - * @exception IOException if any I/O-Error occurs - */ - private int yy_advance() throws java.io.IOException { - - /* standard case */ - if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++]; - - /* if the eof is reached, we don't need to work hard */ - if (yy_atEOF) return YYEOF; - - /* otherwise: need to refill the buffer */ - - /* first: make room (if you can) */ - if (yy_startRead > 0) { - System.arraycopy(yy_buffer, yy_startRead, - yy_buffer, 0, - yy_endRead-yy_startRead); - - /* translate stored positions */ - yy_endRead-= yy_startRead; - yy_currentPos-= yy_startRead; - yy_markedPos-= yy_startRead; - yy_pushbackPos-= yy_startRead; - yy_startRead = 0; - } - - /* is the buffer big enough? */ - if (yy_currentPos >= yy_buffer.length) { - /* if not: blow it up */ - char newBuffer[] = new char[yy_currentPos*2]; - System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length); - yy_buffer = newBuffer; - } - - /* finally: fill the buffer with new input */ - int numRead = yy_reader.read(yy_buffer, yy_endRead, - yy_buffer.length-yy_endRead); - - if ( numRead == -1 ) return YYEOF; - - yy_endRead+= numRead; - - return yy_buffer[yy_currentPos++]; - } - - - /** - * Closes the input stream. - */ - final public void yyclose() throws java.io.IOException { - yy_atEOF = true; /* indicate end of file */ - yy_endRead = yy_startRead; /* invalidate buffer */ - yy_reader.close(); - } - - - /** - * Returns the current lexical state. - */ - final public int yystate() { - return yy_lexical_state; - } - - /** - * Enters a new lexical state - * - * @param newState the new lexical state - */ - final public void yybegin(int newState) { - yy_lexical_state = newState; - } - - - /** - * Returns the text matched by the current regular expression. - */ - final public String yytext() { - return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead ); - } - - /** - * Returns the length of the matched text region. - */ - final public int yylength() { - return yy_markedPos-yy_startRead; - } - - - /** - * Reports an error that occured while scanning. - * - * @param errorCode the code of the errormessage to display - */ - private void yy_ScanError(int errorCode) { - try { - System.out.println(YY_ERROR_MSG[errorCode]); - } - catch (ArrayIndexOutOfBoundsException e) { - System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]); - } - - System.exit(1); - } - - - /** - * Pushes the specified amount of characters back into the input stream. - * - * They will be read again by then next call of the scanning method - * - * @param number the number of characters to be read again. - * This number must not be greater than yylength()! - */ -// private void yypushback(int number) { -// if ( number > yylength() ) -// yy_ScanError(YY_PUSHBACK_2BIG); -// -// yy_markedPos -= number; -// } - - - /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. - * - * @return the next token - * @exception IOException if any I/O-Error occurs - */ - public String primGetNextToken() throws java.io.IOException { - int yy_input; - int yy_action; - - yy_pushbackPos = -1; - boolean yy_was_pushback; - - while (true) { - - 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; - - yy_state = yy_lexical_state; - - yy_was_pushback = false; - - yy_forAction: { - while (true) { - - yy_input = yy_advance(); - - if ( yy_input == YYEOF ) break yy_forAction; - - int yy_next = yytrans[ yy_rowMap[yy_state] + yycmap[yy_input] ]; - if (yy_next == -1) break yy_forAction; - yy_state = yy_next; - - int yy_attributes = YY_ATTRIBUTE[yy_state]; - if ( (yy_attributes & 2) > 0 ) - yy_pushbackPos = yy_currentPos; - - if ( (yy_attributes & 1) > 0 ) { - yy_was_pushback = (yy_attributes & 4) > 0; - yy_action = yy_state; - yy_markedPos = yy_currentPos; - if ( (yy_attributes & 8) > 0 ) break yy_forAction; - } - - } - } - - if (yy_was_pushback) - yy_markedPos = yy_pushbackPos; - - switch (yy_action) { - - case 416: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_IMPORTANT; } - case 428: break; - case 407: - { yybegin(ST_FONT_FACE_DELIMITER); return CSS_FONT_FACE; } - case 429: break; - case 370: - { yybegin(ST_CHARSET_NAME); return CSS_CHARSET; } - case 430: break; - case 330: - { yybegin(ST_IMPORT_URI); return CSS_IMPORT; } - case 431: break; - case 292: - { yybegin(ST_MEDIA_MEDIUM); return CSS_MEDIA; } - case 432: break; - case 285: - case 322: - case 393: - case 395: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_URI; } - case 433: break; - case 264: - case 302: - case 380: - case 382: - { yybegin(ST_IMPORT_MEDIUM); return CSS_URI; } - case 434: break; - case 250: - { yybegin(ST_PAGE_PSEUDO_PAGE); return CSS_PAGE; } - case 435: break; - case 212: - { return CSS_COMMENT; } - case 436: break; - case 211: - { return CSS_CDO; } - case 437: break; - case 205: - case 240: - case 278: - case 279: - case 318: - case 319: - case 358: - case 359: - case 389: - case 390: - case 402: - case 412: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_UNICODE_RANGE; } - case 438: break; - case 159: - { return CSS_CDC; } - case 439: break; - case 156: - { return CSS_DECLARATION_VALUE_S; } - case 440: break; - case 150: - case 204: - case 239: - case 277: - case 317: - case 357: - case 388: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_HASH; } - case 441: break; - case 146: - case 199: - case 202: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_STRING; } - case 442: break; - case 57: - case 126: - case 187: - case 230: - case 268: - case 308: - case 348: - { yybegin(ST_SELECTOR_ATTRIBUTE_OPERATOR); return CSS_SELECTOR_ATTRIBUTE_NAME; } - case 443: break; - case 56: - { yybegin(ST_SELECTOR); return CSS_SELECTOR_SEPARATOR; } - case 444: break; - case 55: - case 123: - { yybegin(ST_SELECTOR); return CSS_SELECTOR_COMBINATOR; } - case 445: break; - case 52: - { yybegin(ST_DECLARATION); return CSS_LBRACE; } - case 446: break; - case 49: - case 121: - case 186: - case 229: - case 267: - case 307: - case 347: - { yybegin(ST_PAGE_DELIMITER); return CSS_PAGE_SELECTOR; } - case 447: break; - case 48: - { yybegin(YYINITIAL); return CSS_LBRACE; } - case 448: break; - case 47: - { yybegin(ST_MEDIA_MEDIUM); return CSS_MEDIA_SEPARATOR; } - case 449: break; - case 44: - case 119: - case 185: - case 228: - case 266: - case 306: - case 346: - { yybegin(ST_MEDIA_DELIMITER); return CSS_MEDIUM; } - case 450: break; - case 43: - { yybegin(ST_IMPORT_MEDIUM); return CSS_MEDIA_SEPARATOR; } - case 451: break; - case 20: - case 89: - case 158: - case 208: - case 244: - case 287: - case 326: - { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ELEMENT_NAME; } - case 452: break; - case 22: - case 54: - case 87: - case 124: - case 157: - { return CSS_S; } - case 453: break; - case 27: - { yybegin(YYINITIAL); return CSS_RBRACE; } - case 454: break; - case 29: - { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_UNIVERSAL; } - case 455: break; - case 32: - { yybegin(ST_SELECTOR_ATTRIBUTE_NAME); return CSS_SELECTOR_ATTRIBUTE_START; } - case 456: break; - case 36: - { yybegin(YYINITIAL); return CSS_DELIMITER; } - case 457: break; - case 40: - case 117: - case 184: - case 227: - case 265: - case 305: - case 345: - { yybegin(ST_IMPORT_DELIMITER); return CSS_MEDIUM; } - case 458: break; - case 60: - { yybegin(ST_SELECTOR_ATTRIBUTE_VALUE); return CSS_SELECTOR_ATTRIBUTE_OPERATOR; } - case 459: break; - case 62: - { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ATTRIBUTE_END; } - case 460: break; - case 63: - case 128: - case 131: - case 188: - case 190: - case 193: - case 231: - case 269: - case 309: - case 349: - { yybegin(ST_SELECTOR_ATTRIBUTE_END); return CSS_SELECTOR_ATTRIBUTE_VALUE; } - case 461: break; - case 68: - case 135: - case 195: - case 234: - case 272: - case 312: - case 352: - { yybegin(ST_DECLARATION_SEPARATOR); return CSS_DECLARATION_PROPERTY; } - case 462: break; - case 71: - { yybegin(ST_DECLARATION); return CSS_DECLARATION_DELIMITER; } - case 463: break; - case 72: - { yybegin(ST_DECLARATION_PRE_VALUE); return CSS_DECLARATION_SEPARATOR; } - case 464: break; - case 73: - case 149: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_NUMBER; } - case 465: break; - case 74: - case 83: - case 143: - case 153: - case 197: - case 206: - case 236: - case 274: - case 314: - case 354: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_IDENT; } - case 466: break; - case 79: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE; } - case 467: break; - case 85: - case 86: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_OPERATOR; } - case 468: break; - case 91: - case 160: - case 209: - case 245: - case 288: - case 327: - case 368: - { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_CLASS; } - case 469: break; - case 93: - case 161: - case 210: - case 246: - case 289: - case 328: - case 369: - { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ID; } - case 470: break; - case 102: - case 170: - case 221: - case 253: - case 255: - case 295: - case 333: - case 373: - { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; } - case 471: break; - case 107: - case 172: - case 175: - { yybegin(ST_CHARSET_DELIMITER); return CSS_STRING; } - case 472: break; - case 112: - case 178: - case 181: - { yybegin(ST_IMPORT_MEDIUM); return CSS_STRING; } - case 473: break; - case 136: - case 196: - case 235: - case 273: - case 313: - case 353: - case 385: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_DIMENSION; } - case 474: break; - case 140: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_PERCENTAGE; } - case 475: break; - case 142: - case 242: - { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_FUNCTION; } - case 476: break; - case 19: - case 21: - case 23: - case 24: - case 25: - case 26: - case 28: - case 30: - case 31: - case 33: - case 34: - case 35: - case 37: - case 38: - case 39: - case 41: - case 42: - case 45: - case 46: - case 50: - case 51: - case 53: - case 58: - case 59: - case 61: - case 64: - case 65: - case 66: - case 67: - case 69: - case 70: - case 75: - case 76: - case 77: - case 78: - case 80: - case 81: - case 82: - case 84: - { - return UNDEFINED; - } - case 477: break; - default: - if (yy_input == YYEOF && yy_startRead == yy_currentPos) { - yy_atEOF = true; - return null; - } - else { - yy_ScanError(YY_NO_MATCH); - } - } - } - } - - /** - * Runs the scanner on input files. - * - * This main method is the debugging routine for the scanner. - * It prints each returned token to System.out until the end of - * file is reached, or an error occured. - * - * @param argv the command line, contains the filenames to run - * the scanner on. - */ - public static void main(String argv[]) { - for (int i = 0; i < argv.length; i++) { - CSSTokenizer scanner = null; - try { - scanner = new CSSTokenizer( new java.io.FileReader(argv[i]) ); - } - catch (java.io.FileNotFoundException e) { - System.out.println("File not found : \""+argv[i]+"\""); - System.exit(1); - } - catch (java.io.IOException e) { - System.out.println("Error opening file \""+argv[i]+"\""); - System.exit(1); - } - catch (ArrayIndexOutOfBoundsException e) { - System.out.println("Usage : java CSSTokenizer <inputfile>"); - System.exit(1); - } - - try { - do { - System.out.println(scanner.primGetNextToken()); - } while (!scanner.yy_atEOF); - - } - catch (java.io.IOException e) { - System.out.println("An I/O error occured while scanning :"); - System.out.println(e); - System.exit(1); - } - catch (Exception e) { - e.printStackTrace(); - System.exit(1); - } - } - } + /** + * Creates a new scanner There is also a java.io.InputStream version of + * this constructor. + * + * @param in + * the java.io.Reader to read input from. + */ + public CSSTokenizer(java.io.Reader in) { + this.yy_reader = in; + } + + /** + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. + * + * @param in + * the java.io.Inputstream to read input from. + */ + public CSSTokenizer(java.io.InputStream in) { + this(new java.io.InputStreamReader(in)); + } + + /** + * Unpacks the compressed DFA transition table. + * + * @param packed + * the packed transition table + * @return the unpacked transition table + */ + private static int[] yy_unpack(String packed) { + int[] trans = new int[20709]; + int i = 0; /* index in packed string */ + int j = 0; /* index in unpacked array */ + while (i < 13392) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + value--; + do + trans[j++] = value; + while (--count > 0); + } + return trans; + } + + /** + * Unpacks the compressed character translation table. + * + * @param packed + * the packed character translation table + * @return the unpacked character translation table + */ + private static char[] yy_unpack_cmap(String packed) { + char[] map = new char[0x10000]; + int i = 0; /* index in packed string */ + int j = 0; /* index in unpacked array */ + while (i < 170) { + int count = packed.charAt(i++); + char value = packed.charAt(i++); + do + map[j++] = value; + while (--count > 0); + } + return map; + } + + + /** + * Gets the next input character. + * + * @return the next character of the input stream, EOF if the end of the + * stream is reached. + * @exception IOException + * if any I/O-Error occurs + */ + private int yy_advance() throws java.io.IOException { + + /* standard case */ + if (yy_currentPos < yy_endRead) + return yy_buffer[yy_currentPos++]; + + /* if the eof is reached, we don't need to work hard */ + if (yy_atEOF) + return YYEOF; + + /* otherwise: need to refill the buffer */ + + /* first: make room (if you can) */ + if (yy_startRead > 0) { + System.arraycopy(yy_buffer, yy_startRead, yy_buffer, 0, yy_endRead - yy_startRead); + + /* translate stored positions */ + yy_endRead -= yy_startRead; + yy_currentPos -= yy_startRead; + yy_markedPos -= yy_startRead; + yy_pushbackPos -= yy_startRead; + yy_startRead = 0; + } + + /* is the buffer big enough? */ + if (yy_currentPos >= yy_buffer.length) { + /* if not: blow it up */ + char newBuffer[] = new char[yy_currentPos * 2]; + System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length); + yy_buffer = newBuffer; + } + + /* finally: fill the buffer with new input */ + int numRead = yy_reader.read(yy_buffer, yy_endRead, yy_buffer.length - yy_endRead); + + if (numRead == -1) + return YYEOF; + + yy_endRead += numRead; + + return yy_buffer[yy_currentPos++]; + } + + + /** + * Closes the input stream. + */ + final public void yyclose() throws java.io.IOException { + yy_atEOF = true; /* indicate end of file */ + yy_endRead = yy_startRead; /* invalidate buffer */ + yy_reader.close(); + } + + + /** + * Returns the current lexical state. + */ + final public int yystate() { + return yy_lexical_state; + } + + /** + * Enters a new lexical state + * + * @param newState + * the new lexical state + */ + final public void yybegin(int newState) { + yy_lexical_state = newState; + } + + + /** + * Returns the text matched by the current regular expression. + */ + final public String yytext() { + return new String(yy_buffer, yy_startRead, yy_markedPos - yy_startRead); + } + + /** + * Returns the length of the matched text region. + */ + final public int yylength() { + return yy_markedPos - yy_startRead; + } + + + /** + * Reports an error that occured while scanning. + * + * @param errorCode + * the code of the errormessage to display + */ + private void yy_ScanError(int errorCode) { + try { + System.out.println(YY_ERROR_MSG[errorCode]); + } + catch (ArrayIndexOutOfBoundsException e) { + System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]); + } + + + } + + + /** + * Pushes the specified amount of characters back into the input stream. + * + * They will be read again by then next call of the scanning method + * + * @param number + * the number of characters to be read again. This number must + * not be greater than yylength()! + */ + // private void yypushback(int number) { + // if ( number > yylength() ) + // yy_ScanError(YY_PUSHBACK_2BIG); + // + // yy_markedPos -= number; + // } + + /** + * Resumes scanning until the next regular expression is matched, the end + * of input is encountered or an I/O-Error occurs. + * + * @return the next token + * @exception IOException + * if any I/O-Error occurs + */ + public String primGetNextToken() throws java.io.IOException { + int yy_input; + int yy_action; + + yy_pushbackPos = -1; + boolean yy_was_pushback; + + while (true) { + + 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; + + yy_state = yy_lexical_state; + + yy_was_pushback = false; + + yy_forAction : { + while (true) { + + yy_input = yy_advance(); + + if (yy_input == YYEOF) + break yy_forAction; + + int yy_next = yytrans[yy_rowMap[yy_state] + yycmap[yy_input]]; + if (yy_next == -1) + break yy_forAction; + yy_state = yy_next; + + int yy_attributes = YY_ATTRIBUTE[yy_state]; + if ((yy_attributes & 2) > 0) + yy_pushbackPos = yy_currentPos; + + if ((yy_attributes & 1) > 0) { + yy_was_pushback = (yy_attributes & 4) > 0; + yy_action = yy_state; + yy_markedPos = yy_currentPos; + if ((yy_attributes & 8) > 0) + break yy_forAction; + } + + } + } + + if (yy_was_pushback) + yy_markedPos = yy_pushbackPos; + + switch (yy_action) { + + case 416 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_IMPORTANT; + } + case 428 : + break; + case 407 : { + yybegin(ST_FONT_FACE_DELIMITER); + return CSS_FONT_FACE; + } + case 429 : + break; + case 370 : { + yybegin(ST_CHARSET_NAME); + return CSS_CHARSET; + } + case 430 : + break; + case 330 : { + yybegin(ST_IMPORT_URI); + return CSS_IMPORT; + } + case 431 : + break; + case 292 : { + yybegin(ST_MEDIA_MEDIUM); + return CSS_MEDIA; + } + case 432 : + break; + case 285 : + case 322 : + case 393 : + case 395 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_URI; + } + case 433 : + break; + case 264 : + case 302 : + case 380 : + case 382 : { + yybegin(ST_IMPORT_MEDIUM); + return CSS_URI; + } + case 434 : + break; + case 250 : { + yybegin(ST_PAGE_PSEUDO_PAGE); + return CSS_PAGE; + } + case 435 : + break; + case 212 : { + return CSS_COMMENT; + } + case 436 : + break; + case 211 : { + return CSS_CDO; + } + case 437 : + break; + case 205 : + case 240 : + case 278 : + case 279 : + case 318 : + case 319 : + case 358 : + case 359 : + case 389 : + case 390 : + case 402 : + case 412 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_UNICODE_RANGE; + } + case 438 : + break; + case 159 : { + return CSS_CDC; + } + case 439 : + break; + case 156 : { + return CSS_DECLARATION_VALUE_S; + } + case 440 : + break; + case 150 : + case 204 : + case 239 : + case 277 : + case 317 : + case 357 : + case 388 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_HASH; + } + case 441 : + break; + case 146 : + case 199 : + case 202 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_STRING; + } + case 442 : + break; + case 57 : + case 126 : + case 187 : + case 230 : + case 268 : + case 308 : + case 348 : { + yybegin(ST_SELECTOR_ATTRIBUTE_OPERATOR); + return CSS_SELECTOR_ATTRIBUTE_NAME; + } + case 443 : + break; + case 56 : { + yybegin(ST_SELECTOR); + return CSS_SELECTOR_SEPARATOR; + } + case 444 : + break; + case 55 : + case 123 : { + yybegin(ST_SELECTOR); + return CSS_SELECTOR_COMBINATOR; + } + case 445 : + break; + case 52 : { + yybegin(ST_DECLARATION); + return CSS_LBRACE; + } + case 446 : + break; + case 49 : + case 121 : + case 186 : + case 229 : + case 267 : + case 307 : + case 347 : { + yybegin(ST_PAGE_DELIMITER); + return CSS_PAGE_SELECTOR; + } + case 447 : + break; + case 48 : { + yybegin(YYINITIAL); + return CSS_LBRACE; + } + case 448 : + break; + case 47 : { + yybegin(ST_MEDIA_MEDIUM); + return CSS_MEDIA_SEPARATOR; + } + case 449 : + break; + case 44 : + case 119 : + case 185 : + case 228 : + case 266 : + case 306 : + case 346 : { + yybegin(ST_MEDIA_DELIMITER); + return CSS_MEDIUM; + } + case 450 : + break; + case 43 : { + yybegin(ST_IMPORT_MEDIUM); + return CSS_MEDIA_SEPARATOR; + } + case 451 : + break; + case 20 : + case 89 : + case 158 : + case 208 : + case 244 : + case 287 : + case 326 : { + yybegin(ST_SELECTOR_MODIFIER); + return CSS_SELECTOR_ELEMENT_NAME; + } + case 452 : + break; + case 22 : + case 54 : + case 87 : + case 124 : + case 157 : { + return CSS_S; + } + case 453 : + break; + case 27 : { + yybegin(YYINITIAL); + return CSS_RBRACE; + } + case 454 : + break; + case 29 : { + yybegin(ST_SELECTOR_MODIFIER); + return CSS_SELECTOR_UNIVERSAL; + } + case 455 : + break; + case 32 : { + yybegin(ST_SELECTOR_ATTRIBUTE_NAME); + return CSS_SELECTOR_ATTRIBUTE_START; + } + case 456 : + break; + case 36 : { + yybegin(YYINITIAL); + return CSS_DELIMITER; + } + case 457 : + break; + case 40 : + case 117 : + case 184 : + case 227 : + case 265 : + case 305 : + case 345 : { + yybegin(ST_IMPORT_DELIMITER); + return CSS_MEDIUM; + } + case 458 : + break; + case 60 : { + yybegin(ST_SELECTOR_ATTRIBUTE_VALUE); + return CSS_SELECTOR_ATTRIBUTE_OPERATOR; + } + case 459 : + break; + case 62 : { + yybegin(ST_SELECTOR_MODIFIER); + return CSS_SELECTOR_ATTRIBUTE_END; + } + case 460 : + break; + case 63 : + case 128 : + case 131 : + case 188 : + case 190 : + case 193 : + case 231 : + case 269 : + case 309 : + case 349 : { + yybegin(ST_SELECTOR_ATTRIBUTE_END); + return CSS_SELECTOR_ATTRIBUTE_VALUE; + } + case 461 : + break; + case 68 : + case 135 : + case 195 : + case 234 : + case 272 : + case 312 : + case 352 : { + yybegin(ST_DECLARATION_SEPARATOR); + return CSS_DECLARATION_PROPERTY; + } + case 462 : + break; + case 71 : { + yybegin(ST_DECLARATION); + return CSS_DECLARATION_DELIMITER; + } + case 463 : + break; + case 72 : { + yybegin(ST_DECLARATION_PRE_VALUE); + return CSS_DECLARATION_SEPARATOR; + } + case 464 : + break; + case 73 : + case 149 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_NUMBER; + } + case 465 : + break; + case 74 : + case 83 : + case 143 : + case 153 : + case 197 : + case 206 : + case 236 : + case 274 : + case 314 : + case 354 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_IDENT; + } + case 466 : + break; + case 79 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE; + } + case 467 : + break; + case 85 : + case 86 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_OPERATOR; + } + case 468 : + break; + case 91 : + case 160 : + case 209 : + case 245 : + case 288 : + case 327 : + case 368 : { + yybegin(ST_SELECTOR_MODIFIER); + return CSS_SELECTOR_CLASS; + } + case 469 : + break; + case 93 : + case 161 : + case 210 : + case 246 : + case 289 : + case 328 : + case 369 : { + yybegin(ST_SELECTOR_MODIFIER); + return CSS_SELECTOR_ID; + } + case 470 : + break; + case 102 : + case 170 : + case 221 : + case 253 : + case 255 : + case 295 : + case 333 : + case 373 : { + yybegin(ST_SELECTOR_MODIFIER); + return CSS_SELECTOR_PSEUDO; + } + case 471 : + break; + case 107 : + case 172 : + case 175 : { + yybegin(ST_CHARSET_DELIMITER); + return CSS_STRING; + } + case 472 : + break; + case 112 : + case 178 : + case 181 : { + yybegin(ST_IMPORT_MEDIUM); + return CSS_STRING; + } + case 473 : + break; + case 136 : + case 196 : + case 235 : + case 273 : + case 313 : + case 353 : + case 385 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_DIMENSION; + } + case 474 : + break; + case 140 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_PERCENTAGE; + } + case 475 : + break; + case 142 : + case 242 : { + yybegin(ST_DECLARATION_VALUE); + return CSS_DECLARATION_VALUE_FUNCTION; + } + case 476 : + break; + case 19 : + case 21 : + case 23 : + case 24 : + case 25 : + case 26 : + case 28 : + case 30 : + case 31 : + case 33 : + case 34 : + case 35 : + case 37 : + case 38 : + case 39 : + case 41 : + case 42 : + case 45 : + case 46 : + case 50 : + case 51 : + case 53 : + case 58 : + case 59 : + case 61 : + case 64 : + case 65 : + case 66 : + case 67 : + case 69 : + case 70 : + case 75 : + case 76 : + case 77 : + case 78 : + case 80 : + case 81 : + case 82 : + case 84 : { + return UNDEFINED; + } + case 477 : + break; + default : + if (yy_input == YYEOF && yy_startRead == yy_currentPos) { + yy_atEOF = true; + return null; + } + else { + yy_ScanError(YY_NO_MATCH); + } + } + } + } + + /** + * Runs the scanner on input files. + * + * This main method is the debugging routine for the scanner. It prints + * each returned token to System.out until the end of file is reached, or + * an error occured. + * + * @param argv + * the command line, contains the filenames to run the scanner + * on. + */ + public static void main(String argv[]) { + for (int i = 0; i < argv.length; i++) { + CSSTokenizer scanner = null; + try { + scanner = new CSSTokenizer(new java.io.FileReader(argv[i])); + } + catch (java.io.FileNotFoundException e) { + System.out.println("File not found : \"" + argv[i] + "\""); + } + // catch (java.io.IOException e) { + // System.out.println("Error opening file \""+argv[i]+"\""); + // + // } + catch (ArrayIndexOutOfBoundsException e) { + System.out.println("Usage : java CSSTokenizer <inputfile>"); + } + + try { + do { + System.out.println(scanner.primGetNextToken()); + } + while (!scanner.yy_atEOF); + + } + catch (java.io.IOException e) { + System.out.println("An I/O error occured while scanning :"); + System.out.println(e); + + } + catch (Exception e) { + e.printStackTrace(); + + } + } + } } |