@aml-org/amf-antlr-parsers 0.8.0-java21-1 → 0.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,7 +35,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
35
35
 
36
36
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
37
 
38
- var serializedATN = ["\x03\u608B\uA72A\u8133\uB9ED\u417C\u3BE7\u7786", "\u5964\x03F\u01EF\x04\x02\t\x02\x04\x03\t\x03\x04\x04", "\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07\t\x07", "\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\x0B\t\x0B\x04\f\t\f", "\x04\r\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10", "\x04\x11\t\x11\x04\x12\t\x12\x04\x13\t\x13\x04\x14", "\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17", "\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B", "\t\x1B\x04\x1C\t\x1C\x04\x1D\t\x1D\x04\x1E\t\x1E", "\x04\x1F\t\x1F\x04 \t \x04!\t!\x04\"\t\"\x04#\t#\x04", "$\t$\x04%\t%\x04&\t&\x04'\t'\x04(\t(\x04)\t)\x04*\t*\x04", "+\t+\x04,\t,\x04-\t-\x04.\t.\x04/\t/\x040\t0\x041\t1\x04", "2\t2\x043\t3\x044\t4\x045\t5\x046\t6\x03\x02\x03\x02", "\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x07\x02", "t\n\x02\f\x02\x0E\x02w\x0B\x02\x03\x03\x03\x03\x03", "\x03\x03\x03\x03\x03\x03\x04\x03\x04\x05\x04\x80", "\n\x04\x03\x04\x03\x04\x03\x04\x03\x05\x03\x05", "\x03\x05\x03\x05\x03\x06\x03\x06\x03\x06\x03\x06", "\x03\x06\x03\x06\x03\x07\x03\x07\x03\x07\x03\x07", "\x03\x07\x03\x07\x05\x07\x95\n\x07\x05\x07\x97", "\n\x07\x03\b\x03\b\x03\b\x03\b\x06\b\x9D\n\b\r\b\x0E", "\b\x9E\x03\b\x03\b\x05\b\xA3\n\b\x03\t\x03\t\x03\n\x05", "\n\xA8\n\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n", "\x03\n\x05\n\xB2\n\n\x03\n\x03\n\x03\x0B\x03\x0B\x03", "\x0B\x07\x0B\xB9\n\x0B\f\x0B\x0E\x0B\xBC\x0B\x0B", "\x03\f\x03\f\x03\f\x03\f\x03\r\x03\r\x03\x0E\x03\x0E", "\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x07\x0E\xCA\n", "\x0E\f\x0E\x0E\x0E\xCD\x0B\x0E\x03\x0E\x03\x0E", "\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F", "\x03\x0F\x03\x0F\x05\x0F\xD9\n\x0F\x03\x0F\x03", "\x0F\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03", "\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03", "\x10\x03\x10\x05\x10\xEA\n\x10\x03\x10\x03\x10", "\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12\x03\x12", "\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12", "\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12", "\x03\x12\x05\x12\u0101\n\x12\x03\x13\x03\x13\x03", "\x13\x05\x13\u0106\n\x13\x03\x13\x03\x13\x03\x14", "\x03\x14\x03\x14\x07\x14\u010D\n\x14\f\x14\x0E\x14", "\u0110\x0B\x14\x03\x15\x03\x15\x03\x15\x03\x15\x05", "\x15\u0116\n\x15\x05\x15\u0118\n\x15\x03\x16\x03\x16", "\x03\x16\x07\x16\u011D\n\x16\f\x16\x0E\x16\u0120\x0B", "\x16\x03\x17\x03\x17\x03\x17\x05\x17\u0125\n\x17", "\x03\x18\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19", "\x07\x19\u012D\n\x19\f\x19\x0E\x19\u0130\x0B\x19\x03", "\x19\x03\x19\x03\x1A\x03\x1A\x03\x1A\x05\x1A\u0137", "\n\x1A\x03\x1B\x03\x1B\x03\x1B\x05\x1B\u013C\n\x1B", "\x03\x1B\x03\x1B\x05\x1B\u0140\n\x1B\x03\x1B\x03", "\x1B\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x07\x1C\u0148", "\n\x1C\f\x1C\x0E\x1C\u014B\x0B\x1C\x03\x1C\x03\x1C", "\x03\x1D\x03\x1D\x03\x1D\x03\x1D\x03\x1E\x03\x1E", "\x03\x1E\x03\x1E\x03\x1F\x03\x1F\x07\x1F\u0159\n", "\x1F\f\x1F\x0E\x1F\u015C\x0B\x1F\x03\x1F\x03\x1F", "\x03 \x03 \x03 \x03 \x03 \x03 \x03 \x03 \x05 \u0168", "\n \x03!\x03!\x03!\x03!\x07!\u016E\n!\f!\x0E!\u0171\x0B", "!\x03!\x03!\x03\"\x03\"\x03\"\x05\"\u0178\n\"\x03#\x03", "#\x03#\x03#\x05#\u017E\n#\x03#\x03#\x03#\x03#\x03#\x05", "#\u0185\n#\x03#\x03#\x03#\x03#\x03#\x07#\u018C\n#\f#\x0E", "#\u018F\x0B#\x03#\x03#\x05#\u0193\n#\x03$\x03$\x05$\u0197", "\n$\x03$\x03$\x05$\u019B\n$\x03$\x03$\x03$\x03$\x05", "$\u01A1\n$\x03%\x03%\x03%\x03%\x03%\x07%\u01A8\n%\f%\x0E", "%\u01AB\x0B%\x03%\x03%\x03&\x03&\x03'\x03'\x05'\u01B3", "\n'\x03(\x03(\x03(\x07(\u01B8\n(\f(\x0E(\u01BB\x0B(\x03", ")\x03)\x03*\x03*\x03+\x03+\x03,\x03,\x03-\x03-\x03", ".\x03.\x03/\x03/\x030\x050\u01CC\n0\x030\x030\x030\x07", "0\u01D1\n0\f0\x0E0\u01D4\x0B0\x030\x030\x031\x051\u01D9", "\n1\x031\x031\x031\x071\u01DE\n1\f1\x0E1\u01E1\x0B1\x03", "1\x031\x032\x032\x033\x033\x034\x034\x035\x035\x03", "6\x036\x036\x02\x027\x02\x04\x06\b\n\f\x0E\x10\x12", "\x14\x16\x18\x1A\x1C\x1E \"$&(*,.02468:<>@BDFHJLNPRTVXZ", "\\^`bdfhj\x02\t\x03\x02./\x03\x02\x0F\x10\x03\x02", "\x03\x0B\x03\x02\x16!\x03\x02=>\x04\x02./??\x05", "\x02\f\r\x0F-@@\x02\u0207\x02l\x03\x02\x02\x02\x04", "x\x03\x02\x02\x02\x06}\x03\x02\x02\x02\b\x84\x03", "\x02\x02\x02\n\x88\x03\x02\x02\x02\f\x96\x03\x02", "\x02\x02\x0E\x98\x03\x02\x02\x02\x10\xA4\x03\x02", "\x02\x02\x12\xA7\x03\x02\x02\x02\x14\xB5\x03\x02", "\x02\x02\x16\xBD\x03\x02\x02\x02\x18\xC1\x03\x02", "\x02\x02\x1A\xC3\x03\x02\x02\x02\x1C\xD0\x03\x02", "\x02\x02\x1E\xDC\x03\x02\x02\x02 \xED\x03\x02", "\x02\x02\"\u0100\x03\x02\x02\x02$\u0102\x03\x02\x02", "\x02&\u0109\x03\x02\x02\x02(\u0111\x03\x02\x02\x02", "*\u0119\x03\x02\x02\x02,\u0124\x03\x02\x02\x02.\u0126", "\x03\x02\x02\x020\u012A\x03\x02\x02\x022\u0136\x03", "\x02\x02\x024\u0138\x03\x02\x02\x026\u0143\x03\x02", "\x02\x028\u014E\x03\x02\x02\x02:\u0152\x03\x02\x02", "\x02<\u0156\x03\x02\x02\x02>\u0167\x03\x02\x02\x02", "@\u0169\x03\x02\x02\x02B\u0177\x03\x02\x02\x02D\u0179", "\x03\x02\x02\x02F\u01A0\x03\x02\x02\x02H\u01A2\x03", "\x02\x02\x02J\u01AE\x03\x02\x02\x02L\u01B2\x03\x02", "\x02\x02N\u01B4\x03\x02\x02\x02P\u01BC\x03\x02\x02", "\x02R\u01BE\x03\x02\x02\x02T\u01C0\x03\x02\x02\x02", "V\u01C2\x03\x02\x02\x02X\u01C4\x03\x02\x02\x02Z\u01C6", "\x03\x02\x02\x02\\\u01C8\x03\x02\x02\x02^\u01CB\x03", "\x02\x02\x02`\u01D8\x03\x02\x02\x02b\u01E4\x03\x02", "\x02\x02d\u01E6\x03\x02\x02\x02f\u01E8\x03\x02\x02", "\x02h\u01EA\x03\x02\x02\x02j\u01EC\x03\x02\x02\x02", "lu\x05\x04\x03\x02mt\x05\x06\x04\x02nt\x05\b\x05", "\x02ot\x05\n\x06\x02pt\x05\x0E\b\x02qt\x05,\x17\x02", "rt\x05J&\x02sm\x03\x02\x02\x02sn\x03\x02\x02\x02", "so\x03\x02\x02\x02sp\x03\x02\x02\x02sq\x03\x02\x02", "\x02sr\x03\x02\x02\x02tw\x03\x02\x02\x02us\x03\x02", "\x02\x02uv\x03\x02\x02\x02v\x03\x03\x02\x02\x02", "wu\x03\x02\x02\x02xy\x07\f\x02\x02yz\x071\x02\x02", "z{\t\x02\x02\x02{|\x070\x02\x02|\x05\x03\x02\x02", "\x02}\x7F\x07\r\x02\x02~\x80\t\x03\x02\x02\x7F~", "\x03\x02\x02\x02\x7F\x80\x03\x02\x02\x02\x80\x81", "\x03\x02\x02\x02\x81\x82\x05d3\x02\x82\x83\x07", "0\x02\x02\x83\x07\x03\x02\x02\x02\x84\x85\x07", "\x11\x02\x02\x85\x86\x05N(\x02\x86\x87\x070\x02", "\x02\x87\t\x03\x02\x02\x02\x88\x89\x07\x12\x02", "\x02\x89\x8A\x05\f\x07\x02\x8A\x8B\x071\x02\x02", "\x8B\x8C\x05F$\x02\x8C\x8D\x070\x02\x02\x8D\x0B", "\x03\x02\x02\x02\x8E\x97\x05N(\x02\x8F\x90\x07", "2\x02\x02\x90\x91\x05N(\x02\x91\x94\x073\x02\x02", "\x92\x93\x07:\x02\x02\x93\x95\x05N(\x02\x94\x92", "\x03\x02\x02\x02\x94\x95\x03\x02\x02\x02\x95\x97", "\x03\x02\x02\x02\x96\x8E\x03\x02\x02\x02\x96\x8F", "\x03\x02\x02\x02\x97\r\x03\x02\x02\x02\x98\x99", "\x07\x0E\x02\x02\x99\x9A\x05\x10\t\x02\x9A\x9C", "\x076\x02\x02\x9B\x9D\x05\x12\n\x02\x9C\x9B\x03", "\x02\x02\x02\x9D\x9E\x03\x02\x02\x02\x9E\x9C\x03", "\x02\x02\x02\x9E\x9F\x03\x02\x02\x02\x9F\xA0\x03", "\x02\x02\x02\xA0\xA2\x077\x02\x02\xA1\xA3\x07", "0\x02\x02\xA2\xA1\x03\x02\x02\x02\xA2\xA3\x03", "\x02\x02\x02\xA3\x0F\x03\x02\x02\x02\xA4\xA5\t", "\x04\x02\x02\xA5\x11\x03\x02\x02\x02\xA6\xA8\x07", "\x13\x02\x02\xA7\xA6\x03\x02\x02\x02\xA7\xA8\x03", "\x02\x02\x02\xA8\xA9\x03\x02\x02\x02\xA9\xAA\x05", "\"\x12\x02\xAA\xAB\x05T+\x02\xAB\xAC\x071\x02\x02", "\xAC\xB1\x05\x18\r\x02\xAD\xAE\x074\x02\x02\xAE", "\xAF\x05\x14\x0B\x02\xAF\xB0\x075\x02\x02\xB0", "\xB2\x03\x02\x02\x02\xB1\xAD\x03\x02\x02\x02\xB1", "\xB2\x03\x02\x02\x02\xB2\xB3\x03\x02\x02\x02\xB3", "\xB4\x070\x02\x02\xB4\x13\x03\x02\x02\x02\xB5", "\xBA\x05\x16\f\x02\xB6\xB7\x07;\x02\x02\xB7\xB9", "\x05\x16\f\x02\xB8\xB6\x03\x02\x02\x02\xB9\xBC", "\x03\x02\x02\x02\xBA\xB8\x03\x02\x02\x02\xBA\xBB", "\x03\x02\x02\x02\xBB\x15\x03\x02\x02\x02\xBC\xBA", "\x03\x02\x02\x02\xBD\xBE\x05\f\x07\x02\xBE\xBF", "\x071\x02\x02\xBF\xC0\x05F$\x02\xC0\x17\x03\x02", "\x02\x02\xC1\xC2\x05b2\x02\xC2\x19\x03\x02\x02", "\x02\xC3\xC4\x07\x14\x02\x02\xC4\xC5\x05V,\x02", "\xC5\xCB\x076\x02\x02\xC6\xCA\x05\n\x06\x02\xC7", "\xCA\x05\x1C\x0F\x02\xC8\xCA\x05J&\x02\xC9\xC6", "\x03\x02\x02\x02\xC9\xC7\x03\x02\x02\x02\xC9\xC8", "\x03\x02\x02\x02\xCA\xCD\x03\x02\x02\x02\xCB\xC9", "\x03\x02\x02\x02\xCB\xCC\x03\x02\x02\x02\xCC\xCE", "\x03\x02\x02\x02\xCD\xCB\x03\x02\x02\x02\xCE\xCF", "\x077\x02\x02\xCF\x1B\x03\x02\x02\x02\xD0\xD1", "\x05\"\x12\x02\xD1\xD2\x05T+\x02\xD2\xD3\x071\x02", "\x02\xD3\xD8\x05\x18\r\x02\xD4\xD5\x074\x02\x02", "\xD5\xD6\x05\x14\x0B\x02\xD6\xD7\x075\x02\x02", "\xD7\xD9\x03\x02\x02\x02\xD8\xD4\x03\x02\x02\x02", "\xD8\xD9\x03\x02\x02\x02\xD9\xDA\x03\x02\x02\x02", "\xDA\xDB\x070\x02\x02\xDB\x1D\x03\x02\x02\x02", "\xDC\xDD\x07\x15\x02\x02\xDD\xDE\x078\x02\x02", "\xDE\xDF\x05 \x11\x02\xDF\xE0\x07;\x02\x02\xE0", "\xE1\x05\"\x12\x02\xE1\xE2\x079\x02\x02\xE2\xE3", "\x05X-\x02\xE3\xE4\x071\x02\x02\xE4\xE9\x05\x18", "\r\x02\xE5\xE6\x074\x02\x02\xE6\xE7\x05\x14\x0B", "\x02\xE7\xE8\x075\x02\x02\xE8\xEA\x03\x02\x02", "\x02\xE9\xE5\x03\x02\x02\x02\xE9\xEA\x03\x02\x02", "\x02\xEA\xEB\x03\x02\x02\x02\xEB\xEC\x070\x02", "\x02\xEC\x1F\x03\x02\x02\x02\xED\xEE\t\x05\x02", "\x02\xEE!\x03\x02\x02\x02\xEF\u0101\x07\"\x02\x02", "\xF0\u0101\x07#\x02\x02\xF1\u0101\x07\x16\x02\x02", "\xF2\u0101\x07\x17\x02\x02\xF3\u0101\x07\x18\x02\x02", "\xF4\u0101\x07\x19\x02\x02\xF5\u0101\x07\x1A\x02\x02", "\xF6\u0101\x07\x1B\x02\x02\xF7\u0101\x07\x1C\x02\x02", "\xF8\u0101\x07\x1D\x02\x02\xF9\u0101\x07\x1E\x02\x02", "\xFA\u0101\x07\x1F\x02\x02\xFB\u0101\x07 \x02\x02", "\xFC\u0101\x07!\x02\x02\xFD\u0101\x07$\x02\x02\xFE", "\u0101\x05^0\x02\xFF\u0101\x05`1\x02\u0100\xEF\x03\x02", "\x02\x02\u0100\xF0\x03\x02\x02\x02\u0100\xF1\x03\x02", "\x02\x02\u0100\xF2\x03\x02\x02\x02\u0100\xF3\x03\x02", "\x02\x02\u0100\xF4\x03\x02\x02\x02\u0100\xF5\x03\x02", "\x02\x02\u0100\xF6\x03\x02\x02\x02\u0100\xF7\x03\x02", "\x02\x02\u0100\xF8\x03\x02\x02\x02\u0100\xF9\x03\x02", "\x02\x02\u0100\xFA\x03\x02\x02\x02\u0100\xFB\x03\x02", "\x02\x02\u0100\xFC\x03\x02\x02\x02\u0100\xFD\x03\x02", "\x02\x02\u0100\xFE\x03\x02\x02\x02\u0100\xFF\x03\x02", "\x02\x02\u0101#\x03\x02\x02\x02\u0102\u0105\x07%\x02", "\x02\u0103\u0106\x05&\x14\x02\u0104\u0106\x05*\x16\x02", "\u0105\u0103\x03\x02\x02\x02\u0105\u0104\x03\x02\x02\x02", "\u0106\u0107\x03\x02\x02\x02\u0107\u0108\x070\x02\x02", "\u0108%\x03\x02\x02\x02\u0109\u010E\x05(\x15\x02\u010A", "\u010B\x07;\x02\x02\u010B\u010D\x05(\x15\x02\u010C\u010A", "\x03\x02\x02\x02\u010D\u0110\x03\x02\x02\x02\u010E\u010C", "\x03\x02\x02\x02\u010E\u010F\x03\x02\x02\x02\u010F'", "\x03\x02\x02\x02\u0110\u010E\x03\x02\x02\x02\u0111\u0117", "\x05b2\x02\u0112\u0115\x07&\x02\x02\u0113\u0116\x05b2\x02", "\u0114\u0116\x07'\x02\x02\u0115\u0113\x03\x02\x02\x02", "\u0115\u0114\x03\x02\x02\x02\u0116\u0118\x03\x02\x02\x02", "\u0117\u0112\x03\x02\x02\x02\u0117\u0118\x03\x02\x02\x02", "\u0118)\x03\x02\x02\x02\u0119\u011E\x05d3\x02\u011A\u011B", "\x07;\x02\x02\u011B\u011D\x05d3\x02\u011C\u011A\x03\x02", "\x02\x02\u011D\u0120\x03\x02\x02\x02\u011E\u011C\x03\x02", "\x02\x02\u011E\u011F\x03\x02\x02\x02\u011F+\x03\x02", "\x02\x02\u0120\u011E\x03\x02\x02\x02\u0121\u0125\x05:", "\x1E\x02\u0122\u0125\x05.\x18\x02\u0123\u0125\x05@!\x02", "\u0124\u0121\x03\x02\x02\x02\u0124\u0122\x03\x02\x02\x02", "\u0124\u0123\x03\x02\x02\x02\u0125-\x03\x02\x02\x02", "\u0126\u0127\x07(\x02\x02\u0127\u0128\x05R*\x02\u0128\u0129", "\x050\x19\x02\u0129/\x03\x02\x02\x02\u012A\u012E\x07", "6\x02\x02\u012B\u012D\x052\x1A\x02\u012C\u012B\x03\x02", "\x02\x02\u012D\u0130\x03\x02\x02\x02\u012E\u012C\x03\x02", "\x02\x02\u012E\u012F\x03\x02\x02\x02\u012F\u0131\x03\x02", "\x02\x02\u0130\u012E\x03\x02\x02\x02\u0131\u0132\x077", "\x02\x02\u01321\x03\x02\x02\x02\u0133\u0137\x05\n\x06", "\x02\u0134\u0137\x054\x1B\x02\u0135\u0137\x05J&\x02\u0136", "\u0133\x03\x02\x02\x02\u0136\u0134\x03\x02\x02\x02\u0136", "\u0135\x03\x02\x02\x02\u01373\x03\x02\x02\x02\u0138", "\u0139\x05L'\x02\u0139\u013B\x071\x02\x02\u013A\u013C\x07", ">\x02\x02\u013B\u013A\x03\x02\x02\x02\u013B\u013C\x03", "\x02\x02\x02\u013C\u013D\x03\x02\x02\x02\u013D\u013F\x05", "b2\x02\u013E\u0140\x056\x1C\x02\u013F\u013E\x03\x02\x02", "\x02\u013F\u0140\x03\x02\x02\x02\u0140\u0141\x03\x02\x02", "\x02\u0141\u0142\x070\x02\x02\u01425\x03\x02\x02\x02", "\u0143\u0144\x074\x02\x02\u0144\u0149\x058\x1D\x02\u0145", "\u0146\x07;\x02\x02\u0146\u0148\x058\x1D\x02\u0147\u0145", "\x03\x02\x02\x02\u0148\u014B\x03\x02\x02\x02\u0149\u0147", "\x03\x02\x02\x02\u0149\u014A\x03\x02\x02\x02\u014A\u014C", "\x03\x02\x02\x02\u014B\u0149\x03\x02\x02\x02\u014C\u014D", "\x075\x02\x02\u014D7\x03\x02\x02\x02\u014E\u014F\x05", "\f\x07\x02\u014F\u0150\x071\x02\x02\u0150\u0151\x05F$\x02", "\u01519\x03\x02\x02\x02\u0152\u0153\x07)\x02\x02\u0153", "\u0154\x05P)\x02\u0154\u0155\x05<\x1F\x02\u0155;\x03\x02", "\x02\x02\u0156\u015A\x076\x02\x02\u0157\u0159\x05> \x02", "\u0158\u0157\x03\x02\x02\x02\u0159\u015C\x03\x02\x02\x02", "\u015A\u0158\x03\x02\x02\x02\u015A\u015B\x03\x02\x02\x02", "\u015B\u015D\x03\x02\x02\x02\u015C\u015A\x03\x02\x02\x02", "\u015D\u015E\x077\x02\x02\u015E=\x03\x02\x02\x02\u015F", "\u0168\x05\x12\n\x02\u0160\u0168\x05.\x18\x02\u0161\u0168", "\x05:\x1E\x02\u0162\u0168\x05\n\x06\x02\u0163\u0168\x05", "\x1A\x0E\x02\u0164\u0168\x05\x1E\x10\x02\u0165\u0168\x05", "$\x13\x02\u0166\u0168\x05J&\x02\u0167\u015F\x03\x02\x02", "\x02\u0167\u0160\x03\x02\x02\x02\u0167\u0161\x03\x02\x02", "\x02\u0167\u0162\x03\x02\x02\x02\u0167\u0163\x03\x02\x02", "\x02\u0167\u0164\x03\x02\x02\x02\u0167\u0165\x03\x02\x02", "\x02\u0167\u0166\x03\x02\x02\x02\u0168?\x03\x02\x02", "\x02\u0169\u016A\x07*\x02\x02\u016A\u016B\x05Z.\x02\u016B", "\u016F\x076\x02\x02\u016C\u016E\x05B\"\x02\u016D\u016C\x03", "\x02\x02\x02\u016E\u0171\x03\x02\x02\x02\u016F\u016D\x03", "\x02\x02\x02\u016F\u0170\x03\x02\x02\x02\u0170\u0172\x03", "\x02\x02\x02\u0171\u016F\x03\x02\x02\x02\u0172\u0173\x07", "7\x02\x02\u0173A\x03\x02\x02\x02\u0174\u0178\x05\n\x06", "\x02\u0175\u0178\x05D#\x02\u0176\u0178\x05J&\x02\u0177\u0174", "\x03\x02\x02\x02\u0177\u0175\x03\x02\x02\x02\u0177\u0176", "\x03\x02\x02\x02\u0178C\x03\x02\x02\x02\u0179\u017A", "\x07+\x02\x02\u017A\u017B\x05\\/\x02\u017B\u017D\x072\x02", "\x02\u017C\u017E\x07,\x02\x02\u017D\u017C\x03\x02\x02", "\x02\u017D\u017E\x03\x02\x02\x02\u017E\u017F\x03\x02\x02", "\x02\u017F\u0180\x05^0\x02\u0180\u0181\x073\x02\x02\u0181", "\u0182\x07-\x02\x02\u0182\u0184\x072\x02\x02\u0183\u0185", "\x07,\x02\x02\u0184\u0183\x03\x02\x02\x02\u0184\u0185", "\x03\x02\x02\x02\u0185\u0186\x03\x02\x02\x02\u0186\u0187", "\x05^0\x02\u0187\u0192\x073\x02\x02\u0188\u018D\x076\x02", "\x02\u0189\u018C\x05\n\x06\x02\u018A\u018C\x05J&\x02\u018B", "\u0189\x03\x02\x02\x02\u018B\u018A\x03\x02\x02\x02\u018C", "\u018F\x03\x02\x02\x02\u018D\u018B\x03\x02\x02\x02\u018D", "\u018E\x03\x02\x02\x02\u018E\u0190\x03\x02\x02\x02\u018F", "\u018D\x03\x02\x02\x02\u0190\u0193\x077\x02\x02\u0191", "\u0193\x070\x02\x02\u0192\u0188\x03\x02\x02\x02\u0192", "\u0191\x03\x02\x02\x02\u0193E\x03\x02\x02\x02\u0194", "\u01A1\x05N(\x02\u0195\u0197\t\x06\x02\x02\u0196\u0195\x03", "\x02\x02\x02\u0196\u0197\x03\x02\x02\x02\u0197\u0198\x03", "\x02\x02\x02\u0198\u01A1\x05b2\x02\u0199\u019B\t\x06\x02", "\x02\u019A\u0199\x03\x02\x02\x02\u019A\u019B\x03\x02\x02", "\x02\u019B\u019C\x03\x02\x02\x02\u019C\u01A1\x05h5\x02", "\u019D\u01A1\x05d3\x02\u019E\u01A1\x05f4\x02\u019F\u01A1\x05", "H%\x02\u01A0\u0194\x03\x02\x02\x02\u01A0\u0196\x03\x02", "\x02\x02\u01A0\u019A\x03\x02\x02\x02\u01A0\u019D\x03\x02", "\x02\x02\u01A0\u019E\x03\x02\x02\x02\u01A0\u019F\x03\x02", "\x02\x02\u01A1G\x03\x02\x02\x02\u01A2\u01A9\x076\x02", "\x02\u01A3\u01A4\x05L'\x02\u01A4\u01A5\x07<\x02\x02\u01A5", "\u01A6\x05F$\x02\u01A6\u01A8\x03\x02\x02\x02\u01A7\u01A3", "\x03\x02\x02\x02\u01A8\u01AB\x03\x02\x02\x02\u01A9\u01A7", "\x03\x02\x02\x02\u01A9\u01AA\x03\x02\x02\x02\u01AA\u01AC", "\x03\x02\x02\x02\u01AB\u01A9\x03\x02\x02\x02\u01AC\u01AD", "\x077\x02\x02\u01ADI\x03\x02\x02\x02\u01AE\u01AF\x07", "0\x02\x02\u01AFK\x03\x02\x02\x02\u01B0\u01B3\x07C\x02", "\x02\u01B1\u01B3\x05j6\x02\u01B2\u01B0\x03\x02\x02\x02", "\u01B2\u01B1\x03\x02\x02\x02\u01B3M\x03\x02\x02\x02", "\u01B4\u01B9\x05L'\x02\u01B5\u01B6\x07:\x02\x02\u01B6\u01B8", "\x05L'\x02\u01B7\u01B5\x03\x02\x02\x02\u01B8\u01BB\x03", "\x02\x02\x02\u01B9\u01B7\x03\x02\x02\x02\u01B9\u01BA\x03", "\x02\x02\x02\u01BAO\x03\x02\x02\x02\u01BB\u01B9\x03", "\x02\x02\x02\u01BC\u01BD\x05L'\x02\u01BDQ\x03\x02\x02", "\x02\u01BE\u01BF\x05L'\x02\u01BFS\x03\x02\x02\x02\u01C0", "\u01C1\x05L'\x02\u01C1U\x03\x02\x02\x02\u01C2\u01C3\x05", "L'\x02\u01C3W\x03\x02\x02\x02\u01C4\u01C5\x05L'\x02", "\u01C5Y\x03\x02\x02\x02\u01C6\u01C7\x05L'\x02\u01C7[\x03", "\x02\x02\x02\u01C8\u01C9\x05L'\x02\u01C9]\x03\x02\x02", "\x02\u01CA\u01CC\x07:\x02\x02\u01CB\u01CA\x03\x02\x02", "\x02\u01CB\u01CC\x03\x02\x02\x02\u01CC\u01D2\x03\x02\x02", "\x02\u01CD\u01CE\x05L'\x02\u01CE\u01CF\x07:\x02\x02\u01CF", "\u01D1\x03\x02\x02\x02\u01D0\u01CD\x03\x02\x02\x02\u01D1", "\u01D4\x03\x02\x02\x02\u01D2\u01D0\x03\x02\x02\x02\u01D2", "\u01D3\x03\x02\x02\x02\u01D3\u01D5\x03\x02\x02\x02\u01D4", "\u01D2\x03\x02\x02\x02\u01D5\u01D6\x05P)\x02\u01D6_\x03", "\x02\x02\x02\u01D7\u01D9\x07:\x02\x02\u01D8\u01D7\x03", "\x02\x02\x02\u01D8\u01D9\x03\x02\x02\x02\u01D9\u01DF\x03", "\x02\x02\x02\u01DA\u01DB\x05L'\x02\u01DB\u01DC\x07:\x02", "\x02\u01DC\u01DE\x03\x02\x02\x02\u01DD\u01DA\x03\x02\x02", "\x02\u01DE\u01E1\x03\x02\x02\x02\u01DF\u01DD\x03\x02\x02", "\x02\u01DF\u01E0\x03\x02\x02\x02\u01E0\u01E2\x03\x02\x02", "\x02\u01E1\u01DF\x03\x02\x02\x02\u01E2\u01E3\x05R*\x02", "\u01E3a\x03\x02\x02\x02\u01E4\u01E5\x07B\x02\x02\u01E5", "c\x03\x02\x02\x02\u01E6\u01E7\t\x07\x02\x02\u01E7e\x03", "\x02\x02\x02\u01E8\u01E9\x07@\x02\x02\u01E9g\x03\x02", "\x02\x02\u01EA\u01EB\x07A\x02\x02\u01EBi\x03\x02\x02", "\x02\u01EC\u01ED\t\b\x02\x02\u01EDk\x03\x02\x02\x02/s", "u\x7F\x94\x96\x9E\xA2\xA7\xB1\xBA\xC9\xCB\xD8", "\xE9\u0100\u0105\u010E\u0115\u0117\u011E\u0124\u012E\u0136\u013B\u013F", "\u0149\u015A\u0167\u016F\u0177\u017D\u0184\u018B\u018D\u0192\u0196\u019A", "\u01A0\u01A9\u01B2\u01B9\u01CB\u01D2\u01D8\u01DF"].join("");
38
+ var serializedATN = ["\x03\u608B\uA72A\u8133\uB9ED\u417C\u3BE7\u7786", "\u5964\x03G\u01F0\x04\x02\t\x02\x04\x03\t\x03\x04\x04", "\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07\t\x07", "\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\x0B\t\x0B\x04\f\t\f", "\x04\r\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10", "\x04\x11\t\x11\x04\x12\t\x12\x04\x13\t\x13\x04\x14", "\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17", "\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B", "\t\x1B\x04\x1C\t\x1C\x04\x1D\t\x1D\x04\x1E\t\x1E", "\x04\x1F\t\x1F\x04 \t \x04!\t!\x04\"\t\"\x04#\t#\x04", "$\t$\x04%\t%\x04&\t&\x04'\t'\x04(\t(\x04)\t)\x04*\t*\x04", "+\t+\x04,\t,\x04-\t-\x04.\t.\x04/\t/\x040\t0\x041\t1\x04", "2\t2\x043\t3\x044\t4\x045\t5\x046\t6\x03\x02\x03\x02", "\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x07\x02", "t\n\x02\f\x02\x0E\x02w\x0B\x02\x03\x03\x03\x03\x03", "\x03\x03\x03\x03\x03\x03\x04\x03\x04\x05\x04\x80", "\n\x04\x03\x04\x03\x04\x03\x04\x03\x05\x03\x05", "\x03\x05\x03\x05\x03\x06\x03\x06\x03\x06\x03\x06", "\x03\x06\x03\x06\x03\x07\x03\x07\x03\x07\x03\x07", "\x03\x07\x03\x07\x05\x07\x95\n\x07\x05\x07\x97", "\n\x07\x03\b\x03\b\x03\b\x03\b\x06\b\x9D\n\b\r\b\x0E", "\b\x9E\x03\b\x03\b\x05\b\xA3\n\b\x03\t\x03\t\x03\n\x05", "\n\xA8\n\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n", "\x03\n\x05\n\xB2\n\n\x03\n\x03\n\x03\x0B\x03\x0B\x03", "\x0B\x07\x0B\xB9\n\x0B\f\x0B\x0E\x0B\xBC\x0B\x0B", "\x03\f\x03\f\x03\f\x03\f\x03\r\x03\r\x03\x0E\x03\x0E", "\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x07\x0E\xCA\n", "\x0E\f\x0E\x0E\x0E\xCD\x0B\x0E\x03\x0E\x03\x0E", "\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F", "\x03\x0F\x03\x0F\x05\x0F\xD9\n\x0F\x03\x0F\x03", "\x0F\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03", "\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03", "\x10\x03\x10\x05\x10\xEA\n\x10\x03\x10\x03\x10", "\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12\x03\x12", "\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12", "\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12", "\x03\x12\x05\x12\u0101\n\x12\x03\x13\x03\x13\x03", "\x13\x05\x13\u0106\n\x13\x03\x13\x03\x13\x03\x14", "\x03\x14\x03\x14\x07\x14\u010D\n\x14\f\x14\x0E\x14", "\u0110\x0B\x14\x03\x15\x03\x15\x03\x15\x03\x15\x05", "\x15\u0116\n\x15\x05\x15\u0118\n\x15\x03\x16\x03\x16", "\x03\x16\x07\x16\u011D\n\x16\f\x16\x0E\x16\u0120\x0B", "\x16\x03\x17\x03\x17\x03\x17\x05\x17\u0125\n\x17", "\x03\x18\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19", "\x07\x19\u012D\n\x19\f\x19\x0E\x19\u0130\x0B\x19\x03", "\x19\x03\x19\x03\x1A\x03\x1A\x03\x1A\x03\x1A\x05", "\x1A\u0138\n\x1A\x03\x1B\x03\x1B\x03\x1B\x05\x1B", "\u013D\n\x1B\x03\x1B\x03\x1B\x05\x1B\u0141\n\x1B\x03", "\x1B\x03\x1B\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x07", "\x1C\u0149\n\x1C\f\x1C\x0E\x1C\u014C\x0B\x1C\x03\x1C", "\x03\x1C\x03\x1D\x03\x1D\x03\x1D\x03\x1D\x03\x1E", "\x03\x1E\x03\x1E\x03\x1E\x03\x1F\x03\x1F\x07\x1F", "\u015A\n\x1F\f\x1F\x0E\x1F\u015D\x0B\x1F\x03\x1F\x03", "\x1F\x03 \x03 \x03 \x03 \x03 \x03 \x03 \x03 \x05", " \u0169\n \x03!\x03!\x03!\x03!\x07!\u016F\n!\f!\x0E!\u0172", "\x0B!\x03!\x03!\x03\"\x03\"\x03\"\x05\"\u0179\n\"\x03", "#\x03#\x03#\x03#\x05#\u017F\n#\x03#\x03#\x03#\x03#\x03", "#\x05#\u0186\n#\x03#\x03#\x03#\x03#\x03#\x07#\u018D\n", "#\f#\x0E#\u0190\x0B#\x03#\x03#\x05#\u0194\n#\x03$\x03", "$\x05$\u0198\n$\x03$\x03$\x05$\u019C\n$\x03$\x03$\x03", "$\x03$\x05$\u01A2\n$\x03%\x03%\x03%\x03%\x03%\x07%\u01A9", "\n%\f%\x0E%\u01AC\x0B%\x03%\x03%\x03&\x03&\x03'\x03", "'\x05'\u01B4\n'\x03(\x03(\x03(\x07(\u01B9\n(\f(\x0E(", "\u01BC\x0B(\x03)\x03)\x03*\x03*\x03+\x03+\x03,\x03", ",\x03-\x03-\x03.\x03.\x03/\x03/\x030\x050\u01CD\n0\x03", "0\x030\x030\x070\u01D2\n0\f0\x0E0\u01D5\x0B0\x030\x03", "0\x031\x051\u01DA\n1\x031\x031\x031\x071\u01DF\n1\f1\x0E", "1\u01E2\x0B1\x031\x031\x032\x032\x033\x033\x034\x03", "4\x035\x035\x036\x036\x036\x02\x027\x02\x04\x06", "\b\n\f\x0E\x10\x12\x14\x16\x18\x1A\x1C\x1E \"$&(*", ",.02468:<>@BDFHJLNPRTVXZ\\^`bdfhj\x02\n\x03\x02/0\x03\x02", "\x0F\x10\x03\x02\x03\x0B\x03\x02\x13\x14\x03\x02", "\x17\"\x03\x02>?\x04\x02/0@@\x05\x02\f\r\x0F.AA\x02", "\u0209\x02l\x03\x02\x02\x02\x04x\x03\x02\x02\x02", "\x06}\x03\x02\x02\x02\b\x84\x03\x02\x02\x02\n\x88", "\x03\x02\x02\x02\f\x96\x03\x02\x02\x02\x0E\x98", "\x03\x02\x02\x02\x10\xA4\x03\x02\x02\x02\x12\xA7", "\x03\x02\x02\x02\x14\xB5\x03\x02\x02\x02\x16\xBD", "\x03\x02\x02\x02\x18\xC1\x03\x02\x02\x02\x1A\xC3", "\x03\x02\x02\x02\x1C\xD0\x03\x02\x02\x02\x1E\xDC", "\x03\x02\x02\x02 \xED\x03\x02\x02\x02\"\u0100\x03", "\x02\x02\x02$\u0102\x03\x02\x02\x02&\u0109\x03\x02", "\x02\x02(\u0111\x03\x02\x02\x02*\u0119\x03\x02\x02", "\x02,\u0124\x03\x02\x02\x02.\u0126\x03\x02\x02\x02", "0\u012A\x03\x02\x02\x022\u0137\x03\x02\x02\x024\u0139", "\x03\x02\x02\x026\u0144\x03\x02\x02\x028\u014F\x03", "\x02\x02\x02:\u0153\x03\x02\x02\x02<\u0157\x03\x02", "\x02\x02>\u0168\x03\x02\x02\x02@\u016A\x03\x02\x02", "\x02B\u0178\x03\x02\x02\x02D\u017A\x03\x02\x02\x02", "F\u01A1\x03\x02\x02\x02H\u01A3\x03\x02\x02\x02J\u01AF", "\x03\x02\x02\x02L\u01B3\x03\x02\x02\x02N\u01B5\x03", "\x02\x02\x02P\u01BD\x03\x02\x02\x02R\u01BF\x03\x02", "\x02\x02T\u01C1\x03\x02\x02\x02V\u01C3\x03\x02\x02", "\x02X\u01C5\x03\x02\x02\x02Z\u01C7\x03\x02\x02\x02", "\\\u01C9\x03\x02\x02\x02^\u01CC\x03\x02\x02\x02`\u01D9", "\x03\x02\x02\x02b\u01E5\x03\x02\x02\x02d\u01E7\x03", "\x02\x02\x02f\u01E9\x03\x02\x02\x02h\u01EB\x03\x02", "\x02\x02j\u01ED\x03\x02\x02\x02lu\x05\x04\x03\x02", "mt\x05\x06\x04\x02nt\x05\b\x05\x02ot\x05\n\x06\x02", "pt\x05\x0E\b\x02qt\x05,\x17\x02rt\x05J&\x02sm\x03", "\x02\x02\x02sn\x03\x02\x02\x02so\x03\x02\x02\x02", "sp\x03\x02\x02\x02sq\x03\x02\x02\x02sr\x03\x02\x02", "\x02tw\x03\x02\x02\x02us\x03\x02\x02\x02uv\x03\x02", "\x02\x02v\x03\x03\x02\x02\x02wu\x03\x02\x02\x02", "xy\x07\f\x02\x02yz\x072\x02\x02z{\t\x02\x02\x02{|", "\x071\x02\x02|\x05\x03\x02\x02\x02}\x7F\x07\r\x02", "\x02~\x80\t\x03\x02\x02\x7F~\x03\x02\x02\x02\x7F", "\x80\x03\x02\x02\x02\x80\x81\x03\x02\x02\x02\x81", "\x82\x05d3\x02\x82\x83\x071\x02\x02\x83\x07\x03", "\x02\x02\x02\x84\x85\x07\x11\x02\x02\x85\x86\x05", "N(\x02\x86\x87\x071\x02\x02\x87\t\x03\x02\x02\x02", "\x88\x89\x07\x12\x02\x02\x89\x8A\x05\f\x07\x02", "\x8A\x8B\x072\x02\x02\x8B\x8C\x05F$\x02\x8C\x8D", "\x071\x02\x02\x8D\x0B\x03\x02\x02\x02\x8E\x97", "\x05N(\x02\x8F\x90\x073\x02\x02\x90\x91\x05N(\x02", "\x91\x94\x074\x02\x02\x92\x93\x07;\x02\x02\x93", "\x95\x05N(\x02\x94\x92\x03\x02\x02\x02\x94\x95", "\x03\x02\x02\x02\x95\x97\x03\x02\x02\x02\x96\x8E", "\x03\x02\x02\x02\x96\x8F\x03\x02\x02\x02\x97\r", "\x03\x02\x02\x02\x98\x99\x07\x0E\x02\x02\x99\x9A", "\x05\x10\t\x02\x9A\x9C\x077\x02\x02\x9B\x9D\x05", "\x12\n\x02\x9C\x9B\x03\x02\x02\x02\x9D\x9E\x03", "\x02\x02\x02\x9E\x9C\x03\x02\x02\x02\x9E\x9F\x03", "\x02\x02\x02\x9F\xA0\x03\x02\x02\x02\xA0\xA2\x07", "8\x02\x02\xA1\xA3\x071\x02\x02\xA2\xA1\x03\x02", "\x02\x02\xA2\xA3\x03\x02\x02\x02\xA3\x0F\x03\x02", "\x02\x02\xA4\xA5\t\x04\x02\x02\xA5\x11\x03\x02", "\x02\x02\xA6\xA8\t\x05\x02\x02\xA7\xA6\x03\x02", "\x02\x02\xA7\xA8\x03\x02\x02\x02\xA8\xA9\x03\x02", "\x02\x02\xA9\xAA\x05\"\x12\x02\xAA\xAB\x05T+\x02", "\xAB\xAC\x072\x02\x02\xAC\xB1\x05\x18\r\x02\xAD", "\xAE\x075\x02\x02\xAE\xAF\x05\x14\x0B\x02\xAF", "\xB0\x076\x02\x02\xB0\xB2\x03\x02\x02\x02\xB1", "\xAD\x03\x02\x02\x02\xB1\xB2\x03\x02\x02\x02\xB2", "\xB3\x03\x02\x02\x02\xB3\xB4\x071\x02\x02\xB4", "\x13\x03\x02\x02\x02\xB5\xBA\x05\x16\f\x02\xB6", "\xB7\x07<\x02\x02\xB7\xB9\x05\x16\f\x02\xB8\xB6", "\x03\x02\x02\x02\xB9\xBC\x03\x02\x02\x02\xBA\xB8", "\x03\x02\x02\x02\xBA\xBB\x03\x02\x02\x02\xBB\x15", "\x03\x02\x02\x02\xBC\xBA\x03\x02\x02\x02\xBD\xBE", "\x05\f\x07\x02\xBE\xBF\x072\x02\x02\xBF\xC0\x05", "F$\x02\xC0\x17\x03\x02\x02\x02\xC1\xC2\x05b2\x02", "\xC2\x19\x03\x02\x02\x02\xC3\xC4\x07\x15\x02\x02", "\xC4\xC5\x05V,\x02\xC5\xCB\x077\x02\x02\xC6\xCA", "\x05\n\x06\x02\xC7\xCA\x05\x1C\x0F\x02\xC8\xCA", "\x05J&\x02\xC9\xC6\x03\x02\x02\x02\xC9\xC7\x03", "\x02\x02\x02\xC9\xC8\x03\x02\x02\x02\xCA\xCD\x03", "\x02\x02\x02\xCB\xC9\x03\x02\x02\x02\xCB\xCC\x03", "\x02\x02\x02\xCC\xCE\x03\x02\x02\x02\xCD\xCB\x03", "\x02\x02\x02\xCE\xCF\x078\x02\x02\xCF\x1B\x03", "\x02\x02\x02\xD0\xD1\x05\"\x12\x02\xD1\xD2\x05", "T+\x02\xD2\xD3\x072\x02\x02\xD3\xD8\x05\x18\r\x02", "\xD4\xD5\x075\x02\x02\xD5\xD6\x05\x14\x0B\x02", "\xD6\xD7\x076\x02\x02\xD7\xD9\x03\x02\x02\x02", "\xD8\xD4\x03\x02\x02\x02\xD8\xD9\x03\x02\x02\x02", "\xD9\xDA\x03\x02\x02\x02\xDA\xDB\x071\x02\x02", "\xDB\x1D\x03\x02\x02\x02\xDC\xDD\x07\x16\x02\x02", "\xDD\xDE\x079\x02\x02\xDE\xDF\x05 \x11\x02\xDF", "\xE0\x07<\x02\x02\xE0\xE1\x05\"\x12\x02\xE1\xE2", "\x07:\x02\x02\xE2\xE3\x05X-\x02\xE3\xE4\x072\x02", "\x02\xE4\xE9\x05\x18\r\x02\xE5\xE6\x075\x02\x02", "\xE6\xE7\x05\x14\x0B\x02\xE7\xE8\x076\x02\x02", "\xE8\xEA\x03\x02\x02\x02\xE9\xE5\x03\x02\x02\x02", "\xE9\xEA\x03\x02\x02\x02\xEA\xEB\x03\x02\x02\x02", "\xEB\xEC\x071\x02\x02\xEC\x1F\x03\x02\x02\x02", "\xED\xEE\t\x06\x02\x02\xEE!\x03\x02\x02\x02\xEF", "\u0101\x07#\x02\x02\xF0\u0101\x07$\x02\x02\xF1\u0101", "\x07\x17\x02\x02\xF2\u0101\x07\x18\x02\x02\xF3\u0101", "\x07\x19\x02\x02\xF4\u0101\x07\x1A\x02\x02\xF5\u0101", "\x07\x1B\x02\x02\xF6\u0101\x07\x1C\x02\x02\xF7\u0101", "\x07\x1D\x02\x02\xF8\u0101\x07\x1E\x02\x02\xF9\u0101", "\x07\x1F\x02\x02\xFA\u0101\x07 \x02\x02\xFB\u0101", "\x07!\x02\x02\xFC\u0101\x07\"\x02\x02\xFD\u0101\x07", "%\x02\x02\xFE\u0101\x05^0\x02\xFF\u0101\x05`1\x02\u0100", "\xEF\x03\x02\x02\x02\u0100\xF0\x03\x02\x02\x02\u0100", "\xF1\x03\x02\x02\x02\u0100\xF2\x03\x02\x02\x02\u0100", "\xF3\x03\x02\x02\x02\u0100\xF4\x03\x02\x02\x02\u0100", "\xF5\x03\x02\x02\x02\u0100\xF6\x03\x02\x02\x02\u0100", "\xF7\x03\x02\x02\x02\u0100\xF8\x03\x02\x02\x02\u0100", "\xF9\x03\x02\x02\x02\u0100\xFA\x03\x02\x02\x02\u0100", "\xFB\x03\x02\x02\x02\u0100\xFC\x03\x02\x02\x02\u0100", "\xFD\x03\x02\x02\x02\u0100\xFE\x03\x02\x02\x02\u0100", "\xFF\x03\x02\x02\x02\u0101#\x03\x02\x02\x02\u0102", "\u0105\x07&\x02\x02\u0103\u0106\x05&\x14\x02\u0104\u0106", "\x05*\x16\x02\u0105\u0103\x03\x02\x02\x02\u0105\u0104", "\x03\x02\x02\x02\u0106\u0107\x03\x02\x02\x02\u0107\u0108", "\x071\x02\x02\u0108%\x03\x02\x02\x02\u0109\u010E\x05", "(\x15\x02\u010A\u010B\x07<\x02\x02\u010B\u010D\x05(\x15", "\x02\u010C\u010A\x03\x02\x02\x02\u010D\u0110\x03\x02\x02", "\x02\u010E\u010C\x03\x02\x02\x02\u010E\u010F\x03\x02\x02", "\x02\u010F'\x03\x02\x02\x02\u0110\u010E\x03\x02\x02", "\x02\u0111\u0117\x05b2\x02\u0112\u0115\x07'\x02\x02\u0113", "\u0116\x05b2\x02\u0114\u0116\x07(\x02\x02\u0115\u0113\x03", "\x02\x02\x02\u0115\u0114\x03\x02\x02\x02\u0116\u0118\x03", "\x02\x02\x02\u0117\u0112\x03\x02\x02\x02\u0117\u0118\x03", "\x02\x02\x02\u0118)\x03\x02\x02\x02\u0119\u011E\x05", "d3\x02\u011A\u011B\x07<\x02\x02\u011B\u011D\x05d3\x02\u011C", "\u011A\x03\x02\x02\x02\u011D\u0120\x03\x02\x02\x02\u011E", "\u011C\x03\x02\x02\x02\u011E\u011F\x03\x02\x02\x02\u011F", "+\x03\x02\x02\x02\u0120\u011E\x03\x02\x02\x02\u0121", "\u0125\x05:\x1E\x02\u0122\u0125\x05.\x18\x02\u0123\u0125", "\x05@!\x02\u0124\u0121\x03\x02\x02\x02\u0124\u0122\x03", "\x02\x02\x02\u0124\u0123\x03\x02\x02\x02\u0125-\x03", "\x02\x02\x02\u0126\u0127\x07)\x02\x02\u0127\u0128\x05", "R*\x02\u0128\u0129\x050\x19\x02\u0129/\x03\x02\x02\x02", "\u012A\u012E\x077\x02\x02\u012B\u012D\x052\x1A\x02\u012C", "\u012B\x03\x02\x02\x02\u012D\u0130\x03\x02\x02\x02\u012E", "\u012C\x03\x02\x02\x02\u012E\u012F\x03\x02\x02\x02\u012F", "\u0131\x03\x02\x02\x02\u0130\u012E\x03\x02\x02\x02\u0131", "\u0132\x078\x02\x02\u01321\x03\x02\x02\x02\u0133\u0138", "\x05\n\x06\x02\u0134\u0138\x054\x1B\x02\u0135\u0138\x05", "$\x13\x02\u0136\u0138\x05J&\x02\u0137\u0133\x03\x02\x02", "\x02\u0137\u0134\x03\x02\x02\x02\u0137\u0135\x03\x02\x02", "\x02\u0137\u0136\x03\x02\x02\x02\u01383\x03\x02\x02", "\x02\u0139\u013A\x05L'\x02\u013A\u013C\x072\x02\x02\u013B", "\u013D\x07?\x02\x02\u013C\u013B\x03\x02\x02\x02\u013C", "\u013D\x03\x02\x02\x02\u013D\u013E\x03\x02\x02\x02\u013E", "\u0140\x05b2\x02\u013F\u0141\x056\x1C\x02\u0140\u013F\x03", "\x02\x02\x02\u0140\u0141\x03\x02\x02\x02\u0141\u0142\x03", "\x02\x02\x02\u0142\u0143\x071\x02\x02\u01435\x03\x02", "\x02\x02\u0144\u0145\x075\x02\x02\u0145\u014A\x058\x1D", "\x02\u0146\u0147\x07<\x02\x02\u0147\u0149\x058\x1D\x02", "\u0148\u0146\x03\x02\x02\x02\u0149\u014C\x03\x02\x02\x02", "\u014A\u0148\x03\x02\x02\x02\u014A\u014B\x03\x02\x02\x02", "\u014B\u014D\x03\x02\x02\x02\u014C\u014A\x03\x02\x02\x02", "\u014D\u014E\x076\x02\x02\u014E7\x03\x02\x02\x02\u014F", "\u0150\x05\f\x07\x02\u0150\u0151\x072\x02\x02\u0151\u0152", "\x05F$\x02\u01529\x03\x02\x02\x02\u0153\u0154\x07*\x02", "\x02\u0154\u0155\x05P)\x02\u0155\u0156\x05<\x1F\x02\u0156", ";\x03\x02\x02\x02\u0157\u015B\x077\x02\x02\u0158\u015A", "\x05> \x02\u0159\u0158\x03\x02\x02\x02\u015A\u015D\x03", "\x02\x02\x02\u015B\u0159\x03\x02\x02\x02\u015B\u015C\x03", "\x02\x02\x02\u015C\u015E\x03\x02\x02\x02\u015D\u015B\x03", "\x02\x02\x02\u015E\u015F\x078\x02\x02\u015F=\x03\x02", "\x02\x02\u0160\u0169\x05\x12\n\x02\u0161\u0169\x05.\x18", "\x02\u0162\u0169\x05:\x1E\x02\u0163\u0169\x05\n\x06\x02", "\u0164\u0169\x05\x1A\x0E\x02\u0165\u0169\x05\x1E\x10\x02", "\u0166\u0169\x05$\x13\x02\u0167\u0169\x05J&\x02\u0168\u0160", "\x03\x02\x02\x02\u0168\u0161\x03\x02\x02\x02\u0168\u0162", "\x03\x02\x02\x02\u0168\u0163\x03\x02\x02\x02\u0168\u0164", "\x03\x02\x02\x02\u0168\u0165\x03\x02\x02\x02\u0168\u0166", "\x03\x02\x02\x02\u0168\u0167\x03\x02\x02\x02\u0169?", "\x03\x02\x02\x02\u016A\u016B\x07+\x02\x02\u016B\u016C", "\x05Z.\x02\u016C\u0170\x077\x02\x02\u016D\u016F\x05B\"\x02", "\u016E\u016D\x03\x02\x02\x02\u016F\u0172\x03\x02\x02\x02", "\u0170\u016E\x03\x02\x02\x02\u0170\u0171\x03\x02\x02\x02", "\u0171\u0173\x03\x02\x02\x02\u0172\u0170\x03\x02\x02\x02", "\u0173\u0174\x078\x02\x02\u0174A\x03\x02\x02\x02\u0175", "\u0179\x05\n\x06\x02\u0176\u0179\x05D#\x02\u0177\u0179\x05", "J&\x02\u0178\u0175\x03\x02\x02\x02\u0178\u0176\x03\x02", "\x02\x02\u0178\u0177\x03\x02\x02\x02\u0179C\x03\x02", "\x02\x02\u017A\u017B\x07,\x02\x02\u017B\u017C\x05\\/\x02", "\u017C\u017E\x073\x02\x02\u017D\u017F\x07-\x02\x02\u017E", "\u017D\x03\x02\x02\x02\u017E\u017F\x03\x02\x02\x02\u017F", "\u0180\x03\x02\x02\x02\u0180\u0181\x05^0\x02\u0181\u0182", "\x074\x02\x02\u0182\u0183\x07.\x02\x02\u0183\u0185\x07", "3\x02\x02\u0184\u0186\x07-\x02\x02\u0185\u0184\x03\x02", "\x02\x02\u0185\u0186\x03\x02\x02\x02\u0186\u0187\x03\x02", "\x02\x02\u0187\u0188\x05^0\x02\u0188\u0193\x074\x02\x02", "\u0189\u018E\x077\x02\x02\u018A\u018D\x05\n\x06\x02\u018B", "\u018D\x05J&\x02\u018C\u018A\x03\x02\x02\x02\u018C\u018B", "\x03\x02\x02\x02\u018D\u0190\x03\x02\x02\x02\u018E\u018C", "\x03\x02\x02\x02\u018E\u018F\x03\x02\x02\x02\u018F\u0191", "\x03\x02\x02\x02\u0190\u018E\x03\x02\x02\x02\u0191\u0194", "\x078\x02\x02\u0192\u0194\x071\x02\x02\u0193\u0189\x03", "\x02\x02\x02\u0193\u0192\x03\x02\x02\x02\u0194E\x03", "\x02\x02\x02\u0195\u01A2\x05N(\x02\u0196\u0198\t\x07\x02", "\x02\u0197\u0196\x03\x02\x02\x02\u0197\u0198\x03\x02\x02", "\x02\u0198\u0199\x03\x02\x02\x02\u0199\u01A2\x05b2\x02", "\u019A\u019C\t\x07\x02\x02\u019B\u019A\x03\x02\x02\x02", "\u019B\u019C\x03\x02\x02\x02\u019C\u019D\x03\x02\x02\x02", "\u019D\u01A2\x05h5\x02\u019E\u01A2\x05d3\x02\u019F\u01A2\x05", "f4\x02\u01A0\u01A2\x05H%\x02\u01A1\u0195\x03\x02\x02\x02", "\u01A1\u0197\x03\x02\x02\x02\u01A1\u019B\x03\x02\x02\x02", "\u01A1\u019E\x03\x02\x02\x02\u01A1\u019F\x03\x02\x02\x02", "\u01A1\u01A0\x03\x02\x02\x02\u01A2G\x03\x02\x02\x02", "\u01A3\u01AA\x077\x02\x02\u01A4\u01A5\x05L'\x02\u01A5\u01A6", "\x07=\x02\x02\u01A6\u01A7\x05F$\x02\u01A7\u01A9\x03\x02", "\x02\x02\u01A8\u01A4\x03\x02\x02\x02\u01A9\u01AC\x03\x02", "\x02\x02\u01AA\u01A8\x03\x02\x02\x02\u01AA\u01AB\x03\x02", "\x02\x02\u01AB\u01AD\x03\x02\x02\x02\u01AC\u01AA\x03\x02", "\x02\x02\u01AD\u01AE\x078\x02\x02\u01AEI\x03\x02\x02", "\x02\u01AF\u01B0\x071\x02\x02\u01B0K\x03\x02\x02\x02", "\u01B1\u01B4\x07D\x02\x02\u01B2\u01B4\x05j6\x02\u01B3\u01B1", "\x03\x02\x02\x02\u01B3\u01B2\x03\x02\x02\x02\u01B4M", "\x03\x02\x02\x02\u01B5\u01BA\x05L'\x02\u01B6\u01B7\x07", ";\x02\x02\u01B7\u01B9\x05L'\x02\u01B8\u01B6\x03\x02\x02", "\x02\u01B9\u01BC\x03\x02\x02\x02\u01BA\u01B8\x03\x02\x02", "\x02\u01BA\u01BB\x03\x02\x02\x02\u01BBO\x03\x02\x02", "\x02\u01BC\u01BA\x03\x02\x02\x02\u01BD\u01BE\x05L'\x02", "\u01BEQ\x03\x02\x02\x02\u01BF\u01C0\x05L'\x02\u01C0S\x03", "\x02\x02\x02\u01C1\u01C2\x05L'\x02\u01C2U\x03\x02\x02", "\x02\u01C3\u01C4\x05L'\x02\u01C4W\x03\x02\x02\x02\u01C5", "\u01C6\x05L'\x02\u01C6Y\x03\x02\x02\x02\u01C7\u01C8\x05", "L'\x02\u01C8[\x03\x02\x02\x02\u01C9\u01CA\x05L'\x02", "\u01CA]\x03\x02\x02\x02\u01CB\u01CD\x07;\x02\x02\u01CC", "\u01CB\x03\x02\x02\x02\u01CC\u01CD\x03\x02\x02\x02\u01CD", "\u01D3\x03\x02\x02\x02\u01CE\u01CF\x05L'\x02\u01CF\u01D0", "\x07;\x02\x02\u01D0\u01D2\x03\x02\x02\x02\u01D1\u01CE", "\x03\x02\x02\x02\u01D2\u01D5\x03\x02\x02\x02\u01D3\u01D1", "\x03\x02\x02\x02\u01D3\u01D4\x03\x02\x02\x02\u01D4\u01D6", "\x03\x02\x02\x02\u01D5\u01D3\x03\x02\x02\x02\u01D6\u01D7", "\x05P)\x02\u01D7_\x03\x02\x02\x02\u01D8\u01DA\x07;\x02", "\x02\u01D9\u01D8\x03\x02\x02\x02\u01D9\u01DA\x03\x02\x02", "\x02\u01DA\u01E0\x03\x02\x02\x02\u01DB\u01DC\x05L'\x02", "\u01DC\u01DD\x07;\x02\x02\u01DD\u01DF\x03\x02\x02\x02", "\u01DE\u01DB\x03\x02\x02\x02\u01DF\u01E2\x03\x02\x02\x02", "\u01E0\u01DE\x03\x02\x02\x02\u01E0\u01E1\x03\x02\x02\x02", "\u01E1\u01E3\x03\x02\x02\x02\u01E2\u01E0\x03\x02\x02\x02", "\u01E3\u01E4\x05R*\x02\u01E4a\x03\x02\x02\x02\u01E5\u01E6", "\x07C\x02\x02\u01E6c\x03\x02\x02\x02\u01E7\u01E8\t\b\x02", "\x02\u01E8e\x03\x02\x02\x02\u01E9\u01EA\x07A\x02\x02", "\u01EAg\x03\x02\x02\x02\u01EB\u01EC\x07B\x02\x02\u01EC", "i\x03\x02\x02\x02\u01ED\u01EE\t\t\x02\x02\u01EEk\x03\x02", "\x02\x02/su\x7F\x94\x96\x9E\xA2\xA7\xB1\xBA\xC9", "\xCB\xD8\xE9\u0100\u0105\u010E\u0115\u0117\u011E\u0124\u012E\u0137", "\u013C\u0140\u014A\u015B\u0168\u0170\u0178\u017E\u0185\u018C\u018E\u0193", "\u0197\u019B\u01A1\u01AA\u01B3\u01BA\u01CC\u01D3\u01D9\u01E0"].join("");
39
39
  var atn = new _antlr["default"].atn.ATNDeserializer().deserialize(serializedATN);
