# Generated from BaserowFormulaLexer.g4 by ANTLR 4.9
from antlr4 import *
from io import StringIO
from typing.io import TextIO
import sys



def serializedATN():
    with StringIO() as buf:
        buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2U")
        buf.write("\u028b\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7")
        buf.write("\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r")
        buf.write("\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23")
        buf.write("\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30")
        buf.write("\4\31\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36")
        buf.write("\t\36\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%")
        buf.write("\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.")
        buf.write("\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64")
        buf.write("\t\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:")
        buf.write("\4;\t;\4<\t<\4=\t=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\t")
        buf.write("C\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I\tI\4J\tJ\4K\tK\4L\t")
        buf.write("L\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT\4U\t")
        buf.write("U\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4")
        buf.write("^\t^\4_\t_\4`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4")
        buf.write("g\tg\4h\th\4i\ti\4j\tj\4k\tk\4l\tl\4m\tm\4n\tn\4o\to\4")
        buf.write("p\tp\4q\tq\4r\tr\4s\ts\4t\tt\3\2\3\2\3\3\3\3\3\4\3\4\3")
        buf.write("\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\t\3\t\3\n\3\n\3\13\3")
        buf.write("\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21")
        buf.write("\3\21\3\22\3\22\3\23\3\23\3\24\3\24\3\25\3\25\3\26\3\26")
        buf.write("\3\27\3\27\3\30\3\30\3\31\3\31\3\32\3\32\3\33\3\33\3\34")
        buf.write("\3\34\3\35\3\35\3\36\3\36\3\37\3\37\3\37\3\37\7\37\u0128")
        buf.write("\n\37\f\37\16\37\u012b\13\37\3\37\3\37\3 \3 \3 \3 \7 ")
        buf.write("\u0133\n \f \16 \u0136\13 \3 \3 \3!\3!\3!\3!\3!\3!\7!")
        buf.write("\u0140\n!\f!\16!\u0143\13!\3!\3!\3\"\3\"\3\"\3\"\7\"\u014b")
        buf.write("\n\"\f\"\16\"\u014e\13\"\3\"\3\"\3\"\3#\3#\3#\3#\7#\u0157")
        buf.write("\n#\f#\16#\u015a\13#\3$\6$\u015d\n$\r$\16$\u015e\3%\3")
        buf.write("%\3%\3%\3%\3&\3&\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3")
        buf.write("(\3(\3(\3(\3(\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3")
        buf.write(")\3*\3*\3+\3+\3,\3,\3,\3-\3-\3.\3.\3.\3/\3/\3\60\3\60")
        buf.write("\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\64\7\64\u019e")
        buf.write("\n\64\f\64\16\64\u01a1\13\64\3\64\3\64\3\65\3\65\3\65")
        buf.write("\3\66\5\66\u01a9\n\66\3\66\6\66\u01ac\n\66\r\66\16\66")
        buf.write("\u01ad\3\66\3\66\6\66\u01b2\n\66\r\66\16\66\u01b3\3\66")
        buf.write("\3\66\7\66\u01b8\n\66\f\66\16\66\u01bb\13\66\3\66\6\66")
        buf.write("\u01be\n\66\r\66\16\66\u01bf\5\66\u01c2\n\66\3\67\5\67")
        buf.write("\u01c5\n\67\3\67\6\67\u01c8\n\67\r\67\16\67\u01c9\3\67")
        buf.write("\3\67\6\67\u01ce\n\67\r\67\16\67\u01cf\5\67\u01d2\n\67")
        buf.write("\38\38\38\39\39\3:\3:\3;\3;\3<\3<\7<\u01df\n<\f<\16<\u01e2")
        buf.write("\13<\3=\3=\7=\u01e6\n=\f=\16=\u01e9\13=\3>\3>\3?\3?\3")
        buf.write("?\3@\3@\3@\3A\3A\3A\3B\3B\3B\3C\3C\3D\3D\3E\3E\3E\3F\3")
        buf.write("F\3F\3G\3G\3H\3H\3I\3I\3I\3J\3J\3K\3K\3K\3L\3L\3L\3M\3")
        buf.write("M\3N\3N\3N\3O\3O\3O\3P\3P\3P\3P\3Q\3Q\3Q\3R\3R\3R\3S\3")
        buf.write("S\3S\3S\3T\3T\3T\3T\3U\3U\3V\3V\3V\3W\3W\3W\3X\3X\3X\3")
        buf.write("Y\3Y\3Y\3Z\3Z\3Z\3Z\3[\3[\3[\3\\\3\\\3\\\3\\\3]\3]\3]")
        buf.write("\3]\3^\3^\3_\3_\3`\3`\3a\3a\3a\3b\3b\3b\3b\3c\3c\3c\3")
        buf.write("d\3d\3e\3e\3f\3f\3f\3g\3g\3g\3h\3h\3h\3i\3i\3i\3j\3j\3")
        buf.write("k\3k\3l\3l\3l\3m\3m\3m\3m\3m\3n\3n\3n\3n\3o\3o\3o\3o\3")
        buf.write("o\3p\3p\3p\3p\3q\3q\3q\3r\3r\3r\3s\3s\3t\3t\2\2u\3\2\5")
        buf.write("\2\7\2\t\2\13\2\r\2\17\2\21\2\23\2\25\2\27\2\31\2\33\2")
        buf.write("\35\2\37\2!\2#\2%\2\'\2)\2+\2-\2/\2\61\2\63\2\65\2\67")
        buf.write("\29\2;\2=\2?\2A\2C\3E\4G\5I\6K\7M\bO\tQ\nS\13U\fW\rY\16")
        buf.write("[\17]\20_\21a\22c\23e\24g\25i\26k\27m\30o\31q\32s\33u")
        buf.write("\34w\35y\36{\37} \177!\u0081\"\u0083#\u0085$\u0087%\u0089")
        buf.write("&\u008b\'\u008d(\u008f)\u0091*\u0093+\u0095,\u0097-\u0099")
        buf.write(".\u009b/\u009d\60\u009f\61\u00a1\62\u00a3\63\u00a5\64")
        buf.write("\u00a7\65\u00a9\66\u00ab\67\u00ad8\u00af9\u00b1:\u00b3")
        buf.write(";\u00b5<\u00b7=\u00b9>\u00bb?\u00bd@\u00bfA\u00c1B\u00c3")
        buf.write("C\u00c5D\u00c7E\u00c9F\u00cbG\u00cdH\u00cfI\u00d1J\u00d3")
        buf.write("K\u00d5L\u00d7M\u00d9N\u00dbO\u00ddP\u00dfQ\u00e1R\u00e3")
        buf.write("S\u00e5T\u00e7U\3\2\'\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff")
        buf.write("\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2M")
        buf.write("Mmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4")
        buf.write("\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZz")
        buf.write("z\4\2[[{{\4\2\\\\||\4\2\62;CH\3\2\62;\4\2$$^^\4\2))^^")
        buf.write("\4\2^^bb\4\2\f\f\17\17\5\2\13\f\17\17\"\"\5\2C\\aac|\6")
        buf.write("\2\62;C\\aac|\6\2C\\aac|\u00a3\1\7\2\62;C\\aac|\u00a3")
        buf.write("\1\2\u0281\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2")
        buf.write("\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2")
        buf.write("\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2")
        buf.write("\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3")
        buf.write("\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q")
        buf.write("\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2")
        buf.write("{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083")
        buf.write("\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2")
        buf.write("\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091")
        buf.write("\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2")
        buf.write("\2\2\u0099\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u009f")
        buf.write("\3\2\2\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5\3\2\2")
        buf.write("\2\2\u00a7\3\2\2\2\2\u00a9\3\2\2\2\2\u00ab\3\2\2\2\2\u00ad")
        buf.write("\3\2\2\2\2\u00af\3\2\2\2\2\u00b1\3\2\2\2\2\u00b3\3\2\2")
        buf.write("\2\2\u00b5\3\2\2\2\2\u00b7\3\2\2\2\2\u00b9\3\2\2\2\2\u00bb")
        buf.write("\3\2\2\2\2\u00bd\3\2\2\2\2\u00bf\3\2\2\2\2\u00c1\3\2\2")
        buf.write("\2\2\u00c3\3\2\2\2\2\u00c5\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9")
        buf.write("\3\2\2\2\2\u00cb\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2")
        buf.write("\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2\2\2\u00d7")
        buf.write("\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2")
        buf.write("\2\2\u00df\3\2\2\2\2\u00e1\3\2\2\2\2\u00e3\3\2\2\2\2\u00e5")
        buf.write("\3\2\2\2\2\u00e7\3\2\2\2\3\u00e9\3\2\2\2\5\u00eb\3\2\2")
        buf.write("\2\7\u00ed\3\2\2\2\t\u00ef\3\2\2\2\13\u00f1\3\2\2\2\r")
        buf.write("\u00f3\3\2\2\2\17\u00f5\3\2\2\2\21\u00f7\3\2\2\2\23\u00f9")
        buf.write("\3\2\2\2\25\u00fb\3\2\2\2\27\u00fd\3\2\2\2\31\u00ff\3")
        buf.write("\2\2\2\33\u0101\3\2\2\2\35\u0103\3\2\2\2\37\u0105\3\2")
        buf.write("\2\2!\u0107\3\2\2\2#\u0109\3\2\2\2%\u010b\3\2\2\2\'\u010d")
        buf.write("\3\2\2\2)\u010f\3\2\2\2+\u0111\3\2\2\2-\u0113\3\2\2\2")
        buf.write("/\u0115\3\2\2\2\61\u0117\3\2\2\2\63\u0119\3\2\2\2\65\u011b")
        buf.write("\3\2\2\2\67\u011d\3\2\2\29\u011f\3\2\2\2;\u0121\3\2\2")
        buf.write("\2=\u0123\3\2\2\2?\u012e\3\2\2\2A\u0139\3\2\2\2C\u0146")
        buf.write("\3\2\2\2E\u0152\3\2\2\2G\u015c\3\2\2\2I\u0160\3\2\2\2")
        buf.write("K\u0165\3\2\2\2M\u016b\3\2\2\2O\u0171\3\2\2\2Q\u017d\3")
        buf.write("\2\2\2S\u0184\3\2\2\2U\u0186\3\2\2\2W\u0188\3\2\2\2Y\u018b")
        buf.write("\3\2\2\2[\u018d\3\2\2\2]\u0190\3\2\2\2_\u0192\3\2\2\2")
        buf.write("a\u0194\3\2\2\2c\u0196\3\2\2\2e\u0198\3\2\2\2g\u019a\3")
        buf.write("\2\2\2i\u01a4\3\2\2\2k\u01a8\3\2\2\2m\u01c4\3\2\2\2o\u01d3")
        buf.write("\3\2\2\2q\u01d6\3\2\2\2s\u01d8\3\2\2\2u\u01da\3\2\2\2")
        buf.write("w\u01dc\3\2\2\2y\u01e3\3\2\2\2{\u01ea\3\2\2\2}\u01ec\3")
        buf.write("\2\2\2\177\u01ef\3\2\2\2\u0081\u01f2\3\2\2\2\u0083\u01f5")
        buf.write("\3\2\2\2\u0085\u01f8\3\2\2\2\u0087\u01fa\3\2\2\2\u0089")
        buf.write("\u01fc\3\2\2\2\u008b\u01ff\3\2\2\2\u008d\u0202\3\2\2\2")
        buf.write("\u008f\u0204\3\2\2\2\u0091\u0206\3\2\2\2\u0093\u0209\3")
        buf.write("\2\2\2\u0095\u020b\3\2\2\2\u0097\u020e\3\2\2\2\u0099\u0211")
        buf.write("\3\2\2\2\u009b\u0213\3\2\2\2\u009d\u0216\3\2\2\2\u009f")
        buf.write("\u0219\3\2\2\2\u00a1\u021d\3\2\2\2\u00a3\u0220\3\2\2\2")
        buf.write("\u00a5\u0223\3\2\2\2\u00a7\u0227\3\2\2\2\u00a9\u022b\3")
        buf.write("\2\2\2\u00ab\u022d\3\2\2\2\u00ad\u0230\3\2\2\2\u00af\u0233")
        buf.write("\3\2\2\2\u00b1\u0236\3\2\2\2\u00b3\u0239\3\2\2\2\u00b5")
        buf.write("\u023d\3\2\2\2\u00b7\u0240\3\2\2\2\u00b9\u0244\3\2\2\2")
        buf.write("\u00bb\u0248\3\2\2\2\u00bd\u024a\3\2\2\2\u00bf\u024c\3")
        buf.write("\2\2\2\u00c1\u024e\3\2\2\2\u00c3\u0251\3\2\2\2\u00c5\u0255")
        buf.write("\3\2\2\2\u00c7\u0258\3\2\2\2\u00c9\u025a\3\2\2\2\u00cb")
        buf.write("\u025c\3\2\2\2\u00cd\u025f\3\2\2\2\u00cf\u0262\3\2\2\2")
        buf.write("\u00d1\u0265\3\2\2\2\u00d3\u0268\3\2\2\2\u00d5\u026a\3")
        buf.write("\2\2\2\u00d7\u026c\3\2\2\2\u00d9\u026f\3\2\2\2\u00db\u0274")
        buf.write("\3\2\2\2\u00dd\u0278\3\2\2\2\u00df\u027d\3\2\2\2\u00e1")
        buf.write("\u0281\3\2\2\2\u00e3\u0284\3\2\2\2\u00e5\u0287\3\2\2\2")
        buf.write("\u00e7\u0289\3\2\2\2\u00e9\u00ea\t\2\2\2\u00ea\4\3\2\2")
        buf.write("\2\u00eb\u00ec\t\3\2\2\u00ec\6\3\2\2\2\u00ed\u00ee\t\4")
        buf.write("\2\2\u00ee\b\3\2\2\2\u00ef\u00f0\t\5\2\2\u00f0\n\3\2\2")
        buf.write("\2\u00f1\u00f2\t\6\2\2\u00f2\f\3\2\2\2\u00f3\u00f4\t\7")
        buf.write("\2\2\u00f4\16\3\2\2\2\u00f5\u00f6\t\b\2\2\u00f6\20\3\2")
        buf.write("\2\2\u00f7\u00f8\t\t\2\2\u00f8\22\3\2\2\2\u00f9\u00fa")
        buf.write("\t\n\2\2\u00fa\24\3\2\2\2\u00fb\u00fc\t\13\2\2\u00fc\26")
        buf.write("\3\2\2\2\u00fd\u00fe\t\f\2\2\u00fe\30\3\2\2\2\u00ff\u0100")
        buf.write("\t\r\2\2\u0100\32\3\2\2\2\u0101\u0102\t\16\2\2\u0102\34")
        buf.write("\3\2\2\2\u0103\u0104\t\17\2\2\u0104\36\3\2\2\2\u0105\u0106")
        buf.write("\t\20\2\2\u0106 \3\2\2\2\u0107\u0108\t\21\2\2\u0108\"")
        buf.write("\3\2\2\2\u0109\u010a\t\22\2\2\u010a$\3\2\2\2\u010b\u010c")
        buf.write("\t\23\2\2\u010c&\3\2\2\2\u010d\u010e\t\24\2\2\u010e(\3")
        buf.write("\2\2\2\u010f\u0110\t\25\2\2\u0110*\3\2\2\2\u0111\u0112")
        buf.write("\t\26\2\2\u0112,\3\2\2\2\u0113\u0114\t\27\2\2\u0114.\3")
        buf.write("\2\2\2\u0115\u0116\t\30\2\2\u0116\60\3\2\2\2\u0117\u0118")
        buf.write("\t\31\2\2\u0118\62\3\2\2\2\u0119\u011a\t\32\2\2\u011a")
        buf.write("\64\3\2\2\2\u011b\u011c\t\33\2\2\u011c\66\3\2\2\2\u011d")
        buf.write("\u011e\7a\2\2\u011e8\3\2\2\2\u011f\u0120\t\34\2\2\u0120")
        buf.write(":\3\2\2\2\u0121\u0122\t\35\2\2\u0122<\3\2\2\2\u0123\u0129")
        buf.write("\7$\2\2\u0124\u0125\7^\2\2\u0125\u0128\13\2\2\2\u0126")
        buf.write("\u0128\n\36\2\2\u0127\u0124\3\2\2\2\u0127\u0126\3\2\2")
        buf.write("\2\u0128\u012b\3\2\2\2\u0129\u0127\3\2\2\2\u0129\u012a")
        buf.write("\3\2\2\2\u012a\u012c\3\2\2\2\u012b\u0129\3\2\2\2\u012c")
        buf.write("\u012d\7$\2\2\u012d>\3\2\2\2\u012e\u0134\7)\2\2\u012f")
        buf.write("\u0130\7^\2\2\u0130\u0133\13\2\2\2\u0131\u0133\n\37\2")
        buf.write("\2\u0132\u012f\3\2\2\2\u0132\u0131\3\2\2\2\u0133\u0136")
        buf.write("\3\2\2\2\u0134\u0132\3\2\2\2\u0134\u0135\3\2\2\2\u0135")
        buf.write("\u0137\3\2\2\2\u0136\u0134\3\2\2\2\u0137\u0138\7)\2\2")
        buf.write("\u0138@\3\2\2\2\u0139\u0141\7b\2\2\u013a\u013b\7^\2\2")
        buf.write("\u013b\u0140\13\2\2\2\u013c\u013d\7b\2\2\u013d\u0140\7")
        buf.write("b\2\2\u013e\u0140\n \2\2\u013f\u013a\3\2\2\2\u013f\u013c")
        buf.write("\3\2\2\2\u013f\u013e\3\2\2\2\u0140\u0143\3\2\2\2\u0141")
        buf.write("\u013f\3\2\2\2\u0141\u0142\3\2\2\2\u0142\u0144\3\2\2\2")
        buf.write("\u0143\u0141\3\2\2\2\u0144\u0145\7b\2\2\u0145B\3\2\2\2")
        buf.write("\u0146\u0147\7\61\2\2\u0147\u0148\7,\2\2\u0148\u014c\3")
        buf.write("\2\2\2\u0149\u014b\13\2\2\2\u014a\u0149\3\2\2\2\u014b")
        buf.write("\u014e\3\2\2\2\u014c\u014a\3\2\2\2\u014c\u014d\3\2\2\2")
        buf.write("\u014d\u014f\3\2\2\2\u014e\u014c\3\2\2\2\u014f\u0150\7")
        buf.write(",\2\2\u0150\u0151\7\61\2\2\u0151D\3\2\2\2\u0152\u0153")
        buf.write("\7\61\2\2\u0153\u0154\7\61\2\2\u0154\u0158\3\2\2\2\u0155")
        buf.write("\u0157\n!\2\2\u0156\u0155\3\2\2\2\u0157\u015a\3\2\2\2")
        buf.write("\u0158\u0156\3\2\2\2\u0158\u0159\3\2\2\2\u0159F\3\2\2")
        buf.write("\2\u015a\u0158\3\2\2\2\u015b\u015d\t\"\2\2\u015c\u015b")
        buf.write("\3\2\2\2\u015d\u015e\3\2\2\2\u015e\u015c\3\2\2\2\u015e")
        buf.write("\u015f\3\2\2\2\u015fH\3\2\2\2\u0160\u0161\5)\25\2\u0161")
        buf.write("\u0162\5%\23\2\u0162\u0163\5+\26\2\u0163\u0164\5\13\6")
        buf.write("\2\u0164J\3\2\2\2\u0165\u0166\5\r\7\2\u0166\u0167\5\3")
        buf.write("\2\2\u0167\u0168\5\31\r\2\u0168\u0169\5\'\24\2\u0169\u016a")
        buf.write("\5\13\6\2\u016aL\3\2\2\2\u016b\u016c\5\r\7\2\u016c\u016d")
        buf.write("\5\23\n\2\u016d\u016e\5\13\6\2\u016e\u016f\5\31\r\2\u016f")
        buf.write("\u0170\5\t\5\2\u0170N\3\2\2\2\u0171\u0172\5\r\7\2\u0172")
        buf.write("\u0173\5\23\n\2\u0173\u0174\5\13\6\2\u0174\u0175\5\31")
        buf.write("\r\2\u0175\u0176\5\t\5\2\u0176\u0177\5\67\34\2\u0177\u0178")
        buf.write("\5\5\3\2\u0178\u0179\5\63\32\2\u0179\u017a\5\67\34\2\u017a")
        buf.write("\u017b\5\23\n\2\u017b\u017c\5\t\5\2\u017cP\3\2\2\2\u017d")
        buf.write("\u017e\5\31\r\2\u017e\u017f\5\37\20\2\u017f\u0180\5\37")
        buf.write("\20\2\u0180\u0181\5\27\f\2\u0181\u0182\5+\26\2\u0182\u0183")
        buf.write("\5!\21\2\u0183R\3\2\2\2\u0184\u0185\7.\2\2\u0185T\3\2")
        buf.write("\2\2\u0186\u0187\7<\2\2\u0187V\3\2\2\2\u0188\u0189\7<")
        buf.write("\2\2\u0189\u018a\7<\2\2\u018aX\3\2\2\2\u018b\u018c\7&")
        buf.write("\2\2\u018cZ\3\2\2\2\u018d\u018e\7&\2\2\u018e\u018f\7&")
        buf.write("\2\2\u018f\\\3\2\2\2\u0190\u0191\7,\2\2\u0191^\3\2\2\2")
        buf.write("\u0192\u0193\7*\2\2\u0193`\3\2\2\2\u0194\u0195\7+\2\2")
        buf.write("\u0195b\3\2\2\2\u0196\u0197\7]\2\2\u0197d\3\2\2\2\u0198")
        buf.write("\u0199\7_\2\2\u0199f\3\2\2\2\u019a\u019b\5\5\3\2\u019b")
        buf.write("\u019f\7)\2\2\u019c\u019e\4\62\63\2\u019d\u019c\3\2\2")
        buf.write("\2\u019e\u01a1\3\2\2\2\u019f\u019d\3\2\2\2\u019f\u01a0")
        buf.write("\3\2\2\2\u01a0\u01a2\3\2\2\2\u01a1\u019f\3\2\2\2\u01a2")
        buf.write("\u01a3\7)\2\2\u01a3h\3\2\2\2\u01a4\u01a5\5\13\6\2\u01a5")
        buf.write("\u01a6\5? \2\u01a6j\3\2\2\2\u01a7\u01a9\7/\2\2\u01a8\u01a7")
        buf.write("\3\2\2\2\u01a8\u01a9\3\2\2\2\u01a9\u01ab\3\2\2\2\u01aa")
        buf.write("\u01ac\5;\36\2\u01ab\u01aa\3\2\2\2\u01ac\u01ad\3\2\2\2")
        buf.write("\u01ad\u01ab\3\2\2\2\u01ad\u01ae\3\2\2\2\u01ae\u01af\3")
        buf.write("\2\2\2\u01af\u01b1\7\60\2\2\u01b0\u01b2\5;\36\2\u01b1")
        buf.write("\u01b0\3\2\2\2\u01b2\u01b3\3\2\2\2\u01b3\u01b1\3\2\2\2")
        buf.write("\u01b3\u01b4\3\2\2\2\u01b4\u01c1\3\2\2\2\u01b5\u01b9\5")
        buf.write("\13\6\2\u01b6\u01b8\7/\2\2\u01b7\u01b6\3\2\2\2\u01b8\u01bb")
        buf.write("\3\2\2\2\u01b9\u01b7\3\2\2\2\u01b9\u01ba\3\2\2\2\u01ba")
        buf.write("\u01bd\3\2\2\2\u01bb\u01b9\3\2\2\2\u01bc\u01be\5;\36\2")
        buf.write("\u01bd\u01bc\3\2\2\2\u01be\u01bf\3\2\2\2\u01bf\u01bd\3")
        buf.write("\2\2\2\u01bf\u01c0\3\2\2\2\u01c0\u01c2\3\2\2\2\u01c1\u01b5")
        buf.write("\3\2\2\2\u01c1\u01c2\3\2\2\2\u01c2l\3\2\2\2\u01c3\u01c5")
        buf.write("\7/\2\2\u01c4\u01c3\3\2\2\2\u01c4\u01c5\3\2\2\2\u01c5")
        buf.write("\u01c7\3\2\2\2\u01c6\u01c8\5;\36\2\u01c7\u01c6\3\2\2\2")
        buf.write("\u01c8\u01c9\3\2\2\2\u01c9\u01c7\3\2\2\2\u01c9\u01ca\3")
        buf.write("\2\2\2\u01ca\u01d1\3\2\2\2\u01cb\u01cd\5\13\6\2\u01cc")
        buf.write("\u01ce\5;\36\2\u01cd\u01cc\3\2\2\2\u01ce\u01cf\3\2\2\2")
        buf.write("\u01cf\u01cd\3\2\2\2\u01cf\u01d0\3\2\2\2\u01d0\u01d2\3")
        buf.write("\2\2\2\u01d1\u01cb\3\2\2\2\u01d1\u01d2\3\2\2\2\u01d2n")
        buf.write("\3\2\2\2\u01d3\u01d4\7z\2\2\u01d4\u01d5\5? \2\u01d5p\3")
        buf.write("\2\2\2\u01d6\u01d7\7\60\2\2\u01d7r\3\2\2\2\u01d8\u01d9")
        buf.write("\5? \2\u01d9t\3\2\2\2\u01da\u01db\5=\37\2\u01dbv\3\2\2")
        buf.write("\2\u01dc\u01e0\t#\2\2\u01dd\u01df\t$\2\2\u01de\u01dd\3")
        buf.write("\2\2\2\u01df\u01e2\3\2\2\2\u01e0\u01de\3\2\2\2\u01e0\u01e1")
        buf.write("\3\2\2\2\u01e1x\3\2\2\2\u01e2\u01e0\3\2\2\2\u01e3\u01e7")
        buf.write("\t%\2\2\u01e4\u01e6\t&\2\2\u01e5\u01e4\3\2\2\2\u01e6\u01e9")
        buf.write("\3\2\2\2\u01e7\u01e5\3\2\2\2\u01e7\u01e8\3\2\2\2\u01e8")
        buf.write("z\3\2\2\2\u01e9\u01e7\3\2\2\2\u01ea\u01eb\7(\2\2\u01eb")
        buf.write("|\3\2\2\2\u01ec\u01ed\7(\2\2\u01ed\u01ee\7(\2\2\u01ee")
        buf.write("~\3\2\2\2\u01ef\u01f0\7(\2\2\u01f0\u01f1\7>\2\2\u01f1")
        buf.write("\u0080\3\2\2\2\u01f2\u01f3\7B\2\2\u01f3\u01f4\7B\2\2\u01f4")
        buf.write("\u0082\3\2\2\2\u01f5\u01f6\7B\2\2\u01f6\u01f7\7@\2\2\u01f7")
        buf.write("\u0084\3\2\2\2\u01f8\u01f9\7B\2\2\u01f9\u0086\3\2\2\2")
        buf.write("\u01fa\u01fb\7#\2\2\u01fb\u0088\3\2\2\2\u01fc\u01fd\7")
        buf.write("#\2\2\u01fd\u01fe\7#\2\2\u01fe\u008a\3\2\2\2\u01ff\u0200")
        buf.write("\7#\2\2\u0200\u0201\7?\2\2\u0201\u008c\3\2\2\2\u0202\u0203")
        buf.write("\7`\2\2\u0203\u008e\3\2\2\2\u0204\u0205\7?\2\2\u0205\u0090")
        buf.write("\3\2\2\2\u0206\u0207\7?\2\2\u0207\u0208\7@\2\2\u0208\u0092")
        buf.write("\3\2\2\2\u0209\u020a\7@\2\2\u020a\u0094\3\2\2\2\u020b")
        buf.write("\u020c\7@\2\2\u020c\u020d\7?\2\2\u020d\u0096\3\2\2\2\u020e")
        buf.write("\u020f\7@\2\2\u020f\u0210\7@\2\2\u0210\u0098\3\2\2\2\u0211")
        buf.write("\u0212\7%\2\2\u0212\u009a\3\2\2\2\u0213\u0214\7%\2\2\u0214")
        buf.write("\u0215\7?\2\2\u0215\u009c\3\2\2\2\u0216\u0217\7%\2\2\u0217")
        buf.write("\u0218\7@\2\2\u0218\u009e\3\2\2\2\u0219\u021a\7%\2\2\u021a")
        buf.write("\u021b\7@\2\2\u021b\u021c\7@\2\2\u021c\u00a0\3\2\2\2\u021d")
        buf.write("\u021e\7%\2\2\u021e\u021f\7%\2\2\u021f\u00a2\3\2\2\2\u0220")
        buf.write("\u0221\7/\2\2\u0221\u0222\7@\2\2\u0222\u00a4\3\2\2\2\u0223")
        buf.write("\u0224\7/\2\2\u0224\u0225\7@\2\2\u0225\u0226\7@\2\2\u0226")
        buf.write("\u00a6\3\2\2\2\u0227\u0228\7/\2\2\u0228\u0229\7~\2\2\u0229")
        buf.write("\u022a\7/\2\2\u022a\u00a8\3\2\2\2\u022b\u022c\7>\2\2\u022c")
        buf.write("\u00aa\3\2\2\2\u022d\u022e\7>\2\2\u022e\u022f\7?\2\2\u022f")
        buf.write("\u00ac\3\2\2\2\u0230\u0231\7>\2\2\u0231\u0232\7B\2\2\u0232")
        buf.write("\u00ae\3\2\2\2\u0233\u0234\7>\2\2\u0234\u0235\7`\2\2\u0235")
        buf.write("\u00b0\3\2\2\2\u0236\u0237\7>\2\2\u0237\u0238\7@\2\2\u0238")
        buf.write("\u00b2\3\2\2\2\u0239\u023a\7>\2\2\u023a\u023b\7/\2\2\u023b")
        buf.write("\u023c\7@\2\2\u023c\u00b4\3\2\2\2\u023d\u023e\7>\2\2\u023e")
        buf.write("\u023f\7>\2\2\u023f\u00b6\3\2\2\2\u0240\u0241\7>\2\2\u0241")
        buf.write("\u0242\7>\2\2\u0242\u0243\7?\2\2\u0243\u00b8\3\2\2\2\u0244")
        buf.write("\u0245\7>\2\2\u0245\u0246\7A\2\2\u0246\u0247\7@\2\2\u0247")
        buf.write("\u00ba\3\2\2\2\u0248\u0249\7/\2\2\u0249\u00bc\3\2\2\2")
        buf.write("\u024a\u024b\7\'\2\2\u024b\u00be\3\2\2\2\u024c\u024d\7")
        buf.write("~\2\2\u024d\u00c0\3\2\2\2\u024e\u024f\7~\2\2\u024f\u0250")
        buf.write("\7~\2\2\u0250\u00c2\3\2\2\2\u0251\u0252\7~\2\2\u0252\u0253")
        buf.write("\7~\2\2\u0253\u0254\7\61\2\2\u0254\u00c4\3\2\2\2\u0255")
        buf.write("\u0256\7~\2\2\u0256\u0257\7\61\2\2\u0257\u00c6\3\2\2\2")
        buf.write("\u0258\u0259\7-\2\2\u0259\u00c8\3\2\2\2\u025a\u025b\7")
        buf.write("A\2\2\u025b\u00ca\3\2\2\2\u025c\u025d\7A\2\2\u025d\u025e")
        buf.write("\7(\2\2\u025e\u00cc\3\2\2\2\u025f\u0260\7A\2\2\u0260\u0261")
        buf.write("\7%\2\2\u0261\u00ce\3\2\2\2\u0262\u0263\7A\2\2\u0263\u0264")
        buf.write("\7/\2\2\u0264\u00d0\3\2\2\2\u0265\u0266\7A\2\2\u0266\u0267")
        buf.write("\7~\2\2\u0267\u00d2\3\2\2\2\u0268\u0269\7\61\2\2\u0269")
        buf.write("\u00d4\3\2\2\2\u026a\u026b\7\u0080\2\2\u026b\u00d6\3\2")
        buf.write("\2\2\u026c\u026d\7\u0080\2\2\u026d\u026e\7?\2\2\u026e")
        buf.write("\u00d8\3\2\2\2\u026f\u0270\7\u0080\2\2\u0270\u0271\7@")
        buf.write("\2\2\u0271\u0272\7?\2\2\u0272\u0273\7\u0080\2\2\u0273")
        buf.write("\u00da\3\2\2\2\u0274\u0275\7\u0080\2\2\u0275\u0276\7@")
        buf.write("\2\2\u0276\u0277\7\u0080\2\2\u0277\u00dc\3\2\2\2\u0278")
        buf.write("\u0279\7\u0080\2\2\u0279\u027a\7>\2\2\u027a\u027b\7?\2")
        buf.write("\2\u027b\u027c\7\u0080\2\2\u027c\u00de\3\2\2\2\u027d\u027e")
        buf.write("\7\u0080\2\2\u027e\u027f\7>\2\2\u027f\u0280\7\u0080\2")
        buf.write("\2\u0280\u00e0\3\2\2\2\u0281\u0282\7\u0080\2\2\u0282\u0283")
        buf.write("\7,\2\2\u0283\u00e2\3\2\2\2\u0284\u0285\7\u0080\2\2\u0285")
        buf.write("\u0286\7\u0080\2\2\u0286\u00e4\3\2\2\2\u0287\u0288\7=")
        buf.write("\2\2\u0288\u00e6\3\2\2\2\u0289\u028a\13\2\2\2\u028a\u00e8")
        buf.write("\3\2\2\2\31\2\u0127\u0129\u0132\u0134\u013f\u0141\u014c")
        buf.write("\u0158\u015e\u019f\u01a8\u01ad\u01b3\u01b9\u01bf\u01c1")
        buf.write("\u01c4\u01c9\u01cf\u01d1\u01e0\u01e7\2")
        return buf.getvalue()


