Changeset 1937


Ignore:
Timestamp:
Sep 21, 2012, 4:01:17 PM (11 years ago)
Author:
sam
Message:

lolfx: names such as "x" or "bgra" are field selectors, but we must also
accept them as variable names.

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/build/autotools/common.am

    r1929 r1937  
    2828          for scanner in $(patsubst %-scanner.l, %, $(filter %-scanner.l, $(EXTRA_DIST))); do \
    2929            b="`basename $$scanner`"; \
    30             echo flex -o "generated/$$b-scanner.cpp" "$$scanner-scanner.l"; \
    31             flex -o "generated/$$b-scanner.cpp" "$$scanner-scanner.l" || exit 1; \
     30            echo flex -v -o "generated/$$b-scanner.cpp" "$$scanner-scanner.l"; \
     31            flex -v -o "generated/$$b-scanner.cpp" "$$scanner-scanner.l" || exit 1; \
    3232          done; \
    3333          for parser in $(patsubst %-parser.y, %, $(filter %-parser.y, $(EXTRA_DIST))); do \
  • trunk/src/generated/lolfx-parser.cpp

    r1930 r1937  
    773773  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    774774     STATE-NUM.  */
    775   const short int LolFxParser::yypact_ninf_ = -534;
     775  const short int LolFxParser::yypact_ninf_ = -559;
    776776  const short int
    777777  LolFxParser::yypact_[] =
    778778  {
    779       -209,   135,   135,    48,  -534,  -209,  -534,  -534,  9557,  -534,
    780     -534,  -387,  -534,  -383,  -360,  -534,  -534,  -534,   -33,   -11,
    781     -534,  -534,  -351,   135,  -534,  -534,  -534,    51,  -534,  -534,
    782     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    783     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    784     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    785     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    786     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    787     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    788     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    789     -534,  -534,  -534,  -534,  -534,  -534,    -3,  -534,  -534,  -534,
    790     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,    -2,  -534,
    791     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    792     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    793     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    794     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    795     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    796     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    797     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    798     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    799     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    800     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    801     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    802     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    803     -534,  -534,  -534,  -534,  -534,  -302,  -344,  -337,    -9,  -405,
    804     -534,   135,    33,    50,    50,  7762,  -534,  -534,  -534,  -324,
    805     -534, 10395,  -534,  9557,  -534,  -534,  -108,  -534,   135,  -534,
    806     -534,  -534,  -534,   135,  -534, 10395,  -534,  -534,  9916,  -317,
    807      620,  -534,  -534,  -534,    69,  -534,  -534,  -534,  -534,  -534,
    808     -534,  -534,  -534,  -328, 10036,  -534,   106,  -534,   135,  -345,
    809       50,  -534,  -534,  -534,  -534,  -299,  -534,  4198,  -534,  -534,
    810      135,  -292,  -108,  -534,  -291,  -268,  -534,  -279,  -534, 10036,
    811      135,  8182,  -534,  9916,  -534,  -534,  -534,  -534,  -534,  -281,
    812     -273,  6892,  -271,  -287,  -260,  2416,  -259,  -257,  4647,  -252,
    813     -228,  6892,  6892,  1069,  -534,  -534,  6892,  -534,  -534,  -534,
    814     -534,  -534,  -534,  -386,  -534,  -534,  -534,  -216,  -263,  7327,
    815     -211,  -107,  6892,  -323,  -258,  -199,  -379,  -191,  -221,  -205,
    816     -200,  -171,  -167,  -396,  -534,  -534,  -390,  -534,  -178,  -176,
    817     -534,  -534,  -534,  -534,  1518,  -534,  -534,  -534,  -534,  -534,
    818     -534,  -534,   135,  -534,  -534,   135, 10036,  -213,  6892,  5096,
    819     -534,  -534,  9916,  -534,  -534,  -534,  -165,  -534,  -158,  -534,
    820     -534,   263,  -534,   135,  -534,   135,  -160,  -359,  -534,  -534,
    821     -534,  8601,  -534,  -409,  -534,  -534,  -534,   162,  3314,  6892,
    822     -534,  -358,  6892,  3763,  -534,  -534,  -534,  1967,  -208,  -534,
    823     -534,  6892,  9437,  -534,  -534,  6892,  -155,  -534,  -534,  -534,
    824     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    825     6892,  -534,  6892,  6892,  6892,  6892,  6892,  6892,  6892,  6892,
    826     6892,  6892,  6892,  6892,  6892,  6892,  6892,  6892,  6892,  6892,
    827     6892,  6892,  -534,  6892,  -534,  -534,  -534,  -150,  -534,  -534,
    828     6892,  5545,  -534,  -534,  -148,  -149,  9020,  -534,    -5,  -534,
    829     -534,  -355,  5994,  -534,   135,  -534,  -534,  -145,  -534,  -534,
    830     3763,  -203,  -534,  -201,  -152,   135, 10036,  -144,  -534,  -534,
    831     -147,  -152,  -142,  -534,  -534,  -534,  -534,  -534,  -534,  -534,
    832     -323,  -323,  -258,  -258,  -199,  -199,  -199,  -199,  -379,  -379,
    833     -191,  -221,  -205,  -200,  -171,  -167,  -398,  -534,  6892,  -534,
    834     -140,  -146,  6892,  -136,    -6,  -190,  -135,  -134,  -133,  -132,
    835     -130,  -131,  -534,  -125,    -5,  -534,  -534,  -115,  -534,  6892,
    836     -534,  -111,  -116,  2416,  -106,  -110,  2865,  -534,  6892,  -105,
    837     6892,  -104,  -534,  6892,  -534,  -283,    11,   329,   331,   332,
    838      333,   334,   339,   336,  -534,  -534,  -534,  -182,  6892,  2865,
    839      237,  -534,  2416,  6892,  -534,  -534,  -534,  -534,  -534,  -534,
    840     6892,  -534,  -534,  6443,   -93,   -92,   -91,   -90,   -89,   -88,
    841      -87,   -86,   -84,   -83,   -85,   -81,   -80,  -152,  -534,  2416,
    842     2416,   -78,  -534,  -534,   -77,   -79,  -534,  -534,  -534,  -534,
    843     -534,   -76,  -534,  -534,  -534,  -534,   -75,  -534,  -534,  -534,
    844     -534,  -534,   -73,   115,    23,  -534,   -72,   -71,   -70,   -69,
    845     -534,  -534,  -534,  -534
     779      -211,   121,   121,    20,  -559,  -211,  -559,  -559,  9558,  -559,
     780    -559,  -413,  -559,  -397,  -385,  -559,  -559,  -559,   -65,     5,
     781    -559,  -559,  -389,   121,  -559,  -559,  -559,   168,  -559,  -559,
     782    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     783    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     784    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     785    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     786    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     787    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     788    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     789    -559,  -559,  -559,  -559,  -559,  -559,     7,  -559,  -559,  -559,
     790    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,    -2,  -559,
     791    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     792    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     793    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     794    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     795    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     796    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     797    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     798    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     799    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     800    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     801    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     802    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     803    -559,  -559,  -559,  -559,  -559,  -402,  -384,  -375,    -9,  -370,
     804    -559,   121,    68,   216,   216,  7763,  -559,  -559,  -559,  -367,
     805    -559, 10396,  -559,  9558,  -559,  -559,   -99,  -559,   121,  -559,
     806    -559,  -559,  -559,   121,  -559, 10396,  -559,  -559,  9917,  -329,
     807     621,  -559,  -559,  -559,    36,  -559,  -559,  -559,  -559,  -559,
     808    -559,  -559,  -559,  -363, 10037,  -559,    28,  -559,   121,  -340,
     809     216,  -559,  -559,  -559,  -559,  -323,  -559,  4199,  -559,  -559,
     810     121,  -317,   -99,  -559,  -310,  -292,  -559,  -301,  -559, 10037,
     811     121,  8183,  -559,  9917,  -559,  -559,  -559,  -559,  -302,  -300,
     812    -293,  6893,  -289,  -299,  -276,  2417,  -273,  -251,  4648,  -230,
     813    -223,  6893,  6893,  1070,  -559,  -559,  6893,  -559,  -559,  -559,
     814    -559,  -559,  -559,  -559,  -379,  -559,  -559,  -559,  -258,  -288,
     815    7328,  -219,  -134,  6893,  -233,  -282,  -245,  -388,  -239,  -227,
     816    -224,  -220,  -175,  -173,  -399,  -559,  -559,  -364,  -559,  -180,
     817    -193,  -559,  -559,  -559,  -559,  1519,  -559,  -559,  -559,  -559,
     818    -559,  -559,  -559,   121,  -559,  -559,   121, 10037,  -260,  6893,
     819    5097,  -559,  -559,  9917,  -559,  -559,  -559,  -178,  -559,  -169,
     820    -559,  -559,   267,  -559,   121,  -559,   121,  -162,  -362,  -559,
     821    -559,  -559,  8602,  -559,  -421,  -559,  -559,  -559,   155,  3315,
     822    6893,  -559,  -356,  6893,  3764,  -559,  -559,  -559,  1968,  -256,
     823    -559,  -559,  6893,  9438,  -559,  -559,  6893,  -159,  -559,  -559,
     824    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,
     825    -559,  6893,  -559,  6893,  6893,  6893,  6893,  6893,  6893,  6893,
     826    6893,  6893,  6893,  6893,  6893,  6893,  6893,  6893,  6893,  6893,
     827    6893,  6893,  6893,  -559,  6893,  -559,  -559,  -559,  -154,  -559,
     828    -559,  6893,  5546,  -559,  -559,  -152,  -143,  9021,  -559,    -5,
     829    -559,  -559,  -353,  5995,  -559,   121,  -559,  -559,  -144,  -559,
     830    -559,  3764,  -214,  -559,  -204,  -145,   121, 10037,  -138,  -559,
     831    -559,  -140,  -145,  -302,  -559,  -559,  -559,  -559,  -559,  -559,
     832    -559,  -233,  -233,  -282,  -282,  -245,  -245,  -245,  -245,  -388,
     833    -388,  -239,  -227,  -224,  -220,  -175,  -173,  -416,  -559,  6893,
     834    -559,  -132,  -133,  6893,  -129,    -6,  -197,  -127,  -122,  -121,
     835    -120,  -119,  -117,  -559,  -114,    -5,  -559,  -559,  -113,  -559,
     836    6893,  -559,  -118,  -115,  2417,  -109,  -108,  2866,  -559,  6893,
     837    -107,  6893,  -104,  -559,  6893,  -559,  -354,    40,   330,   331,
     838     334,   335,   336,   341,   339,  -559,  -559,  -559,  -188,  6893,
     839    2866,   230,  -559,  2417,  6893,  -559,  -559,  -559,  -559,  -559,
     840    -559,  6893,  -559,  -559,  6444,   -92,   -91,   -90,   -89,   -88,
     841     -87,   -86,   -85,   -83,   -82,   -84,   -80,   -79,  -145,  -559,
     842    2417,  2417,   -77,  -559,  -559,   -76,   -78,  -559,  -559,  -559,
     843    -559,  -559,   -75,  -559,  -559,  -559,  -559,   -74,  -559,  -559,
     844    -559,  -559,  -559,   -72,   102,    22,  -559,   -71,   -70,   -69,
     845     -68,  -559,  -559,  -559,  -559
    846846  };
    847847
     
    884884       0,   376,   374,   373,   320,     0,   360,     0,   392,   471,
    885885       0,     0,   205,   227,   368,     0,   366,     0,   361,     0,
    886        0,     0,   416,     0,   235,   232,   233,   234,   256,   230,
     886       0,     0,   416,     0,   235,   232,   233,   234,   204,   203,
    887887       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    888888       0,     0,     0,     0,   440,   444,     0,   261,   262,   263,
    889      264,   231,   237,   257,   239,   244,   245,     0,     0,   250,
    890        0,   265,     0,   269,   272,   275,   280,   283,   285,   287,
    891      289,   291,   293,   295,   297,   310,     0,   426,     0,   359,
    892      429,   442,   428,   427,     0,   430,   431,   432,   433,   434,
    893      435,   325,     0,   332,   334,   343,     0,   345,     0,     0,
    894      326,   377,     0,   394,   265,   312,     0,   254,     0,   202,
    895      206,     0,   365,     0,   315,     0,   422,     0,   420,   415,
    896      417,     0,   466,     0,   465,   455,   469,     0,     0,     0,
    897      467,     0,     0,     0,   258,   259,   436,     0,     0,   241,
    898      242,     0,     0,   248,   247,     0,   398,   251,   253,   300,
    899      301,   302,   303,   304,   305,   306,   307,   308,   309,   299,
    900        0,   260,     0,     0,     0,     0,     0,     0,     0,     0,
    901        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    902        0,     0,   445,     0,   441,   443,   329,   327,   331,   333,
    903        0,     0,   425,   357,   353,     0,     0,   395,     0,   369,
    904      367,     0,     0,   418,     0,   414,   454,     0,   460,   459,
    905      462,     0,   468,     0,   449,     0,     0,     0,   437,   236,
    906        0,   243,   240,   255,   246,   252,   298,   266,   267,   268,
    907      270,   271,   273,   274,   278,   279,   276,   277,   281,   282,
    908      284,   286,   288,   290,   292,   294,     0,   311,     0,   350,
    909      346,     0,     0,   354,     0,     0,     0,     0,     0,     0,
    910        0,     0,   210,     0,   208,   419,   423,     0,   421,     0,
    911      461,     0,     0,     0,     0,     0,     0,   238,     0,     0,
    912        0,   347,   355,     0,   316,     0,     0,     0,     0,     0,
    913        0,     0,     0,     0,   207,   209,   424,     0,   463,     0,
    914      448,   446,   452,     0,   439,   456,   438,   296,   328,   348,
    915        0,   356,   317,     0,     0,     0,     0,     0,     0,     0,
    916        0,     0,     0,     0,     0,     0,     0,   464,   458,     0,
    917      453,     0,   450,   349,     0,     0,   213,   212,   211,   214,
    918      215,     0,   220,   221,   222,   223,     0,   224,   457,   447,
    919      451,   318,     0,     0,     0,   319,     0,     0,     0,     0,
    920      217,   216,   218,   219
     889     264,   230,   231,   237,   257,   239,   244,   245,     0,     0,
     890     250,     0,   265,     0,   269,   272,   275,   280,   283,   285,
     891     287,   289,   291,   293,   295,   297,   310,     0,   426,     0,
     892     359,   429,   442,   428,   427,     0,   430,   431,   432,   433,
     893     434,   435,   325,     0,   332,   334,   343,     0,   345,     0,
     894       0,   326,   377,     0,   394,   265,   312,     0,   254,     0,
     895     202,   206,     0,   365,     0,   315,     0,   422,     0,   420,
     896     415,   417,     0,   466,     0,   465,   455,   469,     0,     0,
     897       0,   467,     0,     0,     0,   258,   259,   436,     0,     0,
     898     241,   242,     0,     0,   248,   247,     0,   398,   251,   253,
     899     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
     900     299,     0,   260,     0,     0,     0,     0,     0,     0,     0,
     901       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     902       0,     0,     0,   445,     0,   441,   443,   329,   327,   331,
     903     333,     0,     0,   425,   357,   353,     0,     0,   395,     0,
     904     369,   367,     0,     0,   418,     0,   414,   454,     0,   460,
     905     459,   462,     0,   468,     0,   449,     0,     0,     0,   437,
     906     236,     0,   243,   240,   255,   246,   252,   298,   266,   267,
     907     268,   270,   271,   273,   274,   278,   279,   276,   277,   281,
     908     282,   284,   286,   288,   290,   292,   294,     0,   311,     0,
     909     350,   346,     0,     0,   354,     0,     0,     0,     0,     0,
     910       0,     0,     0,   210,     0,   208,   419,   423,     0,   421,
     911       0,   461,     0,     0,     0,     0,     0,     0,   238,     0,
     912       0,     0,   347,   355,     0,   316,     0,     0,     0,     0,
     913       0,     0,     0,     0,     0,   207,   209,   424,     0,   463,
     914       0,   448,   446,   452,     0,   439,   456,   438,   296,   328,
     915     348,     0,   356,   317,     0,     0,     0,     0,     0,     0,
     916       0,     0,     0,     0,     0,     0,     0,     0,   464,   458,
     917       0,   453,     0,   450,   349,     0,     0,   213,   212,   211,
     918     214,   215,     0,   220,   221,   222,   223,     0,   224,   457,
     919     447,   451,   318,     0,     0,     0,   319,     0,     0,     0,
     920       0,   217,   216,   218,   219
    921921  };
    922922
     
    925925  LolFxParser::yypgoto_[] =
    926926  {
    927       -534,  -534,  -534,  -534,   347,  -534,  -534,     6,    60,  -534,
    928     -189,  -534,  -534,  -534,    94,  -534,  -534,  -534,  -534,  -534,
    929     -534,  -534,   -68,  -534,  -534,  -534,  -534,  -267,  -534,  -181,
    930     -192,  -316,  -186,  -102,   -99,   -98,  -100,   -97,   -96,  -534,
    931     -277,  -320,  -534,  -321,  -376,     3,    10,  -534,  -534,  -534,
    932      -16,    97,  -534,    87,  -534,   -10,  -534,  -534,  -412,  -534,
    933      133,  -534,  -534,   -26,  -534,  -256,  -220,    -8,  -202,  -534,
    934     -534,   362,  -534,  -303,  -280,   -25,  -113,  -466,   -36,  -331,
    935     -533,  -534,  -206,   150,  -334,   -32,  -534,  -534,  -103,  -534,
    936     -534,  -534,  -534,  -534,  -534,  -534,  -534,  -534,   134,  -534
     927      -559,  -559,  -559,  -559,   348,  -559,  -559,     6,    51,  -559,
     928    -192,  -559,  -559,  -559,   106,  -559,  -559,  -559,  -559,  -559,
     929    -559,  -559,   -67,  -559,  -559,  -559,  -559,  -268,  -559,  -199,
     930    -184,  -336,  -212,  -101,   -98,  -100,   -97,   -96,   -95,  -559,
     931    -274,  -328,  -559,  -322,  -378,     3,    10,  -559,  -559,  -559,
     932     -17,    97,  -559,    87,  -559,   -12,  -559,  -559,  -419,  -559,
     933     135,  -559,  -559,   -26,  -559,  -257,  -200,    -8,  -206,  -559,
     934    -559,   363,  -559,  -306,  -280,   -25,  -112,  -454,   -37,  -325,
     935    -558,  -559,  -203,   149,  -339,   -33,  -559,  -559,  -111,  -559,
     936    -559,  -559,  -559,  -559,  -559,  -559,  -559,  -559,   138,  -559
    937937  };
    938938
     
    941941  LolFxParser::yydefgoto_[] =
    942942  {
    943         -1,   242,   243,     3,     4,     5,     6,   416,   311,   312,
    944      563,   564,     7,     8,    13,    14,   351,   352,   353,   520,
    945      354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
    946      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
    947      374,   375,   460,   376,   406,   377,   378,   246,   247,   248,
    948      393,   292,   293,   294,   295,   394,   249,   250,   251,   252,
    949      253,   254,   315,   316,   296,   255,   256,   407,   258,   259,
    950      260,   261,   262,   321,   322,   417,   418,   493,   380,   381,
    951      382,   383,   605,   606,   384,   385,   386,   601,   517,   387,
    952      631,   388,   389,   510,   571,   572,   390,   263,   264,   265
     943        -1,   242,   243,     3,     4,     5,     6,   351,   311,   312,
     944     564,   565,     7,     8,    13,    14,   352,   353,   354,   521,
     945     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
     946     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     947     375,   376,   461,   377,   407,   378,   379,   246,   247,   248,
     948     394,   292,   293,   294,   295,   395,   249,   250,   251,   252,
     949     253,   254,   315,   316,   296,   255,   256,   408,   258,   259,
     950     260,   261,   262,   321,   322,   418,   419,   494,   381,   382,
     951     383,   384,   606,   607,   385,   386,   387,   602,   518,   388,
     952     632,   389,   390,   511,   572,   573,   391,   263,   264,   265
    953953  };
    954954
     
    960960  LolFxParser::yytable_[] =
    961961  {
    962        257,     9,    10,   555,   427,     9,    10,    11,    12,   437,
    963      423,   244,   285,   286,   614,   615,     1,   431,   245,   616,
    964      421,   515,   319,   495,   549,   438,   480,   439,   440,   274,
    965      405,   658,   301,   302,   303,   297,   469,   470,   483,   447,
    966      404,   420,   298,   604,    18,    19,    20,    21,    15,   483,
    967      482,   266,   506,   485,    28,    29,   441,   483,   442,   308,
    968      267,    18,    19,   578,   481,   319,   604,   319,    24,    25,
    969       26,    28,    29,   317,   434,   435,   471,   472,   492,   269,
    970      401,   503,   512,   270,   268,   565,   582,   310,   504,   483,
    971      285,   286,   504,   287,   273,   461,   398,   399,   515,   496,
    972      400,   271,   283,   288,   289,   272,   485,   290,   511,   276,
    973      284,   513,   514,   277,   609,   551,   291,   611,   307,   656,
    974      521,   323,   405,   657,   279,   525,   567,   285,   286,   462,
    975      463,   464,   404,   392,   106,   107,   280,   632,   281,   402,
    976      526,   420,     9,    10,   633,   110,   319,   409,   112,   113,
    977      411,   106,   107,   534,   535,   536,   537,   612,   120,   613,
    978      546,   414,   110,   547,  -255,   319,   113,   422,   556,   424,
    979      492,   287,   579,   557,   425,   120,   558,   516,   412,   413,
    980      426,   288,   289,   444,   445,   290,   428,   617,   429,   514,
    981      465,   466,   559,   432,   291,   527,   528,   529,   404,   404,
    982      404,   404,   404,   404,   404,   404,   404,   404,   404,   404,
    983      404,   404,   404,   404,   405,   659,   420,   433,   288,   289,
    984      467,   468,   290,   560,   404,   405,   473,   474,   490,   491,
    985      443,   291,   492,     2,   448,   404,   475,   635,   519,   483,
    986      319,   561,   600,   573,   483,   574,   483,   306,   597,   618,
    987      478,   586,   587,   476,   516,   257,   479,   299,   607,   477,
    988      492,   305,   281,   492,   626,   483,   244,   499,   630,  -254,
    989      320,   405,   379,   245,    12,   532,   533,   627,   497,   314,
    990      498,   404,   502,   492,   530,   531,   395,   538,   539,   507,
    991      492,  -249,   548,   552,   553,   483,   577,   581,   649,   485,
    992      569,   580,   576,  -256,   397,   583,   588,   589,   590,   591,
    993      593,   415,   592,   320,   594,   320,   408,   449,   450,   451,
    994      452,   453,   454,   455,   456,   457,   458,   379,   596,   598,
    995      599,   603,   602,   619,   459,   379,   405,   610,   608,   620,
    996      621,   622,   623,   624,   625,   629,   404,   636,   637,   638,
    997      639,   640,    16,   642,   643,   641,   644,   645,   646,   647,
    998      648,   650,   313,   651,   652,   653,   654,   655,   660,   661,
    999      662,   663,   410,   540,   524,   595,   379,   541,   543,   542,
    1000      488,   391,   544,   396,   545,   300,   489,   500,   395,   275,
    1001      501,   568,   508,   628,   320,   282,   509,   309,   486,     0,
    1002        0,   487,     0,     0,     0,     0,     0,   570,     0,     0,
    1003        0,     0,     0,   320,     0,     0,     0,     0,     0,   314,
    1004      379,     0,     0,     0,     0,   379,     0,     0,     0,   379,
    1005        0,     0,     0,     0,   584,   562,   278,  -322,     0,     0,
    1006        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1007        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1008        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1009        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1010        0,     0,     0,     0,     0,     0,     0,     0,   320,     0,
    1011        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1012        0,     0,   379,     0,     0,     0,     0,     0,   306,     0,
    1013        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1014        0,   575,     0,     0,     0,     0,     0,     0,     0,     0,
    1015        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1016        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1017        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1018      585,     0,     0,     0,     0,   379,     0,     0,   379,     0,
    1019        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1020        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1021        0,   379,     0,     0,   379,     0,     0,     0,     0,     0,
    1022        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1023        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1024        0,   379,   379,   324,   325,   326,   327,   328,   329,    17,
     962       257,     9,    10,   556,   438,     9,    10,    11,    12,   424,
     963     428,   244,   285,   286,     1,   516,   432,   422,   245,   605,
     964      15,   319,   496,   481,   439,   266,   484,   470,   471,   274,
     965     659,   484,   448,   406,   440,   441,   280,   550,   281,   405,
     966     507,   421,   605,   615,   616,   579,   267,   269,   617,   285,
     967     286,   270,   301,   302,   303,   308,   273,   285,   286,   268,
     968     486,   482,   283,   442,   319,   443,   319,   472,   473,   317,
     969     297,   493,   284,   435,   436,   307,   483,   298,   504,    18,
     970      19,    20,    21,   484,   513,   505,   613,   566,   614,    28,
     971      29,   484,   516,   287,   505,   462,   310,   497,   393,   583,
     972     402,   399,   400,   288,   289,   401,   657,   290,   512,   323,
     973     658,   514,   515,   486,   552,   403,   291,   271,   526,   276,
     974     522,   272,   410,   277,   279,   568,   406,   610,     9,    10,
     975     612,   412,   405,   527,   535,   536,   537,   538,   287,   415,
     976     288,   289,   421,  -256,   290,  -255,   319,   423,   288,   289,
     977     633,   425,   290,   291,   413,   414,   548,   634,   445,   446,
     978     547,   291,   426,   493,   427,   319,   466,   467,   557,   106,
     979     107,   580,   429,   558,   468,   469,   559,   517,   474,   475,
     980     110,   491,   492,   112,   113,    24,    25,    26,   444,   515,
     981     520,   484,   560,   120,   430,   528,   529,   530,   405,   405,
     982     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
     983     405,   405,   405,   405,   660,   433,   618,   421,   406,   463,
     984     464,   465,   434,   561,   405,   493,   449,    18,    19,   406,
     985     476,     2,   574,   484,   477,   405,   636,    28,    29,   478,
     986     319,   562,   575,   484,   587,   588,   479,   306,   598,   601,
     987     480,   608,  -254,   493,   517,   257,   493,   299,   627,   484,
     988     281,   305,   539,   540,   631,   498,   244,   531,   532,   499,
     989     320,   500,   380,   245,    12,   406,   493,   628,   619,   314,
     990     503,   405,   508,   493,   533,   534,   396,  -249,   549,   553,
     991     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
     992     554,   570,   484,   578,   398,   650,   486,   460,   577,   581,
     993     582,   416,   584,   320,   589,   320,   409,   106,   107,   590,
     994     591,   592,   599,   593,   594,   595,   417,   380,   110,   603,
     995     597,   600,   113,   604,   620,   380,   609,   611,   630,   621,
     996     406,   120,   622,   623,   624,   625,   405,   626,   637,   638,
     997     639,   640,   641,    16,   643,   644,   642,   645,   646,   647,
     998     648,   649,   651,   411,   652,   653,   654,   655,   656,   661,
     999     662,   663,   664,   596,   313,   541,   525,   380,   543,   542,
     1000     489,   392,   544,   397,   545,   490,   546,   300,   501,   396,
     1001     275,   502,   509,   569,   282,   320,   510,   629,     0,   487,
     1002     571,   309,   488,     0,     0,     0,     0,     0,     0,     0,
     1003       0,     0,     0,     0,   320,     0,     0,     0,     0,     0,
     1004     314,   380,   417,     0,     0,     0,   380,     0,     0,     0,
     1005     380,     0,     0,     0,   585,   563,   278,  -322,     0,     0,
     1006       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1007       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1008       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1009       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1010       0,     0,     0,     0,     0,     0,     0,     0,     0,   320,
     1011       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1012       0,     0,     0,   380,     0,     0,     0,     0,     0,   306,
     1013       0,   417,     0,     0,     0,     0,     0,     0,     0,     0,
     1014       0,     0,   576,     0,     0,     0,     0,     0,     0,     0,
     1015       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1016       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1017       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1018       0,   586,     0,     0,     0,     0,   380,     0,     0,   380,
     1019       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1020       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1021       0,     0,   380,     0,     0,   380,     0,     0,     0,     0,
     1022       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1023       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1024       0,     0,   380,   380,   324,   325,   326,   327,   328,   329,
     1025      17,     0,    18,    19,    20,    21,    22,    23,    24,    25,
     1026      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
     1027      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
     1028      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
     1029      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
     1030      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
     1031      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
     1032      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
     1033      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
     1034     330,   331,   106,   107,   332,   333,   334,   335,   108,     0,
     1035     109,   336,   337,   110,     0,   111,   112,   113,   338,   114,
     1036     115,   116,   117,   118,   339,   119,   120,   121,   340,     0,
     1037       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1038       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1039       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1040       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1041       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1042       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1043       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1044       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1045       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1046       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1047       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1048       0,     0,     0,     0,     0,     0,     0,     0,     0,   122,
     1049     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
     1050     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
     1051     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
     1052     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
     1053     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
     1054     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
     1055     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
     1056     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
     1057     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
     1058     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
     1059     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     1060     233,   234,   235,   236,   237,   238,   239,   240,   241,     0,
     1061       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1062       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1063       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1064       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1065       0,     0,     0,     0,   341,   342,     0,     0,     0,     0,
     1066       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1067       0,     0,     0,     0,     0,     0,     0,     0,     0,   343,
     1068     344,   345,     0,     0,     0,     0,   346,     0,     0,   347,
     1069     348,   349,   350,   324,   325,   326,   327,   328,   329,    17,
    10251070       0,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    10261071      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
     
    10651110       0,     0,     0,   341,   342,     0,     0,     0,     0,     0,
    10661111       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1067        0,     0,     0,     0,     0,     0,     0,     0,   343,   344,
     1112       0,     0,     0,     0,     0,     0,     0,     0,   343,   437,
    10681113     345,     0,     0,     0,     0,   346,     0,     0,   347,   348,
    10691114     349,   350,   324,   325,   326,   327,   328,   329,    17,     0,
     
    11101155       0,     0,   341,   342,     0,     0,     0,     0,     0,     0,
    11111156       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1112        0,     0,     0,     0,     0,     0,     0,   343,   436,   345,
     1157       0,     0,     0,     0,     0,     0,     0,   343,   485,   345,
    11131158       0,     0,     0,     0,   346,     0,     0,   347,   348,   349,
    11141159     350,   324,   325,   326,   327,   328,   329,    17,     0,    18,
     
    11551200       0,   341,   342,     0,     0,     0,     0,     0,     0,     0,
    11561201       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1157        0,     0,     0,     0,     0,     0,   343,   484,   345,     0,
     1202       0,     0,     0,     0,     0,     0,   343,   519,   345,     0,
    11581203       0,     0,     0,   346,     0,     0,   347,   348,   349,   350,
    11591204     324,   325,   326,   327,   328,   329,    17,     0,    18,    19,
     
    12001245     341,   342,     0,     0,     0,     0,     0,     0,     0,     0,
    12011246       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1202        0,     0,     0,     0,     0,   343,   518,   345,     0,     0,
     1247       0,     0,     0,     0,     0,   343,     0,   345,     0,     0,
    12031248       0,     0,   346,     0,     0,   347,   348,   349,   350,   324,
    12041249     325,   326,   327,   328,   329,    17,     0,    18,    19,    20,
     
    12451290     342,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    12461291       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1247        0,     0,     0,     0,   343,     0,   345,     0,     0,     0,
     1292       0,     0,     0,     0,   280,     0,   345,     0,     0,     0,
    12481293       0,   346,     0,     0,   347,   348,   349,   350,   324,   325,
    12491294     326,   327,   328,   329,    17,     0,    18,    19,    20,    21,
     
    12561301      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    12571302      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    1258      102,   103,   104,   105,   330,   331,   106,   107,   332,   333,
    1259      334,   335,   108,     0,   109,   336,   337,   110,     0,   111,
    1260      112,   113,   338,   114,   115,   116,   117,   118,   339,   119,
    1261      120,   121,   340,     0,     0,     0,     0,     0,     0,     0,
     1303     102,   103,   104,   105,     0,     0,   106,   107,     0,     0,
     1304       0,     0,   108,     0,   109,     0,     0,   110,     0,   111,
     1305     112,   113,     0,   114,   115,   116,   117,   118,     0,   119,
     1306     120,   121,     0,     0,     0,     0,     0,     0,     0,     0,
    12621307       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    12631308       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     
    12901335       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    12911336       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1292        0,     0,     0,   280,     0,   345,     0,     0,     0,     0,
     1337       0,     0,     0,     0,     0,   345,     0,     0,     0,     0,
    12931338     346,     0,     0,   347,   348,   349,   350,   324,   325,   326,
    12941339     327,   328,   329,    17,     0,    18,    19,    20,    21,    22,
    1295       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
     1340     318,    24,    25,    26,     0,    28,    29,    30,    31,    32,
    12961341      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
    12971342      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
     
    13351380       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    13361381       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1337        0,     0,     0,     0,   345,     0,     0,     0,     0,   346,
    1338        0,     0,   347,   348,   349,   350,   324,   325,   326,   327,
    1339      328,   329,    17,     0,    18,    19,    20,    21,    22,   318,
    1340       24,    25,    26,     0,    28,    29,    30,    31,    32,    33,
    1341       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
    1342       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
    1343       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
    1344       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
    1345       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
    1346       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
    1347       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
    1348      104,   105,     0,     0,   106,   107,     0,     0,     0,     0,
    1349      108,     0,   109,     0,     0,   110,     0,   111,   112,   113,
    1350        0,   114,   115,   116,   117,   118,     0,   119,   120,   121,
    1351        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1352        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1353        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1354        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1355        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1356        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1357        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1358        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1359        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1360        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1361        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1362        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1363        0,   122,   123,   124,   125,   126,   127,   128,   129,   130,
    1364      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
    1365      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
    1366      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
    1367      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
    1368      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
    1369      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
    1370      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
    1371      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
    1372      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
    1373      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
    1374      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
    1375      241,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1376        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1377        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1378        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1379        0,     0,     0,     0,     0,     0,   341,   342,     0,     0,
    1380        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1381        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1382        0,   324,   325,   326,   327,   328,   329,    17,   346,     0,
    1383        0,   347,   348,   349,   350,    24,    25,    26,     0,     0,
     1382       0,     0,   324,   325,   326,   327,   328,   329,    17,   346,
     1383       0,     0,   347,   348,   349,   350,    24,    25,    26,     0,
     1384       0,     0,    30,    31,    32,    33,    34,    35,    36,    37,
     1385      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
     1386      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
     1387      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
     1388      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
     1389      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
     1390      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
     1391      98,    99,   100,   101,   102,   103,   104,   105,     0,     0,
     1392       0,     0,     0,     0,     0,     0,   108,     0,   109,     0,
     1393       0,     0,     0,   111,     0,     0,     0,   114,   115,   116,
     1394     117,   118,     0,   119,     0,   121,     0,     0,     0,     0,
     1395       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1396       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1397       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1398       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1399       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1400       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1401       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1402       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1403       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1404       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1405       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1406       0,     0,     0,     0,     0,     0,     0,   122,   123,   124,
     1407     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
     1408     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
     1409     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
     1410     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
     1411     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
     1412     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
     1413     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     1414     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
     1415     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
     1416     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
     1417     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     1418     235,   236,   237,   238,   239,   240,   241,     0,     0,     0,
     1419       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1420       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1421       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1422       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1423       0,     0,   341,   342,     0,     0,     0,     0,     0,     0,
     1424       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1425       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1426       0,     0,   404,     0,   346,     0,     0,   347,   348,   349,
     1427     350,   324,   325,   326,   327,   328,   329,    17,     0,     0,
     1428       0,     0,     0,     0,     0,    24,    25,    26,     0,     0,
    13841429       0,    30,    31,    32,    33,    34,    35,    36,    37,    38,
    13851430      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
     
    14231468       0,   341,   342,     0,     0,     0,     0,     0,     0,     0,
    14241469       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1425        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1426        0,   403,     0,   346,     0,     0,   347,   348,   349,   350,
     1470       0,     0,     0,     0,     0,     0,     0,     0,   431,     0,
     1471       0,     0,     0,   346,     0,     0,   347,   348,   349,   350,
    14271472     324,   325,   326,   327,   328,   329,    17,     0,     0,     0,
    14281473       0,     0,     0,     0,    24,    25,    26,     0,     0,     0,
     
    14681513     341,   342,     0,     0,     0,     0,     0,     0,     0,     0,
    14691514       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1470        0,     0,     0,     0,     0,     0,     0,   430,     0,     0,
    1471        0,     0,   346,     0,     0,   347,   348,   349,   350,   324,
     1515       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1516     495,     0,   346,     0,     0,   347,   348,   349,   350,   324,
    14721517     325,   326,   327,   328,   329,    17,     0,     0,     0,     0,
    14731518       0,     0,     0,    24,    25,    26,     0,     0,     0,    30,
     
    15131558     342,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    15141559       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1515        0,     0,     0,     0,     0,     0,     0,     0,     0,   494,
     1560       0,     0,     0,     0,     0,     0,     0,     0,     0,   551,
    15161561       0,   346,     0,     0,   347,   348,   349,   350,   324,   325,
    15171562     326,   327,   328,   329,    17,     0,     0,     0,     0,     0,
     
    15581603       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    15591604       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1560        0,     0,     0,     0,     0,     0,     0,     0,   550,     0,
     1605       0,     0,     0,     0,     0,     0,     0,     0,   567,     0,
    15611606     346,     0,     0,   347,   348,   349,   350,   324,   325,   326,
    15621607     327,   328,   329,    17,     0,     0,     0,     0,     0,     0,
     
    16031648       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    16041649       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1605        0,     0,     0,     0,     0,     0,     0,   566,     0,   346,
     1650       0,     0,     0,     0,     0,     0,     0,   635,     0,   346,
    16061651       0,     0,   347,   348,   349,   350,   324,   325,   326,   327,
    16071652     328,   329,    17,     0,     0,     0,     0,     0,     0,     0,
     
    16481693       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    16491694       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1650        0,     0,     0,     0,     0,     0,   634,     0,   346,     0,
    1651        0,   347,   348,   349,   350,   324,   325,   326,   327,   328,
    1652      329,    17,     0,     0,     0,     0,     0,     0,     0,    24,
    1653       25,    26,     0,     0,     0,    30,    31,    32,    33,    34,
     1695       0,   324,   325,   326,   327,   328,   329,    17,   346,     0,
     1696       0,   347,   348,   349,   350,    24,    25,    26,     0,     0,
     1697       0,    30,    31,    32,    33,    34,    35,    36,    37,    38,
     1698      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
     1699      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
     1700      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
     1701      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
     1702      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
     1703      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
     1704      99,   100,   101,   102,   103,   104,   105,     0,     0,     0,
     1705       0,     0,     0,     0,     0,   108,     0,   109,     0,     0,
     1706       0,     0,   111,     0,     0,     0,   114,   115,   116,   117,
     1707     118,     0,   119,     0,   447,     0,     0,     0,     0,     0,
     1708       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1709       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1710       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1711       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1712       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1713       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1714       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1715       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1716       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1717       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1718       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1719       0,     0,     0,     0,     0,     0,   122,   123,   124,   125,
     1720     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
     1721     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
     1722     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
     1723     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
     1724     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
     1725     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
     1726     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     1727     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
     1728     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
     1729     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
     1730     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     1731     236,   237,   238,   239,   240,   241,     0,     0,     0,     0,
     1732       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1733       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1734       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1735       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1736       0,   341,   342,     0,     0,     0,     0,     0,     0,     0,
     1737       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1738       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1739       9,    10,    17,   346,     0,     0,   347,   348,   349,   350,
     1740      24,    25,    26,     0,     0,     0,    30,    31,    32,    33,
     1741      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
     1742      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
     1743      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
     1744      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
     1745      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
     1746      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
     1747      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
     1748     104,   105,     0,     0,     0,     0,     0,     0,     0,     0,
     1749     108,     0,   109,     0,     0,     0,     0,   111,     0,     0,
     1750       0,   114,   115,   116,   117,   118,     0,   119,     0,   121,
     1751       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1752       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1753       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1754       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1755       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1756       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1757       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1758       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1759       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1760       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1761       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1762       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1763       0,   122,   123,   124,   125,   126,   127,   128,   129,   130,
     1764     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
     1765     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
     1766     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
     1767     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
     1768     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
     1769     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
     1770     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     1771     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
     1772     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
     1773     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
     1774     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
     1775     241,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1776       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1777       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1778       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1779       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1780       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1781       0,     0,    17,     0,    18,    19,    20,    21,    22,   318,
     1782      24,    25,    26,   304,    28,    29,    30,    31,    32,    33,
     1783      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
     1784      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
     1785      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
     1786      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
     1787      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
     1788      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
     1789      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
     1790     104,   105,     0,     0,   106,   107,     0,     0,     0,     0,
     1791     108,     0,   109,     0,     0,   110,     0,   111,   112,   113,
     1792       0,   114,   115,   116,   117,   118,     0,   119,   120,   121,
     1793       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1794       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1795       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1796       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1797       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1798       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1799       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1800       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1801       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1802       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1803       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1804       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1805       0,   122,   123,   124,   125,   126,   127,   128,   129,   130,
     1806     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
     1807     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
     1808     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
     1809     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
     1810     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
     1811     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
     1812     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     1813     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
     1814     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
     1815     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
     1816     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
     1817     241,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1818       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1819       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1820       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1821       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1822       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1823       0,    17,     0,    18,    19,    20,    21,    22,   318,    24,
     1824      25,    26,   420,    28,    29,    30,    31,    32,    33,    34,
    16541825      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    16551826      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     
    16591830      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    16601831      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    1661      105,     0,     0,     0,     0,     0,     0,     0,     0,   108,
    1662        0,   109,     0,     0,     0,     0,   111,     0,     0,     0,
    1663      114,   115,   116,   117,   118,     0,   119,     0,   121,     0,
     1832     105,     0,     0,   106,   107,     0,     0,     0,     0,   108,
     1833       0,   109,     0,     0,   110,     0,   111,   112,   113,     0,
     1834     114,   115,   116,   117,   118,     0,   119,   120,   121,     0,
    16641835       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    16651836       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     
    16901861       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    16911862       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1692        0,     0,     0,     0,     0,   341,   342,     0,     0,     0,
    1693        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1694        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1695      324,   325,   326,   327,   328,   329,    17,   346,     0,     0,
    1696      347,   348,   349,   350,    24,    25,    26,     0,     0,     0,
    1697       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
    1698       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
    1699       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
    1700       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
    1701       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
    1702       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
    1703       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
    1704      100,   101,   102,   103,   104,   105,     0,     0,     0,     0,
    1705        0,     0,     0,     0,   108,     0,   109,     0,     0,     0,
    1706        0,   111,     0,     0,     0,   114,   115,   116,   117,   118,
    1707        0,   119,     0,   446,     0,     0,     0,     0,     0,     0,
    1708        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1709        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1710        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1711        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1712        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1713        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1714        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1715        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1716        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1717        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1718        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1719        0,     0,     0,     0,     0,   122,   123,   124,   125,   126,
    1720      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
    1721      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
    1722      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
    1723      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    1724      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
    1725      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    1726      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    1727      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    1728      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    1729      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    1730      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    1731      237,   238,   239,   240,   241,     0,     0,     0,     0,     0,
    1732        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1733        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1734        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1735        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1736      341,   342,     0,     0,     0,     0,     0,     0,     0,     0,
    1737        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1738        0,     0,     0,     0,     0,     0,     0,     0,     0,     9,
    1739       10,    17,   346,     0,     0,   347,   348,   349,   350,    24,
    1740       25,    26,     0,     0,     0,    30,    31,    32,    33,    34,
    1741       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    1742       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    1743       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
    1744       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
    1745       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
    1746       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    1747       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    1748      105,     0,     0,     0,     0,     0,     0,     0,     0,   108,
    1749        0,   109,     0,     0,     0,     0,   111,     0,     0,     0,
    1750      114,   115,   116,   117,   118,     0,   119,     0,   121,     0,
    1751        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1752        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1753        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1754        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1755        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1756        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1757        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1758        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1759        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1761        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1762        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1763      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    1764      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
    1765      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
    1766      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
    1767      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
    1768      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
    1769      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
    1770      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
    1771      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
    1772      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
    1773      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
    1774      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
    1775        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1776        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1777        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1778        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1779        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1780        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1781        0,    17,     0,    18,    19,    20,    21,    22,   318,    24,
    1782       25,    26,   304,    28,    29,    30,    31,    32,    33,    34,
    1783       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    1784       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    1785       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
    1786       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
    1787       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
    1788       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    1789       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    1790      105,     0,     0,   106,   107,     0,     0,     0,     0,   108,
    1791        0,   109,     0,     0,   110,     0,   111,   112,   113,     0,
    1792      114,   115,   116,   117,   118,     0,   119,   120,   121,     0,
    1793        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1794        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1795        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1796        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1797        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1798        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1799        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1800        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1801        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1802        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1803        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1804        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1805      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    1806      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
    1807      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
    1808      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
    1809      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
    1810      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
    1811      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
    1812      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
    1813      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
    1814      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
    1815      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
    1816      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
    1817        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1818        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1819        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1820        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    18211863       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    18221864       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    18231865      17,     0,    18,    19,    20,    21,    22,   318,    24,    25,
    1824       26,   419,    28,    29,    30,    31,    32,    33,    34,    35,
     1866      26,   506,    28,    29,    30,    31,    32,    33,    34,    35,
    18251867      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
    18261868      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
     
    18621904       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    18631905       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1864        0,     0,     0,     0,     0,     0,     0,     0,     0,    17,
    1865        0,    18,    19,    20,    21,    22,   318,    24,    25,    26,
    1866      505,    28,    29,    30,    31,    32,    33,    34,    35,    36,
    1867       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
    1868       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
    1869       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
    1870       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
    1871       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
    1872       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
    1873       97,    98,    99,   100,   101,   102,   103,   104,   105,     0,
    1874        0,   106,   107,     0,     0,     0,     0,   108,     0,   109,
    1875        0,     0,   110,     0,   111,   112,   113,     0,   114,   115,
    1876      116,   117,   118,     0,   119,   120,   121,     0,     0,     0,
    1877        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1878        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1879        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1880        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1881        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1882        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1883        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1884        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1885        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1886        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1887        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1888        0,     0,     0,     0,     0,     0,     0,     0,   122,   123,
    1889      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
    1890      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
    1891      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
    1892      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
    1893      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
    1894      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
    1895      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
    1896      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
    1897      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
    1898      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
    1899      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
    1900      234,   235,   236,   237,   238,   239,   240,   241,     0,     0,
    1901        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1902        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1903        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1904        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1905        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1906        0,     0,     0,     0,   522,   523,    17,     0,     0,     0,
    1907        0,     0,     0,     0,    24,    25,    26,     0,     0,   554,
     1906       0,     0,     0,     0,     0,   523,   524,    17,     0,     0,
     1907       0,     0,     0,     0,     0,    24,    25,    26,     0,     0,
     1908     555,    30,    31,    32,    33,    34,    35,    36,    37,    38,
     1909      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
     1910      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
     1911      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
     1912      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
     1913      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
     1914      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
     1915      99,   100,   101,   102,   103,   104,   105,     0,     0,     0,
     1916       0,     0,     0,     0,     0,   108,     0,   109,     0,     0,
     1917       0,     0,   111,     0,     0,     0,   114,   115,   116,   117,
     1918     118,     0,   119,     0,   121,     0,     0,    17,     0,    18,
     1919      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     1920      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
     1921      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
     1922      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
     1923      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
     1924      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
     1925      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
     1926      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
     1927      99,   100,   101,   102,   103,   104,   105,     0,     0,   106,
     1928     107,     0,     0,     0,     0,   108,     0,   109,     0,     0,
     1929     110,     0,   111,   112,   113,     0,   114,   115,   116,   117,
     1930     118,     0,   119,   120,   121,     0,   122,   123,   124,   125,
     1931     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
     1932     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
     1933     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
     1934     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
     1935     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
     1936     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
     1937     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     1938     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
     1939     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
     1940     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
     1941     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     1942     236,   237,   238,   239,   240,   241,   122,   123,   124,   125,
     1943     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
     1944     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
     1945     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
     1946     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
     1947     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
     1948     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
     1949     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     1950     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
     1951     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
     1952     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
     1953     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     1954     236,   237,   238,   239,   240,   241,    17,     0,    18,    19,
     1955      20,    21,    22,   318,    24,    25,    26,     0,    28,    29,
     1956      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
     1957      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
     1958      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
     1959      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
     1960      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
     1961      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
     1962      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
     1963     100,   101,   102,   103,   104,   105,     0,     0,   106,   107,
     1964       0,     0,     0,     0,   108,     0,   109,     0,     0,   110,
     1965       0,   111,   112,   113,     0,   114,   115,   116,   117,   118,
     1966       0,   119,   120,   121,     0,     0,    17,     0,     0,     0,
     1967       0,     0,     0,     0,    24,    25,    26,     0,     0,     0,
    19081968      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
    19091969      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
     
    19161976       0,     0,     0,     0,   108,     0,   109,     0,     0,     0,
    19171977       0,   111,     0,     0,     0,   114,   115,   116,   117,   118,
    1918        0,   119,     0,   121,     0,     0,    17,     0,    18,    19,
    1919       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    1920       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
    1921       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
    1922       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
    1923       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
    1924       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
    1925       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
    1926       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
    1927      100,   101,   102,   103,   104,   105,     0,     0,   106,   107,
    1928        0,     0,     0,     0,   108,     0,   109,     0,     0,   110,
    1929        0,   111,   112,   113,     0,   114,   115,   116,   117,   118,
    1930        0,   119,   120,   121,     0,   122,   123,   124,   125,   126,
     1978       0,   119,     0,   121,     0,   122,   123,   124,   125,   126,
    19311979     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
    19321980     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
     
    19522000     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    19532001     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    1954      237,   238,   239,   240,   241,    17,     0,    18,    19,    20,
    1955       21,    22,   318,    24,    25,    26,     0,    28,    29,    30,
    1956       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
    1957       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
    1958       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
    1959       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
    1960       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
    1961       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
    1962       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
    1963      101,   102,   103,   104,   105,     0,     0,   106,   107,     0,
    1964        0,     0,     0,   108,     0,   109,     0,     0,   110,     0,
    1965      111,   112,   113,     0,   114,   115,   116,   117,   118,     0,
    1966      119,   120,   121,     0,     0,    17,     0,     0,     0,     0,
    1967        0,     0,     0,    24,    25,    26,     0,     0,     0,    30,
     2002     237,   238,   239,   240,   241,    17,     0,     0,     0,     0,
     2003       0,     0,     0,     0,     0,     0,     0,     0,     0,    30,
    19682004      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
    19692005      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
     
    19762012       0,     0,     0,   108,     0,   109,     0,     0,     0,     0,
    19772013     111,     0,     0,     0,   114,   115,   116,   117,   118,     0,
    1978      119,     0,   121,     0,   122,   123,   124,   125,   126,   127,
     2014     119,     0,   121,     0,     0,     0,     0,     0,     0,     0,
     2015       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2016       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2017       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2018       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2019       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2020       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2021       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2022       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2023       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2024       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2025       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2026       0,     0,     0,     0,   122,   123,   124,   125,   126,   127,
    19792027     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
    19802028     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
     
    19882036     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
    19892037     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
    1990      238,   239,   240,   241,   122,   123,   124,   125,   126,   127,
    1991      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
    1992      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
    1993      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
    1994      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
    1995      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
    1996      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
    1997      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
    1998      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
    1999      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
    2000      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
    2001      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
    2002      238,   239,   240,   241,    17,     0,     0,     0,     0,     0,
    2003        0,     0,     0,     0,     0,     0,     0,     0,    30,    31,
    2004       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
    2005       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
    2006       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
    2007       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    2008       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2009       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2010       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2011      102,   103,   104,   105,     0,     0,     0,     0,     0,     0,
    2012        0,     0,   108,     0,   109,     0,     0,     0,     0,   111,
    2013        0,     0,     0,   114,   115,   116,   117,   118,     0,   119,
    2014        0,   121,     0,     0,     0,     0,     0,     0,     0,     0,
    2015        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2016        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2017        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2018        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2019        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2020        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2021        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2022        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2023        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2024        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2025        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2026        0,     0,     0,   122,   123,   124,   125,   126,   127,   128,
    2027      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
    2028      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
    2029      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
    2030      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
    2031      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
    2032      179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
    2033      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
    2034      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
    2035      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
    2036      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
    2037      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
    2038      239,   240,   241
     2038     238,   239,   240,   241
    20392039  };
    20402040
     
    20432043  LolFxParser::yycheck_[] =
    20442044  {
    2045          8,     7,     8,     8,   335,     7,     8,     1,     2,   343,
    2046      331,     8,    21,    22,     3,     4,   225,   338,     8,     8,
    2047      323,   433,   278,   399,   490,   346,   422,   413,   414,    23,
    2048      307,     8,   252,   253,   254,   440,   415,   416,   447,   359,
    2049      307,   321,   447,   576,    11,    12,    13,    14,     0,   447,
    2050      440,   438,   461,   384,    21,    22,   442,   447,   444,   261,
    2051      443,    11,    12,   461,   460,   321,   599,   323,    17,    18,
    2052       19,    21,    22,   275,   341,   342,   455,   456,   398,   112,
    2053      300,   440,   440,   116,   444,   440,   552,   195,   447,   447,
    2054       21,    22,   447,   102,   445,   362,   441,   442,   510,   402,
    2055      445,   112,   446,   112,   113,   116,   437,   116,   429,   112,
    2056      447,   432,   433,   116,   580,   491,   125,   583,   442,     4,
    2057      441,   438,   399,     8,   118,   445,   502,    21,    22,   452,
    2058      453,   454,   399,   461,   101,   102,   438,   603,   440,   438,
    2059      460,   421,     7,     8,   610,   112,   402,   439,   115,   116,
    2060      441,   101,   102,   469,   470,   471,   472,   440,   125,   442,
    2061      481,   440,   112,   483,   445,   421,   116,   440,   173,   440,
    2062      490,   102,   548,   178,   461,   125,   181,   433,   446,   447,
    2063      440,   112,   113,   446,   447,   116,   445,   176,   445,   510,
    2064      448,   449,   197,   445,   125,   462,   463,   464,   465,   466,
    2065      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
    2066      477,   478,   479,   480,   491,   192,   496,   445,   112,   113,
    2067      419,   420,   116,   228,   491,   502,   417,   418,   441,   442,
    2068      446,   125,   552,   442,   445,   502,   457,   613,   446,   447,
    2069      496,   246,   573,   446,   447,   446,   447,   255,   569,   238,
    2070      421,   441,   442,   458,   510,   263,   423,   251,   578,   459,
    2071      580,   255,   440,   583,   446,   447,   263,     4,   602,   445,
    2072      278,   548,   280,   263,   268,   467,   468,   598,   443,   273,
    2073      438,   548,   442,   603,   465,   466,   294,   473,   474,   127,
    2074      610,   446,   442,   441,   443,   447,   443,   443,   629,   630,
    2075      445,   441,   446,   445,   298,   441,   441,   441,   441,   441,
    2076      441,   319,   442,   321,   439,   323,   310,   424,   425,   426,
    2077      427,   428,   429,   430,   431,   432,   433,   335,   443,   440,
    2078      446,   441,   438,     4,   441,   343,   613,   441,   443,     8,
    2079        8,     8,     8,     4,     8,   108,   613,   440,   440,   440,
    2080      440,   440,     5,   440,   440,   443,   440,   440,   443,   440,
    2081      440,   439,   268,   440,   443,   441,   441,   440,   440,   440,
    2082      440,   440,   312,   475,   442,   564,   384,   476,   478,   477,
    2083      396,   284,   479,   296,   480,   252,   396,   413,   396,    27,
    2084      415,   504,   428,   599,   402,   245,   428,   263,   392,    -1,
    2085       -1,   395,    -1,    -1,    -1,    -1,    -1,   510,    -1,    -1,
    2086       -1,    -1,    -1,   421,    -1,    -1,    -1,    -1,    -1,   413,
    2087      428,    -1,    -1,    -1,    -1,   433,    -1,    -1,    -1,   437,
    2088       -1,    -1,    -1,    -1,   440,   440,   438,   446,    -1,    -1,
    2089       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2090       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2091       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2092       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2093       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   496,    -1,
    2094       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2095       -1,    -1,   510,    -1,    -1,    -1,    -1,    -1,   516,    -1,
    2096       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2097       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2101      554,    -1,    -1,    -1,    -1,   573,    -1,    -1,   576,    -1,
    2102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2103       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2104       -1,   599,    -1,    -1,   602,    -1,    -1,    -1,    -1,    -1,
    2105       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2106       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2107       -1,   629,   630,     3,     4,     5,     6,     7,     8,     9,
     2045         8,     7,     8,     8,   343,     7,     8,     1,     2,   331,
     2046     335,     8,    21,    22,   225,   434,   338,   323,     8,   577,
     2047       0,   278,   400,   422,   346,   438,   447,   415,   416,    23,
     2048       8,   447,   360,   307,   413,   414,   438,   491,   440,   307,
     2049     461,   321,   600,     3,     4,   461,   443,   112,     8,    21,
     2050      22,   116,   252,   253,   254,   261,   445,    21,    22,   444,
     2051     385,   460,   446,   442,   321,   444,   323,   455,   456,   275,
     2052     440,   399,   447,   341,   342,   442,   440,   447,   440,    11,
     2053      12,    13,    14,   447,   440,   447,   440,   440,   442,    21,
     2054      22,   447,   511,   102,   447,   363,   195,   403,   461,   553,
     2055     300,   441,   442,   112,   113,   445,     4,   116,   430,   438,
     2056       8,   433,   434,   438,   492,   438,   125,   112,   446,   112,
     2057     442,   116,   439,   116,   118,   503,   400,   581,     7,     8,
     2058     584,   441,   400,   461,   470,   471,   472,   473,   102,   440,
     2059     112,   113,   422,   445,   116,   445,   403,   440,   112,   113,
     2060     604,   440,   116,   125,   446,   447,   484,   611,   446,   447,
     2061     482,   125,   461,   491,   440,   422,   448,   449,   173,   101,
     2062     102,   549,   445,   178,   419,   420,   181,   434,   417,   418,
     2063     112,   441,   442,   115,   116,    17,    18,    19,   446,   511,
     2064     446,   447,   197,   125,   445,   463,   464,   465,   466,   467,
     2065     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
     2066     478,   479,   480,   481,   192,   445,   176,   497,   492,   452,
     2067     453,   454,   445,   228,   492,   553,   445,    11,    12,   503,
     2068     457,   442,   446,   447,   458,   503,   614,    21,    22,   459,
     2069     497,   246,   446,   447,   441,   442,   421,   255,   570,   574,
     2070     423,   579,   445,   581,   511,   263,   584,   251,   446,   447,
     2071     440,   255,   474,   475,   603,   443,   263,   466,   467,   438,
     2072     278,     4,   280,   263,   268,   549,   604,   599,   238,   273,
     2073     442,   549,   127,   611,   468,   469,   294,   446,   442,   441,
     2074     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
     2075     443,   445,   447,   443,   298,   630,   631,   441,   446,   441,
     2076     443,   319,   441,   321,   441,   323,   310,   101,   102,   441,
     2077     441,   441,   440,   442,   441,   439,   320,   335,   112,   438,
     2078     443,   446,   116,   441,     4,   343,   443,   441,   108,     8,
     2079     614,   125,     8,     8,     8,     4,   614,     8,   440,   440,
     2080     440,   440,   440,     5,   440,   440,   443,   440,   440,   443,
     2081     440,   440,   439,   312,   440,   443,   441,   441,   440,   440,
     2082     440,   440,   440,   565,   268,   476,   443,   385,   478,   477,
     2083     397,   284,   479,   296,   480,   397,   481,   252,   414,   397,
     2084      27,   416,   429,   505,   245,   403,   429,   600,    -1,   393,
     2085     511,   263,   396,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2086      -1,    -1,    -1,    -1,   422,    -1,    -1,    -1,    -1,    -1,
     2087     414,   429,   416,    -1,    -1,    -1,   434,    -1,    -1,    -1,
     2088     438,    -1,    -1,    -1,   440,   440,   438,   446,    -1,    -1,
     2089      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2090      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2091      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2092      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2093      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   497,
     2094      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2095      -1,    -1,    -1,   511,    -1,    -1,    -1,    -1,    -1,   517,
     2096      -1,   505,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2097      -1,    -1,   516,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2098      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2099      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2100      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2101      -1,   555,    -1,    -1,    -1,    -1,   574,    -1,    -1,   577,
     2102      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2103      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2104      -1,    -1,   600,    -1,    -1,   603,    -1,    -1,    -1,    -1,
     2105      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2106      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2107      -1,    -1,   630,   631,     3,     4,     5,     6,     7,     8,
     2108       9,    -1,    11,    12,    13,    14,    15,    16,    17,    18,
     2109      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     2110      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
     2111      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
     2112      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
     2113      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
     2114      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
     2115      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
     2116      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
     2117      99,   100,   101,   102,   103,   104,   105,   106,   107,    -1,
     2118     109,   110,   111,   112,    -1,   114,   115,   116,   117,   118,
     2119     119,   120,   121,   122,   123,   124,   125,   126,   127,    -1,
     2120      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2121      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2122      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2123      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2124      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2125      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2126      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2127      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2128      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2129      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2130      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2131      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   248,
     2132     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
     2133     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
     2134     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
     2135     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
     2136     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     2137     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
     2138     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
     2139     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
     2140     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
     2141     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
     2142     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
     2143     359,   360,   361,   362,   363,   364,   365,   366,   367,    -1,
     2144      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2145      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2146      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2147      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2148      -1,    -1,    -1,    -1,   413,   414,    -1,    -1,    -1,    -1,
     2149      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2150      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   438,
     2151     439,   440,    -1,    -1,    -1,    -1,   445,    -1,    -1,   448,
     2152     449,   450,   451,     3,     4,     5,     6,     7,     8,     9,
    21082153      -1,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    21092154      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     
    22832328     413,   414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    22842329      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2285       -1,    -1,    -1,    -1,    -1,   438,   439,   440,    -1,    -1,
     2330      -1,    -1,    -1,    -1,    -1,   438,    -1,   440,    -1,    -1,
    22862331      -1,    -1,   445,    -1,    -1,   448,   449,   450,   451,     3,
    22872332       4,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
     
    23392384      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
    23402385      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    2341       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    2342      105,   106,   107,    -1,   109,   110,   111,   112,    -1,   114,
    2343      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
    2344      125,   126,   127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2386      95,    96,    97,    98,    -1,    -1,   101,   102,    -1,    -1,
     2387      -1,    -1,   107,    -1,   109,    -1,    -1,   112,    -1,   114,
     2388     115,   116,    -1,   118,   119,   120,   121,   122,    -1,   124,
     2389     125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    23452390      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    23462391      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     
    23732418      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    23742419      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2375       -1,    -1,    -1,   438,    -1,   440,    -1,    -1,    -1,    -1,
     2420      -1,    -1,    -1,    -1,    -1,   440,    -1,    -1,    -1,    -1,
    23762421     445,    -1,    -1,   448,   449,   450,   451,     3,     4,     5,
    23772422       6,     7,     8,     9,    -1,    11,    12,    13,    14,    15,
    2378       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2423      16,    17,    18,    19,    -1,    21,    22,    23,    24,    25,
    23792424      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
    23802425      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
     
    24182463      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    24192464      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2420       -1,    -1,    -1,    -1,   440,    -1,    -1,    -1,    -1,   445,
    2421       -1,    -1,   448,   449,   450,   451,     3,     4,     5,     6,
    2422        7,     8,     9,    -1,    11,    12,    13,    14,    15,    16,
    2423       17,    18,    19,    -1,    21,    22,    23,    24,    25,    26,
    2424       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
    2425       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
    2426       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
    2427       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
    2428       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
    2429       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
    2430       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
    2431       97,    98,    -1,    -1,   101,   102,    -1,    -1,    -1,    -1,
    2432      107,    -1,   109,    -1,    -1,   112,    -1,   114,   115,   116,
    2433       -1,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
    2434       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2435       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2437       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2438       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2439       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2440       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2443       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2444       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2445       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2446       -1,   248,   249,   250,   251,   252,   253,   254,   255,   256,
    2447      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
    2448      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
    2449      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
    2450      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
    2451      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
    2452      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
    2453      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
    2454      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
    2455      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
    2456      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
    2457      357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
    2458      367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2459       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2461       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2462       -1,    -1,    -1,    -1,    -1,    -1,   413,   414,    -1,    -1,
    2463       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2464       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2465       -1,     3,     4,     5,     6,     7,     8,     9,   445,    -1,
    2466       -1,   448,   449,   450,   451,    17,    18,    19,    -1,    -1,
     2465      -1,    -1,     3,     4,     5,     6,     7,     8,     9,   445,
     2466      -1,    -1,   448,   449,   450,   451,    17,    18,    19,    -1,
     2467      -1,    -1,    23,    24,    25,    26,    27,    28,    29,    30,
     2468      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
     2469      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
     2470      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
     2471      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
     2472      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
     2473      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
     2474      91,    92,    93,    94,    95,    96,    97,    98,    -1,    -1,
     2475      -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,   109,    -1,
     2476      -1,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,
     2477     121,   122,    -1,   124,    -1,   126,    -1,    -1,    -1,    -1,
     2478      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2479      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2480      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2481      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2482      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2483      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2484      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2485      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2486      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2487      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2488      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2489      -1,    -1,    -1,    -1,    -1,    -1,    -1,   248,   249,   250,
     2490     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
     2491     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
     2492     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
     2493     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
     2494     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
     2495     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     2496     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
     2497     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
     2498     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
     2499     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
     2500     351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
     2501     361,   362,   363,   364,   365,   366,   367,    -1,    -1,    -1,
     2502      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2503      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2504      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2505      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2506      -1,    -1,   413,   414,    -1,    -1,    -1,    -1,    -1,    -1,
     2507      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2508      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2509      -1,    -1,   443,    -1,   445,    -1,    -1,   448,   449,   450,
     2510     451,     3,     4,     5,     6,     7,     8,     9,    -1,    -1,
     2511      -1,    -1,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
    24672512      -1,    23,    24,    25,    26,    27,    28,    29,    30,    31,
    24682513      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
     
    25062551      -1,   413,   414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    25072552      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2508       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2509       -1,   443,    -1,   445,    -1,    -1,   448,   449,   450,   451,
     2553      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,
     2554      -1,    -1,    -1,   445,    -1,    -1,   448,   449,   450,   451,
    25102555       3,     4,     5,     6,     7,     8,     9,    -1,    -1,    -1,
    25112556      -1,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
     
    25512596     413,   414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    25522597      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2553       -1,    -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,    -1,
    2554       -1,    -1,   445,    -1,    -1,   448,   449,   450,   451,     3,
     2598      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2599     443,    -1,   445,    -1,    -1,   448,   449,   450,   451,     3,
    25552600       4,     5,     6,     7,     8,     9,    -1,    -1,    -1,    -1,
    25562601      -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    23,
     
    27312776      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    27322777      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2733       -1,    -1,    -1,    -1,    -1,    -1,   443,    -1,   445,    -1,
    2734       -1,   448,   449,   450,   451,     3,     4,     5,     6,     7,
    2735        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    17,
    2736       18,    19,    -1,    -1,    -1,    23,    24,    25,    26,    27,
    2737       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
    2738       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
    2739       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
    2740       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
    2741       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
    2742       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
    2743       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
    2744       98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
    2745       -1,   109,    -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,
    2746      118,   119,   120,   121,   122,    -1,   124,    -1,   126,    -1,
    2747       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2749       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2750       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2752       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2754       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2757       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2758       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2759      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
    2760      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
    2761      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
    2762      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
    2763      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
    2764      298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
    2765      308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
    2766      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
    2767      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
    2768      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
    2769      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
    2770      358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
    2771       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2772       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2773       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2775       -1,    -1,    -1,    -1,    -1,   413,   414,    -1,    -1,    -1,
    2776       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2778        3,     4,     5,     6,     7,     8,     9,   445,    -1,    -1,
    2779      448,   449,   450,   451,    17,    18,    19,    -1,    -1,    -1,
    2780       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
    2781       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
    2782       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
    2783       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
    2784       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
    2785       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
    2786       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
    2787       93,    94,    95,    96,    97,    98,    -1,    -1,    -1,    -1,
    2788       -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
    2789       -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
    2790       -1,   124,    -1,   126,    -1,    -1,    -1,    -1,    -1,    -1,
    2791       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2794       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2796       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2797       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2798       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2799       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2802       -1,    -1,    -1,    -1,    -1,   248,   249,   250,   251,   252,
    2803      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
    2804      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
    2805      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
    2806      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
    2807      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
    2808      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
    2809      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
    2810      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
    2811      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
    2812      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
    2813      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
    2814      363,   364,   365,   366,   367,    -1,    -1,    -1,    -1,    -1,
    2815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2816       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2819      413,   414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     7,
    2822        8,     9,   445,    -1,    -1,   448,   449,   450,   451,    17,
    2823       18,    19,    -1,    -1,    -1,    23,    24,    25,    26,    27,
    2824       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
    2825       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
    2826       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
    2827       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
    2828       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
    2829       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
    2830       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
    2831       98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
    2832       -1,   109,    -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,
    2833      118,   119,   120,   121,   122,    -1,   124,    -1,   126,    -1,
    2834       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2835       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2836       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2837       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2838       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2842       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2845       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2846      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
    2847      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
    2848      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
    2849      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
    2850      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
    2851      298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
    2852      308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
    2853      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
    2854      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
    2855      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
    2856      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
    2857      358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
    2858       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2778      -1,     3,     4,     5,     6,     7,     8,     9,   445,    -1,
     2779      -1,   448,   449,   450,   451,    17,    18,    19,    -1,    -1,
     2780      -1,    23,    24,    25,    26,    27,    28,    29,    30,    31,
     2781      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
     2782      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
     2783      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
     2784      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
     2785      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
     2786      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
     2787      92,    93,    94,    95,    96,    97,    98,    -1,    -1,    -1,
     2788      -1,    -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,
     2789      -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
     2790     122,    -1,   124,    -1,   126,    -1,    -1,    -1,    -1,    -1,
     2791      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2792      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2793      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2794      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2795      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2796      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2797      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2798      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2799      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2800      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2801      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2802      -1,    -1,    -1,    -1,    -1,    -1,   248,   249,   250,   251,
     2803     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
     2804     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
     2805     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
     2806     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
     2807     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
     2808     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     2809     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
     2810     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
     2811     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
     2812     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
     2813     352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
     2814     362,   363,   364,   365,   366,   367,    -1,    -1,    -1,    -1,
     2815      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2816      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2817      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2818      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2819      -1,   413,   414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2820      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2821      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2822       7,     8,     9,   445,    -1,    -1,   448,   449,   450,   451,
     2823      17,    18,    19,    -1,    -1,    -1,    23,    24,    25,    26,
     2824      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
     2825      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
     2826      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
     2827      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
     2828      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
     2829      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
     2830      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
     2831      97,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2832     107,    -1,   109,    -1,    -1,    -1,    -1,   114,    -1,    -1,
     2833      -1,   118,   119,   120,   121,   122,    -1,   124,    -1,   126,
     2834      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2835      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2836      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2837      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2838      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2839      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2840      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2841      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2842      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2843      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2844      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2845      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2846      -1,   248,   249,   250,   251,   252,   253,   254,   255,   256,
     2847     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
     2848     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
     2849     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
     2850     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     2851     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
     2852     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
     2853     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     2854     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
     2855     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
     2856     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     2857     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
     2858     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2859      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2860      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2861      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2862      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2863      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2864      -1,    -1,     9,    -1,    11,    12,    13,    14,    15,    16,
     2865      17,    18,    19,   440,    21,    22,    23,    24,    25,    26,
     2866      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
     2867      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
     2868      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
     2869      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
     2870      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
     2871      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
     2872      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
     2873      97,    98,    -1,    -1,   101,   102,    -1,    -1,    -1,    -1,
     2874     107,    -1,   109,    -1,    -1,   112,    -1,   114,   115,   116,
     2875      -1,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
     2876      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2877      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2878      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2879      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2880      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2881      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2882      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2883      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2884      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2885      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2886      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2887      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2888      -1,   248,   249,   250,   251,   252,   253,   254,   255,   256,
     2889     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
     2890     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
     2891     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
     2892     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     2893     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
     2894     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
     2895     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     2896     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
     2897     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
     2898     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     2899     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
     2900     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    28592901      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    28602902      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     
    28632905      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    28642906      -1,     9,    -1,    11,    12,    13,    14,    15,    16,    17,
    2865       18,    19,   440,    21,    22,    23,    24,    25,    26,    27,
     2907      18,    19,   439,    21,    22,    23,    24,    25,    26,    27,
    28662908      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
    28672909      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
     
    29452987      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    29462988      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2947       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,
    2948       -1,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2949      439,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    2950       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
    2951       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
    2952       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
    2953       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
    2954       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
    2955       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
    2956       90,    91,    92,    93,    94,    95,    96,    97,    98,    -1,
    2957       -1,   101,   102,    -1,    -1,    -1,    -1,   107,    -1,   109,
    2958       -1,    -1,   112,    -1,   114,   115,   116,    -1,   118,   119,
    2959      120,   121,   122,    -1,   124,   125,   126,    -1,    -1,    -1,
    2960       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2961       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2963       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2964       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2965       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2966       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2967       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2969       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2970       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   248,   249,
    2972      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
    2973      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
    2974      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
    2975      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    2976      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
    2977      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
    2978      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
    2979      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
    2980      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
    2981      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
    2982      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
    2983      360,   361,   362,   363,   364,   365,   366,   367,    -1,    -1,
    2984       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2986       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2987       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2988       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2989       -1,    -1,    -1,    -1,     7,     8,     9,    -1,    -1,    -1,
    2990       -1,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,   439,
     2989      -1,    -1,    -1,    -1,    -1,     7,     8,     9,    -1,    -1,
     2990      -1,    -1,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
     2991     439,    23,    24,    25,    26,    27,    28,    29,    30,    31,
     2992      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
     2993      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
     2994      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
     2995      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
     2996      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
     2997      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
     2998      92,    93,    94,    95,    96,    97,    98,    -1,    -1,    -1,
     2999      -1,    -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,
     3000      -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
     3001     122,    -1,   124,    -1,   126,    -1,    -1,     9,    -1,    11,
     3002      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3003      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
     3004      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
     3005      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
     3006      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
     3007      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
     3008      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
     3009      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
     3010      92,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
     3011     102,    -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,
     3012     112,    -1,   114,   115,   116,    -1,   118,   119,   120,   121,
     3013     122,    -1,   124,   125,   126,    -1,   248,   249,   250,   251,
     3014     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
     3015     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
     3016     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
     3017     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
     3018     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
     3019     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     3020     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
     3021     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
     3022     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
     3023     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
     3024     352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
     3025     362,   363,   364,   365,   366,   367,   248,   249,   250,   251,
     3026     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
     3027     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
     3028     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
     3029     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
     3030     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
     3031     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     3032     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
     3033     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
     3034     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
     3035     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
     3036     352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
     3037     362,   363,   364,   365,   366,   367,     9,    -1,    11,    12,
     3038      13,    14,    15,    16,    17,    18,    19,    -1,    21,    22,
     3039      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
     3040      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
     3041      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
     3042      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
     3043      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
     3044      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
     3045      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
     3046      93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
     3047      -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,   112,
     3048      -1,   114,   115,   116,    -1,   118,   119,   120,   121,   122,
     3049      -1,   124,   125,   126,    -1,    -1,     9,    -1,    -1,    -1,
     3050      -1,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
    29913051      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
    29923052      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
     
    29993059      -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
    30003060      -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
    3001       -1,   124,    -1,   126,    -1,    -1,     9,    -1,    11,    12,
    3002       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3003       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
    3004       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
    3005       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
    3006       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
    3007       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
    3008       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
    3009       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
    3010       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
    3011       -1,    -1,    -1,    -1,   107,    -1,   109,    -1,    -1,   112,
    3012       -1,   114,   115,   116,    -1,   118,   119,   120,   121,   122,
    3013       -1,   124,   125,   126,    -1,   248,   249,   250,   251,   252,
     3061      -1,   124,    -1,   126,    -1,   248,   249,   250,   251,   252,
    30143062     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
    30153063     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
     
    30353083     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
    30363084     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
    3037      363,   364,   365,   366,   367,     9,    -1,    11,    12,    13,
    3038       14,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
    3039       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
    3040       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
    3041       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
    3042       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
    3043       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
    3044       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
    3045       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
    3046       94,    95,    96,    97,    98,    -1,    -1,   101,   102,    -1,
    3047       -1,    -1,    -1,   107,    -1,   109,    -1,    -1,   112,    -1,
    3048      114,   115,   116,    -1,   118,   119,   120,   121,   122,    -1,
    3049      124,   125,   126,    -1,    -1,     9,    -1,    -1,    -1,    -1,
    3050       -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    23,
     3085     363,   364,   365,   366,   367,     9,    -1,    -1,    -1,    -1,
     3086      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,
    30513087      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
    30523088      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
     
    30593095      -1,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,    -1,
    30603096     114,    -1,    -1,    -1,   118,   119,   120,   121,   122,    -1,
    3061      124,    -1,   126,    -1,   248,   249,   250,   251,   252,   253,
     3097     124,    -1,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3098      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3099      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3100      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3101      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3102      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3103      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3104      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3105      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3106      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3107      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3108      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3109      -1,    -1,    -1,    -1,   248,   249,   250,   251,   252,   253,
    30623110     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
    30633111     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
     
    30713119     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
    30723120     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
    3073      364,   365,   366,   367,   248,   249,   250,   251,   252,   253,
    3074      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
    3075      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
    3076      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
    3077      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
    3078      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
    3079      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
    3080      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
    3081      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
    3082      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
    3083      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
    3084      354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
    3085      364,   365,   366,   367,     9,    -1,    -1,    -1,    -1,    -1,
    3086       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,
    3087       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
    3088       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    3089       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    3090       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
    3091       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
    3092       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
    3093       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    3094       95,    96,    97,    98,    -1,    -1,    -1,    -1,    -1,    -1,
    3095       -1,    -1,   107,    -1,   109,    -1,    -1,    -1,    -1,   114,
    3096       -1,    -1,    -1,   118,   119,   120,   121,   122,    -1,   124,
    3097       -1,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3103       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3104       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3105       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3106       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3107       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3109       -1,    -1,    -1,   248,   249,   250,   251,   252,   253,   254,
    3110      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
    3111      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
    3112      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
    3113      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
    3114      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
    3115      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
    3116      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
    3117      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
    3118      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    3119      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    3120      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
    3121      365,   366,   367
     3121     364,   365,   366,   367
    31223122  };
    31233123
     
    31623162      99,   100,   103,   104,   105,   106,   110,   111,   117,   123,
    31633163     127,   413,   414,   438,   439,   440,   445,   448,   449,   450,
    3164      451,   478,   479,   480,   482,   483,   484,   485,   486,   487,
    3165      488,   489,   490,   491,   492,   493,   494,   495,   496,   497,
    3166      498,   499,   500,   501,   502,   503,   505,   507,   508,   529,
    3167      540,   541,   542,   543,   546,   547,   548,   551,   553,   554,
    3168      558,   513,   461,   512,   517,   529,   515,   469,   441,   442,
    3169      445,   528,   438,   443,   489,   502,   506,   529,   469,   439,
    3170      470,   441,   446,   447,   440,   529,   469,   537,   538,   439,
    3171      536,   535,   440,   505,   440,   461,   440,   541,   445,   445,
    3172      440,   505,   445,   445,   489,   489,   439,   546,   505,   413,
    3173      414,   442,   444,   446,   446,   447,   126,   503,   445,   424,
    3174      425,   426,   427,   428,   429,   430,   431,   432,   433,   441,
    3175      504,   489,   452,   453,   454,   448,   449,   419,   420,   415,
    3176      416,   455,   456,   417,   418,   457,   458,   459,   421,   423,
    3177      422,   460,   440,   447,   439,   541,   469,   469,   512,   517,
    3178      441,   442,   503,   539,   443,   506,   535,   443,   438,     4,
    3179      525,   537,   442,   440,   447,   439,   461,   127,   540,   547,
    3180      555,   505,   440,   505,   505,   520,   527,   550,   439,   446,
    3181      481,   505,     7,     8,   484,   503,   503,   489,   489,   489,
    3182      491,   491,   492,   492,   493,   493,   493,   493,   494,   494,
    3183      495,   496,   497,   498,   499,   500,   505,   503,   442,   539,
    3184      443,   506,   441,   443,   439,     8,   173,   178,   181,   197,
    3185      228,   246,   440,   472,   473,   440,   443,   506,   538,   445,
    3186      550,   556,   557,   446,   446,   469,   446,   443,   461,   506,
    3187      441,   443,   539,   441,   440,   469,   441,   442,   441,   441,
    3188      441,   441,   442,   441,   439,   472,   443,   505,   440,   446,
    3189      541,   549,   438,   441,   542,   544,   545,   503,   443,   539,
    3190      441,   539,   440,   442,     3,     4,     8,   176,   238,     4,
    3191        8,     8,     8,     8,     4,     8,   446,   505,   544,   108,
    3192      546,   552,   539,   539,   443,   506,   440,   440,   440,   440,
    3193      440,   443,   440,   440,   440,   440,   443,   440,   440,   541,
    3194      439,   440,   443,   441,   441,   440,     4,     8,     8,   192,
    3195      440,   440,   440,   440
     3164     451,   469,   478,   479,   480,   482,   483,   484,   485,   486,
     3165     487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
     3166     497,   498,   499,   500,   501,   502,   503,   505,   507,   508,
     3167     529,   540,   541,   542,   543,   546,   547,   548,   551,   553,
     3168     554,   558,   513,   461,   512,   517,   529,   515,   469,   441,
     3169     442,   445,   528,   438,   443,   489,   502,   506,   529,   469,
     3170     439,   470,   441,   446,   447,   440,   529,   469,   537,   538,
     3171     439,   536,   535,   440,   505,   440,   461,   440,   541,   445,
     3172     445,   440,   505,   445,   445,   489,   489,   439,   546,   505,
     3173     413,   414,   442,   444,   446,   446,   447,   126,   503,   445,
     3174     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
     3175     441,   504,   489,   452,   453,   454,   448,   449,   419,   420,
     3176     415,   416,   455,   456,   417,   418,   457,   458,   459,   421,
     3177     423,   422,   460,   440,   447,   439,   541,   469,   469,   512,
     3178     517,   441,   442,   503,   539,   443,   506,   535,   443,   438,
     3179       4,   525,   537,   442,   440,   447,   439,   461,   127,   540,
     3180     547,   555,   505,   440,   505,   505,   520,   527,   550,   439,
     3181     446,   481,   505,     7,     8,   484,   503,   503,   489,   489,
     3182     489,   491,   491,   492,   492,   493,   493,   493,   493,   494,
     3183     494,   495,   496,   497,   498,   499,   500,   505,   503,   442,
     3184     539,   443,   506,   441,   443,   439,     8,   173,   178,   181,
     3185     197,   228,   246,   440,   472,   473,   440,   443,   506,   538,
     3186     445,   550,   556,   557,   446,   446,   469,   446,   443,   461,
     3187     506,   441,   443,   539,   441,   440,   469,   441,   442,   441,
     3188     441,   441,   441,   442,   441,   439,   472,   443,   505,   440,
     3189     446,   541,   549,   438,   441,   542,   544,   545,   503,   443,
     3190     539,   441,   539,   440,   442,     3,     4,     8,   176,   238,
     3191       4,     8,     8,     8,     8,     4,     8,   446,   505,   544,
     3192     108,   546,   552,   539,   539,   443,   506,   440,   440,   440,
     3193     440,   440,   443,   440,   440,   440,   440,   443,   440,   440,
     3194     541,   439,   440,   443,   441,   441,   440,     4,     8,     8,
     3195     192,   440,   440,   440,   440
    31963196  };
    31973197
     
    35743574     441,     8,   440,    -1,   197,   441,     8,   440,    -1,   246,
    35753575     441,     8,   440,    -1,   475,   559,    -1,   442,   476,   443,
    3576       -1,   477,   444,   476,    -1,   477,    -1,   469,    -1,     8,
     3576      -1,   477,   444,   476,    -1,   477,    -1,   469,    -1,   469,
    35773577      -1,   478,    -1,     4,    -1,     5,    -1,     6,    -1,     3,
    35783578      -1,   445,   505,   446,    -1,   479,    -1,   480,   442,   481,
     
    38773877
    38783878  const int LolFxParser::yyeof_ = 0;
    3879   const int LolFxParser::yylast_ = 10762;
     3879  const int LolFxParser::yylast_ = 10763;
    38803880  const int LolFxParser::yynnts_ = 100;
    38813881  const int LolFxParser::yyempty_ = -2;
  • trunk/src/generated/lolfx-scanner.cpp

    r1930 r1937  
    331331        (yy_c_buf_p) = yy_cp;
    332332
    333 #define YY_NUM_RULES 445
    334 #define YY_END_OF_BUFFER 446
     333#define YY_NUM_RULES 443
     334#define YY_END_OF_BUFFER 444
    335335/* This struct is not used in this scanner,
    336336   but its presence is necessary. */
     
    342342static yyconst flex_int16_t yy_accept[1627] =
    343343    {   0,
    344         0,    0,  439,  439,  444,  444,  446,  436,  434,  435,
    345       436,  436,  436,  436,  436,  436,  436,  436,  432,  432,
    346       436,  436,  436,  433,  433,  433,  433,  433,  433,  433,
    347       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    348       433,  433,  433,  433,  436,   92,   92,  433,  433,  433,
    349       433,   92,  433,  433,  433,  433,  433,  433,   93,   93,
    350        92,   93,   93,  433,  433,   91,   91,  436,  439,  440,
    351       441,  444,  443,  434,  414,    0,    0,    0,    0,    0,
    352         0,    0,    0,  422,  417,  427,  420,  409,  423,  410,
    353       424,  437,  442,  421,    0,  431,  432,  415,  411,  413,
    354 
    355       412,  416,  433,  433,  433,  433,  433,  433,  433,  433,
    356       433,  433,  433,  433,  433,  433,  433,  433,  433,  132,
    357       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    358       433,  433,  433,  433,  433,  137,  138,  433,  433,  433,
    359       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    360       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    361       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    362       433,  433,  433,  433,  428,  419,   92,  433,  433,   92,
    363       433,  433,  433,  433,  433,  433,  433,  102,  433,  433,
    364       433,  433,  433,   92,  433,  107,  108,  433,  433,  433,
    365 
    366       433,  433,  433,  433,  433,  433,   93,  433,   92,  433,
    367       433,  433,   93,  433,  433,  433,  433,  433,  433,  433,
    368       433,  433,  433,  433,  433,   91,  429,  418,  439,  438,
    369       444,    0,    0,    0,    0,  369,    0,    0,    0,    0,
    370         0,  430,  425,  426,  433,  155,  433,  433,  433,  433,
    371       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    372       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    373       433,  433,  433,  433,  433,  136,  433,  433,  433,  433,
    374       433,  433,  433,  433,  433,  433,  140,  433,  433,  433,
    375       433,  433,  390,  433,  433,  433,  433,  142,  433,  433,
    376 
    377       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    378       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    379       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    380       433,  433,  403,  433,  433,  433,  433,  433,  433,  433,
    381       433,  433,  433,  433,  433,   92,  433,  433,  433,  433,
    382       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    383       433,  433,  106,  433,  433,  110,  433,  433,  433,  433,
    384       433,  433,  433,  433,  112,  433,   93,  433,  433,  433,
    385       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    386       433,  433,  433,  433,   91,    0,    0,    0,    0,    0,
    387 
    388         0,    0,    0,    0,    0,    0,    0,  433,  433,  377,
    389       433,  124,  433,  433,  433,  126,  433,  433,  433,  379,
    390       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    391       433,  433,  433,  134,  384,  433,  433,  433,  433,  433,
    392       433,  433,  387,  433,  176,  433,  433,  433,  433,  324,
    393       329,  334,  339,  433,  181,  388,  433,  433,  433,  433,
    394       433,  188,  433,  433,  433,  191,  433,  433,  433,  433,
    395       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    396       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    397       433,  433,  433,  433,  433,  433,  401,  433,  433,  234,
    398 
    399       433,  150,  433,  433,  433,  433,  433,  433,  433,  433,
    400       152,  433,  433,   92,  433,   94,  433,  433,   96,  433,
    401       433,  433,  433,  433,  433,  433,  433,  104,  433,    4,
    402       433,  433,  433,  433,  433,  433,  433,   45,   62,   66,
    403        70,  433,  433,  433,   93,  433,  433,  433,  433,  433,
    404       433,  433,  433,   89,  120,  433,  433,  433,  433,   59,
    405        60,   61,  122,  433,   91,    0,  365,  366,    0,    0,
    406         0,    0,    0,  373,    0,    0,    0,  433,  433,  433,
    407       244,  249,  254,  259,  125,  433,  433,  378,  433,  433,
    408       380,  433,  433,  433,  128,  433,  433,  433,  433,  433,
    409 
    410       433,  433,  433,  170,  433,  433,  433,  172,  135,  433,
    411       433,  433,  433,  433,  433,  139,  433,  433,  433,  433,
    412       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    413       433,  433,  433,  194,  433,  433,  433,  433,  433,  433,
    414       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    415       396,  433,  433,  214,  433,  433,  433,  433,  433,  433,
    416       433,  433,  433,  402,  433,  433,  433,  344,  349,  354,
    417       359,  433,  405,  239,  433,  407,  433,  433,  433,  433,
    418       153,  433,   95,   50,   51,   52,  433,   98,  433,  433,
    419       433,   77,   81,   85,  433,   74,   75,   76,   90,  105,
    420 
    421        43,  109,  433,  433,   53,   54,   55,  433,  433,  433,
    422       433,  433,  433,    2,  433,  433,  433,  433,  433,  433,
    423       433,  433,  433,  433,   56,   57,   58,  433,  123,    0,
    424       367,  368,  370,    0,    0,    0,  375,    0,  433,  433,
    425       433,  433,  433,  433,  433,  158,  433,  433,  433,  433,
    426       433,  433,  433,  433,  433,  433,  382,  433,  433,  433,
    427       133,  304,  309,  314,  319,  433,  433,  171,  264,  269,
    428       274,  279,  386,  433,  433,  433,  433,  178,  433,  325,
    429       330,  335,  340,  326,  331,  336,  341,  327,  332,  337,
    430       342,  328,  333,  338,  343,  433,  433,  183,  433,  185,
    431 
    432       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    433       433,  433,  433,  394,  433,  433,  433,  433,  143,  433,
    434       433,  433,  433,  433,  433,  213,  397,  398,  433,  217,
    435       218,  148,  149,  433,  433,  433,  433,  433,  433,  433,
    436       433,  433,  433,  433,  433,  433,  240,  433,  433,  433,
    437       433,  433,  433,  433,  433,  433,  433,  433,  103,  433,
    438       433,    6,   63,   64,   65,   67,   68,   69,   71,   72,
    439        73,  433,  433,  433,  113,    3,    5,  118,  433,  119,
    440       433,  433,  433,  433,  364,  371,    0,  374,    0,  433,
    441       433,  433,  245,  250,  255,  260,  246,  251,  256,  261,
    442 
    443       247,  252,  257,  262,  248,  253,  258,  263,  433,  160,
    444       433,  433,  162,  433,  433,  433,  433,  130,  433,  131,
    445       433,  284,  289,  294,  299,  433,  433,  433,  433,  433,
    446       433,  433,  433,  433,  433,  173,  433,  433,  433,  433,
    447       433,  182,  433,  389,  433,  433,  433,  433,  433,  433,
    448       433,  433,  433,  196,  392,  433,  433,  433,  433,  433,
    449       433,  433,  433,  433,  433,  209,  433,  433,  433,  220,
    450       433,  433,  433,  433,  235,  433,  345,  350,  355,  360,
    451       346,  351,  356,  361,  347,  352,  357,  362,  348,  353,
    452       358,  363,  151,  433,  433,  433,  408,  433,  433,  433,
    453 
    454       433,  100,  101,   78,   79,   80,   82,   83,   84,   86,
    455        87,   88,  433,  433,   44,  433,  433,  209,  433,  224,
    456       121,  433,   49,  372,  376,  433,  433,  433,  433,  127,
    457       433,  433,  433,  433,  433,  433,  129,  433,  433,  433,
    458       433,  433,  433,  305,  310,  315,  320,  306,  311,  316,
    459       321,  307,  312,  317,  322,  308,  313,  318,  323,  433,
    460       385,  265,  270,  275,  280,  266,  271,  276,  281,  267,
    461       272,  277,  282,  268,  273,  278,  283,  433,  433,  433,
    462       433,  433,  433,  433,  433,  433,  391,  433,  433,  433,
    463       433,  433,  433,  433,  199,  433,  433,  433,  201,  433,
    464 
    465       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    466       433,  433,  400,  433,  433,  433,  433,  236,  404,  406,
    467       433,  433,  243,  433,   97,   99,  433,  433,  433,  433,
    468       433,  433,  433,  433,  433,  433,  433,  376,  433,  433,
    469       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    470       285,  290,  295,  300,  286,  291,  296,  301,  287,  292,
    471       297,  302,  288,  293,  298,  303,  433,  433,  433,  433,
    472       433,  180,  433,  186,  433,  433,  433,  433,  433,  433,
    473       433,  393,  433,  433,  433,  200,  433,  433,  433,  144,
    474       145,  146,  433,  433,  433,  433,  433,  433,  433,  221,
    475 
    476       225,  227,  231,  433,  433,  433,  433,  433,   48,   47,
    477       433,  433,  433,  433,  433,  433,   46,  114,  115,  116,
    478       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    479       157,  433,  433,  433,  433,  433,  381,  433,  433,  433,
    480       433,  433,  433,  177,  179,  184,  433,  433,  433,  190,
    481       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    482       433,  433,  433,  433,  433,  215,  433,  433,  433,  433,
    483       433,  433,  433,  433,  433,  433,  433,   14,   15,   16,
    484       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    485       433,    1,   20,   21,   22,  433,  433,  433,  433,  433,
    486 
    487       433,  433,  433,  433,  433,  433,  433,  433,  433,  175,
    488       433,  433,  189,  433,  193,  195,  433,  433,  433,  433,
    489       433,  204,  206,  208,  433,  147,  433,  433,  433,  399,
    490       433,  222,  433,  433,  433,  229,  232,  237,  433,  433,
    491       433,  433,  433,  433,  433,  433,  433,  433,  433,  433,
    492       433,   37,  433,  433,  433,  117,  433,  433,  433,  433,
    493       433,  433,  433,  156,  433,  161,  433,  433,  433,  433,
    494       433,  169,  383,  433,  433,  433,  433,  433,  433,  433,
    495       433,  433,  433,  433,  433,  211,  433,  433,  433,  433,
    496       433,  433,  433,  433,  433,  433,  242,  433,  433,   38,
    497 
    498       433,  433,   17,  433,  433,  433,  433,  433,  433,  433,
    499       433,  433,  433,  433,  433,   39,  433,  433,   23,  433,
    500       433,  164,  433,  165,  433,  433,  433,  433,  433,  141,
    501       192,  433,  433,  433,  433,  433,  433,  433,  433,  210,
    502       433,  433,  223,  433,  433,  433,  433,  433,  433,  433,
    503       433,  433,  433,  433,  433,  111,  433,  433,  433,  433,
    504        26,  433,   30,  433,  433,  433,  433,  433,  433,  433,
    505       433,  433,  433,  433,  433,  433,  433,  174,  433,  433,
    506       433,  433,  433,  433,  433,  433,  433,  433,  433,  226,
    507       228,  433,  433,  238,  241,  433,  433,  433,   28,   31,
    508 
    509       433,   10,  433,   11,  433,  433,  433,  433,  433,  433,
    510       433,  433,   29,   32,  433,  433,  433,  433,  433,  433,
    511       433,  187,  197,  433,  433,  433,  433,  433,  433,  433,
    512       433,  433,  433,  433,   18,   19,  433,  433,  433,    7,
    513       433,  433,  433,    8,  433,  433,   24,   25,  433,  433,
    514       433,  433,  163,  433,  433,  168,  395,  198,  433,  433,
    515       205,  207,  433,  216,  219,  230,  233,  433,  433,  433,
    516       433,   40,  433,   33,  433,  433,  433,  433,  159,  433,
    517       167,  433,  433,  433,   41,   35,  433,  433,  433,  433,
    518         9,   42,   36,  433,  433,  433,  203,  433,  433,  433,
    519 
    520       433,  433,  433,  433,  202,  433,  433,  433,   27,  433,
    521       433,  433,  433,   12,   13,  433,  433,  433,  433,  433,
    522       154,  433,  212,   34,  166,    0
     344        0,    0,  437,  437,  442,  442,  444,  434,  432,  433,
     345      434,  434,  434,  434,  434,  434,  434,  434,  429,  429,
     346      434,  434,  434,  431,  431,  431,  431,  431,  431,  431,
     347      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     348      431,  431,  431,  431,  434,  430,  430,  431,  431,  431,
     349      431,  430,  431,  431,  431,  431,  431,  431,  430,  430,
     350      430,  430,  430,  431,  431,  430,  430,  434,  437,  438,
     351      439,  442,  441,  432,  411,    0,    0,    0,    0,    0,
     352        0,    0,    0,  419,  414,  424,  417,  406,  420,  407,
     353      421,  435,  440,  418,    0,  428,  429,  412,  408,  410,
     354
     355      409,  413,  431,  431,  431,  431,  431,  431,  431,  431,
     356      431,  431,  431,  431,  431,  431,  431,  431,  431,  129,
     357      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     358      431,  431,  431,  431,  431,  134,  135,  431,  431,  431,
     359      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     360      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     361      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     362      431,  431,  431,  431,  425,  416,  430,  431,  431,  430,
     363      431,  431,  431,  431,  431,  431,  431,   99,  431,  431,
     364      431,  431,  431,  430,  431,  104,  105,  431,  431,  431,
     365
     366      431,  431,  431,  431,  431,  431,  430,  431,  430,  431,
     367      431,  431,  430,  431,  431,  431,  431,  431,  431,  431,
     368      431,  431,  431,  431,  431,  430,  426,  415,  437,  436,
     369      442,    0,    0,    0,    0,  366,    0,    0,    0,    0,
     370        0,  427,  422,  423,  431,  152,  431,  431,  431,  431,
     371      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     372      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     373      431,  431,  431,  431,  431,  133,  431,  431,  431,  431,
     374      431,  431,  431,  431,  431,  431,  137,  431,  431,  431,
     375      431,  431,  387,  431,  431,  431,  431,  139,  431,  431,
     376
     377      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     378      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     379      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     380      431,  431,  400,  431,  431,  431,  431,  431,  431,  431,
     381      431,  431,  431,  431,  431,  430,  431,  431,  431,  431,
     382      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     383      431,  431,  103,  431,  431,  107,  431,  431,  431,  431,
     384      431,  431,  431,  431,  109,  431,  430,  431,  431,  431,
     385      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     386      431,  431,  431,  431,  430,    0,    0,    0,    0,    0,
     387
     388        0,    0,    0,    0,    0,    0,    0,  431,  431,  374,
     389      431,  121,  431,  431,  431,  123,  431,  431,  431,  376,
     390      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     391      431,  431,  431,  131,  381,  431,  431,  431,  431,  431,
     392      431,  431,  384,  431,  173,  431,  431,  431,  431,  321,
     393      326,  331,  336,  431,  178,  385,  431,  431,  431,  431,
     394      431,  185,  431,  431,  431,  188,  431,  431,  431,  431,
     395      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     396      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     397      431,  431,  431,  431,  431,  431,  398,  431,  431,  231,
     398
     399      431,  147,  431,  431,  431,  431,  431,  431,  431,  431,
     400      149,  431,  431,  430,  431,   91,  431,  431,   93,  431,
     401      431,  431,  431,  431,  431,  431,  431,  101,  431,    4,
     402      431,  431,  431,  431,  431,  431,  431,   45,   62,   66,
     403       70,  431,  431,  431,  430,  431,  431,  431,  431,  431,
     404      431,  431,  431,   89,  117,  431,  431,  431,  431,   59,
     405       60,   61,  119,  431,  430,    0,  362,  363,    0,    0,
     406        0,    0,    0,  370,    0,    0,    0,  431,  431,  431,
     407      241,  246,  251,  256,  122,  431,  431,  375,  431,  431,
     408      377,  431,  431,  431,  125,  431,  431,  431,  431,  431,
     409
     410      431,  431,  431,  167,  431,  431,  431,  169,  132,  431,
     411      431,  431,  431,  431,  431,  136,  431,  431,  431,  431,
     412      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     413      431,  431,  431,  191,  431,  431,  431,  431,  431,  431,
     414      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     415      393,  431,  431,  211,  431,  431,  431,  431,  431,  431,
     416      431,  431,  431,  399,  431,  431,  431,  341,  346,  351,
     417      356,  431,  402,  236,  431,  404,  431,  431,  431,  431,
     418      150,  431,   92,   50,   51,   52,  431,   95,  431,  431,
     419      431,   77,   81,   85,  431,   74,   75,   76,   90,  102,
     420
     421       43,  106,  431,  431,   53,   54,   55,  431,  431,  431,
     422      431,  431,  431,    2,  431,  431,  431,  431,  431,  431,
     423      431,  431,  431,  431,   56,   57,   58,  431,  120,    0,
     424      364,  365,  367,    0,    0,    0,  372,    0,  431,  431,
     425      431,  431,  431,  431,  431,  155,  431,  431,  431,  431,
     426      431,  431,  431,  431,  431,  431,  379,  431,  431,  431,
     427      130,  301,  306,  311,  316,  431,  431,  168,  261,  266,
     428      271,  276,  383,  431,  431,  431,  431,  175,  431,  322,
     429      327,  332,  337,  323,  328,  333,  338,  324,  329,  334,
     430      339,  325,  330,  335,  340,  431,  431,  180,  431,  182,
     431
     432      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     433      431,  431,  431,  391,  431,  431,  431,  431,  140,  431,
     434      431,  431,  431,  431,  431,  210,  394,  395,  431,  214,
     435      215,  145,  146,  431,  431,  431,  431,  431,  431,  431,
     436      431,  431,  431,  431,  431,  431,  237,  431,  431,  431,
     437      431,  431,  431,  431,  431,  431,  431,  431,  100,  431,
     438      431,    6,   63,   64,   65,   67,   68,   69,   71,   72,
     439       73,  431,  431,  431,  110,    3,    5,  115,  431,  116,
     440      431,  431,  431,  431,  361,  368,    0,  371,    0,  431,
     441      431,  431,  242,  247,  252,  257,  243,  248,  253,  258,
     442
     443      244,  249,  254,  259,  245,  250,  255,  260,  431,  157,
     444      431,  431,  159,  431,  431,  431,  431,  127,  431,  128,
     445      431,  281,  286,  291,  296,  431,  431,  431,  431,  431,
     446      431,  431,  431,  431,  431,  170,  431,  431,  431,  431,
     447      431,  179,  431,  386,  431,  431,  431,  431,  431,  431,
     448      431,  431,  431,  193,  389,  431,  431,  431,  431,  431,
     449      431,  431,  431,  431,  431,  206,  431,  431,  431,  217,
     450      431,  431,  431,  431,  232,  431,  342,  347,  352,  357,
     451      343,  348,  353,  358,  344,  349,  354,  359,  345,  350,
     452      355,  360,  148,  431,  431,  431,  405,  431,  431,  431,
     453
     454      431,   97,   98,   78,   79,   80,   82,   83,   84,   86,
     455       87,   88,  431,  431,   44,  431,  431,  206,  431,  221,
     456      118,  431,   49,  369,  373,  431,  431,  431,  431,  124,
     457      431,  431,  431,  431,  431,  431,  126,  431,  431,  431,
     458      431,  431,  431,  302,  307,  312,  317,  303,  308,  313,
     459      318,  304,  309,  314,  319,  305,  310,  315,  320,  431,
     460      382,  262,  267,  272,  277,  263,  268,  273,  278,  264,
     461      269,  274,  279,  265,  270,  275,  280,  431,  431,  431,
     462      431,  431,  431,  431,  431,  431,  388,  431,  431,  431,
     463      431,  431,  431,  431,  196,  431,  431,  431,  198,  431,
     464
     465      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     466      431,  431,  397,  431,  431,  431,  431,  233,  401,  403,
     467      431,  431,  240,  431,   94,   96,  431,  431,  431,  431,
     468      431,  431,  431,  431,  431,  431,  431,  373,  431,  431,
     469      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     470      282,  287,  292,  297,  283,  288,  293,  298,  284,  289,
     471      294,  299,  285,  290,  295,  300,  431,  431,  431,  431,
     472      431,  177,  431,  183,  431,  431,  431,  431,  431,  431,
     473      431,  390,  431,  431,  431,  197,  431,  431,  431,  141,
     474      142,  143,  431,  431,  431,  431,  431,  431,  431,  218,
     475
     476      222,  224,  228,  431,  431,  431,  431,  431,   48,   47,
     477      431,  431,  431,  431,  431,  431,   46,  111,  112,  113,
     478      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     479      154,  431,  431,  431,  431,  431,  378,  431,  431,  431,
     480      431,  431,  431,  174,  176,  181,  431,  431,  431,  187,
     481      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     482      431,  431,  431,  431,  431,  212,  431,  431,  431,  431,
     483      431,  431,  431,  431,  431,  431,  431,   14,   15,   16,
     484      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     485      431,    1,   20,   21,   22,  431,  431,  431,  431,  431,
     486
     487      431,  431,  431,  431,  431,  431,  431,  431,  431,  172,
     488      431,  431,  186,  431,  190,  192,  431,  431,  431,  431,
     489      431,  201,  203,  205,  431,  144,  431,  431,  431,  396,
     490      431,  219,  431,  431,  431,  226,  229,  234,  431,  431,
     491      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
     492      431,   37,  431,  431,  431,  114,  431,  431,  431,  431,
     493      431,  431,  431,  153,  431,  158,  431,  431,  431,  431,
     494      431,  166,  380,  431,  431,  431,  431,  431,  431,  431,
     495      431,  431,  431,  431,  431,  208,  431,  431,  431,  431,
     496      431,  431,  431,  431,  431,  431,  239,  431,  431,   38,
     497
     498      431,  431,   17,  431,  431,  431,  431,  431,  431,  431,
     499      431,  431,  431,  431,  431,   39,  431,  431,   23,  431,
     500      431,  161,  431,  162,  431,  431,  431,  431,  431,  138,
     501      189,  431,  431,  431,  431,  431,  431,  431,  431,  207,
     502      431,  431,  220,  431,  431,  431,  431,  431,  431,  431,
     503      431,  431,  431,  431,  431,  108,  431,  431,  431,  431,
     504       26,  431,   30,  431,  431,  431,  431,  431,  431,  431,
     505      431,  431,  431,  431,  431,  431,  431,  171,  431,  431,
     506      431,  431,  431,  431,  431,  431,  431,  431,  431,  223,
     507      225,  431,  431,  235,  238,  431,  431,  431,   28,   31,
     508
     509      431,   10,  431,   11,  431,  431,  431,  431,  431,  431,
     510      431,  431,   29,   32,  431,  431,  431,  431,  431,  431,
     511      431,  184,  194,  431,  431,  431,  431,  431,  431,  431,
     512      431,  431,  431,  431,   18,   19,  431,  431,  431,    7,
     513      431,  431,  431,    8,  431,  431,   24,   25,  431,  431,
     514      431,  431,  160,  431,  431,  165,  392,  195,  431,  431,
     515      202,  204,  431,  213,  216,  227,  230,  431,  431,  431,
     516      431,   40,  431,   33,  431,  431,  431,  431,  156,  431,
     517      164,  431,  431,  431,   41,   35,  431,  431,  431,  431,
     518        9,   42,   36,  431,  431,  431,  200,  431,  431,  431,
     519
     520      431,  431,  431,  431,  199,  431,  431,  431,   27,  431,
     521      431,  431,  431,   12,   13,  431,  431,  431,  431,  431,
     522      151,  431,  209,   34,  163,    0
    523523    } ;
    524524
     
    23132313{ yylval->ival = 0; return token::BOOLCONSTANT; }
    23142314        YY_BREAK
    2315 case 91:
    2316 YY_RULE_SETUP
    2317 #line 170 "gpu/lolfx-scanner.l"
    2318 { return token::FIELDSELECTION; }
    2319         YY_BREAK
    2320 case 92:
    2321 YY_RULE_SETUP
    2322 #line 171 "gpu/lolfx-scanner.l"
    2323 { return token::FIELDSELECTION; }
    2324         YY_BREAK
    2325 case 93:
    2326 YY_RULE_SETUP
    2327 #line 172 "gpu/lolfx-scanner.l"
    2328 { return token::FIELDSELECTION; }
    2329         YY_BREAK
    23302315/*
    23312316  * GLSL keywords that are also valid or reserved in HLSL
    23322317  * and HLSL keywords that are also valid or reserved in GLSL.
    23332318  */
     2319case 91:
     2320YY_RULE_SETUP
     2321#line 175 "gpu/lolfx-scanner.l"
     2322{ return token::GHT_BOOL; }
     2323        YY_BREAK
     2324case 92:
     2325YY_RULE_SETUP
     2326#line 176 "gpu/lolfx-scanner.l"
     2327{ return token::GHT_BREAK; }
     2328        YY_BREAK
     2329case 93:
     2330YY_RULE_SETUP
     2331#line 177 "gpu/lolfx-scanner.l"
     2332{ return token::GHT_CASE; }
     2333        YY_BREAK
    23342334case 94:
    23352335YY_RULE_SETUP
     2336#line 178 "gpu/lolfx-scanner.l"
     2337{ return token::GHT_CENTROID; }
     2338        YY_BREAK
     2339case 95:
     2340YY_RULE_SETUP
    23362341#line 179 "gpu/lolfx-scanner.l"
    2337 { return token::GHT_BOOL; }
    2338         YY_BREAK
    2339 case 95:
     2342{ return token::GHT_CONST; }
     2343        YY_BREAK
     2344case 96:
    23402345YY_RULE_SETUP
    23412346#line 180 "gpu/lolfx-scanner.l"
    2342 { return token::GHT_BREAK; }
    2343         YY_BREAK
    2344 case 96:
     2347{ return token::GHT_CONTINUE; }
     2348        YY_BREAK
     2349case 97:
    23452350YY_RULE_SETUP
    23462351#line 181 "gpu/lolfx-scanner.l"
    2347 { return token::GHT_CASE; }
    2348         YY_BREAK
    2349 case 97:
     2352{ return token::GHT_DEFAULT; }
     2353        YY_BREAK
     2354case 98:
    23502355YY_RULE_SETUP
    23512356#line 182 "gpu/lolfx-scanner.l"
    2352 { return token::GHT_CENTROID; }
    2353         YY_BREAK
    2354 case 98:
     2357{ return token::GHT_DISCARD; }
     2358        YY_BREAK
     2359case 99:
    23552360YY_RULE_SETUP
    23562361#line 183 "gpu/lolfx-scanner.l"
    2357 { return token::GHT_CONST; }
    2358         YY_BREAK
    2359 case 99:
     2362{ return token::GHT_DO; }
     2363        YY_BREAK
     2364case 100:
    23602365YY_RULE_SETUP
    23612366#line 184 "gpu/lolfx-scanner.l"
    2362 { return token::GHT_CONTINUE; }
    2363         YY_BREAK
    2364 case 100:
     2367{ return token::GHT_DOUBLE; }
     2368        YY_BREAK
     2369case 101:
    23652370YY_RULE_SETUP
    23662371#line 185 "gpu/lolfx-scanner.l"
    2367 { return token::GHT_DEFAULT; }
    2368         YY_BREAK
    2369 case 101:
     2372{ return token::GHT_ELSE; }
     2373        YY_BREAK
     2374case 102:
    23702375YY_RULE_SETUP
    23712376#line 186 "gpu/lolfx-scanner.l"
    2372 { return token::GHT_DISCARD; }
    2373         YY_BREAK
    2374 case 102:
     2377{ return token::GHT_FLOAT; }
     2378        YY_BREAK
     2379case 103:
    23752380YY_RULE_SETUP
    23762381#line 187 "gpu/lolfx-scanner.l"
    2377 { return token::GHT_DO; }
    2378         YY_BREAK
    2379 case 103:
     2382{ return token::GHT_FOR; }
     2383        YY_BREAK
     2384case 104:
    23802385YY_RULE_SETUP
    23812386#line 188 "gpu/lolfx-scanner.l"
    2382 { return token::GHT_DOUBLE; }
    2383         YY_BREAK
    2384 case 104:
     2387{ return token::GHT_IF; }
     2388        YY_BREAK
     2389case 105:
    23852390YY_RULE_SETUP
    23862391#line 189 "gpu/lolfx-scanner.l"
    2387 { return token::GHT_ELSE; }
    2388         YY_BREAK
    2389 case 105:
     2392{ return token::GHT_IN; }
     2393        YY_BREAK
     2394case 106:
    23902395YY_RULE_SETUP
    23912396#line 190 "gpu/lolfx-scanner.l"
    2392 { return token::GHT_FLOAT; }
    2393         YY_BREAK
    2394 case 106:
     2397{ return token::GHT_INOUT; }
     2398        YY_BREAK
     2399case 107:
    23952400YY_RULE_SETUP
    23962401#line 191 "gpu/lolfx-scanner.l"
    2397 { return token::GHT_FOR; }
    2398         YY_BREAK
    2399 case 107:
     2402{ return token::GHT_INT; }
     2403        YY_BREAK
     2404case 108:
    24002405YY_RULE_SETUP
    24012406#line 192 "gpu/lolfx-scanner.l"
    2402 { return token::GHT_IF; }
    2403         YY_BREAK
    2404 case 108:
     2407{ return token::GHT_NOPERSPECTIVE; }
     2408        YY_BREAK
     2409case 109:
    24052410YY_RULE_SETUP
    24062411#line 193 "gpu/lolfx-scanner.l"
    2407 { return token::GHT_IN; }
    2408         YY_BREAK
    2409 case 109:
     2412{ return token::GHT_OUT; }
     2413        YY_BREAK
     2414case 110:
    24102415YY_RULE_SETUP
    24112416#line 194 "gpu/lolfx-scanner.l"
    2412 { return token::GHT_INOUT; }
    2413         YY_BREAK
    2414 case 110:
     2417{ return token::GHT_RETURN; }
     2418        YY_BREAK
     2419case 111:
    24152420YY_RULE_SETUP
    24162421#line 195 "gpu/lolfx-scanner.l"
    2417 { return token::GHT_INT; }
    2418         YY_BREAK
    2419 case 111:
     2422{ return token::GHT_SAMPLER1D; }
     2423        YY_BREAK
     2424case 112:
    24202425YY_RULE_SETUP
    24212426#line 196 "gpu/lolfx-scanner.l"
    2422 { return token::GHT_NOPERSPECTIVE; }
    2423         YY_BREAK
    2424 case 112:
     2427{ return token::GHT_SAMPLER2D; }
     2428        YY_BREAK
     2429case 113:
    24252430YY_RULE_SETUP
    24262431#line 197 "gpu/lolfx-scanner.l"
    2427 { return token::GHT_OUT; }
    2428         YY_BREAK
    2429 case 113:
     2432{ return token::GHT_SAMPLER3D; }
     2433        YY_BREAK
     2434case 114:
    24302435YY_RULE_SETUP
    24312436#line 198 "gpu/lolfx-scanner.l"
    2432 { return token::GHT_RETURN; }
    2433         YY_BREAK
    2434 case 114:
     2437{ return token::GHT_SAMPLERCUBE; }
     2438        YY_BREAK
     2439case 115:
    24352440YY_RULE_SETUP
    24362441#line 199 "gpu/lolfx-scanner.l"
    2437 { return token::GHT_SAMPLER1D; }
    2438         YY_BREAK
    2439 case 115:
     2442{ return token::GHT_STRUCT; }
     2443        YY_BREAK
     2444case 116:
    24402445YY_RULE_SETUP
    24412446#line 200 "gpu/lolfx-scanner.l"
    2442 { return token::GHT_SAMPLER2D; }
    2443         YY_BREAK
    2444 case 116:
     2447{ return token::GHT_SWITCH; }
     2448        YY_BREAK
     2449case 117:
    24452450YY_RULE_SETUP
    24462451#line 201 "gpu/lolfx-scanner.l"
    2447 { return token::GHT_SAMPLER3D; }
    2448         YY_BREAK
    2449 case 117:
     2452{ return token::GHT_UINT; }
     2453        YY_BREAK
     2454case 118:
    24502455YY_RULE_SETUP
    24512456#line 202 "gpu/lolfx-scanner.l"
    2452 { return token::GHT_SAMPLERCUBE; }
    2453         YY_BREAK
    2454 case 118:
     2457{ return token::GHT_UNIFORM; }
     2458        YY_BREAK
     2459case 119:
    24552460YY_RULE_SETUP
    24562461#line 203 "gpu/lolfx-scanner.l"
    2457 { return token::GHT_STRUCT; }
    2458         YY_BREAK
    2459 case 119:
     2462{ return token::GHT_VOID; }
     2463        YY_BREAK
     2464case 120:
    24602465YY_RULE_SETUP
    24612466#line 204 "gpu/lolfx-scanner.l"
    2462 { return token::GHT_SWITCH; }
    2463         YY_BREAK
    2464 case 120:
    2465 YY_RULE_SETUP
    2466 #line 205 "gpu/lolfx-scanner.l"
    2467 { return token::GHT_UINT; }
     2467{ return token::GHT_WHILE; }
    24682468        YY_BREAK
    24692469case 121:
    24702470YY_RULE_SETUP
    24712471#line 206 "gpu/lolfx-scanner.l"
    2472 { return token::GHT_UNIFORM; }
     2472{ return token::HGT_BOOL; }
    24732473        YY_BREAK
    24742474case 122:
    24752475YY_RULE_SETUP
    24762476#line 207 "gpu/lolfx-scanner.l"
    2477 { return token::GHT_VOID; }
     2477{ return token::HGT_BREAK; }
    24782478        YY_BREAK
    24792479case 123:
    24802480YY_RULE_SETUP
    24812481#line 208 "gpu/lolfx-scanner.l"
    2482 { return token::GHT_WHILE; }
     2482{ return token::HGT_CASE; }
    24832483        YY_BREAK
    24842484case 124:
    24852485YY_RULE_SETUP
     2486#line 209 "gpu/lolfx-scanner.l"
     2487{ return token::HGT_CENTROID; }
     2488        YY_BREAK
     2489case 125:
     2490YY_RULE_SETUP
    24862491#line 210 "gpu/lolfx-scanner.l"
    2487 { return token::HGT_BOOL; }
    2488         YY_BREAK
    2489 case 125:
     2492{ return token::HGT_CONST; }
     2493        YY_BREAK
     2494case 126:
    24902495YY_RULE_SETUP
    24912496#line 211 "gpu/lolfx-scanner.l"
    2492 { return token::HGT_BREAK; }
    2493         YY_BREAK
    2494 case 126:
     2497{ return token::HGT_CONTINUE; }
     2498        YY_BREAK
     2499case 127:
    24952500YY_RULE_SETUP
    24962501#line 212 "gpu/lolfx-scanner.l"
    2497 { return token::HGT_CASE; }
    2498         YY_BREAK
    2499 case 127:
     2502{ return token::HGT_DEFAULT; }
     2503        YY_BREAK
     2504case 128:
    25002505YY_RULE_SETUP
    25012506#line 213 "gpu/lolfx-scanner.l"
    2502 { return token::HGT_CENTROID; }
    2503         YY_BREAK
    2504 case 128:
     2507{ return token::HGT_DISCARD; }
     2508        YY_BREAK
     2509case 129:
    25052510YY_RULE_SETUP
    25062511#line 214 "gpu/lolfx-scanner.l"
    2507 { return token::HGT_CONST; }
    2508         YY_BREAK
    2509 case 129:
     2512{ return token::HGT_DO; }
     2513        YY_BREAK
     2514case 130:
    25102515YY_RULE_SETUP
    25112516#line 215 "gpu/lolfx-scanner.l"
    2512 { return token::HGT_CONTINUE; }
    2513         YY_BREAK
    2514 case 130:
     2517{ return token::HGT_DOUBLE; }
     2518        YY_BREAK
     2519case 131:
    25152520YY_RULE_SETUP
    25162521#line 216 "gpu/lolfx-scanner.l"
    2517 { return token::HGT_DEFAULT; }
    2518         YY_BREAK
    2519 case 131:
     2522{ return token::HGT_ELSE; }
     2523        YY_BREAK
     2524case 132:
    25202525YY_RULE_SETUP
    25212526#line 217 "gpu/lolfx-scanner.l"
    2522 { return token::HGT_DISCARD; }
    2523         YY_BREAK
    2524 case 132:
     2527{ return token::HGT_FLOAT; }
     2528        YY_BREAK
     2529case 133:
    25252530YY_RULE_SETUP
    25262531#line 218 "gpu/lolfx-scanner.l"
    2527 { return token::HGT_DO; }
    2528         YY_BREAK
    2529 case 133:
     2532{ return token::HGT_FOR; }
     2533        YY_BREAK
     2534case 134:
    25302535YY_RULE_SETUP
    25312536#line 219 "gpu/lolfx-scanner.l"
    2532 { return token::HGT_DOUBLE; }
    2533         YY_BREAK
    2534 case 134:
     2537{ return token::HGT_IF; }
     2538        YY_BREAK
     2539case 135:
    25352540YY_RULE_SETUP
    25362541#line 220 "gpu/lolfx-scanner.l"
    2537 { return token::HGT_ELSE; }
    2538         YY_BREAK
    2539 case 135:
     2542{ return token::HGT_IN; }
     2543        YY_BREAK
     2544case 136:
    25402545YY_RULE_SETUP
    25412546#line 221 "gpu/lolfx-scanner.l"
    2542 { return token::HGT_FLOAT; }
    2543         YY_BREAK
    2544 case 136:
     2547{ return token::HGT_INOUT; }
     2548        YY_BREAK
     2549case 137:
    25452550YY_RULE_SETUP
    25462551#line 222 "gpu/lolfx-scanner.l"
    2547 { return token::HGT_FOR; }
    2548         YY_BREAK
    2549 case 137:
     2552{ return token::HGT_INT; }
     2553        YY_BREAK
     2554case 138:
    25502555YY_RULE_SETUP
    25512556#line 223 "gpu/lolfx-scanner.l"
    2552 { return token::HGT_IF; }
    2553         YY_BREAK
    2554 case 138:
     2557{ return token::HGT_NOPERSPECTIVE; }
     2558        YY_BREAK
     2559case 139:
    25552560YY_RULE_SETUP
    25562561#line 224 "gpu/lolfx-scanner.l"
    2557 { return token::HGT_IN; }
    2558         YY_BREAK
    2559 case 139:
     2562{ return token::HGT_OUT; }
     2563        YY_BREAK
     2564case 140:
    25602565YY_RULE_SETUP
    25612566#line 225 "gpu/lolfx-scanner.l"
    2562 { return token::HGT_INOUT; }
    2563         YY_BREAK
    2564 case 140:
     2567{ return token::HGT_RETURN; }
     2568        YY_BREAK
     2569case 141:
    25652570YY_RULE_SETUP
    25662571#line 226 "gpu/lolfx-scanner.l"
    2567 { return token::HGT_INT; }
    2568         YY_BREAK
    2569 case 141:
     2572{ return token::HGT_SAMPLER1D; }
     2573        YY_BREAK
     2574case 142:
    25702575YY_RULE_SETUP
    25712576#line 227 "gpu/lolfx-scanner.l"
    2572 { return token::HGT_NOPERSPECTIVE; }
    2573         YY_BREAK
    2574 case 142:
     2577{ return token::HGT_SAMPLER2D; }
     2578        YY_BREAK
     2579case 143:
    25752580YY_RULE_SETUP
    25762581#line 228 "gpu/lolfx-scanner.l"
    2577 { return token::HGT_OUT; }
    2578         YY_BREAK
    2579 case 143:
     2582{ return token::HGT_SAMPLER3D; }
     2583        YY_BREAK
     2584case 144:
    25802585YY_RULE_SETUP
    25812586#line 229 "gpu/lolfx-scanner.l"
    2582 { return token::HGT_RETURN; }
    2583         YY_BREAK
    2584 case 144:
     2587{ return token::HGT_SAMPLERCUBE; }
     2588        YY_BREAK
     2589case 145:
    25852590YY_RULE_SETUP
    25862591#line 230 "gpu/lolfx-scanner.l"
    2587 { return token::HGT_SAMPLER1D; }
    2588         YY_BREAK
    2589 case 145:
     2592{ return token::HGT_STRUCT; }
     2593        YY_BREAK
     2594case 146:
    25902595YY_RULE_SETUP
    25912596#line 231 "gpu/lolfx-scanner.l"
    2592 { return token::HGT_SAMPLER2D; }
    2593         YY_BREAK
    2594 case 146:
     2597{ return token::HGT_SWITCH; }
     2598        YY_BREAK
     2599case 147:
    25952600YY_RULE_SETUP
    25962601#line 232 "gpu/lolfx-scanner.l"
    2597 { return token::HGT_SAMPLER3D; }
    2598         YY_BREAK
    2599 case 147:
     2602{ return token::HGT_UINT; }
     2603        YY_BREAK
     2604case 148:
    26002605YY_RULE_SETUP
    26012606#line 233 "gpu/lolfx-scanner.l"
    2602 { return token::HGT_SAMPLERCUBE; }
    2603         YY_BREAK
    2604 case 148:
     2607{ return token::HGT_UNIFORM; }
     2608        YY_BREAK
     2609case 149:
    26052610YY_RULE_SETUP
    26062611#line 234 "gpu/lolfx-scanner.l"
    2607 { return token::HGT_STRUCT; }
    2608         YY_BREAK
    2609 case 149:
     2612{ return token::HGT_VOID; }
     2613        YY_BREAK
     2614case 150:
    26102615YY_RULE_SETUP
    26112616#line 235 "gpu/lolfx-scanner.l"
    2612 { return token::HGT_SWITCH; }
    2613         YY_BREAK
    2614 case 150:
    2615 YY_RULE_SETUP
    2616 #line 236 "gpu/lolfx-scanner.l"
    2617 { return token::HGT_UINT; }
    2618         YY_BREAK
    2619 case 151:
    2620 YY_RULE_SETUP
    2621 #line 237 "gpu/lolfx-scanner.l"
    2622 { return token::HGT_UNIFORM; }
    2623         YY_BREAK
    2624 case 152:
    2625 YY_RULE_SETUP
    2626 #line 238 "gpu/lolfx-scanner.l"
    2627 { return token::HGT_VOID; }
    2628         YY_BREAK
    2629 case 153:
    2630 YY_RULE_SETUP
    2631 #line 239 "gpu/lolfx-scanner.l"
    26322617{ return token::HGT_WHILE; }
    26332618        YY_BREAK
     
    26362621  * Gathered from http://msdn.microsoft.com/en-us/library/windows/desktop/bb509568%28v=vs.85%29.aspx
    26372622  */
     2623case 151:
     2624YY_RULE_SETUP
     2625#line 242 "gpu/lolfx-scanner.l"
     2626{ return token::HT_APPENDSTRUCTUREDBUFFER; }
     2627        YY_BREAK
     2628case 152:
     2629YY_RULE_SETUP
     2630#line 243 "gpu/lolfx-scanner.l"
     2631{ return token::HT_ASM; }
     2632        YY_BREAK
     2633case 153:
     2634YY_RULE_SETUP
     2635#line 244 "gpu/lolfx-scanner.l"
     2636{ return token::HT_ASM_FRAGMENT; }
     2637        YY_BREAK
    26382638case 154:
    26392639YY_RULE_SETUP
     2640#line 245 "gpu/lolfx-scanner.l"
     2641{ return token::HT_BLENDSTATE; }
     2642        YY_BREAK
     2643case 155:
     2644YY_RULE_SETUP
    26402645#line 246 "gpu/lolfx-scanner.l"
    2641 { return token::HT_APPENDSTRUCTUREDBUFFER; }
    2642         YY_BREAK
    2643 case 155:
     2646{ return token::HT_BUFFER; }
     2647        YY_BREAK
     2648case 156:
    26442649YY_RULE_SETUP
    26452650#line 247 "gpu/lolfx-scanner.l"
    2646 { return token::HT_ASM; }
    2647         YY_BREAK
    2648 case 156:
     2651{ return token::HT_BYTEADDRESSBUFFER; }
     2652        YY_BREAK
     2653case 157:
    26492654YY_RULE_SETUP
    26502655#line 248 "gpu/lolfx-scanner.l"
    2651 { return token::HT_ASM_FRAGMENT; }
    2652         YY_BREAK
    2653 case 157:
     2656{ return token::HT_CBUFFER; }
     2657        YY_BREAK
     2658case 158:
    26542659YY_RULE_SETUP
    26552660#line 249 "gpu/lolfx-scanner.l"
    2656 { return token::HT_BLENDSTATE; }
    2657         YY_BREAK
    2658 case 158:
     2661{ return token::HT_COLUMN_MAJOR; }
     2662        YY_BREAK
     2663case 159:
    26592664YY_RULE_SETUP
    26602665#line 250 "gpu/lolfx-scanner.l"
    2661 { return token::HT_BUFFER; }
    2662         YY_BREAK
    2663 case 159:
     2666{ return token::HT_COMPILE; }
     2667        YY_BREAK
     2668case 160:
    26642669YY_RULE_SETUP
    26652670#line 251 "gpu/lolfx-scanner.l"
    2666 { return token::HT_BYTEADDRESSBUFFER; }
    2667         YY_BREAK
    2668 case 160:
     2671{ return token::HT_COMPILE_FRAGMENT; }
     2672        YY_BREAK
     2673case 161:
    26692674YY_RULE_SETUP
    26702675#line 252 "gpu/lolfx-scanner.l"
    2671 { return token::HT_CBUFFER; }
    2672         YY_BREAK
    2673 case 161:
     2676{ return token::HT_COMPILESHADER; }
     2677        YY_BREAK
     2678case 162:
    26742679YY_RULE_SETUP
    26752680#line 253 "gpu/lolfx-scanner.l"
    2676 { return token::HT_COLUMN_MAJOR; }
    2677         YY_BREAK
    2678 case 162:
     2681{ return token::HT_COMPUTESHADER; }
     2682        YY_BREAK
     2683case 163:
    26792684YY_RULE_SETUP
    26802685#line 254 "gpu/lolfx-scanner.l"
    2681 { return token::HT_COMPILE; }
    2682         YY_BREAK
    2683 case 163:
     2686{ return token::HT_CONSUMESTRUCTUREDBUFFER; }
     2687        YY_BREAK
     2688case 164:
    26842689YY_RULE_SETUP
    26852690#line 255 "gpu/lolfx-scanner.l"
    2686 { return token::HT_COMPILE_FRAGMENT; }
    2687         YY_BREAK
    2688 case 164:
     2691{ return token::HT_DEPTHSTENCILSTATE; }
     2692        YY_BREAK
     2693case 165:
    26892694YY_RULE_SETUP
    26902695#line 256 "gpu/lolfx-scanner.l"
    2691 { return token::HT_COMPILESHADER; }
    2692         YY_BREAK
    2693 case 165:
     2696{ return token::HT_DEPTHSTENCILVIEW; }
     2697        YY_BREAK
     2698case 166:
    26942699YY_RULE_SETUP
    26952700#line 257 "gpu/lolfx-scanner.l"
    2696 { return token::HT_COMPUTESHADER; }
    2697         YY_BREAK
    2698 case 166:
     2701{ return token::HT_DOMAINSHADER; }
     2702        YY_BREAK
     2703case 167:
    26992704YY_RULE_SETUP
    27002705#line 258 "gpu/lolfx-scanner.l"
    2701 { return token::HT_CONSUMESTRUCTUREDBUFFER; }
    2702         YY_BREAK
    2703 case 167:
     2706{ return token::HT_DWORD; }
     2707        YY_BREAK
     2708case 168:
    27042709YY_RULE_SETUP
    27052710#line 259 "gpu/lolfx-scanner.l"
    2706 { return token::HT_DEPTHSTENCILSTATE; }
    2707         YY_BREAK
    2708 case 168:
     2711{ return token::HT_EXTERN; }
     2712        YY_BREAK
     2713case 169:
    27092714YY_RULE_SETUP
    27102715#line 260 "gpu/lolfx-scanner.l"
    2711 { return token::HT_DEPTHSTENCILVIEW; }
    2712         YY_BREAK
    2713 case 169:
     2716{ return token::HT_FALSE; }
     2717        YY_BREAK
     2718case 170:
    27142719YY_RULE_SETUP
    27152720#line 261 "gpu/lolfx-scanner.l"
    2716 { return token::HT_DOMAINSHADER; }
    2717         YY_BREAK
    2718 case 170:
     2721{ return token::HT_FXGROUP; }
     2722        YY_BREAK
     2723case 171:
    27192724YY_RULE_SETUP
    27202725#line 262 "gpu/lolfx-scanner.l"
    2721 { return token::HT_DWORD; }
    2722         YY_BREAK
    2723 case 171:
     2726{ return token::HT_GEOMETRYSHADER; }
     2727        YY_BREAK
     2728case 172:
    27242729YY_RULE_SETUP
    27252730#line 263 "gpu/lolfx-scanner.l"
    2726 { return token::HT_EXTERN; }
    2727         YY_BREAK
    2728 case 172:
     2731{ return token::HT_GROUPSHARED; }
     2732        YY_BREAK
     2733case 173:
    27292734YY_RULE_SETUP
    27302735#line 264 "gpu/lolfx-scanner.l"
    2731 { return token::HT_FALSE; }
    2732         YY_BREAK
    2733 case 173:
     2736{ return token::HT_HALF; }
     2737        YY_BREAK
     2738case 174:
    27342739YY_RULE_SETUP
    27352740#line 265 "gpu/lolfx-scanner.l"
    2736 { return token::HT_FXGROUP; }
    2737         YY_BREAK
    2738 case 174:
     2741{ return token::HT_HULLSHADER; }
     2742        YY_BREAK
     2743case 175:
    27392744YY_RULE_SETUP
    27402745#line 266 "gpu/lolfx-scanner.l"
    2741 { return token::HT_GEOMETRYSHADER; }
    2742         YY_BREAK
    2743 case 175:
     2746{ return token::HT_INLINE; }
     2747        YY_BREAK
     2748case 176:
    27442749YY_RULE_SETUP
    27452750#line 267 "gpu/lolfx-scanner.l"
    2746 { return token::HT_GROUPSHARED; }
    2747         YY_BREAK
    2748 case 176:
     2751{ return token::HT_INPUTPATCH; }
     2752        YY_BREAK
     2753case 177:
    27492754YY_RULE_SETUP
    27502755#line 268 "gpu/lolfx-scanner.l"
    2751 { return token::HT_HALF; }
    2752         YY_BREAK
    2753 case 177:
     2756{ return token::HT_INTERFACE; }
     2757        YY_BREAK
     2758case 178:
    27542759YY_RULE_SETUP
    27552760#line 269 "gpu/lolfx-scanner.l"
    2756 { return token::HT_HULLSHADER; }
    2757         YY_BREAK
    2758 case 178:
     2761{ return token::HT_LINE; }
     2762        YY_BREAK
     2763case 179:
    27592764YY_RULE_SETUP
    27602765#line 270 "gpu/lolfx-scanner.l"
    2761 { return token::HT_INLINE; }
    2762         YY_BREAK
    2763 case 179:
     2766{ return token::HT_LINEADJ; }
     2767        YY_BREAK
     2768case 180:
    27642769YY_RULE_SETUP
    27652770#line 271 "gpu/lolfx-scanner.l"
    2766 { return token::HT_INPUTPATCH; }
    2767         YY_BREAK
    2768 case 180:
     2771{ return token::HT_LINEAR; }
     2772        YY_BREAK
     2773case 181:
    27692774YY_RULE_SETUP
    27702775#line 272 "gpu/lolfx-scanner.l"
    2771 { return token::HT_INTERFACE; }
    2772         YY_BREAK
    2773 case 181:
     2776{ return token::HT_LINESTREAM; }
     2777        YY_BREAK
     2778case 182:
    27742779YY_RULE_SETUP
    27752780#line 273 "gpu/lolfx-scanner.l"
    2776 { return token::HT_LINE; }
    2777         YY_BREAK
    2778 case 182:
     2781{ return token::HT_MATRIX; }
     2782        YY_BREAK
     2783case 183:
    27792784YY_RULE_SETUP
    27802785#line 274 "gpu/lolfx-scanner.l"
    2781 { return token::HT_LINEADJ; }
    2782         YY_BREAK
    2783 case 183:
     2786{ return token::HT_NAMESPACE; }
     2787        YY_BREAK
     2788case 184:
    27842789YY_RULE_SETUP
    27852790#line 275 "gpu/lolfx-scanner.l"
    2786 { return token::HT_LINEAR; }
    2787         YY_BREAK
    2788 case 184:
     2791{ return token::HT_NOINTERPOLATION; }
     2792        YY_BREAK
     2793case 185:
    27892794YY_RULE_SETUP
    27902795#line 276 "gpu/lolfx-scanner.l"
    2791 { return token::HT_LINESTREAM; }
    2792         YY_BREAK
    2793 case 185:
     2796{ return token::HT_NULL; }
     2797        YY_BREAK
     2798case 186:
    27942799YY_RULE_SETUP
    27952800#line 277 "gpu/lolfx-scanner.l"
    2796 { return token::HT_MATRIX; }
    2797         YY_BREAK
    2798 case 186:
     2801{ return token::HT_OUTPUTPATCH; }
     2802        YY_BREAK
     2803case 187:
    27992804YY_RULE_SETUP
    28002805#line 278 "gpu/lolfx-scanner.l"
    2801 { return token::HT_NAMESPACE; }
    2802         YY_BREAK
    2803 case 187:
     2806{ return token::HT_PACKOFFSET; }
     2807        YY_BREAK
     2808case 188:
    28042809YY_RULE_SETUP
    28052810#line 279 "gpu/lolfx-scanner.l"
    2806 { return token::HT_NOINTERPOLATION; }
    2807         YY_BREAK
    2808 case 188:
     2811{ return token::HT_PASS; }
     2812        YY_BREAK
     2813case 189:
    28092814YY_RULE_SETUP
    28102815#line 280 "gpu/lolfx-scanner.l"
    2811 { return token::HT_NULL; }
    2812         YY_BREAK
    2813 case 189:
     2816{ return token::HT_PIXELFRAGMENT; }
     2817        YY_BREAK
     2818case 190:
    28142819YY_RULE_SETUP
    28152820#line 281 "gpu/lolfx-scanner.l"
    2816 { return token::HT_OUTPUTPATCH; }
    2817         YY_BREAK
    2818 case 190:
     2821{ return token::HT_PIXELSHADER; }
     2822        YY_BREAK
     2823case 191:
    28192824YY_RULE_SETUP
    28202825#line 282 "gpu/lolfx-scanner.l"
    2821 { return token::HT_PACKOFFSET; }
    2822         YY_BREAK
    2823 case 191:
     2826{ return token::HT_POINT; }
     2827        YY_BREAK
     2828case 192:
    28242829YY_RULE_SETUP
    28252830#line 283 "gpu/lolfx-scanner.l"
    2826 { return token::HT_PASS; }
    2827         YY_BREAK
    2828 case 192:
     2831{ return token::HT_POINTSTREAM; }
     2832        YY_BREAK
     2833case 193:
    28292834YY_RULE_SETUP
    28302835#line 284 "gpu/lolfx-scanner.l"
    2831 { return token::HT_PIXELFRAGMENT; }
    2832         YY_BREAK
    2833 case 193:
     2836{ return token::HT_PRECISE; }
     2837        YY_BREAK
     2838case 194:
    28342839YY_RULE_SETUP
    28352840#line 285 "gpu/lolfx-scanner.l"
    2836 { return token::HT_PIXELSHADER; }
    2837         YY_BREAK
    2838 case 194:
     2841{ return token::HT_RASTERIZERSTATE; }
     2842        YY_BREAK
     2843case 195:
    28392844YY_RULE_SETUP
    28402845#line 286 "gpu/lolfx-scanner.l"
    2841 { return token::HT_POINT; }
    2842         YY_BREAK
    2843 case 195:
     2846{ return token::HT_RENDERTARGETVIEW; }
     2847        YY_BREAK
     2848case 196:
    28442849YY_RULE_SETUP
    28452850#line 287 "gpu/lolfx-scanner.l"
    2846 { return token::HT_POINTSTREAM; }
    2847         YY_BREAK
    2848 case 196:
     2851{ return token::HT_REGISTER; }
     2852        YY_BREAK
     2853case 197:
    28492854YY_RULE_SETUP
    28502855#line 288 "gpu/lolfx-scanner.l"
    2851 { return token::HT_PRECISE; }
    2852         YY_BREAK
    2853 case 197:
     2856{ return token::HT_ROW_MAJOR; }
     2857        YY_BREAK
     2858case 198:
    28542859YY_RULE_SETUP
    28552860#line 289 "gpu/lolfx-scanner.l"
    2856 { return token::HT_RASTERIZERSTATE; }
    2857         YY_BREAK
    2858 case 198:
     2861{ return token::HT_RWBUFFER; }
     2862        YY_BREAK
     2863case 199:
    28592864YY_RULE_SETUP
    28602865#line 290 "gpu/lolfx-scanner.l"
    2861 { return token::HT_RENDERTARGETVIEW; }
    2862         YY_BREAK
    2863 case 199:
     2866{ return token::HT_RWBYTEADDRESSBUFFER; }
     2867        YY_BREAK
     2868case 200:
    28642869YY_RULE_SETUP
    28652870#line 291 "gpu/lolfx-scanner.l"
    2866 { return token::HT_REGISTER; }
    2867         YY_BREAK
    2868 case 200:
     2871{ return token::HT_RWSTRUCTUREDBUFFER; }
     2872        YY_BREAK
     2873case 201:
    28692874YY_RULE_SETUP
    28702875#line 292 "gpu/lolfx-scanner.l"
    2871 { return token::HT_ROW_MAJOR; }
    2872         YY_BREAK
    2873 case 201:
     2876{ return token::HT_RWTEXTURE1D; }
     2877        YY_BREAK
     2878case 202:
    28742879YY_RULE_SETUP
    28752880#line 293 "gpu/lolfx-scanner.l"
    2876 { return token::HT_RWBUFFER; }
    2877         YY_BREAK
    2878 case 202:
     2881{ return token::HT_RWTEXTURE1DARRAY; }
     2882        YY_BREAK
     2883case 203:
    28792884YY_RULE_SETUP
    28802885#line 294 "gpu/lolfx-scanner.l"
    2881 { return token::HT_RWBYTEADDRESSBUFFER; }
    2882         YY_BREAK
    2883 case 203:
     2886{ return token::HT_RWTEXTURE2D; }
     2887        YY_BREAK
     2888case 204:
    28842889YY_RULE_SETUP
    28852890#line 295 "gpu/lolfx-scanner.l"
    2886 { return token::HT_RWSTRUCTUREDBUFFER; }
    2887         YY_BREAK
    2888 case 204:
     2891{ return token::HT_RWTEXTURE2DARRAY; }
     2892        YY_BREAK
     2893case 205:
    28892894YY_RULE_SETUP
    28902895#line 296 "gpu/lolfx-scanner.l"
    2891 { return token::HT_RWTEXTURE1D; }
    2892         YY_BREAK
    2893 case 205:
     2896{ return token::HT_RWTEXTURE3D; }
     2897        YY_BREAK
     2898case 206:
    28942899YY_RULE_SETUP
    28952900#line 297 "gpu/lolfx-scanner.l"
    2896 { return token::HT_RWTEXTURE1DARRAY; }
    2897         YY_BREAK
    2898 case 206:
     2901{ return token::HT_SAMPLER; }
     2902        YY_BREAK
     2903case 207:
    28992904YY_RULE_SETUP
    29002905#line 298 "gpu/lolfx-scanner.l"
    2901 { return token::HT_RWTEXTURE2D; }
    2902         YY_BREAK
    2903 case 207:
     2906{ return token::HT_SAMPLER_STATE; }
     2907        YY_BREAK
     2908case 208:
    29042909YY_RULE_SETUP
    29052910#line 299 "gpu/lolfx-scanner.l"
    2906 { return token::HT_RWTEXTURE2DARRAY; }
    2907         YY_BREAK
    2908 case 208:
     2911{ return token::HT_SAMPLERSTATE; }
     2912        YY_BREAK
     2913case 209:
    29092914YY_RULE_SETUP
    29102915#line 300 "gpu/lolfx-scanner.l"
    2911 { return token::HT_RWTEXTURE3D; }
    2912         YY_BREAK
    2913 case 209:
     2916{ return token::HT_SAMPLERCOMPARISONSTATE; }
     2917        YY_BREAK
     2918case 210:
    29142919YY_RULE_SETUP
    29152920#line 301 "gpu/lolfx-scanner.l"
    2916 { return token::HT_SAMPLER; }
    2917         YY_BREAK
    2918 case 210:
     2921{ return token::HT_SHARED; }
     2922        YY_BREAK
     2923case 211:
    29192924YY_RULE_SETUP
    29202925#line 302 "gpu/lolfx-scanner.l"
    2921 { return token::HT_SAMPLER_STATE; }
    2922         YY_BREAK
    2923 case 211:
     2926{ return token::HT_SNORM; }
     2927        YY_BREAK
     2928case 212:
    29242929YY_RULE_SETUP
    29252930#line 303 "gpu/lolfx-scanner.l"
    2926 { return token::HT_SAMPLERSTATE; }
    2927         YY_BREAK
    2928 case 212:
     2931{ return token::HT_STATEBLOCK; }
     2932        YY_BREAK
     2933case 213:
    29292934YY_RULE_SETUP
    29302935#line 304 "gpu/lolfx-scanner.l"
    2931 { return token::HT_SAMPLERCOMPARISONSTATE; }
    2932         YY_BREAK
    2933 case 213:
     2936{ return token::HT_STATEBLOCK_STATE; }
     2937        YY_BREAK
     2938case 214:
    29342939YY_RULE_SETUP
    29352940#line 305 "gpu/lolfx-scanner.l"
    2936 { return token::HT_SHARED; }
    2937         YY_BREAK
    2938 case 214:
     2941{ return token::HT_STATIC; }
     2942        YY_BREAK
     2943case 215:
    29392944YY_RULE_SETUP
    29402945#line 306 "gpu/lolfx-scanner.l"
    2941 { return token::HT_SNORM; }
    2942         YY_BREAK
    2943 case 215:
     2946{ return token::HT_STRING; }
     2947        YY_BREAK
     2948case 216:
    29442949YY_RULE_SETUP
    29452950#line 307 "gpu/lolfx-scanner.l"
    2946 { return token::HT_STATEBLOCK; }
    2947         YY_BREAK
    2948 case 216:
     2951{ return token::HT_STRUCTUREDBUFFER; }
     2952        YY_BREAK
     2953case 217:
    29492954YY_RULE_SETUP
    29502955#line 308 "gpu/lolfx-scanner.l"
    2951 { return token::HT_STATEBLOCK_STATE; }
    2952         YY_BREAK
    2953 case 217:
     2956{ return token::HT_TBUFFER; }
     2957        YY_BREAK
     2958case 218:
    29542959YY_RULE_SETUP
    29552960#line 309 "gpu/lolfx-scanner.l"
    2956 { return token::HT_STATIC; }
    2957         YY_BREAK
    2958 case 218:
     2961{ return token::HT_TECHNIQUE; }
     2962        YY_BREAK
     2963case 219:
    29592964YY_RULE_SETUP
    29602965#line 310 "gpu/lolfx-scanner.l"
    2961 { return token::HT_STRING; }
    2962         YY_BREAK
    2963 case 219:
     2966{ return token::HT_TECHNIQUE10; }
     2967        YY_BREAK
     2968case 220:
    29642969YY_RULE_SETUP
    29652970#line 311 "gpu/lolfx-scanner.l"
    2966 { return token::HT_STRUCTUREDBUFFER; }
    2967         YY_BREAK
    2968 case 220:
     2971{ return token::HT_TECHNIQUE11XZ; }
     2972        YY_BREAK
     2973case 221:
    29692974YY_RULE_SETUP
    29702975#line 312 "gpu/lolfx-scanner.l"
    2971 { return token::HT_TBUFFER; }
    2972         YY_BREAK
    2973 case 221:
     2976{ return token::HT_TEXTURE; }
     2977        YY_BREAK
     2978case 222:
    29742979YY_RULE_SETUP
    29752980#line 313 "gpu/lolfx-scanner.l"
    2976 { return token::HT_TECHNIQUE; }
    2977         YY_BREAK
    2978 case 222:
     2981{ return token::HT_TEXTURE1D; }
     2982        YY_BREAK
     2983case 223:
    29792984YY_RULE_SETUP
    29802985#line 314 "gpu/lolfx-scanner.l"
    2981 { return token::HT_TECHNIQUE10; }
    2982         YY_BREAK
    2983 case 223:
     2986{ return token::HT_TEXTURE1DARRAY; }
     2987        YY_BREAK
     2988case 224:
    29842989YY_RULE_SETUP
    29852990#line 315 "gpu/lolfx-scanner.l"
    2986 { return token::HT_TECHNIQUE11XZ; }
    2987         YY_BREAK
    2988 case 224:
     2991{ return token::HT_TEXTURE2D; }
     2992        YY_BREAK
     2993case 225:
    29892994YY_RULE_SETUP
    29902995#line 316 "gpu/lolfx-scanner.l"
    2991 { return token::HT_TEXTURE; }
    2992         YY_BREAK
    2993 case 225:
     2996{ return token::HT_TEXTURE2DARRAY; }
     2997        YY_BREAK
     2998case 226:
    29942999YY_RULE_SETUP
    29953000#line 317 "gpu/lolfx-scanner.l"
    2996 { return token::HT_TEXTURE1D; }
    2997         YY_BREAK
    2998 case 226:
     3001{ return token::HT_TEXTURE2DMS; }
     3002        YY_BREAK
     3003case 227:
    29993004YY_RULE_SETUP
    30003005#line 318 "gpu/lolfx-scanner.l"
    3001 { return token::HT_TEXTURE1DARRAY; }
    3002         YY_BREAK
    3003 case 227:
     3006{ return token::HT_TEXTURE2DMSARRAY; }
     3007        YY_BREAK
     3008case 228:
    30043009YY_RULE_SETUP
    30053010#line 319 "gpu/lolfx-scanner.l"
    3006 { return token::HT_TEXTURE2D; }
    3007         YY_BREAK
    3008 case 228:
     3011{ return token::HT_TEXTURE3D; }
     3012        YY_BREAK
     3013case 229:
    30093014YY_RULE_SETUP
    30103015#line 320 "gpu/lolfx-scanner.l"
    3011 { return token::HT_TEXTURE2DARRAY; }
    3012         YY_BREAK
    3013 case 229:
     3016{ return token::HT_TEXTURECUBE; }
     3017        YY_BREAK
     3018case 230:
    30143019YY_RULE_SETUP
    30153020#line 321 "gpu/lolfx-scanner.l"
    3016 { return token::HT_TEXTURE2DMS; }
    3017         YY_BREAK
    3018 case 230:
     3021{ return token::HT_TEXTURECUBEARRAY; }
     3022        YY_BREAK
     3023case 231:
    30193024YY_RULE_SETUP
    30203025#line 322 "gpu/lolfx-scanner.l"
    3021 { return token::HT_TEXTURE2DMSARRAY; }
    3022         YY_BREAK
    3023 case 231:
     3026{ return token::HT_TRUE; }
     3027        YY_BREAK
     3028case 232:
    30243029YY_RULE_SETUP
    30253030#line 323 "gpu/lolfx-scanner.l"
    3026 { return token::HT_TEXTURE3D; }
    3027         YY_BREAK
    3028 case 232:
     3031{ return token::HT_TYPEDEF; }
     3032        YY_BREAK
     3033case 233:
    30293034YY_RULE_SETUP
    30303035#line 324 "gpu/lolfx-scanner.l"
    3031 { return token::HT_TEXTURECUBE; }
    3032         YY_BREAK
    3033 case 233:
     3036{ return token::HT_TRIANGLE; }
     3037        YY_BREAK
     3038case 234:
    30343039YY_RULE_SETUP
    30353040#line 325 "gpu/lolfx-scanner.l"
    3036 { return token::HT_TEXTURECUBEARRAY; }
    3037         YY_BREAK
    3038 case 234:
     3041{ return token::HT_TRIANGLEADJ; }
     3042        YY_BREAK
     3043case 235:
    30393044YY_RULE_SETUP
    30403045#line 326 "gpu/lolfx-scanner.l"
    3041 { return token::HT_TRUE; }
    3042         YY_BREAK
    3043 case 235:
     3046{ return token::HT_TRIANGLESTREAM; }
     3047        YY_BREAK
     3048case 236:
    30443049YY_RULE_SETUP
    30453050#line 327 "gpu/lolfx-scanner.l"
    3046 { return token::HT_TYPEDEF; }
    3047         YY_BREAK
    3048 case 236:
     3051{ return token::HT_UNORM; }
     3052        YY_BREAK
     3053case 237:
    30493054YY_RULE_SETUP
    30503055#line 328 "gpu/lolfx-scanner.l"
    3051 { return token::HT_TRIANGLE; }
    3052         YY_BREAK
    3053 case 237:
     3056{ return token::HT_VECTOR; }
     3057        YY_BREAK
     3058case 238:
    30543059YY_RULE_SETUP
    30553060#line 329 "gpu/lolfx-scanner.l"
    3056 { return token::HT_TRIANGLEADJ; }
    3057         YY_BREAK
    3058 case 238:
     3061{ return token::HT_VERTEXFRAGMENT; }
     3062        YY_BREAK
     3063case 239:
    30593064YY_RULE_SETUP
    30603065#line 330 "gpu/lolfx-scanner.l"
    3061 { return token::HT_TRIANGLESTREAM; }
    3062         YY_BREAK
    3063 case 239:
     3066{ return token::HT_VERTEXSHADER; }
     3067        YY_BREAK
     3068case 240:
    30643069YY_RULE_SETUP
    30653070#line 331 "gpu/lolfx-scanner.l"
    3066 { return token::HT_UNORM; }
    3067         YY_BREAK
    3068 case 240:
    3069 YY_RULE_SETUP
    3070 #line 332 "gpu/lolfx-scanner.l"
    3071 { return token::HT_VECTOR; }
    3072         YY_BREAK
    3073 case 241:
    3074 YY_RULE_SETUP
    3075 #line 333 "gpu/lolfx-scanner.l"
    3076 { return token::HT_VERTEXFRAGMENT; }
    3077         YY_BREAK
    3078 case 242:
    3079 YY_RULE_SETUP
    3080 #line 334 "gpu/lolfx-scanner.l"
    3081 { return token::HT_VERTEXSHADER; }
    3082         YY_BREAK
    3083 case 243:
    3084 YY_RULE_SETUP
    3085 #line 335 "gpu/lolfx-scanner.l"
    30863071{ return token::HT_VOLATILE; }
    30873072        YY_BREAK
     
    30903075  * TODO: this can probably be factored somehow
    30913076  */
     3077case 241:
     3078YY_RULE_SETUP
     3079#line 338 "gpu/lolfx-scanner.l"
     3080{ return token::HT_BOOL1; }
     3081        YY_BREAK
     3082case 242:
     3083YY_RULE_SETUP
     3084#line 339 "gpu/lolfx-scanner.l"
     3085{ return token::HT_BOOL1x1; }
     3086        YY_BREAK
     3087case 243:
     3088YY_RULE_SETUP
     3089#line 340 "gpu/lolfx-scanner.l"
     3090{ return token::HT_BOOL2x1; }
     3091        YY_BREAK
    30923092case 244:
    30933093YY_RULE_SETUP
     3094#line 341 "gpu/lolfx-scanner.l"
     3095{ return token::HT_BOOL3x1; }
     3096        YY_BREAK
     3097case 245:
     3098YY_RULE_SETUP
    30943099#line 342 "gpu/lolfx-scanner.l"
    3095 { return token::HT_BOOL1; }
    3096         YY_BREAK
    3097 case 245:
     3100{ return token::HT_BOOL4x1; }
     3101        YY_BREAK
     3102case 246:
    30983103YY_RULE_SETUP
    30993104#line 343 "gpu/lolfx-scanner.l"
    3100 { return token::HT_BOOL1x1; }
    3101         YY_BREAK
    3102 case 246:
     3105{ return token::HT_BOOL2; }
     3106        YY_BREAK
     3107case 247:
    31033108YY_RULE_SETUP
    31043109#line 344 "gpu/lolfx-scanner.l"
    3105 { return token::HT_BOOL2x1; }
    3106         YY_BREAK
    3107 case 247:
     3110{ return token::HT_BOOL1x2; }
     3111        YY_BREAK
     3112case 248:
    31083113YY_RULE_SETUP
    31093114#line 345 "gpu/lolfx-scanner.l"
    3110 { return token::HT_BOOL3x1; }
    3111         YY_BREAK
    3112 case 248:
     3115{ return token::HT_BOOL2x2; }
     3116        YY_BREAK
     3117case 249:
    31133118YY_RULE_SETUP
    31143119#line 346 "gpu/lolfx-scanner.l"
    3115 { return token::HT_BOOL4x1; }
    3116         YY_BREAK
    3117 case 249:
     3120{ return token::HT_BOOL3x2; }
     3121        YY_BREAK
     3122case 250:
    31183123YY_RULE_SETUP
    31193124#line 347 "gpu/lolfx-scanner.l"
    3120 { return token::HT_BOOL2; }
    3121         YY_BREAK
    3122 case 250:
     3125{ return token::HT_BOOL4x2; }
     3126        YY_BREAK
     3127case 251:
    31233128YY_RULE_SETUP
    31243129#line 348 "gpu/lolfx-scanner.l"
    3125 { return token::HT_BOOL1x2; }
    3126         YY_BREAK
    3127 case 251:
     3130{ return token::HT_BOOL3; }
     3131        YY_BREAK
     3132case 252:
    31283133YY_RULE_SETUP
    31293134#line 349 "gpu/lolfx-scanner.l"
    3130 { return token::HT_BOOL2x2; }
    3131         YY_BREAK
    3132 case 252:
     3135{ return token::HT_BOOL1x3; }
     3136        YY_BREAK
     3137case 253:
    31333138YY_RULE_SETUP
    31343139#line 350 "gpu/lolfx-scanner.l"
    3135 { return token::HT_BOOL3x2; }
    3136         YY_BREAK
    3137 case 253:
     3140{ return token::HT_BOOL2x3; }
     3141        YY_BREAK
     3142case 254:
    31383143YY_RULE_SETUP
    31393144#line 351 "gpu/lolfx-scanner.l"
    3140 { return token::HT_BOOL4x2; }
    3141         YY_BREAK
    3142 case 254:
     3145{ return token::HT_BOOL3x3; }
     3146        YY_BREAK
     3147case 255:
    31433148YY_RULE_SETUP
    31443149#line 352 "gpu/lolfx-scanner.l"
    3145 { return token::HT_BOOL3; }
    3146         YY_BREAK
    3147 case 255:
     3150{ return token::HT_BOOL4x3; }
     3151        YY_BREAK
     3152case 256:
    31483153YY_RULE_SETUP
    31493154#line 353 "gpu/lolfx-scanner.l"
    3150 { return token::HT_BOOL1x3; }
    3151         YY_BREAK
    3152 case 256:
     3155{ return token::HT_BOOL4; }
     3156        YY_BREAK
     3157case 257:
    31533158YY_RULE_SETUP
    31543159#line 354 "gpu/lolfx-scanner.l"
    3155 { return token::HT_BOOL2x3; }
    3156         YY_BREAK
    3157 case 257:
     3160{ return token::HT_BOOL1x4; }
     3161        YY_BREAK
     3162case 258:
    31583163YY_RULE_SETUP
    31593164#line 355 "gpu/lolfx-scanner.l"
    3160 { return token::HT_BOOL3x3; }
    3161         YY_BREAK
    3162 case 258:
     3165{ return token::HT_BOOL2x4; }
     3166        YY_BREAK
     3167case 259:
    31633168YY_RULE_SETUP
    31643169#line 356 "gpu/lolfx-scanner.l"
    3165 { return token::HT_BOOL4x3; }
    3166         YY_BREAK
    3167 case 259:
     3170{ return token::HT_BOOL3x4; }
     3171        YY_BREAK
     3172case 260:
    31683173YY_RULE_SETUP
    31693174#line 357 "gpu/lolfx-scanner.l"
    3170 { return token::HT_BOOL4; }
    3171         YY_BREAK
    3172 case 260:
    3173 YY_RULE_SETUP
    3174 #line 358 "gpu/lolfx-scanner.l"
    3175 { return token::HT_BOOL1x4; }
     3175{ return token::HT_BOOL4x4; }
    31763176        YY_BREAK
    31773177case 261:
    31783178YY_RULE_SETUP
    31793179#line 359 "gpu/lolfx-scanner.l"
    3180 { return token::HT_BOOL2x4; }
     3180{ return token::HT_FLOAT1; }
    31813181        YY_BREAK
    31823182case 262:
    31833183YY_RULE_SETUP
    31843184#line 360 "gpu/lolfx-scanner.l"
    3185 { return token::HT_BOOL3x4; }
     3185{ return token::HT_FLOAT1x1; }
    31863186        YY_BREAK
    31873187case 263:
    31883188YY_RULE_SETUP
    31893189#line 361 "gpu/lolfx-scanner.l"
    3190 { return token::HT_BOOL4x4; }
     3190{ return token::HT_FLOAT2x1; }
    31913191        YY_BREAK
    31923192case 264:
    31933193YY_RULE_SETUP
     3194#line 362 "gpu/lolfx-scanner.l"
     3195{ return token::HT_FLOAT3x1; }
     3196        YY_BREAK
     3197case 265:
     3198YY_RULE_SETUP
    31943199#line 363 "gpu/lolfx-scanner.l"
    3195 { return token::HT_FLOAT1; }
    3196         YY_BREAK
    3197 case 265:
     3200{ return token::HT_FLOAT4x1; }
     3201        YY_BREAK
     3202case 266:
    31983203YY_RULE_SETUP
    31993204#line 364 "gpu/lolfx-scanner.l"
    3200 { return token::HT_FLOAT1x1; }
    3201         YY_BREAK
    3202 case 266:
     3205{ return token::HT_FLOAT2; }
     3206        YY_BREAK
     3207case 267:
    32033208YY_RULE_SETUP
    32043209#line 365 "gpu/lolfx-scanner.l"
    3205 { return token::HT_FLOAT2x1; }
    3206         YY_BREAK
    3207 case 267:
     3210{ return token::HT_FLOAT1x2; }
     3211        YY_BREAK
     3212case 268:
    32083213YY_RULE_SETUP
    32093214#line 366 "gpu/lolfx-scanner.l"
    3210 { return token::HT_FLOAT3x1; }
    3211         YY_BREAK
    3212 case 268:
     3215{ return token::HT_FLOAT2x2; }
     3216        YY_BREAK
     3217case 269:
    32133218YY_RULE_SETUP
    32143219#line 367 "gpu/lolfx-scanner.l"
    3215 { return token::HT_FLOAT4x1; }
    3216         YY_BREAK
    3217 case 269:
     3220{ return token::HT_FLOAT3x2; }
     3221        YY_BREAK
     3222case 270:
    32183223YY_RULE_SETUP
    32193224#line 368 "gpu/lolfx-scanner.l"
    3220 { return token::HT_FLOAT2; }
    3221         YY_BREAK
    3222 case 270:
     3225{ return token::HT_FLOAT4x2; }
     3226        YY_BREAK
     3227case 271:
    32233228YY_RULE_SETUP
    32243229#line 369 "gpu/lolfx-scanner.l"
    3225 { return token::HT_FLOAT1x2; }
    3226         YY_BREAK
    3227 case 271:
     3230{ return token::HT_FLOAT3; }
     3231        YY_BREAK
     3232case 272:
    32283233YY_RULE_SETUP
    32293234#line 370 "gpu/lolfx-scanner.l"
    3230 { return token::HT_FLOAT2x2; }
    3231         YY_BREAK
    3232 case 272:
     3235{ return token::HT_FLOAT1x3; }
     3236        YY_BREAK
     3237case 273:
    32333238YY_RULE_SETUP
    32343239#line 371 "gpu/lolfx-scanner.l"
    3235 { return token::HT_FLOAT3x2; }
    3236         YY_BREAK
    3237 case 273:
     3240{ return token::HT_FLOAT2x3; }
     3241        YY_BREAK
     3242case 274:
    32383243YY_RULE_SETUP
    32393244#line 372 "gpu/lolfx-scanner.l"
    3240 { return token::HT_FLOAT4x2; }
    3241         YY_BREAK
    3242 case 274:
     3245{ return token::HT_FLOAT3x3; }
     3246        YY_BREAK
     3247case 275:
    32433248YY_RULE_SETUP
    32443249#line 373 "gpu/lolfx-scanner.l"
    3245 { return token::HT_FLOAT3; }
    3246         YY_BREAK
    3247 case 275:
     3250{ return token::HT_FLOAT4x3; }
     3251        YY_BREAK
     3252case 276:
    32483253YY_RULE_SETUP
    32493254#line 374 "gpu/lolfx-scanner.l"
    3250 { return token::HT_FLOAT1x3; }
    3251         YY_BREAK
    3252 case 276:
     3255{ return token::HT_FLOAT4; }
     3256        YY_BREAK
     3257case 277:
    32533258YY_RULE_SETUP
    32543259#line 375 "gpu/lolfx-scanner.l"
    3255 { return token::HT_FLOAT2x3; }
    3256         YY_BREAK
    3257 case 277:
     3260{ return token::HT_FLOAT1x4; }
     3261        YY_BREAK
     3262case 278:
    32583263YY_RULE_SETUP
    32593264#line 376 "gpu/lolfx-scanner.l"
    3260 { return token::HT_FLOAT3x3; }
    3261         YY_BREAK
    3262 case 278:
     3265{ return token::HT_FLOAT2x4; }
     3266        YY_BREAK
     3267case 279:
    32633268YY_RULE_SETUP
    32643269#line 377 "gpu/lolfx-scanner.l"
    3265 { return token::HT_FLOAT4x3; }
    3266         YY_BREAK
    3267 case 279:
     3270{ return token::HT_FLOAT3x4; }
     3271        YY_BREAK
     3272case 280:
    32683273YY_RULE_SETUP
    32693274#line 378 "gpu/lolfx-scanner.l"
    3270 { return token::HT_FLOAT4; }
    3271         YY_BREAK
    3272 case 280:
    3273 YY_RULE_SETUP
    3274 #line 379 "gpu/lolfx-scanner.l"
    3275 { return token::HT_FLOAT1x4; }
     3275{ return token::HT_FLOAT4x4; }
    32763276        YY_BREAK
    32773277case 281:
    32783278YY_RULE_SETUP
    32793279#line 380 "gpu/lolfx-scanner.l"
    3280 { return token::HT_FLOAT2x4; }
     3280{ return token::HT_DOUBLE1; }
    32813281        YY_BREAK
    32823282case 282:
    32833283YY_RULE_SETUP
    32843284#line 381 "gpu/lolfx-scanner.l"
    3285 { return token::HT_FLOAT3x4; }
     3285{ return token::HT_DOUBLE1x1; }
    32863286        YY_BREAK
    32873287case 283:
    32883288YY_RULE_SETUP
    32893289#line 382 "gpu/lolfx-scanner.l"
    3290 { return token::HT_FLOAT4x4; }
     3290{ return token::HT_DOUBLE2x1; }
    32913291        YY_BREAK
    32923292case 284:
    32933293YY_RULE_SETUP
     3294#line 383 "gpu/lolfx-scanner.l"
     3295{ return token::HT_DOUBLE3x1; }
     3296        YY_BREAK
     3297case 285:
     3298YY_RULE_SETUP
    32943299#line 384 "gpu/lolfx-scanner.l"
    3295 { return token::HT_DOUBLE1; }
    3296         YY_BREAK
    3297 case 285:
     3300{ return token::HT_DOUBLE4x1; }
     3301        YY_BREAK
     3302case 286:
    32983303YY_RULE_SETUP
    32993304#line 385 "gpu/lolfx-scanner.l"
    3300 { return token::HT_DOUBLE1x1; }
    3301         YY_BREAK
    3302 case 286:
     3305{ return token::HT_DOUBLE2; }
     3306        YY_BREAK
     3307case 287:
    33033308YY_RULE_SETUP
    33043309#line 386 "gpu/lolfx-scanner.l"
    3305 { return token::HT_DOUBLE2x1; }
    3306         YY_BREAK
    3307 case 287:
     3310{ return token::HT_DOUBLE1x2; }
     3311        YY_BREAK
     3312case 288:
    33083313YY_RULE_SETUP
    33093314#line 387 "gpu/lolfx-scanner.l"
    3310 { return token::HT_DOUBLE3x1; }
    3311         YY_BREAK
    3312 case 288:
     3315{ return token::HT_DOUBLE2x2; }
     3316        YY_BREAK
     3317case 289:
    33133318YY_RULE_SETUP
    33143319#line 388 "gpu/lolfx-scanner.l"
    3315 { return token::HT_DOUBLE4x1; }
    3316         YY_BREAK
    3317 case 289:
     3320{ return token::HT_DOUBLE3x2; }
     3321        YY_BREAK
     3322case 290:
    33183323YY_RULE_SETUP
    33193324#line 389 "gpu/lolfx-scanner.l"
    3320 { return token::HT_DOUBLE2; }
    3321         YY_BREAK
    3322 case 290:
     3325{ return token::HT_DOUBLE4x2; }
     3326        YY_BREAK
     3327case 291:
    33233328YY_RULE_SETUP
    33243329#line 390 "gpu/lolfx-scanner.l"
    3325 { return token::HT_DOUBLE1x2; }
    3326         YY_BREAK
    3327 case 291:
     3330{ return token::HT_DOUBLE3; }
     3331        YY_BREAK
     3332case 292:
    33283333YY_RULE_SETUP
    33293334#line 391 "gpu/lolfx-scanner.l"
    3330 { return token::HT_DOUBLE2x2; }
    3331         YY_BREAK
    3332 case 292:
     3335{ return token::HT_DOUBLE1x3; }
     3336        YY_BREAK
     3337case 293:
    33333338YY_RULE_SETUP
    33343339#line 392 "gpu/lolfx-scanner.l"
    3335 { return token::HT_DOUBLE3x2; }
    3336         YY_BREAK
    3337 case 293:
     3340{ return token::HT_DOUBLE2x3; }
     3341        YY_BREAK
     3342case 294:
    33383343YY_RULE_SETUP
    33393344#line 393 "gpu/lolfx-scanner.l"
    3340 { return token::HT_DOUBLE4x2; }
    3341         YY_BREAK
    3342 case 294:
     3345{ return token::HT_DOUBLE3x3; }
     3346        YY_BREAK
     3347case 295:
    33433348YY_RULE_SETUP
    33443349#line 394 "gpu/lolfx-scanner.l"
    3345 { return token::HT_DOUBLE3; }
    3346         YY_BREAK
    3347 case 295:
     3350{ return token::HT_DOUBLE4x3; }
     3351        YY_BREAK
     3352case 296:
    33483353YY_RULE_SETUP
    33493354#line 395 "gpu/lolfx-scanner.l"
    3350 { return token::HT_DOUBLE1x3; }
    3351         YY_BREAK
    3352 case 296:
     3355{ return token::HT_DOUBLE4; }
     3356        YY_BREAK
     3357case 297:
    33533358YY_RULE_SETUP
    33543359#line 396 "gpu/lolfx-scanner.l"
    3355 { return token::HT_DOUBLE2x3; }
    3356         YY_BREAK
    3357 case 297:
     3360{ return token::HT_DOUBLE1x4; }
     3361        YY_BREAK
     3362case 298:
    33583363YY_RULE_SETUP
    33593364#line 397 "gpu/lolfx-scanner.l"
    3360 { return token::HT_DOUBLE3x3; }
    3361         YY_BREAK
    3362 case 298:
     3365{ return token::HT_DOUBLE2x4; }
     3366        YY_BREAK
     3367case 299:
    33633368YY_RULE_SETUP
    33643369#line 398 "gpu/lolfx-scanner.l"
    3365 { return token::HT_DOUBLE4x3; }
    3366         YY_BREAK
    3367 case 299:
     3370{ return token::HT_DOUBLE3x4; }
     3371        YY_BREAK
     3372case 300:
    33683373YY_RULE_SETUP
    33693374#line 399 "gpu/lolfx-scanner.l"
    3370 { return token::HT_DOUBLE4; }
    3371         YY_BREAK
    3372 case 300:
    3373 YY_RULE_SETUP
    3374 #line 400 "gpu/lolfx-scanner.l"
    3375 { return token::HT_DOUBLE1x4; }
     3375{ return token::HT_DOUBLE4x4; }
    33763376        YY_BREAK
    33773377case 301:
    33783378YY_RULE_SETUP
    33793379#line 401 "gpu/lolfx-scanner.l"
    3380 { return token::HT_DOUBLE2x4; }
     3380{ return token::HT_DWORD1; }
    33813381        YY_BREAK
    33823382case 302:
    33833383YY_RULE_SETUP
    33843384#line 402 "gpu/lolfx-scanner.l"
    3385 { return token::HT_DOUBLE3x4; }
     3385{ return token::HT_DWORD1x1; }
    33863386        YY_BREAK
    33873387case 303:
    33883388YY_RULE_SETUP
    33893389#line 403 "gpu/lolfx-scanner.l"
    3390 { return token::HT_DOUBLE4x4; }
     3390{ return token::HT_DWORD2x1; }
    33913391        YY_BREAK
    33923392case 304:
    33933393YY_RULE_SETUP
     3394#line 404 "gpu/lolfx-scanner.l"
     3395{ return token::HT_DWORD3x1; }
     3396        YY_BREAK
     3397case 305:
     3398YY_RULE_SETUP
    33943399#line 405 "gpu/lolfx-scanner.l"
    3395 { return token::HT_DWORD1; }
    3396         YY_BREAK
    3397 case 305:
     3400{ return token::HT_DWORD4x1; }
     3401        YY_BREAK
     3402case 306:
    33983403YY_RULE_SETUP
    33993404#line 406 "gpu/lolfx-scanner.l"
    3400 { return token::HT_DWORD1x1; }
    3401         YY_BREAK
    3402 case 306:
     3405{ return token::HT_DWORD2; }
     3406        YY_BREAK
     3407case 307:
    34033408YY_RULE_SETUP
    34043409#line 407 "gpu/lolfx-scanner.l"
    3405 { return token::HT_DWORD2x1; }
    3406         YY_BREAK
    3407 case 307:
     3410{ return token::HT_DWORD1x2; }
     3411        YY_BREAK
     3412case 308:
    34083413YY_RULE_SETUP
    34093414#line 408 "gpu/lolfx-scanner.l"
    3410 { return token::HT_DWORD3x1; }
    3411         YY_BREAK
    3412 case 308:
     3415{ return token::HT_DWORD2x2; }
     3416        YY_BREAK
     3417case 309:
    34133418YY_RULE_SETUP
    34143419#line 409 "gpu/lolfx-scanner.l"
    3415 { return token::HT_DWORD4x1; }
    3416         YY_BREAK
    3417 case 309:
     3420{ return token::HT_DWORD3x2; }
     3421        YY_BREAK
     3422case 310:
    34183423YY_RULE_SETUP
    34193424#line 410 "gpu/lolfx-scanner.l"
    3420 { return token::HT_DWORD2; }
    3421         YY_BREAK
    3422 case 310:
     3425{ return token::HT_DWORD4x2; }
     3426        YY_BREAK
     3427case 311:
    34233428YY_RULE_SETUP
    34243429#line 411 "gpu/lolfx-scanner.l"
    3425 { return token::HT_DWORD1x2; }
    3426         YY_BREAK
    3427 case 311:
     3430{ return token::HT_DWORD3; }
     3431        YY_BREAK
     3432case 312:
    34283433YY_RULE_SETUP
    34293434#line 412 "gpu/lolfx-scanner.l"
    3430 { return token::HT_DWORD2x2; }
    3431         YY_BREAK
    3432 case 312:
     3435{ return token::HT_DWORD1x3; }
     3436        YY_BREAK
     3437case 313:
    34333438YY_RULE_SETUP
    34343439#line 413 "gpu/lolfx-scanner.l"
    3435 { return token::HT_DWORD3x2; }
    3436         YY_BREAK
    3437 case 313:
     3440{ return token::HT_DWORD2x3; }
     3441        YY_BREAK
     3442case 314:
    34383443YY_RULE_SETUP
    34393444#line 414 "gpu/lolfx-scanner.l"
    3440 { return token::HT_DWORD4x2; }
    3441         YY_BREAK
    3442 case 314:
     3445{ return token::HT_DWORD3x3; }
     3446        YY_BREAK
     3447case 315:
    34433448YY_RULE_SETUP
    34443449#line 415 "gpu/lolfx-scanner.l"
    3445 { return token::HT_DWORD3; }
    3446         YY_BREAK
    3447 case 315:
     3450{ return token::HT_DWORD4x3; }
     3451        YY_BREAK
     3452case 316:
    34483453YY_RULE_SETUP
    34493454#line 416 "gpu/lolfx-scanner.l"
    3450 { return token::HT_DWORD1x3; }
    3451         YY_BREAK
    3452 case 316:
     3455{ return token::HT_DWORD4; }
     3456        YY_BREAK
     3457case 317:
    34533458YY_RULE_SETUP
    34543459#line 417 "gpu/lolfx-scanner.l"
    3455 { return token::HT_DWORD2x3; }
    3456         YY_BREAK
    3457 case 317:
     3460{ return token::HT_DWORD1x4; }
     3461        YY_BREAK
     3462case 318:
    34583463YY_RULE_SETUP
    34593464#line 418 "gpu/lolfx-scanner.l"
    3460 { return token::HT_DWORD3x3; }
    3461         YY_BREAK
    3462 case 318:
     3465{ return token::HT_DWORD2x4; }
     3466        YY_BREAK
     3467case 319:
    34633468YY_RULE_SETUP
    34643469#line 419 "gpu/lolfx-scanner.l"
    3465 { return token::HT_DWORD4x3; }
    3466         YY_BREAK
    3467 case 319:
     3470{ return token::HT_DWORD3x4; }
     3471        YY_BREAK
     3472case 320:
    34683473YY_RULE_SETUP
    34693474#line 420 "gpu/lolfx-scanner.l"
    3470 { return token::HT_DWORD4; }
    3471         YY_BREAK
    3472 case 320:
    3473 YY_RULE_SETUP
    3474 #line 421 "gpu/lolfx-scanner.l"
    3475 { return token::HT_DWORD1x4; }
     3475{ return token::HT_DWORD4x4; }
    34763476        YY_BREAK
    34773477case 321:
    34783478YY_RULE_SETUP
    34793479#line 422 "gpu/lolfx-scanner.l"
    3480 { return token::HT_DWORD2x4; }
     3480{ return token::HT_INT1; }
    34813481        YY_BREAK
    34823482case 322:
    34833483YY_RULE_SETUP
    34843484#line 423 "gpu/lolfx-scanner.l"
    3485 { return token::HT_DWORD3x4; }
     3485{ return token::HT_INT1x1; }
    34863486        YY_BREAK
    34873487case 323:
    34883488YY_RULE_SETUP
    34893489#line 424 "gpu/lolfx-scanner.l"
    3490 { return token::HT_DWORD4x4; }
     3490{ return token::HT_INT2x1; }
    34913491        YY_BREAK
    34923492case 324:
    34933493YY_RULE_SETUP
     3494#line 425 "gpu/lolfx-scanner.l"
     3495{ return token::HT_INT3x1; }
     3496        YY_BREAK
     3497case 325:
     3498YY_RULE_SETUP
    34943499#line 426 "gpu/lolfx-scanner.l"
    3495 { return token::HT_INT1; }
    3496         YY_BREAK
    3497 case 325:
     3500{ return token::HT_INT4x1; }
     3501        YY_BREAK
     3502case 326:
    34983503YY_RULE_SETUP
    34993504#line 427 "gpu/lolfx-scanner.l"
    3500 { return token::HT_INT1x1; }
    3501         YY_BREAK
    3502 case 326:
     3505{ return token::HT_INT2; }
     3506        YY_BREAK
     3507case 327:
    35033508YY_RULE_SETUP
    35043509#line 428 "gpu/lolfx-scanner.l"
    3505 { return token::HT_INT2x1; }
    3506         YY_BREAK
    3507 case 327:
     3510{ return token::HT_INT1x2; }
     3511        YY_BREAK
     3512case 328:
    35083513YY_RULE_SETUP
    35093514#line 429 "gpu/lolfx-scanner.l"
    3510 { return token::HT_INT3x1; }
    3511         YY_BREAK
    3512 case 328:
     3515{ return token::HT_INT2x2; }
     3516        YY_BREAK
     3517case 329:
    35133518YY_RULE_SETUP
    35143519#line 430 "gpu/lolfx-scanner.l"
    3515 { return token::HT_INT4x1; }
    3516         YY_BREAK
    3517 case 329:
     3520{ return token::HT_INT3x2; }
     3521        YY_BREAK
     3522case 330:
    35183523YY_RULE_SETUP
    35193524#line 431 "gpu/lolfx-scanner.l"
    3520 { return token::HT_INT2; }
    3521         YY_BREAK
    3522 case 330:
     3525{ return token::HT_INT4x2; }
     3526        YY_BREAK
     3527case 331:
    35233528YY_RULE_SETUP
    35243529#line 432 "gpu/lolfx-scanner.l"
    3525 { return token::HT_INT1x2; }
    3526         YY_BREAK
    3527 case 331:
     3530{ return token::HT_INT3; }
     3531        YY_BREAK
     3532case 332:
    35283533YY_RULE_SETUP
    35293534#line 433 "gpu/lolfx-scanner.l"
    3530 { return token::HT_INT2x2; }
    3531         YY_BREAK
    3532 case 332:
     3535{ return token::HT_INT1x3; }
     3536        YY_BREAK
     3537case 333:
    35333538YY_RULE_SETUP
    35343539#line 434 "gpu/lolfx-scanner.l"
    3535 { return token::HT_INT3x2; }
    3536         YY_BREAK
    3537 case 333:
     3540{ return token::HT_INT2x3; }
     3541        YY_BREAK
     3542case 334:
    35383543YY_RULE_SETUP
    35393544#line 435 "gpu/lolfx-scanner.l"
    3540 { return token::HT_INT4x2; }
    3541         YY_BREAK
    3542 case 334:
     3545{ return token::HT_INT3x3; }
     3546        YY_BREAK
     3547case 335:
    354335