40
40
  var decisionsToDFA = atn.decisionToState.map(function (ds, index) {
41
41
  return new _antlr["default"].dfa.DFA(ds, index);
@@ -82,7 +82,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
82
82
 
83
83
  _la = this._input.LA(1);
84
84
 
85
- while ((_la & ~0x1f) == 0 && (1 << _la & (1 << Protobuf3Parser.IMPORT | 1 << Protobuf3Parser.EXTEND | 1 << Protobuf3Parser.PACKAGE | 1 << Protobuf3Parser.OPTION)) !== 0 || (_la - 38 & ~0x1f) == 0 && (1 << _la - 38 & (1 << Protobuf3Parser.ENUM - 38 | 1 << Protobuf3Parser.MESSAGE - 38 | 1 << Protobuf3Parser.SERVICE - 38 | 1 << Protobuf3Parser.SEMI - 38)) !== 0) {
85
+ while ((_la & ~0x1f) == 0 && (1 << _la & (1 << Protobuf3Parser.IMPORT | 1 << Protobuf3Parser.EXTEND | 1 << Protobuf3Parser.PACKAGE | 1 << Protobuf3Parser.OPTION)) !== 0 || (_la - 39 & ~0x1f) == 0 && (1 << _la - 39 & (1 << Protobuf3Parser.ENUM - 39 | 1 << Protobuf3Parser.MESSAGE - 39 | 1 << Protobuf3Parser.SERVICE - 39 | 1 << Protobuf3Parser.SEMI - 39)) !== 0) {
86
86
  this.state = 113;
87
87
 
88
88
  this._errHandler.sync(this);
@@ -322,6 +322,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
322
322
  case Protobuf3Parser.PACKAGE:
323
323
  case Protobuf3Parser.OPTION:
324
324
  case Protobuf3Parser.REPEATED:
325
+ case Protobuf3Parser.OPTIONAL:
325
326
  case Protobuf3Parser.ONEOF:
326
327
  case Protobuf3Parser.MAP:
327
328
  case Protobuf3Parser.INT32:
@@ -426,7 +427,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
426
427
  this._errHandler.sync(this);
427
428
 
428
429
  _la = this._input.LA(1);
429
- } while ((_la - 10 & ~0x1f) == 0 && (1 << _la - 10 & (1 << Protobuf3Parser.SYNTAX - 10 | 1 << Protobuf3Parser.IMPORT - 10 | 1 << Protobuf3Parser.WEAK - 10 | 1 << Protobuf3Parser.PUBLIC - 10 | 1 << Protobuf3Parser.PACKAGE - 10 | 1 << Protobuf3Parser.OPTION - 10 | 1 << Protobuf3Parser.REPEATED - 10 | 1 << Protobuf3Parser.ONEOF - 10 | 1 << Protobuf3Parser.MAP - 10 | 1 << Protobuf3Parser.INT32 - 10 | 1 << Protobuf3Parser.INT64 - 10 | 1 << Protobuf3Parser.UINT32 - 10 | 1 << Protobuf3Parser.UINT64 - 10 | 1 << Protobuf3Parser.SINT32 - 10 | 1 << Protobuf3Parser.SINT64 - 10 | 1 << Protobuf3Parser.FIXED32 - 10 | 1 << Protobuf3Parser.FIXED64 - 10 | 1 << Protobuf3Parser.SFIXED32 - 10 | 1 << Protobuf3Parser.SFIXED64 - 10 | 1 << Protobuf3Parser.BOOL - 10 | 1 << Protobuf3Parser.STRING - 10 | 1 << Protobuf3Parser.DOUBLE - 10 | 1 << Protobuf3Parser.FLOAT - 10 | 1 << Protobuf3Parser.BYTES - 10 | 1 << Protobuf3Parser.RESERVED - 10 | 1 << Protobuf3Parser.TO - 10 | 1 << Protobuf3Parser.MAX - 10 | 1 << Protobuf3Parser.ENUM - 10 | 1 << Protobuf3Parser.MESSAGE - 10 | 1 << Protobuf3Parser.SERVICE - 10 | 1 << Protobuf3Parser.RPC - 10)) !== 0 || (_la - 42 & ~0x1f) == 0 && (1 << _la - 42 & (1 << Protobuf3Parser.STREAM - 42 | 1 << Protobuf3Parser.RETURNS - 42 | 1 << Protobuf3Parser.DOT - 42 | 1 << Protobuf3Parser.BOOL_LIT - 42 | 1 << Protobuf3Parser.IDENTIFIER - 42)) !== 0);
430
+ } while ((_la - 10 & ~0x1f) == 0 && (1 << _la - 10 & (1 << Protobuf3Parser.SYNTAX - 10 | 1 << Protobuf3Parser.IMPORT - 10 | 1 << Protobuf3Parser.WEAK - 10 | 1 << Protobuf3Parser.PUBLIC - 10 | 1 << Protobuf3Parser.PACKAGE - 10 | 1 << Protobuf3Parser.OPTION - 10 | 1 << Protobuf3Parser.REPEATED - 10 | 1 << Protobuf3Parser.OPTIONAL - 10 | 1 << Protobuf3Parser.ONEOF - 10 | 1 << Protobuf3Parser.MAP - 10 | 1 << Protobuf3Parser.INT32 - 10 | 1 << Protobuf3Parser.INT64 - 10 | 1 << Protobuf3Parser.UINT32 - 10 | 1 << Protobuf3Parser.UINT64 - 10 | 1 << Protobuf3Parser.SINT32 - 10 | 1 << Protobuf3Parser.SINT64 - 10 | 1 << Protobuf3Parser.FIXED32 - 10 | 1 << Protobuf3Parser.FIXED64 - 10 | 1 << Protobuf3Parser.SFIXED32 - 10 | 1 << Protobuf3Parser.SFIXED64 - 10 | 1 << Protobuf3Parser.BOOL - 10 | 1 << Protobuf3Parser.STRING - 10 | 1 << Protobuf3Parser.DOUBLE - 10 | 1 << Protobuf3Parser.FLOAT - 10 | 1 << Protobuf3Parser.BYTES - 10 | 1 << Protobuf3Parser.RESERVED - 10 | 1 << Protobuf3Parser.TO - 10 | 1 << Protobuf3Parser.MAX - 10 | 1 << Protobuf3Parser.ENUM - 10 | 1 << Protobuf3Parser.MESSAGE - 10 | 1 << Protobuf3Parser.SERVICE - 10)) !== 0 || (_la - 42 & ~0x1f) == 0 && (1 << _la - 42 & (1 << Protobuf3Parser.RPC - 42 | 1 << Protobuf3Parser.STREAM - 42 | 1 << Protobuf3Parser.RETURNS - 42 | 1 << Protobuf3Parser.DOT - 42 | 1 << Protobuf3Parser.BOOL_LIT - 42 | 1 << Protobuf3Parser.IDENTIFIER - 42)) !== 0);
430
431
 
431
432
  this.state = 158;
432
433
  this.match(Protobuf3Parser.RC);
@@ -508,7 +509,15 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
508
509
 
509
510
  if (la_ === 1) {
510
511
  this.state = 164;
511
- this.match(Protobuf3Parser.REPEATED);
512
+ _la = this._input.LA(1);
513
+
514
+ if (!(_la === Protobuf3Parser.REPEATED || _la === Protobuf3Parser.OPTIONAL)) {
515
+ this._errHandler.recoverInline(this);
516
+ } else {
517
+ this._errHandler.reportMatch(this);
518
+
519
+ this.consume();
520
+ }
512
521
  }
513
522
 
514
523
  this.state = 167;
@@ -673,7 +682,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
673
682
 
674
683
  _la = this._input.LA(1);
675
684
 
676
- while ((_la - 10 & ~0x1f) == 0 && (1 << _la - 10 & (1 << Protobuf3Parser.SYNTAX - 10 | 1 << Protobuf3Parser.IMPORT - 10 | 1 << Protobuf3Parser.WEAK - 10 | 1 << Protobuf3Parser.PUBLIC - 10 | 1 << Protobuf3Parser.PACKAGE - 10 | 1 << Protobuf3Parser.OPTION - 10 | 1 << Protobuf3Parser.REPEATED - 10 | 1 << Protobuf3Parser.ONEOF - 10 | 1 << Protobuf3Parser.MAP - 10 | 1 << Protobuf3Parser.INT32 - 10 | 1 << Protobuf3Parser.INT64 - 10 | 1 << Protobuf3Parser.UINT32 - 10 | 1 << Protobuf3Parser.UINT64 - 10 | 1 << Protobuf3Parser.SINT32 - 10 | 1 << Protobuf3Parser.SINT64 - 10 | 1 << Protobuf3Parser.FIXED32 - 10 | 1 << Protobuf3Parser.FIXED64 - 10 | 1 << Protobuf3Parser.SFIXED32 - 10 | 1 << Protobuf3Parser.SFIXED64 - 10 | 1 << Protobuf3Parser.BOOL - 10 | 1 << Protobuf3Parser.STRING - 10 | 1 << Protobuf3Parser.DOUBLE - 10 | 1 << Protobuf3Parser.FLOAT - 10 | 1 << Protobuf3Parser.BYTES - 10 | 1 << Protobuf3Parser.RESERVED - 10 | 1 << Protobuf3Parser.TO - 10 | 1 << Protobuf3Parser.MAX - 10 | 1 << Protobuf3Parser.ENUM - 10 | 1 << Protobuf3Parser.MESSAGE - 10 | 1 << Protobuf3Parser.SERVICE - 10 | 1 << Protobuf3Parser.RPC - 10)) !== 0 || (_la - 42 & ~0x1f) == 0 && (1 << _la - 42 & (1 << Protobuf3Parser.STREAM - 42 | 1 << Protobuf3Parser.RETURNS - 42 | 1 << Protobuf3Parser.SEMI - 42 | 1 << Protobuf3Parser.DOT - 42 | 1 << Protobuf3Parser.BOOL_LIT - 42 | 1 << Protobuf3Parser.IDENTIFIER - 42)) !== 0) {
685
+ while ((_la - 10 & ~0x1f) == 0 && (1 << _la - 10 & (1 << Protobuf3Parser.SYNTAX - 10 | 1 << Protobuf3Parser.IMPORT - 10 | 1 << Protobuf3Parser.WEAK - 10 | 1 << Protobuf3Parser.PUBLIC - 10 | 1 << Protobuf3Parser.PACKAGE - 10 | 1 << Protobuf3Parser.OPTION - 10 | 1 << Protobuf3Parser.REPEATED - 10 | 1 << Protobuf3Parser.OPTIONAL - 10 | 1 << Protobuf3Parser.ONEOF - 10 | 1 << Protobuf3Parser.MAP - 10 | 1 << Protobuf3Parser.INT32 - 10 | 1 << Protobuf3Parser.INT64 - 10 | 1 << Protobuf3Parser.UINT32 - 10 | 1 << Protobuf3Parser.UINT64 - 10 | 1 << Protobuf3Parser.SINT32 - 10 | 1 << Protobuf3Parser.SINT64 - 10 | 1 << Protobuf3Parser.FIXED32 - 10 | 1 << Protobuf3Parser.FIXED64 - 10 | 1 << Protobuf3Parser.SFIXED32 - 10 | 1 << Protobuf3Parser.SFIXED64 - 10 | 1 << Protobuf3Parser.BOOL - 10 | 1 << Protobuf3Parser.STRING - 10 | 1 << Protobuf3Parser.DOUBLE - 10 | 1 << Protobuf3Parser.FLOAT - 10 | 1 << Protobuf3Parser.BYTES - 10 | 1 << Protobuf3Parser.RESERVED - 10 | 1 << Protobuf3Parser.TO - 10 | 1 << Protobuf3Parser.MAX - 10 | 1 << Protobuf3Parser.ENUM - 10 | 1 << Protobuf3Parser.MESSAGE - 10 | 1 << Protobuf3Parser.SERVICE - 10)) !== 0 || (_la - 42 & ~0x1f) == 0 && (1 << _la - 42 & (1 << Protobuf3Parser.RPC - 42 | 1 << Protobuf3Parser.STREAM - 42 | 1 << Protobuf3Parser.RETURNS - 42 | 1 << Protobuf3Parser.SEMI - 42 | 1 << Protobuf3Parser.DOT - 42 | 1 << Protobuf3Parser.BOOL_LIT - 42 | 1 << Protobuf3Parser.IDENTIFIER - 42)) !== 0) {
677
686
  this.state = 199;
678
687
 
679
688
  this._errHandler.sync(this);
@@ -844,7 +853,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
844
853
  this.state = 235;
845
854
  _la = this._input.LA(1);
846
855
 
847
- if (!((_la & ~0x1f) == 0 && (1 << _la & (1 << Protobuf3Parser.INT32 | 1 << Protobuf3Parser.INT64 | 1 << Protobuf3Parser.UINT32 | 1 << Protobuf3Parser.UINT64 | 1 << Protobuf3Parser.SINT32 | 1 << Protobuf3Parser.SINT64 | 1 << Protobuf3Parser.FIXED32 | 1 << Protobuf3Parser.FIXED64 | 1 << Protobuf3Parser.SFIXED32 | 1 << Protobuf3Parser.SFIXED64 | 1 << Protobuf3Parser.BOOL | 1 << Protobuf3Parser.STRING)) !== 0)) {
856
+ if (!((_la - 21 & ~0x1f) == 0 && (1 << _la - 21 & (1 << Protobuf3Parser.INT32 - 21 | 1 << Protobuf3Parser.INT64 - 21 | 1 << Protobuf3Parser.UINT32 - 21 | 1 << Protobuf3Parser.UINT64 - 21 | 1 << Protobuf3Parser.SINT32 - 21 | 1 << Protobuf3Parser.SINT64 - 21 | 1 << Protobuf3Parser.FIXED32 - 21 | 1 << Protobuf3Parser.FIXED64 - 21 | 1 << Protobuf3Parser.SFIXED32 - 21 | 1 << Protobuf3Parser.SFIXED64 - 21 | 1 << Protobuf3Parser.BOOL - 21 | 1 << Protobuf3Parser.STRING - 21)) !== 0)) {
848
857
  this._errHandler.recoverInline(this);
849
858
  } else {
850
859
  this._errHandler.reportMatch(this);
@@ -1287,7 +1296,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1287
1296
 
1288
1297
  _la = this._input.LA(1);
1289
1298
 
1290
- while ((_la - 10 & ~0x1f) == 0 && (1 << _la - 10 & (1 << Protobuf3Parser.SYNTAX - 10 | 1 << Protobuf3Parser.IMPORT - 10 | 1 << Protobuf3Parser.WEAK - 10 | 1 << Protobuf3Parser.PUBLIC - 10 | 1 << Protobuf3Parser.PACKAGE - 10 | 1 << Protobuf3Parser.OPTION - 10 | 1 << Protobuf3Parser.REPEATED - 10 | 1 << Protobuf3Parser.ONEOF - 10 | 1 << Protobuf3Parser.MAP - 10 | 1 << Protobuf3Parser.INT32 - 10 | 1 << Protobuf3Parser.INT64 - 10 | 1 << Protobuf3Parser.UINT32 - 10 | 1 << Protobuf3Parser.UINT64 - 10 | 1 << Protobuf3Parser.SINT32 - 10 | 1 << Protobuf3Parser.SINT64 - 10 | 1 << Protobuf3Parser.FIXED32 - 10 | 1 << Protobuf3Parser.FIXED64 - 10 | 1 << Protobuf3Parser.SFIXED32 - 10 | 1 << Protobuf3Parser.SFIXED64 - 10 | 1 << Protobuf3Parser.BOOL - 10 | 1 << Protobuf3Parser.STRING - 10 | 1 << Protobuf3Parser.DOUBLE - 10 | 1 << Protobuf3Parser.FLOAT - 10 | 1 << Protobuf3Parser.BYTES - 10 | 1 << Protobuf3Parser.RESERVED - 10 | 1 << Protobuf3Parser.TO - 10 | 1 << Protobuf3Parser.MAX - 10 | 1 << Protobuf3Parser.ENUM - 10 | 1 << Protobuf3Parser.MESSAGE - 10 | 1 << Protobuf3Parser.SERVICE - 10 | 1 << Protobuf3Parser.RPC - 10)) !== 0 || (_la - 42 & ~0x1f) == 0 && (1 << _la - 42 & (1 << Protobuf3Parser.STREAM - 42 | 1 << Protobuf3Parser.RETURNS - 42 | 1 << Protobuf3Parser.SEMI - 42 | 1 << Protobuf3Parser.BOOL_LIT - 42 | 1 << Protobuf3Parser.IDENTIFIER - 42)) !== 0) {
1299
+ while ((_la - 10 & ~0x1f) == 0 && (1 << _la - 10 & (1 << Protobuf3Parser.SYNTAX - 10 | 1 << Protobuf3Parser.IMPORT - 10 | 1 << Protobuf3Parser.WEAK - 10 | 1 << Protobuf3Parser.PUBLIC - 10 | 1 << Protobuf3Parser.PACKAGE - 10 | 1 << Protobuf3Parser.OPTION - 10 | 1 << Protobuf3Parser.REPEATED - 10 | 1 << Protobuf3Parser.OPTIONAL - 10 | 1 << Protobuf3Parser.ONEOF - 10 | 1 << Protobuf3Parser.MAP - 10 | 1 << Protobuf3Parser.INT32 - 10 | 1 << Protobuf3Parser.INT64 - 10 | 1 << Protobuf3Parser.UINT32 - 10 | 1 << Protobuf3Parser.UINT64 - 10 | 1 << Protobuf3Parser.SINT32 - 10 | 1 << Protobuf3Parser.SINT64 - 10 | 1 << Protobuf3Parser.FIXED32 - 10 | 1 << Protobuf3Parser.FIXED64 - 10 | 1 << Protobuf3Parser.SFIXED32 - 10 | 1 << Protobuf3Parser.SFIXED64 - 10 | 1 << Protobuf3Parser.BOOL - 10 | 1 << Protobuf3Parser.STRING - 10 | 1 << Protobuf3Parser.DOUBLE - 10 | 1 << Protobuf3Parser.FLOAT - 10 | 1 << Protobuf3Parser.BYTES - 10 | 1 << Protobuf3Parser.RESERVED - 10 | 1 << Protobuf3Parser.TO - 10 | 1 << Protobuf3Parser.MAX - 10 | 1 << Protobuf3Parser.ENUM - 10 | 1 << Protobuf3Parser.MESSAGE - 10 | 1 << Protobuf3Parser.SERVICE - 10)) !== 0 || (_la - 42 & ~0x1f) == 0 && (1 << _la - 42 & (1 << Protobuf3Parser.RPC - 42 | 1 << Protobuf3Parser.STREAM - 42 | 1 << Protobuf3Parser.RETURNS - 42 | 1 << Protobuf3Parser.SEMI - 42 | 1 << Protobuf3Parser.BOOL_LIT - 42 | 1 << Protobuf3Parser.IDENTIFIER - 42)) !== 0) {
1291
1300
  this.state = 297;
1292
1301
  this.enumElement();
1293
1302
  this.state = 302;
@@ -1322,7 +1331,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1322
1331
  this.enterRule(localctx, 48, Protobuf3Parser.RULE_enumElement);
1323
1332
 
1324
1333
  try {
1325
- this.state = 308;
1334
+ this.state = 309;
1326
1335
 
1327
1336
  this._errHandler.sync(this);
1328
1337
 
@@ -1344,6 +1353,12 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1344
1353
  case 3:
1345
1354
  this.enterOuterAlt(localctx, 3);
1346
1355
  this.state = 307;
1356
+ this.reserved();
1357
+ break;
1358
+
1359
+ case 4:
1360
+ this.enterOuterAlt(localctx, 4);
1361
+ this.state = 308;
1347
1362
  this.emptyStatement();
1348
1363
  break;
1349
1364
  }
@@ -1372,35 +1387,35 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1372
1387
 
1373
1388
  try {
1374
1389
  this.enterOuterAlt(localctx, 1);
1375
- this.state = 310;
1376
- this.ident();
1377
1390
  this.state = 311;
1391
+ this.ident();
1392
+ this.state = 312;
1378
1393
  this.match(Protobuf3Parser.EQ);
1379
- this.state = 313;
1394
+ this.state = 314;
1380
1395
 
1381
1396
  this._errHandler.sync(this);
1382
1397
 
1383
1398
  _la = this._input.LA(1);
1384
1399
 
1385
1400
  if (_la === Protobuf3Parser.MINUS) {
1386
- this.state = 312;
1401
+ this.state = 313;
1387
1402
  this.match(Protobuf3Parser.MINUS);
1388
1403
  }
1389
1404
 
1390
- this.state = 315;
1405
+ this.state = 316;
1391
1406
  this.intLit();
1392
- this.state = 317;
1407
+ this.state = 318;
1393
1408
 
1394
1409
  this._errHandler.sync(this);
1395
1410
 
1396
1411
  _la = this._input.LA(1);
1397
1412
 
1398
1413
  if (_la === Protobuf3Parser.LB) {
1399
- this.state = 316;
1414
+ this.state = 317;
1400
1415
  this.enumValueOptions();
1401
1416
  }
1402
1417
 
1403
- this.state = 319;
1418
+ this.state = 320;
1404
1419
  this.match(Protobuf3Parser.SEMI);
1405
1420
  } catch (re) {
1406
1421
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -1427,29 +1442,29 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1427
1442
 
1428
1443
  try {
1429
1444
  this.enterOuterAlt(localctx, 1);
1430
- this.state = 321;
1431
- this.match(Protobuf3Parser.LB);
1432
1445
  this.state = 322;
1446
+ this.match(Protobuf3Parser.LB);
1447
+ this.state = 323;
1433
1448
  this.enumValueOption();
1434
- this.state = 327;
1449
+ this.state = 328;
1435
1450
 
1436
1451
  this._errHandler.sync(this);
1437
1452
 
1438
1453
  _la = this._input.LA(1);
1439
1454
 
1440
1455
  while (_la === Protobuf3Parser.COMMA) {
1441
- this.state = 323;
1442
- this.match(Protobuf3Parser.COMMA);
1443
1456
  this.state = 324;
1457
+ this.match(Protobuf3Parser.COMMA);
1458
+ this.state = 325;
1444
1459
  this.enumValueOption();
1445
- this.state = 329;
1460
+ this.state = 330;
1446
1461
 
1447
1462
  this._errHandler.sync(this);
1448
1463
 
1449
1464
  _la = this._input.LA(1);
1450
1465
  }
1451
1466
 
1452
- this.state = 330;
1467
+ this.state = 331;
1453
1468
  this.match(Protobuf3Parser.RB);
1454
1469
  } catch (re) {
1455
1470
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -1475,11 +1490,11 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1475
1490
 
1476
1491
  try {
1477
1492
  this.enterOuterAlt(localctx, 1);
1478
- this.state = 332;
1479
- this.optionName();
1480
1493
  this.state = 333;
1481
- this.match(Protobuf3Parser.EQ);
1494
+ this.optionName();
1482
1495
  this.state = 334;
1496
+ this.match(Protobuf3Parser.EQ);
1497
+ this.state = 335;
1483
1498
  this.constant();
1484
1499
  } catch (re) {
1485
1500
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -1505,11 +1520,11 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1505
1520
 
1506
1521
  try {
1507
1522
  this.enterOuterAlt(localctx, 1);
1508
- this.state = 336;
1509
- this.match(Protobuf3Parser.MESSAGE);
1510
1523
  this.state = 337;
1511
- this.messageName();
1524
+ this.match(Protobuf3Parser.MESSAGE);
1512
1525
  this.state = 338;
1526
+ this.messageName();
1527
+ this.state = 339;
1513
1528
  this.messageBody();
1514
1529
  } catch (re) {
1515
1530
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -1536,25 +1551,25 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1536
1551
 
1537
1552
  try {
1538
1553
  this.enterOuterAlt(localctx, 1);
1539
- this.state = 340;
1554
+ this.state = 341;
1540
1555
  this.match(Protobuf3Parser.LC);
1541
- this.state = 344;
1556
+ this.state = 345;
1542
1557
 
1543
1558
  this._errHandler.sync(this);
1544
1559
 
1545
1560
  _la = this._input.LA(1);
1546
1561
 
1547
- while ((_la - 10 & ~0x1f) == 0 && (1 << _la - 10 & (1 << Protobuf3Parser.SYNTAX - 10 | 1 << Protobuf3Parser.IMPORT - 10 | 1 << Protobuf3Parser.WEAK - 10 | 1 << Protobuf3Parser.PUBLIC - 10 | 1 << Protobuf3Parser.PACKAGE - 10 | 1 << Protobuf3Parser.OPTION - 10 | 1 << Protobuf3Parser.REPEATED - 10 | 1 << Protobuf3Parser.ONEOF - 10 | 1 << Protobuf3Parser.MAP - 10 | 1 << Protobuf3Parser.INT32 - 10 | 1 << Protobuf3Parser.INT64 - 10 | 1 << Protobuf3Parser.UINT32 - 10 | 1 << Protobuf3Parser.UINT64 - 10 | 1 << Protobuf3Parser.SINT32 - 10 | 1 << Protobuf3Parser.SINT64 - 10 | 1 << Protobuf3Parser.FIXED32 - 10 | 1 << Protobuf3Parser.FIXED64 - 10 | 1 << Protobuf3Parser.SFIXED32 - 10 | 1 << Protobuf3Parser.SFIXED64 - 10 | 1 << Protobuf3Parser.BOOL - 10 | 1 << Protobuf3Parser.STRING - 10 | 1 << Protobuf3Parser.DOUBLE - 10 | 1 << Protobuf3Parser.FLOAT - 10 | 1 << Protobuf3Parser.BYTES - 10 | 1 << Protobuf3Parser.RESERVED - 10 | 1 << Protobuf3Parser.TO - 10 | 1 << Protobuf3Parser.MAX - 10 | 1 << Protobuf3Parser.ENUM - 10 | 1 << Protobuf3Parser.MESSAGE - 10 | 1 << Protobuf3Parser.SERVICE - 10 | 1 << Protobuf3Parser.RPC - 10)) !== 0 || (_la - 42 & ~0x1f) == 0 && (1 << _la - 42 & (1 << Protobuf3Parser.STREAM - 42 | 1 << Protobuf3Parser.RETURNS - 42 | 1 << Protobuf3Parser.SEMI - 42 | 1 << Protobuf3Parser.DOT - 42 | 1 << Protobuf3Parser.BOOL_LIT - 42 | 1 << Protobuf3Parser.IDENTIFIER - 42)) !== 0) {
1548
- this.state = 341;
1562
+ while ((_la - 10 & ~0x1f) == 0 && (1 << _la - 10 & (1 << Protobuf3Parser.SYNTAX - 10 | 1 << Protobuf3Parser.IMPORT - 10 | 1 << Protobuf3Parser.WEAK - 10 | 1 << Protobuf3Parser.PUBLIC - 10 | 1 << Protobuf3Parser.PACKAGE - 10 | 1 << Protobuf3Parser.OPTION - 10 | 1 << Protobuf3Parser.REPEATED - 10 | 1 << Protobuf3Parser.OPTIONAL - 10 | 1 << Protobuf3Parser.ONEOF - 10 | 1 << Protobuf3Parser.MAP - 10 | 1 << Protobuf3Parser.INT32 - 10 | 1 << Protobuf3Parser.INT64 - 10 | 1 << Protobuf3Parser.UINT32 - 10 | 1 << Protobuf3Parser.UINT64 - 10 | 1 << Protobuf3Parser.SINT32 - 10 | 1 << Protobuf3Parser.SINT64 - 10 | 1 << Protobuf3Parser.FIXED32 - 10 | 1 << Protobuf3Parser.FIXED64 - 10 | 1 << Protobuf3Parser.SFIXED32 - 10 | 1 << Protobuf3Parser.SFIXED64 - 10 | 1 << Protobuf3Parser.BOOL - 10 | 1 << Protobuf3Parser.STRING - 10 | 1 << Protobuf3Parser.DOUBLE - 10 | 1 << Protobuf3Parser.FLOAT - 10 | 1 << Protobuf3Parser.BYTES - 10 | 1 << Protobuf3Parser.RESERVED - 10 | 1 << Protobuf3Parser.TO - 10 | 1 << Protobuf3Parser.MAX - 10 | 1 << Protobuf3Parser.ENUM - 10 | 1 << Protobuf3Parser.MESSAGE - 10 | 1 << Protobuf3Parser.SERVICE - 10)) !== 0 || (_la - 42 & ~0x1f) == 0 && (1 << _la - 42 & (1 << Protobuf3Parser.RPC - 42 | 1 << Protobuf3Parser.STREAM - 42 | 1 << Protobuf3Parser.RETURNS - 42 | 1 << Protobuf3Parser.SEMI - 42 | 1 << Protobuf3Parser.DOT - 42 | 1 << Protobuf3Parser.BOOL_LIT - 42 | 1 << Protobuf3Parser.IDENTIFIER - 42)) !== 0) {
1563
+ this.state = 342;
1549
1564
  this.messageElement();
1550
- this.state = 346;
1565
+ this.state = 347;
1551
1566
 
1552
1567
  this._errHandler.sync(this);
1553
1568
 
1554
1569
  _la = this._input.LA(1);
1555
1570
  }
1556
1571
 
1557
- this.state = 347;
1572
+ this.state = 348;
1558
1573
  this.match(Protobuf3Parser.RC);
1559
1574
  } catch (re) {
1560
1575
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -1579,7 +1594,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1579
1594
  this.enterRule(localctx, 60, Protobuf3Parser.RULE_messageElement);
1580
1595
 
1581
1596
  try {
1582
- this.state = 357;
1597
+ this.state = 358;
1583
1598
 
1584
1599
  this._errHandler.sync(this);
1585
1600
 
@@ -1588,49 +1603,49 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1588
1603
  switch (la_) {
1589
1604
  case 1:
1590
1605
  this.enterOuterAlt(localctx, 1);
1591
- this.state = 349;
1606
+ this.state = 350;
1592
1607
  this.field();
1593
1608
  break;
1594
1609
 
1595
1610
  case 2:
1596
1611
  this.enterOuterAlt(localctx, 2);
1597
- this.state = 350;
1612
+ this.state = 351;
1598
1613
  this.enumDef();
1599
1614
  break;
1600
1615
 
1601
1616
  case 3:
1602
1617
  this.enterOuterAlt(localctx, 3);
1603
- this.state = 351;
1618
+ this.state = 352;
1604
1619
  this.messageDef();
1605
1620
  break;
1606
1621
 
1607
1622
  case 4:
1608
1623
  this.enterOuterAlt(localctx, 4);
1609
- this.state = 352;
1624
+ this.state = 353;
1610
1625
  this.optionStatement();
1611
1626
  break;
1612
1627
 
1613
1628
  case 5:
1614
1629
  this.enterOuterAlt(localctx, 5);
1615
- this.state = 353;
1630
+ this.state = 354;
1616
1631
  this.oneof();
1617
1632
  break;
1618
1633
 
1619
1634
  case 6:
1620
1635
  this.enterOuterAlt(localctx, 6);
1621
- this.state = 354;
1636
+ this.state = 355;
1622
1637
  this.mapField();
1623
1638
  break;
1624
1639
 
1625
1640
  case 7:
1626
1641
  this.enterOuterAlt(localctx, 7);
1627
- this.state = 355;
1642
+ this.state = 356;
1628
1643
  this.reserved();
1629
1644
  break;
1630
1645
 
1631
1646
  case 8:
1632
1647
  this.enterOuterAlt(localctx, 8);
1633
- this.state = 356;
1648
+ this.state = 357;
1634
1649
  this.emptyStatement();
1635
1650
  break;
1636
1651
  }
@@ -1659,29 +1674,29 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1659
1674
 
1660
1675
  try {
1661
1676
  this.enterOuterAlt(localctx, 1);
1662
- this.state = 359;
1663
- this.match(Protobuf3Parser.SERVICE);
1664
1677
  this.state = 360;
1665
- this.serviceName();
1678
+ this.match(Protobuf3Parser.SERVICE);
1666
1679
  this.state = 361;
1680
+ this.serviceName();
1681
+ this.state = 362;
1667
1682
  this.match(Protobuf3Parser.LC);
1668
- this.state = 365;
1683
+ this.state = 366;
1669
1684
 
1670
1685
  this._errHandler.sync(this);
1671
1686
 
1672
1687
  _la = this._input.LA(1);
1673
1688
 
1674
1689
  while ((_la - 16 & ~0x1f) == 0 && (1 << _la - 16 & (1 << Protobuf3Parser.OPTION - 16 | 1 << Protobuf3Parser.RPC - 16 | 1 << Protobuf3Parser.SEMI - 16)) !== 0) {
1675
- this.state = 362;
1690
+ this.state = 363;
1676
1691
  this.serviceElement();
1677
- this.state = 367;
1692
+ this.state = 368;
1678
1693
 
1679
1694
  this._errHandler.sync(this);
1680
1695
 
1681
1696
  _la = this._input.LA(1);
1682
1697
  }
1683
1698
 
1684
- this.state = 368;
1699
+ this.state = 369;
1685
1700
  this.match(Protobuf3Parser.RC);
1686
1701
  } catch (re) {
1687
1702
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -1706,26 +1721,26 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1706
1721
  this.enterRule(localctx, 64, Protobuf3Parser.RULE_serviceElement);
1707
1722
 
1708
1723
  try {
1709
- this.state = 373;
1724
+ this.state = 374;
1710
1725
 
1711
1726
  this._errHandler.sync(this);
1712
1727
 
1713
1728
  switch (this._input.LA(1)) {
1714
1729
  case Protobuf3Parser.OPTION:
1715
1730
  this.enterOuterAlt(localctx, 1);
1716
- this.state = 370;
1731
+ this.state = 371;
1717
1732
  this.optionStatement();
1718
1733
  break;
1719
1734
 
1720
1735
  case Protobuf3Parser.RPC:
1721
1736
  this.enterOuterAlt(localctx, 2);
1722
- this.state = 371;
1737
+ this.state = 372;
1723
1738
  this.rpc();
1724
1739
  break;
1725
1740
 
1726
1741
  case Protobuf3Parser.SEMI:
1727
1742
  this.enterOuterAlt(localctx, 3);
1728
- this.state = 372;
1743
+ this.state = 373;
1729
1744
  this.emptyStatement();
1730
1745
  break;
1731
1746
 
@@ -1757,73 +1772,73 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1757
1772
 
1758
1773
  try {
1759
1774
  this.enterOuterAlt(localctx, 1);
1760
- this.state = 375;
1761
- this.match(Protobuf3Parser.RPC);
1762
1775
  this.state = 376;
1763
- this.rpcName();
1776
+ this.match(Protobuf3Parser.RPC);
1764
1777
  this.state = 377;
1778
+ this.rpcName();
1779
+ this.state = 378;
1765
1780
  this.match(Protobuf3Parser.LP);
1766
- this.state = 379;
1781
+ this.state = 380;
1767
1782
 
1768
1783
  this._errHandler.sync(this);
1769
1784
 
1770
1785
  var la_ = this._interp.adaptivePredict(this._input, 30, this._ctx);
1771
1786
 
1772
1787
  if (la_ === 1) {
1773
- this.state = 378;
1788
+ this.state = 379;
1774
1789
  this.match(Protobuf3Parser.STREAM);
1775
1790
  }
1776
1791
 
1777
- this.state = 381;
1778
- this.messageType();
1779
1792
  this.state = 382;
1780
- this.match(Protobuf3Parser.RP);
1793
+ this.messageType();
1781
1794
  this.state = 383;
1782
- this.match(Protobuf3Parser.RETURNS);
1795
+ this.match(Protobuf3Parser.RP);
1783
1796
  this.state = 384;
1797
+ this.match(Protobuf3Parser.RETURNS);
1798
+ this.state = 385;
1784
1799
  this.match(Protobuf3Parser.LP);
1785
- this.state = 386;
1800
+ this.state = 387;
1786
1801
 
1787
1802
  this._errHandler.sync(this);
1788
1803
 
1789
1804
  var la_ = this._interp.adaptivePredict(this._input, 31, this._ctx);
1790
1805
 
1791
1806
  if (la_ === 1) {
1792
- this.state = 385;
1807
+ this.state = 386;
1793
1808
  this.match(Protobuf3Parser.STREAM);
1794
1809
  }
1795
1810
 
1796
- this.state = 388;
1797
- this.messageType();
1798
1811
  this.state = 389;
1812
+ this.messageType();
1813
+ this.state = 390;
1799
1814
  this.match(Protobuf3Parser.RP);
1800
- this.state = 400;
1815
+ this.state = 401;
1801
1816
 
1802
1817
  this._errHandler.sync(this);
1803
1818
 
1804
1819
  switch (this._input.LA(1)) {
1805
1820
  case Protobuf3Parser.LC:
1806
- this.state = 390;
1821
+ this.state = 391;
1807
1822
  this.match(Protobuf3Parser.LC);
1808
- this.state = 395;
1823
+ this.state = 396;
1809
1824
 
1810
1825
  this._errHandler.sync(this);
1811
1826
 
1812
1827
  _la = this._input.LA(1);
1813
1828
 
1814
1829
  while (_la === Protobuf3Parser.OPTION || _la === Protobuf3Parser.SEMI) {
1815
- this.state = 393;
1830
+ this.state = 394;
1816
1831
 
1817
1832
  this._errHandler.sync(this);
1818
1833
 
1819
1834
  switch (this._input.LA(1)) {
1820
1835
  case Protobuf3Parser.OPTION:
1821
- this.state = 391;
1836
+ this.state = 392;
1822
1837
  this.optionStatement();
1823
1838
  break;
1824
1839
 
1825
1840
  case Protobuf3Parser.SEMI:
1826
- this.state = 392;
1841
+ this.state = 393;
1827
1842
  this.emptyStatement();
1828
1843
  break;
1829
1844
 
@@ -1831,19 +1846,19 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1831
1846
  throw new _antlr["default"].error.NoViableAltException(this);
1832
1847
  }
1833
1848
 
1834
- this.state = 397;
1849
+ this.state = 398;
1835
1850
 
1836
1851
  this._errHandler.sync(this);
1837
1852
 
1838
1853
  _la = this._input.LA(1);
1839
1854
  }
1840
1855
 
1841
- this.state = 398;
1856
+ this.state = 399;
1842
1857
  this.match(Protobuf3Parser.RC);
1843
1858
  break;
1844
1859
 
1845
1860
  case Protobuf3Parser.SEMI:
1846
- this.state = 399;
1861
+ this.state = 400;
1847
1862
  this.match(Protobuf3Parser.SEMI);
1848
1863
  break;
1849
1864
 
@@ -1874,7 +1889,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1874
1889
  var _la = 0; // Token type
1875
1890
 
1876
1891
  try {
1877
- this.state = 414;
1892
+ this.state = 415;
1878
1893
 
1879
1894
  this._errHandler.sync(this);
1880
1895
 
@@ -1883,20 +1898,20 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1883
1898
  switch (la_) {
1884
1899
  case 1:
1885
1900
  this.enterOuterAlt(localctx, 1);
1886
- this.state = 402;
1901
+ this.state = 403;
1887
1902
  this.fullIdent();
1888
1903
  break;
1889
1904
 
1890
1905
  case 2:
1891
1906
  this.enterOuterAlt(localctx, 2);
1892
- this.state = 404;
1907
+ this.state = 405;
1893
1908
 
1894
1909
  this._errHandler.sync(this);
1895
1910
 
1896
1911
  _la = this._input.LA(1);
1897
1912
 
1898
1913
  if (_la === Protobuf3Parser.PLUS || _la === Protobuf3Parser.MINUS) {
1899
- this.state = 403;
1914
+ this.state = 404;
1900
1915
  _la = this._input.LA(1);
1901
1916
 
1902
1917
  if (!(_la === Protobuf3Parser.PLUS || _la === Protobuf3Parser.MINUS)) {
@@ -1908,20 +1923,20 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1908
1923
  }
1909
1924
  }
1910
1925
 
1911
- this.state = 406;
1926
+ this.state = 407;
1912
1927
  this.intLit();
1913
1928
  break;
1914
1929
 
1915
1930
  case 3:
1916
1931
  this.enterOuterAlt(localctx, 3);
1917
- this.state = 408;
1932
+ this.state = 409;
1918
1933
 
1919
1934
  this._errHandler.sync(this);
1920
1935
 
1921
1936
  _la = this._input.LA(1);
1922
1937
 
1923
1938
  if (_la === Protobuf3Parser.PLUS || _la === Protobuf3Parser.MINUS) {
1924
- this.state = 407;
1939
+ this.state = 408;
1925
1940
  _la = this._input.LA(1);
1926
1941
 
1927
1942
  if (!(_la === Protobuf3Parser.PLUS || _la === Protobuf3Parser.MINUS)) {
@@ -1933,25 +1948,25 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1933
1948
  }
1934
1949
  }
1935
1950
 
1936
- this.state = 410;
1951
+ this.state = 411;
1937
1952
  this.floatLit();
1938
1953
  break;
1939
1954
 
1940
1955
  case 4:
1941
1956
  this.enterOuterAlt(localctx, 4);
1942
- this.state = 411;
1957
+ this.state = 412;
1943
1958
  this.strLit();
1944
1959
  break;
1945
1960
 
1946
1961
  case 5:
1947
1962
  this.enterOuterAlt(localctx, 5);
1948
- this.state = 412;
1963
+ this.state = 413;
1949
1964
  this.boolLit();
1950
1965
  break;
1951
1966
 
1952
1967
  case 6:
1953
1968
  this.enterOuterAlt(localctx, 6);
1954
- this.state = 413;
1969
+ this.state = 414;
1955
1970
  this.blockLit();
1956
1971
  break;
1957
1972
  }
@@ -1980,29 +1995,29 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
1980
1995
 
1981
1996
  try {
1982
1997
  this.enterOuterAlt(localctx, 1);
1983
- this.state = 416;
1998
+ this.state = 417;
1984
1999
  this.match(Protobuf3Parser.LC);
1985
- this.state = 423;
2000
+ this.state = 424;
1986
2001
 
1987
2002
  this._errHandler.sync(this);
1988
2003
 
1989
2004
  _la = this._input.LA(1);
1990
2005
 
1991
- while ((_la - 10 & ~0x1f) == 0 && (1 << _la - 10 & (1 << Protobuf3Parser.SYNTAX - 10 | 1 << Protobuf3Parser.IMPORT - 10 | 1 << Protobuf3Parser.WEAK - 10 | 1 << Protobuf3Parser.PUBLIC - 10 | 1 << Protobuf3Parser.PACKAGE - 10 | 1 << Protobuf3Parser.OPTION - 10 | 1 << Protobuf3Parser.REPEATED - 10 | 1 << Protobuf3Parser.ONEOF - 10 | 1 << Protobuf3Parser.MAP - 10 | 1 << Protobuf3Parser.INT32 - 10 | 1 << Protobuf3Parser.INT64 - 10 | 1 << Protobuf3Parser.UINT32 - 10 | 1 << Protobuf3Parser.UINT64 - 10 | 1 << Protobuf3Parser.SINT32 - 10 | 1 << Protobuf3Parser.SINT64 - 10 | 1 << Protobuf3Parser.FIXED32 - 10 | 1 << Protobuf3Parser.FIXED64 - 10 | 1 << Protobuf3Parser.SFIXED32 - 10 | 1 << Protobuf3Parser.SFIXED64 - 10 | 1 << Protobuf3Parser.BOOL - 10 | 1 << Protobuf3Parser.STRING - 10 | 1 << Protobuf3Parser.DOUBLE - 10 | 1 << Protobuf3Parser.FLOAT - 10 | 1 << Protobuf3Parser.BYTES - 10 | 1 << Protobuf3Parser.RESERVED - 10 | 1 << Protobuf3Parser.TO - 10 | 1 << Protobuf3Parser.MAX - 10 | 1 << Protobuf3Parser.ENUM - 10 | 1 << Protobuf3Parser.MESSAGE - 10 | 1 << Protobuf3Parser.SERVICE - 10 | 1 << Protobuf3Parser.RPC - 10)) !== 0 || (_la - 42 & ~0x1f) == 0 && (1 << _la - 42 & (1 << Protobuf3Parser.STREAM - 42 | 1 << Protobuf3Parser.RETURNS - 42 | 1 << Protobuf3Parser.BOOL_LIT - 42 | 1 << Protobuf3Parser.IDENTIFIER - 42)) !== 0) {
1992
- this.state = 417;
1993
- this.ident();
2006
+ while ((_la - 10 & ~0x1f) == 0 && (1 << _la - 10 & (1 << Protobuf3Parser.SYNTAX - 10 | 1 << Protobuf3Parser.IMPORT - 10 | 1 << Protobuf3Parser.WEAK - 10 | 1 << Protobuf3Parser.PUBLIC - 10 | 1 << Protobuf3Parser.PACKAGE - 10 | 1 << Protobuf3Parser.OPTION - 10 | 1 << Protobuf3Parser.REPEATED - 10 | 1 << Protobuf3Parser.OPTIONAL - 10 | 1 << Protobuf3Parser.ONEOF - 10 | 1 << Protobuf3Parser.MAP - 10 | 1 << Protobuf3Parser.INT32 - 10 | 1 << Protobuf3Parser.INT64 - 10 | 1 << Protobuf3Parser.UINT32 - 10 | 1 << Protobuf3Parser.UINT64 - 10 | 1 << Protobuf3Parser.SINT32 - 10 | 1 << Protobuf3Parser.SINT64 - 10 | 1 << Protobuf3Parser.FIXED32 - 10 | 1 << Protobuf3Parser.FIXED64 - 10 | 1 << Protobuf3Parser.SFIXED32 - 10 | 1 << Protobuf3Parser.SFIXED64 - 10 | 1 << Protobuf3Parser.BOOL - 10 | 1 << Protobuf3Parser.STRING - 10 | 1 << Protobuf3Parser.DOUBLE - 10 | 1 << Protobuf3Parser.FLOAT - 10 | 1 << Protobuf3Parser.BYTES - 10 | 1 << Protobuf3Parser.RESERVED - 10 | 1 << Protobuf3Parser.TO - 10 | 1 << Protobuf3Parser.MAX - 10 | 1 << Protobuf3Parser.ENUM - 10 | 1 << Protobuf3Parser.MESSAGE - 10 | 1 << Protobuf3Parser.SERVICE - 10)) !== 0 || (_la - 42 & ~0x1f) == 0 && (1 << _la - 42 & (1 << Protobuf3Parser.RPC - 42 | 1 << Protobuf3Parser.STREAM - 42 | 1 << Protobuf3Parser.RETURNS - 42 | 1 << Protobuf3Parser.BOOL_LIT - 42 | 1 << Protobuf3Parser.IDENTIFIER - 42)) !== 0) {
1994
2007
  this.state = 418;
1995
- this.match(Protobuf3Parser.COLON);
2008
+ this.ident();
1996
2009
  this.state = 419;
2010
+ this.match(Protobuf3Parser.COLON);
2011
+ this.state = 420;
1997
2012
  this.constant();
1998
- this.state = 425;
2013
+ this.state = 426;
1999
2014
 
2000
2015
  this._errHandler.sync(this);
2001
2016
 
2002
2017
  _la = this._input.LA(1);
2003
2018
  }
2004
2019
 
2005
- this.state = 426;
2020
+ this.state = 427;
2006
2021
  this.match(Protobuf3Parser.RC);
2007
2022
  } catch (re) {
2008
2023
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2028,7 +2043,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2028
2043
 
2029
2044
  try {
2030
2045
  this.enterOuterAlt(localctx, 1);
2031
- this.state = 428;
2046
+ this.state = 429;
2032
2047
  this.match(Protobuf3Parser.SEMI);
2033
2048
  } catch (re) {
2034
2049
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2053,14 +2068,14 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2053
2068
  this.enterRule(localctx, 74, Protobuf3Parser.RULE_ident);
2054
2069
 
2055
2070
  try {
2056
- this.state = 432;
2071
+ this.state = 433;
2057
2072
 
2058
2073
  this._errHandler.sync(this);
2059
2074
 
2060
2075
  switch (this._input.LA(1)) {
2061
2076
  case Protobuf3Parser.IDENTIFIER:
2062
2077
  this.enterOuterAlt(localctx, 1);
2063
- this.state = 430;
2078
+ this.state = 431;
2064
2079
  this.match(Protobuf3Parser.IDENTIFIER);
2065
2080
  break;
2066
2081
 
@@ -2071,6 +2086,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2071
2086
  case Protobuf3Parser.PACKAGE:
2072
2087
  case Protobuf3Parser.OPTION:
2073
2088
  case Protobuf3Parser.REPEATED:
2089
+ case Protobuf3Parser.OPTIONAL:
2074
2090
  case Protobuf3Parser.ONEOF:
2075
2091
  case Protobuf3Parser.MAP:
2076
2092
  case Protobuf3Parser.INT32:
@@ -2099,7 +2115,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2099
2115
  case Protobuf3Parser.RETURNS:
2100
2116
  case Protobuf3Parser.BOOL_LIT:
2101
2117
  this.enterOuterAlt(localctx, 2);
2102
- this.state = 431;
2118
+ this.state = 432;
2103
2119
  this.keywords();
2104
2120
  break;
2105
2121
 
@@ -2131,20 +2147,20 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2131
2147
 
2132
2148
  try {
2133
2149
  this.enterOuterAlt(localctx, 1);
2134
- this.state = 434;
2150
+ this.state = 435;
2135
2151
  this.ident();
2136
- this.state = 439;
2152
+ this.state = 440;
2137
2153
 
2138
2154
  this._errHandler.sync(this);
2139
2155
 
2140
2156
  _la = this._input.LA(1);
2141
2157
 
2142
2158
  while (_la === Protobuf3Parser.DOT) {
2143
- this.state = 435;
2144
- this.match(Protobuf3Parser.DOT);
2145
2159
  this.state = 436;
2160
+ this.match(Protobuf3Parser.DOT);
2161
+ this.state = 437;
2146
2162
  this.ident();
2147
- this.state = 441;
2163
+ this.state = 442;
2148
2164
 
2149
2165
  this._errHandler.sync(this);
2150
2166
 
@@ -2174,7 +2190,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2174
2190
 
2175
2191
  try {
2176
2192
  this.enterOuterAlt(localctx, 1);
2177
- this.state = 442;
2193
+ this.state = 443;
2178
2194
  this.ident();
2179
2195
  } catch (re) {
2180
2196
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2200,7 +2216,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2200
2216
 
2201
2217
  try {
2202
2218
  this.enterOuterAlt(localctx, 1);
2203
- this.state = 444;
2219
+ this.state = 445;
2204
2220
  this.ident();
2205
2221
  } catch (re) {
2206
2222
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2226,7 +2242,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2226
2242
 
2227
2243
  try {
2228
2244
  this.enterOuterAlt(localctx, 1);
2229
- this.state = 446;
2245
+ this.state = 447;
2230
2246
  this.ident();
2231
2247
  } catch (re) {
2232
2248
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2252,7 +2268,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2252
2268
 
2253
2269
  try {
2254
2270
  this.enterOuterAlt(localctx, 1);
2255
- this.state = 448;
2271
+ this.state = 449;
2256
2272
  this.ident();
2257
2273
  } catch (re) {
2258
2274
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2278,7 +2294,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2278
2294
 
2279
2295
  try {
2280
2296
  this.enterOuterAlt(localctx, 1);
2281
- this.state = 450;
2297
+ this.state = 451;
2282
2298
  this.ident();
2283
2299
  } catch (re) {
2284
2300
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2304,7 +2320,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2304
2320
 
2305
2321
  try {
2306
2322
  this.enterOuterAlt(localctx, 1);
2307
- this.state = 452;
2323
+ this.state = 453;
2308
2324
  this.ident();
2309
2325
  } catch (re) {
2310
2326
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2330,7 +2346,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2330
2346
 
2331
2347
  try {
2332
2348
  this.enterOuterAlt(localctx, 1);
2333
- this.state = 454;
2349
+ this.state = 455;
2334
2350
  this.ident();
2335
2351
  } catch (re) {
2336
2352
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2357,18 +2373,18 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2357
2373
 
2358
2374
  try {
2359
2375
  this.enterOuterAlt(localctx, 1);
2360
- this.state = 457;
2376
+ this.state = 458;
2361
2377
 
2362
2378
  this._errHandler.sync(this);
2363
2379
 
2364
2380
  _la = this._input.LA(1);
2365
2381
 
2366
2382
  if (_la === Protobuf3Parser.DOT) {
2367
- this.state = 456;
2383
+ this.state = 457;
2368
2384
  this.match(Protobuf3Parser.DOT);
2369
2385
  }
2370
2386
 
2371
- this.state = 464;
2387
+ this.state = 465;
2372
2388
 
2373
2389
  this._errHandler.sync(this);
2374
2390
 
@@ -2376,20 +2392,20 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2376
2392
 
2377
2393
  while (_alt != 2 && _alt != _antlr["default"].atn.ATN.INVALID_ALT_NUMBER) {
2378
2394
  if (_alt === 1) {
2379
- this.state = 459;
2380
- this.ident();
2381
2395
  this.state = 460;
2396
+ this.ident();
2397
+ this.state = 461;
2382
2398
  this.match(Protobuf3Parser.DOT);
2383
2399
  }
2384
2400
 
2385
- this.state = 466;
2401
+ this.state = 467;
2386
2402
 
2387
2403
  this._errHandler.sync(this);
2388
2404
 
2389
2405
  _alt = this._interp.adaptivePredict(this._input, 42, this._ctx);
2390
2406
  }
2391
2407
 
2392
- this.state = 467;
2408
+ this.state = 468;
2393
2409
  this.messageName();
2394
2410
  } catch (re) {
2395
2411
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2416,18 +2432,18 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2416
2432
 
2417
2433
  try {
2418
2434
  this.enterOuterAlt(localctx, 1);
2419
- this.state = 470;
2435
+ this.state = 471;
2420
2436
 
2421
2437
  this._errHandler.sync(this);
2422
2438
 
2423
2439
  _la = this._input.LA(1);
2424
2440
 
2425
2441
  if (_la === Protobuf3Parser.DOT) {
2426
- this.state = 469;
2442
+ this.state = 470;
2427
2443
  this.match(Protobuf3Parser.DOT);
2428
2444
  }
2429
2445
 
2430
- this.state = 477;
2446
+ this.state = 478;
2431
2447
 
2432
2448
  this._errHandler.sync(this);
2433
2449
 
@@ -2435,20 +2451,20 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2435
2451
 
2436
2452
  while (_alt != 2 && _alt != _antlr["default"].atn.ATN.INVALID_ALT_NUMBER) {
2437
2453
  if (_alt === 1) {
2438
- this.state = 472;
2439
- this.ident();
2440
2454
  this.state = 473;
2455
+ this.ident();
2456
+ this.state = 474;
2441
2457
  this.match(Protobuf3Parser.DOT);
2442
2458
  }
2443
2459
 
2444
- this.state = 479;
2460
+ this.state = 480;
2445
2461
 
2446
2462
  this._errHandler.sync(this);
2447
2463
 
2448
2464
  _alt = this._interp.adaptivePredict(this._input, 44, this._ctx);
2449
2465
  }
2450
2466
 
2451
- this.state = 480;
2467
+ this.state = 481;
2452
2468
  this.enumName();
2453
2469
  } catch (re) {
2454
2470
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2474,7 +2490,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2474
2490
 
2475
2491
  try {
2476
2492
  this.enterOuterAlt(localctx, 1);
2477
- this.state = 482;
2493
+ this.state = 483;
2478
2494
  this.match(Protobuf3Parser.INT_LIT);
2479
2495
  } catch (re) {
2480
2496
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2501,10 +2517,10 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2501
2517
 
2502
2518
  try {
2503
2519
  this.enterOuterAlt(localctx, 1);
2504
- this.state = 484;
2520
+ this.state = 485;
2505
2521
  _la = this._input.LA(1);
2506
2522
 
2507
- if (!((_la - 44 & ~0x1f) == 0 && (1 << _la - 44 & (1 << Protobuf3Parser.PROTO3_LIT_SINGLE - 44 | 1 << Protobuf3Parser.PROTO3_LIT_DOBULE - 44 | 1 << Protobuf3Parser.STR_LIT - 44)) !== 0)) {
2523
+ if (!((_la - 45 & ~0x1f) == 0 && (1 << _la - 45 & (1 << Protobuf3Parser.PROTO3_LIT_SINGLE - 45 | 1 << Protobuf3Parser.PROTO3_LIT_DOBULE - 45 | 1 << Protobuf3Parser.STR_LIT - 45)) !== 0)) {
2508
2524
  this._errHandler.recoverInline(this);
2509
2525
  } else {
2510
2526
  this._errHandler.reportMatch(this);
@@ -2535,7 +2551,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2535
2551
 
2536
2552
  try {
2537
2553
  this.enterOuterAlt(localctx, 1);
2538
- this.state = 486;
2554
+ this.state = 487;
2539
2555
  this.match(Protobuf3Parser.BOOL_LIT);
2540
2556
  } catch (re) {
2541
2557
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2561,7 +2577,7 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2561
2577
 
2562
2578
  try {
2563
2579
  this.enterOuterAlt(localctx, 1);
2564
- this.state = 488;
2580
+ this.state = 489;
2565
2581
  this.match(Protobuf3Parser.FLOAT_LIT);
2566
2582
  } catch (re) {
2567
2583
  if (re instanceof _antlr["default"].error.RecognitionException) {
@@ -2588,10 +2604,10 @@ var Protobuf3Parser = /*#__PURE__*/function (_antlr4$Parser) {
2588
2604
 
2589
2605
  try {
2590
2606
  this.enterOuterAlt(localctx, 1);
2591
- this.state = 490;
2607
+ this.state = 491;
2592
2608
  _la = this._input.LA(1);
2593
2609
 
2594
- if (!((_la & ~0x1f) == 0 && (1 << _la & (1 << Protobuf3Parser.SYNTAX | 1 << Protobuf3Parser.IMPORT | 1 << Protobuf3Parser.WEAK | 1 << Protobuf3Parser.PUBLIC | 1 << Protobuf3Parser.PACKAGE | 1 << Protobuf3Parser.OPTION | 1 << Protobuf3Parser.REPEATED | 1 << Protobuf3Parser.ONEOF | 1 << Protobuf3Parser.MAP | 1 << Protobuf3Parser.INT32 | 1 << Protobuf3Parser.INT64 | 1 << Protobuf3Parser.UINT32 | 1 << Protobuf3Parser.UINT64 | 1 << Protobuf3Parser.SINT32 | 1 << Protobuf3Parser.SINT64 | 1 << Protobuf3Parser.FIXED32 | 1 << Protobuf3Parser.FIXED64 | 1 << Protobuf3Parser.SFIXED32 | 1 << Protobuf3Parser.SFIXED64 | 1 << Protobuf3Parser.BOOL | 1 << Protobuf3Parser.STRING)) !== 0 || (_la - 32 & ~0x1f) == 0 && (1 << _la - 32 & (1 << Protobuf3Parser.DOUBLE - 32 | 1 << Protobuf3Parser.FLOAT - 32 | 1 << Protobuf3Parser.BYTES - 32 | 1 << Protobuf3Parser.RESERVED - 32 | 1 << Protobuf3Parser.TO - 32 | 1 << Protobuf3Parser.MAX - 32 | 1 << Protobuf3Parser.ENUM - 32 | 1 << Protobuf3Parser.MESSAGE - 32 | 1 << Protobuf3Parser.SERVICE - 32 | 1 << Protobuf3Parser.RPC - 32 | 1 << Protobuf3Parser.STREAM - 32 | 1 << Protobuf3Parser.RETURNS - 32 | 1 << Protobuf3Parser.BOOL_LIT - 32)) !== 0)) {
2610
+ if (!((_la & ~0x1f) == 0 && (1 << _la & (1 << Protobuf3Parser.SYNTAX | 1 << Protobuf3Parser.IMPORT | 1 << Protobuf3Parser.WEAK | 1 << Protobuf3Parser.PUBLIC | 1 << Protobuf3Parser.PACKAGE | 1 << Protobuf3Parser.OPTION | 1 << Protobuf3Parser.REPEATED | 1 << Protobuf3Parser.OPTIONAL | 1 << Protobuf3Parser.ONEOF | 1 << Protobuf3Parser.MAP | 1 << Protobuf3Parser.INT32 | 1 << Protobuf3Parser.INT64 | 1 << Protobuf3Parser.UINT32 | 1 << Protobuf3Parser.UINT64 | 1 << Protobuf3Parser.SINT32 | 1 << Protobuf3Parser.SINT64 | 1 << Protobuf3Parser.FIXED32 | 1 << Protobuf3Parser.FIXED64 | 1 << Protobuf3Parser.SFIXED32 | 1 << Protobuf3Parser.SFIXED64 | 1 << Protobuf3Parser.BOOL)) !== 0 || (_la - 32 & ~0x1f) == 0 && (1 << _la - 32 & (1 << Protobuf3Parser.STRING - 32 | 1 << Protobuf3Parser.DOUBLE - 32 | 1 << Protobuf3Parser.FLOAT - 32 | 1 << Protobuf3Parser.BYTES - 32 | 1 << Protobuf3Parser.RESERVED - 32 | 1 << Protobuf3Parser.TO - 32 | 1 << Protobuf3Parser.MAX - 32 | 1 << Protobuf3Parser.ENUM - 32 | 1 << Protobuf3Parser.MESSAGE - 32 | 1 << Protobuf3Parser.SERVICE - 32 | 1 << Protobuf3Parser.RPC - 32 | 1 << Protobuf3Parser.STREAM - 32 | 1 << Protobuf3Parser.RETURNS - 32 | 1 << Protobuf3Parser.BOOL_LIT - 32)) !== 0)) {
2595
2611
  this._errHandler.recoverInline(this);
2596
2612
  } else {
2597
2613
  this._errHandler.reportMatch(this);
@@ -2623,9 +2639,9 @@ exports["default"] = Protobuf3Parser;
2623
2639
 
2624
2640
  _defineProperty(Protobuf3Parser, "grammarFileName", "Protobuf3.g4");
2625
2641
 
2626
- _defineProperty(Protobuf3Parser, "literalNames", [null, "'google.protobuf.FieldOptions'", "'google.protobuf.EnumOptions'", "'google.protobuf.EnumValueOptions'", "'google.protobuf.ExtensionRangeOptions'", "'google.protobuf.MessageOptions'", "'google.protobuf.MethodOptions'", "'google.protobuf.ServiceOptions'", "'google.protobuf.FileOptions'", "'google.protobuf.OneofOptions'", "'syntax'", "'import'", "'extend'", "'weak'", "'public'", "'package'", "'option'", "'repeated'", "'oneof'", "'map'", "'int32'", "'int64'", "'uint32'", "'uint64'", "'sint32'", "'sint64'", "'fixed32'", "'fixed64'", "'sfixed32'", "'sfixed64'", "'bool'", "'string'", "'double'", "'float'", "'bytes'", "'reserved'", "'to'", "'max'", "'enum'", "'message'", "'service'", "'rpc'", "'stream'", "'returns'", "'\"proto3\"'", "''proto3''", "';'", "'='", "'('", "')'", "'['", "']'", "'{'", "'}'", "'<'", "'>'", "'.'", "','", "':'", "'+'", "'-'"]);
2642
+ _defineProperty(Protobuf3Parser, "literalNames", [null, "'google.protobuf.FieldOptions'", "'google.protobuf.EnumOptions'", "'google.protobuf.EnumValueOptions'", "'google.protobuf.ExtensionRangeOptions'", "'google.protobuf.MessageOptions'", "'google.protobuf.MethodOptions'", "'google.protobuf.ServiceOptions'", "'google.protobuf.FileOptions'", "'google.protobuf.OneofOptions'", "'syntax'", "'import'", "'extend'", "'weak'", "'public'", "'package'", "'option'", "'repeated'", "'optional'", "'oneof'", "'map'", "'int32'", "'int64'", "'uint32'", "'uint64'", "'sint32'", "'sint64'", "'fixed32'", "'fixed64'", "'sfixed32'", "'sfixed64'", "'bool'", "'string'", "'double'", "'float'", "'bytes'", "'reserved'", "'to'", "'max'", "'enum'", "'message'", "'service'", "'rpc'", "'stream'", "'returns'", "'\"proto3\"'", "''proto3''", "';'", "'='", "'('", "')'", "'['", "']'", "'{'", "'}'", "'<'", "'>'", "'.'", "','", "':'", "'+'", "'-'"]);
2627
2643
 
2628
- _defineProperty(Protobuf3Parser, "symbolicNames", [null, "FIELD_OPTIONS", "ENUM_OPTIONS", "ENUM_VALUE_OPTIONS", "EXTENSION_RANGE_OPTIONS", "MESSAGE_OPTIONS", "METHOD_OPTIONS", "SERVICE_OPTIONS", "FILE_OPTIONS", "ONEOF_OPTIONS", "SYNTAX", "IMPORT", "EXTEND", "WEAK", "PUBLIC", "PACKAGE", "OPTION", "REPEATED", "ONEOF", "MAP", "INT32", "INT64", "UINT32", "UINT64", "SINT32", "SINT64", "FIXED32", "FIXED64", "SFIXED32", "SFIXED64", "BOOL", "STRING", "DOUBLE", "FLOAT", "BYTES", "RESERVED", "TO", "MAX", "ENUM", "MESSAGE", "SERVICE", "RPC", "STREAM", "RETURNS", "PROTO3_LIT_SINGLE", "PROTO3_LIT_DOBULE", "SEMI", "EQ", "LP", "RP", "LB", "RB", "LC", "RC", "LT", "GT", "DOT", "COMMA", "COLON", "PLUS", "MINUS", "STR_LIT", "BOOL_LIT", "FLOAT_LIT", "INT_LIT", "IDENTIFIER", "WS", "LINE_COMMENT", "COMMENT"]);
2644
+ _defineProperty(Protobuf3Parser, "symbolicNames", [null, "FIELD_OPTIONS", "ENUM_OPTIONS", "ENUM_VALUE_OPTIONS", "EXTENSION_RANGE_OPTIONS", "MESSAGE_OPTIONS", "METHOD_OPTIONS", "SERVICE_OPTIONS", "FILE_OPTIONS", "ONEOF_OPTIONS", "SYNTAX", "IMPORT", "EXTEND", "WEAK", "PUBLIC", "PACKAGE", "OPTION", "REPEATED", "OPTIONAL", "ONEOF", "MAP", "INT32", "INT64", "UINT32", "UINT64", "SINT32", "SINT64", "FIXED32", "FIXED64", "SFIXED32", "SFIXED64", "BOOL", "STRING", "DOUBLE", "FLOAT", "BYTES", "RESERVED", "TO", "MAX", "ENUM", "MESSAGE", "SERVICE", "RPC", "STREAM", "RETURNS", "PROTO3_LIT_SINGLE", "PROTO3_LIT_DOBULE", "SEMI", "EQ", "LP", "RP", "LB", "RB", "LC", "RC", "LT", "GT", "DOT", "COMMA", "COLON", "PLUS", "MINUS", "STR_LIT", "BOOL_LIT", "FLOAT_LIT", "INT_LIT", "IDENTIFIER", "WS", "LINE_COMMENT", "COMMENT"]);
2629
2645
 
2630
2646
  _defineProperty(Protobuf3Parser, "ruleNames", ["proto", "syntax", "importStatement", "packageStatement", "optionStatement", "optionName", "extendsStatement", "extendedIdentifier", "field", "fieldOptions", "fieldOption", "fieldNumber", "oneof", "oneofField", "mapField", "keyType", "type_", "reserved", "ranges", "range_", "reservedFieldNames", "topLevelDef", "enumDef", "enumBody", "enumElement", "enumField", "enumValueOptions", "enumValueOption", "messageDef", "messageBody", "messageElement", "serviceDef", "serviceElement", "rpc", "constant", "blockLit", "emptyStatement", "ident", "fullIdent", "messageName", "enumName", "fieldName", "oneofName", "mapName", "serviceName", "rpcName", "messageType", "enumType", "intLit", "strLit", "boolLit", "floatLit", "keywords"]);
2631
2647
 
@@ -2647,57 +2663,58 @@ Protobuf3Parser.PUBLIC = 14;
2647
2663
  Protobuf3Parser.PACKAGE = 15;
2648
2664
  Protobuf3Parser.OPTION = 16;
2649
2665
  Protobuf3Parser.REPEATED = 17;
2650
- Protobuf3Parser.ONEOF = 18;
2651
- Protobuf3Parser.MAP = 19;
2652
- Protobuf3Parser.INT32 = 20;
2653
- Protobuf3Parser.INT64 = 21;
2654
- Protobuf3Parser.UINT32 = 22;
2655
- Protobuf3Parser.UINT64 = 23;
2656
- Protobuf3Parser.SINT32 = 24;
2657
- Protobuf3Parser.SINT64 = 25;
2658
- Protobuf3Parser.FIXED32 = 26;
2659
- Protobuf3Parser.FIXED64 = 27;
2660
- Protobuf3Parser.SFIXED32 = 28;
2661
- Protobuf3Parser.SFIXED64 = 29;
2662
- Protobuf3Parser.BOOL = 30;
2663
- Protobuf3Parser.STRING = 31;
2664
- Protobuf3Parser.DOUBLE = 32;
2665
- Protobuf3Parser.FLOAT = 33;
2666
- Protobuf3Parser.BYTES = 34;
2667
- Protobuf3Parser.RESERVED = 35;
2668
- Protobuf3Parser.TO = 36;
2669
- Protobuf3Parser.MAX = 37;
2670
- Protobuf3Parser.ENUM = 38;
2671
- Protobuf3Parser.MESSAGE = 39;
2672
- Protobuf3Parser.SERVICE = 40;
2673
- Protobuf3Parser.RPC = 41;
2674
- Protobuf3Parser.STREAM = 42;
2675
- Protobuf3Parser.RETURNS = 43;
2676
- Protobuf3Parser.PROTO3_LIT_SINGLE = 44;
2677
- Protobuf3Parser.PROTO3_LIT_DOBULE = 45;
2678
- Protobuf3Parser.SEMI = 46;
2679
- Protobuf3Parser.EQ = 47;
2680
- Protobuf3Parser.LP = 48;
2681
- Protobuf3Parser.RP = 49;
2682
- Protobuf3Parser.LB = 50;
2683
- Protobuf3Parser.RB = 51;
2684
- Protobuf3Parser.LC = 52;
2685
- Protobuf3Parser.RC = 53;
2686
- Protobuf3Parser.LT = 54;
2687
- Protobuf3Parser.GT = 55;
2688
- Protobuf3Parser.DOT = 56;
2689
- Protobuf3Parser.COMMA = 57;
2690
- Protobuf3Parser.COLON = 58;
2691
- Protobuf3Parser.PLUS = 59;
2692
- Protobuf3Parser.MINUS = 60;
2693
- Protobuf3Parser.STR_LIT = 61;
2694
- Protobuf3Parser.BOOL_LIT = 62;
2695
- Protobuf3Parser.FLOAT_LIT = 63;
2696
- Protobuf3Parser.INT_LIT = 64;
2697
- Protobuf3Parser.IDENTIFIER = 65;
2698
- Protobuf3Parser.WS = 66;
2699
- Protobuf3Parser.LINE_COMMENT = 67;
2700
- Protobuf3Parser.COMMENT = 68;
2666
+ Protobuf3Parser.OPTIONAL = 18;
2667
+ Protobuf3Parser.ONEOF = 19;
2668
+ Protobuf3Parser.MAP = 20;
2669
+ Protobuf3Parser.INT32 = 21;
2670
+ Protobuf3Parser.INT64 = 22;
2671
+ Protobuf3Parser.UINT32 = 23;
2672
+ Protobuf3Parser.UINT64 = 24;
2673
+ Protobuf3Parser.SINT32 = 25;
2674
+ Protobuf3Parser.SINT64 = 26;
2675
+ Protobuf3Parser.FIXED32 = 27;
2676
+ Protobuf3Parser.FIXED64 = 28;
2677
+ Protobuf3Parser.SFIXED32 = 29;
2678
+ Protobuf3Parser.SFIXED64 = 30;
2679
+ Protobuf3Parser.BOOL = 31;
2680
+ Protobuf3Parser.STRING = 32;
2681
+ Protobuf3Parser.DOUBLE = 33;
2682
+ Protobuf3Parser.FLOAT = 34;
2683
+ Protobuf3Parser.BYTES = 35;
2684
+ Protobuf3Parser.RESERVED = 36;
2685
+ Protobuf3Parser.TO = 37;
2686
+ Protobuf3Parser.MAX = 38;
2687
+ Protobuf3Parser.ENUM = 39;
2688
+ Protobuf3Parser.MESSAGE = 40;
2689
+ Protobuf3Parser.SERVICE = 41;
2690
+ Protobuf3Parser.RPC = 42;
2691
+ Protobuf3Parser.STREAM = 43;
2692
+ Protobuf3Parser.RETURNS = 44;
2693
+ Protobuf3Parser.PROTO3_LIT_SINGLE = 45;
2694
+ Protobuf3Parser.PROTO3_LIT_DOBULE = 46;
2695
+ Protobuf3Parser.SEMI = 47;
2696
+ Protobuf3Parser.EQ = 48;
2697
+ Protobuf3Parser.LP = 49;
2698
+ Protobuf3Parser.RP = 50;
2699
+ Protobuf3Parser.LB = 51;
2700
+ Protobuf3Parser.RB = 52;
2701
+ Protobuf3Parser.LC = 53;
2702
+ Protobuf3Parser.RC = 54;
2703
+ Protobuf3Parser.LT = 55;
2704
+ Protobuf3Parser.GT = 56;
2705
+ Protobuf3Parser.DOT = 57;
2706
+ Protobuf3Parser.COMMA = 58;
2707
+ Protobuf3Parser.COLON = 59;
2708
+ Protobuf3Parser.PLUS = 60;
2709
+ Protobuf3Parser.MINUS = 61;
2710
+ Protobuf3Parser.STR_LIT = 62;
2711
+ Protobuf3Parser.BOOL_LIT = 63;
2712
+ Protobuf3Parser.FLOAT_LIT = 64;
2713
+ Protobuf3Parser.INT_LIT = 65;
2714
+ Protobuf3Parser.IDENTIFIER = 66;
2715
+ Protobuf3Parser.WS = 67;
2716
+ Protobuf3Parser.LINE_COMMENT = 68;
2717
+ Protobuf3Parser.COMMENT = 69;
2701
2718
  Protobuf3Parser.RULE_proto = 0;
2702
2719
  Protobuf3Parser.RULE_syntax = 1;
2703
2720
  Protobuf3Parser.RULE_importStatement = 2;
@@ -3424,11 +3441,6 @@ var FieldContext = /*#__PURE__*/function (_antlr4$ParserRuleCon9) {
3424
3441
  value: function SEMI() {
3425
3442
  return this.getToken(Protobuf3Parser.SEMI, 0);
3426
3443
  }
3427
- }, {
3428
- key: "REPEATED",
3429
- value: function REPEATED() {
3430
- return this.getToken(Protobuf3Parser.REPEATED, 0);
3431
- }
3432
3444
  }, {
3433
3445
  key: "LB",
3434
3446
  value: function LB() {
@@ -3444,6 +3456,16 @@ var FieldContext = /*#__PURE__*/function (_antlr4$ParserRuleCon9) {
3444
3456
  value: function RB() {
3445
3457
  return this.getToken(Protobuf3Parser.RB, 0);
3446
3458
  }
3459
+ }, {
3460
+ key: "REPEATED",
3461
+ value: function REPEATED() {
3462
+ return this.getToken(Protobuf3Parser.REPEATED, 0);
3463
+ }
3464
+ }, {
3465
+ key: "OPTIONAL",
3466
+ value: function OPTIONAL() {
3467
+ return this.getToken(Protobuf3Parser.OPTIONAL, 0);
3468
+ }
3447
3469
  }, {
3448
3470
  key: "enterRule",
3449
3471
  value: function enterRule(listener) {
@@ -4640,6 +4662,11 @@ var EnumElementContext = /*#__PURE__*/function (_antlr4$ParserRuleCon25) {
4640
4662
  value: function enumField() {
4641
4663
  return this.getTypedRuleContext(EnumFieldContext, 0);
4642
4664
  }
4665
+ }, {
4666
+ key: "reserved",
4667
+ value: function reserved() {
4668
+ return this.getTypedRuleContext(ReservedContext, 0);
4669
+ }
4643
4670
  }, {
4644
4671
  key: "emptyStatement",
4645
4672
  value: function emptyStatement() {
@@ -6445,6 +6472,11 @@ var KeywordsContext = /*#__PURE__*/function (_antlr4$ParserRuleCon53) {
6445
6472
  value: function REPEATED() {
6446
6473
  return this.getToken(Protobuf3Parser.REPEATED, 0);
6447
6474
  }
6475
+ }, {
6476
+ key: "OPTIONAL",
6477
+ value: function OPTIONAL() {
6478
+ return this.getToken(Protobuf3Parser.OPTIONAL, 0);
6479
+ }
6448
6480
  }, {
6449
6481
  key: "ONEOF",
6450
6482
  value: function ONEOF() {