class BaserowFormulaLexer(Lexer):

    atn = ATNDeserializer().deserialize(serializedATN())

    decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ]

    BLOCK_COMMENT = 1
    LINE_COMMENT = 2
    WHITESPACE = 3
    TRUE = 4
    FALSE = 5
    FIELD = 6
    FIELDBYID = 7
    LOOKUP = 8
    COMMA = 9
    COLON = 10
    COLON_COLON = 11
    DOLLAR = 12
    DOLLAR_DOLLAR = 13
    STAR = 14
    OPEN_PAREN = 15
    CLOSE_PAREN = 16
    OPEN_BRACKET = 17
    CLOSE_BRACKET = 18
    BIT_STRING = 19
    REGEX_STRING = 20
    NUMERIC_LITERAL = 21
    INTEGER_LITERAL = 22
    HEX_INTEGER_LITERAL = 23
    DOT = 24
    SINGLEQ_STRING_LITERAL = 25
    DOUBLEQ_STRING_LITERAL = 26
    IDENTIFIER = 27
    IDENTIFIER_UNICODE = 28
    AMP = 29
    AMP_AMP = 30
    AMP_LT = 31
    AT_AT = 32
    AT_GT = 33
    AT_SIGN = 34
    BANG = 35
    BANG_BANG = 36
    BANG_EQUAL = 37
    CARET = 38
    EQUAL = 39
    EQUAL_GT = 40
    GT = 41
    GTE = 42
    GT_GT = 43
    HASH = 44
    HASH_EQ = 45
    HASH_GT = 46
    HASH_GT_GT = 47
    HASH_HASH = 48
    HYPHEN_GT = 49
    HYPHEN_GT_GT = 50
    HYPHEN_PIPE_HYPHEN = 51
    LT = 52
    LTE = 53
    LT_AT = 54
    LT_CARET = 55
    LT_GT = 56
    LT_HYPHEN_GT = 57
    LT_LT = 58
    LT_LT_EQ = 59
    LT_QMARK_GT = 60
    MINUS = 61
    PERCENT = 62
    PIPE = 63
    PIPE_PIPE = 64
    PIPE_PIPE_SLASH = 65
    PIPE_SLASH = 66
    PLUS = 67
    QMARK = 68
    QMARK_AMP = 69
    QMARK_HASH = 70
    QMARK_HYPHEN = 71
    QMARK_PIPE = 72
    SLASH = 73
    TIL = 74
    TIL_EQ = 75
    TIL_GTE_TIL = 76
    TIL_GT_TIL = 77
    TIL_LTE_TIL = 78
    TIL_LT_TIL = 79
    TIL_STAR = 80
    TIL_TIL = 81
    SEMI = 82
    ErrorCharacter = 83

    channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ]

    modeNames = [ "DEFAULT_MODE" ]

    literalNames = [ "<INVALID>",
            "','", "':'", "'::'", "'$'", "'$$'", "'*'", "'('", "')'", "'['", 
            "']'", "'.'", "'&'", "'&&'", "'&<'", "'@@'", "'@>'", "'@'", 
            "'!'", "'!!'", "'!='", "'^'", "'='", "'=>'", "'>'", "'>='", 
            "'>>'", "'#'", "'#='", "'#>'", "'#>>'", "'##'", "'->'", "'->>'", 
            "'-|-'", "'<'", "'<='", "'<@'", "'<^'", "'<>'", "'<->'", "'<<'", 
            "'<<='", "'<?>'", "'-'", "'%'", "'|'", "'||'", "'||/'", "'|/'", 
            "'+'", "'?'", "'?&'", "'?#'", "'?-'", "'?|'", "'/'", "'~'", 
            "'~='", "'~>=~'", "'~>~'", "'~<=~'", "'~<~'", "'~*'", "'~~'", 
            "';'" ]

    symbolicNames = [ "<INVALID>",
            "BLOCK_COMMENT", "LINE_COMMENT", "WHITESPACE", "TRUE", "FALSE", 
            "FIELD", "FIELDBYID", "LOOKUP", "COMMA", "COLON", "COLON_COLON", 
            "DOLLAR", "DOLLAR_DOLLAR", "STAR", "OPEN_PAREN", "CLOSE_PAREN", 
            "OPEN_BRACKET", "CLOSE_BRACKET", "BIT_STRING", "REGEX_STRING", 
            "NUMERIC_LITERAL", "INTEGER_LITERAL", "HEX_INTEGER_LITERAL", 
            "DOT", "SINGLEQ_STRING_LITERAL", "DOUBLEQ_STRING_LITERAL", "IDENTIFIER", 
            "IDENTIFIER_UNICODE", "AMP", "AMP_AMP", "AMP_LT", "AT_AT", "AT_GT", 
            "AT_SIGN", "BANG", "BANG_BANG", "BANG_EQUAL", "CARET", "EQUAL", 
            "EQUAL_GT", "GT", "GTE", "GT_GT", "HASH", "HASH_EQ", "HASH_GT", 
            "HASH_GT_GT", "HASH_HASH", "HYPHEN_GT", "HYPHEN_GT_GT", "HYPHEN_PIPE_HYPHEN", 
            "LT", "LTE", "LT_AT", "LT_CARET", "LT_GT", "LT_HYPHEN_GT", "LT_LT", 
            "LT_LT_EQ", "LT_QMARK_GT", "MINUS", "PERCENT", "PIPE", "PIPE_PIPE", 
            "PIPE_PIPE_SLASH", "PIPE_SLASH", "PLUS", "QMARK", "QMARK_AMP", 
            "QMARK_HASH", "QMARK_HYPHEN", "QMARK_PIPE", "SLASH", "TIL", 
            "TIL_EQ", "TIL_GTE_TIL", "TIL_GT_TIL", "TIL_LTE_TIL", "TIL_LT_TIL", 
            "TIL_STAR", "TIL_TIL", "SEMI", "ErrorCharacter" ]

    ruleNames = [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", 
                  "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", 
                  "W", "X", "Y", "Z", "UNDERSCORE", "HEX_DIGIT", "DEC_DIGIT", 
                  "DQUOTA_STRING", "SQUOTA_STRING", "BQUOTA_STRING", "BLOCK_COMMENT", 
                  "LINE_COMMENT", "WHITESPACE", "TRUE", "FALSE", "FIELD", 
                  "FIELDBYID", "LOOKUP", "COMMA", "COLON", "COLON_COLON", 
                  "DOLLAR", "DOLLAR_DOLLAR", "STAR", "OPEN_PAREN", "CLOSE_PAREN", 
                  "OPEN_BRACKET", "CLOSE_BRACKET", "BIT_STRING", "REGEX_STRING", 
                  "NUMERIC_LITERAL", "INTEGER_LITERAL", "HEX_INTEGER_LITERAL", 
                  "DOT", "SINGLEQ_STRING_LITERAL", "DOUBLEQ_STRING_LITERAL", 
                  "IDENTIFIER", "IDENTIFIER_UNICODE", "AMP", "AMP_AMP", 
                  "AMP_LT", "AT_AT", "AT_GT", "AT_SIGN", "BANG", "BANG_BANG", 
                  "BANG_EQUAL", "CARET", "EQUAL", "EQUAL_GT", "GT", "GTE", 
                  "GT_GT", "HASH", "HASH_EQ", "HASH_GT", "HASH_GT_GT", "HASH_HASH", 
                  "HYPHEN_GT", "HYPHEN_GT_GT", "HYPHEN_PIPE_HYPHEN", "LT", 
                  "LTE", "LT_AT", "LT_CARET", "LT_GT", "LT_HYPHEN_GT", "LT_LT", 
                  "LT_LT_EQ", "LT_QMARK_GT", "MINUS", "PERCENT", "PIPE", 
                  "PIPE_PIPE", "PIPE_PIPE_SLASH", "PIPE_SLASH", "PLUS", 
                  "QMARK", "QMARK_AMP", "QMARK_HASH", "QMARK_HYPHEN", "QMARK_PIPE", 
                  "SLASH", "TIL", "TIL_EQ", "TIL_GTE_TIL", "TIL_GT_TIL", 
                  "TIL_LTE_TIL", "TIL_LT_TIL", "TIL_STAR", "TIL_TIL", "SEMI", 
                  "ErrorCharacter" ]

    grammarFileName = "BaserowFormulaLexer.g4"

    def __init__(self, input=None, output:TextIO = sys.stdout):
        super().__init__(input, output)
        self.checkVersion("4.9")
        self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache())
        self._actions = None
        self._predicates = None


