Напиши код для сервиса plantuml.com для создания блок схемы следующей функции:
	std::string cleanupCrew(char c, char next, int &state, std::string& buffer, bool &is_identifier, bool &check_next) {
		switch (state) {
		case 0: {
			switch (c) {
				//Ключевые слова
			case 'a': { state = 1; break; }
			case 'b': { state = 5; break; }
			case 'c': { state = 11; break; }
			case 'd': { state = 28; break; }
			case 'e': { state = 40; break; }
			case 'f': { state = 43; break; }
			case 'g': { state = 127; break; }
			case 'i': { state = 55; break; }
			case 'l': { state = 133; break; }
			case 'm': { state = 136; break; }
			case 'n': { state = 57; break; }
			case 'o': { state = 71; break; }
			case 'p': { state = 72; break; }
			case 'r': { state = 88; break; }
			case 's': { state = 93; break; }
			case 't': { state = 102; break; }
			case 'u': { state = 194; break; }
			case 'v': { state = 107; break; }
			case 'w': { state = 209; break; }
			case 'x': { state = 110; break; }
			
				   // Константы
			case '0': { state = 3000; break; }
			case '1': { state = 3000; break; }
			case '2': { state = 3000; break; }
			case '3': { state = 3000; break; }
			case '4': { state = 3000; break; }
			case '5': { state = 3000; break; }
			case '6': { state = 3000; break; }
			case '7': { state = 3000; break; }
			case '8': { state = 3000; break; }
			case '9': { state = 3000; break; }

					// Разделители
			case ' ': { state = 4000; break; }
			case ',': { state = 4000; break; }
			case ';': { state = 4000; break; }
			case ':': { state = 4000; break; }
			case '\'': { state = 4000; break; }
			case '\"': { state = 4000; break; }
			case '{': { state = 4000; break; }
			case '}': { state = 4000; break; }
			case '(': { state = 4000; break; }
			case ')': { state = 4000; break; }
			case '\n': { state = 4000; break; }

					 // Знаки операций и отношений
			case '=': { state = 5001; break; }
			case '+': { state = 5003; break; }
			case '-': { state = 5006; break; }
			case '*': { state = 5011; break; }
			case '/': { state = 5013; break; }
			case '%': { state = 5015; break; }
			case '!': { state = 5017; break; }
			case '<': { state = 5019; break; }
			case '>': { state = 5023; break; }
			case '&': { state = 5027; break; }
			case '|': { state = 5030; break; }
			case '~': { state = 5033; break; }
			case '^': { state = 5034; break; }
			case '.': { state = 5036; break; }
			case '[': { state = 5039; break; }
			case ']': { state = 5040; break; }
			case '#': { state = 5041; break; }
			case '?': { state = 5042; break; }
			

			default: { state = 0; break; }
			} break;
		}
		case 1: {
			switch (c) {
			case 'n': { state = 2; break; }
			case 'u': { state = 3; break; }
			default: { state = 0; break; }
			} break;
		}
		case 2: {
			switch (c) {
			case 'd': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 3: {
			switch (c) {
			case 't': { state = 4; break; }
			default: { state = 0; break; }
			} break;
		}
		case 4: {
			switch (c) {
			case 'o': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5: {
			switch (c) {
			case 'o': { state = 6; break; }
			case 'r': { state = 8; break; }
			case 'i': { state = 112; break; }
			default: { state = 0; break; }
			} break;
		}
		case 6: {
			switch (c) {
			case 'o': { state = 7; break; }
			default: { state = 0; break; }
			} break;
		}
		case 7: {
			switch (c) {
			case 'l': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 8: {
			switch (c) {
			case 'e': { state = 9; break; }
			default: { state = 0; break; }
			} break;
		}
		case 9: {
			switch (c) {
			case 'a': { state = 10; break; }
			default: { state = 0; break; }
			} break;
		}
		case 10: {
			switch (c) {
			case 'k': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 11: {
			switch (c) {
			case 'a': { state = 12; break; }
			case 'h': { state = 16; break; }
			case 'l': { state = 18; break; }
			case 'o': { state = 21; break; }
			default: { state = 0; break; }
			} break;
		}
		case 12: {
			switch (c) {
			case 's': { state = 13; break; }
			case 't': { state = 14; break; }
			default: { state = 0; break; }
			} break;
		}
		case 13: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 14: {
			switch (c) {
			case 'c': { state = 15; break; }
			default: { state = 0; break; }
			} break;
		}
		case 15: {
			switch (c) {
			case 'h': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 16: {
			switch (c) {
			case 'a': { state = 17; break; }
			default: { state = 0; break; }
			} break;
		}
		case 17: {
			switch (c) {
			case 'r': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 18: {
			switch (c) {
			case 'a': { state = 19; break; }
			default: { state = 0; break; }
			} break;
		}
		case 19: {
			switch (c) {
			case 's': { state = 20; break; }
			default: { state = 0; break; }
			} break;
		}
		case 20: {
			switch (c) {
			case 's': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 21: {
			switch (c) {
			case 'n': { state = 22; break; }
			default: { state = 0; break; }
			} break;
		}
		case 22: {
			switch (c) {
			case 's': { state = 23; break; }
			case 't': { state = 24; break; }
			default: { state = 0; break; }
			} break;
		}
		case 23: {
			switch (c) {
			case 't': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 24: {
			switch (c) {
			case 'i': { state = 25; break; }
			default: { state = 0; break; }
			} break;
		}
		case 25: {
			switch (c) {
			case 'n': { state = 26; break; }
			default: { state = 0; break; }
			} break;
		}
		case 26: {
			switch (c) {
			case 'u': { state = 27; break; }
			default: { state = 0; break; }
			} break;
		}
		case 27: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 28: {
			switch (c) {
			case 'e': { state = 29; break; }
			case 'o': { state = 1001; break; }
			default: { state = 0; break; }
			} break;
		}
		case 29: {
			switch (c) {
			case 'f': { state = 30; break; }
			case 'l': { state = 34; break; }
			default: { state = 0; break; }
			} break;
		}
		case 30: {
			switch (c) {
			case 'a': { state = 31; break; }
			default: { state = 0; break; }
			} break;
		}
		case 31: {
			switch (c) {
			case 'u': { state = 32; break; }
			default: { state = 0; break; }
			} break;
		}
		case 32: {
			switch (c) {
			case 'l': { state = 33; break; }
			default: { state = 0; break; }
			} break;
		}
		case 33: {
			switch (c) {
			case 't': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 34: {
			switch (c) {
			case 'e': { state = 35; break; }
			default: { state = 0; break; }
			} break;
		}
		case 35: {
			switch (c) {
			case 't': { state = 36; break; }
			default: { state = 0; break; }
			} break;
		}
		case 36: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 37: {
			switch (c) {
			case 'b': { state = 38; break; }
			default: { state = 0; break; }
			} break;
		}
		case 38: {
			switch (c) {
			case 'l': { state = 39; break; }
			default: { state = 0; break; }
			} break;
		}
		case 39: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 40: {
			switch (c) {
			case 'l': { state = 41; break; }
			case 'n': { state = 117; break; }
			case 'x': { state = 119; break; }
			default: { state = 0; break; }
			} break;
		}
		case 41: {
			switch (c) {
			case 's': { state = 42; break; }
			default: { state = 0; break; }
			} break;
		}
		case 42: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 43: {
			switch (c) {
			case 'a': { state = 44; break; }
			case 'l': { state = 47; break; }
			case 'o': { state = 50; break; }
			case 'r': { state = 51; break; }
			default: { state = 0; break; }
			} break;
		}
		case 44: {
			switch (c) {
			case 'l': { state = 45; break; }
			default: { state = 0; break; }
			} break;
		}
		case 45: {
			switch (c) {
			case 's': { state = 46; break; }
			default: { state = 0; break; }
			} break;
		}
		case 46: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 47: {
			switch (c) {
			case 'o': { state = 48; break; }
			default: { state = 0; break; }
			} break;
		}
		case 48: {
			switch (c) {
			case 'a': { state = 49; break; }
			default: { state = 0; break; }
			} break;
		}
		case 49: {
			switch (c) {
			case 't': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 50: {
			switch (c) {
			case 'r': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 51: {
			switch (c) {
			case 'i': { state = 52; break; }
			default: { state = 0; break; }
			} break;
		}
		case 52: {
			switch (c) {
			case 'e': { state = 53; break; }
			default: { state = 0; break; }
			} break;
		}
		case 53: {
			switch (c) {
			case 'n': { state = 54; break; }
			default: { state = 0; break; }
			} break;
		}
		case 54: {
			switch (c) {
			case 'd': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 55: {
			switch (c) {
			case 'f': { state = 1000; break; }
			case 'n': { state = 56; break; }
			default: { state = 0; break; }
			} break;
		}
		case 56: {
			switch (c) {
			case 't': { state = 1000; break; }
			case 'l': { state = 130; break; }
			default: { state = 0; break; }
			} break;
		}
		case 57: {
			switch (c) {
			case 'a': { state = 58; break; }
			case 'e': { state = 65; break; }
			case 'u': { state = 66; break; }
			case 'o': { state = 142; break; }
			default: { state = 0; break; }
			} break;
		}
		case 58: {
			switch (c) {
			case 'm': { state = 59; break; }
			default: { state = 0; break; }
			} break;
		}
		case 59: {
			switch (c) {
			case 'e': { state = 60; break; }
			default: { state = 0; break; }
			} break;
		}
		case 60: {
			switch (c) {
			case 's': { state = 61; break; }
			default: { state = 0; break; }
			} break;
		}
		case 61: {
			switch (c) {
			case 'p': { state = 62; break; }
			default: { state = 0; break; }
			} break;
		}
		case 62: {
			switch (c) {
			case 'a': { state = 63; break; }
			default: { state = 0; break; }
			} break;
		}
		case 63: {
			switch (c) {
			case 'c': { state = 64; break; }
			default: { state = 0; break; }
			} break;
		}
		case 64: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 65: {
			switch (c) {
			case 'w': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 66: {
			switch (c) {
			case 'l': { state = 67; break; }
			default: { state = 0; break; }
			} break;
		}
		case 67: {
			switch (c) {
			case 'l': { state = 68; break; }
			default: { state = 0; break; }
			} break;
		}
		case 68: {
			switch (c) {
			case 'p': { state = 69; break; }
			default: { state = 0; break; }
			} break;
		}
		case 69: {
			switch (c) {
			case 't': { state = 70; break; }
			default: { state = 0; break; }
			} break;
		}
		case 70: {
			switch (c) {
			case 'r': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 71: {
			switch (c) {
			case 'p': { state = 148; break; }
			case 'r': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 72: {
			switch (c) {
			case 'r': { state = 73; break; }
			case 'u': { state = 84; break; }
			default: { state = 0; break; }
			} break;
		}
		case 73: {
			switch (c) {
			case 'o': { state = 74; break; }
			case 'i': { state = 80; break; }
			default: { state = 0; break; }
			} break;
		}
		case 74: {
			switch (c) {
			case 't': { state = 75; break; }
			default: { state = 0; break; }
			} break;
		}
		case 75: {
			switch (c) {
			case 'e': { state = 76; break; }
			default: { state = 0; break; }
			} break;
		}
		case 76: {
			switch (c) {
			case 'c': { state = 77; break; }
			default: { state = 0; break; }
			} break;
		}
		case 77: {
			switch (c) {
			case 't': { state = 78; break; }
			default: { state = 0; break; }
			} break;
		}
		case 78: {
			switch (c) {
			case 'e': { state = 79; break; }
			default: { state = 0; break; }
			} break;
		}
		case 79: {
			switch (c) {
			case 'd': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 80: {
			switch (c) {
			case 'v': { state = 81; break; }
			default: { state = 0; break; }
			} break;
		}
		case 81: {
			switch (c) {
			case 'a': { state = 82; break; }
			default: { state = 0; break; }
			} break;
		}
		case 82: {
			switch (c) {
			case 't': { state = 83; break; }
			default: { state = 0; break; }
			} break;
		}
		case 83: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 84: {
			switch (c) {
			case 'b': { state = 85; break; }
			default: { state = 0; break; }
			} break;
		}
		case 85: {
			switch (c) {
			case 'l': { state = 86; break; }
			default: { state = 0; break; }
			} break;
		}
		case 86: {
			switch (c) {
			case 'i': { state = 87; break; }
			default: { state = 0; break; }
			} break;
		}
		case 87: {
			switch (c) {
			case 'c': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 88: {
			switch (c) {
			case 'e': { state = 89; break; }
			default: { state = 0; break; }
			} break;
		}
		case 89: {
			switch (c) {
			case 't': { state = 90; break; }
			case 'g': { state = 154; break; }
			case 'q': { state = 159; break; }
			default: { state = 0; break; }
			} break;
		}
		case 90: {
			switch (c) {
			case 'u': { state = 91; break; }
			default: { state = 0; break; }
			} break;
		}
		case 91: {
			switch (c) {
			case 'r': { state = 92; break; }
			default: { state = 0; break; }
			} break;
		}
		case 92: {
			switch (c) {
			case 'n': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 93: {
			switch (c) {
			case 't': { state = 94; break; }
			case 'w': { state = 98; break; }
			case 'h': { state = 173; break; }
			case 'i': { state = 176; break; }
			default: { state = 0; break; }
			} break;
		}
		case 94: {
			switch (c) {
			case 'a': { state = 95; break; }
			case 'r': { state = 183; break; }
			default: { state = 0; break; }
			} break;
		}
		case 95: {
			switch (c) {
			case 't': { state = 96; break; }
			default: { state = 0; break; }
			} break;
		}
		case 96: {
			switch (c) {
			case 'i': { state = 97; break; }
			default: { state = 0; break; }
			} break;
		}
		case 97: {
			switch (c) {
			case 'c': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 98: {
			switch (c) {
			case 'i': { state = 99; break; }
			default: { state = 0; break; }
			} break;
		}
		case 99: {
			switch (c) {
			case 't': { state = 100; break; }
			default: { state = 0; break; }
			} break;
		}
		case 100: {
			switch (c) {
			case 'c': { state = 101; break; }
			default: { state = 0; break; }
			} break;
		}
		case 101: {
			switch (c) {
			case 'h': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 102: {
			switch (c) {
			case 'h': { state = 103; break; }
			case 'r': { state = 105; break; }
			case 'e': { state = 186; break; }
			default: { state = 0; break; }
			} break;
		}
		case 103: {
			switch (c) {
			case 'i': { state = 104; break; }
			case 'r': { state = 192; break; }
			default: { state = 0; break; }
			} break;
		}
		case 104: {
			switch (c) {
			case 's': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 105: {
			switch (c) {
			case 'u': { state = 106; break; }
			case 'y': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 106: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 107: {
			switch (c) {
			case 'o': { state = 108; break; }
			case 'i': { state = 204; break; }
			default: { state = 0; break; }
			} break;
		}
		case 108: {
			switch (c) {
			case 'i': { state = 109; break; }
			default: { state = 0; break; }
			} break;
		}
		case 109: {
			switch (c) {
			case 'd': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 110: {
			switch (c) {
			case 'o': { state = 111; break; }
			default: { state = 0; break; }
			} break;
		}
		case 111: {
			switch (c) {
			case 'r': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 112: {
			switch (c) {
			case 't': { state = 113; break; }
			default: { state = 0; break; }
			} break;
		}
		case 113: {
			switch (c) {
			case 'a': { state = 114; break; }
			case 'o': { state = 116; break; }
			default: { state = 0; break; }
			} break;
		}
		case 114: {
			switch (c) {
			case 'n': { state = 115; break; }
			default: { state = 0; break; }
			} break;
		}
		case 115: {
			switch (c) {
			case 'd': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 116: {
			switch (c) {
			case 'r': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 117: {
			switch (c) {
			case 'u': { state = 118; break; }
			default: { state = 0; break; }
			} break;
		}
		case 118: {
			switch (c) {
			case 'm': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 119: {
			switch (c) {
			case 'p': { state = 120; break; }
			default: { state = 0; break; }
			} break;
		}
		case 120: {
			switch (c) {
			case 'l': { state = 121; break; }
			case 'o': { state = 125; break; }
			default: { state = 0; break; }
			} break;
		}
		case 121: {
			switch (c) {
			case 'i': { state = 122; break; }
			default: { state = 0; break; }
			} break;
		}
		case 122: {
			switch (c) {
			case 'c': { state = 123; break; }
			default: { state = 0; break; }
			} break;
		}
		case 123: {
			switch (c) {
			case 'i': { state = 124; break; }
			default: { state = 0; break; }
			} break;
		}
		case 124: {
			switch (c) {
			case 't': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 125: {
			switch (c) {
			case 'r': { state = 126; break; }
			default: { state = 0; break; }
			} break;
		}
		case 126: {
			switch (c) {
			case 't': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 127: {
			switch (c) {
			case 'o': { state = 128; break; }
			default: { state = 0; break; }
			} break;
		}
		case 128: {
			switch (c) {
			case 't': { state = 129; break; }
			default: { state = 0; break; }
			} break;
		}
		case 129: {
			switch (c) {
			case 'o': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 130: {
			switch (c) {
			case 'i': { state = 131; break; }
			default: { state = 0; break; }
			} break;
		}
		case 131: {
			switch (c) {
			case 'n': { state = 132; break; }
			default: { state = 0; break; }
			} break;
		}
		case 132: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 133: {
			switch (c) {
			case 'o': { state = 134; break; }
			default: { state = 0; break; }
			} break;
		}
		case 134: {
			switch (c) {
			case 'n': { state = 135; break; }
			default: { state = 0; break; }
			} break;
		}
		case 135: {
			switch (c) {
			case 'g': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 136: {
			switch (c) {
			case 'u': { state = 137; break; }
			default: { state = 0; break; }
			} break;
		}
		case 137: {
			switch (c) {
			case 't': { state = 138; break; }
			default: { state = 0; break; }
			} break;
		}
		case 138: {
			switch (c) {
			case 'a': { state = 139; break; }
			default: { state = 0; break; }
			} break;
		}
		case 139: {
			switch (c) {
			case 'b': { state = 140; break; }
			default: { state = 0; break; }
			} break;
		}
		case 140: {
			switch (c) {
			case 'l': { state = 141; break; }
			default: { state = 0; break; }
			} break;
		}
		case 141: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 142: {
			switch (c) {
			case 'e': { state = 143; break; }
			case 't': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 143: {
			switch (c) {
			case 'x': { state = 144; break; }
			default: { state = 0; break; }
			} break;
		}
		case 144: {
			switch (c) {
			case 'c': { state = 145; break; }
			default: { state = 0; break; }
			} break;
		}
		case 145: {
			switch (c) {
			case 'e': { state = 146; break; }
			default: { state = 0; break; }
			} break;
		}
		case 146: {
			switch (c) {
			case 'p': { state = 147; break; }
			default: { state = 0; break; }
			} break;
		}
		case 147: {
			switch (c) {
			case 't': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 148: {
			switch (c) {
			case 'e': { state = 149; break; }
			default: { state = 0; break; }
			} break;
		}
		case 149: {
			switch (c) {
			case 'r': { state = 150; break; }
			default: { state = 0; break; }
			} break;
		}
		case 150: {
			switch (c) {
			case 'a': { state = 151; break; }
			default: { state = 0; break; }
			} break;
		}
		case 151: {
			switch (c) {
			case 't': { state = 152; break; }
			default: { state = 0; break; }
			} break;
		}
		case 152: {
			switch (c) {
			case 'o': { state = 153; break; }
			default: { state = 0; break; }
			} break;
		}
		case 153: {
			switch (c) {
			case 'r': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 154: {
			switch (c) {
			case 'i': { state = 155; break; }
			default: { state = 0; break; }
			} break;
		}
		case 155: {
			switch (c) {
			case 's': { state = 156; break; }
			default: { state = 0; break; }
			} break;
		}
		case 156: {
			switch (c) {
			case 't': { state = 157; break; }
			default: { state = 0; break; }
			} break;
		}
		case 157: {
			switch (c) {
			case 'e': { state = 158; break; }
			default: { state = 0; break; }
			} break;
		}
		case 158: {
			switch (c) {
			case 'r': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 159: {
			switch (c) {
			case 'u': { state = 160; break; }
			default: { state = 0; break; }
			} break;
		}
		case 160: {
			switch (c) {
			case 'i': { state = 170; break; }
			default: { state = 0; break; }
			} break;
		}
		case 170: {
			switch (c) {
			case 'r': { state = 171; break; }
			default: { state = 0; break; }
			} break;
		}
		case 171: {
			switch (c) {
			case 'e': { state = 172; break; }
			default: { state = 0; break; }
			} break;
		}
		case 172: {
			switch (c) {
			case 's': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 173: {
			switch (c) {
			case 'o': { state = 174; break; }
			default: { state = 0; break; }
			} break;
		}
		case 174: {
			switch (c) {
			case 'r': { state = 175; break; }
			default: { state = 0; break; }
			} break;
		}
		case 175: {
			switch (c) {
			case 't': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 176: {
			switch (c) {
			case 'g': { state = 177; break; }
			case 'z': { state = 180; break; }
			default: { state = 0; break; }
			} break;
		}
		case 177: {
			switch (c) {
			case 'n': { state = 178; break; }
			default: { state = 0; break; }
			} break;
		}
		case 178: {
			switch (c) {
			case 'e': { state = 179; break; }
			default: { state = 0; break; }
			} break;
		}
		case 179: {
			switch (c) {
			case 'd': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 180: {
			switch (c) {
			case 'e': { state = 181; break; }
			default: { state = 0; break; }
			} break;
		}
		case 181: {
			switch (c) {
			case 'o': { state = 182; break; }
			default: { state = 0; break; }
			} break;
		}
		case 182: {
			switch (c) {
			case 'f': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 183: {
			switch (c) {
			case 'u': { state = 184; break; }
			default: { state = 0; break; }
			} break;
		}
		case 184: {
			switch (c) {
			case 'c': { state = 185; break; }
			default: { state = 0; break; }
			} break;
		}
		case 185: {
			switch (c) {
			case 't': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 186: {
			switch (c) {
			case 'm': { state = 187; break; }
			default: { state = 0; break; }
			} break;
		}
		case 187: {
			switch (c) {
			case 'p': { state = 188; break; }
			default: { state = 0; break; }
			} break;
		}
		case 188: {
			switch (c) {
			case 'l': { state = 189; break; }
			default: { state = 0; break; }
			} break;
		}
		case 189: {
			switch (c) {
			case 'a': { state = 190; break; }
			default: { state = 0; break; }
			} break;
		}
		case 190: {
			switch (c) {
			case 't': { state = 191; break; }
			default: { state = 0; break; }
			} break;
		}
		case 191: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 192: {
			switch (c) {
			case 'o': { state = 193; break; }
			default: { state = 0; break; }
			} break;
		}
		case 193: {
			switch (c) {
			case 'w': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 194: {
			switch (c) {
			case 'n': { state = 195; break; }
			case 's': { state = 201; break; }
			default: { state = 0; break; }
			} break;
		}
		case 195: {
			switch (c) {
			case 's': { state = 196; break; }
			default: { state = 0; break; }
			} break;
		}
		case 196: {
			switch (c) {
			case 'i': { state = 197; break; }
			default: { state = 0; break; }
			} break;
		}
		case 197: {
			switch (c) {
			case 'g': { state = 198; break; }
			default: { state = 0; break; }
			} break;
		}
		case 198: {
			switch (c) {
			case 'n': { state = 199; break; }
			default: { state = 0; break; }
			} break;
		}
		case 199: {
			switch (c) {
			case 'e': { state = 200; break; }
			default: { state = 0; break; }
			} break;
		}
		case 200: {
			switch (c) {
			case 'd': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 201: {
			switch (c) {
			case 'i': { state = 202; break; }
			default: { state = 0; break; }
			} break;
		}
		case 202: {
			switch (c) {
			case 'n': { state = 203; break; }
			default: { state = 0; break; }
			} break;
		}
		case 203: {
			switch (c) {
			case 'g': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 204: {
			switch (c) {
			case 'r': { state = 205; break; }
			default: { state = 0; break; }
			} break;
		}
		case 205: {
			switch (c) {
			case 't': { state = 206; break; }
			default: { state = 0; break; }
			} break;
		}
		case 206: {
			switch (c) {
			case 'u': { state = 207; break; }
			default: { state = 0; break; }
			} break;
		}
		case 207: {
			switch (c) {
			case 'a': { state = 208; break; }
			default: { state = 0; break; }
			} break;
		}
		case 208: {
			switch (c) {
			case 'l': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 209: {
			switch (c) {
			case 'h': { state = 210; break; }
			default: { state = 0; break; }
			} break;
		}
		case 210: {
			switch (c) {
			case 'i': { state = 211; break; }
			default: { state = 0; break; }
			} break;
		}
		case 211: {
			switch (c) {
			case 'l': { state = 212; break; }
			default: { state = 0; break; }
			} break;
		}
		case 212: {
			switch (c) {
			case 'e': { state = 1000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 1000: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 1001: {
			switch (c) {
			case 'u': { state = 37; break; }
			default: { state = 0; break; }
			} break;
		}
		case 3000: {
			switch (c) {
			case '.': { state = 3001; break; }
			case 'e': { state = 3002; break; }
			case 'E': { state = 3002; break; }
			case '0': { state = 3000; break; }
			case '1': { state = 3000; break; }
			case '2': { state = 3000; break; }
			case '3': { state = 3000; break; }
			case '4': { state = 3000; break; }
			case '5': { state = 3000; break; }
			case '6': { state = 3000; break; }
			case '7': { state = 3000; break; }
			case '8': { state = 3000; break; }
			case '9': { state = 3000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 3001: {
			switch (c) {
			case '0': { state = 3000; break; }
			case '1': { state = 3000; break; }
			case '2': { state = 3000; break; }
			case '3': { state = 3000; break; }
			case '4': { state = 3000; break; }
			case '5': { state = 3000; break; }
			case '6': { state = 3000; break; }
			case '7': { state = 3000; break; }
			case '8': { state = 3000; break; }
			case '9': { state = 3000; break; }
			default: { state = 0; break; }
			} break;
		}
		case 3002: {
			switch (c) {
			case '-': { state = 3003; break; }
			case '+': { state = 3003; break; }
			case '0': { state = 3004; break; }
			case '1': { state = 3004; break; }
			case '2': { state = 3004; break; }
			case '3': { state = 3004; break; }
			case '4': { state = 3004; break; }
			case '5': { state = 3004; break; }
			case '6': { state = 3004; break; }
			case '7': { state = 3004; break; }
			case '8': { state = 3004; break; }
			case '9': { state = 3004; break; }
			default: { state = 0; break; }
			} break;
		}
		case 3003: {
			switch (c) {
			case '0': { state = 3004; break; }
			case '1': { state = 3004; break; }
			case '2': { state = 3004; break; }
			case '3': { state = 3004; break; }
			case '4': { state = 3004; break; }
			case '5': { state = 3004; break; }
			case '6': { state = 3004; break; }
			case '7': { state = 3004; break; }
			case '8': { state = 3004; break; }
			case '9': { state = 3004; break; }
			default: { state = 0; break; }
			} break;
		}
		case 3004: {
			switch (c) {
			case '0': { state = 3004; break; }
			case '1': { state = 3004; break; }
			case '2': { state = 3004; break; }
			case '3': { state = 3004; break; }
			case '4': { state = 3004; break; }
			case '5': { state = 3004; break; }
			case '6': { state = 3004; break; }
			case '7': { state = 3004; break; }
			case '8': { state = 3004; break; }
			case '9': { state = 3004; break; }
			default: { state = 0; break; }
			} break;
		}
		case 4000: {
			switch (c) {
			case ':': { state = 5038; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5001: {
			switch (c) {
			case '=': { state = 5002; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5002: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5003: {
			switch (c) {
			case '=': { state = 5005; break; }
			case '+': { state = 5004; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5004: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5005: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5006: {
			switch (c) {
			case '=': { state = 5008; break; }
			case '-': { state = 5007; break; }
			case '>': { state = 5009; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5007: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5008: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5009: {
			switch (c) {
			case '*': { state = 5010; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5010: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5011: {
			switch (c) {
			case '=': { state = 5012; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5012: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5013: {
			switch (c) {
			case '=': { state = 5014; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5014: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5015: {
			switch (c) {
			case '=': { state = 5016; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5016: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5017: {
			switch (c) {
			case '=': { state = 5018; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5018: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5019: {
			switch (c) {
			case '=': { state = 5020; break; }
			case '<': { state = 5021; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5020: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5021: {
			switch (c) {
			case '=': { state = 5022; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5022: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5023: {
			switch (c) {
			case '=': { state = 5024; break; }
			case '>': { state = 5025; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5024: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5025: {
			switch (c) {
			case '=': { state = 5026; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5026: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5027: {
			switch (c) {
			case '=': { state = 5029; break; }
			case '&': { state = 5028; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5028: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5029: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5030: {
			switch (c) {
			case '=': { state = 5032; break; }
			case '|': { state = 5031; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5031: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5032: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5033: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5034: {
			switch (c) {
			case '=': { state = 5035; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5035: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5036: {
			switch (c) {
			case '*': { state = 5037; break; }
			default: { state = 0; break; }
			} break;
		}
		case 5037: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5038: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5039: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5040: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5041: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		case 5042: {
			switch (c) {
			default: { state = 0; break; }
			} break;
		}
		}
		if (check_next == 1) {
			buffer += c;
			std::cout << c << "  " << state << std::endl;
			if (state == 0) {
				is_identifier = 1;
			}
		}

		//ключевые слова
		if ((state >= 1000 && state <= 1001) && (deliminator(next) || sign(next)) && is_identifier == 0) {
			state = 1000;
			return buffer;
		}

		//сравнение и операторы
		if (state > 5000 && state <= 5041 && check_next == 1 && is_identifier == 0) {
			check_next = 0;
			int state_next = state;
			cleanupCrew(next, next, state_next, buffer, is_identifier, check_next);
			if ((state_next == 0) || isMultiChar(state)) {
				if (state == 5019 || state == 5020 || state == 5023 || state == 5024 || state == 5002) {
					state = 2000;
					return buffer;
				}
				state = 5000;
				return buffer;
			}
		}

		//константы
		if ((state == 3000 || state ==  3004) && (deliminator(next) || (sign(next) && next != '.')) && is_identifier == 0) {
			state = 3000;
			return buffer;
		}

		//Разделители
		if (state == 4000 && is_identifier == 0) {
			return buffer;
		}

		// Идентификаторы
		if (buffer != "" && (is_identifier || (state >= 0 && state <= 212) || state == 3002) && (deliminator(next) || (sign(next) && !isValid(state, check_next, next, is_identifier, buffer))) && check_next == 1) {
			state = 6000; return buffer;
		}

		return "";
	}