diff --git a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Experimental/ExpressionFinder.atg b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Experimental/ExpressionFinder.atg index 2befc8e6ec..721fee92b1 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Experimental/ExpressionFinder.atg +++ b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Experimental/ExpressionFinder.atg @@ -373,6 +373,8 @@ Expression = ( SimpleExpressionWithSuffix { BinaryOperator SimpleExpressionWithSuffix } | ConditionalExpression + | LambdaExpression +// | QueryExpression ) . @@ -455,6 +457,21 @@ ConditionalExpression = "If" "(" Expression "," Expression [ "," Expression ] ")" . +LambdaExpression = + SubLambdaExpression | + FunctionLambdaExpression +. + +SubLambdaExpression = + "Sub" [ "(" [ ParameterList ] ")" ] + ( Statement | StatementTerminatorAndBlock "End" "Sub" ) +. + +FunctionLambdaExpression = + "Function" [ "(" [ ParameterList ] ")" ] + ( Expression | [ "As" TypeName ] StatementTerminatorAndBlock "End" "Function" ) +. + /* semantic action in front of = will be inserted on all paths that possibly lead to XmlLiteral */ XmlLiteral (. nextTokenIsPotentialStartOfXmlMode = true; .) diff --git a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Experimental/Parser.cs b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Experimental/Parser.cs index 942691cb89..13b5761706 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Experimental/Parser.cs +++ b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Experimental/Parser.cs @@ -71,7 +71,7 @@ int currentState = 0; if (t == null) { currentState = 1; break; } if (t.kind == 172) { stateStack.Push(1); - goto case 317; + goto case 335; } else { goto case 2; } @@ -80,7 +80,7 @@ int currentState = 0; if (t == null) { currentState = 2; break; } if (t.kind == 136) { stateStack.Push(2); - goto case 314; + goto case 332; } else { goto case 3; } @@ -89,7 +89,7 @@ int currentState = 0; if (t == null) { currentState = 3; break; } if (t.kind == 39) { stateStack.Push(3); - goto case 247; + goto case 84; } else { goto case 4; } @@ -108,7 +108,7 @@ int currentState = 0; case 5: { if (t == null) { currentState = 5; break; } if (t.kind == 159) { - goto case 310; + goto case 328; } else { if (set[1, t.kind]) { goto case 7; @@ -126,7 +126,7 @@ int currentState = 0; if (t == null) { currentState = 7; break; } if (t.kind == 39) { stateStack.Push(7); - goto case 247; + goto case 84; } else { goto case 8; } @@ -138,7 +138,7 @@ int currentState = 0; break; } else { if (t.kind == 83 || t.kind == 154) { - goto case 309; + goto case 327; } else { Error(t); goto case 9; @@ -148,7 +148,7 @@ int currentState = 0; case 9: { if (t == null) { currentState = 9; break; } if (set[3, t.kind]) { - goto case 309; + goto case 327; } else { stateStack.Push(10); goto case 15; @@ -206,7 +206,7 @@ int currentState = 0; if (t == null) { currentState = 17; break; } if (t.kind == 39) { stateStack.Push(17); - goto case 247; + goto case 84; } else { goto case 18; } @@ -219,23 +219,23 @@ int currentState = 0; } else { if (set[6, t.kind]) { stateStack.Push(19); - goto case 302; + goto case 320; } else { if (t.kind == 126 || t.kind == 208) { stateStack.Push(19); - goto case 290; + goto case 308; } else { if (t.kind == 100) { stateStack.Push(19); - goto case 279; + goto case 297; } else { if (t.kind == 118) { stateStack.Push(19); - goto case 269; + goto case 287; } else { if (t.kind == 97) { stateStack.Push(19); - goto case 257; + goto case 275; } else { if (t.kind == 171) { stateStack.Push(19); @@ -275,7 +275,7 @@ int currentState = 0; } case 23: { stateStack.Push(24); - goto case 252; + goto case 75; } case 24: { if (t == null) { currentState = 24; break; } @@ -286,7 +286,7 @@ int currentState = 0; case 25: { if (t == null) { currentState = 25; break; } if (t.kind == 62) { - currentState = 246; + currentState = 274; break; } else { goto case 26; @@ -342,52 +342,52 @@ int currentState = 0; case 34: { if (t == null) { currentState = 34; break; } if (t.kind == 87 || t.kind == 104 || t.kind == 202) { - currentState = 230; + currentState = 261; break; } else { if (t.kind == 209 || t.kind == 231) { - currentState = 226; + currentState = 257; break; } else { if (t.kind == 55 || t.kind == 191) { - currentState = 224; + currentState = 255; break; } else { if (t.kind == 187) { - currentState = 222; + currentState = 253; break; } else { if (t.kind == 134) { - currentState = 201; + currentState = 232; break; } else { if (t.kind == 195) { - currentState = 186; + currentState = 217; break; } else { if (t.kind == 229) { - currentState = 182; + currentState = 213; break; } else { if (t.kind == 107) { - currentState = 176; + currentState = 207; break; } else { if (t.kind == 123) { - currentState = 152; + currentState = 183; break; } else { if (t.kind == 117 || t.kind == 170 || t.kind == 192) { if (t.kind == 117 || t.kind == 170) { if (t.kind == 170) { - currentState = 147; + currentState = 178; break; } else { - goto case 147; + goto case 178; } } else { if (t.kind == 192) { - currentState = 145; + currentState = 176; break; } else { goto case 6; @@ -395,30 +395,30 @@ int currentState = 0; } } else { if (t.kind == 213) { - goto case 129; + goto case 160; } else { if (t.kind == 216) { - currentState = 135; + currentState = 166; break; } else { if (set[9, t.kind]) { if (t.kind == 131) { - currentState = 134; + currentState = 165; break; } else { if (t.kind == 119) { - currentState = 133; + currentState = 164; break; } else { if (t.kind == 88) { - currentState = 132; + currentState = 163; break; } else { if (t.kind == 204) { goto case 16; } else { if (t.kind == 193) { - goto case 129; + goto case 160; } else { goto case 6; } @@ -428,19 +428,19 @@ int currentState = 0; } } else { if (t.kind == 189) { - currentState = 127; + currentState = 158; break; } else { if (t.kind == 116) { - goto case 124; + goto case 155; } else { if (t.kind == 224) { - currentState = 120; + currentState = 151; break; } else { if (set[10, t.kind]) { if (t.kind == 72) { - goto case 119; + goto case 81; } else { goto case 35; } @@ -471,527 +471,765 @@ int currentState = 0; case 36: { if (t == null) { currentState = 36; break; } if (set[11, t.kind]) { - goto case 45; + goto case 104; } else { if (t.kind == 134) { - currentState = 37; + currentState = 97; break; } else { - goto case 6; + if (t.kind == 126 || t.kind == 208) { + if (t.kind == 208) { + currentState = 89; + break; + } else { + if (t.kind == 126) { + currentState = 37; + break; + } else { + goto case 6; + } + } + } else { + goto case 6; + } } } } case 37: { - if (t == null) { currentState = 37; break; } - Expect(36, t); // "(" - currentState = 38; - break; + nextTokenIsPotentialStartOfXmlMode = true; + goto case 38; } case 38: { - stateStack.Push(39); - goto case 35; + if (t == null) { currentState = 38; break; } + if (t.kind == 36) { + currentState = 73; + break; + } else { + goto case 39; + } } case 39: { - if (t == null) { currentState = 39; break; } - Expect(23, t); // "," - currentState = 40; - break; + nextTokenIsPotentialStartOfXmlMode = true; + goto case 40; } case 40: { - stateStack.Push(41); - goto case 35; - } - case 41: { - if (t == null) { currentState = 41; break; } - if (t.kind == 23) { - goto case 43; + if (t == null) { currentState = 40; break; } + if (set[12, t.kind]) { + goto case 35; } else { - goto case 42; + if (t.kind == 1 || t.kind == 22 || t.kind == 62) { + if (t.kind == 62) { + currentState = 44; + break; + } else { + goto case 41; + } + } else { + goto case 6; + } } } + case 41: { + stateStack.Push(42); + goto case 29; + } case 42: { if (t == null) { currentState = 42; break; } - Expect(37, t); // ")" - currentState = stateStack.Pop(); + Expect(112, t); // "End" + currentState = 43; break; } case 43: { if (t == null) { currentState = 43; break; } - currentState = 44; + Expect(126, t); // "Function" + currentState = stateStack.Pop(); break; } case 44: { - stateStack.Push(42); - goto case 35; + stateStack.Push(41); + goto case 45; } case 45: { - stateStack.Push(46); - goto case 47; + if (t == null) { currentState = 45; break; } + if (t.kind == 129) { + goto case 69; + } else { + if (set[13, t.kind]) { + stateStack.Push(46); + goto case 70; + } else { + if (set[14, t.kind]) { + goto case 69; + } else { + Error(t); + goto case 46; + } + } + } } case 46: { if (t == null) { currentState = 46; break; } - if (set[12, t.kind]) { - currentState = 45; - break; + if (t.kind == 36) { + stateStack.Push(46); + goto case 50; } else { - currentState = stateStack.Pop(); - goto switchlbl; + goto case 47; } } case 47: { - nextTokenIsPotentialStartOfXmlMode = true; - goto case 48; - } - case 48: { - if (t == null) { currentState = 48; break; } - if (set[13, t.kind]) { - currentState = 47; + if (t == null) { currentState = 47; break; } + if (t.kind == 27) { + currentState = 48; break; } else { - if (set[14, t.kind]) { - stateStack.Push(94); - goto case 102; - } else { - if (t.kind == 218) { - currentState = 92; - break; - } else { - if (t.kind == 161) { - currentState = 49; - break; - } else { - goto case 6; - } - } - } + currentState = stateStack.Pop(); + goto switchlbl; } } + case 48: { + stateStack.Push(49); + goto case 16; + } case 49: { if (t == null) { currentState = 49; break; } - if (set[15, t.kind]) { - stateStack.Push(59); - goto case 65; - } else { + if (t.kind == 36) { + stateStack.Push(49); goto case 50; + } else { + goto case 47; } } case 50: { if (t == null) { currentState = 50; break; } - if (t.kind == 231) { - currentState = 51; - break; - } else { - currentState = stateStack.Pop(); - goto switchlbl; - } + Expect(36, t); // "(" + currentState = 51; + break; } case 51: { - if (t == null) { currentState = 51; break; } - Expect(34, t); // "{" - currentState = 52; - break; + nextTokenIsPotentialStartOfXmlMode = true; + goto case 52; } case 52: { if (t == null) { currentState = 52; break; } - if (t.kind == 146) { - currentState = 53; - break; + if (t.kind == 168) { + goto case 66; } else { - goto case 53; + if (set[15, t.kind]) { + goto case 54; + } else { + Error(t); + goto case 53; + } } } case 53: { if (t == null) { currentState = 53; break; } - Expect(27, t); // "." - currentState = 54; + Expect(37, t); // ")" + currentState = stateStack.Pop(); break; } case 54: { - stateStack.Push(55); - goto case 16; + nextTokenIsPotentialStartOfXmlMode = true; + goto case 55; } case 55: { if (t == null) { currentState = 55; break; } - Expect(21, t); // "=" - currentState = 56; - break; + if (set[16, t.kind]) { + goto case 56; + } else { + goto case 53; + } } case 56: { - stateStack.Push(57); - goto case 35; + stateStack.Push(53); + nextTokenIsPotentialStartOfXmlMode = true; + goto case 57; } case 57: { if (t == null) { currentState = 57; break; } - if (t.kind == 23) { - currentState = 52; - break; + if (set[12, t.kind]) { + goto case 62; } else { - goto case 58; + if (t.kind == 23) { + goto case 58; + } else { + goto case 6; + } } } case 58: { if (t == null) { currentState = 58; break; } - Expect(35, t); // "}" - currentState = stateStack.Pop(); + currentState = 59; break; } case 59: { - if (t == null) { currentState = 59; break; } - if (t.kind == 125) { - currentState = 60; - break; - } else { - goto case 50; - } + nextTokenIsPotentialStartOfXmlMode = true; + goto case 60; } case 60: { - stateStack.Push(50); - goto case 61; + if (t == null) { currentState = 60; break; } + if (set[12, t.kind]) { + stateStack.Push(61); + goto case 35; + } else { + goto case 61; + } } case 61: { if (t == null) { currentState = 61; break; } - Expect(34, t); // "{" - currentState = 62; - break; + if (t.kind == 23) { + goto case 58; + } else { + currentState = stateStack.Pop(); + goto switchlbl; + } } case 62: { - nextTokenIsPotentialStartOfXmlMode = true; - goto case 63; + stateStack.Push(63); + goto case 35; } case 63: { if (t == null) { currentState = 63; break; } - if (set[16, t.kind]) { - stateStack.Push(64); - goto case 35; - } else { - if (t.kind == 34) { - stateStack.Push(64); - goto case 61; - } else { - Error(t); - goto case 64; - } - } - } - case 64: { - if (t == null) { currentState = 64; break; } if (t.kind == 23) { - currentState = 62; + currentState = 64; break; } else { - goto case 58; + currentState = stateStack.Pop(); + goto switchlbl; } } + case 64: { + nextTokenIsPotentialStartOfXmlMode = true; + goto case 65; + } case 65: { if (t == null) { currentState = 65; break; } - if (t.kind == 129) { - goto case 88; + if (set[12, t.kind]) { + goto case 62; } else { - if (set[17, t.kind]) { - stateStack.Push(66); - goto case 89; - } else { - if (set[18, t.kind]) { - goto case 88; - } else { - Error(t); - goto case 66; - } - } + goto case 63; } } case 66: { if (t == null) { currentState = 66; break; } - if (t.kind == 36) { - stateStack.Push(66); - goto case 70; - } else { - goto case 67; - } + currentState = 67; + break; } case 67: { if (t == null) { currentState = 67; break; } - if (t.kind == 27) { - currentState = 68; - break; + if (set[17, t.kind]) { + stateStack.Push(68); + goto case 45; } else { - currentState = stateStack.Pop(); - goto switchlbl; + goto case 68; } } case 68: { - stateStack.Push(69); - goto case 16; + if (t == null) { currentState = 68; break; } + if (t.kind == 23) { + goto case 66; + } else { + goto case 53; + } } case 69: { if (t == null) { currentState = 69; break; } - if (t.kind == 36) { - stateStack.Push(69); - goto case 70; - } else { - goto case 67; - } + currentState = 46; + break; } case 70: { - if (t == null) { currentState = 70; break; } - Expect(36, t); // "(" - currentState = 71; - break; + PushContext(Context.IdentifierExpected, t); + goto case 71; } case 71: { - nextTokenIsPotentialStartOfXmlMode = true; - goto case 72; - } - case 72: { - if (t == null) { currentState = 72; break; } - if (t.kind == 168) { - goto case 85; + if (t == null) { currentState = 71; break; } + if (set[13, t.kind]) { + currentState = 72; + break; } else { - if (set[19, t.kind]) { - goto case 73; - } else { - Error(t); - goto case 42; - } + Error(t); + goto case 72; } } - case 73: { - nextTokenIsPotentialStartOfXmlMode = true; - goto case 74; + case 72: { + PopContext(); + currentState = stateStack.Pop(); + goto switchlbl; } - case 74: { - if (t == null) { currentState = 74; break; } - if (set[20, t.kind]) { + case 73: { + if (t == null) { currentState = 73; break; } + if (set[18, t.kind]) { + stateStack.Push(74); goto case 75; } else { - goto case 42; + goto case 74; } } + case 74: { + if (t == null) { currentState = 74; break; } + Expect(37, t); // ")" + currentState = 39; + break; + } case 75: { - stateStack.Push(42); - nextTokenIsPotentialStartOfXmlMode = true; - goto case 76; + stateStack.Push(76); + goto case 77; } case 76: { if (t == null) { currentState = 76; break; } - if (set[16, t.kind]) { - goto case 81; + if (t.kind == 23) { + currentState = 75; + break; } else { - if (t.kind == 23) { - goto case 77; - } else { - goto case 6; - } + currentState = stateStack.Pop(); + goto switchlbl; } } case 77: { if (t == null) { currentState = 77; break; } - currentState = 78; - break; + if (t.kind == 39) { + stateStack.Push(77); + goto case 84; + } else { + goto case 78; + } } case 78: { - nextTokenIsPotentialStartOfXmlMode = true; - goto case 79; + if (t == null) { currentState = 78; break; } + if (set[19, t.kind]) { + currentState = 78; + break; + } else { + stateStack.Push(79); + goto case 70; + } } case 79: { if (t == null) { currentState = 79; break; } - if (set[16, t.kind]) { - stateStack.Push(80); - goto case 35; + if (t.kind == 62) { + goto case 82; } else { goto case 80; } } case 80: { if (t == null) { currentState = 80; break; } - if (t.kind == 23) { - goto case 77; + if (t.kind == 21) { + goto case 81; } else { currentState = stateStack.Pop(); goto switchlbl; } } case 81: { - stateStack.Push(82); - goto case 35; + if (t == null) { currentState = 81; break; } + currentState = 35; + break; } case 82: { if (t == null) { currentState = 82; break; } - if (t.kind == 23) { - currentState = 83; - break; - } else { - currentState = stateStack.Pop(); - goto switchlbl; - } + currentState = 83; + break; } case 83: { - nextTokenIsPotentialStartOfXmlMode = true; - goto case 84; + stateStack.Push(80); + goto case 45; } case 84: { if (t == null) { currentState = 84; break; } - if (set[16, t.kind]) { - goto case 81; - } else { - goto case 82; - } + Expect(39, t); // "<" + currentState = 85; + break; } case 85: { - if (t == null) { currentState = 85; break; } - currentState = 86; - break; + PushContext(Context.Attribute, t); + goto case 86; } case 86: { if (t == null) { currentState = 86; break; } - if (set[15, t.kind]) { - stateStack.Push(87); - goto case 65; + if (set[20, t.kind]) { + currentState = 86; + break; } else { - goto case 87; + Expect(38, t); // ">" + currentState = 87; + break; } } case 87: { - if (t == null) { currentState = 87; break; } - if (t.kind == 23) { - goto case 85; - } else { - goto case 42; - } + PopContext(); + goto case 88; } case 88: { if (t == null) { currentState = 88; break; } - currentState = 66; - break; + if (t.kind == 1) { + goto case 16; + } else { + currentState = stateStack.Pop(); + goto switchlbl; + } } case 89: { - PushContext(Context.IdentifierExpected, t); + nextTokenIsPotentialStartOfXmlMode = true; goto case 90; } case 90: { if (t == null) { currentState = 90; break; } - if (set[17, t.kind]) { - currentState = 91; + if (t.kind == 36) { + currentState = 95; break; } else { - Error(t); goto case 91; } } case 91: { - PopContext(); - currentState = stateStack.Pop(); - goto switchlbl; + nextTokenIsPotentialStartOfXmlMode = true; + goto case 92; } case 92: { - stateStack.Push(93); - goto case 47; + if (t == null) { currentState = 92; break; } + if (set[8, t.kind]) { + goto case 33; + } else { + if (t.kind == 1 || t.kind == 22) { + stateStack.Push(93); + goto case 29; + } else { + goto case 6; + } + } } case 93: { if (t == null) { currentState = 93; break; } - Expect(143, t); // "Is" - currentState = 65; + Expect(112, t); // "End" + currentState = 94; break; } case 94: { if (t == null) { currentState = 94; break; } + Expect(208, t); // "Sub" + currentState = stateStack.Pop(); + break; + } + case 95: { + if (t == null) { currentState = 95; break; } + if (set[18, t.kind]) { + stateStack.Push(96); + goto case 75; + } else { + goto case 96; + } + } + case 96: { + if (t == null) { currentState = 96; break; } + Expect(37, t); // ")" + currentState = 91; + break; + } + case 97: { + if (t == null) { currentState = 97; break; } + Expect(36, t); // "(" + currentState = 98; + break; + } + case 98: { + stateStack.Push(99); + goto case 35; + } + case 99: { + if (t == null) { currentState = 99; break; } + Expect(23, t); // "," + currentState = 100; + break; + } + case 100: { + stateStack.Push(101); + goto case 35; + } + case 101: { + if (t == null) { currentState = 101; break; } + if (t.kind == 23) { + goto case 102; + } else { + goto case 53; + } + } + case 102: { + if (t == null) { currentState = 102; break; } + currentState = 103; + break; + } + case 103: { + stateStack.Push(53); + goto case 35; + } + case 104: { + stateStack.Push(105); + goto case 106; + } + case 105: { + if (t == null) { currentState = 105; break; } + if (set[21, t.kind]) { + currentState = 104; + break; + } else { + currentState = stateStack.Pop(); + goto switchlbl; + } + } + case 106: { + nextTokenIsPotentialStartOfXmlMode = true; + goto case 107; + } + case 107: { + if (t == null) { currentState = 107; break; } + if (set[22, t.kind]) { + currentState = 106; + break; + } else { + if (set[23, t.kind]) { + stateStack.Push(126); + goto case 134; + } else { + if (t.kind == 218) { + currentState = 124; + break; + } else { + if (t.kind == 161) { + currentState = 108; + break; + } else { + goto case 6; + } + } + } + } + } + case 108: { + if (t == null) { currentState = 108; break; } + if (set[17, t.kind]) { + stateStack.Push(118); + goto case 45; + } else { + goto case 109; + } + } + case 109: { + if (t == null) { currentState = 109; break; } + if (t.kind == 231) { + currentState = 110; + break; + } else { + currentState = stateStack.Pop(); + goto switchlbl; + } + } + case 110: { + if (t == null) { currentState = 110; break; } + Expect(34, t); // "{" + currentState = 111; + break; + } + case 111: { + if (t == null) { currentState = 111; break; } + if (t.kind == 146) { + currentState = 112; + break; + } else { + goto case 112; + } + } + case 112: { + if (t == null) { currentState = 112; break; } + Expect(27, t); // "." + currentState = 113; + break; + } + case 113: { + stateStack.Push(114); + goto case 16; + } + case 114: { + if (t == null) { currentState = 114; break; } + Expect(21, t); // "=" + currentState = 115; + break; + } + case 115: { + stateStack.Push(116); + goto case 35; + } + case 116: { + if (t == null) { currentState = 116; break; } + if (t.kind == 23) { + currentState = 111; + break; + } else { + goto case 117; + } + } + case 117: { + if (t == null) { currentState = 117; break; } + Expect(35, t); // "}" + currentState = stateStack.Pop(); + break; + } + case 118: { + if (t == null) { currentState = 118; break; } + if (t.kind == 125) { + currentState = 119; + break; + } else { + goto case 109; + } + } + case 119: { + stateStack.Push(109); + goto case 120; + } + case 120: { + if (t == null) { currentState = 120; break; } + Expect(34, t); // "{" + currentState = 121; + break; + } + case 121: { + nextTokenIsPotentialStartOfXmlMode = true; + goto case 122; + } + case 122: { + if (t == null) { currentState = 122; break; } + if (set[12, t.kind]) { + stateStack.Push(123); + goto case 35; + } else { + if (t.kind == 34) { + stateStack.Push(123); + goto case 120; + } else { + Error(t); + goto case 123; + } + } + } + case 123: { + if (t == null) { currentState = 123; break; } + if (t.kind == 23) { + currentState = 121; + break; + } else { + goto case 117; + } + } + case 124: { + stateStack.Push(125); + goto case 106; + } + case 125: { + if (t == null) { currentState = 125; break; } + Expect(143, t); // "Is" + currentState = 45; + break; + } + case 126: { + if (t == null) { currentState = 126; break; } if (t.kind == 27 || t.kind == 28 || t.kind == 36) { - stateStack.Push(94); - goto case 95; + stateStack.Push(126); + goto case 127; } else { currentState = stateStack.Pop(); goto switchlbl; } } - case 95: { - if (t == null) { currentState = 95; break; } + case 127: { + if (t == null) { currentState = 127; break; } if (t.kind == 36) { - currentState = 97; + currentState = 129; break; } else { if (t.kind == 27 || t.kind == 28) { - goto case 96; + goto case 128; } else { goto case 6; } } } - case 96: { - if (t == null) { currentState = 96; break; } + case 128: { + if (t == null) { currentState = 128; break; } currentState = 16; break; } - case 97: { + case 129: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 98; + goto case 130; } - case 98: { - if (t == null) { currentState = 98; break; } + case 130: { + if (t == null) { currentState = 130; break; } if (t.kind == 168) { - goto case 99; + goto case 131; } else { - if (set[20, t.kind]) { - goto case 75; + if (set[16, t.kind]) { + goto case 56; } else { goto case 6; } } } - case 99: { - if (t == null) { currentState = 99; break; } - currentState = 100; + case 131: { + if (t == null) { currentState = 131; break; } + currentState = 132; break; } - case 100: { - stateStack.Push(101); - goto case 65; + case 132: { + stateStack.Push(133); + goto case 45; } - case 101: { - if (t == null) { currentState = 101; break; } + case 133: { + if (t == null) { currentState = 133; break; } if (t.kind == 23) { - goto case 99; + goto case 131; } else { - goto case 42; + goto case 53; } } - case 102: { + case 134: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 103; + goto case 135; } - case 103: { - if (t == null) { currentState = 103; break; } - if (set[21, t.kind]) { + case 135: { + if (t == null) { currentState = 135; break; } + if (set[24, t.kind]) { goto case 16; } else { if (t.kind == 36) { - goto case 43; + goto case 102; } else { - if (set[17, t.kind]) { - goto case 89; + if (set[13, t.kind]) { + goto case 70; } else { if (t.kind == 27 || t.kind == 28) { - goto case 96; + goto case 128; } else { if (t.kind == 128) { - currentState = 118; + currentState = 150; break; } else { if (t.kind == 235) { - currentState = 116; + currentState = 148; break; } else { if (t.kind == 10 || t.kind == 17) { nextTokenIsPotentialStartOfXmlMode = true; PushContext(Context.Xml, t); - goto case 109; + goto case 141; } else { - if (set[22, t.kind]) { - if (set[23, t.kind]) { - currentState = 108; + if (set[25, t.kind]) { + if (set[26, t.kind]) { + currentState = 140; break; } else { if (t.kind == 93 || t.kind == 105 || t.kind == 217) { - currentState = 104; + currentState = 136; break; } else { goto case 6; @@ -1008,46 +1246,46 @@ int currentState = 0; } } } - case 104: { - if (t == null) { currentState = 104; break; } + case 136: { + if (t == null) { currentState = 136; break; } Expect(36, t); // "(" - currentState = 105; + currentState = 137; break; } - case 105: { - stateStack.Push(106); + case 137: { + stateStack.Push(138); goto case 35; } - case 106: { - if (t == null) { currentState = 106; break; } + case 138: { + if (t == null) { currentState = 138; break; } Expect(23, t); // "," - currentState = 107; + currentState = 139; break; } - case 107: { - stateStack.Push(42); - goto case 65; + case 139: { + stateStack.Push(53); + goto case 45; } - case 108: { - if (t == null) { currentState = 108; break; } + case 140: { + if (t == null) { currentState = 140; break; } Expect(36, t); // "(" - currentState = 44; + currentState = 103; break; } - case 109: { - if (t == null) { currentState = 109; break; } + case 141: { + if (t == null) { currentState = 141; break; } if (t.kind == 17) { - currentState = 109; + currentState = 141; break; } else { - stateStack.Push(110); - goto case 111; + stateStack.Push(142); + goto case 143; } } - case 110: { - if (t == null) { currentState = 110; break; } + case 142: { + if (t == null) { currentState = 142; break; } if (t.kind == 17) { - currentState = 110; + currentState = 142; break; } else { PopContext(); @@ -1055,58 +1293,58 @@ int currentState = 0; goto switchlbl; } } - case 111: { - if (t == null) { currentState = 111; break; } + case 143: { + if (t == null) { currentState = 143; break; } Expect(10, t); // XmlOpenTag - currentState = 112; + currentState = 144; break; } - case 112: { - if (t == null) { currentState = 112; break; } - if (set[24, t.kind]) { - currentState = 112; + case 144: { + if (t == null) { currentState = 144; break; } + if (set[27, t.kind]) { + currentState = 144; break; } else { if (t.kind == 14) { goto case 16; } else { if (t.kind == 11) { - goto case 113; + goto case 145; } else { goto case 6; } } } } - case 113: { - if (t == null) { currentState = 113; break; } - currentState = 114; + case 145: { + if (t == null) { currentState = 145; break; } + currentState = 146; break; } - case 114: { - if (t == null) { currentState = 114; break; } - if (set[25, t.kind]) { - if (set[26, t.kind]) { - goto case 113; + case 146: { + if (t == null) { currentState = 146; break; } + if (set[28, t.kind]) { + if (set[29, t.kind]) { + goto case 145; } else { if (t.kind == 10) { - stateStack.Push(114); - goto case 111; + stateStack.Push(146); + goto case 143; } else { Error(t); - goto case 114; + goto case 146; } } } else { Expect(15, t); // XmlOpenEndTag - currentState = 115; + currentState = 147; break; } } - case 115: { - if (t == null) { currentState = 115; break; } - if (set[27, t.kind]) { - currentState = 115; + case 147: { + if (t == null) { currentState = 147; break; } + if (set[30, t.kind]) { + currentState = 147; break; } else { Expect(11, t); // XmlCloseTag @@ -1114,116 +1352,111 @@ int currentState = 0; break; } } - case 116: { - if (t == null) { currentState = 116; break; } + case 148: { + if (t == null) { currentState = 148; break; } Expect(36, t); // "(" - currentState = 117; + currentState = 149; break; } - case 117: { + case 149: { readXmlIdentifier = true; - stateStack.Push(42); - goto case 89; + stateStack.Push(53); + goto case 70; } - case 118: { - if (t == null) { currentState = 118; break; } + case 150: { + if (t == null) { currentState = 150; break; } Expect(36, t); // "(" - currentState = 107; - break; - } - case 119: { - if (t == null) { currentState = 119; break; } - currentState = 35; + currentState = 139; break; } - case 120: { - stateStack.Push(121); + case 151: { + stateStack.Push(152); goto case 35; } - case 121: { - stateStack.Push(122); + case 152: { + stateStack.Push(153); goto case 29; } - case 122: { - if (t == null) { currentState = 122; break; } + case 153: { + if (t == null) { currentState = 153; break; } Expect(112, t); // "End" - currentState = 123; + currentState = 154; break; } - case 123: { - if (t == null) { currentState = 123; break; } + case 154: { + if (t == null) { currentState = 154; break; } Expect(224, t); // "Using" currentState = stateStack.Pop(); break; } - case 124: { - if (t == null) { currentState = 124; break; } - currentState = 125; + case 155: { + if (t == null) { currentState = 155; break; } + currentState = 156; break; } - case 125: { - stateStack.Push(126); + case 156: { + stateStack.Push(157); goto case 35; } - case 126: { - if (t == null) { currentState = 126; break; } + case 157: { + if (t == null) { currentState = 157; break; } if (t.kind == 23) { - goto case 124; + goto case 155; } else { currentState = stateStack.Pop(); goto switchlbl; } } - case 127: { + case 158: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 128; + goto case 159; } - case 128: { - if (t == null) { currentState = 128; break; } + case 159: { + if (t == null) { currentState = 159; break; } if (t.kind == 182) { - goto case 119; + goto case 81; } else { goto case 35; } } - case 129: { - if (t == null) { currentState = 129; break; } - currentState = 130; + case 160: { + if (t == null) { currentState = 160; break; } + currentState = 161; break; } - case 130: { + case 161: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 131; + goto case 162; } - case 131: { - if (t == null) { currentState = 131; break; } - if (set[16, t.kind]) { + case 162: { + if (t == null) { currentState = 162; break; } + if (set[12, t.kind]) { goto case 35; } else { currentState = stateStack.Pop(); goto switchlbl; } } - case 132: { - if (t == null) { currentState = 132; break; } + case 163: { + if (t == null) { currentState = 163; break; } if (t.kind == 107 || t.kind == 123 || t.kind == 229) { goto case 16; } else { goto case 6; } } - case 133: { - if (t == null) { currentState = 133; break; } - if (set[28, t.kind]) { + case 164: { + if (t == null) { currentState = 164; break; } + if (set[31, t.kind]) { goto case 16; } else { goto case 6; } } - case 134: { - if (t == null) { currentState = 134; break; } - if (set[17, t.kind]) { - goto case 89; + case 165: { + if (t == null) { currentState = 165; break; } + if (set[13, t.kind]) { + goto case 70; } else { if (t.kind == 5) { goto case 16; @@ -1232,112 +1465,112 @@ int currentState = 0; } } } - case 135: { - stateStack.Push(136); + case 166: { + stateStack.Push(167); goto case 29; } - case 136: { - if (t == null) { currentState = 136; break; } + case 167: { + if (t == null) { currentState = 167; break; } if (t.kind == 74) { - currentState = 140; + currentState = 171; break; } else { if (t.kind == 122) { - currentState = 139; + currentState = 170; break; } else { - goto case 137; + goto case 168; } } } - case 137: { - if (t == null) { currentState = 137; break; } + case 168: { + if (t == null) { currentState = 168; break; } Expect(112, t); // "End" - currentState = 138; + currentState = 169; break; } - case 138: { - if (t == null) { currentState = 138; break; } + case 169: { + if (t == null) { currentState = 169; break; } Expect(216, t); // "Try" currentState = stateStack.Pop(); break; } - case 139: { - stateStack.Push(137); + case 170: { + stateStack.Push(168); goto case 29; } - case 140: { - if (t == null) { currentState = 140; break; } - if (set[17, t.kind]) { - stateStack.Push(143); - goto case 89; + case 171: { + if (t == null) { currentState = 171; break; } + if (set[13, t.kind]) { + stateStack.Push(174); + goto case 70; } else { - goto case 141; + goto case 172; } } - case 141: { - if (t == null) { currentState = 141; break; } + case 172: { + if (t == null) { currentState = 172; break; } if (t.kind == 227) { - currentState = 142; + currentState = 173; break; } else { - goto case 135; + goto case 166; } } - case 142: { - stateStack.Push(135); + case 173: { + stateStack.Push(166); goto case 35; } - case 143: { - if (t == null) { currentState = 143; break; } + case 174: { + if (t == null) { currentState = 174; break; } if (t.kind == 62) { - currentState = 144; + currentState = 175; break; } else { - goto case 141; + goto case 172; } } - case 144: { - stateStack.Push(141); - goto case 65; + case 175: { + stateStack.Push(172); + goto case 45; } - case 145: { - if (t == null) { currentState = 145; break; } + case 176: { + if (t == null) { currentState = 176; break; } if (t.kind == 5 || t.kind == 162) { goto case 16; } else { - goto case 146; + goto case 177; } } - case 146: { - if (t == null) { currentState = 146; break; } - if (set[17, t.kind]) { - goto case 89; + case 177: { + if (t == null) { currentState = 177; break; } + if (set[13, t.kind]) { + goto case 70; } else { goto case 6; } } - case 147: { - if (t == null) { currentState = 147; break; } + case 178: { + if (t == null) { currentState = 178; break; } Expect(117, t); // "Error" - currentState = 148; + currentState = 179; break; } - case 148: { + case 179: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 149; + goto case 180; } - case 149: { - if (t == null) { currentState = 149; break; } - if (set[16, t.kind]) { + case 180: { + if (t == null) { currentState = 180; break; } + if (set[12, t.kind]) { goto case 35; } else { if (t.kind == 131) { - currentState = 151; + currentState = 182; break; } else { if (t.kind == 192) { - currentState = 150; + currentState = 181; break; } else { goto case 6; @@ -1345,1025 +1578,932 @@ int currentState = 0; } } } - case 150: { - if (t == null) { currentState = 150; break; } + case 181: { + if (t == null) { currentState = 181; break; } Expect(162, t); // "Next" currentState = stateStack.Pop(); break; } - case 151: { - if (t == null) { currentState = 151; break; } + case 182: { + if (t == null) { currentState = 182; break; } if (t.kind == 5) { goto case 16; } else { - goto case 146; + goto case 177; } } - case 152: { + case 183: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 153; + goto case 184; } - case 153: { - if (t == null) { currentState = 153; break; } - if (set[14, t.kind]) { - stateStack.Push(166); - goto case 163; + case 184: { + if (t == null) { currentState = 184; break; } + if (set[23, t.kind]) { + stateStack.Push(197); + goto case 194; } else { if (t.kind == 109) { - currentState = 154; + currentState = 185; break; } else { goto case 6; } } } - case 154: { - stateStack.Push(155); - goto case 163; + case 185: { + stateStack.Push(186); + goto case 194; } - case 155: { - if (t == null) { currentState = 155; break; } + case 186: { + if (t == null) { currentState = 186; break; } Expect(137, t); // "In" - currentState = 156; + currentState = 187; break; } - case 156: { - stateStack.Push(157); + case 187: { + stateStack.Push(188); goto case 35; } - case 157: { - stateStack.Push(158); + case 188: { + stateStack.Push(189); goto case 29; } - case 158: { - if (t == null) { currentState = 158; break; } + case 189: { + if (t == null) { currentState = 189; break; } Expect(162, t); // "Next" - currentState = 159; + currentState = 190; break; } - case 159: { + case 190: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 160; + goto case 191; } - case 160: { - if (t == null) { currentState = 160; break; } - if (set[16, t.kind]) { - goto case 161; + case 191: { + if (t == null) { currentState = 191; break; } + if (set[12, t.kind]) { + goto case 192; } else { currentState = stateStack.Pop(); goto switchlbl; } } - case 161: { - stateStack.Push(162); + case 192: { + stateStack.Push(193); goto case 35; } - case 162: { - if (t == null) { currentState = 162; break; } + case 193: { + if (t == null) { currentState = 193; break; } if (t.kind == 23) { - currentState = 161; + currentState = 192; break; } else { currentState = stateStack.Pop(); goto switchlbl; } } - case 163: { - stateStack.Push(164); - goto case 102; + case 194: { + stateStack.Push(195); + goto case 134; } - case 164: { - if (t == null) { currentState = 164; break; } + case 195: { + if (t == null) { currentState = 195; break; } if (t.kind == 32) { - currentState = 165; + currentState = 196; break; } else { - goto case 165; + goto case 196; } } - case 165: { - if (t == null) { currentState = 165; break; } + case 196: { + if (t == null) { currentState = 196; break; } if (t.kind == 27 || t.kind == 28 || t.kind == 36) { - stateStack.Push(165); - goto case 95; + stateStack.Push(196); + goto case 127; } else { currentState = stateStack.Pop(); goto switchlbl; } } - case 166: { - if (t == null) { currentState = 166; break; } + case 197: { + if (t == null) { currentState = 197; break; } Expect(21, t); // "=" - currentState = 167; + currentState = 198; break; } - case 167: { - stateStack.Push(168); + case 198: { + stateStack.Push(199); goto case 35; } - case 168: { - if (t == null) { currentState = 168; break; } + case 199: { + if (t == null) { currentState = 199; break; } if (t.kind == 203) { - currentState = 175; + currentState = 206; break; } else { - goto case 169; + goto case 200; } } - case 169: { - stateStack.Push(170); + case 200: { + stateStack.Push(201); goto case 29; } - case 170: { - if (t == null) { currentState = 170; break; } + case 201: { + if (t == null) { currentState = 201; break; } Expect(162, t); // "Next" - currentState = 171; + currentState = 202; break; } - case 171: { + case 202: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 172; + goto case 203; } - case 172: { - if (t == null) { currentState = 172; break; } - if (set[16, t.kind]) { - goto case 173; + case 203: { + if (t == null) { currentState = 203; break; } + if (set[12, t.kind]) { + goto case 204; } else { currentState = stateStack.Pop(); goto switchlbl; } } - case 173: { - stateStack.Push(174); + case 204: { + stateStack.Push(205); goto case 35; } - case 174: { - if (t == null) { currentState = 174; break; } + case 205: { + if (t == null) { currentState = 205; break; } if (t.kind == 23) { - currentState = 173; + currentState = 204; break; } else { currentState = stateStack.Pop(); goto switchlbl; } } - case 175: { - stateStack.Push(169); + case 206: { + stateStack.Push(200); goto case 35; } - case 176: { - if (t == null) { currentState = 176; break; } + case 207: { + if (t == null) { currentState = 207; break; } if (t.kind == 222 || t.kind == 229) { - currentState = 179; + currentState = 210; break; } else { if (t.kind == 1 || t.kind == 22) { - stateStack.Push(177); + stateStack.Push(208); goto case 29; } else { goto case 6; } } } - case 177: { - if (t == null) { currentState = 177; break; } + case 208: { + if (t == null) { currentState = 208; break; } Expect(151, t); // "Loop" - currentState = 178; + currentState = 209; break; } - case 178: { - if (t == null) { currentState = 178; break; } + case 209: { + if (t == null) { currentState = 209; break; } if (t.kind == 222 || t.kind == 229) { - goto case 119; + goto case 81; } else { currentState = stateStack.Pop(); goto switchlbl; } } - case 179: { - stateStack.Push(180); + case 210: { + stateStack.Push(211); goto case 35; } - case 180: { - stateStack.Push(181); + case 211: { + stateStack.Push(212); goto case 29; } - case 181: { - if (t == null) { currentState = 181; break; } + case 212: { + if (t == null) { currentState = 212; break; } Expect(151, t); // "Loop" currentState = stateStack.Pop(); break; } - case 182: { - stateStack.Push(183); + case 213: { + stateStack.Push(214); goto case 35; } - case 183: { - stateStack.Push(184); + case 214: { + stateStack.Push(215); goto case 29; } - case 184: { - if (t == null) { currentState = 184; break; } + case 215: { + if (t == null) { currentState = 215; break; } Expect(112, t); // "End" - currentState = 185; + currentState = 216; break; } - case 185: { - if (t == null) { currentState = 185; break; } + case 216: { + if (t == null) { currentState = 216; break; } Expect(229, t); // "While" currentState = stateStack.Pop(); break; } - case 186: { + case 217: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 187; + goto case 218; } - case 187: { - if (t == null) { currentState = 187; break; } + case 218: { + if (t == null) { currentState = 218; break; } if (t.kind == 73) { - currentState = 188; + currentState = 219; break; } else { - goto case 188; + goto case 219; } } - case 188: { - stateStack.Push(189); + case 219: { + stateStack.Push(220); goto case 35; } - case 189: { - stateStack.Push(190); + case 220: { + stateStack.Push(221); goto case 15; } - case 190: { - if (t == null) { currentState = 190; break; } + case 221: { + if (t == null) { currentState = 221; break; } if (t.kind == 73) { - currentState = 192; + currentState = 223; break; } else { Expect(112, t); // "End" - currentState = 191; + currentState = 222; break; } } - case 191: { - if (t == null) { currentState = 191; break; } + case 222: { + if (t == null) { currentState = 222; break; } Expect(195, t); // "Select" currentState = stateStack.Pop(); break; } - case 192: { + case 223: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 193; + goto case 224; } - case 193: { - if (t == null) { currentState = 193; break; } + case 224: { + if (t == null) { currentState = 224; break; } if (t.kind == 110) { - currentState = 194; + currentState = 225; break; } else { - if (set[29, t.kind]) { - goto case 195; + if (set[32, t.kind]) { + goto case 226; } else { Error(t); - goto case 194; + goto case 225; } } } - case 194: { - stateStack.Push(190); + case 225: { + stateStack.Push(221); goto case 29; } - case 195: { + case 226: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 196; + goto case 227; } - case 196: { - if (t == null) { currentState = 196; break; } - if (set[30, t.kind]) { + case 227: { + if (t == null) { currentState = 227; break; } + if (set[33, t.kind]) { if (t.kind == 143) { - currentState = 198; + currentState = 229; break; } else { - goto case 198; + goto case 229; } } else { - if (set[16, t.kind]) { - stateStack.Push(197); + if (set[12, t.kind]) { + stateStack.Push(228); goto case 35; } else { Error(t); - goto case 197; + goto case 228; } } } - case 197: { - if (t == null) { currentState = 197; break; } + case 228: { + if (t == null) { currentState = 228; break; } if (t.kind == 23) { - currentState = 195; + currentState = 226; break; } else { - goto case 194; + goto case 225; } } - case 198: { - stateStack.Push(199); - goto case 200; + case 229: { + stateStack.Push(230); + goto case 231; } - case 199: { - stateStack.Push(197); - goto case 47; + case 230: { + stateStack.Push(228); + goto case 106; } - case 200: { - if (t == null) { currentState = 200; break; } - if (set[31, t.kind]) { + case 231: { + if (t == null) { currentState = 231; break; } + if (set[34, t.kind]) { goto case 16; } else { goto case 6; } } - case 201: { - stateStack.Push(202); + case 232: { + stateStack.Push(233); goto case 35; } - case 202: { - if (t == null) { currentState = 202; break; } + case 233: { + if (t == null) { currentState = 233; break; } if (t.kind == 212) { - currentState = 211; + currentState = 242; break; } else { - goto case 203; + goto case 234; } } - case 203: { - if (t == null) { currentState = 203; break; } + case 234: { + if (t == null) { currentState = 234; break; } if (t.kind == 1 || t.kind == 22) { - goto case 204; + goto case 235; } else { goto case 6; } } - case 204: { - stateStack.Push(205); + case 235: { + stateStack.Push(236); goto case 29; } - case 205: { - if (t == null) { currentState = 205; break; } + case 236: { + if (t == null) { currentState = 236; break; } if (t.kind == 110 || t.kind == 111) { if (t.kind == 110) { - currentState = 210; + currentState = 241; break; } else { if (t.kind == 111) { - goto case 207; + goto case 238; } else { Error(t); - goto case 204; + goto case 235; } } } else { Expect(112, t); // "End" - currentState = 206; + currentState = 237; break; } } - case 206: { - if (t == null) { currentState = 206; break; } + case 237: { + if (t == null) { currentState = 237; break; } Expect(134, t); // "If" currentState = stateStack.Pop(); break; } - case 207: { - if (t == null) { currentState = 207; break; } - currentState = 208; + case 238: { + if (t == null) { currentState = 238; break; } + currentState = 239; break; } - case 208: { - stateStack.Push(209); + case 239: { + stateStack.Push(240); goto case 35; } - case 209: { - if (t == null) { currentState = 209; break; } + case 240: { + if (t == null) { currentState = 240; break; } if (t.kind == 212) { - currentState = 204; + currentState = 235; break; } else { - goto case 204; + goto case 235; } } - case 210: { - if (t == null) { currentState = 210; break; } + case 241: { + if (t == null) { currentState = 241; break; } if (t.kind == 134) { - goto case 207; + goto case 238; } else { - goto case 204; + goto case 235; } } - case 211: { + case 242: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 212; + goto case 243; } - case 212: { - if (t == null) { currentState = 212; break; } + case 243: { + if (t == null) { currentState = 243; break; } if (set[8, t.kind]) { - goto case 213; + goto case 244; } else { - goto case 203; + goto case 234; } } - case 213: { - stateStack.Push(214); + case 244: { + stateStack.Push(245); goto case 33; } - case 214: { - if (t == null) { currentState = 214; break; } + case 245: { + if (t == null) { currentState = 245; break; } if (t.kind == 22) { - currentState = 220; + currentState = 251; break; } else { if (t.kind == 110) { - goto case 216; + goto case 247; } else { - goto case 215; + goto case 246; } } } - case 215: { - if (t == null) { currentState = 215; break; } + case 246: { + if (t == null) { currentState = 246; break; } Expect(1, t); // EOL currentState = stateStack.Pop(); break; } - case 216: { - if (t == null) { currentState = 216; break; } - currentState = 217; + case 247: { + if (t == null) { currentState = 247; break; } + currentState = 248; break; } - case 217: { + case 248: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 218; + goto case 249; } - case 218: { - if (t == null) { currentState = 218; break; } + case 249: { + if (t == null) { currentState = 249; break; } if (set[8, t.kind]) { - stateStack.Push(219); + stateStack.Push(250); goto case 33; } else { - goto case 219; + goto case 250; } } - case 219: { - if (t == null) { currentState = 219; break; } + case 250: { + if (t == null) { currentState = 250; break; } if (t.kind == 22) { - goto case 216; + goto case 247; } else { - goto case 215; + goto case 246; } } - case 220: { + case 251: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 221; + goto case 252; } - case 221: { - if (t == null) { currentState = 221; break; } + case 252: { + if (t == null) { currentState = 252; break; } if (set[8, t.kind]) { - goto case 213; + goto case 244; } else { - goto case 214; + goto case 245; } } - case 222: { - stateStack.Push(223); + case 253: { + stateStack.Push(254); goto case 16; } - case 223: { - if (t == null) { currentState = 223; break; } + case 254: { + if (t == null) { currentState = 254; break; } if (t.kind == 36) { - currentState = 73; + currentState = 54; break; } else { currentState = stateStack.Pop(); goto switchlbl; } } - case 224: { - stateStack.Push(225); + case 255: { + stateStack.Push(256); goto case 35; } - case 225: { - if (t == null) { currentState = 225; break; } + case 256: { + if (t == null) { currentState = 256; break; } Expect(23, t); // "," currentState = 35; break; } - case 226: { - stateStack.Push(227); + case 257: { + stateStack.Push(258); goto case 35; } - case 227: { - stateStack.Push(228); + case 258: { + stateStack.Push(259); goto case 29; } - case 228: { - if (t == null) { currentState = 228; break; } + case 259: { + if (t == null) { currentState = 259; break; } Expect(112, t); // "End" - currentState = 229; + currentState = 260; break; } - case 229: { - if (t == null) { currentState = 229; break; } + case 260: { + if (t == null) { currentState = 260; break; } if (t.kind == 209 || t.kind == 231) { goto case 16; } else { goto case 6; } } - case 230: { - stateStack.Push(231); - goto case 89; + case 261: { + stateStack.Push(262); + goto case 70; } - case 231: { - if (t == null) { currentState = 231; break; } + case 262: { + if (t == null) { currentState = 262; break; } if (t.kind == 32) { - currentState = 232; + currentState = 263; break; } else { - goto case 232; + goto case 263; } } - case 232: { - if (t == null) { currentState = 232; break; } + case 263: { + if (t == null) { currentState = 263; break; } if (t.kind == 36) { - goto case 244; + goto case 272; } else { - goto case 233; + goto case 264; } } - case 233: { - if (t == null) { currentState = 233; break; } + case 264: { + if (t == null) { currentState = 264; break; } if (t.kind == 23) { - currentState = 238; + currentState = 266; break; } else { if (t.kind == 62) { - currentState = 235; + currentState = 265; break; } else { - goto case 234; + goto case 80; } } } - case 234: { - if (t == null) { currentState = 234; break; } - if (t.kind == 21) { - goto case 119; - } else { - currentState = stateStack.Pop(); - goto switchlbl; - } - } - case 235: { - if (t == null) { currentState = 235; break; } + case 265: { + if (t == null) { currentState = 265; break; } if (t.kind == 161) { - goto case 237; + goto case 82; } else { - goto case 236; + goto case 83; } } - case 236: { - stateStack.Push(234); - goto case 65; - } - case 237: { - if (t == null) { currentState = 237; break; } - currentState = 236; - break; - } - case 238: { - stateStack.Push(239); - goto case 89; + case 266: { + stateStack.Push(267); + goto case 70; } - case 239: { - if (t == null) { currentState = 239; break; } + case 267: { + if (t == null) { currentState = 267; break; } if (t.kind == 32) { - currentState = 240; - break; - } else { - goto case 240; - } - } - case 240: { - if (t == null) { currentState = 240; break; } - if (t.kind == 36) { - goto case 241; - } else { - goto case 233; - } - } - case 241: { - if (t == null) { currentState = 241; break; } - currentState = 242; - break; - } - case 242: { - if (t == null) { currentState = 242; break; } - if (t.kind == 23) { - goto case 241; - } else { - goto case 243; - } - } - case 243: { - if (t == null) { currentState = 243; break; } - Expect(37, t); // ")" - currentState = 233; - break; - } - case 244: { - if (t == null) { currentState = 244; break; } - currentState = 245; - break; - } - case 245: { - if (t == null) { currentState = 245; break; } - if (t.kind == 23) { - goto case 244; - } else { - goto case 243; - } - } - case 246: { - if (t == null) { currentState = 246; break; } - if (t.kind == 39) { - stateStack.Push(246); - goto case 247; - } else { - stateStack.Push(26); - goto case 65; - } - } - case 247: { - if (t == null) { currentState = 247; break; } - Expect(39, t); // "<" - currentState = 248; - break; - } - case 248: { - PushContext(Context.Attribute, t); - goto case 249; - } - case 249: { - if (t == null) { currentState = 249; break; } - if (set[32, t.kind]) { - currentState = 249; + currentState = 268; break; } else { - Expect(38, t); // ">" - currentState = 250; - break; + goto case 268; } } - case 250: { - PopContext(); - goto case 251; - } - case 251: { - if (t == null) { currentState = 251; break; } - if (t.kind == 1) { - goto case 16; + case 268: { + if (t == null) { currentState = 268; break; } + if (t.kind == 36) { + goto case 269; } else { - currentState = stateStack.Pop(); - goto switchlbl; + goto case 264; } } - case 252: { - stateStack.Push(253); - goto case 254; + case 269: { + if (t == null) { currentState = 269; break; } + currentState = 270; + break; } - case 253: { - if (t == null) { currentState = 253; break; } + case 270: { + if (t == null) { currentState = 270; break; } if (t.kind == 23) { - currentState = 252; - break; + goto case 269; } else { - currentState = stateStack.Pop(); - goto switchlbl; + goto case 271; } } - case 254: { - if (t == null) { currentState = 254; break; } - if (t.kind == 39) { - stateStack.Push(254); - goto case 247; - } else { - goto case 255; - } + case 271: { + if (t == null) { currentState = 271; break; } + Expect(37, t); // ")" + currentState = 264; + break; } - case 255: { - if (t == null) { currentState = 255; break; } - if (set[33, t.kind]) { - currentState = 255; - break; + case 272: { + if (t == null) { currentState = 272; break; } + currentState = 273; + break; + } + case 273: { + if (t == null) { currentState = 273; break; } + if (t.kind == 23) { + goto case 272; } else { - stateStack.Push(256); - goto case 89; + goto case 271; } } - case 256: { - if (t == null) { currentState = 256; break; } - if (t.kind == 62) { - goto case 237; + case 274: { + if (t == null) { currentState = 274; break; } + if (t.kind == 39) { + stateStack.Push(274); + goto case 84; } else { - goto case 234; + stateStack.Push(26); + goto case 45; } } - case 257: { - if (t == null) { currentState = 257; break; } + case 275: { + if (t == null) { currentState = 275; break; } Expect(97, t); // "Custom" - currentState = 258; + currentState = 276; break; } - case 258: { - stateStack.Push(259); - goto case 269; + case 276: { + stateStack.Push(277); + goto case 287; } - case 259: { - if (t == null) { currentState = 259; break; } - if (set[34, t.kind]) { - goto case 261; + case 277: { + if (t == null) { currentState = 277; break; } + if (set[35, t.kind]) { + goto case 279; } else { Expect(112, t); // "End" - currentState = 260; + currentState = 278; break; } } - case 260: { - if (t == null) { currentState = 260; break; } + case 278: { + if (t == null) { currentState = 278; break; } Expect(118, t); // "Event" currentState = 15; break; } - case 261: { - if (t == null) { currentState = 261; break; } + case 279: { + if (t == null) { currentState = 279; break; } if (t.kind == 39) { - stateStack.Push(261); - goto case 247; + stateStack.Push(279); + goto case 84; } else { if (t.kind == 55 || t.kind == 187 || t.kind == 191) { - currentState = 262; + currentState = 280; break; } else { Error(t); - goto case 262; + goto case 280; } } } - case 262: { - if (t == null) { currentState = 262; break; } + case 280: { + if (t == null) { currentState = 280; break; } Expect(36, t); // "(" - currentState = 263; + currentState = 281; break; } - case 263: { - stateStack.Push(264); - goto case 252; + case 281: { + stateStack.Push(282); + goto case 75; } - case 264: { - if (t == null) { currentState = 264; break; } + case 282: { + if (t == null) { currentState = 282; break; } Expect(37, t); // ")" - currentState = 265; + currentState = 283; break; } - case 265: { - stateStack.Push(266); + case 283: { + stateStack.Push(284); goto case 29; } - case 266: { - if (t == null) { currentState = 266; break; } + case 284: { + if (t == null) { currentState = 284; break; } Expect(112, t); // "End" - currentState = 267; + currentState = 285; break; } - case 267: { - if (t == null) { currentState = 267; break; } + case 285: { + if (t == null) { currentState = 285; break; } if (t.kind == 55 || t.kind == 187 || t.kind == 191) { - currentState = 268; + currentState = 286; break; } else { Error(t); - goto case 268; + goto case 286; } } - case 268: { - stateStack.Push(259); + case 286: { + stateStack.Push(277); goto case 15; } - case 269: { - if (t == null) { currentState = 269; break; } + case 287: { + if (t == null) { currentState = 287; break; } Expect(118, t); // "Event" - currentState = 270; + currentState = 288; break; } - case 270: { - stateStack.Push(271); - goto case 89; + case 288: { + stateStack.Push(289); + goto case 70; } - case 271: { - if (t == null) { currentState = 271; break; } + case 289: { + if (t == null) { currentState = 289; break; } if (t.kind == 62) { - currentState = 278; + currentState = 296; break; } else { - if (set[35, t.kind]) { + if (set[36, t.kind]) { if (t.kind == 36) { - currentState = 276; + currentState = 294; break; } else { - goto case 272; + goto case 290; } } else { Error(t); - goto case 272; + goto case 290; } } } - case 272: { - if (t == null) { currentState = 272; break; } + case 290: { + if (t == null) { currentState = 290; break; } if (t.kind == 135) { - goto case 273; + goto case 291; } else { goto case 15; } } - case 273: { - if (t == null) { currentState = 273; break; } - currentState = 274; + case 291: { + if (t == null) { currentState = 291; break; } + currentState = 292; break; } - case 274: { - stateStack.Push(275); - goto case 65; + case 292: { + stateStack.Push(293); + goto case 45; } - case 275: { - if (t == null) { currentState = 275; break; } + case 293: { + if (t == null) { currentState = 293; break; } if (t.kind == 23) { - goto case 273; + goto case 291; } else { goto case 15; } } - case 276: { - if (t == null) { currentState = 276; break; } - if (set[36, t.kind]) { - stateStack.Push(277); - goto case 252; + case 294: { + if (t == null) { currentState = 294; break; } + if (set[18, t.kind]) { + stateStack.Push(295); + goto case 75; } else { - goto case 277; + goto case 295; } } - case 277: { - if (t == null) { currentState = 277; break; } + case 295: { + if (t == null) { currentState = 295; break; } Expect(37, t); // ")" - currentState = 272; + currentState = 290; break; } - case 278: { - stateStack.Push(272); - goto case 65; + case 296: { + stateStack.Push(290); + goto case 45; } - case 279: { - if (t == null) { currentState = 279; break; } + case 297: { + if (t == null) { currentState = 297; break; } Expect(100, t); // "Declare" - currentState = 280; + currentState = 298; break; } - case 280: { - if (t == null) { currentState = 280; break; } + case 298: { + if (t == null) { currentState = 298; break; } if (t.kind == 61 || t.kind == 65 || t.kind == 221) { - currentState = 281; + currentState = 299; break; } else { - goto case 281; + goto case 299; } } - case 281: { - if (t == null) { currentState = 281; break; } + case 299: { + if (t == null) { currentState = 299; break; } if (t.kind == 126 || t.kind == 208) { - currentState = 282; + currentState = 300; break; } else { Error(t); - goto case 282; + goto case 300; } } - case 282: { - stateStack.Push(283); - goto case 89; + case 300: { + stateStack.Push(301); + goto case 70; } - case 283: { - if (t == null) { currentState = 283; break; } + case 301: { + if (t == null) { currentState = 301; break; } Expect(148, t); // "Lib" - currentState = 284; + currentState = 302; break; } - case 284: { - if (t == null) { currentState = 284; break; } + case 302: { + if (t == null) { currentState = 302; break; } Expect(3, t); // LiteralString - currentState = 285; + currentState = 303; break; } - case 285: { - if (t == null) { currentState = 285; break; } + case 303: { + if (t == null) { currentState = 303; break; } if (t.kind == 58) { - currentState = 289; + currentState = 307; break; } else { - goto case 286; + goto case 304; } } - case 286: { - if (t == null) { currentState = 286; break; } + case 304: { + if (t == null) { currentState = 304; break; } if (t.kind == 36) { - currentState = 287; + currentState = 305; break; } else { goto case 15; } } - case 287: { - if (t == null) { currentState = 287; break; } - if (set[36, t.kind]) { - stateStack.Push(288); - goto case 252; + case 305: { + if (t == null) { currentState = 305; break; } + if (set[18, t.kind]) { + stateStack.Push(306); + goto case 75; } else { - goto case 288; + goto case 306; } } - case 288: { - if (t == null) { currentState = 288; break; } + case 306: { + if (t == null) { currentState = 306; break; } Expect(37, t); // ")" currentState = 15; break; } - case 289: { - if (t == null) { currentState = 289; break; } + case 307: { + if (t == null) { currentState = 307; break; } Expect(3, t); // LiteralString - currentState = 286; + currentState = 304; break; } - case 290: { - if (t == null) { currentState = 290; break; } + case 308: { + if (t == null) { currentState = 308; break; } if (t.kind == 126 || t.kind == 208) { - currentState = 291; + currentState = 309; break; } else { Error(t); - goto case 291; + goto case 309; } } - case 291: { + case 309: { PushContext(Context.IdentifierExpected, t); - goto case 292; + goto case 310; } - case 292: { - if (t == null) { currentState = 292; break; } - currentState = 293; + case 310: { + if (t == null) { currentState = 310; break; } + currentState = 311; break; } - case 293: { + case 311: { PopContext(); - goto case 294; + goto case 312; } - case 294: { - if (t == null) { currentState = 294; break; } + case 312: { + if (t == null) { currentState = 312; break; } if (t.kind == 36) { - currentState = 300; + currentState = 318; break; } else { - goto case 295; + goto case 313; } } - case 295: { - if (t == null) { currentState = 295; break; } + case 313: { + if (t == null) { currentState = 313; break; } if (t.kind == 62) { - currentState = 299; + currentState = 317; break; } else { - goto case 296; + goto case 314; } } - case 296: { - stateStack.Push(297); + case 314: { + stateStack.Push(315); goto case 29; } - case 297: { - if (t == null) { currentState = 297; break; } + case 315: { + if (t == null) { currentState = 315; break; } Expect(112, t); // "End" - currentState = 298; + currentState = 316; break; } - case 298: { - if (t == null) { currentState = 298; break; } + case 316: { + if (t == null) { currentState = 316; break; } if (t.kind == 126 || t.kind == 208) { currentState = 15; break; @@ -2372,137 +2512,137 @@ int currentState = 0; goto case 15; } } - case 299: { - stateStack.Push(296); - goto case 65; + case 317: { + stateStack.Push(314); + goto case 45; } - case 300: { - if (t == null) { currentState = 300; break; } - if (set[36, t.kind]) { - stateStack.Push(301); - goto case 252; + case 318: { + if (t == null) { currentState = 318; break; } + if (set[18, t.kind]) { + stateStack.Push(319); + goto case 75; } else { - goto case 301; + goto case 319; } } - case 301: { - if (t == null) { currentState = 301; break; } + case 319: { + if (t == null) { currentState = 319; break; } Expect(37, t); // ")" - currentState = 295; + currentState = 313; break; } - case 302: { - if (t == null) { currentState = 302; break; } + case 320: { + if (t == null) { currentState = 320; break; } if (t.kind == 87) { - currentState = 303; + currentState = 321; break; } else { - goto case 303; + goto case 321; } } - case 303: { - stateStack.Push(304); - goto case 308; + case 321: { + stateStack.Push(322); + goto case 326; } - case 304: { - if (t == null) { currentState = 304; break; } + case 322: { + if (t == null) { currentState = 322; break; } if (t.kind == 62) { - currentState = 307; + currentState = 325; break; } else { - goto case 305; + goto case 323; } } - case 305: { - if (t == null) { currentState = 305; break; } + case 323: { + if (t == null) { currentState = 323; break; } if (t.kind == 21) { - currentState = 306; + currentState = 324; break; } else { goto case 15; } } - case 306: { + case 324: { stateStack.Push(15); goto case 35; } - case 307: { - stateStack.Push(305); - goto case 65; + case 325: { + stateStack.Push(323); + goto case 45; } - case 308: { - if (t == null) { currentState = 308; break; } + case 326: { + if (t == null) { currentState = 326; break; } if (set[37, t.kind]) { goto case 16; } else { goto case 6; } } - case 309: { - if (t == null) { currentState = 309; break; } + case 327: { + if (t == null) { currentState = 327; break; } currentState = 9; break; } - case 310: { - if (t == null) { currentState = 310; break; } - currentState = 311; + case 328: { + if (t == null) { currentState = 328; break; } + currentState = 329; break; } - case 311: { - if (t == null) { currentState = 311; break; } + case 329: { + if (t == null) { currentState = 329; break; } if (set[3, t.kind]) { - goto case 310; + goto case 328; } else { - stateStack.Push(312); + stateStack.Push(330); goto case 15; } } - case 312: { - if (t == null) { currentState = 312; break; } + case 330: { + if (t == null) { currentState = 330; break; } if (set[38, t.kind]) { - stateStack.Push(312); + stateStack.Push(330); goto case 5; } else { Expect(112, t); // "End" - currentState = 313; + currentState = 331; break; } } - case 313: { - if (t == null) { currentState = 313; break; } + case 331: { + if (t == null) { currentState = 331; break; } Expect(159, t); // "Namespace" currentState = 15; break; } - case 314: { - if (t == null) { currentState = 314; break; } + case 332: { + if (t == null) { currentState = 332; break; } Expect(136, t); // "Imports" - currentState = 315; + currentState = 333; break; } - case 315: { + case 333: { nextTokenIsPotentialStartOfXmlMode = true; - goto case 316; + goto case 334; } - case 316: { - if (t == null) { currentState = 316; break; } + case 334: { + if (t == null) { currentState = 334; break; } if (set[3, t.kind]) { - currentState = 316; + currentState = 334; break; } else { goto case 15; } } - case 317: { - if (t == null) { currentState = 317; break; } + case 335: { + if (t == null) { currentState = 335; break; } Expect(172, t); // "Option" - currentState = 318; + currentState = 336; break; } - case 318: { - if (t == null) { currentState = 318; break; } + case 336: { + if (t == null) { currentState = 336; break; } if (set[3, t.kind]) { - currentState = 318; + currentState = 336; break; } else { goto case 15; @@ -2526,20 +2666,23 @@ int currentState = 0; {x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,T, x,x,x,x, x,x,x,x, x,T,x,x, T,x,x,T, T,x,T,x, x,x,x,x, x,x,x,T, x,x,T,x, T,x,x,x, T,T,T,x, x,x,x,x, T,x,x,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, x,x,x,x, T,x,x,x, T,x,x,x, x,x,T,x, x,T,x,T, x,x,x,T, x,T,T,T, x,T,T,T, x,T,T,x, x,x,x,x, x,x,x,x, x,T,T,x, x,T,x,x, x,x,x,x, T,x,T,T, x,x,x,x, x,x,x,x, x,T,T,x, x,x,x,x, T,x,T,x, T,x,x,x, x,x}, {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, T,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,T,T,T, x,T,x,T, x,T,T,x, x,x,x,x, x,x,x,x, x,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, T,x,x,x, x,x}, {x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,x,x,x, x,T,x,x, x,x,x,x, T,x,x,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,x, x,x,x,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x}, - {x,T,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,T,x, x,x,x,T, T,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, T,x,x,T, T,T,T,T, T,x,T,x, T,T,T,T, T,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, T,T,T,T, x,x,x,x, x,x,x,T, T,T,x,T, T,T,x,T, x,T,x,x, T,x,x,T, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,T,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,T, x,T,x,T, T,T,x,T, x,x,x,x, x,T,T,x, T,x,x,x, x,T,T,T, x,T,x,T, T,T,T,x, x,T,T,x, T,x,x,x, T,T,x,T, x,x,x,T, x,x}, - {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,T, T,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, T,x,x,T, T,T,T,T, T,x,T,x, T,T,T,T, T,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, T,T,T,T, x,x,x,x, x,x,x,T, T,T,x,T, T,T,x,T, x,T,x,x, T,x,x,T, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,T,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,T, x,T,x,T, T,T,x,T, x,x,x,x, x,T,T,x, T,x,x,x, x,T,T,T, x,T,x,T, T,T,T,x, x,T,T,x, T,x,x,x, T,T,x,T, x,x,x,T, x,x}, + {x,T,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,T,x, x,x,x,T, T,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, T,x,x,T, T,T,T,T, T,x,T,x, T,T,T,T, T,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, T,T,T,T, x,x,x,x, x,x,x,T, T,T,x,T, T,T,x,T, x,T,T,x, T,x,x,T, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,T,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,T, x,T,x,T, T,T,x,T, x,x,x,x, x,T,T,x, T,x,x,x, T,T,T,T, x,T,x,T, T,T,T,x, x,T,T,x, T,x,x,x, T,T,x,T, x,x,x,T, x,x}, + {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,T, T,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, T,x,x,T, T,T,T,T, T,x,T,x, T,T,T,T, T,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, T,T,T,T, x,x,x,x, x,x,x,T, T,T,x,T, T,T,x,T, x,T,T,x, T,x,x,T, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,T,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,T, x,T,x,T, T,T,x,T, x,x,x,x, x,T,T,x, T,x,x,x, T,T,T,T, x,T,x,T, T,T,T,x, x,T,T,x, T,x,x,x, T,T,x,T, x,x,x,T, x,x}, {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, - {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,T, T,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, T,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,x,x, T,x,x,x, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,T, x,T,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, + {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,T, T,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, T,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,T,x, T,x,x,x, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, T,x,T,T, x,x,x,T, x,T,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,T, T,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,x,x, T,x,x,x, T,x,x,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,T, x,T,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, + {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,T, T,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,T,x, T,x,x,x, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, T,x,T,T, x,x,x,T, x,T,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, + {x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,x,x,x, x,T,x,x, x,x,x,x, T,x,x,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,x, x,x,x,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x}, + {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,T,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,T, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,T, T,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,T, T,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, + {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,x,T, T,T,T,x, x,x,x,x, T,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,T,x, T,x,x,x, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, T,x,T,T, x,x,x,T, x,T,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, + {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,x,T, T,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,T,x, T,x,x,x, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, T,x,T,T, x,x,x,T, x,T,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, + {x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, T,T,T,T, x,T,T,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,T,T,T, x,x,x,T, x,x,T,x, T,x,x,x, x,x,x,T, x,x,x,x, T,x,x,x, x,T,x,x, x,T,x,x, T,x,x,x, x,x,T,x, T,x,T,x, x,T,T,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,T, T,T,x,x, x,x,T,x, x,x,T,T, x,x,x,x, x,x,x,T, T,T,T,T, x,x,x,x, T,x,x,x, x,x,x,x, x,x}, + {x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, T,T,T,x, T,T,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,x,x,x, x,T,x,x, x,x,x,x, T,x,x,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, x,x,x,x, T,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,x, x,x,x,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x}, + {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, + {x,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,x,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,x}, {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, T,T,T,x, x,T,T,T, x,T,x,x, x,x,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,x, x,x,x,T, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, T,x,x,x, x,T,x,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x}, {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,T, T,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,x,x, T,x,x,x, T,x,x,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,T, x,T,x,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, - {x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, T,T,T,T, x,T,T,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,T,T,T, x,x,x,T, x,x,T,x, T,x,x,x, x,x,x,T, x,x,x,x, T,x,x,x, x,T,x,x, x,T,x,x, T,x,x,x, x,x,T,x, T,x,T,x, x,T,T,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,T, T,T,x,x, x,x,T,x, x,x,T,T, x,x,x,x, x,x,x,T, T,T,T,T, x,x,x,x, T,x,x,x, x,x,x,x, x,x}, - {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,T, T,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,x,x, T,x,x,x, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,T, x,T,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, - {x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,x,x,x, x,T,x,x, x,x,x,x, T,x,x,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,x, x,x,x,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x}, - {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,T,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,T, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,T, T,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,T, T,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, - {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,x,T, T,T,T,x, x,x,x,x, T,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,x,x, T,x,x,x, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,T, x,T,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, - {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,x,T, T,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,x,x, T,x,x,x, T,x,T,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,T, x,T,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, {x,x,x,T, T,T,T,T, T,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,x,x, x,T,T,T, T,T,T,T, T,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,x,x, x,T,T,T, T,x,T,T, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, @@ -2548,14 +2691,11 @@ int currentState = 0; {x,T,T,T, T,T,T,T, T,T,x,T, T,T,T,x, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,x}, {x,T,T,T, T,T,T,T, T,T,T,x, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,x}, {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x}, - {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,T,x,x, x,x,x,T, T,T,T,x, x,x,x,x, T,x,T,T, T,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,x,x, T,x,x,x, T,x,T,x, x,x,T,x, x,x,T,T, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,T, x,T,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, + {x,x,T,T, T,T,T,T, T,T,T,x, x,x,x,x, x,T,x,x, x,T,x,x, x,x,x,T, T,T,T,x, x,x,x,x, T,x,T,T, T,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, T,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,T, T,T,T,T, T,x,T,x, T,T,T,x, x,T,T,T, T,T,T,T, T,T,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,T,x,x, x,T,T,x, T,x,x,x, T,x,T,x, x,x,T,x, x,x,T,T, x,T,T,x, x,x,x,x, T,x,x,x, x,T,T,x, x,T,x,T, T,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, T,x,T,T, x,x,x,T, x,T,T,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,T, x,x}, {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,T, T,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,T, T,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, - {x,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,x,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,T,T,T, T,x}, - {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, {x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}, - {x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, T,T,T,x, T,T,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,x,x,x, x,T,x,x, x,x,x,x, T,x,x,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, x,x,x,x, T,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,x, x,x,x,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x}, {x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,T,x,T, T,T,T,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,T,x, x,x,x,x, x,x,x,T, x,x,x,x, T,x,x,x, x,T,x,x, x,x,x,x, T,x,x,x, x,x,T,x, x,x,T,x, x,T,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,T, x,x,x,x, x,x,T,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,T,T, x,x,x,x, x,x,x,x, x,T,T,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x}, {x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, T,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,T,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,T, x,T,T,x, x,x,x,x, x,x,x,x, x,T,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x}