/* The following code was generated by JFlex 1.4.3 on 12/07/15 18:43 */
/*
* Copyright 2010 Jean-Paul Balabanian and Yngve Devik Hammersland
*
* This file is part of glsl4idea.
*
* Glsl4idea is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* Glsl4idea is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with glsl4idea. If not, see <http://www.gnu.org/licenses/>.
*/
package glslplugin.lang.scanner;
import com.intellij.lexer.FlexLexer;
import com.intellij.psi.tree.IElementType;
import static glslplugin.lang.elements.GLSLTokenTypes.*;
import java.util.List;
import java.util.ArrayList;
/**
* This class is a scanner generated by
* <a href="http://www.jflex.de/">JFlex</a> 1.4.3
* on 12/07/15 18:43 from the specification file
* <tt>/home/abigail/code/glsl4idea/src/glslplugin/lang/scanner/GLSL.flex</tt>
*/
class GLSLFlexLexer implements FlexLexer {
/** initial size of the lookahead buffer */
private static final int ZZ_BUFFERSIZE = 16384;
/** lexical states */
public static final int PREPROCESSOR = 2;
public static final int YYINITIAL = 0;
/**
* ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
* ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
* at the beginning of a line
* l is of the form l = 2*k, k a non negative integer
*/
private static final int ZZ_LEXSTATE[] = {
0, 0, 1, 1
};
/**
* Translates characters to character classes
*/
private static final String ZZ_CMAP_PACKED =
"\11\0\1\7\1\6\1\0\1\7\1\5\22\0\1\7\1\107\1\25"+
"\1\45\1\0\1\100\1\103\1\0\1\74\1\75\1\23\1\77\1\113"+
"\1\21\1\17\1\22\1\11\1\54\1\50\1\51\1\52\3\2\2\1"+
"\1\111\1\112\1\101\1\76\1\102\1\110\1\0\1\60\1\3\1\56"+
"\1\55\1\20\1\16\5\4\1\15\1\62\4\4\1\57\1\63\1\4"+
"\1\10\2\4\1\12\2\4\1\72\1\24\1\73\1\104\1\53\1\0"+
"\1\37\1\46\1\47\1\26\1\27\1\14\1\40\1\64\1\30\1\4"+
"\1\66\1\13\1\41\1\31\1\35\1\36\1\4\1\34\1\33\1\43"+
"\1\32\1\44\1\65\1\42\1\61\1\67\1\70\1\105\1\71\1\106"+
"\uff81\0";
/**
* Translates characters to character classes
*/
private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
/**
* Translates DFA states to action switch labels.
*/
private static final int [] ZZ_ACTION = zzUnpackAction();
private static final String ZZ_ACTION_PACKED_0 =
"\2\0\1\1\1\2\1\3\1\4\1\2\2\3\1\5"+
"\1\6\1\7\1\10\1\1\16\3\1\11\4\3\1\12"+
"\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22"+
"\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32"+
"\1\33\1\34\1\35\2\36\1\4\1\3\1\1\6\3"+
"\1\1\1\37\1\0\1\40\1\0\3\40\2\2\7\3"+
"\1\41\1\42\1\43\1\44\1\45\1\46\2\4\2\3"+
"\1\47\5\3\1\50\1\3\1\51\56\3\1\52\1\53"+
"\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63"+
"\1\64\1\65\1\66\1\67\1\70\1\3\1\0\1\71"+
"\5\3\1\72\3\3\1\73\1\74\1\40\7\3\1\75"+
"\2\3\1\0\12\3\1\76\31\3\1\77\4\3\1\100"+
"\34\3\1\101\1\102\14\3\1\103\2\3\1\104\3\3"+
"\1\44\5\3\1\105\14\3\1\106\30\3\1\107\1\110"+
"\1\111\1\3\1\112\1\3\1\113\1\114\1\115\1\3"+
"\1\116\3\3\1\117\6\3\1\120\3\3\1\121\1\3"+
"\1\122\1\123\11\3\1\124\4\3\1\125\1\126\1\127"+
"\1\130\1\131\1\132\2\3\1\133\4\3\1\134\1\135"+
"\1\136\4\3\1\137\1\140\1\141\16\3\1\142\13\3"+
"\1\143\1\144\1\145\1\146\1\3\1\147\2\3\1\150"+
"\1\3\1\151\1\3\1\152\1\153\1\3\1\154\1\3"+
"\1\155\2\3\1\156\2\3\1\157\3\3\1\100\13\3"+
"\1\160\1\161\1\162\1\163\1\164\3\3\1\165\5\3"+
"\1\166\1\167\1\170\1\171\1\172\1\173\1\174\1\175"+
"\1\176\3\3\1\177\4\3\1\200\1\3\1\201\1\202"+
"\1\3\1\203\1\204\1\205\1\206\1\207\1\210\1\211"+
"\1\212\1\213\1\214\1\215\4\3\3\216\2\3\1\217"+
"\4\3\1\220\3\3\1\221\1\3\1\222\4\3\1\223"+
"\1\3\1\224\14\3\1\225\1\226\3\3\1\227\1\230"+
"\1\231\1\232\2\3\1\233\5\3\3\216\1\3\1\234"+
"\1\3\1\235\1\236\1\237\4\3\1\240\14\3\1\241"+
"\4\3\1\242\1\216\3\3";
private static int [] zzUnpackAction() {
int [] result = new int[593];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
}
private static int zzUnpackAction(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
do result[j++] = value; while (--count > 0);
}
return j;
}
/**
* Translates a state to a row index in the transition table
*/
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
"\0\0\0\114\0\230\0\344\0\u0130\0\u017c\0\u01c8\0\u0214"+
"\0\u0260\0\u02ac\0\u02f8\0\u0344\0\u0390\0\u03dc\0\u0428\0\u0474"+
"\0\u04c0\0\u050c\0\u0558\0\u05a4\0\u05f0\0\u063c\0\u0688\0\u06d4"+
"\0\u0720\0\u076c\0\u07b8\0\u0804\0\230\0\u0850\0\u089c\0\u08e8"+
"\0\u0934\0\230\0\230\0\230\0\230\0\230\0\230\0\u0980"+
"\0\u09cc\0\u0a18\0\u0a64\0\u0ab0\0\u0afc\0\u0b48\0\u0b94\0\230"+
"\0\u0be0\0\230\0\230\0\230\0\230\0\u0c2c\0\230\0\u0c78"+
"\0\u0cc4\0\u0d10\0\u0d5c\0\u0da8\0\u0df4\0\u0e40\0\u0e8c\0\u0ed8"+
"\0\u0f24\0\230\0\u0f70\0\230\0\u0fbc\0\u1008\0\u1054\0\u10a0"+
"\0\u10ec\0\u1138\0\u1184\0\u11d0\0\u121c\0\u1268\0\u12b4\0\u1300"+
"\0\u134c\0\230\0\230\0\u1398\0\u13e4\0\230\0\230\0\u1430"+
"\0\230\0\u147c\0\u14c8\0\u1514\0\u1560\0\u15ac\0\u15f8\0\u1644"+
"\0\u1690\0\u0130\0\u16dc\0\u1728\0\u1774\0\u17c0\0\u180c\0\u1858"+
"\0\u18a4\0\u18f0\0\u193c\0\u1988\0\u19d4\0\u1a20\0\u1a6c\0\u1ab8"+
"\0\u1b04\0\u1b50\0\u1b9c\0\u1be8\0\u1c34\0\u1c80\0\u1ccc\0\u1d18"+
"\0\u1d64\0\u1db0\0\u1dfc\0\u1e48\0\u1e94\0\u1ee0\0\u1f2c\0\u1f78"+
"\0\u1fc4\0\u2010\0\u205c\0\u20a8\0\u20f4\0\u2140\0\u218c\0\u21d8"+
"\0\u2224\0\u2270\0\u22bc\0\u2308\0\u2354\0\u23a0\0\u23ec\0\u2438"+
"\0\u2484\0\u24d0\0\230\0\230\0\230\0\230\0\230\0\u251c"+
"\0\230\0\u2568\0\230\0\230\0\230\0\230\0\230\0\230"+
"\0\230\0\u25b4\0\u0d10\0\230\0\u2600\0\u264c\0\u2698\0\u26e4"+
"\0\u2730\0\u277c\0\u27c8\0\u2814\0\u2860\0\230\0\230\0\u28ac"+
"\0\u28f8\0\u2944\0\u2990\0\u29dc\0\u2a28\0\u2a74\0\u2ac0\0\u0130"+
"\0\u2b0c\0\u2b58\0\u2ba4\0\u2bf0\0\u2c3c\0\u2c88\0\u2cd4\0\u2d20"+
"\0\u2d6c\0\u2db8\0\u2e04\0\u2e50\0\u2e9c\0\u2ee8\0\u2f34\0\u2f80"+
"\0\u2fcc\0\u3018\0\u3064\0\u30b0\0\u30fc\0\u3148\0\u3194\0\u31e0"+
"\0\u322c\0\u3278\0\u32c4\0\u3310\0\u335c\0\u33a8\0\u33f4\0\u3440"+
"\0\u348c\0\u34d8\0\u3524\0\u3570\0\u35bc\0\u3608\0\u3654\0\u36a0"+
"\0\u36ec\0\u3738\0\u3784\0\u37d0\0\u0130\0\u381c\0\u3868\0\u38b4"+
"\0\u3900\0\u394c\0\u3998\0\u39e4\0\u3a30\0\u3a7c\0\u3ac8\0\u3b14"+
"\0\u3b60\0\u3bac\0\u3bf8\0\u3c44\0\u3c90\0\u3cdc\0\u3d28\0\u3d74"+
"\0\u3dc0\0\u3e0c\0\u3e58\0\u3ea4\0\u3ef0\0\u3f3c\0\u3f88\0\u3fd4"+
"\0\u4020\0\230\0\230\0\u406c\0\u40b8\0\u4104\0\u4150\0\u419c"+
"\0\u41e8\0\u4234\0\u4280\0\u42cc\0\u4318\0\u4364\0\u43b0\0\u0130"+
"\0\u43fc\0\u4448\0\u0130\0\u4494\0\u44e0\0\u452c\0\230\0\u4578"+
"\0\u45c4\0\u4610\0\u465c\0\u46a8\0\u0130\0\u46f4\0\u4740\0\u478c"+
"\0\u47d8\0\u4824\0\u4870\0\u48bc\0\u4908\0\u4954\0\u49a0\0\u49ec"+
"\0\u4a38\0\u0130\0\u4a84\0\u4ad0\0\u4b1c\0\u4b68\0\u4bb4\0\u4c00"+
"\0\u4c4c\0\u4c98\0\u4ce4\0\u4d30\0\u4d7c\0\u4dc8\0\u4e14\0\u4e60"+
"\0\u4eac\0\u4ef8\0\u4f44\0\u4f90\0\u4fdc\0\u5028\0\u5074\0\u50c0"+
"\0\u510c\0\u5158\0\u51a4\0\u51f0\0\u523c\0\u5288\0\u0130\0\u52d4"+
"\0\u0130\0\u0130\0\u0130\0\u5320\0\u0130\0\u536c\0\u53b8\0\u5404"+
"\0\u0130\0\u5450\0\u549c\0\u54e8\0\u5534\0\u5580\0\u55cc\0\u0130"+
"\0\u5618\0\u5664\0\u56b0\0\u0130\0\u56fc\0\u0130\0\u0130\0\u5748"+
"\0\u5794\0\u57e0\0\u582c\0\u5878\0\u58c4\0\u5910\0\u595c\0\u59a8"+
"\0\u0130\0\u59f4\0\u5a40\0\u5a8c\0\u5ad8\0\u5b24\0\u5b70\0\u5bbc"+
"\0\u0130\0\u0130\0\u0130\0\u5c08\0\u5c54\0\u0130\0\u5ca0\0\u5cec"+
"\0\u5d38\0\u5d84\0\u0130\0\u0130\0\u0130\0\u5dd0\0\u5e1c\0\u5e68"+
"\0\u5eb4\0\u0130\0\u0130\0\u0130\0\u5f00\0\u5f4c\0\u5f98\0\u5fe4"+
"\0\u6030\0\u607c\0\u60c8\0\u6114\0\u6160\0\u61ac\0\u61f8\0\u6244"+
"\0\u6290\0\u62dc\0\u0130\0\u6328\0\u6374\0\u63c0\0\u640c\0\u6458"+
"\0\u64a4\0\u64f0\0\u653c\0\u6588\0\u65d4\0\u6620\0\u0130\0\u0130"+
"\0\u0130\0\u0130\0\u666c\0\u0130\0\u66b8\0\u6704\0\u0130\0\u6750"+
"\0\u0130\0\u679c\0\u0130\0\u0130\0\u67e8\0\u0130\0\u6834\0\u0130"+
"\0\u6880\0\u68cc\0\u0130\0\u6918\0\u6964\0\u0130\0\u69b0\0\u69fc"+
"\0\u6a48\0\u6a94\0\u6ae0\0\u6b2c\0\u6b78\0\u6bc4\0\u6c10\0\u6c5c"+
"\0\u6ca8\0\u6cf4\0\u6d40\0\u6d8c\0\u6dd8\0\u6e24\0\u0130\0\u0130"+
"\0\u0130\0\u0130\0\u6e70\0\u6ebc\0\u6f08\0\u0130\0\u6f54\0\u6fa0"+
"\0\u6fec\0\u7038\0\u7084\0\u0130\0\u0130\0\u0130\0\u0130\0\u0130"+
"\0\u0130\0\u0130\0\u0130\0\u0130\0\u70d0\0\u711c\0\u7168\0\u0130"+
"\0\u71b4\0\u7200\0\u724c\0\u7298\0\u72e4\0\u7330\0\u0130\0\u0130"+
"\0\u737c\0\u0130\0\u0130\0\u0130\0\u0130\0\u0130\0\u0130\0\u0130"+
"\0\u0130\0\u0130\0\u0130\0\u0130\0\u73c8\0\u7414\0\u7460\0\u74ac"+
"\0\u74f8\0\u0130\0\u7544\0\u7590\0\u75dc\0\u0130\0\u7628\0\u7674"+
"\0\u76c0\0\u770c\0\u0130\0\u7758\0\u77a4\0\u77f0\0\u0130\0\u783c"+
"\0\u0130\0\u7888\0\u78d4\0\u7920\0\u796c\0\u0130\0\u79b8\0\u0130"+
"\0\u7a04\0\u7a50\0\u7a9c\0\u7ae8\0\u7b34\0\u7b80\0\u7bcc\0\u7c18"+
"\0\u7c64\0\u7cb0\0\u7cfc\0\u7d48\0\u0130\0\u0130\0\u7d94\0\u7de0"+
"\0\u7e2c\0\u0130\0\u0130\0\u0130\0\u0130\0\u7e78\0\u7ec4\0\u0130"+
"\0\u7f10\0\u7f5c\0\u7fa8\0\u7ff4\0\u8040\0\u808c\0\u80d8\0\u8124"+
"\0\u8170\0\u0130\0\u81bc\0\u0130\0\u0130\0\u0130\0\u8208\0\u8254"+
"\0\u82a0\0\u82ec\0\u0130\0\u8338\0\u8384\0\u83d0\0\u841c\0\u8468"+
"\0\u84b4\0\u8500\0\u854c\0\u8598\0\u85e4\0\u8630\0\u867c\0\u0130"+
"\0\u86c8\0\u8714\0\u8760\0\u87ac\0\u0130\0\u87f8\0\u8844\0\u8890"+
"\0\u88dc";
private static int [] zzUnpackRowMap() {
int [] result = new int[593];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
}
private static int zzUnpackRowMap(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int high = packed.charAt(i++) << 16;
result[j++] = high | packed.charAt(i++);
}
return j;
}
/**
* The transition table of the DFA
*/
private static final int [] ZZ_TRANS = zzUnpackTrans();
private static final String ZZ_TRANS_PACKED_0 =
"\1\3\2\4\2\5\3\6\1\5\1\7\1\5\1\10"+
"\1\11\2\5\1\12\1\5\1\13\1\14\1\15\1\16"+
"\1\3\1\17\1\20\1\21\1\22\1\23\1\24\1\25"+
"\1\26\1\27\1\30\1\31\1\32\1\5\1\33\1\34"+
"\1\35\1\36\1\37\3\4\1\5\1\4\7\5\1\40"+
"\1\41\2\5\1\42\1\43\1\44\1\45\1\46\1\47"+
"\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57"+
"\1\60\1\61\1\62\1\63\1\64\1\65\1\3\2\4"+
"\2\5\1\66\1\67\1\70\1\5\1\7\1\5\1\71"+
"\1\11\2\5\1\12\1\5\1\13\1\14\1\15\1\16"+
"\1\72\1\73\1\74\1\75\1\22\1\76\1\24\1\25"+
"\1\26\1\77\1\30\1\31\1\32\1\5\1\33\1\100"+
"\1\101\1\36\1\37\3\4\1\5\1\4\7\5\1\40"+
"\1\41\2\5\1\42\1\43\1\44\1\45\1\46\1\47"+
"\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57"+
"\1\60\1\61\1\62\1\63\1\64\1\65\115\0\2\4"+
"\5\0\1\102\1\4\1\0\1\103\1\104\1\105\1\104"+
"\1\106\1\107\6\0\1\107\2\0\1\102\15\0\3\4"+
"\1\0\1\4\40\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\22\5\31\0\3\6\105\0\1\110"+
"\1\111\5\0\1\102\1\111\1\112\1\103\1\104\1\105"+
"\1\104\1\106\1\107\6\0\1\107\2\0\1\102\7\0"+
"\1\112\5\0\3\111\1\0\1\111\40\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\7\5\1\113\1\5\1\114"+
"\5\5\1\0\22\5\25\0\4\5\3\0\3\5\1\115"+
"\3\5\1\0\1\5\5\0\2\5\1\116\4\5\1\117"+
"\1\5\1\120\4\5\1\121\1\0\22\5\25\0\2\106"+
"\6\0\1\106\36\0\3\106\1\0\1\106\60\0\1\122"+
"\54\0\1\123\37\0\1\124\1\125\52\0\1\126\113\0"+
"\1\127\22\0\1\130\1\131\106\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\1\5\1\132\1\133\4\5\1\134"+
"\3\5\1\135\2\5\1\136\1\0\22\5\25\0\4\5"+
"\3\0\3\5\1\137\3\5\1\0\1\5\5\0\3\5"+
"\1\140\10\5\1\141\2\5\1\0\22\5\25\0\4\5"+
"\3\0\4\5\1\142\2\5\1\0\1\5\5\0\2\5"+
"\1\143\1\144\1\5\1\145\5\5\1\146\2\5\1\147"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\7\5\1\150\1\5\1\151\5\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\2\5"+
"\1\152\1\153\1\5\1\154\10\5\1\155\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\2\5"+
"\1\156\1\5\1\157\4\5\1\160\1\5\1\161\1\5"+
"\1\162\1\5\1\0\16\5\1\163\1\164\2\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\1\5\1\165"+
"\15\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\4\5\1\166\12\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\4\5\1\167"+
"\1\5\1\170\2\5\1\171\5\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\5\5\1\172"+
"\7\5\1\173\1\5\1\0\1\5\1\174\20\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\7\5\1\175"+
"\7\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\1\5\1\176\7\5\1\177\5\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\1\5\1\200\4\5\1\201\10\5\1\0\13\5\1\202"+
"\2\5\1\203\3\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\1\5\1\204\5\5\1\205\1\5\1\206"+
"\5\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\4\5\1\207\1\5\1\210\1\211\6\5"+
"\1\212\1\0\22\5\25\0\4\5\3\0\3\5\1\213"+
"\3\5\1\0\1\5\5\0\1\5\1\214\5\5\1\215"+
"\1\5\1\216\5\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\2\5\1\217\6\5\1\220"+
"\4\5\1\121\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\6\5\1\221\10\5\1\0\16\5"+
"\1\222\3\5\122\0\1\223\113\0\1\224\1\225\112\0"+
"\1\226\113\0\1\227\2\0\1\230\110\0\1\231\3\0"+
"\1\232\107\0\1\233\4\0\1\234\106\0\1\235\5\0"+
"\1\236\105\0\1\237\6\0\1\240\104\0\1\241\23\0"+
"\1\67\114\0\1\70\105\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\2\5\1\242\4\5\1\113\1\5\1\114"+
"\5\5\1\0\22\5\24\0\5\243\2\0\16\243\1\244"+
"\66\243\1\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\1\5\1\245\1\133\4\5\1\134\3\5\1\135\2\5"+
"\1\136\1\0\22\5\25\0\4\5\3\0\3\5\1\246"+
"\3\5\1\0\1\5\5\0\3\5\1\247\2\5\1\250"+
"\5\5\1\251\2\5\1\0\22\5\25\0\4\5\3\0"+
"\4\5\1\252\2\5\1\0\1\5\5\0\2\5\1\143"+
"\1\144\1\5\1\145\5\5\1\146\2\5\1\147\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\2\5\1\152\1\253\1\5\1\154\10\5\1\155\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\4\5\1\167\1\5\1\254\2\5\1\171\5\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\1\5\1\255\5\5\1\205\1\5\1\206\5\5\1\0"+
"\22\5\71\0\1\256\62\0\1\257\115\0\1\257\76\0"+
"\2\106\6\0\1\106\1\0\1\103\1\104\1\105\1\104"+
"\1\0\1\107\6\0\1\107\20\0\3\106\1\0\1\106"+
"\40\0\2\260\6\0\1\260\1\0\1\103\1\104\1\105"+
"\1\104\2\0\1\260\26\0\3\260\1\0\1\260\22\0"+
"\1\260\15\0\2\110\6\0\1\110\1\0\1\103\1\104"+
"\1\105\1\104\1\106\1\107\6\0\1\107\20\0\3\110"+
"\1\0\1\110\40\0\1\110\1\111\5\0\1\102\1\111"+
"\1\0\1\103\1\104\1\105\1\104\1\106\1\107\6\0"+
"\1\107\2\0\1\102\15\0\3\111\1\0\1\111\40\0"+
"\3\112\4\0\1\102\1\112\2\0\1\112\1\0\1\112"+
"\1\0\1\112\5\0\2\112\2\0\1\102\4\0\1\112"+
"\6\0\5\112\1\0\3\112\1\0\1\112\34\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\3\5\1\261\13\5"+
"\1\0\17\5\1\262\2\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\17\5\1\0\13\5\1\263\6\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\7\5"+
"\1\264\1\5\1\265\5\5\1\0\22\5\25\0\4\5"+
"\3\0\3\5\1\266\3\5\1\0\1\5\5\0\14\5"+
"\1\267\2\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\6\5\1\270\10\5\1\0\22\5"+
"\25\0\4\5\3\0\3\5\1\271\3\5\1\0\1\5"+
"\5\0\17\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\1\5\1\272\15\5\1\0\22\5"+
"\24\0\5\124\2\0\105\124\23\125\1\273\70\125\6\0"+
"\1\131\106\0\4\5\3\0\4\5\1\274\2\5\1\0"+
"\1\5\5\0\17\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\5\5\1\275\11\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\4\5\1\276\12\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\11\5\1\277\5\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\1\5\1\300\15\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\5\5\1\301\11\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\4\5\1\172\12\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\15\5\1\302\1\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\13\5\1\146\3\5\1\0\22\5\25\0\4\5\3\0"+
"\3\5\1\303\3\5\1\0\1\5\5\0\7\5\1\304"+
"\1\305\4\5\1\306\1\307\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\11\5\1\310\5\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\11\5\1\311\5\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\312\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\2\5\1\313\5\5\1\314\6\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\13\5"+
"\1\315\3\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\3\5\1\316\7\5\1\146\3\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\2\5\1\317\2\5\1\320\11\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\2\5"+
"\1\321\6\5\1\310\5\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\322\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\21\5\1\323\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\10\5\1\324\6\5\1\0"+
"\1\325\21\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\13\5\1\326\3\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\7\5\1\327\7\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\6\5\1\330\2\5\1\331\5\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\7\5"+
"\1\332\1\5\1\333\5\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\2\5\1\334\14\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\5\5\1\335\3\5\1\336\3\5\1\337\1\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\15\5\1\340\1\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\1\341"+
"\21\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\1\5\1\342\15\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\6\5\1\343\6\5\1\344"+
"\1\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\13\5\1\345\3\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\7\5\1\346"+
"\5\5\1\347\1\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\15\5\1\350\1\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\15\5\1\351\1\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\1\352\16\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\15\5"+
"\1\353\1\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\13\5\1\354\3\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\4\5"+
"\1\355\12\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\10\5\1\356\6\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\2\5"+
"\1\357\14\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\17\5\1\0\1\5\1\360\20\5"+
"\25\0\4\5\3\0\3\5\1\361\3\5\1\0\1\5"+
"\5\0\2\5\1\362\14\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\6\5\1\363\10\5"+
"\1\0\22\5\25\0\4\5\3\0\4\5\1\364\2\5"+
"\1\0\1\5\5\0\17\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\365\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\7\5\1\366\7\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\367\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\11\5\1\370\5\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\3\5\1\371\13\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\3\5\1\372\7\5\1\373\3\5\1\0\16\5"+
"\1\374\3\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\5\5\1\375\11\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\12\5\1\376\4\5"+
"\1\0\22\5\25\0\4\5\3\0\3\5\1\377\3\5"+
"\1\0\1\5\5\0\17\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\2\5\1\u0100\14\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\2\5\1\u0101\14\5\1\0\22\5\122\0\1\u0102"+
"\113\0\1\u0103\16\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\3\5\1\u0104\13\5\1\0\22\5\25\0\4\5"+
"\3\0\4\5\1\u0105\2\5\1\0\1\5\5\0\17\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\2\5\1\u0106\2\5\1\u0107\11\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\1\u0108"+
"\3\5\1\172\12\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\6\5\1\u0109\10\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\15\5\1\u010a\1\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\1\u010b\2\5\1\u010c\13\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\u010d\1\5\1\317\2\5\1\320\11\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\1\5\1\342\7\5\1\u010e\5\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\6\5\1\u010f"+
"\10\5\1\0\1\5\1\360\20\5\25\0\2\260\6\0"+
"\1\260\1\0\1\103\1\104\1\105\1\104\31\0\3\260"+
"\1\0\1\260\40\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\12\5\1\345\4\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\10\5\1\u0110\6\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\7\5\1\u0111\7\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\11\5\1\u0112\5\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\15\5\1\u0113\1\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\15\5\1\u0114\1\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u0115\15\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\5\5\1\355\11\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\1\5\1\u0116\20\5\24\0\22\125"+
"\1\u0117\1\273\70\125\1\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\11\5\1\u0118\5\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\17\5\1\0"+
"\1\5\1\u0119\20\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\17\5\1\0\1\u011a\21\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\15\5\1\u011b\1\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\1\5\1\u011c\20\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\u011d\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u011e\15\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\2\5\1\u011f\14\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\4\5\1\u0120\12\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\4\5\1\u0121\12\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u0122\15\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\11\5\1\u0123\5\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\13\5\1\u0124\3\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\12\5\1\u0125\4\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\1\5\1\u0126\20\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\3\5\1\u0127\13\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u0128\15\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\u0129\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\15\5\1\u012a\1\5\1\0\22\5\25\0\4\5"+
"\3\0\4\5\1\u012b\2\5\1\0\1\5\5\0\7\5"+
"\1\u012c\7\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\2\5\1\u012d\14\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\3\5"+
"\1\261\13\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\17\5\1\0\1\5\1\u012e\20\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\1\5"+
"\1\u012f\15\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\1\5\1\u0130\15\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\6\5"+
"\1\u0131\10\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\10\5\1\u0132\6\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\7\5"+
"\1\u0133\7\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\4\5\1\u0134\12\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\15\5"+
"\1\u0135\1\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\6\5\1\u0121\10\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\6\5"+
"\1\u0136\10\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\15\5\1\u0137\1\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\7\5"+
"\1\u0138\5\5\1\u0139\1\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\u013a\16\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\4\5\1\u013b\12\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\10\5\1\305\6\5\1\0"+
"\22\5\25\0\4\5\3\0\3\5\1\u0135\3\5\1\0"+
"\1\5\5\0\17\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\17\5\1\0\1\5\1\u013c"+
"\20\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\15\5\1\u013d\1\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\17\5\1\0\1\5\1\u013e"+
"\20\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\13\5\1\u013f\3\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\6\5\1\u0140\10\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\2\5\1\u0141\14\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\7\5\1\345\7\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\2\5\1\u0142\14\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\17\5\1\0\2\5\1\u0143"+
"\1\u0144\1\u0145\15\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\10\5\1\u0146\6\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\1\5\1\u0147"+
"\15\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\1\5\1\u0148\15\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\5\5\1\345"+
"\11\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\17\5\1\0\2\5\1\u0149\1\u014a\1\u014b"+
"\15\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\11\5\1\u014c\5\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\1\u014d\16\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\17\5"+
"\1\0\13\5\1\u014e\6\5\25\0\4\5\3\0\4\5"+
"\1\u014f\2\5\1\0\1\5\5\0\17\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\11\5"+
"\1\u0150\5\5\1\0\22\5\25\0\4\5\3\0\3\5"+
"\1\u0151\3\5\1\0\1\5\5\0\17\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\17\5"+
"\1\0\1\5\1\u0152\20\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\5\5\1\357\11\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\15\5"+
"\1\u0153\1\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\5\5\1\u0154\7\5\1\u0155\1\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\13\5\1\u0156\3\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\u0157\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u0158\13\5\1\345\1\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\17\5"+
"\1\0\16\5\1\u0159\3\5\25\0\4\5\3\0\4\5"+
"\1\345\2\5\1\0\1\5\5\0\17\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\15\5"+
"\1\u015a\1\5\1\0\22\5\25\0\4\5\3\0\3\5"+
"\1\u015b\3\5\1\0\1\5\5\0\17\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\1\5"+
"\1\u015c\15\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\2\5\1\u015d\6\5\1\u0118\5\5"+
"\1\0\22\5\25\0\4\5\3\0\4\5\1\u015e\2\5"+
"\1\0\1\5\5\0\17\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\u015f\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\2\5\1\u0160\14\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\7\5\1\u0161\7\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u0162\15\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\u0163\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\u0164\16\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\1\5\1\u0165\15\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\12\5\1\u0166\4\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\5\5\1\u0167\11\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\4\5\1\u0168\12\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\15\5\1\u0169\1\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\1\5\1\u016a\15\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\1\345\16\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\17\5"+
"\1\0\2\5\3\345\15\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\4\5\1\u016b\12\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\11\5"+
"\1\u016c\5\5\1\0\22\5\25\0\4\5\3\0\3\5"+
"\1\u016d\3\5\1\0\1\5\5\0\17\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\17\5"+
"\1\0\2\5\1\u016e\1\u016f\1\u0170\15\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\2\5"+
"\1\u0171\1\u0172\1\u0173\15\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\6\5\1\u0174\10\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\3\5"+
"\1\u0175\13\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\15\5\1\u0176\1\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\15\5"+
"\1\345\1\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\6\5\1\u0177\10\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\6\5"+
"\1\u0178\10\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\10\5\1\u0179\6\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\1\5"+
"\1\u017a\15\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\17\5\1\0\2\5\1\u017b\1\u017c"+
"\1\u017d\15\5\25\0\4\5\3\0\3\5\1\303\3\5"+
"\1\0\1\5\5\0\17\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\6\5\1\u017e\10\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\5\5\1\u017f\11\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\7\5\1\u0180\7\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\3\5\1\345\13\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\12\5\1\u0181\4\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\2\5\1\u0182\1\u0183\1\u0184\15\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\7\5"+
"\1\377\7\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\6\5\1\u0185\10\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\7\5"+
"\1\u0186\7\5\1\0\22\5\25\0\4\5\3\0\3\5"+
"\1\u0187\3\5\1\0\1\5\5\0\17\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\15\5"+
"\1\u0188\1\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\17\5\1\0\1\5\1\u0189\20\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\2\5"+
"\1\u018a\14\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\1\5\1\u018b\15\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\17\5"+
"\1\0\1\5\1\u018c\20\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\4\5\1\u018d\12\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\6\5"+
"\1\u018e\10\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\7\5\1\u018f\7\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\6\5"+
"\1\u0190\10\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\2\5\1\u0191\14\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\2\5"+
"\1\u0192\14\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\17\5\1\0\16\5\1\u0193\3\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\2\5"+
"\1\u0194\14\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\2\5\1\u0195\14\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\16\5"+
"\1\u0175\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\4\5\1\u0196\12\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\14\5\1\u0197"+
"\2\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\14\5\1\u0198\2\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\14\5\1\u0199"+
"\2\5\1\0\22\5\25\0\4\5\3\0\3\5\1\u019a"+
"\3\5\1\0\1\5\5\0\17\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\1\u019b\16\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\15\5\1\u019c\1\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\2\5\1\u019d\14\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u019e\15\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\20\5"+
"\1\u019f\1\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\2\5\1\u01a0\1\u01a1\1\u01a2\15\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\6\5"+
"\1\u01a3\10\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\15\5\1\u01a4\1\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\2\5"+
"\1\u01a5\14\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\7\5\1\u012c\7\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\6\5"+
"\1\u01a6\10\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\10\5\1\u01a7\6\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\1\5"+
"\1\u01a8\15\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\1\5\1\u01a9\15\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\3\5"+
"\1\u01aa\13\5\1\0\22\5\25\0\4\5\3\0\4\5"+
"\1\u01ab\2\5\1\0\1\5\5\0\17\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\6\5"+
"\1\u01ac\10\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\3\5\1\u01ad\2\5\1\u0174\10\5"+
"\1\0\22\5\25\0\4\5\3\0\4\5\1\u01ae\2\5"+
"\1\0\1\5\5\0\17\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\u01af\15\5"+
"\1\0\22\5\25\0\4\5\3\0\4\5\1\u01b0\2\5"+
"\1\0\1\5\5\0\17\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\13\5\1\u01b1\3\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\2\5\1\u01b2\14\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\15\5\1\u01b3\1\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\6\5\1\345\10\5\1\0\22\5\25\0\4\5"+
"\3\0\3\5\1\u01b4\3\5\1\0\1\5\5\0\17\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\6\5\1\u01b5\10\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\u01b6\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\14\5\1\u01b7\2\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\14\5\1\u01b8\2\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\14\5\1\u01b9\2\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\3\5\1\u01ba\13\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\345\15\5\1\0\22\5\25\0\4\5"+
"\3\0\4\5\1\u01bb\2\5\1\0\1\5\5\0\17\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\2\5\1\u01bc\14\5\1\0\22\5\25\0\4\5"+
"\3\0\3\5\1\u01bd\3\5\1\0\1\5\5\0\17\5"+
"\1\0\22\5\25\0\2\5\1\u01be\1\5\3\0\7\5"+
"\1\0\1\5\5\0\17\5\1\0\2\5\1\u01bf\1\u01c0"+
"\2\5\1\u01c1\1\5\1\u01c2\11\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\5\5\1\u01c3\11\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\10\5\1\u01bb\6\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\6\5\1\u01c4\10\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\3\5\1\267\13\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\10\5\1\345\6\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\4\5\1\u01c5\12\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\1\5\1\u01c6\15\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\17\5\1\0\16\5\1\u01c7\3\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\15\5\1\u01c8\1\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\17\5\1\0\1\5\1\345\20\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\1\u01c9\16\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\17\5"+
"\1\0\16\5\1\u01ca\3\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\6\5\1\u01cb\10\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\2\5"+
"\1\u01cc\14\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\3\5\1\u01cd\13\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\3\5"+
"\1\u01ce\13\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\5\5\1\u01cf\11\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\15\5"+
"\1\u01d0\1\5\1\0\22\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\17\5\1\0\1\5\1\u01d1\20\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\17\5"+
"\1\0\1\u01d2\21\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\13\5\1\u01d3\3\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\17\5\1\0"+
"\2\5\1\u01d4\1\u01d5\1\u01d6\15\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\17\5\1\0\2\5\1\u01d7"+
"\1\u01d8\1\u01d9\15\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\17\5\1\0\2\5\1\u01da\1\u01db\1\u01dc"+
"\15\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\11\5\1\u01dd\5\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\1\5\1\377\15\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\2\5\1\u01de\14\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\3\5\1\u01df\13\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\6\5\1\u01e0\10\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\7\5\1\u01e1\7\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\3\5\1\u01e2\13\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\1\5\1\u01e3\15\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\7\5\1\u01e4\7\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\1\5\1\u01e5\15\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\5\5\1\u01e6\11\5\1\0\22\5\25\0\4\5\3\0"+
"\4\5\1\u01e7\2\5\1\0\1\5\5\0\17\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\11\5\1\u01e8\5\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\7\5\1\u01e9\7\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\15\5\1\u01ea\1\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\1\u01eb\16\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\17\5"+
"\1\0\2\5\1\u01ec\1\u01ed\1\u01ee\15\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\2\5"+
"\1\u01ef\1\u01f0\1\u01f1\15\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\17\5\1\0\2\5\1\u01f2\1\u01f3"+
"\1\u01f4\15\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\11\5\1\u01f5\5\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\11\5\1\u01cb\5\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\11\5\1\u01f6\5\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\u01f7\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\4\5\1\u01f8\12\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\7\5"+
"\1\u01f9\12\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\7\5\1\u01fa\12\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\7\5"+
"\1\u01fb\12\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\4\5\1\u01fc\12\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\10\5\1\u01fd\6\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\13\5\1\u01fe\3\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\15\5\1\u01ff\1\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\6\5\1\u0200\10\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\1\5"+
"\1\u0175\20\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\1\5\1\u0201\20\5\25\0\4\5"+
"\3\0\3\5\1\u0202\3\5\1\0\1\5\5\0\17\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u0203\1\u0204\14\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\2\5\1\u0156"+
"\14\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\17\5\1\0\5\5\1\u0205\14\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\4\5\1\u0206"+
"\12\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\10\5\1\u0207\6\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\15\5\1\u0175"+
"\1\5\1\0\22\5\25\0\4\5\3\0\3\5\1\u0208"+
"\3\5\1\0\1\5\5\0\17\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\12\5\1\u0209"+
"\4\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\2\5\1\u020a\14\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\4\5\1\u020b"+
"\12\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\3\5\1\u020c\13\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\3\5\1\u020d"+
"\13\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\1\u020e\16\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\2\5\1\u020f\14\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\3\5\1\u0210\13\5\1\0\22\5\25\0\4\5"+
"\3\0\3\5\1\345\3\5\1\0\1\5\5\0\17\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\3\5\1\u0211\13\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\6\5\1\u017a\10\5"+
"\1\0\22\5\25\0\4\5\3\0\4\5\1\u0212\2\5"+
"\1\0\1\5\5\0\17\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\11\5"+
"\1\u0213\1\u0214\1\5\1\u0215\5\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\17\5\1\0\12\5\1\u0214"+
"\7\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\17\5\1\0\1\u0216\21\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\1\5\1\u0217\15\5\1\0\22\5"+
"\25\0\4\5\3\0\7\5\1\0\1\5\5\0\2\5"+
"\1\u0218\14\5\1\0\22\5\25\0\2\5\1\u01be\1\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\2\5"+
"\1\u0219\1\u021a\2\5\1\u021b\1\5\1\u021c\11\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\15\5\1\u021d"+
"\1\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\17\5\1\0\13\5\1\u021e\6\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\7\5\1\u021f"+
"\7\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\4\5\1\u0220\12\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\15\5\1\u0221"+
"\1\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\1\5\1\u0222\15\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\1\u0223\16\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u0224\15\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\15\5\1\u0225\1\5"+
"\1\0\22\5\25\0\4\5\3\0\3\5\1\u0226\3\5"+
"\1\0\1\5\5\0\17\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\7\5\1\u0227\7\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\15\5\1\u0228\1\5\1\0\22\5\25\0\4\5"+
"\3\0\4\5\1\u0229\2\5\1\0\1\5\5\0\17\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u022a\15\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\6\5\1\u022b\10\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\15\5\1\u01fb\4\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\u01fb\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\1\5\1\u022c\20\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\3\5\1\u022d\13\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\7\5\1\u022e\12\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\7\5"+
"\1\u022f\12\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\7\5\1\u0230\12\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\4\5\1\u0231\12\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\3\5\1\u0232\13\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\2\5\1\u0233\14\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u0234\15\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\13\5"+
"\1\u0235\6\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\3\5\1\u0236\13\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\u0237\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\1\5\1\u0238\20\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\6\5\1\u0239\10\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\15\5\1\u023a\1\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\5\1\u023b\15\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\11\5\1\u023c\1\u023d\1\5\1\u0215"+
"\1\u023e\4\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\11\5\1\u023f\10\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\12\5"+
"\1\u023d\2\5\1\u023e\4\5\25\0\4\5\3\0\7\5"+
"\1\0\1\5\5\0\17\5\1\0\1\u0240\21\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\3\5\1\u0241"+
"\13\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\6\5\1\u01fa\10\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\15\5\1\u01fa"+
"\1\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\11\5\1\u0242\5\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\2\5\1\u0243"+
"\14\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\1\5\1\u0244\15\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\6\5\1\u0245"+
"\10\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\17\5\1\0\16\5\1\u0246\3\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\1\5\1\u0247"+
"\15\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\1\5\1\u0230\15\5\1\0\22\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\15\5\1\u0248"+
"\1\5\1\0\22\5\25\0\4\5\3\0\7\5\1\0"+
"\1\5\5\0\17\5\1\0\13\5\1\u01fa\6\5\25\0"+
"\4\5\3\0\7\5\1\0\1\5\5\0\16\5\1\u0249"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\17\5\1\0\1\5\1\u024a\20\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\6\5\1\u024b\10\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\11\5\1\u024c\5\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\17\5\1\0\1\5"+
"\1\u0121\20\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\1\5\1\u024d\15\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\15\5\1\u024e\1\5"+
"\1\0\22\5\25\0\4\5\3\0\7\5\1\0\1\5"+
"\5\0\11\5\1\u024f\5\5\1\0\22\5\25\0\4\5"+
"\3\0\7\5\1\0\1\5\5\0\1\u0250\16\5\1\0"+
"\22\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\17\5\1\0\15\5\1\u023e\4\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\17\5\1\0\13\5\1\u024e"+
"\6\5\25\0\4\5\3\0\7\5\1\0\1\5\5\0"+
"\7\5\1\u0251\7\5\1\0\22\5\25\0\4\5\3\0"+
"\7\5\1\0\1\5\5\0\17\5\1\0\17\5\1\u01fa"+
"\2\5\24\0";
private static int [] zzUnpackTrans() {
int [] result = new int[35112];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
}
private static int zzUnpackTrans(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
value--;
do result[j++] = value; while (--count > 0);
}
return j;
}
/* error codes */
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
private static final char[] EMPTY_BUFFER = new char[0];
private static final int YYEOF = -1;
private static java.io.Reader zzReader = null; // Fake
/* error messages for the codes above */
private static final String ZZ_ERROR_MSG[] = {
"Unkown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
/**
* ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
*/
private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
private static final String ZZ_ATTRIBUTE_PACKED_0 =
"\2\0\1\11\31\1\1\11\4\1\6\11\10\1\1\11"+
"\1\1\4\11\1\1\1\11\12\1\1\11\1\0\1\11"+
"\1\0\14\1\2\11\2\1\2\11\1\1\1\11\71\1"+
"\5\11\1\1\1\11\1\1\7\11\1\1\1\0\1\11"+
"\11\1\2\11\13\1\1\0\106\1\2\11\23\1\1\11"+
"\u013a\1";
private static int [] zzUnpackAttribute() {
int [] result = new int[593];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
}
private static int zzUnpackAttribute(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
do result[j++] = value; while (--count > 0);
}
return j;
}
/** the current state of the DFA */
private int zzState;
/** the current lexical state */
private int zzLexicalState = YYINITIAL;
/** this buffer contains the current text to be matched and is
the source of the yytext() string */
private CharSequence zzBuffer = "";
/** this buffer may contains the current text array to be matched when it is cheap to acquire it */
private char[] zzBufferArray;
/** the textposition at the last accepting state */
private int zzMarkedPos;
/** the textposition at the last state to be included in yytext */
private int zzPushbackPos;
/** the current text position in the buffer */
private int zzCurrentPos;
/** startRead marks the beginning of the yytext() string in the buffer */
private int zzStartRead;
/** endRead marks the last character in the buffer, that has been read
from input */
private int zzEndRead;
/**
* zzAtBOL == true <=> the scanner is currently at the beginning of a line
*/
private boolean zzAtBOL = true;
/** zzAtEOF == true <=> the scanner is at the EOF */
private boolean zzAtEOF;
/* user code: */
/**
* Creates a new scanner
*
* @param in the java.io.Reader to read input from.
*/
GLSLFlexLexer(java.io.Reader in) {
this.zzReader = in;
}
/**
* Unpacks the compressed character translation table.
*
* @param packed the packed character translation table
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
char [] map = new char[0x10000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
while (i < 182) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
}
return map;
}
public final int getTokenStart(){
return zzStartRead;
}
public final int getTokenEnd(){
return getTokenStart() + yylength();
}
public void reset(CharSequence buffer, int start, int end,int initialState){
zzBuffer = buffer;
zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer);
zzCurrentPos = zzMarkedPos = zzStartRead = start;
zzPushbackPos = 0;
zzAtEOF = false;
zzAtBOL = true;
zzEndRead = end;
yybegin(initialState);
}
/**
* Refills the input buffer.
*
* @return <code>false</code>, iff there was new input.
*
* @exception java.io.IOException if any I/O-Error occurs
*/
private boolean zzRefill() throws java.io.IOException {
return true;
}
/**
* Returns the current lexical state.
*/
public final int yystate() {
return zzLexicalState;
}
/**
* Enters a new lexical state
*
* @param newState the new lexical state
*/
public final void yybegin(int newState) {
zzLexicalState = newState;
}
/**
* Returns the text matched by the current regular expression.
*/
public final CharSequence yytext() {
return zzBuffer.subSequence(zzStartRead, zzMarkedPos);
}
/**
* Returns the character at position <tt>pos</tt> from the
* matched text.
*
* It is equivalent to yytext().charAt(pos), but faster
*
* @param pos the position of the character to fetch.
* A value from 0 to yylength()-1.
*
* @return the character at position pos
*/
public final char yycharat(int pos) {
return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos);
}
/**
* Returns the length of the matched text region.
*/
public final int yylength() {
return zzMarkedPos-zzStartRead;
}
/**
* Reports an error that occured while scanning.
*
* In a wellformed scanner (no or only correct usage of
* yypushback(int) and a match-all fallback rule) this method
* will only be called with things that "Can't Possibly Happen".
* If this method is called, something is seriously wrong
* (e.g. a JFlex bug producing a faulty scanner etc.).
*
* Usual syntax/scanner level error handling should be done
* in error fallback rules.
*
* @param errorCode the code of the errormessage to display
*/
private void zzScanError(int errorCode) {
String message;
try {
message = ZZ_ERROR_MSG[errorCode];
}
catch (ArrayIndexOutOfBoundsException e) {
message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
}
throw new Error(message);
}
/**
* 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()!
*/
public void yypushback(int number) {
if ( number > yylength() )
zzScanError(ZZ_PUSHBACK_2BIG);
zzMarkedPos -= 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 java.io.IOException if any I/O-Error occurs
*/
public IElementType advance() throws java.io.IOException {
int zzInput;
int zzAction;
// cached fields:
int zzCurrentPosL;
int zzMarkedPosL;
int zzEndReadL = zzEndRead;
CharSequence zzBufferL = zzBuffer;
char[] zzBufferArrayL = zzBufferArray;
char [] zzCMapL = ZZ_CMAP;
int [] zzTransL = ZZ_TRANS;
int [] zzRowMapL = ZZ_ROWMAP;
int [] zzAttrL = ZZ_ATTRIBUTE;
while (true) {
zzMarkedPosL = zzMarkedPos;
zzAction = -1;
zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
zzState = ZZ_LEXSTATE[zzLexicalState];
zzForAction: {
while (true) {
if (zzCurrentPosL < zzEndReadL)
zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
}
else {
// store back cached positions
zzCurrentPos = zzCurrentPosL;
zzMarkedPos = zzMarkedPosL;
boolean eof = zzRefill();
// get translated positions and possibly new buffer
zzCurrentPosL = zzCurrentPos;
zzMarkedPosL = zzMarkedPos;
zzBufferL = zzBuffer;
zzEndReadL = zzEndRead;
if (eof) {
zzInput = YYEOF;
break zzForAction;
}
else {
zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
int zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
if ( (zzAttributes & 8) == 8 ) break zzForAction;
}
}
}
// store back cached position
zzMarkedPos = zzMarkedPosL;
switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
case 129:
{ return PREPROCESSOR_IFNDEF;
}
case 163: break;
case 87:
{ return DMAT4_TYPE;
}
case 164: break;
case 20:
{ return RIGHT_ANGLE;
}
case 165: break;
case 67:
{ return LOWP_KEYWORD;
}
case 166: break;
case 13:
{ return RIGHT_BRACKET;
}
case 167: break;
case 24:
{ return TILDE;
}
case 168: break;
case 10:
{ return LEFT_BRACE;
}
case 169: break;
case 31:
{ return UINT_CONSTANT;
}
case 170: break;
case 154:
{ return COHERENT_KEYWORD;
}
case 171: break;
case 37:
{ return DIV_ASSIGN;
}
case 172: break;
case 12:
{ return LEFT_BRACKET;
}
case 173: break;
case 47:
{ return LEFT_OP;
}
case 174: break;
case 113:
{ return SMOOTH_KEYWORD;
}
case 175: break;
case 85:
{ return DMAT2_TYPE;
}
case 176: break;
case 2:
{ return INTEGER_CONSTANT;
}
case 177: break;
case 146:
{ return VARYING_KEYWORD;
}
case 178: break;
case 89:
{ return DVEC3_TYPE;
}
case 179: break;
case 144:
{ return PRECISE_KEYWORD;
}
case 180: break;
case 147:
{ return PREPROCESSOR_DEFINED;
}
case 181: break;
case 90:
{ return DVEC4_TYPE;
}
case 182: break;
case 54:
{ return OR_ASSIGN;
}
case 183: break;
case 60:
{ return DOUBLE_CONSTANT;
}
case 184: break;
case 131:
{ return DEFAULT_KEYWORD;
}
case 185: break;
case 59:
{ return PREPROCESSOR_CONCAT;
}
case 186: break;
case 132:
{ return DISCARD_JUMP_STATEMENT;
}
case 187: break;
case 62:
{ return INT_TYPE;
}
case 188: break;
case 5:
{ return DOT;
}
case 189: break;
case 103:
{ return CONST_KEYWORD;
}
case 190: break;
case 79:
{ return BOOL_TYPE;
}
case 191: break;
case 9:
{ yybegin(PREPROCESSOR); return PREPROCESSOR_BEGIN;
}
case 192: break;
case 84:
{ return FLOAT_TYPE;
}
case 193: break;
case 88:
{ return DVEC2_TYPE;
}
case 194: break;
case 151:
{ return VOLATILE_KEYWORD;
}
case 195: break;
case 152:
{ return CENTROID_KEYWORD;
}
case 196: break;
case 1:
{ return UNKNOWN;
}
case 197: break;
case 161:
{ return ATOMIC_UINT_TYPE;
}
case 198: break;
case 116:
{ return SWITCH_KEYWORD;
}
case 199: break;
case 69:
{ return ELSE_KEYWORD;
}
case 200: break;
case 81:
{ return PREPROCESSOR_LINE;
}
case 201: break;
case 140:
{ return DMAT4X3_TYPE;
}
case 202: break;
case 56:
{ return NE_OP;
}
case 203: break;
case 126:
{ return MAT4X4_TYPE;
}
case 204: break;
case 141:
{ return DMAT4X4_TYPE;
}
case 205: break;
case 28:
{ return SEMICOLON;
}
case 206: break;
case 145:
{ return MEDIUMP_KEYWORD;
}
case 207: break;
case 14:
{ return LEFT_PAREN;
}
case 208: break;
case 80:
{ return CASE_KEYWORD;
}
case 209: break;
case 124:
{ return MAT4X2_TYPE;
}
case 210: break;
case 83:
{ return PREPROCESSOR_ELSE;
}
case 211: break;
case 139:
{ return DMAT4X2_TYPE;
}
case 212: break;
case 115:
{ return SHARED_KEYWORD;
}
case 213: break;
case 82:
{ return PREPROCESSOR_ELIF;
}
case 214: break;
case 125:
{ return MAT4X3_TYPE;
}
case 215: break;
case 127:
{ return BUFFER_KEYWORD;
}
case 216: break;
case 96:
{ return UVEC3_TYPE;
}
case 217: break;
case 107:
{ return PREPROCESSOR_ERROR;
}
case 218: break;
case 98:
{ return PATCH_KEYWORD;
}
case 219: break;
case 97:
{ return UVEC4_TYPE;
}
case 220: break;
case 104:
{ return HIGHP_KEYWORD;
}
case 221: break;
case 39:
{ return DO_KEYWORD;
}
case 222: break;
case 48:
{ return GE_OP;
}
case 223: break;
case 11:
{ return RIGHT_BRACE;
}
case 224: break;
case 111:
{ return DOUBLE_TYPE;
}
case 225: break;
case 26:
{ return QUESTION;
}
case 226: break;
case 162:
{ return NOPERSPECTIVE_KEYWORD;
}
case 227: break;
case 95:
{ return UVEC2_TYPE;
}
case 228: break;
case 93:
{ return IVEC3_TYPE;
}
case 229: break;
case 50:
{ return AND_ASSIGN;
}
case 230: break;
case 43:
{ return ADD_ASSIGN;
}
case 231: break;
case 155:
{ return INVARIANT_KEYWORD;
}
case 232: break;
case 6:
{ return DASH;
}
case 233: break;
case 94:
{ return IVEC4_TYPE;
}
case 234: break;
case 45:
{ return MOD_ASSIGN;
}
case 235: break;
case 22:
{ return CARET;
}
case 236: break;
case 58:
{ return PREPROCESSOR_IF;
}
case 237: break;
case 78:
{ return VOID_TYPE;
}
case 238: break;
case 74:
{ return BOOL_CONSTANT;
}
case 239: break;
case 106:
{ return PREPROCESSOR_ENDIF;
}
case 240: break;
case 105:
{ return WHILE_KEYWORD;
}
case 241: break;
case 153:
{ return CONTINUE_JUMP_STATEMENT;
}
case 242: break;
case 149:
{ return RESTRICT_KEYWORD;
}
case 243: break;
case 92:
{ return IVEC2_TYPE;
}
case 244: break;
case 42:
{ return EQ_OP;
}
case 245: break;
case 35:
{ return COMMENT_LINE;
}
case 246: break;
case 17:
{ return PLUS;
}
case 247: break;
case 134:
{ return DMAT2X3_TYPE;
}
case 248: break;
case 36:
{ return COMMENT_BLOCK;
}
case 249: break;
case 156:
{ return PRECISION_KEYWORD;
}
case 250: break;
case 120:
{ return MAT2X4_TYPE;
}
case 251: break;
case 135:
{ return DMAT2X4_TYPE;
}
case 252: break;
case 65:
{ return LEFT_ASSIGN;
}
case 253: break;
case 70:
{ return UINT_TYPE;
}
case 254: break;
case 130:
{ return PREPROCESSOR_PRAGMA;
}
case 255: break;
case 61:
{ return FOR_KEYWORD;
}
case 256: break;
case 109:
{ return PREPROCESSOR_UNDEF;
}
case 257: break;
case 27:
{ return COLON;
}
case 258: break;
case 19:
{ return LEFT_ANGLE;
}
case 259: break;
case 143:
{ return UNIFORM_KEYWORD;
}
case 260: break;
case 118:
{ return MAT2X2_TYPE;
}
case 261: break;
case 133:
{ return DMAT2X2_TYPE;
}
case 262: break;
case 119:
{ return MAT2X3_TYPE;
}
case 263: break;
case 38:
{ return MUL_ASSIGN;
}
case 264: break;
case 25:
{ return BANG;
}
case 265: break;
case 53:
{ return XOR_OP;
}
case 266: break;
case 7:
{ return SLASH;
}
case 267: break;
case 68:
{ return FLAT_KEYWORD;
}
case 268: break;
case 158:
{ return WRITEONLY_KEYWORD;
}
case 269: break;
case 3:
{ return IDENTIFIER;
}
case 270: break;
case 114:
{ return STRUCT;
}
case 271: break;
case 128:
{ return PREPROCESSOR_DEFINE;
}
case 272: break;
case 41:
{ return IN_KEYWORD;
}
case 273: break;
case 57:
{ return PREPROCESSOR_STRING;
}
case 274: break;
case 8:
{ return STAR;
}
case 275: break;
case 73:
{ return MAT4_TYPE;
}
case 276: break;
case 159:
{ return PREPROCESSOR_EXTENSION;
}
case 277: break;
case 46:
{ return LE_OP;
}
case 278: break;
case 23:
{ return VERTICAL_BAR;
}
case 279: break;
case 21:
{ return AMPERSAND;
}
case 280: break;
case 33:
{ return DEC_OP;
}
case 281: break;
case 117:
{ return RETURN_JUMP_STATEMENT;
}
case 282: break;
case 18:
{ return PERCENT;
}
case 283: break;
case 71:
{ return MAT2_TYPE;
}
case 284: break;
case 148:
{ return PREPROCESSOR_VERSION;
}
case 285: break;
case 15:
{ return RIGHT_PAREN;
}
case 286: break;
case 72:
{ return MAT3_TYPE;
}
case 287: break;
case 112:
{ return SAMPLE_KEYWORD;
}
case 288: break;
case 77:
{ return VEC4_TYPE;
}
case 289: break;
case 64:
{ return RESERVED_KEYWORD;
}
case 290: break;
case 16:
{ return EQUAL;
}
case 291: break;
case 51:
{ return AND_OP;
}
case 292: break;
case 55:
{ return OR_OP;
}
case 293: break;
case 108:
{ return PREPROCESSOR_IFDEF;
}
case 294: break;
case 150:
{ return READONLY_KEYWORD;
}
case 295: break;
case 75:
{ return VEC2_TYPE;
}
case 296: break;
case 30:
{ yybegin(YYINITIAL); return PREPROCESSOR_END;
}
case 297: break;
case 63:
{ return OUT_KEYWORD;
}
case 298: break;
case 4:
{ return WHITE_SPACE;
}
case 299: break;
case 76:
{ return VEC3_TYPE;
}
case 300: break;
case 40:
{ return IF_KEYWORD;
}
case 301: break;
case 52:
{ return XOR_ASSIGN;
}
case 302: break;
case 34:
{ return SUB_ASSIGN;
}
case 303: break;
case 137:
{ return DMAT3X3_TYPE;
}
case 304: break;
case 49:
{ return RIGHT_OP;
}
case 305: break;
case 123:
{ return MAT3X4_TYPE;
}
case 306: break;
case 29:
{ return COMMA;
}
case 307: break;
case 99:
{ return BREAK_JUMP_STATEMENT;
}
case 308: break;
case 138:
{ return DMAT3X4_TYPE;
}
case 309: break;
case 102:
{ return BVEC4_TYPE;
}
case 310: break;
case 110:
{ return LAYOUT_KEYWORD;
}
case 311: break;
case 32:
{ return FLOAT_CONSTANT;
}
case 312: break;
case 160:
{ return SUBROUTINE_KEYWORD;
}
case 313: break;
case 142:
{ return SAMPLER_TYPE;
}
case 314: break;
case 44:
{ return INC_OP;
}
case 315: break;
case 157:
{ return ATTRIBUTE_KEYWORD;
}
case 316: break;
case 91:
{ return INOUT_KEYWORD;
}
case 317: break;
case 121:
{ return MAT3X2_TYPE;
}
case 318: break;
case 136:
{ return DMAT3X2_TYPE;
}
case 319: break;
case 100:
{ return BVEC2_TYPE;
}
case 320: break;
case 122:
{ return MAT3X3_TYPE;
}
case 321: break;
case 101:
{ return BVEC3_TYPE;
}
case 322: break;
case 86:
{ return DMAT3_TYPE;
}
case 323: break;
case 66:
{ return RIGHT_ASSIGN;
}
case 324: break;
default:
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
zzAtEOF = true;
return null;
}
else {
zzScanError(ZZ_NO_MATCH);
}
}
}
}
}