diff --git a/frontend/src/parser/FilterQuery.interp b/frontend/src/parser/FilterQuery.interp index e08cdb1df715..59028e95f718 100644 --- a/frontend/src/parser/FilterQuery.interp +++ b/frontend/src/parser/FilterQuery.interp @@ -38,8 +38,6 @@ null null null null -null -null token symbolic names: null @@ -63,8 +61,6 @@ BETWEEN NOT_BETWEEN EXISTS NOT_EXISTS -IS_NULL -IS_NOT_NULL REGEXP NOT_REGEXP CONTAINS @@ -105,4 +101,4 @@ key atn: -[4, 1, 40, 219, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 1, 0, 1, 0, 1, 0, 1, 0, 5, 0, 39, 8, 0, 10, 0, 12, 0, 42, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 5, 2, 51, 8, 2, 10, 2, 12, 2, 54, 9, 2, 1, 3, 1, 3, 1, 3, 1, 3, 5, 3, 60, 8, 3, 10, 3, 12, 3, 63, 9, 3, 1, 4, 3, 4, 66, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 77, 8, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 157, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 169, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 181, 8, 8, 1, 9, 1, 9, 1, 9, 5, 9, 186, 8, 9, 10, 9, 12, 9, 189, 9, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 5, 12, 201, 8, 12, 10, 12, 12, 12, 204, 9, 12, 1, 13, 1, 13, 1, 13, 3, 13, 209, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 0, 0, 17, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 0, 6, 1, 0, 30, 31, 1, 0, 7, 8, 2, 0, 13, 13, 15, 15, 2, 0, 14, 14, 16, 16, 1, 0, 32, 35, 1, 0, 36, 39, 235, 0, 34, 1, 0, 0, 0, 2, 45, 1, 0, 0, 0, 4, 47, 1, 0, 0, 0, 6, 55, 1, 0, 0, 0, 8, 65, 1, 0, 0, 0, 10, 76, 1, 0, 0, 0, 12, 156, 1, 0, 0, 0, 14, 168, 1, 0, 0, 0, 16, 180, 1, 0, 0, 0, 18, 182, 1, 0, 0, 0, 20, 190, 1, 0, 0, 0, 22, 192, 1, 0, 0, 0, 24, 197, 1, 0, 0, 0, 26, 208, 1, 0, 0, 0, 28, 210, 1, 0, 0, 0, 30, 214, 1, 0, 0, 0, 32, 216, 1, 0, 0, 0, 34, 40, 3, 2, 1, 0, 35, 36, 7, 0, 0, 0, 36, 39, 3, 2, 1, 0, 37, 39, 3, 2, 1, 0, 38, 35, 1, 0, 0, 0, 38, 37, 1, 0, 0, 0, 39, 42, 1, 0, 0, 0, 40, 38, 1, 0, 0, 0, 40, 41, 1, 0, 0, 0, 41, 43, 1, 0, 0, 0, 42, 40, 1, 0, 0, 0, 43, 44, 5, 0, 0, 1, 44, 1, 1, 0, 0, 0, 45, 46, 3, 4, 2, 0, 46, 3, 1, 0, 0, 0, 47, 52, 3, 6, 3, 0, 48, 49, 5, 31, 0, 0, 49, 51, 3, 6, 3, 0, 50, 48, 1, 0, 0, 0, 51, 54, 1, 0, 0, 0, 52, 50, 1, 0, 0, 0, 52, 53, 1, 0, 0, 0, 53, 5, 1, 0, 0, 0, 54, 52, 1, 0, 0, 0, 55, 61, 3, 8, 4, 0, 56, 57, 5, 30, 0, 0, 57, 60, 3, 8, 4, 0, 58, 60, 3, 8, 4, 0, 59, 56, 1, 0, 0, 0, 59, 58, 1, 0, 0, 0, 60, 63, 1, 0, 0, 0, 61, 59, 1, 0, 0, 0, 61, 62, 1, 0, 0, 0, 62, 7, 1, 0, 0, 0, 63, 61, 1, 0, 0, 0, 64, 66, 5, 29, 0, 0, 65, 64, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 67, 1, 0, 0, 0, 67, 68, 3, 10, 5, 0, 68, 9, 1, 0, 0, 0, 69, 70, 5, 1, 0, 0, 70, 71, 3, 4, 2, 0, 71, 72, 5, 2, 0, 0, 72, 77, 1, 0, 0, 0, 73, 77, 3, 12, 6, 0, 74, 77, 3, 22, 11, 0, 75, 77, 3, 20, 10, 0, 76, 69, 1, 0, 0, 0, 76, 73, 1, 0, 0, 0, 76, 74, 1, 0, 0, 0, 76, 75, 1, 0, 0, 0, 77, 11, 1, 0, 0, 0, 78, 79, 3, 32, 16, 0, 79, 80, 5, 6, 0, 0, 80, 81, 3, 30, 15, 0, 81, 157, 1, 0, 0, 0, 82, 83, 3, 32, 16, 0, 83, 84, 7, 1, 0, 0, 84, 85, 3, 30, 15, 0, 85, 157, 1, 0, 0, 0, 86, 87, 3, 32, 16, 0, 87, 88, 5, 9, 0, 0, 88, 89, 3, 30, 15, 0, 89, 157, 1, 0, 0, 0, 90, 91, 3, 32, 16, 0, 91, 92, 5, 10, 0, 0, 92, 93, 3, 30, 15, 0, 93, 157, 1, 0, 0, 0, 94, 95, 3, 32, 16, 0, 95, 96, 5, 11, 0, 0, 96, 97, 3, 30, 15, 0, 97, 157, 1, 0, 0, 0, 98, 99, 3, 32, 16, 0, 99, 100, 5, 12, 0, 0, 100, 101, 3, 30, 15, 0, 101, 157, 1, 0, 0, 0, 102, 103, 3, 32, 16, 0, 103, 104, 7, 2, 0, 0, 104, 105, 3, 30, 15, 0, 105, 157, 1, 0, 0, 0, 106, 107, 3, 32, 16, 0, 107, 108, 7, 3, 0, 0, 108, 109, 3, 30, 15, 0, 109, 157, 1, 0, 0, 0, 110, 111, 3, 32, 16, 0, 111, 112, 5, 17, 0, 0, 112, 113, 3, 30, 15, 0, 113, 114, 5, 30, 0, 0, 114, 115, 3, 30, 15, 0, 115, 157, 1, 0, 0, 0, 116, 117, 3, 32, 16, 0, 117, 118, 5, 18, 0, 0, 118, 119, 3, 30, 15, 0, 119, 120, 5, 30, 0, 0, 120, 121, 3, 30, 15, 0, 121, 157, 1, 0, 0, 0, 122, 123, 3, 32, 16, 0, 123, 124, 3, 14, 7, 0, 124, 157, 1, 0, 0, 0, 125, 126, 3, 32, 16, 0, 126, 127, 3, 16, 8, 0, 127, 157, 1, 0, 0, 0, 128, 129, 3, 32, 16, 0, 129, 130, 5, 19, 0, 0, 130, 157, 1, 0, 0, 0, 131, 132, 3, 32, 16, 0, 132, 133, 5, 20, 0, 0, 133, 157, 1, 0, 0, 0, 134, 135, 3, 32, 16, 0, 135, 136, 5, 21, 0, 0, 136, 157, 1, 0, 0, 0, 137, 138, 3, 32, 16, 0, 138, 139, 5, 22, 0, 0, 139, 157, 1, 0, 0, 0, 140, 141, 3, 32, 16, 0, 141, 142, 5, 23, 0, 0, 142, 143, 3, 30, 15, 0, 143, 157, 1, 0, 0, 0, 144, 145, 3, 32, 16, 0, 145, 146, 5, 24, 0, 0, 146, 147, 3, 30, 15, 0, 147, 157, 1, 0, 0, 0, 148, 149, 3, 32, 16, 0, 149, 150, 5, 25, 0, 0, 150, 151, 3, 30, 15, 0, 151, 157, 1, 0, 0, 0, 152, 153, 3, 32, 16, 0, 153, 154, 5, 26, 0, 0, 154, 155, 3, 30, 15, 0, 155, 157, 1, 0, 0, 0, 156, 78, 1, 0, 0, 0, 156, 82, 1, 0, 0, 0, 156, 86, 1, 0, 0, 0, 156, 90, 1, 0, 0, 0, 156, 94, 1, 0, 0, 0, 156, 98, 1, 0, 0, 0, 156, 102, 1, 0, 0, 0, 156, 106, 1, 0, 0, 0, 156, 110, 1, 0, 0, 0, 156, 116, 1, 0, 0, 0, 156, 122, 1, 0, 0, 0, 156, 125, 1, 0, 0, 0, 156, 128, 1, 0, 0, 0, 156, 131, 1, 0, 0, 0, 156, 134, 1, 0, 0, 0, 156, 137, 1, 0, 0, 0, 156, 140, 1, 0, 0, 0, 156, 144, 1, 0, 0, 0, 156, 148, 1, 0, 0, 0, 156, 152, 1, 0, 0, 0, 157, 13, 1, 0, 0, 0, 158, 159, 5, 27, 0, 0, 159, 160, 5, 1, 0, 0, 160, 161, 3, 18, 9, 0, 161, 162, 5, 2, 0, 0, 162, 169, 1, 0, 0, 0, 163, 164, 5, 27, 0, 0, 164, 165, 5, 3, 0, 0, 165, 166, 3, 18, 9, 0, 166, 167, 5, 4, 0, 0, 167, 169, 1, 0, 0, 0, 168, 158, 1, 0, 0, 0, 168, 163, 1, 0, 0, 0, 169, 15, 1, 0, 0, 0, 170, 171, 5, 28, 0, 0, 171, 172, 5, 1, 0, 0, 172, 173, 3, 18, 9, 0, 173, 174, 5, 2, 0, 0, 174, 181, 1, 0, 0, 0, 175, 176, 5, 28, 0, 0, 176, 177, 5, 3, 0, 0, 177, 178, 3, 18, 9, 0, 178, 179, 5, 4, 0, 0, 179, 181, 1, 0, 0, 0, 180, 170, 1, 0, 0, 0, 180, 175, 1, 0, 0, 0, 181, 17, 1, 0, 0, 0, 182, 187, 3, 30, 15, 0, 183, 184, 5, 5, 0, 0, 184, 186, 3, 30, 15, 0, 185, 183, 1, 0, 0, 0, 186, 189, 1, 0, 0, 0, 187, 185, 1, 0, 0, 0, 187, 188, 1, 0, 0, 0, 188, 19, 1, 0, 0, 0, 189, 187, 1, 0, 0, 0, 190, 191, 5, 38, 0, 0, 191, 21, 1, 0, 0, 0, 192, 193, 7, 4, 0, 0, 193, 194, 5, 1, 0, 0, 194, 195, 3, 24, 12, 0, 195, 196, 5, 2, 0, 0, 196, 23, 1, 0, 0, 0, 197, 202, 3, 26, 13, 0, 198, 199, 5, 5, 0, 0, 199, 201, 3, 26, 13, 0, 200, 198, 1, 0, 0, 0, 201, 204, 1, 0, 0, 0, 202, 200, 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 25, 1, 0, 0, 0, 204, 202, 1, 0, 0, 0, 205, 209, 3, 32, 16, 0, 206, 209, 3, 30, 15, 0, 207, 209, 3, 28, 14, 0, 208, 205, 1, 0, 0, 0, 208, 206, 1, 0, 0, 0, 208, 207, 1, 0, 0, 0, 209, 27, 1, 0, 0, 0, 210, 211, 5, 3, 0, 0, 211, 212, 3, 18, 9, 0, 212, 213, 5, 4, 0, 0, 213, 29, 1, 0, 0, 0, 214, 215, 7, 5, 0, 0, 215, 31, 1, 0, 0, 0, 216, 217, 5, 39, 0, 0, 217, 33, 1, 0, 0, 0, 13, 38, 40, 52, 59, 61, 65, 76, 156, 168, 180, 187, 202, 208] \ No newline at end of file +[4, 1, 38, 213, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 1, 0, 1, 0, 1, 0, 1, 0, 5, 0, 39, 8, 0, 10, 0, 12, 0, 42, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 5, 2, 51, 8, 2, 10, 2, 12, 2, 54, 9, 2, 1, 3, 1, 3, 1, 3, 1, 3, 5, 3, 60, 8, 3, 10, 3, 12, 3, 63, 9, 3, 1, 4, 3, 4, 66, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 77, 8, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 151, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 163, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 175, 8, 8, 1, 9, 1, 9, 1, 9, 5, 9, 180, 8, 9, 10, 9, 12, 9, 183, 9, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 5, 12, 195, 8, 12, 10, 12, 12, 12, 198, 9, 12, 1, 13, 1, 13, 1, 13, 3, 13, 203, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 0, 0, 17, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 0, 6, 1, 0, 28, 29, 1, 0, 7, 8, 2, 0, 13, 13, 15, 15, 2, 0, 14, 14, 16, 16, 1, 0, 30, 33, 1, 0, 34, 37, 227, 0, 34, 1, 0, 0, 0, 2, 45, 1, 0, 0, 0, 4, 47, 1, 0, 0, 0, 6, 55, 1, 0, 0, 0, 8, 65, 1, 0, 0, 0, 10, 76, 1, 0, 0, 0, 12, 150, 1, 0, 0, 0, 14, 162, 1, 0, 0, 0, 16, 174, 1, 0, 0, 0, 18, 176, 1, 0, 0, 0, 20, 184, 1, 0, 0, 0, 22, 186, 1, 0, 0, 0, 24, 191, 1, 0, 0, 0, 26, 202, 1, 0, 0, 0, 28, 204, 1, 0, 0, 0, 30, 208, 1, 0, 0, 0, 32, 210, 1, 0, 0, 0, 34, 40, 3, 2, 1, 0, 35, 36, 7, 0, 0, 0, 36, 39, 3, 2, 1, 0, 37, 39, 3, 2, 1, 0, 38, 35, 1, 0, 0, 0, 38, 37, 1, 0, 0, 0, 39, 42, 1, 0, 0, 0, 40, 38, 1, 0, 0, 0, 40, 41, 1, 0, 0, 0, 41, 43, 1, 0, 0, 0, 42, 40, 1, 0, 0, 0, 43, 44, 5, 0, 0, 1, 44, 1, 1, 0, 0, 0, 45, 46, 3, 4, 2, 0, 46, 3, 1, 0, 0, 0, 47, 52, 3, 6, 3, 0, 48, 49, 5, 29, 0, 0, 49, 51, 3, 6, 3, 0, 50, 48, 1, 0, 0, 0, 51, 54, 1, 0, 0, 0, 52, 50, 1, 0, 0, 0, 52, 53, 1, 0, 0, 0, 53, 5, 1, 0, 0, 0, 54, 52, 1, 0, 0, 0, 55, 61, 3, 8, 4, 0, 56, 57, 5, 28, 0, 0, 57, 60, 3, 8, 4, 0, 58, 60, 3, 8, 4, 0, 59, 56, 1, 0, 0, 0, 59, 58, 1, 0, 0, 0, 60, 63, 1, 0, 0, 0, 61, 59, 1, 0, 0, 0, 61, 62, 1, 0, 0, 0, 62, 7, 1, 0, 0, 0, 63, 61, 1, 0, 0, 0, 64, 66, 5, 27, 0, 0, 65, 64, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 67, 1, 0, 0, 0, 67, 68, 3, 10, 5, 0, 68, 9, 1, 0, 0, 0, 69, 70, 5, 1, 0, 0, 70, 71, 3, 4, 2, 0, 71, 72, 5, 2, 0, 0, 72, 77, 1, 0, 0, 0, 73, 77, 3, 12, 6, 0, 74, 77, 3, 22, 11, 0, 75, 77, 3, 20, 10, 0, 76, 69, 1, 0, 0, 0, 76, 73, 1, 0, 0, 0, 76, 74, 1, 0, 0, 0, 76, 75, 1, 0, 0, 0, 77, 11, 1, 0, 0, 0, 78, 79, 3, 32, 16, 0, 79, 80, 5, 6, 0, 0, 80, 81, 3, 30, 15, 0, 81, 151, 1, 0, 0, 0, 82, 83, 3, 32, 16, 0, 83, 84, 7, 1, 0, 0, 84, 85, 3, 30, 15, 0, 85, 151, 1, 0, 0, 0, 86, 87, 3, 32, 16, 0, 87, 88, 5, 9, 0, 0, 88, 89, 3, 30, 15, 0, 89, 151, 1, 0, 0, 0, 90, 91, 3, 32, 16, 0, 91, 92, 5, 10, 0, 0, 92, 93, 3, 30, 15, 0, 93, 151, 1, 0, 0, 0, 94, 95, 3, 32, 16, 0, 95, 96, 5, 11, 0, 0, 96, 97, 3, 30, 15, 0, 97, 151, 1, 0, 0, 0, 98, 99, 3, 32, 16, 0, 99, 100, 5, 12, 0, 0, 100, 101, 3, 30, 15, 0, 101, 151, 1, 0, 0, 0, 102, 103, 3, 32, 16, 0, 103, 104, 7, 2, 0, 0, 104, 105, 3, 30, 15, 0, 105, 151, 1, 0, 0, 0, 106, 107, 3, 32, 16, 0, 107, 108, 7, 3, 0, 0, 108, 109, 3, 30, 15, 0, 109, 151, 1, 0, 0, 0, 110, 111, 3, 32, 16, 0, 111, 112, 5, 17, 0, 0, 112, 113, 3, 30, 15, 0, 113, 114, 5, 28, 0, 0, 114, 115, 3, 30, 15, 0, 115, 151, 1, 0, 0, 0, 116, 117, 3, 32, 16, 0, 117, 118, 5, 18, 0, 0, 118, 119, 3, 30, 15, 0, 119, 120, 5, 28, 0, 0, 120, 121, 3, 30, 15, 0, 121, 151, 1, 0, 0, 0, 122, 123, 3, 32, 16, 0, 123, 124, 3, 14, 7, 0, 124, 151, 1, 0, 0, 0, 125, 126, 3, 32, 16, 0, 126, 127, 3, 16, 8, 0, 127, 151, 1, 0, 0, 0, 128, 129, 3, 32, 16, 0, 129, 130, 5, 19, 0, 0, 130, 151, 1, 0, 0, 0, 131, 132, 3, 32, 16, 0, 132, 133, 5, 20, 0, 0, 133, 151, 1, 0, 0, 0, 134, 135, 3, 32, 16, 0, 135, 136, 5, 21, 0, 0, 136, 137, 3, 30, 15, 0, 137, 151, 1, 0, 0, 0, 138, 139, 3, 32, 16, 0, 139, 140, 5, 22, 0, 0, 140, 141, 3, 30, 15, 0, 141, 151, 1, 0, 0, 0, 142, 143, 3, 32, 16, 0, 143, 144, 5, 23, 0, 0, 144, 145, 3, 30, 15, 0, 145, 151, 1, 0, 0, 0, 146, 147, 3, 32, 16, 0, 147, 148, 5, 24, 0, 0, 148, 149, 3, 30, 15, 0, 149, 151, 1, 0, 0, 0, 150, 78, 1, 0, 0, 0, 150, 82, 1, 0, 0, 0, 150, 86, 1, 0, 0, 0, 150, 90, 1, 0, 0, 0, 150, 94, 1, 0, 0, 0, 150, 98, 1, 0, 0, 0, 150, 102, 1, 0, 0, 0, 150, 106, 1, 0, 0, 0, 150, 110, 1, 0, 0, 0, 150, 116, 1, 0, 0, 0, 150, 122, 1, 0, 0, 0, 150, 125, 1, 0, 0, 0, 150, 128, 1, 0, 0, 0, 150, 131, 1, 0, 0, 0, 150, 134, 1, 0, 0, 0, 150, 138, 1, 0, 0, 0, 150, 142, 1, 0, 0, 0, 150, 146, 1, 0, 0, 0, 151, 13, 1, 0, 0, 0, 152, 153, 5, 25, 0, 0, 153, 154, 5, 1, 0, 0, 154, 155, 3, 18, 9, 0, 155, 156, 5, 2, 0, 0, 156, 163, 1, 0, 0, 0, 157, 158, 5, 25, 0, 0, 158, 159, 5, 3, 0, 0, 159, 160, 3, 18, 9, 0, 160, 161, 5, 4, 0, 0, 161, 163, 1, 0, 0, 0, 162, 152, 1, 0, 0, 0, 162, 157, 1, 0, 0, 0, 163, 15, 1, 0, 0, 0, 164, 165, 5, 26, 0, 0, 165, 166, 5, 1, 0, 0, 166, 167, 3, 18, 9, 0, 167, 168, 5, 2, 0, 0, 168, 175, 1, 0, 0, 0, 169, 170, 5, 26, 0, 0, 170, 171, 5, 3, 0, 0, 171, 172, 3, 18, 9, 0, 172, 173, 5, 4, 0, 0, 173, 175, 1, 0, 0, 0, 174, 164, 1, 0, 0, 0, 174, 169, 1, 0, 0, 0, 175, 17, 1, 0, 0, 0, 176, 181, 3, 30, 15, 0, 177, 178, 5, 5, 0, 0, 178, 180, 3, 30, 15, 0, 179, 177, 1, 0, 0, 0, 180, 183, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 19, 1, 0, 0, 0, 183, 181, 1, 0, 0, 0, 184, 185, 5, 36, 0, 0, 185, 21, 1, 0, 0, 0, 186, 187, 7, 4, 0, 0, 187, 188, 5, 1, 0, 0, 188, 189, 3, 24, 12, 0, 189, 190, 5, 2, 0, 0, 190, 23, 1, 0, 0, 0, 191, 196, 3, 26, 13, 0, 192, 193, 5, 5, 0, 0, 193, 195, 3, 26, 13, 0, 194, 192, 1, 0, 0, 0, 195, 198, 1, 0, 0, 0, 196, 194, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197, 25, 1, 0, 0, 0, 198, 196, 1, 0, 0, 0, 199, 203, 3, 32, 16, 0, 200, 203, 3, 30, 15, 0, 201, 203, 3, 28, 14, 0, 202, 199, 1, 0, 0, 0, 202, 200, 1, 0, 0, 0, 202, 201, 1, 0, 0, 0, 203, 27, 1, 0, 0, 0, 204, 205, 5, 3, 0, 0, 205, 206, 3, 18, 9, 0, 206, 207, 5, 4, 0, 0, 207, 29, 1, 0, 0, 0, 208, 209, 7, 5, 0, 0, 209, 31, 1, 0, 0, 0, 210, 211, 5, 37, 0, 0, 211, 33, 1, 0, 0, 0, 13, 38, 40, 52, 59, 61, 65, 76, 150, 162, 174, 181, 196, 202] \ No newline at end of file diff --git a/frontend/src/parser/FilterQuery.tokens b/frontend/src/parser/FilterQuery.tokens index 685911112d34..58b4f992a113 100644 --- a/frontend/src/parser/FilterQuery.tokens +++ b/frontend/src/parser/FilterQuery.tokens @@ -18,26 +18,24 @@ BETWEEN=17 NOT_BETWEEN=18 EXISTS=19 NOT_EXISTS=20 -IS_NULL=21 -IS_NOT_NULL=22 -REGEXP=23 -NOT_REGEXP=24 -CONTAINS=25 -NOT_CONTAINS=26 -IN=27 -NOT_IN=28 -NOT=29 -AND=30 -OR=31 -HAS=32 -HASANY=33 -HASALL=34 -HASNONE=35 -BOOL=36 -NUMBER=37 -QUOTED_TEXT=38 -KEY=39 -WS=40 +REGEXP=21 +NOT_REGEXP=22 +CONTAINS=23 +NOT_CONTAINS=24 +IN=25 +NOT_IN=26 +NOT=27 +AND=28 +OR=29 +HAS=30 +HASANY=31 +HASALL=32 +HASNONE=33 +BOOL=34 +NUMBER=35 +QUOTED_TEXT=36 +KEY=37 +WS=38 '('=1 ')'=2 '['=3 diff --git a/frontend/src/parser/FilterQueryLexer.interp b/frontend/src/parser/FilterQueryLexer.interp index bf779763b386..487550a8103b 100644 --- a/frontend/src/parser/FilterQueryLexer.interp +++ b/frontend/src/parser/FilterQueryLexer.interp @@ -38,8 +38,6 @@ null null null null -null -null token symbolic names: null @@ -63,8 +61,6 @@ BETWEEN NOT_BETWEEN EXISTS NOT_EXISTS -IS_NULL -IS_NOT_NULL REGEXP NOT_REGEXP CONTAINS @@ -105,8 +101,6 @@ BETWEEN NOT_BETWEEN EXISTS NOT_EXISTS -IS_NULL -IS_NOT_NULL REGEXP NOT_REGEXP CONTAINS @@ -135,4 +129,4 @@ mode names: DEFAULT_MODE atn: -[4, 0, 40, 355, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 3, 5, 97, 8, 5, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 171, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 183, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 231, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 245, 8, 25, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 3, 35, 303, 8, 35, 1, 36, 4, 36, 306, 8, 36, 11, 36, 12, 36, 307, 1, 36, 1, 36, 4, 36, 312, 8, 36, 11, 36, 12, 36, 313, 3, 36, 316, 8, 36, 1, 37, 1, 37, 1, 37, 1, 37, 5, 37, 322, 8, 37, 10, 37, 12, 37, 325, 9, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 5, 37, 332, 8, 37, 10, 37, 12, 37, 335, 9, 37, 1, 37, 3, 37, 338, 8, 37, 1, 38, 1, 38, 5, 38, 342, 8, 38, 10, 38, 12, 38, 345, 9, 38, 1, 39, 4, 39, 348, 8, 39, 11, 39, 12, 39, 349, 1, 39, 1, 39, 1, 40, 1, 40, 0, 0, 41, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 0, 1, 0, 27, 2, 0, 76, 76, 108, 108, 2, 0, 73, 73, 105, 105, 2, 0, 75, 75, 107, 107, 2, 0, 69, 69, 101, 101, 2, 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, 2, 0, 84, 84, 116, 116, 2, 0, 66, 66, 98, 98, 2, 0, 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, 0, 83, 83, 115, 115, 2, 0, 85, 85, 117, 117, 2, 0, 82, 82, 114, 114, 2, 0, 71, 71, 103, 103, 2, 0, 80, 80, 112, 112, 2, 0, 67, 67, 99, 99, 2, 0, 65, 65, 97, 97, 2, 0, 68, 68, 100, 100, 2, 0, 72, 72, 104, 104, 2, 0, 89, 89, 121, 121, 2, 0, 70, 70, 102, 102, 2, 0, 34, 34, 92, 92, 2, 0, 39, 39, 92, 92, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 6, 0, 46, 46, 48, 57, 65, 91, 93, 93, 95, 95, 97, 122, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 48, 57, 369, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 1, 83, 1, 0, 0, 0, 3, 85, 1, 0, 0, 0, 5, 87, 1, 0, 0, 0, 7, 89, 1, 0, 0, 0, 9, 91, 1, 0, 0, 0, 11, 96, 1, 0, 0, 0, 13, 98, 1, 0, 0, 0, 15, 101, 1, 0, 0, 0, 17, 104, 1, 0, 0, 0, 19, 106, 1, 0, 0, 0, 21, 109, 1, 0, 0, 0, 23, 111, 1, 0, 0, 0, 25, 114, 1, 0, 0, 0, 27, 119, 1, 0, 0, 0, 29, 128, 1, 0, 0, 0, 31, 134, 1, 0, 0, 0, 33, 144, 1, 0, 0, 0, 35, 152, 1, 0, 0, 0, 37, 164, 1, 0, 0, 0, 39, 172, 1, 0, 0, 0, 41, 184, 1, 0, 0, 0, 43, 192, 1, 0, 0, 0, 45, 204, 1, 0, 0, 0, 47, 211, 1, 0, 0, 0, 49, 222, 1, 0, 0, 0, 51, 232, 1, 0, 0, 0, 53, 246, 1, 0, 0, 0, 55, 249, 1, 0, 0, 0, 57, 256, 1, 0, 0, 0, 59, 260, 1, 0, 0, 0, 61, 264, 1, 0, 0, 0, 63, 267, 1, 0, 0, 0, 65, 271, 1, 0, 0, 0, 67, 278, 1, 0, 0, 0, 69, 285, 1, 0, 0, 0, 71, 302, 1, 0, 0, 0, 73, 305, 1, 0, 0, 0, 75, 337, 1, 0, 0, 0, 77, 339, 1, 0, 0, 0, 79, 347, 1, 0, 0, 0, 81, 353, 1, 0, 0, 0, 83, 84, 5, 40, 0, 0, 84, 2, 1, 0, 0, 0, 85, 86, 5, 41, 0, 0, 86, 4, 1, 0, 0, 0, 87, 88, 5, 91, 0, 0, 88, 6, 1, 0, 0, 0, 89, 90, 5, 93, 0, 0, 90, 8, 1, 0, 0, 0, 91, 92, 5, 44, 0, 0, 92, 10, 1, 0, 0, 0, 93, 97, 5, 61, 0, 0, 94, 95, 5, 61, 0, 0, 95, 97, 5, 61, 0, 0, 96, 93, 1, 0, 0, 0, 96, 94, 1, 0, 0, 0, 97, 12, 1, 0, 0, 0, 98, 99, 5, 33, 0, 0, 99, 100, 5, 61, 0, 0, 100, 14, 1, 0, 0, 0, 101, 102, 5, 60, 0, 0, 102, 103, 5, 62, 0, 0, 103, 16, 1, 0, 0, 0, 104, 105, 5, 60, 0, 0, 105, 18, 1, 0, 0, 0, 106, 107, 5, 60, 0, 0, 107, 108, 5, 61, 0, 0, 108, 20, 1, 0, 0, 0, 109, 110, 5, 62, 0, 0, 110, 22, 1, 0, 0, 0, 111, 112, 5, 62, 0, 0, 112, 113, 5, 61, 0, 0, 113, 24, 1, 0, 0, 0, 114, 115, 7, 0, 0, 0, 115, 116, 7, 1, 0, 0, 116, 117, 7, 2, 0, 0, 117, 118, 7, 3, 0, 0, 118, 26, 1, 0, 0, 0, 119, 120, 7, 4, 0, 0, 120, 121, 7, 5, 0, 0, 121, 122, 7, 6, 0, 0, 122, 123, 5, 95, 0, 0, 123, 124, 7, 0, 0, 0, 124, 125, 7, 1, 0, 0, 125, 126, 7, 2, 0, 0, 126, 127, 7, 3, 0, 0, 127, 28, 1, 0, 0, 0, 128, 129, 7, 1, 0, 0, 129, 130, 7, 0, 0, 0, 130, 131, 7, 1, 0, 0, 131, 132, 7, 2, 0, 0, 132, 133, 7, 3, 0, 0, 133, 30, 1, 0, 0, 0, 134, 135, 7, 4, 0, 0, 135, 136, 7, 5, 0, 0, 136, 137, 7, 6, 0, 0, 137, 138, 5, 95, 0, 0, 138, 139, 7, 1, 0, 0, 139, 140, 7, 0, 0, 0, 140, 141, 7, 1, 0, 0, 141, 142, 7, 2, 0, 0, 142, 143, 7, 3, 0, 0, 143, 32, 1, 0, 0, 0, 144, 145, 7, 7, 0, 0, 145, 146, 7, 3, 0, 0, 146, 147, 7, 6, 0, 0, 147, 148, 7, 8, 0, 0, 148, 149, 7, 3, 0, 0, 149, 150, 7, 3, 0, 0, 150, 151, 7, 4, 0, 0, 151, 34, 1, 0, 0, 0, 152, 153, 7, 4, 0, 0, 153, 154, 7, 5, 0, 0, 154, 155, 7, 6, 0, 0, 155, 156, 5, 95, 0, 0, 156, 157, 7, 7, 0, 0, 157, 158, 7, 3, 0, 0, 158, 159, 7, 6, 0, 0, 159, 160, 7, 8, 0, 0, 160, 161, 7, 3, 0, 0, 161, 162, 7, 3, 0, 0, 162, 163, 7, 4, 0, 0, 163, 36, 1, 0, 0, 0, 164, 165, 7, 3, 0, 0, 165, 166, 7, 9, 0, 0, 166, 167, 7, 1, 0, 0, 167, 168, 7, 10, 0, 0, 168, 170, 7, 6, 0, 0, 169, 171, 7, 10, 0, 0, 170, 169, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 38, 1, 0, 0, 0, 172, 173, 7, 4, 0, 0, 173, 174, 7, 5, 0, 0, 174, 175, 7, 6, 0, 0, 175, 176, 5, 45, 0, 0, 176, 177, 7, 3, 0, 0, 177, 178, 7, 9, 0, 0, 178, 179, 7, 1, 0, 0, 179, 180, 7, 10, 0, 0, 180, 182, 7, 6, 0, 0, 181, 183, 7, 10, 0, 0, 182, 181, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 40, 1, 0, 0, 0, 184, 185, 7, 1, 0, 0, 185, 186, 7, 10, 0, 0, 186, 187, 5, 95, 0, 0, 187, 188, 7, 4, 0, 0, 188, 189, 7, 11, 0, 0, 189, 190, 7, 0, 0, 0, 190, 191, 7, 0, 0, 0, 191, 42, 1, 0, 0, 0, 192, 193, 7, 1, 0, 0, 193, 194, 7, 10, 0, 0, 194, 195, 5, 95, 0, 0, 195, 196, 7, 4, 0, 0, 196, 197, 7, 5, 0, 0, 197, 198, 7, 6, 0, 0, 198, 199, 5, 95, 0, 0, 199, 200, 7, 4, 0, 0, 200, 201, 7, 11, 0, 0, 201, 202, 7, 0, 0, 0, 202, 203, 7, 0, 0, 0, 203, 44, 1, 0, 0, 0, 204, 205, 7, 12, 0, 0, 205, 206, 7, 3, 0, 0, 206, 207, 7, 13, 0, 0, 207, 208, 7, 3, 0, 0, 208, 209, 7, 9, 0, 0, 209, 210, 7, 14, 0, 0, 210, 46, 1, 0, 0, 0, 211, 212, 7, 4, 0, 0, 212, 213, 7, 5, 0, 0, 213, 214, 7, 6, 0, 0, 214, 215, 5, 95, 0, 0, 215, 216, 7, 12, 0, 0, 216, 217, 7, 3, 0, 0, 217, 218, 7, 13, 0, 0, 218, 219, 7, 3, 0, 0, 219, 220, 7, 9, 0, 0, 220, 221, 7, 14, 0, 0, 221, 48, 1, 0, 0, 0, 222, 223, 7, 15, 0, 0, 223, 224, 7, 5, 0, 0, 224, 225, 7, 4, 0, 0, 225, 226, 7, 6, 0, 0, 226, 227, 7, 16, 0, 0, 227, 228, 7, 1, 0, 0, 228, 230, 7, 4, 0, 0, 229, 231, 7, 10, 0, 0, 230, 229, 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 50, 1, 0, 0, 0, 232, 233, 7, 4, 0, 0, 233, 234, 7, 5, 0, 0, 234, 235, 7, 6, 0, 0, 235, 236, 5, 95, 0, 0, 236, 237, 7, 15, 0, 0, 237, 238, 7, 5, 0, 0, 238, 239, 7, 4, 0, 0, 239, 240, 7, 6, 0, 0, 240, 241, 7, 16, 0, 0, 241, 242, 7, 1, 0, 0, 242, 244, 7, 4, 0, 0, 243, 245, 7, 10, 0, 0, 244, 243, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, 52, 1, 0, 0, 0, 246, 247, 7, 1, 0, 0, 247, 248, 7, 4, 0, 0, 248, 54, 1, 0, 0, 0, 249, 250, 7, 4, 0, 0, 250, 251, 7, 5, 0, 0, 251, 252, 7, 6, 0, 0, 252, 253, 5, 95, 0, 0, 253, 254, 7, 1, 0, 0, 254, 255, 7, 4, 0, 0, 255, 56, 1, 0, 0, 0, 256, 257, 7, 4, 0, 0, 257, 258, 7, 5, 0, 0, 258, 259, 7, 6, 0, 0, 259, 58, 1, 0, 0, 0, 260, 261, 7, 16, 0, 0, 261, 262, 7, 4, 0, 0, 262, 263, 7, 17, 0, 0, 263, 60, 1, 0, 0, 0, 264, 265, 7, 5, 0, 0, 265, 266, 7, 12, 0, 0, 266, 62, 1, 0, 0, 0, 267, 268, 7, 18, 0, 0, 268, 269, 7, 16, 0, 0, 269, 270, 7, 10, 0, 0, 270, 64, 1, 0, 0, 0, 271, 272, 7, 18, 0, 0, 272, 273, 7, 16, 0, 0, 273, 274, 7, 10, 0, 0, 274, 275, 7, 16, 0, 0, 275, 276, 7, 4, 0, 0, 276, 277, 7, 19, 0, 0, 277, 66, 1, 0, 0, 0, 278, 279, 7, 18, 0, 0, 279, 280, 7, 16, 0, 0, 280, 281, 7, 10, 0, 0, 281, 282, 7, 16, 0, 0, 282, 283, 7, 0, 0, 0, 283, 284, 7, 0, 0, 0, 284, 68, 1, 0, 0, 0, 285, 286, 7, 18, 0, 0, 286, 287, 7, 16, 0, 0, 287, 288, 7, 10, 0, 0, 288, 289, 7, 4, 0, 0, 289, 290, 7, 5, 0, 0, 290, 291, 7, 4, 0, 0, 291, 292, 7, 3, 0, 0, 292, 70, 1, 0, 0, 0, 293, 294, 7, 6, 0, 0, 294, 295, 7, 12, 0, 0, 295, 296, 7, 11, 0, 0, 296, 303, 7, 3, 0, 0, 297, 298, 7, 20, 0, 0, 298, 299, 7, 16, 0, 0, 299, 300, 7, 0, 0, 0, 300, 301, 7, 10, 0, 0, 301, 303, 7, 3, 0, 0, 302, 293, 1, 0, 0, 0, 302, 297, 1, 0, 0, 0, 303, 72, 1, 0, 0, 0, 304, 306, 3, 81, 40, 0, 305, 304, 1, 0, 0, 0, 306, 307, 1, 0, 0, 0, 307, 305, 1, 0, 0, 0, 307, 308, 1, 0, 0, 0, 308, 315, 1, 0, 0, 0, 309, 311, 5, 46, 0, 0, 310, 312, 3, 81, 40, 0, 311, 310, 1, 0, 0, 0, 312, 313, 1, 0, 0, 0, 313, 311, 1, 0, 0, 0, 313, 314, 1, 0, 0, 0, 314, 316, 1, 0, 0, 0, 315, 309, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316, 74, 1, 0, 0, 0, 317, 323, 5, 34, 0, 0, 318, 322, 8, 21, 0, 0, 319, 320, 5, 92, 0, 0, 320, 322, 9, 0, 0, 0, 321, 318, 1, 0, 0, 0, 321, 319, 1, 0, 0, 0, 322, 325, 1, 0, 0, 0, 323, 321, 1, 0, 0, 0, 323, 324, 1, 0, 0, 0, 324, 326, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 326, 338, 5, 34, 0, 0, 327, 333, 5, 39, 0, 0, 328, 332, 8, 22, 0, 0, 329, 330, 5, 92, 0, 0, 330, 332, 9, 0, 0, 0, 331, 328, 1, 0, 0, 0, 331, 329, 1, 0, 0, 0, 332, 335, 1, 0, 0, 0, 333, 331, 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 336, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 336, 338, 5, 39, 0, 0, 337, 317, 1, 0, 0, 0, 337, 327, 1, 0, 0, 0, 338, 76, 1, 0, 0, 0, 339, 343, 7, 23, 0, 0, 340, 342, 7, 24, 0, 0, 341, 340, 1, 0, 0, 0, 342, 345, 1, 0, 0, 0, 343, 341, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 78, 1, 0, 0, 0, 345, 343, 1, 0, 0, 0, 346, 348, 7, 25, 0, 0, 347, 346, 1, 0, 0, 0, 348, 349, 1, 0, 0, 0, 349, 347, 1, 0, 0, 0, 349, 350, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 351, 352, 6, 39, 0, 0, 352, 80, 1, 0, 0, 0, 353, 354, 7, 26, 0, 0, 354, 82, 1, 0, 0, 0, 17, 0, 96, 170, 182, 230, 244, 302, 307, 313, 315, 321, 323, 331, 333, 337, 343, 349, 1, 6, 0, 0] \ No newline at end of file +[4, 0, 38, 331, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 3, 5, 93, 8, 5, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 167, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 179, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 3, 22, 207, 8, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 221, 8, 23, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 279, 8, 33, 1, 34, 4, 34, 282, 8, 34, 11, 34, 12, 34, 283, 1, 34, 1, 34, 4, 34, 288, 8, 34, 11, 34, 12, 34, 289, 3, 34, 292, 8, 34, 1, 35, 1, 35, 1, 35, 1, 35, 5, 35, 298, 8, 35, 10, 35, 12, 35, 301, 9, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 5, 35, 308, 8, 35, 10, 35, 12, 35, 311, 9, 35, 1, 35, 3, 35, 314, 8, 35, 1, 36, 1, 36, 5, 36, 318, 8, 36, 10, 36, 12, 36, 321, 9, 36, 1, 37, 4, 37, 324, 8, 37, 11, 37, 12, 37, 325, 1, 37, 1, 37, 1, 38, 1, 38, 0, 0, 39, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 0, 1, 0, 27, 2, 0, 76, 76, 108, 108, 2, 0, 73, 73, 105, 105, 2, 0, 75, 75, 107, 107, 2, 0, 69, 69, 101, 101, 2, 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, 2, 0, 84, 84, 116, 116, 2, 0, 66, 66, 98, 98, 2, 0, 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, 0, 83, 83, 115, 115, 2, 0, 82, 82, 114, 114, 2, 0, 71, 71, 103, 103, 2, 0, 80, 80, 112, 112, 2, 0, 67, 67, 99, 99, 2, 0, 65, 65, 97, 97, 2, 0, 68, 68, 100, 100, 2, 0, 72, 72, 104, 104, 2, 0, 89, 89, 121, 121, 2, 0, 85, 85, 117, 117, 2, 0, 70, 70, 102, 102, 2, 0, 34, 34, 92, 92, 2, 0, 39, 39, 92, 92, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 6, 0, 46, 46, 48, 57, 65, 91, 93, 93, 95, 95, 97, 122, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 48, 57, 345, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 1, 79, 1, 0, 0, 0, 3, 81, 1, 0, 0, 0, 5, 83, 1, 0, 0, 0, 7, 85, 1, 0, 0, 0, 9, 87, 1, 0, 0, 0, 11, 92, 1, 0, 0, 0, 13, 94, 1, 0, 0, 0, 15, 97, 1, 0, 0, 0, 17, 100, 1, 0, 0, 0, 19, 102, 1, 0, 0, 0, 21, 105, 1, 0, 0, 0, 23, 107, 1, 0, 0, 0, 25, 110, 1, 0, 0, 0, 27, 115, 1, 0, 0, 0, 29, 124, 1, 0, 0, 0, 31, 130, 1, 0, 0, 0, 33, 140, 1, 0, 0, 0, 35, 148, 1, 0, 0, 0, 37, 160, 1, 0, 0, 0, 39, 168, 1, 0, 0, 0, 41, 180, 1, 0, 0, 0, 43, 187, 1, 0, 0, 0, 45, 198, 1, 0, 0, 0, 47, 208, 1, 0, 0, 0, 49, 222, 1, 0, 0, 0, 51, 225, 1, 0, 0, 0, 53, 232, 1, 0, 0, 0, 55, 236, 1, 0, 0, 0, 57, 240, 1, 0, 0, 0, 59, 243, 1, 0, 0, 0, 61, 247, 1, 0, 0, 0, 63, 254, 1, 0, 0, 0, 65, 261, 1, 0, 0, 0, 67, 278, 1, 0, 0, 0, 69, 281, 1, 0, 0, 0, 71, 313, 1, 0, 0, 0, 73, 315, 1, 0, 0, 0, 75, 323, 1, 0, 0, 0, 77, 329, 1, 0, 0, 0, 79, 80, 5, 40, 0, 0, 80, 2, 1, 0, 0, 0, 81, 82, 5, 41, 0, 0, 82, 4, 1, 0, 0, 0, 83, 84, 5, 91, 0, 0, 84, 6, 1, 0, 0, 0, 85, 86, 5, 93, 0, 0, 86, 8, 1, 0, 0, 0, 87, 88, 5, 44, 0, 0, 88, 10, 1, 0, 0, 0, 89, 93, 5, 61, 0, 0, 90, 91, 5, 61, 0, 0, 91, 93, 5, 61, 0, 0, 92, 89, 1, 0, 0, 0, 92, 90, 1, 0, 0, 0, 93, 12, 1, 0, 0, 0, 94, 95, 5, 33, 0, 0, 95, 96, 5, 61, 0, 0, 96, 14, 1, 0, 0, 0, 97, 98, 5, 60, 0, 0, 98, 99, 5, 62, 0, 0, 99, 16, 1, 0, 0, 0, 100, 101, 5, 60, 0, 0, 101, 18, 1, 0, 0, 0, 102, 103, 5, 60, 0, 0, 103, 104, 5, 61, 0, 0, 104, 20, 1, 0, 0, 0, 105, 106, 5, 62, 0, 0, 106, 22, 1, 0, 0, 0, 107, 108, 5, 62, 0, 0, 108, 109, 5, 61, 0, 0, 109, 24, 1, 0, 0, 0, 110, 111, 7, 0, 0, 0, 111, 112, 7, 1, 0, 0, 112, 113, 7, 2, 0, 0, 113, 114, 7, 3, 0, 0, 114, 26, 1, 0, 0, 0, 115, 116, 7, 4, 0, 0, 116, 117, 7, 5, 0, 0, 117, 118, 7, 6, 0, 0, 118, 119, 5, 95, 0, 0, 119, 120, 7, 0, 0, 0, 120, 121, 7, 1, 0, 0, 121, 122, 7, 2, 0, 0, 122, 123, 7, 3, 0, 0, 123, 28, 1, 0, 0, 0, 124, 125, 7, 1, 0, 0, 125, 126, 7, 0, 0, 0, 126, 127, 7, 1, 0, 0, 127, 128, 7, 2, 0, 0, 128, 129, 7, 3, 0, 0, 129, 30, 1, 0, 0, 0, 130, 131, 7, 4, 0, 0, 131, 132, 7, 5, 0, 0, 132, 133, 7, 6, 0, 0, 133, 134, 5, 95, 0, 0, 134, 135, 7, 1, 0, 0, 135, 136, 7, 0, 0, 0, 136, 137, 7, 1, 0, 0, 137, 138, 7, 2, 0, 0, 138, 139, 7, 3, 0, 0, 139, 32, 1, 0, 0, 0, 140, 141, 7, 7, 0, 0, 141, 142, 7, 3, 0, 0, 142, 143, 7, 6, 0, 0, 143, 144, 7, 8, 0, 0, 144, 145, 7, 3, 0, 0, 145, 146, 7, 3, 0, 0, 146, 147, 7, 4, 0, 0, 147, 34, 1, 0, 0, 0, 148, 149, 7, 4, 0, 0, 149, 150, 7, 5, 0, 0, 150, 151, 7, 6, 0, 0, 151, 152, 5, 95, 0, 0, 152, 153, 7, 7, 0, 0, 153, 154, 7, 3, 0, 0, 154, 155, 7, 6, 0, 0, 155, 156, 7, 8, 0, 0, 156, 157, 7, 3, 0, 0, 157, 158, 7, 3, 0, 0, 158, 159, 7, 4, 0, 0, 159, 36, 1, 0, 0, 0, 160, 161, 7, 3, 0, 0, 161, 162, 7, 9, 0, 0, 162, 163, 7, 1, 0, 0, 163, 164, 7, 10, 0, 0, 164, 166, 7, 6, 0, 0, 165, 167, 7, 10, 0, 0, 166, 165, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 38, 1, 0, 0, 0, 168, 169, 7, 4, 0, 0, 169, 170, 7, 5, 0, 0, 170, 171, 7, 6, 0, 0, 171, 172, 5, 45, 0, 0, 172, 173, 7, 3, 0, 0, 173, 174, 7, 9, 0, 0, 174, 175, 7, 1, 0, 0, 175, 176, 7, 10, 0, 0, 176, 178, 7, 6, 0, 0, 177, 179, 7, 10, 0, 0, 178, 177, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 40, 1, 0, 0, 0, 180, 181, 7, 11, 0, 0, 181, 182, 7, 3, 0, 0, 182, 183, 7, 12, 0, 0, 183, 184, 7, 3, 0, 0, 184, 185, 7, 9, 0, 0, 185, 186, 7, 13, 0, 0, 186, 42, 1, 0, 0, 0, 187, 188, 7, 4, 0, 0, 188, 189, 7, 5, 0, 0, 189, 190, 7, 6, 0, 0, 190, 191, 5, 95, 0, 0, 191, 192, 7, 11, 0, 0, 192, 193, 7, 3, 0, 0, 193, 194, 7, 12, 0, 0, 194, 195, 7, 3, 0, 0, 195, 196, 7, 9, 0, 0, 196, 197, 7, 13, 0, 0, 197, 44, 1, 0, 0, 0, 198, 199, 7, 14, 0, 0, 199, 200, 7, 5, 0, 0, 200, 201, 7, 4, 0, 0, 201, 202, 7, 6, 0, 0, 202, 203, 7, 15, 0, 0, 203, 204, 7, 1, 0, 0, 204, 206, 7, 4, 0, 0, 205, 207, 7, 10, 0, 0, 206, 205, 1, 0, 0, 0, 206, 207, 1, 0, 0, 0, 207, 46, 1, 0, 0, 0, 208, 209, 7, 4, 0, 0, 209, 210, 7, 5, 0, 0, 210, 211, 7, 6, 0, 0, 211, 212, 5, 95, 0, 0, 212, 213, 7, 14, 0, 0, 213, 214, 7, 5, 0, 0, 214, 215, 7, 4, 0, 0, 215, 216, 7, 6, 0, 0, 216, 217, 7, 15, 0, 0, 217, 218, 7, 1, 0, 0, 218, 220, 7, 4, 0, 0, 219, 221, 7, 10, 0, 0, 220, 219, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221, 48, 1, 0, 0, 0, 222, 223, 7, 1, 0, 0, 223, 224, 7, 4, 0, 0, 224, 50, 1, 0, 0, 0, 225, 226, 7, 4, 0, 0, 226, 227, 7, 5, 0, 0, 227, 228, 7, 6, 0, 0, 228, 229, 5, 95, 0, 0, 229, 230, 7, 1, 0, 0, 230, 231, 7, 4, 0, 0, 231, 52, 1, 0, 0, 0, 232, 233, 7, 4, 0, 0, 233, 234, 7, 5, 0, 0, 234, 235, 7, 6, 0, 0, 235, 54, 1, 0, 0, 0, 236, 237, 7, 15, 0, 0, 237, 238, 7, 4, 0, 0, 238, 239, 7, 16, 0, 0, 239, 56, 1, 0, 0, 0, 240, 241, 7, 5, 0, 0, 241, 242, 7, 11, 0, 0, 242, 58, 1, 0, 0, 0, 243, 244, 7, 17, 0, 0, 244, 245, 7, 15, 0, 0, 245, 246, 7, 10, 0, 0, 246, 60, 1, 0, 0, 0, 247, 248, 7, 17, 0, 0, 248, 249, 7, 15, 0, 0, 249, 250, 7, 10, 0, 0, 250, 251, 7, 15, 0, 0, 251, 252, 7, 4, 0, 0, 252, 253, 7, 18, 0, 0, 253, 62, 1, 0, 0, 0, 254, 255, 7, 17, 0, 0, 255, 256, 7, 15, 0, 0, 256, 257, 7, 10, 0, 0, 257, 258, 7, 15, 0, 0, 258, 259, 7, 0, 0, 0, 259, 260, 7, 0, 0, 0, 260, 64, 1, 0, 0, 0, 261, 262, 7, 17, 0, 0, 262, 263, 7, 15, 0, 0, 263, 264, 7, 10, 0, 0, 264, 265, 7, 4, 0, 0, 265, 266, 7, 5, 0, 0, 266, 267, 7, 4, 0, 0, 267, 268, 7, 3, 0, 0, 268, 66, 1, 0, 0, 0, 269, 270, 7, 6, 0, 0, 270, 271, 7, 11, 0, 0, 271, 272, 7, 19, 0, 0, 272, 279, 7, 3, 0, 0, 273, 274, 7, 20, 0, 0, 274, 275, 7, 15, 0, 0, 275, 276, 7, 0, 0, 0, 276, 277, 7, 10, 0, 0, 277, 279, 7, 3, 0, 0, 278, 269, 1, 0, 0, 0, 278, 273, 1, 0, 0, 0, 279, 68, 1, 0, 0, 0, 280, 282, 3, 77, 38, 0, 281, 280, 1, 0, 0, 0, 282, 283, 1, 0, 0, 0, 283, 281, 1, 0, 0, 0, 283, 284, 1, 0, 0, 0, 284, 291, 1, 0, 0, 0, 285, 287, 5, 46, 0, 0, 286, 288, 3, 77, 38, 0, 287, 286, 1, 0, 0, 0, 288, 289, 1, 0, 0, 0, 289, 287, 1, 0, 0, 0, 289, 290, 1, 0, 0, 0, 290, 292, 1, 0, 0, 0, 291, 285, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 70, 1, 0, 0, 0, 293, 299, 5, 34, 0, 0, 294, 298, 8, 21, 0, 0, 295, 296, 5, 92, 0, 0, 296, 298, 9, 0, 0, 0, 297, 294, 1, 0, 0, 0, 297, 295, 1, 0, 0, 0, 298, 301, 1, 0, 0, 0, 299, 297, 1, 0, 0, 0, 299, 300, 1, 0, 0, 0, 300, 302, 1, 0, 0, 0, 301, 299, 1, 0, 0, 0, 302, 314, 5, 34, 0, 0, 303, 309, 5, 39, 0, 0, 304, 308, 8, 22, 0, 0, 305, 306, 5, 92, 0, 0, 306, 308, 9, 0, 0, 0, 307, 304, 1, 0, 0, 0, 307, 305, 1, 0, 0, 0, 308, 311, 1, 0, 0, 0, 309, 307, 1, 0, 0, 0, 309, 310, 1, 0, 0, 0, 310, 312, 1, 0, 0, 0, 311, 309, 1, 0, 0, 0, 312, 314, 5, 39, 0, 0, 313, 293, 1, 0, 0, 0, 313, 303, 1, 0, 0, 0, 314, 72, 1, 0, 0, 0, 315, 319, 7, 23, 0, 0, 316, 318, 7, 24, 0, 0, 317, 316, 1, 0, 0, 0, 318, 321, 1, 0, 0, 0, 319, 317, 1, 0, 0, 0, 319, 320, 1, 0, 0, 0, 320, 74, 1, 0, 0, 0, 321, 319, 1, 0, 0, 0, 322, 324, 7, 25, 0, 0, 323, 322, 1, 0, 0, 0, 324, 325, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 325, 326, 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 6, 37, 0, 0, 328, 76, 1, 0, 0, 0, 329, 330, 7, 26, 0, 0, 330, 78, 1, 0, 0, 0, 17, 0, 92, 166, 178, 206, 220, 278, 283, 289, 291, 297, 299, 307, 309, 313, 319, 325, 1, 6, 0, 0] \ No newline at end of file diff --git a/frontend/src/parser/FilterQueryLexer.tokens b/frontend/src/parser/FilterQueryLexer.tokens index 685911112d34..58b4f992a113 100644 --- a/frontend/src/parser/FilterQueryLexer.tokens +++ b/frontend/src/parser/FilterQueryLexer.tokens @@ -18,26 +18,24 @@ BETWEEN=17 NOT_BETWEEN=18 EXISTS=19 NOT_EXISTS=20 -IS_NULL=21 -IS_NOT_NULL=22 -REGEXP=23 -NOT_REGEXP=24 -CONTAINS=25 -NOT_CONTAINS=26 -IN=27 -NOT_IN=28 -NOT=29 -AND=30 -OR=31 -HAS=32 -HASANY=33 -HASALL=34 -HASNONE=35 -BOOL=36 -NUMBER=37 -QUOTED_TEXT=38 -KEY=39 -WS=40 +REGEXP=21 +NOT_REGEXP=22 +CONTAINS=23 +NOT_CONTAINS=24 +IN=25 +NOT_IN=26 +NOT=27 +AND=28 +OR=29 +HAS=30 +HASANY=31 +HASALL=32 +HASNONE=33 +BOOL=34 +NUMBER=35 +QUOTED_TEXT=36 +KEY=37 +WS=38 '('=1 ')'=2 '['=3 diff --git a/frontend/src/parser/FilterQueryLexer.ts b/frontend/src/parser/FilterQueryLexer.ts index 79d9387f5eb3..5b9486b87ad5 100644 --- a/frontend/src/parser/FilterQueryLexer.ts +++ b/frontend/src/parser/FilterQueryLexer.ts @@ -32,26 +32,24 @@ export default class FilterQueryLexer extends Lexer { public static readonly NOT_BETWEEN = 18; public static readonly EXISTS = 19; public static readonly NOT_EXISTS = 20; - public static readonly IS_NULL = 21; - public static readonly IS_NOT_NULL = 22; - public static readonly REGEXP = 23; - public static readonly NOT_REGEXP = 24; - public static readonly CONTAINS = 25; - public static readonly NOT_CONTAINS = 26; - public static readonly IN = 27; - public static readonly NOT_IN = 28; - public static readonly NOT = 29; - public static readonly AND = 30; - public static readonly OR = 31; - public static readonly HAS = 32; - public static readonly HASANY = 33; - public static readonly HASALL = 34; - public static readonly HASNONE = 35; - public static readonly BOOL = 36; - public static readonly NUMBER = 37; - public static readonly QUOTED_TEXT = 38; - public static readonly KEY = 39; - public static readonly WS = 40; + public static readonly REGEXP = 21; + public static readonly NOT_REGEXP = 22; + public static readonly CONTAINS = 23; + public static readonly NOT_CONTAINS = 24; + public static readonly IN = 25; + public static readonly NOT_IN = 26; + public static readonly NOT = 27; + public static readonly AND = 28; + public static readonly OR = 29; + public static readonly HAS = 30; + public static readonly HASANY = 31; + public static readonly HASALL = 32; + public static readonly HASNONE = 33; + public static readonly BOOL = 34; + public static readonly NUMBER = 35; + public static readonly QUOTED_TEXT = 36; + public static readonly KEY = 37; + public static readonly WS = 38; public static readonly EOF = Token.EOF; public static readonly channelNames: string[] = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ]; @@ -74,8 +72,6 @@ export default class FilterQueryLexer extends Lexer { "BETWEEN", "NOT_BETWEEN", "EXISTS", "NOT_EXISTS", - "IS_NULL", - "IS_NOT_NULL", "REGEXP", "NOT_REGEXP", "CONTAINS", "NOT_CONTAINS", @@ -92,10 +88,10 @@ export default class FilterQueryLexer extends Lexer { public static readonly ruleNames: string[] = [ "LPAREN", "RPAREN", "LBRACK", "RBRACK", "COMMA", "EQUALS", "NOT_EQUALS", "NEQ", "LT", "LE", "GT", "GE", "LIKE", "NOT_LIKE", "ILIKE", "NOT_ILIKE", - "BETWEEN", "NOT_BETWEEN", "EXISTS", "NOT_EXISTS", "IS_NULL", "IS_NOT_NULL", - "REGEXP", "NOT_REGEXP", "CONTAINS", "NOT_CONTAINS", "IN", "NOT_IN", "NOT", - "AND", "OR", "HAS", "HASANY", "HASALL", "HASNONE", "BOOL", "NUMBER", "QUOTED_TEXT", - "KEY", "WS", "DIGIT", + "BETWEEN", "NOT_BETWEEN", "EXISTS", "NOT_EXISTS", "REGEXP", "NOT_REGEXP", + "CONTAINS", "NOT_CONTAINS", "IN", "NOT_IN", "NOT", "AND", "OR", "HAS", + "HASANY", "HASALL", "HASNONE", "BOOL", "NUMBER", "QUOTED_TEXT", "KEY", + "WS", "DIGIT", ]; @@ -116,124 +112,117 @@ export default class FilterQueryLexer extends Lexer { public get modeNames(): string[] { return FilterQueryLexer.modeNames; } - public static readonly _serializedATN: number[] = [4,0,40,355,6,-1,2,0, + public static readonly _serializedATN: number[] = [4,0,38,331,6,-1,2,0, 7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9, 7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7, 16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23, 2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2, 31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38, - 7,38,2,39,7,39,2,40,7,40,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1, - 5,1,5,3,5,97,8,5,1,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,10,1,10, - 1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15, - 1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1, - 17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18, - 1,18,3,18,171,8,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,3, - 19,183,8,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21, - 1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,1, - 22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24, - 1,24,1,24,1,24,1,24,1,24,3,24,231,8,24,1,25,1,25,1,25,1,25,1,25,1,25,1, - 25,1,25,1,25,1,25,1,25,1,25,3,25,245,8,25,1,26,1,26,1,26,1,27,1,27,1,27, - 1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,30,1,30,1, - 30,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33, - 1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1, - 35,1,35,1,35,1,35,1,35,1,35,1,35,3,35,303,8,35,1,36,4,36,306,8,36,11,36, - 12,36,307,1,36,1,36,4,36,312,8,36,11,36,12,36,313,3,36,316,8,36,1,37,1, - 37,1,37,1,37,5,37,322,8,37,10,37,12,37,325,9,37,1,37,1,37,1,37,1,37,1,37, - 5,37,332,8,37,10,37,12,37,335,9,37,1,37,3,37,338,8,37,1,38,1,38,5,38,342, - 8,38,10,38,12,38,345,9,38,1,39,4,39,348,8,39,11,39,12,39,349,1,39,1,39, - 1,40,1,40,0,0,41,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23, - 12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47, - 24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71, - 36,73,37,75,38,77,39,79,40,81,0,1,0,27,2,0,76,76,108,108,2,0,73,73,105, - 105,2,0,75,75,107,107,2,0,69,69,101,101,2,0,78,78,110,110,2,0,79,79,111, - 111,2,0,84,84,116,116,2,0,66,66,98,98,2,0,87,87,119,119,2,0,88,88,120,120, - 2,0,83,83,115,115,2,0,85,85,117,117,2,0,82,82,114,114,2,0,71,71,103,103, - 2,0,80,80,112,112,2,0,67,67,99,99,2,0,65,65,97,97,2,0,68,68,100,100,2,0, - 72,72,104,104,2,0,89,89,121,121,2,0,70,70,102,102,2,0,34,34,92,92,2,0,39, - 39,92,92,4,0,48,57,65,90,95,95,97,122,6,0,46,46,48,57,65,91,93,93,95,95, - 97,122,3,0,9,10,13,13,32,32,1,0,48,57,369,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1, - 0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0, - 17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0, - 0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0, - 39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0, - 0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0, - 61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0, - 0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,1,83,1,0,0,0,3, - 85,1,0,0,0,5,87,1,0,0,0,7,89,1,0,0,0,9,91,1,0,0,0,11,96,1,0,0,0,13,98,1, - 0,0,0,15,101,1,0,0,0,17,104,1,0,0,0,19,106,1,0,0,0,21,109,1,0,0,0,23,111, - 1,0,0,0,25,114,1,0,0,0,27,119,1,0,0,0,29,128,1,0,0,0,31,134,1,0,0,0,33, - 144,1,0,0,0,35,152,1,0,0,0,37,164,1,0,0,0,39,172,1,0,0,0,41,184,1,0,0,0, - 43,192,1,0,0,0,45,204,1,0,0,0,47,211,1,0,0,0,49,222,1,0,0,0,51,232,1,0, - 0,0,53,246,1,0,0,0,55,249,1,0,0,0,57,256,1,0,0,0,59,260,1,0,0,0,61,264, - 1,0,0,0,63,267,1,0,0,0,65,271,1,0,0,0,67,278,1,0,0,0,69,285,1,0,0,0,71, - 302,1,0,0,0,73,305,1,0,0,0,75,337,1,0,0,0,77,339,1,0,0,0,79,347,1,0,0,0, - 81,353,1,0,0,0,83,84,5,40,0,0,84,2,1,0,0,0,85,86,5,41,0,0,86,4,1,0,0,0, - 87,88,5,91,0,0,88,6,1,0,0,0,89,90,5,93,0,0,90,8,1,0,0,0,91,92,5,44,0,0, - 92,10,1,0,0,0,93,97,5,61,0,0,94,95,5,61,0,0,95,97,5,61,0,0,96,93,1,0,0, - 0,96,94,1,0,0,0,97,12,1,0,0,0,98,99,5,33,0,0,99,100,5,61,0,0,100,14,1,0, - 0,0,101,102,5,60,0,0,102,103,5,62,0,0,103,16,1,0,0,0,104,105,5,60,0,0,105, - 18,1,0,0,0,106,107,5,60,0,0,107,108,5,61,0,0,108,20,1,0,0,0,109,110,5,62, - 0,0,110,22,1,0,0,0,111,112,5,62,0,0,112,113,5,61,0,0,113,24,1,0,0,0,114, - 115,7,0,0,0,115,116,7,1,0,0,116,117,7,2,0,0,117,118,7,3,0,0,118,26,1,0, - 0,0,119,120,7,4,0,0,120,121,7,5,0,0,121,122,7,6,0,0,122,123,5,95,0,0,123, - 124,7,0,0,0,124,125,7,1,0,0,125,126,7,2,0,0,126,127,7,3,0,0,127,28,1,0, - 0,0,128,129,7,1,0,0,129,130,7,0,0,0,130,131,7,1,0,0,131,132,7,2,0,0,132, - 133,7,3,0,0,133,30,1,0,0,0,134,135,7,4,0,0,135,136,7,5,0,0,136,137,7,6, - 0,0,137,138,5,95,0,0,138,139,7,1,0,0,139,140,7,0,0,0,140,141,7,1,0,0,141, - 142,7,2,0,0,142,143,7,3,0,0,143,32,1,0,0,0,144,145,7,7,0,0,145,146,7,3, - 0,0,146,147,7,6,0,0,147,148,7,8,0,0,148,149,7,3,0,0,149,150,7,3,0,0,150, - 151,7,4,0,0,151,34,1,0,0,0,152,153,7,4,0,0,153,154,7,5,0,0,154,155,7,6, - 0,0,155,156,5,95,0,0,156,157,7,7,0,0,157,158,7,3,0,0,158,159,7,6,0,0,159, - 160,7,8,0,0,160,161,7,3,0,0,161,162,7,3,0,0,162,163,7,4,0,0,163,36,1,0, - 0,0,164,165,7,3,0,0,165,166,7,9,0,0,166,167,7,1,0,0,167,168,7,10,0,0,168, - 170,7,6,0,0,169,171,7,10,0,0,170,169,1,0,0,0,170,171,1,0,0,0,171,38,1,0, - 0,0,172,173,7,4,0,0,173,174,7,5,0,0,174,175,7,6,0,0,175,176,5,45,0,0,176, - 177,7,3,0,0,177,178,7,9,0,0,178,179,7,1,0,0,179,180,7,10,0,0,180,182,7, - 6,0,0,181,183,7,10,0,0,182,181,1,0,0,0,182,183,1,0,0,0,183,40,1,0,0,0,184, - 185,7,1,0,0,185,186,7,10,0,0,186,187,5,95,0,0,187,188,7,4,0,0,188,189,7, - 11,0,0,189,190,7,0,0,0,190,191,7,0,0,0,191,42,1,0,0,0,192,193,7,1,0,0,193, - 194,7,10,0,0,194,195,5,95,0,0,195,196,7,4,0,0,196,197,7,5,0,0,197,198,7, - 6,0,0,198,199,5,95,0,0,199,200,7,4,0,0,200,201,7,11,0,0,201,202,7,0,0,0, - 202,203,7,0,0,0,203,44,1,0,0,0,204,205,7,12,0,0,205,206,7,3,0,0,206,207, - 7,13,0,0,207,208,7,3,0,0,208,209,7,9,0,0,209,210,7,14,0,0,210,46,1,0,0, - 0,211,212,7,4,0,0,212,213,7,5,0,0,213,214,7,6,0,0,214,215,5,95,0,0,215, - 216,7,12,0,0,216,217,7,3,0,0,217,218,7,13,0,0,218,219,7,3,0,0,219,220,7, - 9,0,0,220,221,7,14,0,0,221,48,1,0,0,0,222,223,7,15,0,0,223,224,7,5,0,0, - 224,225,7,4,0,0,225,226,7,6,0,0,226,227,7,16,0,0,227,228,7,1,0,0,228,230, - 7,4,0,0,229,231,7,10,0,0,230,229,1,0,0,0,230,231,1,0,0,0,231,50,1,0,0,0, - 232,233,7,4,0,0,233,234,7,5,0,0,234,235,7,6,0,0,235,236,5,95,0,0,236,237, - 7,15,0,0,237,238,7,5,0,0,238,239,7,4,0,0,239,240,7,6,0,0,240,241,7,16,0, - 0,241,242,7,1,0,0,242,244,7,4,0,0,243,245,7,10,0,0,244,243,1,0,0,0,244, - 245,1,0,0,0,245,52,1,0,0,0,246,247,7,1,0,0,247,248,7,4,0,0,248,54,1,0,0, - 0,249,250,7,4,0,0,250,251,7,5,0,0,251,252,7,6,0,0,252,253,5,95,0,0,253, - 254,7,1,0,0,254,255,7,4,0,0,255,56,1,0,0,0,256,257,7,4,0,0,257,258,7,5, - 0,0,258,259,7,6,0,0,259,58,1,0,0,0,260,261,7,16,0,0,261,262,7,4,0,0,262, - 263,7,17,0,0,263,60,1,0,0,0,264,265,7,5,0,0,265,266,7,12,0,0,266,62,1,0, - 0,0,267,268,7,18,0,0,268,269,7,16,0,0,269,270,7,10,0,0,270,64,1,0,0,0,271, - 272,7,18,0,0,272,273,7,16,0,0,273,274,7,10,0,0,274,275,7,16,0,0,275,276, - 7,4,0,0,276,277,7,19,0,0,277,66,1,0,0,0,278,279,7,18,0,0,279,280,7,16,0, - 0,280,281,7,10,0,0,281,282,7,16,0,0,282,283,7,0,0,0,283,284,7,0,0,0,284, - 68,1,0,0,0,285,286,7,18,0,0,286,287,7,16,0,0,287,288,7,10,0,0,288,289,7, - 4,0,0,289,290,7,5,0,0,290,291,7,4,0,0,291,292,7,3,0,0,292,70,1,0,0,0,293, - 294,7,6,0,0,294,295,7,12,0,0,295,296,7,11,0,0,296,303,7,3,0,0,297,298,7, - 20,0,0,298,299,7,16,0,0,299,300,7,0,0,0,300,301,7,10,0,0,301,303,7,3,0, - 0,302,293,1,0,0,0,302,297,1,0,0,0,303,72,1,0,0,0,304,306,3,81,40,0,305, - 304,1,0,0,0,306,307,1,0,0,0,307,305,1,0,0,0,307,308,1,0,0,0,308,315,1,0, - 0,0,309,311,5,46,0,0,310,312,3,81,40,0,311,310,1,0,0,0,312,313,1,0,0,0, - 313,311,1,0,0,0,313,314,1,0,0,0,314,316,1,0,0,0,315,309,1,0,0,0,315,316, - 1,0,0,0,316,74,1,0,0,0,317,323,5,34,0,0,318,322,8,21,0,0,319,320,5,92,0, - 0,320,322,9,0,0,0,321,318,1,0,0,0,321,319,1,0,0,0,322,325,1,0,0,0,323,321, - 1,0,0,0,323,324,1,0,0,0,324,326,1,0,0,0,325,323,1,0,0,0,326,338,5,34,0, - 0,327,333,5,39,0,0,328,332,8,22,0,0,329,330,5,92,0,0,330,332,9,0,0,0,331, - 328,1,0,0,0,331,329,1,0,0,0,332,335,1,0,0,0,333,331,1,0,0,0,333,334,1,0, - 0,0,334,336,1,0,0,0,335,333,1,0,0,0,336,338,5,39,0,0,337,317,1,0,0,0,337, - 327,1,0,0,0,338,76,1,0,0,0,339,343,7,23,0,0,340,342,7,24,0,0,341,340,1, - 0,0,0,342,345,1,0,0,0,343,341,1,0,0,0,343,344,1,0,0,0,344,78,1,0,0,0,345, - 343,1,0,0,0,346,348,7,25,0,0,347,346,1,0,0,0,348,349,1,0,0,0,349,347,1, - 0,0,0,349,350,1,0,0,0,350,351,1,0,0,0,351,352,6,39,0,0,352,80,1,0,0,0,353, - 354,7,26,0,0,354,82,1,0,0,0,17,0,96,170,182,230,244,302,307,313,315,321, - 323,331,333,337,343,349,1,6,0,0]; + 7,38,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,5,3,5,93,8,5,1,6, + 1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,10,1,10,1,11,1,11,1,11,1,12,1, + 12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14, + 1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17, + 1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,3,18,167,8,18,1, + 19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,3,19,179,8,19,1,20,1,20, + 1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1, + 21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,3,22,207,8,22,1,23,1,23, + 1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,3,23,221,8,23,1,24,1, + 24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,27,1,27, + 1,27,1,27,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1, + 30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32, + 1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,3,33,279,8,33,1, + 34,4,34,282,8,34,11,34,12,34,283,1,34,1,34,4,34,288,8,34,11,34,12,34,289, + 3,34,292,8,34,1,35,1,35,1,35,1,35,5,35,298,8,35,10,35,12,35,301,9,35,1, + 35,1,35,1,35,1,35,1,35,5,35,308,8,35,10,35,12,35,311,9,35,1,35,3,35,314, + 8,35,1,36,1,36,5,36,318,8,36,10,36,12,36,321,9,36,1,37,4,37,324,8,37,11, + 37,12,37,325,1,37,1,37,1,38,1,38,0,0,39,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15, + 8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20, + 41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32, + 65,33,67,34,69,35,71,36,73,37,75,38,77,0,1,0,27,2,0,76,76,108,108,2,0,73, + 73,105,105,2,0,75,75,107,107,2,0,69,69,101,101,2,0,78,78,110,110,2,0,79, + 79,111,111,2,0,84,84,116,116,2,0,66,66,98,98,2,0,87,87,119,119,2,0,88,88, + 120,120,2,0,83,83,115,115,2,0,82,82,114,114,2,0,71,71,103,103,2,0,80,80, + 112,112,2,0,67,67,99,99,2,0,65,65,97,97,2,0,68,68,100,100,2,0,72,72,104, + 104,2,0,89,89,121,121,2,0,85,85,117,117,2,0,70,70,102,102,2,0,34,34,92, + 92,2,0,39,39,92,92,4,0,48,57,65,90,95,95,97,122,6,0,46,46,48,57,65,91,93, + 93,95,95,97,122,3,0,9,10,13,13,32,32,1,0,48,57,345,0,1,1,0,0,0,0,3,1,0, + 0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15, + 1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0, + 0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37, + 1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0, + 0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59, + 1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0, + 0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,1,79,1,0,0,0,3,81,1,0,0,0,5,83, + 1,0,0,0,7,85,1,0,0,0,9,87,1,0,0,0,11,92,1,0,0,0,13,94,1,0,0,0,15,97,1,0, + 0,0,17,100,1,0,0,0,19,102,1,0,0,0,21,105,1,0,0,0,23,107,1,0,0,0,25,110, + 1,0,0,0,27,115,1,0,0,0,29,124,1,0,0,0,31,130,1,0,0,0,33,140,1,0,0,0,35, + 148,1,0,0,0,37,160,1,0,0,0,39,168,1,0,0,0,41,180,1,0,0,0,43,187,1,0,0,0, + 45,198,1,0,0,0,47,208,1,0,0,0,49,222,1,0,0,0,51,225,1,0,0,0,53,232,1,0, + 0,0,55,236,1,0,0,0,57,240,1,0,0,0,59,243,1,0,0,0,61,247,1,0,0,0,63,254, + 1,0,0,0,65,261,1,0,0,0,67,278,1,0,0,0,69,281,1,0,0,0,71,313,1,0,0,0,73, + 315,1,0,0,0,75,323,1,0,0,0,77,329,1,0,0,0,79,80,5,40,0,0,80,2,1,0,0,0,81, + 82,5,41,0,0,82,4,1,0,0,0,83,84,5,91,0,0,84,6,1,0,0,0,85,86,5,93,0,0,86, + 8,1,0,0,0,87,88,5,44,0,0,88,10,1,0,0,0,89,93,5,61,0,0,90,91,5,61,0,0,91, + 93,5,61,0,0,92,89,1,0,0,0,92,90,1,0,0,0,93,12,1,0,0,0,94,95,5,33,0,0,95, + 96,5,61,0,0,96,14,1,0,0,0,97,98,5,60,0,0,98,99,5,62,0,0,99,16,1,0,0,0,100, + 101,5,60,0,0,101,18,1,0,0,0,102,103,5,60,0,0,103,104,5,61,0,0,104,20,1, + 0,0,0,105,106,5,62,0,0,106,22,1,0,0,0,107,108,5,62,0,0,108,109,5,61,0,0, + 109,24,1,0,0,0,110,111,7,0,0,0,111,112,7,1,0,0,112,113,7,2,0,0,113,114, + 7,3,0,0,114,26,1,0,0,0,115,116,7,4,0,0,116,117,7,5,0,0,117,118,7,6,0,0, + 118,119,5,95,0,0,119,120,7,0,0,0,120,121,7,1,0,0,121,122,7,2,0,0,122,123, + 7,3,0,0,123,28,1,0,0,0,124,125,7,1,0,0,125,126,7,0,0,0,126,127,7,1,0,0, + 127,128,7,2,0,0,128,129,7,3,0,0,129,30,1,0,0,0,130,131,7,4,0,0,131,132, + 7,5,0,0,132,133,7,6,0,0,133,134,5,95,0,0,134,135,7,1,0,0,135,136,7,0,0, + 0,136,137,7,1,0,0,137,138,7,2,0,0,138,139,7,3,0,0,139,32,1,0,0,0,140,141, + 7,7,0,0,141,142,7,3,0,0,142,143,7,6,0,0,143,144,7,8,0,0,144,145,7,3,0,0, + 145,146,7,3,0,0,146,147,7,4,0,0,147,34,1,0,0,0,148,149,7,4,0,0,149,150, + 7,5,0,0,150,151,7,6,0,0,151,152,5,95,0,0,152,153,7,7,0,0,153,154,7,3,0, + 0,154,155,7,6,0,0,155,156,7,8,0,0,156,157,7,3,0,0,157,158,7,3,0,0,158,159, + 7,4,0,0,159,36,1,0,0,0,160,161,7,3,0,0,161,162,7,9,0,0,162,163,7,1,0,0, + 163,164,7,10,0,0,164,166,7,6,0,0,165,167,7,10,0,0,166,165,1,0,0,0,166,167, + 1,0,0,0,167,38,1,0,0,0,168,169,7,4,0,0,169,170,7,5,0,0,170,171,7,6,0,0, + 171,172,5,45,0,0,172,173,7,3,0,0,173,174,7,9,0,0,174,175,7,1,0,0,175,176, + 7,10,0,0,176,178,7,6,0,0,177,179,7,10,0,0,178,177,1,0,0,0,178,179,1,0,0, + 0,179,40,1,0,0,0,180,181,7,11,0,0,181,182,7,3,0,0,182,183,7,12,0,0,183, + 184,7,3,0,0,184,185,7,9,0,0,185,186,7,13,0,0,186,42,1,0,0,0,187,188,7,4, + 0,0,188,189,7,5,0,0,189,190,7,6,0,0,190,191,5,95,0,0,191,192,7,11,0,0,192, + 193,7,3,0,0,193,194,7,12,0,0,194,195,7,3,0,0,195,196,7,9,0,0,196,197,7, + 13,0,0,197,44,1,0,0,0,198,199,7,14,0,0,199,200,7,5,0,0,200,201,7,4,0,0, + 201,202,7,6,0,0,202,203,7,15,0,0,203,204,7,1,0,0,204,206,7,4,0,0,205,207, + 7,10,0,0,206,205,1,0,0,0,206,207,1,0,0,0,207,46,1,0,0,0,208,209,7,4,0,0, + 209,210,7,5,0,0,210,211,7,6,0,0,211,212,5,95,0,0,212,213,7,14,0,0,213,214, + 7,5,0,0,214,215,7,4,0,0,215,216,7,6,0,0,216,217,7,15,0,0,217,218,7,1,0, + 0,218,220,7,4,0,0,219,221,7,10,0,0,220,219,1,0,0,0,220,221,1,0,0,0,221, + 48,1,0,0,0,222,223,7,1,0,0,223,224,7,4,0,0,224,50,1,0,0,0,225,226,7,4,0, + 0,226,227,7,5,0,0,227,228,7,6,0,0,228,229,5,95,0,0,229,230,7,1,0,0,230, + 231,7,4,0,0,231,52,1,0,0,0,232,233,7,4,0,0,233,234,7,5,0,0,234,235,7,6, + 0,0,235,54,1,0,0,0,236,237,7,15,0,0,237,238,7,4,0,0,238,239,7,16,0,0,239, + 56,1,0,0,0,240,241,7,5,0,0,241,242,7,11,0,0,242,58,1,0,0,0,243,244,7,17, + 0,0,244,245,7,15,0,0,245,246,7,10,0,0,246,60,1,0,0,0,247,248,7,17,0,0,248, + 249,7,15,0,0,249,250,7,10,0,0,250,251,7,15,0,0,251,252,7,4,0,0,252,253, + 7,18,0,0,253,62,1,0,0,0,254,255,7,17,0,0,255,256,7,15,0,0,256,257,7,10, + 0,0,257,258,7,15,0,0,258,259,7,0,0,0,259,260,7,0,0,0,260,64,1,0,0,0,261, + 262,7,17,0,0,262,263,7,15,0,0,263,264,7,10,0,0,264,265,7,4,0,0,265,266, + 7,5,0,0,266,267,7,4,0,0,267,268,7,3,0,0,268,66,1,0,0,0,269,270,7,6,0,0, + 270,271,7,11,0,0,271,272,7,19,0,0,272,279,7,3,0,0,273,274,7,20,0,0,274, + 275,7,15,0,0,275,276,7,0,0,0,276,277,7,10,0,0,277,279,7,3,0,0,278,269,1, + 0,0,0,278,273,1,0,0,0,279,68,1,0,0,0,280,282,3,77,38,0,281,280,1,0,0,0, + 282,283,1,0,0,0,283,281,1,0,0,0,283,284,1,0,0,0,284,291,1,0,0,0,285,287, + 5,46,0,0,286,288,3,77,38,0,287,286,1,0,0,0,288,289,1,0,0,0,289,287,1,0, + 0,0,289,290,1,0,0,0,290,292,1,0,0,0,291,285,1,0,0,0,291,292,1,0,0,0,292, + 70,1,0,0,0,293,299,5,34,0,0,294,298,8,21,0,0,295,296,5,92,0,0,296,298,9, + 0,0,0,297,294,1,0,0,0,297,295,1,0,0,0,298,301,1,0,0,0,299,297,1,0,0,0,299, + 300,1,0,0,0,300,302,1,0,0,0,301,299,1,0,0,0,302,314,5,34,0,0,303,309,5, + 39,0,0,304,308,8,22,0,0,305,306,5,92,0,0,306,308,9,0,0,0,307,304,1,0,0, + 0,307,305,1,0,0,0,308,311,1,0,0,0,309,307,1,0,0,0,309,310,1,0,0,0,310,312, + 1,0,0,0,311,309,1,0,0,0,312,314,5,39,0,0,313,293,1,0,0,0,313,303,1,0,0, + 0,314,72,1,0,0,0,315,319,7,23,0,0,316,318,7,24,0,0,317,316,1,0,0,0,318, + 321,1,0,0,0,319,317,1,0,0,0,319,320,1,0,0,0,320,74,1,0,0,0,321,319,1,0, + 0,0,322,324,7,25,0,0,323,322,1,0,0,0,324,325,1,0,0,0,325,323,1,0,0,0,325, + 326,1,0,0,0,326,327,1,0,0,0,327,328,6,37,0,0,328,76,1,0,0,0,329,330,7,26, + 0,0,330,78,1,0,0,0,17,0,92,166,178,206,220,278,283,289,291,297,299,307, + 309,313,319,325,1,6,0,0]; private static __ATN: ATN; public static get _ATN(): ATN { diff --git a/frontend/src/parser/FilterQueryParser.ts b/frontend/src/parser/FilterQueryParser.ts index bd8669c16de6..642a5075211c 100644 --- a/frontend/src/parser/FilterQueryParser.ts +++ b/frontend/src/parser/FilterQueryParser.ts @@ -39,26 +39,24 @@ export default class FilterQueryParser extends Parser { public static readonly NOT_BETWEEN = 18; public static readonly EXISTS = 19; public static readonly NOT_EXISTS = 20; - public static readonly IS_NULL = 21; - public static readonly IS_NOT_NULL = 22; - public static readonly REGEXP = 23; - public static readonly NOT_REGEXP = 24; - public static readonly CONTAINS = 25; - public static readonly NOT_CONTAINS = 26; - public static readonly IN = 27; - public static readonly NOT_IN = 28; - public static readonly NOT = 29; - public static readonly AND = 30; - public static readonly OR = 31; - public static readonly HAS = 32; - public static readonly HASANY = 33; - public static readonly HASALL = 34; - public static readonly HASNONE = 35; - public static readonly BOOL = 36; - public static readonly NUMBER = 37; - public static readonly QUOTED_TEXT = 38; - public static readonly KEY = 39; - public static readonly WS = 40; + public static readonly REGEXP = 21; + public static readonly NOT_REGEXP = 22; + public static readonly CONTAINS = 23; + public static readonly NOT_CONTAINS = 24; + public static readonly IN = 25; + public static readonly NOT_IN = 26; + public static readonly NOT = 27; + public static readonly AND = 28; + public static readonly OR = 29; + public static readonly HAS = 30; + public static readonly HASANY = 31; + public static readonly HASALL = 32; + public static readonly HASNONE = 33; + public static readonly BOOL = 34; + public static readonly NUMBER = 35; + public static readonly QUOTED_TEXT = 36; + public static readonly KEY = 37; + public static readonly WS = 38; public static readonly EOF = Token.EOF; public static readonly RULE_query = 0; public static readonly RULE_expression = 1; @@ -96,8 +94,6 @@ export default class FilterQueryParser extends Parser { "BETWEEN", "NOT_BETWEEN", "EXISTS", "NOT_EXISTS", - "IS_NULL", - "IS_NOT_NULL", "REGEXP", "NOT_REGEXP", "CONTAINS", "NOT_CONTAINS", @@ -143,17 +139,17 @@ export default class FilterQueryParser extends Parser { this.state = 40; this._errHandler.sync(this); _la = this._input.LA(1); - while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3758096386) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 207) !== 0)) { + while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4160749570) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 51) !== 0)) { { this.state = 38; this._errHandler.sync(this); switch (this._input.LA(1)) { - case 30: - case 31: + case 28: + case 29: { this.state = 35; _la = this._input.LA(1); - if(!(_la===30 || _la===31)) { + if(!(_la===28 || _la===29)) { this._errHandler.recoverInline(this); } else { @@ -165,13 +161,13 @@ export default class FilterQueryParser extends Parser { } break; case 1: - case 29: + case 27: + case 30: + case 31: case 32: case 33: - case 34: - case 35: - case 38: - case 39: + case 36: + case 37: { this.state = 37; this.expression(); @@ -291,7 +287,7 @@ export default class FilterQueryParser extends Parser { this.state = 59; this._errHandler.sync(this); switch (this._input.LA(1)) { - case 30: + case 28: { this.state = 56; this.match(FilterQueryParser.AND); @@ -300,13 +296,13 @@ export default class FilterQueryParser extends Parser { } break; case 1: - case 29: + case 27: + case 30: + case 31: case 32: case 33: - case 34: - case 35: - case 38: - case 39: + case 36: + case 37: { this.state = 58; this.unaryExpression(); @@ -348,7 +344,7 @@ export default class FilterQueryParser extends Parser { this.state = 65; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la===29) { + if (_la===27) { { this.state = 64; this.match(FilterQueryParser.NOT); @@ -392,24 +388,24 @@ export default class FilterQueryParser extends Parser { this.match(FilterQueryParser.RPAREN); } break; - case 39: + case 37: this.enterOuterAlt(localctx, 2); { this.state = 73; this.comparison(); } break; + case 30: + case 31: case 32: case 33: - case 34: - case 35: this.enterOuterAlt(localctx, 3); { this.state = 74; this.functionCall(); } break; - case 38: + case 36: this.enterOuterAlt(localctx, 4); { this.state = 75; @@ -440,7 +436,7 @@ export default class FilterQueryParser extends Parser { this.enterRule(localctx, 12, FilterQueryParser.RULE_comparison); let _la: number; try { - this.state = 156; + this.state = 150; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 7, this._ctx) ) { case 1: @@ -624,59 +620,41 @@ export default class FilterQueryParser extends Parser { this.state = 134; this.key(); this.state = 135; - this.match(FilterQueryParser.IS_NULL); + this.match(FilterQueryParser.REGEXP); + this.state = 136; + this.value(); } break; case 16: this.enterOuterAlt(localctx, 16); { - this.state = 137; - this.key(); this.state = 138; - this.match(FilterQueryParser.IS_NOT_NULL); + this.key(); + this.state = 139; + this.match(FilterQueryParser.NOT_REGEXP); + this.state = 140; + this.value(); } break; case 17: this.enterOuterAlt(localctx, 17); { - this.state = 140; - this.key(); - this.state = 141; - this.match(FilterQueryParser.REGEXP); this.state = 142; + this.key(); + this.state = 143; + this.match(FilterQueryParser.CONTAINS); + this.state = 144; this.value(); } break; case 18: this.enterOuterAlt(localctx, 18); { - this.state = 144; - this.key(); - this.state = 145; - this.match(FilterQueryParser.NOT_REGEXP); this.state = 146; - this.value(); - } - break; - case 19: - this.enterOuterAlt(localctx, 19); - { - this.state = 148; this.key(); - this.state = 149; - this.match(FilterQueryParser.CONTAINS); - this.state = 150; - this.value(); - } - break; - case 20: - this.enterOuterAlt(localctx, 20); - { - this.state = 152; - this.key(); - this.state = 153; + this.state = 147; this.match(FilterQueryParser.NOT_CONTAINS); - this.state = 154; + this.state = 148; this.value(); } break; @@ -701,32 +679,32 @@ export default class FilterQueryParser extends Parser { let localctx: InClauseContext = new InClauseContext(this, this._ctx, this.state); this.enterRule(localctx, 14, FilterQueryParser.RULE_inClause); try { - this.state = 168; + this.state = 162; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 8, this._ctx) ) { case 1: this.enterOuterAlt(localctx, 1); { - this.state = 158; + this.state = 152; this.match(FilterQueryParser.IN); - this.state = 159; + this.state = 153; this.match(FilterQueryParser.LPAREN); - this.state = 160; + this.state = 154; this.valueList(); - this.state = 161; + this.state = 155; this.match(FilterQueryParser.RPAREN); } break; case 2: this.enterOuterAlt(localctx, 2); { - this.state = 163; + this.state = 157; this.match(FilterQueryParser.IN); - this.state = 164; + this.state = 158; this.match(FilterQueryParser.LBRACK); - this.state = 165; + this.state = 159; this.valueList(); - this.state = 166; + this.state = 160; this.match(FilterQueryParser.RBRACK); } break; @@ -751,32 +729,32 @@ export default class FilterQueryParser extends Parser { let localctx: NotInClauseContext = new NotInClauseContext(this, this._ctx, this.state); this.enterRule(localctx, 16, FilterQueryParser.RULE_notInClause); try { - this.state = 180; + this.state = 174; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 9, this._ctx) ) { case 1: this.enterOuterAlt(localctx, 1); { - this.state = 170; + this.state = 164; this.match(FilterQueryParser.NOT_IN); - this.state = 171; + this.state = 165; this.match(FilterQueryParser.LPAREN); - this.state = 172; + this.state = 166; this.valueList(); - this.state = 173; + this.state = 167; this.match(FilterQueryParser.RPAREN); } break; case 2: this.enterOuterAlt(localctx, 2); { - this.state = 175; + this.state = 169; this.match(FilterQueryParser.NOT_IN); - this.state = 176; + this.state = 170; this.match(FilterQueryParser.LBRACK); - this.state = 177; + this.state = 171; this.valueList(); - this.state = 178; + this.state = 172; this.match(FilterQueryParser.RBRACK); } break; @@ -804,21 +782,21 @@ export default class FilterQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 182; + this.state = 176; this.value(); - this.state = 187; + this.state = 181; this._errHandler.sync(this); _la = this._input.LA(1); while (_la===5) { { { - this.state = 183; + this.state = 177; this.match(FilterQueryParser.COMMA); - this.state = 184; + this.state = 178; this.value(); } } - this.state = 189; + this.state = 183; this._errHandler.sync(this); _la = this._input.LA(1); } @@ -845,7 +823,7 @@ export default class FilterQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 190; + this.state = 184; this.match(FilterQueryParser.QUOTED_TEXT); } } @@ -871,20 +849,20 @@ export default class FilterQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 192; + this.state = 186; _la = this._input.LA(1); - if(!(((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 15) !== 0))) { + if(!(((((_la - 30)) & ~0x1F) === 0 && ((1 << (_la - 30)) & 15) !== 0))) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } - this.state = 193; + this.state = 187; this.match(FilterQueryParser.LPAREN); - this.state = 194; + this.state = 188; this.functionParamList(); - this.state = 195; + this.state = 189; this.match(FilterQueryParser.RPAREN); } } @@ -910,21 +888,21 @@ export default class FilterQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 197; + this.state = 191; this.functionParam(); - this.state = 202; + this.state = 196; this._errHandler.sync(this); _la = this._input.LA(1); while (_la===5) { { { - this.state = 198; + this.state = 192; this.match(FilterQueryParser.COMMA); - this.state = 199; + this.state = 193; this.functionParam(); } } - this.state = 204; + this.state = 198; this._errHandler.sync(this); _la = this._input.LA(1); } @@ -949,27 +927,27 @@ export default class FilterQueryParser extends Parser { let localctx: FunctionParamContext = new FunctionParamContext(this, this._ctx, this.state); this.enterRule(localctx, 26, FilterQueryParser.RULE_functionParam); try { - this.state = 208; + this.state = 202; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 12, this._ctx) ) { case 1: this.enterOuterAlt(localctx, 1); { - this.state = 205; + this.state = 199; this.key(); } break; case 2: this.enterOuterAlt(localctx, 2); { - this.state = 206; + this.state = 200; this.value(); } break; case 3: this.enterOuterAlt(localctx, 3); { - this.state = 207; + this.state = 201; this.array(); } break; @@ -996,11 +974,11 @@ export default class FilterQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 210; + this.state = 204; this.match(FilterQueryParser.LBRACK); - this.state = 211; + this.state = 205; this.valueList(); - this.state = 212; + this.state = 206; this.match(FilterQueryParser.RBRACK); } } @@ -1026,9 +1004,9 @@ export default class FilterQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 214; + this.state = 208; _la = this._input.LA(1); - if(!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 15) !== 0))) { + if(!(((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 15) !== 0))) { this._errHandler.recoverInline(this); } else { @@ -1058,7 +1036,7 @@ export default class FilterQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 216; + this.state = 210; this.match(FilterQueryParser.KEY); } } @@ -1077,7 +1055,7 @@ export default class FilterQueryParser extends Parser { return localctx; } - public static readonly _serializedATN: number[] = [4,1,40,219,2,0,7,0,2, + public static readonly _serializedATN: number[] = [4,1,38,213,2,0,7,0,2, 1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2, 10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,1,0, 1,0,1,0,1,0,5,0,39,8,0,10,0,12,0,42,9,0,1,0,1,0,1,1,1,1,1,2,1,2,1,2,5,2, @@ -1086,66 +1064,64 @@ export default class FilterQueryParser extends Parser { 6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1, 6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1, 6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1, - 6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1, - 6,1,6,1,6,3,6,157,8,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,3,7,169,8, - 7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,181,8,8,1,9,1,9,1,9,5,9,186, - 8,9,10,9,12,9,189,9,9,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12, - 5,12,201,8,12,10,12,12,12,204,9,12,1,13,1,13,1,13,3,13,209,8,13,1,14,1, - 14,1,14,1,14,1,15,1,15,1,16,1,16,1,16,0,0,17,0,2,4,6,8,10,12,14,16,18,20, - 22,24,26,28,30,32,0,6,1,0,30,31,1,0,7,8,2,0,13,13,15,15,2,0,14,14,16,16, - 1,0,32,35,1,0,36,39,235,0,34,1,0,0,0,2,45,1,0,0,0,4,47,1,0,0,0,6,55,1,0, - 0,0,8,65,1,0,0,0,10,76,1,0,0,0,12,156,1,0,0,0,14,168,1,0,0,0,16,180,1,0, - 0,0,18,182,1,0,0,0,20,190,1,0,0,0,22,192,1,0,0,0,24,197,1,0,0,0,26,208, - 1,0,0,0,28,210,1,0,0,0,30,214,1,0,0,0,32,216,1,0,0,0,34,40,3,2,1,0,35,36, - 7,0,0,0,36,39,3,2,1,0,37,39,3,2,1,0,38,35,1,0,0,0,38,37,1,0,0,0,39,42,1, - 0,0,0,40,38,1,0,0,0,40,41,1,0,0,0,41,43,1,0,0,0,42,40,1,0,0,0,43,44,5,0, - 0,1,44,1,1,0,0,0,45,46,3,4,2,0,46,3,1,0,0,0,47,52,3,6,3,0,48,49,5,31,0, - 0,49,51,3,6,3,0,50,48,1,0,0,0,51,54,1,0,0,0,52,50,1,0,0,0,52,53,1,0,0,0, - 53,5,1,0,0,0,54,52,1,0,0,0,55,61,3,8,4,0,56,57,5,30,0,0,57,60,3,8,4,0,58, - 60,3,8,4,0,59,56,1,0,0,0,59,58,1,0,0,0,60,63,1,0,0,0,61,59,1,0,0,0,61,62, - 1,0,0,0,62,7,1,0,0,0,63,61,1,0,0,0,64,66,5,29,0,0,65,64,1,0,0,0,65,66,1, - 0,0,0,66,67,1,0,0,0,67,68,3,10,5,0,68,9,1,0,0,0,69,70,5,1,0,0,70,71,3,4, - 2,0,71,72,5,2,0,0,72,77,1,0,0,0,73,77,3,12,6,0,74,77,3,22,11,0,75,77,3, - 20,10,0,76,69,1,0,0,0,76,73,1,0,0,0,76,74,1,0,0,0,76,75,1,0,0,0,77,11,1, - 0,0,0,78,79,3,32,16,0,79,80,5,6,0,0,80,81,3,30,15,0,81,157,1,0,0,0,82,83, - 3,32,16,0,83,84,7,1,0,0,84,85,3,30,15,0,85,157,1,0,0,0,86,87,3,32,16,0, - 87,88,5,9,0,0,88,89,3,30,15,0,89,157,1,0,0,0,90,91,3,32,16,0,91,92,5,10, - 0,0,92,93,3,30,15,0,93,157,1,0,0,0,94,95,3,32,16,0,95,96,5,11,0,0,96,97, - 3,30,15,0,97,157,1,0,0,0,98,99,3,32,16,0,99,100,5,12,0,0,100,101,3,30,15, - 0,101,157,1,0,0,0,102,103,3,32,16,0,103,104,7,2,0,0,104,105,3,30,15,0,105, - 157,1,0,0,0,106,107,3,32,16,0,107,108,7,3,0,0,108,109,3,30,15,0,109,157, - 1,0,0,0,110,111,3,32,16,0,111,112,5,17,0,0,112,113,3,30,15,0,113,114,5, - 30,0,0,114,115,3,30,15,0,115,157,1,0,0,0,116,117,3,32,16,0,117,118,5,18, - 0,0,118,119,3,30,15,0,119,120,5,30,0,0,120,121,3,30,15,0,121,157,1,0,0, - 0,122,123,3,32,16,0,123,124,3,14,7,0,124,157,1,0,0,0,125,126,3,32,16,0, - 126,127,3,16,8,0,127,157,1,0,0,0,128,129,3,32,16,0,129,130,5,19,0,0,130, - 157,1,0,0,0,131,132,3,32,16,0,132,133,5,20,0,0,133,157,1,0,0,0,134,135, - 3,32,16,0,135,136,5,21,0,0,136,157,1,0,0,0,137,138,3,32,16,0,138,139,5, - 22,0,0,139,157,1,0,0,0,140,141,3,32,16,0,141,142,5,23,0,0,142,143,3,30, - 15,0,143,157,1,0,0,0,144,145,3,32,16,0,145,146,5,24,0,0,146,147,3,30,15, - 0,147,157,1,0,0,0,148,149,3,32,16,0,149,150,5,25,0,0,150,151,3,30,15,0, - 151,157,1,0,0,0,152,153,3,32,16,0,153,154,5,26,0,0,154,155,3,30,15,0,155, - 157,1,0,0,0,156,78,1,0,0,0,156,82,1,0,0,0,156,86,1,0,0,0,156,90,1,0,0,0, - 156,94,1,0,0,0,156,98,1,0,0,0,156,102,1,0,0,0,156,106,1,0,0,0,156,110,1, - 0,0,0,156,116,1,0,0,0,156,122,1,0,0,0,156,125,1,0,0,0,156,128,1,0,0,0,156, - 131,1,0,0,0,156,134,1,0,0,0,156,137,1,0,0,0,156,140,1,0,0,0,156,144,1,0, - 0,0,156,148,1,0,0,0,156,152,1,0,0,0,157,13,1,0,0,0,158,159,5,27,0,0,159, - 160,5,1,0,0,160,161,3,18,9,0,161,162,5,2,0,0,162,169,1,0,0,0,163,164,5, - 27,0,0,164,165,5,3,0,0,165,166,3,18,9,0,166,167,5,4,0,0,167,169,1,0,0,0, - 168,158,1,0,0,0,168,163,1,0,0,0,169,15,1,0,0,0,170,171,5,28,0,0,171,172, - 5,1,0,0,172,173,3,18,9,0,173,174,5,2,0,0,174,181,1,0,0,0,175,176,5,28,0, - 0,176,177,5,3,0,0,177,178,3,18,9,0,178,179,5,4,0,0,179,181,1,0,0,0,180, - 170,1,0,0,0,180,175,1,0,0,0,181,17,1,0,0,0,182,187,3,30,15,0,183,184,5, - 5,0,0,184,186,3,30,15,0,185,183,1,0,0,0,186,189,1,0,0,0,187,185,1,0,0,0, - 187,188,1,0,0,0,188,19,1,0,0,0,189,187,1,0,0,0,190,191,5,38,0,0,191,21, - 1,0,0,0,192,193,7,4,0,0,193,194,5,1,0,0,194,195,3,24,12,0,195,196,5,2,0, - 0,196,23,1,0,0,0,197,202,3,26,13,0,198,199,5,5,0,0,199,201,3,26,13,0,200, - 198,1,0,0,0,201,204,1,0,0,0,202,200,1,0,0,0,202,203,1,0,0,0,203,25,1,0, - 0,0,204,202,1,0,0,0,205,209,3,32,16,0,206,209,3,30,15,0,207,209,3,28,14, - 0,208,205,1,0,0,0,208,206,1,0,0,0,208,207,1,0,0,0,209,27,1,0,0,0,210,211, - 5,3,0,0,211,212,3,18,9,0,212,213,5,4,0,0,213,29,1,0,0,0,214,215,7,5,0,0, - 215,31,1,0,0,0,216,217,5,39,0,0,217,33,1,0,0,0,13,38,40,52,59,61,65,76, - 156,168,180,187,202,208]; + 6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,151,8,6,1, + 7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,3,7,163,8,7,1,8,1,8,1,8,1,8,1,8,1, + 8,1,8,1,8,1,8,1,8,3,8,175,8,8,1,9,1,9,1,9,5,9,180,8,9,10,9,12,9,183,9,9, + 1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,5,12,195,8,12,10,12,12, + 12,198,9,12,1,13,1,13,1,13,3,13,203,8,13,1,14,1,14,1,14,1,14,1,15,1,15, + 1,16,1,16,1,16,0,0,17,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,0,6, + 1,0,28,29,1,0,7,8,2,0,13,13,15,15,2,0,14,14,16,16,1,0,30,33,1,0,34,37,227, + 0,34,1,0,0,0,2,45,1,0,0,0,4,47,1,0,0,0,6,55,1,0,0,0,8,65,1,0,0,0,10,76, + 1,0,0,0,12,150,1,0,0,0,14,162,1,0,0,0,16,174,1,0,0,0,18,176,1,0,0,0,20, + 184,1,0,0,0,22,186,1,0,0,0,24,191,1,0,0,0,26,202,1,0,0,0,28,204,1,0,0,0, + 30,208,1,0,0,0,32,210,1,0,0,0,34,40,3,2,1,0,35,36,7,0,0,0,36,39,3,2,1,0, + 37,39,3,2,1,0,38,35,1,0,0,0,38,37,1,0,0,0,39,42,1,0,0,0,40,38,1,0,0,0,40, + 41,1,0,0,0,41,43,1,0,0,0,42,40,1,0,0,0,43,44,5,0,0,1,44,1,1,0,0,0,45,46, + 3,4,2,0,46,3,1,0,0,0,47,52,3,6,3,0,48,49,5,29,0,0,49,51,3,6,3,0,50,48,1, + 0,0,0,51,54,1,0,0,0,52,50,1,0,0,0,52,53,1,0,0,0,53,5,1,0,0,0,54,52,1,0, + 0,0,55,61,3,8,4,0,56,57,5,28,0,0,57,60,3,8,4,0,58,60,3,8,4,0,59,56,1,0, + 0,0,59,58,1,0,0,0,60,63,1,0,0,0,61,59,1,0,0,0,61,62,1,0,0,0,62,7,1,0,0, + 0,63,61,1,0,0,0,64,66,5,27,0,0,65,64,1,0,0,0,65,66,1,0,0,0,66,67,1,0,0, + 0,67,68,3,10,5,0,68,9,1,0,0,0,69,70,5,1,0,0,70,71,3,4,2,0,71,72,5,2,0,0, + 72,77,1,0,0,0,73,77,3,12,6,0,74,77,3,22,11,0,75,77,3,20,10,0,76,69,1,0, + 0,0,76,73,1,0,0,0,76,74,1,0,0,0,76,75,1,0,0,0,77,11,1,0,0,0,78,79,3,32, + 16,0,79,80,5,6,0,0,80,81,3,30,15,0,81,151,1,0,0,0,82,83,3,32,16,0,83,84, + 7,1,0,0,84,85,3,30,15,0,85,151,1,0,0,0,86,87,3,32,16,0,87,88,5,9,0,0,88, + 89,3,30,15,0,89,151,1,0,0,0,90,91,3,32,16,0,91,92,5,10,0,0,92,93,3,30,15, + 0,93,151,1,0,0,0,94,95,3,32,16,0,95,96,5,11,0,0,96,97,3,30,15,0,97,151, + 1,0,0,0,98,99,3,32,16,0,99,100,5,12,0,0,100,101,3,30,15,0,101,151,1,0,0, + 0,102,103,3,32,16,0,103,104,7,2,0,0,104,105,3,30,15,0,105,151,1,0,0,0,106, + 107,3,32,16,0,107,108,7,3,0,0,108,109,3,30,15,0,109,151,1,0,0,0,110,111, + 3,32,16,0,111,112,5,17,0,0,112,113,3,30,15,0,113,114,5,28,0,0,114,115,3, + 30,15,0,115,151,1,0,0,0,116,117,3,32,16,0,117,118,5,18,0,0,118,119,3,30, + 15,0,119,120,5,28,0,0,120,121,3,30,15,0,121,151,1,0,0,0,122,123,3,32,16, + 0,123,124,3,14,7,0,124,151,1,0,0,0,125,126,3,32,16,0,126,127,3,16,8,0,127, + 151,1,0,0,0,128,129,3,32,16,0,129,130,5,19,0,0,130,151,1,0,0,0,131,132, + 3,32,16,0,132,133,5,20,0,0,133,151,1,0,0,0,134,135,3,32,16,0,135,136,5, + 21,0,0,136,137,3,30,15,0,137,151,1,0,0,0,138,139,3,32,16,0,139,140,5,22, + 0,0,140,141,3,30,15,0,141,151,1,0,0,0,142,143,3,32,16,0,143,144,5,23,0, + 0,144,145,3,30,15,0,145,151,1,0,0,0,146,147,3,32,16,0,147,148,5,24,0,0, + 148,149,3,30,15,0,149,151,1,0,0,0,150,78,1,0,0,0,150,82,1,0,0,0,150,86, + 1,0,0,0,150,90,1,0,0,0,150,94,1,0,0,0,150,98,1,0,0,0,150,102,1,0,0,0,150, + 106,1,0,0,0,150,110,1,0,0,0,150,116,1,0,0,0,150,122,1,0,0,0,150,125,1,0, + 0,0,150,128,1,0,0,0,150,131,1,0,0,0,150,134,1,0,0,0,150,138,1,0,0,0,150, + 142,1,0,0,0,150,146,1,0,0,0,151,13,1,0,0,0,152,153,5,25,0,0,153,154,5,1, + 0,0,154,155,3,18,9,0,155,156,5,2,0,0,156,163,1,0,0,0,157,158,5,25,0,0,158, + 159,5,3,0,0,159,160,3,18,9,0,160,161,5,4,0,0,161,163,1,0,0,0,162,152,1, + 0,0,0,162,157,1,0,0,0,163,15,1,0,0,0,164,165,5,26,0,0,165,166,5,1,0,0,166, + 167,3,18,9,0,167,168,5,2,0,0,168,175,1,0,0,0,169,170,5,26,0,0,170,171,5, + 3,0,0,171,172,3,18,9,0,172,173,5,4,0,0,173,175,1,0,0,0,174,164,1,0,0,0, + 174,169,1,0,0,0,175,17,1,0,0,0,176,181,3,30,15,0,177,178,5,5,0,0,178,180, + 3,30,15,0,179,177,1,0,0,0,180,183,1,0,0,0,181,179,1,0,0,0,181,182,1,0,0, + 0,182,19,1,0,0,0,183,181,1,0,0,0,184,185,5,36,0,0,185,21,1,0,0,0,186,187, + 7,4,0,0,187,188,5,1,0,0,188,189,3,24,12,0,189,190,5,2,0,0,190,23,1,0,0, + 0,191,196,3,26,13,0,192,193,5,5,0,0,193,195,3,26,13,0,194,192,1,0,0,0,195, + 198,1,0,0,0,196,194,1,0,0,0,196,197,1,0,0,0,197,25,1,0,0,0,198,196,1,0, + 0,0,199,203,3,32,16,0,200,203,3,30,15,0,201,203,3,28,14,0,202,199,1,0,0, + 0,202,200,1,0,0,0,202,201,1,0,0,0,203,27,1,0,0,0,204,205,5,3,0,0,205,206, + 3,18,9,0,206,207,5,4,0,0,207,29,1,0,0,0,208,209,7,5,0,0,209,31,1,0,0,0, + 210,211,5,37,0,0,211,33,1,0,0,0,13,38,40,52,59,61,65,76,150,162,174,181, + 196,202]; private static __ATN: ATN; public static get _ATN(): ATN { @@ -1475,12 +1451,6 @@ export class ComparisonContext extends ParserRuleContext { public NOT_EXISTS(): TerminalNode { return this.getToken(FilterQueryParser.NOT_EXISTS, 0); } - public IS_NULL(): TerminalNode { - return this.getToken(FilterQueryParser.IS_NULL, 0); - } - public IS_NOT_NULL(): TerminalNode { - return this.getToken(FilterQueryParser.IS_NOT_NULL, 0); - } public REGEXP(): TerminalNode { return this.getToken(FilterQueryParser.REGEXP, 0); } diff --git a/frontend/src/query-grammar/.antlr/FilterQuery.interp b/frontend/src/query-grammar/.antlr/FilterQuery.interp index e08cdb1df715..59028e95f718 100644 --- a/frontend/src/query-grammar/.antlr/FilterQuery.interp +++ b/frontend/src/query-grammar/.antlr/FilterQuery.interp @@ -38,8 +38,6 @@ null null null null -null -null token symbolic names: null @@ -63,8 +61,6 @@ BETWEEN NOT_BETWEEN EXISTS NOT_EXISTS -IS_NULL -IS_NOT_NULL REGEXP NOT_REGEXP CONTAINS @@ -105,4 +101,4 @@ key atn: -[4, 1, 40, 219, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 1, 0, 1, 0, 1, 0, 1, 0, 5, 0, 39, 8, 0, 10, 0, 12, 0, 42, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 5, 2, 51, 8, 2, 10, 2, 12, 2, 54, 9, 2, 1, 3, 1, 3, 1, 3, 1, 3, 5, 3, 60, 8, 3, 10, 3, 12, 3, 63, 9, 3, 1, 4, 3, 4, 66, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 77, 8, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 157, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 169, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 181, 8, 8, 1, 9, 1, 9, 1, 9, 5, 9, 186, 8, 9, 10, 9, 12, 9, 189, 9, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 5, 12, 201, 8, 12, 10, 12, 12, 12, 204, 9, 12, 1, 13, 1, 13, 1, 13, 3, 13, 209, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 0, 0, 17, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 0, 6, 1, 0, 30, 31, 1, 0, 7, 8, 2, 0, 13, 13, 15, 15, 2, 0, 14, 14, 16, 16, 1, 0, 32, 35, 1, 0, 36, 39, 235, 0, 34, 1, 0, 0, 0, 2, 45, 1, 0, 0, 0, 4, 47, 1, 0, 0, 0, 6, 55, 1, 0, 0, 0, 8, 65, 1, 0, 0, 0, 10, 76, 1, 0, 0, 0, 12, 156, 1, 0, 0, 0, 14, 168, 1, 0, 0, 0, 16, 180, 1, 0, 0, 0, 18, 182, 1, 0, 0, 0, 20, 190, 1, 0, 0, 0, 22, 192, 1, 0, 0, 0, 24, 197, 1, 0, 0, 0, 26, 208, 1, 0, 0, 0, 28, 210, 1, 0, 0, 0, 30, 214, 1, 0, 0, 0, 32, 216, 1, 0, 0, 0, 34, 40, 3, 2, 1, 0, 35, 36, 7, 0, 0, 0, 36, 39, 3, 2, 1, 0, 37, 39, 3, 2, 1, 0, 38, 35, 1, 0, 0, 0, 38, 37, 1, 0, 0, 0, 39, 42, 1, 0, 0, 0, 40, 38, 1, 0, 0, 0, 40, 41, 1, 0, 0, 0, 41, 43, 1, 0, 0, 0, 42, 40, 1, 0, 0, 0, 43, 44, 5, 0, 0, 1, 44, 1, 1, 0, 0, 0, 45, 46, 3, 4, 2, 0, 46, 3, 1, 0, 0, 0, 47, 52, 3, 6, 3, 0, 48, 49, 5, 31, 0, 0, 49, 51, 3, 6, 3, 0, 50, 48, 1, 0, 0, 0, 51, 54, 1, 0, 0, 0, 52, 50, 1, 0, 0, 0, 52, 53, 1, 0, 0, 0, 53, 5, 1, 0, 0, 0, 54, 52, 1, 0, 0, 0, 55, 61, 3, 8, 4, 0, 56, 57, 5, 30, 0, 0, 57, 60, 3, 8, 4, 0, 58, 60, 3, 8, 4, 0, 59, 56, 1, 0, 0, 0, 59, 58, 1, 0, 0, 0, 60, 63, 1, 0, 0, 0, 61, 59, 1, 0, 0, 0, 61, 62, 1, 0, 0, 0, 62, 7, 1, 0, 0, 0, 63, 61, 1, 0, 0, 0, 64, 66, 5, 29, 0, 0, 65, 64, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 67, 1, 0, 0, 0, 67, 68, 3, 10, 5, 0, 68, 9, 1, 0, 0, 0, 69, 70, 5, 1, 0, 0, 70, 71, 3, 4, 2, 0, 71, 72, 5, 2, 0, 0, 72, 77, 1, 0, 0, 0, 73, 77, 3, 12, 6, 0, 74, 77, 3, 22, 11, 0, 75, 77, 3, 20, 10, 0, 76, 69, 1, 0, 0, 0, 76, 73, 1, 0, 0, 0, 76, 74, 1, 0, 0, 0, 76, 75, 1, 0, 0, 0, 77, 11, 1, 0, 0, 0, 78, 79, 3, 32, 16, 0, 79, 80, 5, 6, 0, 0, 80, 81, 3, 30, 15, 0, 81, 157, 1, 0, 0, 0, 82, 83, 3, 32, 16, 0, 83, 84, 7, 1, 0, 0, 84, 85, 3, 30, 15, 0, 85, 157, 1, 0, 0, 0, 86, 87, 3, 32, 16, 0, 87, 88, 5, 9, 0, 0, 88, 89, 3, 30, 15, 0, 89, 157, 1, 0, 0, 0, 90, 91, 3, 32, 16, 0, 91, 92, 5, 10, 0, 0, 92, 93, 3, 30, 15, 0, 93, 157, 1, 0, 0, 0, 94, 95, 3, 32, 16, 0, 95, 96, 5, 11, 0, 0, 96, 97, 3, 30, 15, 0, 97, 157, 1, 0, 0, 0, 98, 99, 3, 32, 16, 0, 99, 100, 5, 12, 0, 0, 100, 101, 3, 30, 15, 0, 101, 157, 1, 0, 0, 0, 102, 103, 3, 32, 16, 0, 103, 104, 7, 2, 0, 0, 104, 105, 3, 30, 15, 0, 105, 157, 1, 0, 0, 0, 106, 107, 3, 32, 16, 0, 107, 108, 7, 3, 0, 0, 108, 109, 3, 30, 15, 0, 109, 157, 1, 0, 0, 0, 110, 111, 3, 32, 16, 0, 111, 112, 5, 17, 0, 0, 112, 113, 3, 30, 15, 0, 113, 114, 5, 30, 0, 0, 114, 115, 3, 30, 15, 0, 115, 157, 1, 0, 0, 0, 116, 117, 3, 32, 16, 0, 117, 118, 5, 18, 0, 0, 118, 119, 3, 30, 15, 0, 119, 120, 5, 30, 0, 0, 120, 121, 3, 30, 15, 0, 121, 157, 1, 0, 0, 0, 122, 123, 3, 32, 16, 0, 123, 124, 3, 14, 7, 0, 124, 157, 1, 0, 0, 0, 125, 126, 3, 32, 16, 0, 126, 127, 3, 16, 8, 0, 127, 157, 1, 0, 0, 0, 128, 129, 3, 32, 16, 0, 129, 130, 5, 19, 0, 0, 130, 157, 1, 0, 0, 0, 131, 132, 3, 32, 16, 0, 132, 133, 5, 20, 0, 0, 133, 157, 1, 0, 0, 0, 134, 135, 3, 32, 16, 0, 135, 136, 5, 21, 0, 0, 136, 157, 1, 0, 0, 0, 137, 138, 3, 32, 16, 0, 138, 139, 5, 22, 0, 0, 139, 157, 1, 0, 0, 0, 140, 141, 3, 32, 16, 0, 141, 142, 5, 23, 0, 0, 142, 143, 3, 30, 15, 0, 143, 157, 1, 0, 0, 0, 144, 145, 3, 32, 16, 0, 145, 146, 5, 24, 0, 0, 146, 147, 3, 30, 15, 0, 147, 157, 1, 0, 0, 0, 148, 149, 3, 32, 16, 0, 149, 150, 5, 25, 0, 0, 150, 151, 3, 30, 15, 0, 151, 157, 1, 0, 0, 0, 152, 153, 3, 32, 16, 0, 153, 154, 5, 26, 0, 0, 154, 155, 3, 30, 15, 0, 155, 157, 1, 0, 0, 0, 156, 78, 1, 0, 0, 0, 156, 82, 1, 0, 0, 0, 156, 86, 1, 0, 0, 0, 156, 90, 1, 0, 0, 0, 156, 94, 1, 0, 0, 0, 156, 98, 1, 0, 0, 0, 156, 102, 1, 0, 0, 0, 156, 106, 1, 0, 0, 0, 156, 110, 1, 0, 0, 0, 156, 116, 1, 0, 0, 0, 156, 122, 1, 0, 0, 0, 156, 125, 1, 0, 0, 0, 156, 128, 1, 0, 0, 0, 156, 131, 1, 0, 0, 0, 156, 134, 1, 0, 0, 0, 156, 137, 1, 0, 0, 0, 156, 140, 1, 0, 0, 0, 156, 144, 1, 0, 0, 0, 156, 148, 1, 0, 0, 0, 156, 152, 1, 0, 0, 0, 157, 13, 1, 0, 0, 0, 158, 159, 5, 27, 0, 0, 159, 160, 5, 1, 0, 0, 160, 161, 3, 18, 9, 0, 161, 162, 5, 2, 0, 0, 162, 169, 1, 0, 0, 0, 163, 164, 5, 27, 0, 0, 164, 165, 5, 3, 0, 0, 165, 166, 3, 18, 9, 0, 166, 167, 5, 4, 0, 0, 167, 169, 1, 0, 0, 0, 168, 158, 1, 0, 0, 0, 168, 163, 1, 0, 0, 0, 169, 15, 1, 0, 0, 0, 170, 171, 5, 28, 0, 0, 171, 172, 5, 1, 0, 0, 172, 173, 3, 18, 9, 0, 173, 174, 5, 2, 0, 0, 174, 181, 1, 0, 0, 0, 175, 176, 5, 28, 0, 0, 176, 177, 5, 3, 0, 0, 177, 178, 3, 18, 9, 0, 178, 179, 5, 4, 0, 0, 179, 181, 1, 0, 0, 0, 180, 170, 1, 0, 0, 0, 180, 175, 1, 0, 0, 0, 181, 17, 1, 0, 0, 0, 182, 187, 3, 30, 15, 0, 183, 184, 5, 5, 0, 0, 184, 186, 3, 30, 15, 0, 185, 183, 1, 0, 0, 0, 186, 189, 1, 0, 0, 0, 187, 185, 1, 0, 0, 0, 187, 188, 1, 0, 0, 0, 188, 19, 1, 0, 0, 0, 189, 187, 1, 0, 0, 0, 190, 191, 5, 38, 0, 0, 191, 21, 1, 0, 0, 0, 192, 193, 7, 4, 0, 0, 193, 194, 5, 1, 0, 0, 194, 195, 3, 24, 12, 0, 195, 196, 5, 2, 0, 0, 196, 23, 1, 0, 0, 0, 197, 202, 3, 26, 13, 0, 198, 199, 5, 5, 0, 0, 199, 201, 3, 26, 13, 0, 200, 198, 1, 0, 0, 0, 201, 204, 1, 0, 0, 0, 202, 200, 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 25, 1, 0, 0, 0, 204, 202, 1, 0, 0, 0, 205, 209, 3, 32, 16, 0, 206, 209, 3, 30, 15, 0, 207, 209, 3, 28, 14, 0, 208, 205, 1, 0, 0, 0, 208, 206, 1, 0, 0, 0, 208, 207, 1, 0, 0, 0, 209, 27, 1, 0, 0, 0, 210, 211, 5, 3, 0, 0, 211, 212, 3, 18, 9, 0, 212, 213, 5, 4, 0, 0, 213, 29, 1, 0, 0, 0, 214, 215, 7, 5, 0, 0, 215, 31, 1, 0, 0, 0, 216, 217, 5, 39, 0, 0, 217, 33, 1, 0, 0, 0, 13, 38, 40, 52, 59, 61, 65, 76, 156, 168, 180, 187, 202, 208] \ No newline at end of file +[4, 1, 38, 213, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 1, 0, 1, 0, 1, 0, 1, 0, 5, 0, 39, 8, 0, 10, 0, 12, 0, 42, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 5, 2, 51, 8, 2, 10, 2, 12, 2, 54, 9, 2, 1, 3, 1, 3, 1, 3, 1, 3, 5, 3, 60, 8, 3, 10, 3, 12, 3, 63, 9, 3, 1, 4, 3, 4, 66, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 77, 8, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 151, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 163, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 175, 8, 8, 1, 9, 1, 9, 1, 9, 5, 9, 180, 8, 9, 10, 9, 12, 9, 183, 9, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 5, 12, 195, 8, 12, 10, 12, 12, 12, 198, 9, 12, 1, 13, 1, 13, 1, 13, 3, 13, 203, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 0, 0, 17, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 0, 6, 1, 0, 28, 29, 1, 0, 7, 8, 2, 0, 13, 13, 15, 15, 2, 0, 14, 14, 16, 16, 1, 0, 30, 33, 1, 0, 34, 37, 227, 0, 34, 1, 0, 0, 0, 2, 45, 1, 0, 0, 0, 4, 47, 1, 0, 0, 0, 6, 55, 1, 0, 0, 0, 8, 65, 1, 0, 0, 0, 10, 76, 1, 0, 0, 0, 12, 150, 1, 0, 0, 0, 14, 162, 1, 0, 0, 0, 16, 174, 1, 0, 0, 0, 18, 176, 1, 0, 0, 0, 20, 184, 1, 0, 0, 0, 22, 186, 1, 0, 0, 0, 24, 191, 1, 0, 0, 0, 26, 202, 1, 0, 0, 0, 28, 204, 1, 0, 0, 0, 30, 208, 1, 0, 0, 0, 32, 210, 1, 0, 0, 0, 34, 40, 3, 2, 1, 0, 35, 36, 7, 0, 0, 0, 36, 39, 3, 2, 1, 0, 37, 39, 3, 2, 1, 0, 38, 35, 1, 0, 0, 0, 38, 37, 1, 0, 0, 0, 39, 42, 1, 0, 0, 0, 40, 38, 1, 0, 0, 0, 40, 41, 1, 0, 0, 0, 41, 43, 1, 0, 0, 0, 42, 40, 1, 0, 0, 0, 43, 44, 5, 0, 0, 1, 44, 1, 1, 0, 0, 0, 45, 46, 3, 4, 2, 0, 46, 3, 1, 0, 0, 0, 47, 52, 3, 6, 3, 0, 48, 49, 5, 29, 0, 0, 49, 51, 3, 6, 3, 0, 50, 48, 1, 0, 0, 0, 51, 54, 1, 0, 0, 0, 52, 50, 1, 0, 0, 0, 52, 53, 1, 0, 0, 0, 53, 5, 1, 0, 0, 0, 54, 52, 1, 0, 0, 0, 55, 61, 3, 8, 4, 0, 56, 57, 5, 28, 0, 0, 57, 60, 3, 8, 4, 0, 58, 60, 3, 8, 4, 0, 59, 56, 1, 0, 0, 0, 59, 58, 1, 0, 0, 0, 60, 63, 1, 0, 0, 0, 61, 59, 1, 0, 0, 0, 61, 62, 1, 0, 0, 0, 62, 7, 1, 0, 0, 0, 63, 61, 1, 0, 0, 0, 64, 66, 5, 27, 0, 0, 65, 64, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 67, 1, 0, 0, 0, 67, 68, 3, 10, 5, 0, 68, 9, 1, 0, 0, 0, 69, 70, 5, 1, 0, 0, 70, 71, 3, 4, 2, 0, 71, 72, 5, 2, 0, 0, 72, 77, 1, 0, 0, 0, 73, 77, 3, 12, 6, 0, 74, 77, 3, 22, 11, 0, 75, 77, 3, 20, 10, 0, 76, 69, 1, 0, 0, 0, 76, 73, 1, 0, 0, 0, 76, 74, 1, 0, 0, 0, 76, 75, 1, 0, 0, 0, 77, 11, 1, 0, 0, 0, 78, 79, 3, 32, 16, 0, 79, 80, 5, 6, 0, 0, 80, 81, 3, 30, 15, 0, 81, 151, 1, 0, 0, 0, 82, 83, 3, 32, 16, 0, 83, 84, 7, 1, 0, 0, 84, 85, 3, 30, 15, 0, 85, 151, 1, 0, 0, 0, 86, 87, 3, 32, 16, 0, 87, 88, 5, 9, 0, 0, 88, 89, 3, 30, 15, 0, 89, 151, 1, 0, 0, 0, 90, 91, 3, 32, 16, 0, 91, 92, 5, 10, 0, 0, 92, 93, 3, 30, 15, 0, 93, 151, 1, 0, 0, 0, 94, 95, 3, 32, 16, 0, 95, 96, 5, 11, 0, 0, 96, 97, 3, 30, 15, 0, 97, 151, 1, 0, 0, 0, 98, 99, 3, 32, 16, 0, 99, 100, 5, 12, 0, 0, 100, 101, 3, 30, 15, 0, 101, 151, 1, 0, 0, 0, 102, 103, 3, 32, 16, 0, 103, 104, 7, 2, 0, 0, 104, 105, 3, 30, 15, 0, 105, 151, 1, 0, 0, 0, 106, 107, 3, 32, 16, 0, 107, 108, 7, 3, 0, 0, 108, 109, 3, 30, 15, 0, 109, 151, 1, 0, 0, 0, 110, 111, 3, 32, 16, 0, 111, 112, 5, 17, 0, 0, 112, 113, 3, 30, 15, 0, 113, 114, 5, 28, 0, 0, 114, 115, 3, 30, 15, 0, 115, 151, 1, 0, 0, 0, 116, 117, 3, 32, 16, 0, 117, 118, 5, 18, 0, 0, 118, 119, 3, 30, 15, 0, 119, 120, 5, 28, 0, 0, 120, 121, 3, 30, 15, 0, 121, 151, 1, 0, 0, 0, 122, 123, 3, 32, 16, 0, 123, 124, 3, 14, 7, 0, 124, 151, 1, 0, 0, 0, 125, 126, 3, 32, 16, 0, 126, 127, 3, 16, 8, 0, 127, 151, 1, 0, 0, 0, 128, 129, 3, 32, 16, 0, 129, 130, 5, 19, 0, 0, 130, 151, 1, 0, 0, 0, 131, 132, 3, 32, 16, 0, 132, 133, 5, 20, 0, 0, 133, 151, 1, 0, 0, 0, 134, 135, 3, 32, 16, 0, 135, 136, 5, 21, 0, 0, 136, 137, 3, 30, 15, 0, 137, 151, 1, 0, 0, 0, 138, 139, 3, 32, 16, 0, 139, 140, 5, 22, 0, 0, 140, 141, 3, 30, 15, 0, 141, 151, 1, 0, 0, 0, 142, 143, 3, 32, 16, 0, 143, 144, 5, 23, 0, 0, 144, 145, 3, 30, 15, 0, 145, 151, 1, 0, 0, 0, 146, 147, 3, 32, 16, 0, 147, 148, 5, 24, 0, 0, 148, 149, 3, 30, 15, 0, 149, 151, 1, 0, 0, 0, 150, 78, 1, 0, 0, 0, 150, 82, 1, 0, 0, 0, 150, 86, 1, 0, 0, 0, 150, 90, 1, 0, 0, 0, 150, 94, 1, 0, 0, 0, 150, 98, 1, 0, 0, 0, 150, 102, 1, 0, 0, 0, 150, 106, 1, 0, 0, 0, 150, 110, 1, 0, 0, 0, 150, 116, 1, 0, 0, 0, 150, 122, 1, 0, 0, 0, 150, 125, 1, 0, 0, 0, 150, 128, 1, 0, 0, 0, 150, 131, 1, 0, 0, 0, 150, 134, 1, 0, 0, 0, 150, 138, 1, 0, 0, 0, 150, 142, 1, 0, 0, 0, 150, 146, 1, 0, 0, 0, 151, 13, 1, 0, 0, 0, 152, 153, 5, 25, 0, 0, 153, 154, 5, 1, 0, 0, 154, 155, 3, 18, 9, 0, 155, 156, 5, 2, 0, 0, 156, 163, 1, 0, 0, 0, 157, 158, 5, 25, 0, 0, 158, 159, 5, 3, 0, 0, 159, 160, 3, 18, 9, 0, 160, 161, 5, 4, 0, 0, 161, 163, 1, 0, 0, 0, 162, 152, 1, 0, 0, 0, 162, 157, 1, 0, 0, 0, 163, 15, 1, 0, 0, 0, 164, 165, 5, 26, 0, 0, 165, 166, 5, 1, 0, 0, 166, 167, 3, 18, 9, 0, 167, 168, 5, 2, 0, 0, 168, 175, 1, 0, 0, 0, 169, 170, 5, 26, 0, 0, 170, 171, 5, 3, 0, 0, 171, 172, 3, 18, 9, 0, 172, 173, 5, 4, 0, 0, 173, 175, 1, 0, 0, 0, 174, 164, 1, 0, 0, 0, 174, 169, 1, 0, 0, 0, 175, 17, 1, 0, 0, 0, 176, 181, 3, 30, 15, 0, 177, 178, 5, 5, 0, 0, 178, 180, 3, 30, 15, 0, 179, 177, 1, 0, 0, 0, 180, 183, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 19, 1, 0, 0, 0, 183, 181, 1, 0, 0, 0, 184, 185, 5, 36, 0, 0, 185, 21, 1, 0, 0, 0, 186, 187, 7, 4, 0, 0, 187, 188, 5, 1, 0, 0, 188, 189, 3, 24, 12, 0, 189, 190, 5, 2, 0, 0, 190, 23, 1, 0, 0, 0, 191, 196, 3, 26, 13, 0, 192, 193, 5, 5, 0, 0, 193, 195, 3, 26, 13, 0, 194, 192, 1, 0, 0, 0, 195, 198, 1, 0, 0, 0, 196, 194, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197, 25, 1, 0, 0, 0, 198, 196, 1, 0, 0, 0, 199, 203, 3, 32, 16, 0, 200, 203, 3, 30, 15, 0, 201, 203, 3, 28, 14, 0, 202, 199, 1, 0, 0, 0, 202, 200, 1, 0, 0, 0, 202, 201, 1, 0, 0, 0, 203, 27, 1, 0, 0, 0, 204, 205, 5, 3, 0, 0, 205, 206, 3, 18, 9, 0, 206, 207, 5, 4, 0, 0, 207, 29, 1, 0, 0, 0, 208, 209, 7, 5, 0, 0, 209, 31, 1, 0, 0, 0, 210, 211, 5, 37, 0, 0, 211, 33, 1, 0, 0, 0, 13, 38, 40, 52, 59, 61, 65, 76, 150, 162, 174, 181, 196, 202] \ No newline at end of file diff --git a/frontend/src/query-grammar/.antlr/FilterQuery.tokens b/frontend/src/query-grammar/.antlr/FilterQuery.tokens index 685911112d34..58b4f992a113 100644 --- a/frontend/src/query-grammar/.antlr/FilterQuery.tokens +++ b/frontend/src/query-grammar/.antlr/FilterQuery.tokens @@ -18,26 +18,24 @@ BETWEEN=17 NOT_BETWEEN=18 EXISTS=19 NOT_EXISTS=20 -IS_NULL=21 -IS_NOT_NULL=22 -REGEXP=23 -NOT_REGEXP=24 -CONTAINS=25 -NOT_CONTAINS=26 -IN=27 -NOT_IN=28 -NOT=29 -AND=30 -OR=31 -HAS=32 -HASANY=33 -HASALL=34 -HASNONE=35 -BOOL=36 -NUMBER=37 -QUOTED_TEXT=38 -KEY=39 -WS=40 +REGEXP=21 +NOT_REGEXP=22 +CONTAINS=23 +NOT_CONTAINS=24 +IN=25 +NOT_IN=26 +NOT=27 +AND=28 +OR=29 +HAS=30 +HASANY=31 +HASALL=32 +HASNONE=33 +BOOL=34 +NUMBER=35 +QUOTED_TEXT=36 +KEY=37 +WS=38 '('=1 ')'=2 '['=3 diff --git a/frontend/src/query-grammar/.antlr/FilterQueryLexer.interp b/frontend/src/query-grammar/.antlr/FilterQueryLexer.interp index bf779763b386..487550a8103b 100644 --- a/frontend/src/query-grammar/.antlr/FilterQueryLexer.interp +++ b/frontend/src/query-grammar/.antlr/FilterQueryLexer.interp @@ -38,8 +38,6 @@ null null null null -null -null token symbolic names: null @@ -63,8 +61,6 @@ BETWEEN NOT_BETWEEN EXISTS NOT_EXISTS -IS_NULL -IS_NOT_NULL REGEXP NOT_REGEXP CONTAINS @@ -105,8 +101,6 @@ BETWEEN NOT_BETWEEN EXISTS NOT_EXISTS -IS_NULL -IS_NOT_NULL REGEXP NOT_REGEXP CONTAINS @@ -135,4 +129,4 @@ mode names: DEFAULT_MODE atn: -[4, 0, 40, 355, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 3, 5, 97, 8, 5, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 171, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 183, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 231, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 245, 8, 25, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 3, 35, 303, 8, 35, 1, 36, 4, 36, 306, 8, 36, 11, 36, 12, 36, 307, 1, 36, 1, 36, 4, 36, 312, 8, 36, 11, 36, 12, 36, 313, 3, 36, 316, 8, 36, 1, 37, 1, 37, 1, 37, 1, 37, 5, 37, 322, 8, 37, 10, 37, 12, 37, 325, 9, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 5, 37, 332, 8, 37, 10, 37, 12, 37, 335, 9, 37, 1, 37, 3, 37, 338, 8, 37, 1, 38, 1, 38, 5, 38, 342, 8, 38, 10, 38, 12, 38, 345, 9, 38, 1, 39, 4, 39, 348, 8, 39, 11, 39, 12, 39, 349, 1, 39, 1, 39, 1, 40, 1, 40, 0, 0, 41, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 0, 1, 0, 27, 2, 0, 76, 76, 108, 108, 2, 0, 73, 73, 105, 105, 2, 0, 75, 75, 107, 107, 2, 0, 69, 69, 101, 101, 2, 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, 2, 0, 84, 84, 116, 116, 2, 0, 66, 66, 98, 98, 2, 0, 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, 0, 83, 83, 115, 115, 2, 0, 85, 85, 117, 117, 2, 0, 82, 82, 114, 114, 2, 0, 71, 71, 103, 103, 2, 0, 80, 80, 112, 112, 2, 0, 67, 67, 99, 99, 2, 0, 65, 65, 97, 97, 2, 0, 68, 68, 100, 100, 2, 0, 72, 72, 104, 104, 2, 0, 89, 89, 121, 121, 2, 0, 70, 70, 102, 102, 2, 0, 34, 34, 92, 92, 2, 0, 39, 39, 92, 92, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 6, 0, 46, 46, 48, 57, 65, 91, 93, 93, 95, 95, 97, 122, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 48, 57, 369, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 1, 83, 1, 0, 0, 0, 3, 85, 1, 0, 0, 0, 5, 87, 1, 0, 0, 0, 7, 89, 1, 0, 0, 0, 9, 91, 1, 0, 0, 0, 11, 96, 1, 0, 0, 0, 13, 98, 1, 0, 0, 0, 15, 101, 1, 0, 0, 0, 17, 104, 1, 0, 0, 0, 19, 106, 1, 0, 0, 0, 21, 109, 1, 0, 0, 0, 23, 111, 1, 0, 0, 0, 25, 114, 1, 0, 0, 0, 27, 119, 1, 0, 0, 0, 29, 128, 1, 0, 0, 0, 31, 134, 1, 0, 0, 0, 33, 144, 1, 0, 0, 0, 35, 152, 1, 0, 0, 0, 37, 164, 1, 0, 0, 0, 39, 172, 1, 0, 0, 0, 41, 184, 1, 0, 0, 0, 43, 192, 1, 0, 0, 0, 45, 204, 1, 0, 0, 0, 47, 211, 1, 0, 0, 0, 49, 222, 1, 0, 0, 0, 51, 232, 1, 0, 0, 0, 53, 246, 1, 0, 0, 0, 55, 249, 1, 0, 0, 0, 57, 256, 1, 0, 0, 0, 59, 260, 1, 0, 0, 0, 61, 264, 1, 0, 0, 0, 63, 267, 1, 0, 0, 0, 65, 271, 1, 0, 0, 0, 67, 278, 1, 0, 0, 0, 69, 285, 1, 0, 0, 0, 71, 302, 1, 0, 0, 0, 73, 305, 1, 0, 0, 0, 75, 337, 1, 0, 0, 0, 77, 339, 1, 0, 0, 0, 79, 347, 1, 0, 0, 0, 81, 353, 1, 0, 0, 0, 83, 84, 5, 40, 0, 0, 84, 2, 1, 0, 0, 0, 85, 86, 5, 41, 0, 0, 86, 4, 1, 0, 0, 0, 87, 88, 5, 91, 0, 0, 88, 6, 1, 0, 0, 0, 89, 90, 5, 93, 0, 0, 90, 8, 1, 0, 0, 0, 91, 92, 5, 44, 0, 0, 92, 10, 1, 0, 0, 0, 93, 97, 5, 61, 0, 0, 94, 95, 5, 61, 0, 0, 95, 97, 5, 61, 0, 0, 96, 93, 1, 0, 0, 0, 96, 94, 1, 0, 0, 0, 97, 12, 1, 0, 0, 0, 98, 99, 5, 33, 0, 0, 99, 100, 5, 61, 0, 0, 100, 14, 1, 0, 0, 0, 101, 102, 5, 60, 0, 0, 102, 103, 5, 62, 0, 0, 103, 16, 1, 0, 0, 0, 104, 105, 5, 60, 0, 0, 105, 18, 1, 0, 0, 0, 106, 107, 5, 60, 0, 0, 107, 108, 5, 61, 0, 0, 108, 20, 1, 0, 0, 0, 109, 110, 5, 62, 0, 0, 110, 22, 1, 0, 0, 0, 111, 112, 5, 62, 0, 0, 112, 113, 5, 61, 0, 0, 113, 24, 1, 0, 0, 0, 114, 115, 7, 0, 0, 0, 115, 116, 7, 1, 0, 0, 116, 117, 7, 2, 0, 0, 117, 118, 7, 3, 0, 0, 118, 26, 1, 0, 0, 0, 119, 120, 7, 4, 0, 0, 120, 121, 7, 5, 0, 0, 121, 122, 7, 6, 0, 0, 122, 123, 5, 95, 0, 0, 123, 124, 7, 0, 0, 0, 124, 125, 7, 1, 0, 0, 125, 126, 7, 2, 0, 0, 126, 127, 7, 3, 0, 0, 127, 28, 1, 0, 0, 0, 128, 129, 7, 1, 0, 0, 129, 130, 7, 0, 0, 0, 130, 131, 7, 1, 0, 0, 131, 132, 7, 2, 0, 0, 132, 133, 7, 3, 0, 0, 133, 30, 1, 0, 0, 0, 134, 135, 7, 4, 0, 0, 135, 136, 7, 5, 0, 0, 136, 137, 7, 6, 0, 0, 137, 138, 5, 95, 0, 0, 138, 139, 7, 1, 0, 0, 139, 140, 7, 0, 0, 0, 140, 141, 7, 1, 0, 0, 141, 142, 7, 2, 0, 0, 142, 143, 7, 3, 0, 0, 143, 32, 1, 0, 0, 0, 144, 145, 7, 7, 0, 0, 145, 146, 7, 3, 0, 0, 146, 147, 7, 6, 0, 0, 147, 148, 7, 8, 0, 0, 148, 149, 7, 3, 0, 0, 149, 150, 7, 3, 0, 0, 150, 151, 7, 4, 0, 0, 151, 34, 1, 0, 0, 0, 152, 153, 7, 4, 0, 0, 153, 154, 7, 5, 0, 0, 154, 155, 7, 6, 0, 0, 155, 156, 5, 95, 0, 0, 156, 157, 7, 7, 0, 0, 157, 158, 7, 3, 0, 0, 158, 159, 7, 6, 0, 0, 159, 160, 7, 8, 0, 0, 160, 161, 7, 3, 0, 0, 161, 162, 7, 3, 0, 0, 162, 163, 7, 4, 0, 0, 163, 36, 1, 0, 0, 0, 164, 165, 7, 3, 0, 0, 165, 166, 7, 9, 0, 0, 166, 167, 7, 1, 0, 0, 167, 168, 7, 10, 0, 0, 168, 170, 7, 6, 0, 0, 169, 171, 7, 10, 0, 0, 170, 169, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 38, 1, 0, 0, 0, 172, 173, 7, 4, 0, 0, 173, 174, 7, 5, 0, 0, 174, 175, 7, 6, 0, 0, 175, 176, 5, 45, 0, 0, 176, 177, 7, 3, 0, 0, 177, 178, 7, 9, 0, 0, 178, 179, 7, 1, 0, 0, 179, 180, 7, 10, 0, 0, 180, 182, 7, 6, 0, 0, 181, 183, 7, 10, 0, 0, 182, 181, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 40, 1, 0, 0, 0, 184, 185, 7, 1, 0, 0, 185, 186, 7, 10, 0, 0, 186, 187, 5, 95, 0, 0, 187, 188, 7, 4, 0, 0, 188, 189, 7, 11, 0, 0, 189, 190, 7, 0, 0, 0, 190, 191, 7, 0, 0, 0, 191, 42, 1, 0, 0, 0, 192, 193, 7, 1, 0, 0, 193, 194, 7, 10, 0, 0, 194, 195, 5, 95, 0, 0, 195, 196, 7, 4, 0, 0, 196, 197, 7, 5, 0, 0, 197, 198, 7, 6, 0, 0, 198, 199, 5, 95, 0, 0, 199, 200, 7, 4, 0, 0, 200, 201, 7, 11, 0, 0, 201, 202, 7, 0, 0, 0, 202, 203, 7, 0, 0, 0, 203, 44, 1, 0, 0, 0, 204, 205, 7, 12, 0, 0, 205, 206, 7, 3, 0, 0, 206, 207, 7, 13, 0, 0, 207, 208, 7, 3, 0, 0, 208, 209, 7, 9, 0, 0, 209, 210, 7, 14, 0, 0, 210, 46, 1, 0, 0, 0, 211, 212, 7, 4, 0, 0, 212, 213, 7, 5, 0, 0, 213, 214, 7, 6, 0, 0, 214, 215, 5, 95, 0, 0, 215, 216, 7, 12, 0, 0, 216, 217, 7, 3, 0, 0, 217, 218, 7, 13, 0, 0, 218, 219, 7, 3, 0, 0, 219, 220, 7, 9, 0, 0, 220, 221, 7, 14, 0, 0, 221, 48, 1, 0, 0, 0, 222, 223, 7, 15, 0, 0, 223, 224, 7, 5, 0, 0, 224, 225, 7, 4, 0, 0, 225, 226, 7, 6, 0, 0, 226, 227, 7, 16, 0, 0, 227, 228, 7, 1, 0, 0, 228, 230, 7, 4, 0, 0, 229, 231, 7, 10, 0, 0, 230, 229, 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 50, 1, 0, 0, 0, 232, 233, 7, 4, 0, 0, 233, 234, 7, 5, 0, 0, 234, 235, 7, 6, 0, 0, 235, 236, 5, 95, 0, 0, 236, 237, 7, 15, 0, 0, 237, 238, 7, 5, 0, 0, 238, 239, 7, 4, 0, 0, 239, 240, 7, 6, 0, 0, 240, 241, 7, 16, 0, 0, 241, 242, 7, 1, 0, 0, 242, 244, 7, 4, 0, 0, 243, 245, 7, 10, 0, 0, 244, 243, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, 52, 1, 0, 0, 0, 246, 247, 7, 1, 0, 0, 247, 248, 7, 4, 0, 0, 248, 54, 1, 0, 0, 0, 249, 250, 7, 4, 0, 0, 250, 251, 7, 5, 0, 0, 251, 252, 7, 6, 0, 0, 252, 253, 5, 95, 0, 0, 253, 254, 7, 1, 0, 0, 254, 255, 7, 4, 0, 0, 255, 56, 1, 0, 0, 0, 256, 257, 7, 4, 0, 0, 257, 258, 7, 5, 0, 0, 258, 259, 7, 6, 0, 0, 259, 58, 1, 0, 0, 0, 260, 261, 7, 16, 0, 0, 261, 262, 7, 4, 0, 0, 262, 263, 7, 17, 0, 0, 263, 60, 1, 0, 0, 0, 264, 265, 7, 5, 0, 0, 265, 266, 7, 12, 0, 0, 266, 62, 1, 0, 0, 0, 267, 268, 7, 18, 0, 0, 268, 269, 7, 16, 0, 0, 269, 270, 7, 10, 0, 0, 270, 64, 1, 0, 0, 0, 271, 272, 7, 18, 0, 0, 272, 273, 7, 16, 0, 0, 273, 274, 7, 10, 0, 0, 274, 275, 7, 16, 0, 0, 275, 276, 7, 4, 0, 0, 276, 277, 7, 19, 0, 0, 277, 66, 1, 0, 0, 0, 278, 279, 7, 18, 0, 0, 279, 280, 7, 16, 0, 0, 280, 281, 7, 10, 0, 0, 281, 282, 7, 16, 0, 0, 282, 283, 7, 0, 0, 0, 283, 284, 7, 0, 0, 0, 284, 68, 1, 0, 0, 0, 285, 286, 7, 18, 0, 0, 286, 287, 7, 16, 0, 0, 287, 288, 7, 10, 0, 0, 288, 289, 7, 4, 0, 0, 289, 290, 7, 5, 0, 0, 290, 291, 7, 4, 0, 0, 291, 292, 7, 3, 0, 0, 292, 70, 1, 0, 0, 0, 293, 294, 7, 6, 0, 0, 294, 295, 7, 12, 0, 0, 295, 296, 7, 11, 0, 0, 296, 303, 7, 3, 0, 0, 297, 298, 7, 20, 0, 0, 298, 299, 7, 16, 0, 0, 299, 300, 7, 0, 0, 0, 300, 301, 7, 10, 0, 0, 301, 303, 7, 3, 0, 0, 302, 293, 1, 0, 0, 0, 302, 297, 1, 0, 0, 0, 303, 72, 1, 0, 0, 0, 304, 306, 3, 81, 40, 0, 305, 304, 1, 0, 0, 0, 306, 307, 1, 0, 0, 0, 307, 305, 1, 0, 0, 0, 307, 308, 1, 0, 0, 0, 308, 315, 1, 0, 0, 0, 309, 311, 5, 46, 0, 0, 310, 312, 3, 81, 40, 0, 311, 310, 1, 0, 0, 0, 312, 313, 1, 0, 0, 0, 313, 311, 1, 0, 0, 0, 313, 314, 1, 0, 0, 0, 314, 316, 1, 0, 0, 0, 315, 309, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316, 74, 1, 0, 0, 0, 317, 323, 5, 34, 0, 0, 318, 322, 8, 21, 0, 0, 319, 320, 5, 92, 0, 0, 320, 322, 9, 0, 0, 0, 321, 318, 1, 0, 0, 0, 321, 319, 1, 0, 0, 0, 322, 325, 1, 0, 0, 0, 323, 321, 1, 0, 0, 0, 323, 324, 1, 0, 0, 0, 324, 326, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 326, 338, 5, 34, 0, 0, 327, 333, 5, 39, 0, 0, 328, 332, 8, 22, 0, 0, 329, 330, 5, 92, 0, 0, 330, 332, 9, 0, 0, 0, 331, 328, 1, 0, 0, 0, 331, 329, 1, 0, 0, 0, 332, 335, 1, 0, 0, 0, 333, 331, 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 336, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 336, 338, 5, 39, 0, 0, 337, 317, 1, 0, 0, 0, 337, 327, 1, 0, 0, 0, 338, 76, 1, 0, 0, 0, 339, 343, 7, 23, 0, 0, 340, 342, 7, 24, 0, 0, 341, 340, 1, 0, 0, 0, 342, 345, 1, 0, 0, 0, 343, 341, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 78, 1, 0, 0, 0, 345, 343, 1, 0, 0, 0, 346, 348, 7, 25, 0, 0, 347, 346, 1, 0, 0, 0, 348, 349, 1, 0, 0, 0, 349, 347, 1, 0, 0, 0, 349, 350, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 351, 352, 6, 39, 0, 0, 352, 80, 1, 0, 0, 0, 353, 354, 7, 26, 0, 0, 354, 82, 1, 0, 0, 0, 17, 0, 96, 170, 182, 230, 244, 302, 307, 313, 315, 321, 323, 331, 333, 337, 343, 349, 1, 6, 0, 0] \ No newline at end of file +[4, 0, 38, 331, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 3, 5, 93, 8, 5, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 167, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 179, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 3, 22, 207, 8, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 221, 8, 23, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 279, 8, 33, 1, 34, 4, 34, 282, 8, 34, 11, 34, 12, 34, 283, 1, 34, 1, 34, 4, 34, 288, 8, 34, 11, 34, 12, 34, 289, 3, 34, 292, 8, 34, 1, 35, 1, 35, 1, 35, 1, 35, 5, 35, 298, 8, 35, 10, 35, 12, 35, 301, 9, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 5, 35, 308, 8, 35, 10, 35, 12, 35, 311, 9, 35, 1, 35, 3, 35, 314, 8, 35, 1, 36, 1, 36, 5, 36, 318, 8, 36, 10, 36, 12, 36, 321, 9, 36, 1, 37, 4, 37, 324, 8, 37, 11, 37, 12, 37, 325, 1, 37, 1, 37, 1, 38, 1, 38, 0, 0, 39, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 0, 1, 0, 27, 2, 0, 76, 76, 108, 108, 2, 0, 73, 73, 105, 105, 2, 0, 75, 75, 107, 107, 2, 0, 69, 69, 101, 101, 2, 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, 2, 0, 84, 84, 116, 116, 2, 0, 66, 66, 98, 98, 2, 0, 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, 0, 83, 83, 115, 115, 2, 0, 82, 82, 114, 114, 2, 0, 71, 71, 103, 103, 2, 0, 80, 80, 112, 112, 2, 0, 67, 67, 99, 99, 2, 0, 65, 65, 97, 97, 2, 0, 68, 68, 100, 100, 2, 0, 72, 72, 104, 104, 2, 0, 89, 89, 121, 121, 2, 0, 85, 85, 117, 117, 2, 0, 70, 70, 102, 102, 2, 0, 34, 34, 92, 92, 2, 0, 39, 39, 92, 92, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 6, 0, 46, 46, 48, 57, 65, 91, 93, 93, 95, 95, 97, 122, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 48, 57, 345, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 1, 79, 1, 0, 0, 0, 3, 81, 1, 0, 0, 0, 5, 83, 1, 0, 0, 0, 7, 85, 1, 0, 0, 0, 9, 87, 1, 0, 0, 0, 11, 92, 1, 0, 0, 0, 13, 94, 1, 0, 0, 0, 15, 97, 1, 0, 0, 0, 17, 100, 1, 0, 0, 0, 19, 102, 1, 0, 0, 0, 21, 105, 1, 0, 0, 0, 23, 107, 1, 0, 0, 0, 25, 110, 1, 0, 0, 0, 27, 115, 1, 0, 0, 0, 29, 124, 1, 0, 0, 0, 31, 130, 1, 0, 0, 0, 33, 140, 1, 0, 0, 0, 35, 148, 1, 0, 0, 0, 37, 160, 1, 0, 0, 0, 39, 168, 1, 0, 0, 0, 41, 180, 1, 0, 0, 0, 43, 187, 1, 0, 0, 0, 45, 198, 1, 0, 0, 0, 47, 208, 1, 0, 0, 0, 49, 222, 1, 0, 0, 0, 51, 225, 1, 0, 0, 0, 53, 232, 1, 0, 0, 0, 55, 236, 1, 0, 0, 0, 57, 240, 1, 0, 0, 0, 59, 243, 1, 0, 0, 0, 61, 247, 1, 0, 0, 0, 63, 254, 1, 0, 0, 0, 65, 261, 1, 0, 0, 0, 67, 278, 1, 0, 0, 0, 69, 281, 1, 0, 0, 0, 71, 313, 1, 0, 0, 0, 73, 315, 1, 0, 0, 0, 75, 323, 1, 0, 0, 0, 77, 329, 1, 0, 0, 0, 79, 80, 5, 40, 0, 0, 80, 2, 1, 0, 0, 0, 81, 82, 5, 41, 0, 0, 82, 4, 1, 0, 0, 0, 83, 84, 5, 91, 0, 0, 84, 6, 1, 0, 0, 0, 85, 86, 5, 93, 0, 0, 86, 8, 1, 0, 0, 0, 87, 88, 5, 44, 0, 0, 88, 10, 1, 0, 0, 0, 89, 93, 5, 61, 0, 0, 90, 91, 5, 61, 0, 0, 91, 93, 5, 61, 0, 0, 92, 89, 1, 0, 0, 0, 92, 90, 1, 0, 0, 0, 93, 12, 1, 0, 0, 0, 94, 95, 5, 33, 0, 0, 95, 96, 5, 61, 0, 0, 96, 14, 1, 0, 0, 0, 97, 98, 5, 60, 0, 0, 98, 99, 5, 62, 0, 0, 99, 16, 1, 0, 0, 0, 100, 101, 5, 60, 0, 0, 101, 18, 1, 0, 0, 0, 102, 103, 5, 60, 0, 0, 103, 104, 5, 61, 0, 0, 104, 20, 1, 0, 0, 0, 105, 106, 5, 62, 0, 0, 106, 22, 1, 0, 0, 0, 107, 108, 5, 62, 0, 0, 108, 109, 5, 61, 0, 0, 109, 24, 1, 0, 0, 0, 110, 111, 7, 0, 0, 0, 111, 112, 7, 1, 0, 0, 112, 113, 7, 2, 0, 0, 113, 114, 7, 3, 0, 0, 114, 26, 1, 0, 0, 0, 115, 116, 7, 4, 0, 0, 116, 117, 7, 5, 0, 0, 117, 118, 7, 6, 0, 0, 118, 119, 5, 95, 0, 0, 119, 120, 7, 0, 0, 0, 120, 121, 7, 1, 0, 0, 121, 122, 7, 2, 0, 0, 122, 123, 7, 3, 0, 0, 123, 28, 1, 0, 0, 0, 124, 125, 7, 1, 0, 0, 125, 126, 7, 0, 0, 0, 126, 127, 7, 1, 0, 0, 127, 128, 7, 2, 0, 0, 128, 129, 7, 3, 0, 0, 129, 30, 1, 0, 0, 0, 130, 131, 7, 4, 0, 0, 131, 132, 7, 5, 0, 0, 132, 133, 7, 6, 0, 0, 133, 134, 5, 95, 0, 0, 134, 135, 7, 1, 0, 0, 135, 136, 7, 0, 0, 0, 136, 137, 7, 1, 0, 0, 137, 138, 7, 2, 0, 0, 138, 139, 7, 3, 0, 0, 139, 32, 1, 0, 0, 0, 140, 141, 7, 7, 0, 0, 141, 142, 7, 3, 0, 0, 142, 143, 7, 6, 0, 0, 143, 144, 7, 8, 0, 0, 144, 145, 7, 3, 0, 0, 145, 146, 7, 3, 0, 0, 146, 147, 7, 4, 0, 0, 147, 34, 1, 0, 0, 0, 148, 149, 7, 4, 0, 0, 149, 150, 7, 5, 0, 0, 150, 151, 7, 6, 0, 0, 151, 152, 5, 95, 0, 0, 152, 153, 7, 7, 0, 0, 153, 154, 7, 3, 0, 0, 154, 155, 7, 6, 0, 0, 155, 156, 7, 8, 0, 0, 156, 157, 7, 3, 0, 0, 157, 158, 7, 3, 0, 0, 158, 159, 7, 4, 0, 0, 159, 36, 1, 0, 0, 0, 160, 161, 7, 3, 0, 0, 161, 162, 7, 9, 0, 0, 162, 163, 7, 1, 0, 0, 163, 164, 7, 10, 0, 0, 164, 166, 7, 6, 0, 0, 165, 167, 7, 10, 0, 0, 166, 165, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 38, 1, 0, 0, 0, 168, 169, 7, 4, 0, 0, 169, 170, 7, 5, 0, 0, 170, 171, 7, 6, 0, 0, 171, 172, 5, 45, 0, 0, 172, 173, 7, 3, 0, 0, 173, 174, 7, 9, 0, 0, 174, 175, 7, 1, 0, 0, 175, 176, 7, 10, 0, 0, 176, 178, 7, 6, 0, 0, 177, 179, 7, 10, 0, 0, 178, 177, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 40, 1, 0, 0, 0, 180, 181, 7, 11, 0, 0, 181, 182, 7, 3, 0, 0, 182, 183, 7, 12, 0, 0, 183, 184, 7, 3, 0, 0, 184, 185, 7, 9, 0, 0, 185, 186, 7, 13, 0, 0, 186, 42, 1, 0, 0, 0, 187, 188, 7, 4, 0, 0, 188, 189, 7, 5, 0, 0, 189, 190, 7, 6, 0, 0, 190, 191, 5, 95, 0, 0, 191, 192, 7, 11, 0, 0, 192, 193, 7, 3, 0, 0, 193, 194, 7, 12, 0, 0, 194, 195, 7, 3, 0, 0, 195, 196, 7, 9, 0, 0, 196, 197, 7, 13, 0, 0, 197, 44, 1, 0, 0, 0, 198, 199, 7, 14, 0, 0, 199, 200, 7, 5, 0, 0, 200, 201, 7, 4, 0, 0, 201, 202, 7, 6, 0, 0, 202, 203, 7, 15, 0, 0, 203, 204, 7, 1, 0, 0, 204, 206, 7, 4, 0, 0, 205, 207, 7, 10, 0, 0, 206, 205, 1, 0, 0, 0, 206, 207, 1, 0, 0, 0, 207, 46, 1, 0, 0, 0, 208, 209, 7, 4, 0, 0, 209, 210, 7, 5, 0, 0, 210, 211, 7, 6, 0, 0, 211, 212, 5, 95, 0, 0, 212, 213, 7, 14, 0, 0, 213, 214, 7, 5, 0, 0, 214, 215, 7, 4, 0, 0, 215, 216, 7, 6, 0, 0, 216, 217, 7, 15, 0, 0, 217, 218, 7, 1, 0, 0, 218, 220, 7, 4, 0, 0, 219, 221, 7, 10, 0, 0, 220, 219, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221, 48, 1, 0, 0, 0, 222, 223, 7, 1, 0, 0, 223, 224, 7, 4, 0, 0, 224, 50, 1, 0, 0, 0, 225, 226, 7, 4, 0, 0, 226, 227, 7, 5, 0, 0, 227, 228, 7, 6, 0, 0, 228, 229, 5, 95, 0, 0, 229, 230, 7, 1, 0, 0, 230, 231, 7, 4, 0, 0, 231, 52, 1, 0, 0, 0, 232, 233, 7, 4, 0, 0, 233, 234, 7, 5, 0, 0, 234, 235, 7, 6, 0, 0, 235, 54, 1, 0, 0, 0, 236, 237, 7, 15, 0, 0, 237, 238, 7, 4, 0, 0, 238, 239, 7, 16, 0, 0, 239, 56, 1, 0, 0, 0, 240, 241, 7, 5, 0, 0, 241, 242, 7, 11, 0, 0, 242, 58, 1, 0, 0, 0, 243, 244, 7, 17, 0, 0, 244, 245, 7, 15, 0, 0, 245, 246, 7, 10, 0, 0, 246, 60, 1, 0, 0, 0, 247, 248, 7, 17, 0, 0, 248, 249, 7, 15, 0, 0, 249, 250, 7, 10, 0, 0, 250, 251, 7, 15, 0, 0, 251, 252, 7, 4, 0, 0, 252, 253, 7, 18, 0, 0, 253, 62, 1, 0, 0, 0, 254, 255, 7, 17, 0, 0, 255, 256, 7, 15, 0, 0, 256, 257, 7, 10, 0, 0, 257, 258, 7, 15, 0, 0, 258, 259, 7, 0, 0, 0, 259, 260, 7, 0, 0, 0, 260, 64, 1, 0, 0, 0, 261, 262, 7, 17, 0, 0, 262, 263, 7, 15, 0, 0, 263, 264, 7, 10, 0, 0, 264, 265, 7, 4, 0, 0, 265, 266, 7, 5, 0, 0, 266, 267, 7, 4, 0, 0, 267, 268, 7, 3, 0, 0, 268, 66, 1, 0, 0, 0, 269, 270, 7, 6, 0, 0, 270, 271, 7, 11, 0, 0, 271, 272, 7, 19, 0, 0, 272, 279, 7, 3, 0, 0, 273, 274, 7, 20, 0, 0, 274, 275, 7, 15, 0, 0, 275, 276, 7, 0, 0, 0, 276, 277, 7, 10, 0, 0, 277, 279, 7, 3, 0, 0, 278, 269, 1, 0, 0, 0, 278, 273, 1, 0, 0, 0, 279, 68, 1, 0, 0, 0, 280, 282, 3, 77, 38, 0, 281, 280, 1, 0, 0, 0, 282, 283, 1, 0, 0, 0, 283, 281, 1, 0, 0, 0, 283, 284, 1, 0, 0, 0, 284, 291, 1, 0, 0, 0, 285, 287, 5, 46, 0, 0, 286, 288, 3, 77, 38, 0, 287, 286, 1, 0, 0, 0, 288, 289, 1, 0, 0, 0, 289, 287, 1, 0, 0, 0, 289, 290, 1, 0, 0, 0, 290, 292, 1, 0, 0, 0, 291, 285, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 70, 1, 0, 0, 0, 293, 299, 5, 34, 0, 0, 294, 298, 8, 21, 0, 0, 295, 296, 5, 92, 0, 0, 296, 298, 9, 0, 0, 0, 297, 294, 1, 0, 0, 0, 297, 295, 1, 0, 0, 0, 298, 301, 1, 0, 0, 0, 299, 297, 1, 0, 0, 0, 299, 300, 1, 0, 0, 0, 300, 302, 1, 0, 0, 0, 301, 299, 1, 0, 0, 0, 302, 314, 5, 34, 0, 0, 303, 309, 5, 39, 0, 0, 304, 308, 8, 22, 0, 0, 305, 306, 5, 92, 0, 0, 306, 308, 9, 0, 0, 0, 307, 304, 1, 0, 0, 0, 307, 305, 1, 0, 0, 0, 308, 311, 1, 0, 0, 0, 309, 307, 1, 0, 0, 0, 309, 310, 1, 0, 0, 0, 310, 312, 1, 0, 0, 0, 311, 309, 1, 0, 0, 0, 312, 314, 5, 39, 0, 0, 313, 293, 1, 0, 0, 0, 313, 303, 1, 0, 0, 0, 314, 72, 1, 0, 0, 0, 315, 319, 7, 23, 0, 0, 316, 318, 7, 24, 0, 0, 317, 316, 1, 0, 0, 0, 318, 321, 1, 0, 0, 0, 319, 317, 1, 0, 0, 0, 319, 320, 1, 0, 0, 0, 320, 74, 1, 0, 0, 0, 321, 319, 1, 0, 0, 0, 322, 324, 7, 25, 0, 0, 323, 322, 1, 0, 0, 0, 324, 325, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 325, 326, 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 6, 37, 0, 0, 328, 76, 1, 0, 0, 0, 329, 330, 7, 26, 0, 0, 330, 78, 1, 0, 0, 0, 17, 0, 92, 166, 178, 206, 220, 278, 283, 289, 291, 297, 299, 307, 309, 313, 319, 325, 1, 6, 0, 0] \ No newline at end of file diff --git a/frontend/src/query-grammar/.antlr/FilterQueryLexer.java b/frontend/src/query-grammar/.antlr/FilterQueryLexer.java index cb86151781ec..0e04a2770446 100644 --- a/frontend/src/query-grammar/.antlr/FilterQueryLexer.java +++ b/frontend/src/query-grammar/.antlr/FilterQueryLexer.java @@ -18,10 +18,10 @@ public class FilterQueryLexer extends Lexer { public static final int LPAREN=1, RPAREN=2, LBRACK=3, RBRACK=4, COMMA=5, EQUALS=6, NOT_EQUALS=7, NEQ=8, LT=9, LE=10, GT=11, GE=12, LIKE=13, NOT_LIKE=14, ILIKE=15, NOT_ILIKE=16, - BETWEEN=17, NOT_BETWEEN=18, EXISTS=19, NOT_EXISTS=20, IS_NULL=21, IS_NOT_NULL=22, - REGEXP=23, NOT_REGEXP=24, CONTAINS=25, NOT_CONTAINS=26, IN=27, NOT_IN=28, - NOT=29, AND=30, OR=31, HAS=32, HASANY=33, HASALL=34, HASNONE=35, BOOL=36, - NUMBER=37, QUOTED_TEXT=38, KEY=39, WS=40; + BETWEEN=17, NOT_BETWEEN=18, EXISTS=19, NOT_EXISTS=20, REGEXP=21, NOT_REGEXP=22, + CONTAINS=23, NOT_CONTAINS=24, IN=25, NOT_IN=26, NOT=27, AND=28, OR=29, + HAS=30, HASANY=31, HASALL=32, HASNONE=33, BOOL=34, NUMBER=35, QUOTED_TEXT=36, + KEY=37, WS=38; public static String[] channelNames = { "DEFAULT_TOKEN_CHANNEL", "HIDDEN" }; @@ -34,10 +34,10 @@ public class FilterQueryLexer extends Lexer { return new String[] { "LPAREN", "RPAREN", "LBRACK", "RBRACK", "COMMA", "EQUALS", "NOT_EQUALS", "NEQ", "LT", "LE", "GT", "GE", "LIKE", "NOT_LIKE", "ILIKE", "NOT_ILIKE", - "BETWEEN", "NOT_BETWEEN", "EXISTS", "NOT_EXISTS", "IS_NULL", "IS_NOT_NULL", - "REGEXP", "NOT_REGEXP", "CONTAINS", "NOT_CONTAINS", "IN", "NOT_IN", "NOT", - "AND", "OR", "HAS", "HASANY", "HASALL", "HASNONE", "BOOL", "NUMBER", - "QUOTED_TEXT", "KEY", "WS", "DIGIT" + "BETWEEN", "NOT_BETWEEN", "EXISTS", "NOT_EXISTS", "REGEXP", "NOT_REGEXP", + "CONTAINS", "NOT_CONTAINS", "IN", "NOT_IN", "NOT", "AND", "OR", "HAS", + "HASANY", "HASALL", "HASNONE", "BOOL", "NUMBER", "QUOTED_TEXT", "KEY", + "WS", "DIGIT" }; } public static final String[] ruleNames = makeRuleNames(); @@ -53,10 +53,10 @@ public class FilterQueryLexer extends Lexer { return new String[] { null, "LPAREN", "RPAREN", "LBRACK", "RBRACK", "COMMA", "EQUALS", "NOT_EQUALS", "NEQ", "LT", "LE", "GT", "GE", "LIKE", "NOT_LIKE", "ILIKE", "NOT_ILIKE", - "BETWEEN", "NOT_BETWEEN", "EXISTS", "NOT_EXISTS", "IS_NULL", "IS_NOT_NULL", - "REGEXP", "NOT_REGEXP", "CONTAINS", "NOT_CONTAINS", "IN", "NOT_IN", "NOT", - "AND", "OR", "HAS", "HASANY", "HASALL", "HASNONE", "BOOL", "NUMBER", - "QUOTED_TEXT", "KEY", "WS" + "BETWEEN", "NOT_BETWEEN", "EXISTS", "NOT_EXISTS", "REGEXP", "NOT_REGEXP", + "CONTAINS", "NOT_CONTAINS", "IN", "NOT_IN", "NOT", "AND", "OR", "HAS", + "HASANY", "HASALL", "HASNONE", "BOOL", "NUMBER", "QUOTED_TEXT", "KEY", + "WS" }; } private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); @@ -118,7 +118,7 @@ public class FilterQueryLexer extends Lexer { public ATN getATN() { return _ATN; } public static final String _serializedATN = - "\u0004\u0000(\u0163\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001"+ + "\u0004\u0000&\u014b\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001"+ "\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004"+ "\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007"+ "\u0007\u0007\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b"+ @@ -130,57 +130,54 @@ public class FilterQueryLexer extends Lexer { "\u001b\u0007\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002"+ "\u001e\u0007\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007"+ "!\u0002\"\u0007\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007"+ - "&\u0002\'\u0007\'\u0002(\u0007(\u0001\u0000\u0001\u0000\u0001\u0001\u0001"+ - "\u0001\u0001\u0002\u0001\u0002\u0001\u0003\u0001\u0003\u0001\u0004\u0001"+ - "\u0004\u0001\u0005\u0001\u0005\u0001\u0005\u0003\u0005a\b\u0005\u0001"+ - "\u0006\u0001\u0006\u0001\u0006\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+ - "\b\u0001\b\u0001\t\u0001\t\u0001\t\u0001\n\u0001\n\u0001\u000b\u0001\u000b"+ - "\u0001\u000b\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\r\u0001\r\u0001"+ - "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\u000e\u0001\u000e"+ - "\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f"+ + "&\u0001\u0000\u0001\u0000\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002"+ + "\u0001\u0003\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005"+ + "\u0001\u0005\u0003\u0005]\b\u0005\u0001\u0006\u0001\u0006\u0001\u0006"+ + "\u0001\u0007\u0001\u0007\u0001\u0007\u0001\b\u0001\b\u0001\t\u0001\t\u0001"+ + "\t\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001\u000b\u0001\f\u0001\f"+ + "\u0001\f\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e"+ + "\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f"+ "\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f"+ - "\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010"+ - "\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0011\u0001\u0011"+ + "\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010"+ + "\u0001\u0010\u0001\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011"+ "\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011"+ - "\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012"+ - "\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0003\u0012\u00ab\b\u0012"+ + "\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012"+ + "\u0001\u0012\u0001\u0012\u0003\u0012\u00a7\b\u0012\u0001\u0013\u0001\u0013"+ "\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013"+ - "\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0003\u0013\u00b7\b\u0013"+ - "\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014"+ - "\u0001\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015"+ + "\u0001\u0013\u0001\u0013\u0003\u0013\u00b3\b\u0013\u0001\u0014\u0001\u0014"+ + "\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0015"+ "\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015"+ - "\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016"+ - "\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0001\u0017"+ + "\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016"+ + "\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016"+ + "\u0003\u0016\u00cf\b\u0016\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017"+ "\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017"+ - "\u0001\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018"+ - "\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0003\u0018\u00e7\b\u0018"+ - "\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019"+ - "\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019"+ - "\u0003\u0019\u00f5\b\u0019\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001b"+ - "\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b"+ - "\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d"+ - "\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001f"+ - "\u0001\u001f\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001 \u0001 \u0001"+ - " \u0001 \u0001 \u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001"+ - "\"\u0001\"\u0001\"\u0001\"\u0001\"\u0001\"\u0001\"\u0001\"\u0001#\u0001"+ - "#\u0001#\u0001#\u0001#\u0001#\u0001#\u0001#\u0001#\u0003#\u012f\b#\u0001"+ - "$\u0004$\u0132\b$\u000b$\f$\u0133\u0001$\u0001$\u0004$\u0138\b$\u000b"+ - "$\f$\u0139\u0003$\u013c\b$\u0001%\u0001%\u0001%\u0001%\u0005%\u0142\b"+ - "%\n%\f%\u0145\t%\u0001%\u0001%\u0001%\u0001%\u0001%\u0005%\u014c\b%\n"+ - "%\f%\u014f\t%\u0001%\u0003%\u0152\b%\u0001&\u0001&\u0005&\u0156\b&\n&"+ - "\f&\u0159\t&\u0001\'\u0004\'\u015c\b\'\u000b\'\f\'\u015d\u0001\'\u0001"+ - "\'\u0001(\u0001(\u0000\u0000)\u0001\u0001\u0003\u0002\u0005\u0003\u0007"+ - "\u0004\t\u0005\u000b\u0006\r\u0007\u000f\b\u0011\t\u0013\n\u0015\u000b"+ - "\u0017\f\u0019\r\u001b\u000e\u001d\u000f\u001f\u0010!\u0011#\u0012%\u0013"+ - "\'\u0014)\u0015+\u0016-\u0017/\u00181\u00193\u001a5\u001b7\u001c9\u001d"+ - ";\u001e=\u001f? A!C\"E#G$I%K&M\'O(Q\u0000\u0001\u0000\u001b\u0002\u0000"+ - "LLll\u0002\u0000IIii\u0002\u0000KKkk\u0002\u0000EEee\u0002\u0000NNnn\u0002"+ - "\u0000OOoo\u0002\u0000TTtt\u0002\u0000BBbb\u0002\u0000WWww\u0002\u0000"+ - "XXxx\u0002\u0000SSss\u0002\u0000UUuu\u0002\u0000RRrr\u0002\u0000GGgg\u0002"+ - "\u0000PPpp\u0002\u0000CCcc\u0002\u0000AAaa\u0002\u0000DDdd\u0002\u0000"+ - "HHhh\u0002\u0000YYyy\u0002\u0000FFff\u0002\u0000\"\"\\\\\u0002\u0000\'"+ - "\'\\\\\u0004\u000009AZ__az\u0006\u0000..09A[]]__az\u0003\u0000\t\n\r\r"+ - " \u0001\u000009\u0171\u0000\u0001\u0001\u0000\u0000\u0000\u0000\u0003"+ + "\u0001\u0017\u0001\u0017\u0003\u0017\u00dd\b\u0017\u0001\u0018\u0001\u0018"+ + "\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019"+ + "\u0001\u0019\u0001\u0019\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a"+ + "\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c"+ + "\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001e"+ + "\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e"+ + "\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f"+ + "\u0001\u001f\u0001 \u0001 \u0001 \u0001 \u0001 \u0001 \u0001 \u0001 \u0001"+ + "!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0003!\u0117"+ + "\b!\u0001\"\u0004\"\u011a\b\"\u000b\"\f\"\u011b\u0001\"\u0001\"\u0004"+ + "\"\u0120\b\"\u000b\"\f\"\u0121\u0003\"\u0124\b\"\u0001#\u0001#\u0001#"+ + "\u0001#\u0005#\u012a\b#\n#\f#\u012d\t#\u0001#\u0001#\u0001#\u0001#\u0001"+ + "#\u0005#\u0134\b#\n#\f#\u0137\t#\u0001#\u0003#\u013a\b#\u0001$\u0001$"+ + "\u0005$\u013e\b$\n$\f$\u0141\t$\u0001%\u0004%\u0144\b%\u000b%\f%\u0145"+ + "\u0001%\u0001%\u0001&\u0001&\u0000\u0000\'\u0001\u0001\u0003\u0002\u0005"+ + "\u0003\u0007\u0004\t\u0005\u000b\u0006\r\u0007\u000f\b\u0011\t\u0013\n"+ + "\u0015\u000b\u0017\f\u0019\r\u001b\u000e\u001d\u000f\u001f\u0010!\u0011"+ + "#\u0012%\u0013\'\u0014)\u0015+\u0016-\u0017/\u00181\u00193\u001a5\u001b"+ + "7\u001c9\u001d;\u001e=\u001f? A!C\"E#G$I%K&M\u0000\u0001\u0000\u001b\u0002"+ + "\u0000LLll\u0002\u0000IIii\u0002\u0000KKkk\u0002\u0000EEee\u0002\u0000"+ + "NNnn\u0002\u0000OOoo\u0002\u0000TTtt\u0002\u0000BBbb\u0002\u0000WWww\u0002"+ + "\u0000XXxx\u0002\u0000SSss\u0002\u0000RRrr\u0002\u0000GGgg\u0002\u0000"+ + "PPpp\u0002\u0000CCcc\u0002\u0000AAaa\u0002\u0000DDdd\u0002\u0000HHhh\u0002"+ + "\u0000YYyy\u0002\u0000UUuu\u0002\u0000FFff\u0002\u0000\"\"\\\\\u0002\u0000"+ + "\'\'\\\\\u0004\u000009AZ__az\u0006\u0000..09A[]]__az\u0003\u0000\t\n\r"+ + "\r \u0001\u000009\u0159\u0000\u0001\u0001\u0000\u0000\u0000\u0000\u0003"+ "\u0001\u0000\u0000\u0000\u0000\u0005\u0001\u0000\u0000\u0000\u0000\u0007"+ "\u0001\u0000\u0000\u0000\u0000\t\u0001\u0000\u0000\u0000\u0000\u000b\u0001"+ "\u0000\u0000\u0000\u0000\r\u0001\u0000\u0000\u0000\u0000\u000f\u0001\u0000"+ @@ -197,159 +194,147 @@ public class FilterQueryLexer extends Lexer { "\u0000\u0000\u0000\u0000=\u0001\u0000\u0000\u0000\u0000?\u0001\u0000\u0000"+ "\u0000\u0000A\u0001\u0000\u0000\u0000\u0000C\u0001\u0000\u0000\u0000\u0000"+ "E\u0001\u0000\u0000\u0000\u0000G\u0001\u0000\u0000\u0000\u0000I\u0001"+ - "\u0000\u0000\u0000\u0000K\u0001\u0000\u0000\u0000\u0000M\u0001\u0000\u0000"+ - "\u0000\u0000O\u0001\u0000\u0000\u0000\u0001S\u0001\u0000\u0000\u0000\u0003"+ - "U\u0001\u0000\u0000\u0000\u0005W\u0001\u0000\u0000\u0000\u0007Y\u0001"+ - "\u0000\u0000\u0000\t[\u0001\u0000\u0000\u0000\u000b`\u0001\u0000\u0000"+ - "\u0000\rb\u0001\u0000\u0000\u0000\u000fe\u0001\u0000\u0000\u0000\u0011"+ - "h\u0001\u0000\u0000\u0000\u0013j\u0001\u0000\u0000\u0000\u0015m\u0001"+ - "\u0000\u0000\u0000\u0017o\u0001\u0000\u0000\u0000\u0019r\u0001\u0000\u0000"+ - "\u0000\u001bw\u0001\u0000\u0000\u0000\u001d\u0080\u0001\u0000\u0000\u0000"+ - "\u001f\u0086\u0001\u0000\u0000\u0000!\u0090\u0001\u0000\u0000\u0000#\u0098"+ - "\u0001\u0000\u0000\u0000%\u00a4\u0001\u0000\u0000\u0000\'\u00ac\u0001"+ - "\u0000\u0000\u0000)\u00b8\u0001\u0000\u0000\u0000+\u00c0\u0001\u0000\u0000"+ - "\u0000-\u00cc\u0001\u0000\u0000\u0000/\u00d3\u0001\u0000\u0000\u00001"+ - "\u00de\u0001\u0000\u0000\u00003\u00e8\u0001\u0000\u0000\u00005\u00f6\u0001"+ - "\u0000\u0000\u00007\u00f9\u0001\u0000\u0000\u00009\u0100\u0001\u0000\u0000"+ - "\u0000;\u0104\u0001\u0000\u0000\u0000=\u0108\u0001\u0000\u0000\u0000?"+ - "\u010b\u0001\u0000\u0000\u0000A\u010f\u0001\u0000\u0000\u0000C\u0116\u0001"+ - "\u0000\u0000\u0000E\u011d\u0001\u0000\u0000\u0000G\u012e\u0001\u0000\u0000"+ - "\u0000I\u0131\u0001\u0000\u0000\u0000K\u0151\u0001\u0000\u0000\u0000M"+ - "\u0153\u0001\u0000\u0000\u0000O\u015b\u0001\u0000\u0000\u0000Q\u0161\u0001"+ - "\u0000\u0000\u0000ST\u0005(\u0000\u0000T\u0002\u0001\u0000\u0000\u0000"+ - "UV\u0005)\u0000\u0000V\u0004\u0001\u0000\u0000\u0000WX\u0005[\u0000\u0000"+ - "X\u0006\u0001\u0000\u0000\u0000YZ\u0005]\u0000\u0000Z\b\u0001\u0000\u0000"+ - "\u0000[\\\u0005,\u0000\u0000\\\n\u0001\u0000\u0000\u0000]a\u0005=\u0000"+ - "\u0000^_\u0005=\u0000\u0000_a\u0005=\u0000\u0000`]\u0001\u0000\u0000\u0000"+ - "`^\u0001\u0000\u0000\u0000a\f\u0001\u0000\u0000\u0000bc\u0005!\u0000\u0000"+ - "cd\u0005=\u0000\u0000d\u000e\u0001\u0000\u0000\u0000ef\u0005<\u0000\u0000"+ - "fg\u0005>\u0000\u0000g\u0010\u0001\u0000\u0000\u0000hi\u0005<\u0000\u0000"+ - "i\u0012\u0001\u0000\u0000\u0000jk\u0005<\u0000\u0000kl\u0005=\u0000\u0000"+ - "l\u0014\u0001\u0000\u0000\u0000mn\u0005>\u0000\u0000n\u0016\u0001\u0000"+ - "\u0000\u0000op\u0005>\u0000\u0000pq\u0005=\u0000\u0000q\u0018\u0001\u0000"+ - "\u0000\u0000rs\u0007\u0000\u0000\u0000st\u0007\u0001\u0000\u0000tu\u0007"+ - "\u0002\u0000\u0000uv\u0007\u0003\u0000\u0000v\u001a\u0001\u0000\u0000"+ - "\u0000wx\u0007\u0004\u0000\u0000xy\u0007\u0005\u0000\u0000yz\u0007\u0006"+ - "\u0000\u0000z{\u0005_\u0000\u0000{|\u0007\u0000\u0000\u0000|}\u0007\u0001"+ - "\u0000\u0000}~\u0007\u0002\u0000\u0000~\u007f\u0007\u0003\u0000\u0000"+ - "\u007f\u001c\u0001\u0000\u0000\u0000\u0080\u0081\u0007\u0001\u0000\u0000"+ - "\u0081\u0082\u0007\u0000\u0000\u0000\u0082\u0083\u0007\u0001\u0000\u0000"+ - "\u0083\u0084\u0007\u0002\u0000\u0000\u0084\u0085\u0007\u0003\u0000\u0000"+ - "\u0085\u001e\u0001\u0000\u0000\u0000\u0086\u0087\u0007\u0004\u0000\u0000"+ - "\u0087\u0088\u0007\u0005\u0000\u0000\u0088\u0089\u0007\u0006\u0000\u0000"+ - "\u0089\u008a\u0005_\u0000\u0000\u008a\u008b\u0007\u0001\u0000\u0000\u008b"+ - "\u008c\u0007\u0000\u0000\u0000\u008c\u008d\u0007\u0001\u0000\u0000\u008d"+ - "\u008e\u0007\u0002\u0000\u0000\u008e\u008f\u0007\u0003\u0000\u0000\u008f"+ - " \u0001\u0000\u0000\u0000\u0090\u0091\u0007\u0007\u0000\u0000\u0091\u0092"+ - "\u0007\u0003\u0000\u0000\u0092\u0093\u0007\u0006\u0000\u0000\u0093\u0094"+ - "\u0007\b\u0000\u0000\u0094\u0095\u0007\u0003\u0000\u0000\u0095\u0096\u0007"+ - "\u0003\u0000\u0000\u0096\u0097\u0007\u0004\u0000\u0000\u0097\"\u0001\u0000"+ - "\u0000\u0000\u0098\u0099\u0007\u0004\u0000\u0000\u0099\u009a\u0007\u0005"+ - "\u0000\u0000\u009a\u009b\u0007\u0006\u0000\u0000\u009b\u009c\u0005_\u0000"+ - "\u0000\u009c\u009d\u0007\u0007\u0000\u0000\u009d\u009e\u0007\u0003\u0000"+ - "\u0000\u009e\u009f\u0007\u0006\u0000\u0000\u009f\u00a0\u0007\b\u0000\u0000"+ - "\u00a0\u00a1\u0007\u0003\u0000\u0000\u00a1\u00a2\u0007\u0003\u0000\u0000"+ - "\u00a2\u00a3\u0007\u0004\u0000\u0000\u00a3$\u0001\u0000\u0000\u0000\u00a4"+ - "\u00a5\u0007\u0003\u0000\u0000\u00a5\u00a6\u0007\t\u0000\u0000\u00a6\u00a7"+ - "\u0007\u0001\u0000\u0000\u00a7\u00a8\u0007\n\u0000\u0000\u00a8\u00aa\u0007"+ - "\u0006\u0000\u0000\u00a9\u00ab\u0007\n\u0000\u0000\u00aa\u00a9\u0001\u0000"+ - "\u0000\u0000\u00aa\u00ab\u0001\u0000\u0000\u0000\u00ab&\u0001\u0000\u0000"+ - "\u0000\u00ac\u00ad\u0007\u0004\u0000\u0000\u00ad\u00ae\u0007\u0005\u0000"+ - "\u0000\u00ae\u00af\u0007\u0006\u0000\u0000\u00af\u00b0\u0005-\u0000\u0000"+ - "\u00b0\u00b1\u0007\u0003\u0000\u0000\u00b1\u00b2\u0007\t\u0000\u0000\u00b2"+ - "\u00b3\u0007\u0001\u0000\u0000\u00b3\u00b4\u0007\n\u0000\u0000\u00b4\u00b6"+ - "\u0007\u0006\u0000\u0000\u00b5\u00b7\u0007\n\u0000\u0000\u00b6\u00b5\u0001"+ - "\u0000\u0000\u0000\u00b6\u00b7\u0001\u0000\u0000\u0000\u00b7(\u0001\u0000"+ - "\u0000\u0000\u00b8\u00b9\u0007\u0001\u0000\u0000\u00b9\u00ba\u0007\n\u0000"+ - "\u0000\u00ba\u00bb\u0005_\u0000\u0000\u00bb\u00bc\u0007\u0004\u0000\u0000"+ - "\u00bc\u00bd\u0007\u000b\u0000\u0000\u00bd\u00be\u0007\u0000\u0000\u0000"+ - "\u00be\u00bf\u0007\u0000\u0000\u0000\u00bf*\u0001\u0000\u0000\u0000\u00c0"+ - "\u00c1\u0007\u0001\u0000\u0000\u00c1\u00c2\u0007\n\u0000\u0000\u00c2\u00c3"+ - "\u0005_\u0000\u0000\u00c3\u00c4\u0007\u0004\u0000\u0000\u00c4\u00c5\u0007"+ - "\u0005\u0000\u0000\u00c5\u00c6\u0007\u0006\u0000\u0000\u00c6\u00c7\u0005"+ - "_\u0000\u0000\u00c7\u00c8\u0007\u0004\u0000\u0000\u00c8\u00c9\u0007\u000b"+ - "\u0000\u0000\u00c9\u00ca\u0007\u0000\u0000\u0000\u00ca\u00cb\u0007\u0000"+ - "\u0000\u0000\u00cb,\u0001\u0000\u0000\u0000\u00cc\u00cd\u0007\f\u0000"+ - "\u0000\u00cd\u00ce\u0007\u0003\u0000\u0000\u00ce\u00cf\u0007\r\u0000\u0000"+ - "\u00cf\u00d0\u0007\u0003\u0000\u0000\u00d0\u00d1\u0007\t\u0000\u0000\u00d1"+ - "\u00d2\u0007\u000e\u0000\u0000\u00d2.\u0001\u0000\u0000\u0000\u00d3\u00d4"+ - "\u0007\u0004\u0000\u0000\u00d4\u00d5\u0007\u0005\u0000\u0000\u00d5\u00d6"+ - "\u0007\u0006\u0000\u0000\u00d6\u00d7\u0005_\u0000\u0000\u00d7\u00d8\u0007"+ - "\f\u0000\u0000\u00d8\u00d9\u0007\u0003\u0000\u0000\u00d9\u00da\u0007\r"+ - "\u0000\u0000\u00da\u00db\u0007\u0003\u0000\u0000\u00db\u00dc\u0007\t\u0000"+ - "\u0000\u00dc\u00dd\u0007\u000e\u0000\u0000\u00dd0\u0001\u0000\u0000\u0000"+ - "\u00de\u00df\u0007\u000f\u0000\u0000\u00df\u00e0\u0007\u0005\u0000\u0000"+ - "\u00e0\u00e1\u0007\u0004\u0000\u0000\u00e1\u00e2\u0007\u0006\u0000\u0000"+ - "\u00e2\u00e3\u0007\u0010\u0000\u0000\u00e3\u00e4\u0007\u0001\u0000\u0000"+ - "\u00e4\u00e6\u0007\u0004\u0000\u0000\u00e5\u00e7\u0007\n\u0000\u0000\u00e6"+ - "\u00e5\u0001\u0000\u0000\u0000\u00e6\u00e7\u0001\u0000\u0000\u0000\u00e7"+ - "2\u0001\u0000\u0000\u0000\u00e8\u00e9\u0007\u0004\u0000\u0000\u00e9\u00ea"+ - "\u0007\u0005\u0000\u0000\u00ea\u00eb\u0007\u0006\u0000\u0000\u00eb\u00ec"+ - "\u0005_\u0000\u0000\u00ec\u00ed\u0007\u000f\u0000\u0000\u00ed\u00ee\u0007"+ - "\u0005\u0000\u0000\u00ee\u00ef\u0007\u0004\u0000\u0000\u00ef\u00f0\u0007"+ - "\u0006\u0000\u0000\u00f0\u00f1\u0007\u0010\u0000\u0000\u00f1\u00f2\u0007"+ - "\u0001\u0000\u0000\u00f2\u00f4\u0007\u0004\u0000\u0000\u00f3\u00f5\u0007"+ - "\n\u0000\u0000\u00f4\u00f3\u0001\u0000\u0000\u0000\u00f4\u00f5\u0001\u0000"+ - "\u0000\u0000\u00f54\u0001\u0000\u0000\u0000\u00f6\u00f7\u0007\u0001\u0000"+ - "\u0000\u00f7\u00f8\u0007\u0004\u0000\u0000\u00f86\u0001\u0000\u0000\u0000"+ - "\u00f9\u00fa\u0007\u0004\u0000\u0000\u00fa\u00fb\u0007\u0005\u0000\u0000"+ - "\u00fb\u00fc\u0007\u0006\u0000\u0000\u00fc\u00fd\u0005_\u0000\u0000\u00fd"+ - "\u00fe\u0007\u0001\u0000\u0000\u00fe\u00ff\u0007\u0004\u0000\u0000\u00ff"+ - "8\u0001\u0000\u0000\u0000\u0100\u0101\u0007\u0004\u0000\u0000\u0101\u0102"+ - "\u0007\u0005\u0000\u0000\u0102\u0103\u0007\u0006\u0000\u0000\u0103:\u0001"+ - "\u0000\u0000\u0000\u0104\u0105\u0007\u0010\u0000\u0000\u0105\u0106\u0007"+ - "\u0004\u0000\u0000\u0106\u0107\u0007\u0011\u0000\u0000\u0107<\u0001\u0000"+ - "\u0000\u0000\u0108\u0109\u0007\u0005\u0000\u0000\u0109\u010a\u0007\f\u0000"+ - "\u0000\u010a>\u0001\u0000\u0000\u0000\u010b\u010c\u0007\u0012\u0000\u0000"+ - "\u010c\u010d\u0007\u0010\u0000\u0000\u010d\u010e\u0007\n\u0000\u0000\u010e"+ - "@\u0001\u0000\u0000\u0000\u010f\u0110\u0007\u0012\u0000\u0000\u0110\u0111"+ - "\u0007\u0010\u0000\u0000\u0111\u0112\u0007\n\u0000\u0000\u0112\u0113\u0007"+ - "\u0010\u0000\u0000\u0113\u0114\u0007\u0004\u0000\u0000\u0114\u0115\u0007"+ - "\u0013\u0000\u0000\u0115B\u0001\u0000\u0000\u0000\u0116\u0117\u0007\u0012"+ - "\u0000\u0000\u0117\u0118\u0007\u0010\u0000\u0000\u0118\u0119\u0007\n\u0000"+ - "\u0000\u0119\u011a\u0007\u0010\u0000\u0000\u011a\u011b\u0007\u0000\u0000"+ - "\u0000\u011b\u011c\u0007\u0000\u0000\u0000\u011cD\u0001\u0000\u0000\u0000"+ - "\u011d\u011e\u0007\u0012\u0000\u0000\u011e\u011f\u0007\u0010\u0000\u0000"+ - "\u011f\u0120\u0007\n\u0000\u0000\u0120\u0121\u0007\u0004\u0000\u0000\u0121"+ - "\u0122\u0007\u0005\u0000\u0000\u0122\u0123\u0007\u0004\u0000\u0000\u0123"+ - "\u0124\u0007\u0003\u0000\u0000\u0124F\u0001\u0000\u0000\u0000\u0125\u0126"+ - "\u0007\u0006\u0000\u0000\u0126\u0127\u0007\f\u0000\u0000\u0127\u0128\u0007"+ - "\u000b\u0000\u0000\u0128\u012f\u0007\u0003\u0000\u0000\u0129\u012a\u0007"+ - "\u0014\u0000\u0000\u012a\u012b\u0007\u0010\u0000\u0000\u012b\u012c\u0007"+ - "\u0000\u0000\u0000\u012c\u012d\u0007\n\u0000\u0000\u012d\u012f\u0007\u0003"+ - "\u0000\u0000\u012e\u0125\u0001\u0000\u0000\u0000\u012e\u0129\u0001\u0000"+ - "\u0000\u0000\u012fH\u0001\u0000\u0000\u0000\u0130\u0132\u0003Q(\u0000"+ - "\u0131\u0130\u0001\u0000\u0000\u0000\u0132\u0133\u0001\u0000\u0000\u0000"+ - "\u0133\u0131\u0001\u0000\u0000\u0000\u0133\u0134\u0001\u0000\u0000\u0000"+ - "\u0134\u013b\u0001\u0000\u0000\u0000\u0135\u0137\u0005.\u0000\u0000\u0136"+ - "\u0138\u0003Q(\u0000\u0137\u0136\u0001\u0000\u0000\u0000\u0138\u0139\u0001"+ - "\u0000\u0000\u0000\u0139\u0137\u0001\u0000\u0000\u0000\u0139\u013a\u0001"+ - "\u0000\u0000\u0000\u013a\u013c\u0001\u0000\u0000\u0000\u013b\u0135\u0001"+ - "\u0000\u0000\u0000\u013b\u013c\u0001\u0000\u0000\u0000\u013cJ\u0001\u0000"+ - "\u0000\u0000\u013d\u0143\u0005\"\u0000\u0000\u013e\u0142\b\u0015\u0000"+ - "\u0000\u013f\u0140\u0005\\\u0000\u0000\u0140\u0142\t\u0000\u0000\u0000"+ - "\u0141\u013e\u0001\u0000\u0000\u0000\u0141\u013f\u0001\u0000\u0000\u0000"+ - "\u0142\u0145\u0001\u0000\u0000\u0000\u0143\u0141\u0001\u0000\u0000\u0000"+ - "\u0143\u0144\u0001\u0000\u0000\u0000\u0144\u0146\u0001\u0000\u0000\u0000"+ - "\u0145\u0143\u0001\u0000\u0000\u0000\u0146\u0152\u0005\"\u0000\u0000\u0147"+ - "\u014d\u0005\'\u0000\u0000\u0148\u014c\b\u0016\u0000\u0000\u0149\u014a"+ - "\u0005\\\u0000\u0000\u014a\u014c\t\u0000\u0000\u0000\u014b\u0148\u0001"+ - "\u0000\u0000\u0000\u014b\u0149\u0001\u0000\u0000\u0000\u014c\u014f\u0001"+ - "\u0000\u0000\u0000\u014d\u014b\u0001\u0000\u0000\u0000\u014d\u014e\u0001"+ - "\u0000\u0000\u0000\u014e\u0150\u0001\u0000\u0000\u0000\u014f\u014d\u0001"+ - "\u0000\u0000\u0000\u0150\u0152\u0005\'\u0000\u0000\u0151\u013d\u0001\u0000"+ - "\u0000\u0000\u0151\u0147\u0001\u0000\u0000\u0000\u0152L\u0001\u0000\u0000"+ - "\u0000\u0153\u0157\u0007\u0017\u0000\u0000\u0154\u0156\u0007\u0018\u0000"+ - "\u0000\u0155\u0154\u0001\u0000\u0000\u0000\u0156\u0159\u0001\u0000\u0000"+ - "\u0000\u0157\u0155\u0001\u0000\u0000\u0000\u0157\u0158\u0001\u0000\u0000"+ - "\u0000\u0158N\u0001\u0000\u0000\u0000\u0159\u0157\u0001\u0000\u0000\u0000"+ - "\u015a\u015c\u0007\u0019\u0000\u0000\u015b\u015a\u0001\u0000\u0000\u0000"+ - "\u015c\u015d\u0001\u0000\u0000\u0000\u015d\u015b\u0001\u0000\u0000\u0000"+ - "\u015d\u015e\u0001\u0000\u0000\u0000\u015e\u015f\u0001\u0000\u0000\u0000"+ - "\u015f\u0160\u0006\'\u0000\u0000\u0160P\u0001\u0000\u0000\u0000\u0161"+ - "\u0162\u0007\u001a\u0000\u0000\u0162R\u0001\u0000\u0000\u0000\u0011\u0000"+ - "`\u00aa\u00b6\u00e6\u00f4\u012e\u0133\u0139\u013b\u0141\u0143\u014b\u014d"+ - "\u0151\u0157\u015d\u0001\u0006\u0000\u0000"; + "\u0000\u0000\u0000\u0000K\u0001\u0000\u0000\u0000\u0001O\u0001\u0000\u0000"+ + "\u0000\u0003Q\u0001\u0000\u0000\u0000\u0005S\u0001\u0000\u0000\u0000\u0007"+ + "U\u0001\u0000\u0000\u0000\tW\u0001\u0000\u0000\u0000\u000b\\\u0001\u0000"+ + "\u0000\u0000\r^\u0001\u0000\u0000\u0000\u000fa\u0001\u0000\u0000\u0000"+ + "\u0011d\u0001\u0000\u0000\u0000\u0013f\u0001\u0000\u0000\u0000\u0015i"+ + "\u0001\u0000\u0000\u0000\u0017k\u0001\u0000\u0000\u0000\u0019n\u0001\u0000"+ + "\u0000\u0000\u001bs\u0001\u0000\u0000\u0000\u001d|\u0001\u0000\u0000\u0000"+ + "\u001f\u0082\u0001\u0000\u0000\u0000!\u008c\u0001\u0000\u0000\u0000#\u0094"+ + "\u0001\u0000\u0000\u0000%\u00a0\u0001\u0000\u0000\u0000\'\u00a8\u0001"+ + "\u0000\u0000\u0000)\u00b4\u0001\u0000\u0000\u0000+\u00bb\u0001\u0000\u0000"+ + "\u0000-\u00c6\u0001\u0000\u0000\u0000/\u00d0\u0001\u0000\u0000\u00001"+ + "\u00de\u0001\u0000\u0000\u00003\u00e1\u0001\u0000\u0000\u00005\u00e8\u0001"+ + "\u0000\u0000\u00007\u00ec\u0001\u0000\u0000\u00009\u00f0\u0001\u0000\u0000"+ + "\u0000;\u00f3\u0001\u0000\u0000\u0000=\u00f7\u0001\u0000\u0000\u0000?"+ + "\u00fe\u0001\u0000\u0000\u0000A\u0105\u0001\u0000\u0000\u0000C\u0116\u0001"+ + "\u0000\u0000\u0000E\u0119\u0001\u0000\u0000\u0000G\u0139\u0001\u0000\u0000"+ + "\u0000I\u013b\u0001\u0000\u0000\u0000K\u0143\u0001\u0000\u0000\u0000M"+ + "\u0149\u0001\u0000\u0000\u0000OP\u0005(\u0000\u0000P\u0002\u0001\u0000"+ + "\u0000\u0000QR\u0005)\u0000\u0000R\u0004\u0001\u0000\u0000\u0000ST\u0005"+ + "[\u0000\u0000T\u0006\u0001\u0000\u0000\u0000UV\u0005]\u0000\u0000V\b\u0001"+ + "\u0000\u0000\u0000WX\u0005,\u0000\u0000X\n\u0001\u0000\u0000\u0000Y]\u0005"+ + "=\u0000\u0000Z[\u0005=\u0000\u0000[]\u0005=\u0000\u0000\\Y\u0001\u0000"+ + "\u0000\u0000\\Z\u0001\u0000\u0000\u0000]\f\u0001\u0000\u0000\u0000^_\u0005"+ + "!\u0000\u0000_`\u0005=\u0000\u0000`\u000e\u0001\u0000\u0000\u0000ab\u0005"+ + "<\u0000\u0000bc\u0005>\u0000\u0000c\u0010\u0001\u0000\u0000\u0000de\u0005"+ + "<\u0000\u0000e\u0012\u0001\u0000\u0000\u0000fg\u0005<\u0000\u0000gh\u0005"+ + "=\u0000\u0000h\u0014\u0001\u0000\u0000\u0000ij\u0005>\u0000\u0000j\u0016"+ + "\u0001\u0000\u0000\u0000kl\u0005>\u0000\u0000lm\u0005=\u0000\u0000m\u0018"+ + "\u0001\u0000\u0000\u0000no\u0007\u0000\u0000\u0000op\u0007\u0001\u0000"+ + "\u0000pq\u0007\u0002\u0000\u0000qr\u0007\u0003\u0000\u0000r\u001a\u0001"+ + "\u0000\u0000\u0000st\u0007\u0004\u0000\u0000tu\u0007\u0005\u0000\u0000"+ + "uv\u0007\u0006\u0000\u0000vw\u0005_\u0000\u0000wx\u0007\u0000\u0000\u0000"+ + "xy\u0007\u0001\u0000\u0000yz\u0007\u0002\u0000\u0000z{\u0007\u0003\u0000"+ + "\u0000{\u001c\u0001\u0000\u0000\u0000|}\u0007\u0001\u0000\u0000}~\u0007"+ + "\u0000\u0000\u0000~\u007f\u0007\u0001\u0000\u0000\u007f\u0080\u0007\u0002"+ + "\u0000\u0000\u0080\u0081\u0007\u0003\u0000\u0000\u0081\u001e\u0001\u0000"+ + "\u0000\u0000\u0082\u0083\u0007\u0004\u0000\u0000\u0083\u0084\u0007\u0005"+ + "\u0000\u0000\u0084\u0085\u0007\u0006\u0000\u0000\u0085\u0086\u0005_\u0000"+ + "\u0000\u0086\u0087\u0007\u0001\u0000\u0000\u0087\u0088\u0007\u0000\u0000"+ + "\u0000\u0088\u0089\u0007\u0001\u0000\u0000\u0089\u008a\u0007\u0002\u0000"+ + "\u0000\u008a\u008b\u0007\u0003\u0000\u0000\u008b \u0001\u0000\u0000\u0000"+ + "\u008c\u008d\u0007\u0007\u0000\u0000\u008d\u008e\u0007\u0003\u0000\u0000"+ + "\u008e\u008f\u0007\u0006\u0000\u0000\u008f\u0090\u0007\b\u0000\u0000\u0090"+ + "\u0091\u0007\u0003\u0000\u0000\u0091\u0092\u0007\u0003\u0000\u0000\u0092"+ + "\u0093\u0007\u0004\u0000\u0000\u0093\"\u0001\u0000\u0000\u0000\u0094\u0095"+ + "\u0007\u0004\u0000\u0000\u0095\u0096\u0007\u0005\u0000\u0000\u0096\u0097"+ + "\u0007\u0006\u0000\u0000\u0097\u0098\u0005_\u0000\u0000\u0098\u0099\u0007"+ + "\u0007\u0000\u0000\u0099\u009a\u0007\u0003\u0000\u0000\u009a\u009b\u0007"+ + "\u0006\u0000\u0000\u009b\u009c\u0007\b\u0000\u0000\u009c\u009d\u0007\u0003"+ + "\u0000\u0000\u009d\u009e\u0007\u0003\u0000\u0000\u009e\u009f\u0007\u0004"+ + "\u0000\u0000\u009f$\u0001\u0000\u0000\u0000\u00a0\u00a1\u0007\u0003\u0000"+ + "\u0000\u00a1\u00a2\u0007\t\u0000\u0000\u00a2\u00a3\u0007\u0001\u0000\u0000"+ + "\u00a3\u00a4\u0007\n\u0000\u0000\u00a4\u00a6\u0007\u0006\u0000\u0000\u00a5"+ + "\u00a7\u0007\n\u0000\u0000\u00a6\u00a5\u0001\u0000\u0000\u0000\u00a6\u00a7"+ + "\u0001\u0000\u0000\u0000\u00a7&\u0001\u0000\u0000\u0000\u00a8\u00a9\u0007"+ + "\u0004\u0000\u0000\u00a9\u00aa\u0007\u0005\u0000\u0000\u00aa\u00ab\u0007"+ + "\u0006\u0000\u0000\u00ab\u00ac\u0005-\u0000\u0000\u00ac\u00ad\u0007\u0003"+ + "\u0000\u0000\u00ad\u00ae\u0007\t\u0000\u0000\u00ae\u00af\u0007\u0001\u0000"+ + "\u0000\u00af\u00b0\u0007\n\u0000\u0000\u00b0\u00b2\u0007\u0006\u0000\u0000"+ + "\u00b1\u00b3\u0007\n\u0000\u0000\u00b2\u00b1\u0001\u0000\u0000\u0000\u00b2"+ + "\u00b3\u0001\u0000\u0000\u0000\u00b3(\u0001\u0000\u0000\u0000\u00b4\u00b5"+ + "\u0007\u000b\u0000\u0000\u00b5\u00b6\u0007\u0003\u0000\u0000\u00b6\u00b7"+ + "\u0007\f\u0000\u0000\u00b7\u00b8\u0007\u0003\u0000\u0000\u00b8\u00b9\u0007"+ + "\t\u0000\u0000\u00b9\u00ba\u0007\r\u0000\u0000\u00ba*\u0001\u0000\u0000"+ + "\u0000\u00bb\u00bc\u0007\u0004\u0000\u0000\u00bc\u00bd\u0007\u0005\u0000"+ + "\u0000\u00bd\u00be\u0007\u0006\u0000\u0000\u00be\u00bf\u0005_\u0000\u0000"+ + "\u00bf\u00c0\u0007\u000b\u0000\u0000\u00c0\u00c1\u0007\u0003\u0000\u0000"+ + "\u00c1\u00c2\u0007\f\u0000\u0000\u00c2\u00c3\u0007\u0003\u0000\u0000\u00c3"+ + "\u00c4\u0007\t\u0000\u0000\u00c4\u00c5\u0007\r\u0000\u0000\u00c5,\u0001"+ + "\u0000\u0000\u0000\u00c6\u00c7\u0007\u000e\u0000\u0000\u00c7\u00c8\u0007"+ + "\u0005\u0000\u0000\u00c8\u00c9\u0007\u0004\u0000\u0000\u00c9\u00ca\u0007"+ + "\u0006\u0000\u0000\u00ca\u00cb\u0007\u000f\u0000\u0000\u00cb\u00cc\u0007"+ + "\u0001\u0000\u0000\u00cc\u00ce\u0007\u0004\u0000\u0000\u00cd\u00cf\u0007"+ + "\n\u0000\u0000\u00ce\u00cd\u0001\u0000\u0000\u0000\u00ce\u00cf\u0001\u0000"+ + "\u0000\u0000\u00cf.\u0001\u0000\u0000\u0000\u00d0\u00d1\u0007\u0004\u0000"+ + "\u0000\u00d1\u00d2\u0007\u0005\u0000\u0000\u00d2\u00d3\u0007\u0006\u0000"+ + "\u0000\u00d3\u00d4\u0005_\u0000\u0000\u00d4\u00d5\u0007\u000e\u0000\u0000"+ + "\u00d5\u00d6\u0007\u0005\u0000\u0000\u00d6\u00d7\u0007\u0004\u0000\u0000"+ + "\u00d7\u00d8\u0007\u0006\u0000\u0000\u00d8\u00d9\u0007\u000f\u0000\u0000"+ + "\u00d9\u00da\u0007\u0001\u0000\u0000\u00da\u00dc\u0007\u0004\u0000\u0000"+ + "\u00db\u00dd\u0007\n\u0000\u0000\u00dc\u00db\u0001\u0000\u0000\u0000\u00dc"+ + "\u00dd\u0001\u0000\u0000\u0000\u00dd0\u0001\u0000\u0000\u0000\u00de\u00df"+ + "\u0007\u0001\u0000\u0000\u00df\u00e0\u0007\u0004\u0000\u0000\u00e02\u0001"+ + "\u0000\u0000\u0000\u00e1\u00e2\u0007\u0004\u0000\u0000\u00e2\u00e3\u0007"+ + "\u0005\u0000\u0000\u00e3\u00e4\u0007\u0006\u0000\u0000\u00e4\u00e5\u0005"+ + "_\u0000\u0000\u00e5\u00e6\u0007\u0001\u0000\u0000\u00e6\u00e7\u0007\u0004"+ + "\u0000\u0000\u00e74\u0001\u0000\u0000\u0000\u00e8\u00e9\u0007\u0004\u0000"+ + "\u0000\u00e9\u00ea\u0007\u0005\u0000\u0000\u00ea\u00eb\u0007\u0006\u0000"+ + "\u0000\u00eb6\u0001\u0000\u0000\u0000\u00ec\u00ed\u0007\u000f\u0000\u0000"+ + "\u00ed\u00ee\u0007\u0004\u0000\u0000\u00ee\u00ef\u0007\u0010\u0000\u0000"+ + "\u00ef8\u0001\u0000\u0000\u0000\u00f0\u00f1\u0007\u0005\u0000\u0000\u00f1"+ + "\u00f2\u0007\u000b\u0000\u0000\u00f2:\u0001\u0000\u0000\u0000\u00f3\u00f4"+ + "\u0007\u0011\u0000\u0000\u00f4\u00f5\u0007\u000f\u0000\u0000\u00f5\u00f6"+ + "\u0007\n\u0000\u0000\u00f6<\u0001\u0000\u0000\u0000\u00f7\u00f8\u0007"+ + "\u0011\u0000\u0000\u00f8\u00f9\u0007\u000f\u0000\u0000\u00f9\u00fa\u0007"+ + "\n\u0000\u0000\u00fa\u00fb\u0007\u000f\u0000\u0000\u00fb\u00fc\u0007\u0004"+ + "\u0000\u0000\u00fc\u00fd\u0007\u0012\u0000\u0000\u00fd>\u0001\u0000\u0000"+ + "\u0000\u00fe\u00ff\u0007\u0011\u0000\u0000\u00ff\u0100\u0007\u000f\u0000"+ + "\u0000\u0100\u0101\u0007\n\u0000\u0000\u0101\u0102\u0007\u000f\u0000\u0000"+ + "\u0102\u0103\u0007\u0000\u0000\u0000\u0103\u0104\u0007\u0000\u0000\u0000"+ + "\u0104@\u0001\u0000\u0000\u0000\u0105\u0106\u0007\u0011\u0000\u0000\u0106"+ + "\u0107\u0007\u000f\u0000\u0000\u0107\u0108\u0007\n\u0000\u0000\u0108\u0109"+ + "\u0007\u0004\u0000\u0000\u0109\u010a\u0007\u0005\u0000\u0000\u010a\u010b"+ + "\u0007\u0004\u0000\u0000\u010b\u010c\u0007\u0003\u0000\u0000\u010cB\u0001"+ + "\u0000\u0000\u0000\u010d\u010e\u0007\u0006\u0000\u0000\u010e\u010f\u0007"+ + "\u000b\u0000\u0000\u010f\u0110\u0007\u0013\u0000\u0000\u0110\u0117\u0007"+ + "\u0003\u0000\u0000\u0111\u0112\u0007\u0014\u0000\u0000\u0112\u0113\u0007"+ + "\u000f\u0000\u0000\u0113\u0114\u0007\u0000\u0000\u0000\u0114\u0115\u0007"+ + "\n\u0000\u0000\u0115\u0117\u0007\u0003\u0000\u0000\u0116\u010d\u0001\u0000"+ + "\u0000\u0000\u0116\u0111\u0001\u0000\u0000\u0000\u0117D\u0001\u0000\u0000"+ + "\u0000\u0118\u011a\u0003M&\u0000\u0119\u0118\u0001\u0000\u0000\u0000\u011a"+ + "\u011b\u0001\u0000\u0000\u0000\u011b\u0119\u0001\u0000\u0000\u0000\u011b"+ + "\u011c\u0001\u0000\u0000\u0000\u011c\u0123\u0001\u0000\u0000\u0000\u011d"+ + "\u011f\u0005.\u0000\u0000\u011e\u0120\u0003M&\u0000\u011f\u011e\u0001"+ + "\u0000\u0000\u0000\u0120\u0121\u0001\u0000\u0000\u0000\u0121\u011f\u0001"+ + "\u0000\u0000\u0000\u0121\u0122\u0001\u0000\u0000\u0000\u0122\u0124\u0001"+ + "\u0000\u0000\u0000\u0123\u011d\u0001\u0000\u0000\u0000\u0123\u0124\u0001"+ + "\u0000\u0000\u0000\u0124F\u0001\u0000\u0000\u0000\u0125\u012b\u0005\""+ + "\u0000\u0000\u0126\u012a\b\u0015\u0000\u0000\u0127\u0128\u0005\\\u0000"+ + "\u0000\u0128\u012a\t\u0000\u0000\u0000\u0129\u0126\u0001\u0000\u0000\u0000"+ + "\u0129\u0127\u0001\u0000\u0000\u0000\u012a\u012d\u0001\u0000\u0000\u0000"+ + "\u012b\u0129\u0001\u0000\u0000\u0000\u012b\u012c\u0001\u0000\u0000\u0000"+ + "\u012c\u012e\u0001\u0000\u0000\u0000\u012d\u012b\u0001\u0000\u0000\u0000"+ + "\u012e\u013a\u0005\"\u0000\u0000\u012f\u0135\u0005\'\u0000\u0000\u0130"+ + "\u0134\b\u0016\u0000\u0000\u0131\u0132\u0005\\\u0000\u0000\u0132\u0134"+ + "\t\u0000\u0000\u0000\u0133\u0130\u0001\u0000\u0000\u0000\u0133\u0131\u0001"+ + "\u0000\u0000\u0000\u0134\u0137\u0001\u0000\u0000\u0000\u0135\u0133\u0001"+ + "\u0000\u0000\u0000\u0135\u0136\u0001\u0000\u0000\u0000\u0136\u0138\u0001"+ + "\u0000\u0000\u0000\u0137\u0135\u0001\u0000\u0000\u0000\u0138\u013a\u0005"+ + "\'\u0000\u0000\u0139\u0125\u0001\u0000\u0000\u0000\u0139\u012f\u0001\u0000"+ + "\u0000\u0000\u013aH\u0001\u0000\u0000\u0000\u013b\u013f\u0007\u0017\u0000"+ + "\u0000\u013c\u013e\u0007\u0018\u0000\u0000\u013d\u013c\u0001\u0000\u0000"+ + "\u0000\u013e\u0141\u0001\u0000\u0000\u0000\u013f\u013d\u0001\u0000\u0000"+ + "\u0000\u013f\u0140\u0001\u0000\u0000\u0000\u0140J\u0001\u0000\u0000\u0000"+ + "\u0141\u013f\u0001\u0000\u0000\u0000\u0142\u0144\u0007\u0019\u0000\u0000"+ + "\u0143\u0142\u0001\u0000\u0000\u0000\u0144\u0145\u0001\u0000\u0000\u0000"+ + "\u0145\u0143\u0001\u0000\u0000\u0000\u0145\u0146\u0001\u0000\u0000\u0000"+ + "\u0146\u0147\u0001\u0000\u0000\u0000\u0147\u0148\u0006%\u0000\u0000\u0148"+ + "L\u0001\u0000\u0000\u0000\u0149\u014a\u0007\u001a\u0000\u0000\u014aN\u0001"+ + "\u0000\u0000\u0000\u0011\u0000\\\u00a6\u00b2\u00ce\u00dc\u0116\u011b\u0121"+ + "\u0123\u0129\u012b\u0133\u0135\u0139\u013f\u0145\u0001\u0006\u0000\u0000"; public static final ATN _ATN = new ATNDeserializer().deserialize(_serializedATN.toCharArray()); static { diff --git a/frontend/src/query-grammar/.antlr/FilterQueryLexer.tokens b/frontend/src/query-grammar/.antlr/FilterQueryLexer.tokens index 685911112d34..58b4f992a113 100644 --- a/frontend/src/query-grammar/.antlr/FilterQueryLexer.tokens +++ b/frontend/src/query-grammar/.antlr/FilterQueryLexer.tokens @@ -18,26 +18,24 @@ BETWEEN=17 NOT_BETWEEN=18 EXISTS=19 NOT_EXISTS=20 -IS_NULL=21 -IS_NOT_NULL=22 -REGEXP=23 -NOT_REGEXP=24 -CONTAINS=25 -NOT_CONTAINS=26 -IN=27 -NOT_IN=28 -NOT=29 -AND=30 -OR=31 -HAS=32 -HASANY=33 -HASALL=34 -HASNONE=35 -BOOL=36 -NUMBER=37 -QUOTED_TEXT=38 -KEY=39 -WS=40 +REGEXP=21 +NOT_REGEXP=22 +CONTAINS=23 +NOT_CONTAINS=24 +IN=25 +NOT_IN=26 +NOT=27 +AND=28 +OR=29 +HAS=30 +HASANY=31 +HASALL=32 +HASNONE=33 +BOOL=34 +NUMBER=35 +QUOTED_TEXT=36 +KEY=37 +WS=38 '('=1 ')'=2 '['=3 diff --git a/frontend/src/query-grammar/.antlr/FilterQueryParser.java b/frontend/src/query-grammar/.antlr/FilterQueryParser.java index b218c497af4d..3a5efa58b596 100644 --- a/frontend/src/query-grammar/.antlr/FilterQueryParser.java +++ b/frontend/src/query-grammar/.antlr/FilterQueryParser.java @@ -18,10 +18,10 @@ public class FilterQueryParser extends Parser { public static final int LPAREN=1, RPAREN=2, LBRACK=3, RBRACK=4, COMMA=5, EQUALS=6, NOT_EQUALS=7, NEQ=8, LT=9, LE=10, GT=11, GE=12, LIKE=13, NOT_LIKE=14, ILIKE=15, NOT_ILIKE=16, - BETWEEN=17, NOT_BETWEEN=18, EXISTS=19, NOT_EXISTS=20, IS_NULL=21, IS_NOT_NULL=22, - REGEXP=23, NOT_REGEXP=24, CONTAINS=25, NOT_CONTAINS=26, IN=27, NOT_IN=28, - NOT=29, AND=30, OR=31, HAS=32, HASANY=33, HASALL=34, HASNONE=35, BOOL=36, - NUMBER=37, QUOTED_TEXT=38, KEY=39, WS=40; + BETWEEN=17, NOT_BETWEEN=18, EXISTS=19, NOT_EXISTS=20, REGEXP=21, NOT_REGEXP=22, + CONTAINS=23, NOT_CONTAINS=24, IN=25, NOT_IN=26, NOT=27, AND=28, OR=29, + HAS=30, HASANY=31, HASALL=32, HASNONE=33, BOOL=34, NUMBER=35, QUOTED_TEXT=36, + KEY=37, WS=38; public static final int RULE_query = 0, RULE_expression = 1, RULE_orExpression = 2, RULE_andExpression = 3, RULE_unaryExpression = 4, RULE_primary = 5, RULE_comparison = 6, RULE_inClause = 7, @@ -49,10 +49,10 @@ public class FilterQueryParser extends Parser { return new String[] { null, "LPAREN", "RPAREN", "LBRACK", "RBRACK", "COMMA", "EQUALS", "NOT_EQUALS", "NEQ", "LT", "LE", "GT", "GE", "LIKE", "NOT_LIKE", "ILIKE", "NOT_ILIKE", - "BETWEEN", "NOT_BETWEEN", "EXISTS", "NOT_EXISTS", "IS_NULL", "IS_NOT_NULL", - "REGEXP", "NOT_REGEXP", "CONTAINS", "NOT_CONTAINS", "IN", "NOT_IN", "NOT", - "AND", "OR", "HAS", "HASANY", "HASALL", "HASNONE", "BOOL", "NUMBER", - "QUOTED_TEXT", "KEY", "WS" + "BETWEEN", "NOT_BETWEEN", "EXISTS", "NOT_EXISTS", "REGEXP", "NOT_REGEXP", + "CONTAINS", "NOT_CONTAINS", "IN", "NOT_IN", "NOT", "AND", "OR", "HAS", + "HASANY", "HASALL", "HASNONE", "BOOL", "NUMBER", "QUOTED_TEXT", "KEY", + "WS" }; } private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); @@ -141,7 +141,7 @@ public class FilterQueryParser extends Parser { setState(40); _errHandler.sync(this); _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 892816326658L) != 0)) { + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 223204081666L) != 0)) { { setState(38); _errHandler.sync(this); @@ -524,8 +524,6 @@ public class FilterQueryParser extends Parser { } public TerminalNode EXISTS() { return getToken(FilterQueryParser.EXISTS, 0); } public TerminalNode NOT_EXISTS() { return getToken(FilterQueryParser.NOT_EXISTS, 0); } - public TerminalNode IS_NULL() { return getToken(FilterQueryParser.IS_NULL, 0); } - public TerminalNode IS_NOT_NULL() { return getToken(FilterQueryParser.IS_NOT_NULL, 0); } public TerminalNode REGEXP() { return getToken(FilterQueryParser.REGEXP, 0); } public TerminalNode NOT_REGEXP() { return getToken(FilterQueryParser.NOT_REGEXP, 0); } public TerminalNode CONTAINS() { return getToken(FilterQueryParser.CONTAINS, 0); } @@ -541,7 +539,7 @@ public class FilterQueryParser extends Parser { enterRule(_localctx, 12, RULE_comparison); int _la; try { - setState(156); + setState(150); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) { case 1: @@ -728,59 +726,41 @@ public class FilterQueryParser extends Parser { setState(134); key(); setState(135); - match(IS_NULL); + match(REGEXP); + setState(136); + value(); } break; case 16: enterOuterAlt(_localctx, 16); { - setState(137); - key(); setState(138); - match(IS_NOT_NULL); + key(); + setState(139); + match(NOT_REGEXP); + setState(140); + value(); } break; case 17: enterOuterAlt(_localctx, 17); { - setState(140); - key(); - setState(141); - match(REGEXP); setState(142); + key(); + setState(143); + match(CONTAINS); + setState(144); value(); } break; case 18: enterOuterAlt(_localctx, 18); { - setState(144); - key(); - setState(145); - match(NOT_REGEXP); setState(146); - value(); - } - break; - case 19: - enterOuterAlt(_localctx, 19); - { - setState(148); key(); - setState(149); - match(CONTAINS); - setState(150); - value(); - } - break; - case 20: - enterOuterAlt(_localctx, 20); - { - setState(152); - key(); - setState(153); + setState(147); match(NOT_CONTAINS); - setState(154); + setState(148); value(); } break; @@ -817,32 +797,32 @@ public class FilterQueryParser extends Parser { InClauseContext _localctx = new InClauseContext(_ctx, getState()); enterRule(_localctx, 14, RULE_inClause); try { - setState(168); + setState(162); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(158); + setState(152); match(IN); - setState(159); + setState(153); match(LPAREN); - setState(160); + setState(154); valueList(); - setState(161); + setState(155); match(RPAREN); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(163); + setState(157); match(IN); - setState(164); + setState(158); match(LBRACK); - setState(165); + setState(159); valueList(); - setState(166); + setState(160); match(RBRACK); } break; @@ -879,32 +859,32 @@ public class FilterQueryParser extends Parser { NotInClauseContext _localctx = new NotInClauseContext(_ctx, getState()); enterRule(_localctx, 16, RULE_notInClause); try { - setState(180); + setState(174); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(170); + setState(164); match(NOT_IN); - setState(171); + setState(165); match(LPAREN); - setState(172); + setState(166); valueList(); - setState(173); + setState(167); match(RPAREN); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(175); + setState(169); match(NOT_IN); - setState(176); + setState(170); match(LBRACK); - setState(177); + setState(171); valueList(); - setState(178); + setState(172); match(RBRACK); } break; @@ -946,21 +926,21 @@ public class FilterQueryParser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(182); + setState(176); value(); - setState(187); + setState(181); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(183); + setState(177); match(COMMA); - setState(184); + setState(178); value(); } } - setState(189); + setState(183); _errHandler.sync(this); _la = _input.LA(1); } @@ -992,7 +972,7 @@ public class FilterQueryParser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(190); + setState(184); match(QUOTED_TEXT); } } @@ -1031,9 +1011,9 @@ public class FilterQueryParser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(192); + setState(186); _la = _input.LA(1); - if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 64424509440L) != 0)) ) { + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 16106127360L) != 0)) ) { _errHandler.recoverInline(this); } else { @@ -1041,11 +1021,11 @@ public class FilterQueryParser extends Parser { _errHandler.reportMatch(this); consume(); } - setState(193); + setState(187); match(LPAREN); - setState(194); + setState(188); functionParamList(); - setState(195); + setState(189); match(RPAREN); } } @@ -1085,21 +1065,21 @@ public class FilterQueryParser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(197); + setState(191); functionParam(); - setState(202); + setState(196); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(198); + setState(192); match(COMMA); - setState(199); + setState(193); functionParam(); } } - setState(204); + setState(198); _errHandler.sync(this); _la = _input.LA(1); } @@ -1137,27 +1117,27 @@ public class FilterQueryParser extends Parser { FunctionParamContext _localctx = new FunctionParamContext(_ctx, getState()); enterRule(_localctx, 26, RULE_functionParam); try { - setState(208); + setState(202); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(205); + setState(199); key(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(206); + setState(200); value(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(207); + setState(201); array(); } break; @@ -1193,11 +1173,11 @@ public class FilterQueryParser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(210); + setState(204); match(LBRACK); - setState(211); + setState(205); valueList(); - setState(212); + setState(206); match(RBRACK); } } @@ -1231,9 +1211,9 @@ public class FilterQueryParser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(214); + setState(208); _la = _input.LA(1); - if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 1030792151040L) != 0)) ) { + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 257698037760L) != 0)) ) { _errHandler.recoverInline(this); } else { @@ -1269,7 +1249,7 @@ public class FilterQueryParser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(216); + setState(210); match(KEY); } } @@ -1285,7 +1265,7 @@ public class FilterQueryParser extends Parser { } public static final String _serializedATN = - "\u0004\u0001(\u00db\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+ + "\u0004\u0001&\u00d5\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+ "\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002"+ "\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002"+ "\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002"+ @@ -1309,121 +1289,116 @@ public class FilterQueryParser extends Parser { "\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+ "\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+ "\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+ - "\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+ - "\u0001\u0006\u0003\u0006\u009d\b\u0006\u0001\u0007\u0001\u0007\u0001\u0007"+ + "\u0001\u0006\u0003\u0006\u0097\b\u0006\u0001\u0007\u0001\u0007\u0001\u0007"+ "\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007"+ - "\u0001\u0007\u0003\u0007\u00a9\b\u0007\u0001\b\u0001\b\u0001\b\u0001\b"+ - "\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0003\b\u00b5\b\b\u0001"+ - "\t\u0001\t\u0001\t\u0005\t\u00ba\b\t\n\t\f\t\u00bd\t\t\u0001\n\u0001\n"+ + "\u0001\u0007\u0003\u0007\u00a3\b\u0007\u0001\b\u0001\b\u0001\b\u0001\b"+ + "\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0003\b\u00af\b\b\u0001"+ + "\t\u0001\t\u0001\t\u0005\t\u00b4\b\t\n\t\f\t\u00b7\t\t\u0001\n\u0001\n"+ "\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\f\u0001"+ - "\f\u0001\f\u0005\f\u00c9\b\f\n\f\f\f\u00cc\t\f\u0001\r\u0001\r\u0001\r"+ - "\u0003\r\u00d1\b\r\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001"+ + "\f\u0001\f\u0005\f\u00c3\b\f\n\f\f\f\u00c6\t\f\u0001\r\u0001\r\u0001\r"+ + "\u0003\r\u00cb\b\r\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001"+ "\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0000\u0000\u0011"+ "\u0000\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a"+ - "\u001c\u001e \u0000\u0006\u0001\u0000\u001e\u001f\u0001\u0000\u0007\b"+ + "\u001c\u001e \u0000\u0006\u0001\u0000\u001c\u001d\u0001\u0000\u0007\b"+ "\u0002\u0000\r\r\u000f\u000f\u0002\u0000\u000e\u000e\u0010\u0010\u0001"+ - "\u0000 #\u0001\u0000$\'\u00eb\u0000\"\u0001\u0000\u0000\u0000\u0002-\u0001"+ - "\u0000\u0000\u0000\u0004/\u0001\u0000\u0000\u0000\u00067\u0001\u0000\u0000"+ - "\u0000\bA\u0001\u0000\u0000\u0000\nL\u0001\u0000\u0000\u0000\f\u009c\u0001"+ - "\u0000\u0000\u0000\u000e\u00a8\u0001\u0000\u0000\u0000\u0010\u00b4\u0001"+ - "\u0000\u0000\u0000\u0012\u00b6\u0001\u0000\u0000\u0000\u0014\u00be\u0001"+ - "\u0000\u0000\u0000\u0016\u00c0\u0001\u0000\u0000\u0000\u0018\u00c5\u0001"+ - "\u0000\u0000\u0000\u001a\u00d0\u0001\u0000\u0000\u0000\u001c\u00d2\u0001"+ - "\u0000\u0000\u0000\u001e\u00d6\u0001\u0000\u0000\u0000 \u00d8\u0001\u0000"+ - "\u0000\u0000\"(\u0003\u0002\u0001\u0000#$\u0007\u0000\u0000\u0000$\'\u0003"+ - "\u0002\u0001\u0000%\'\u0003\u0002\u0001\u0000&#\u0001\u0000\u0000\u0000"+ - "&%\u0001\u0000\u0000\u0000\'*\u0001\u0000\u0000\u0000(&\u0001\u0000\u0000"+ - "\u0000()\u0001\u0000\u0000\u0000)+\u0001\u0000\u0000\u0000*(\u0001\u0000"+ - "\u0000\u0000+,\u0005\u0000\u0000\u0001,\u0001\u0001\u0000\u0000\u0000"+ - "-.\u0003\u0004\u0002\u0000.\u0003\u0001\u0000\u0000\u0000/4\u0003\u0006"+ - "\u0003\u000001\u0005\u001f\u0000\u000013\u0003\u0006\u0003\u000020\u0001"+ - "\u0000\u0000\u000036\u0001\u0000\u0000\u000042\u0001\u0000\u0000\u0000"+ - "45\u0001\u0000\u0000\u00005\u0005\u0001\u0000\u0000\u000064\u0001\u0000"+ - "\u0000\u00007=\u0003\b\u0004\u000089\u0005\u001e\u0000\u00009<\u0003\b"+ - "\u0004\u0000:<\u0003\b\u0004\u0000;8\u0001\u0000\u0000\u0000;:\u0001\u0000"+ - "\u0000\u0000\u0001"+ - "\u0000\u0000\u0000>\u0007\u0001\u0000\u0000\u0000?=\u0001\u0000\u0000"+ - "\u0000@B\u0005\u001d\u0000\u0000A@\u0001\u0000\u0000\u0000AB\u0001\u0000"+ - "\u0000\u0000BC\u0001\u0000\u0000\u0000CD\u0003\n\u0005\u0000D\t\u0001"+ - "\u0000\u0000\u0000EF\u0005\u0001\u0000\u0000FG\u0003\u0004\u0002\u0000"+ - "GH\u0005\u0002\u0000\u0000HM\u0001\u0000\u0000\u0000IM\u0003\f\u0006\u0000"+ - "JM\u0003\u0016\u000b\u0000KM\u0003\u0014\n\u0000LE\u0001\u0000\u0000\u0000"+ - "LI\u0001\u0000\u0000\u0000LJ\u0001\u0000\u0000\u0000LK\u0001\u0000\u0000"+ - "\u0000M\u000b\u0001\u0000\u0000\u0000NO\u0003 \u0010\u0000OP\u0005\u0006"+ - "\u0000\u0000PQ\u0003\u001e\u000f\u0000Q\u009d\u0001\u0000\u0000\u0000"+ - "RS\u0003 \u0010\u0000ST\u0007\u0001\u0000\u0000TU\u0003\u001e\u000f\u0000"+ - "U\u009d\u0001\u0000\u0000\u0000VW\u0003 \u0010\u0000WX\u0005\t\u0000\u0000"+ - "XY\u0003\u001e\u000f\u0000Y\u009d\u0001\u0000\u0000\u0000Z[\u0003 \u0010"+ - "\u0000[\\\u0005\n\u0000\u0000\\]\u0003\u001e\u000f\u0000]\u009d\u0001"+ - "\u0000\u0000\u0000^_\u0003 \u0010\u0000_`\u0005\u000b\u0000\u0000`a\u0003"+ - "\u001e\u000f\u0000a\u009d\u0001\u0000\u0000\u0000bc\u0003 \u0010\u0000"+ - "cd\u0005\f\u0000\u0000de\u0003\u001e\u000f\u0000e\u009d\u0001\u0000\u0000"+ - "\u0000fg\u0003 \u0010\u0000gh\u0007\u0002\u0000\u0000hi\u0003\u001e\u000f"+ - "\u0000i\u009d\u0001\u0000\u0000\u0000jk\u0003 \u0010\u0000kl\u0007\u0003"+ - "\u0000\u0000lm\u0003\u001e\u000f\u0000m\u009d\u0001\u0000\u0000\u0000"+ - "no\u0003 \u0010\u0000op\u0005\u0011\u0000\u0000pq\u0003\u001e\u000f\u0000"+ - "qr\u0005\u001e\u0000\u0000rs\u0003\u001e\u000f\u0000s\u009d\u0001\u0000"+ - "\u0000\u0000tu\u0003 \u0010\u0000uv\u0005\u0012\u0000\u0000vw\u0003\u001e"+ - "\u000f\u0000wx\u0005\u001e\u0000\u0000xy\u0003\u001e\u000f\u0000y\u009d"+ - "\u0001\u0000\u0000\u0000z{\u0003 \u0010\u0000{|\u0003\u000e\u0007\u0000"+ - "|\u009d\u0001\u0000\u0000\u0000}~\u0003 \u0010\u0000~\u007f\u0003\u0010"+ - "\b\u0000\u007f\u009d\u0001\u0000\u0000\u0000\u0080\u0081\u0003 \u0010"+ - "\u0000\u0081\u0082\u0005\u0013\u0000\u0000\u0082\u009d\u0001\u0000\u0000"+ - "\u0000\u0083\u0084\u0003 \u0010\u0000\u0084\u0085\u0005\u0014\u0000\u0000"+ - "\u0085\u009d\u0001\u0000\u0000\u0000\u0086\u0087\u0003 \u0010\u0000\u0087"+ - "\u0088\u0005\u0015\u0000\u0000\u0088\u009d\u0001\u0000\u0000\u0000\u0089"+ - "\u008a\u0003 \u0010\u0000\u008a\u008b\u0005\u0016\u0000\u0000\u008b\u009d"+ - "\u0001\u0000\u0000\u0000\u008c\u008d\u0003 \u0010\u0000\u008d\u008e\u0005"+ - "\u0017\u0000\u0000\u008e\u008f\u0003\u001e\u000f\u0000\u008f\u009d\u0001"+ - "\u0000\u0000\u0000\u0090\u0091\u0003 \u0010\u0000\u0091\u0092\u0005\u0018"+ - "\u0000\u0000\u0092\u0093\u0003\u001e\u000f\u0000\u0093\u009d\u0001\u0000"+ - "\u0000\u0000\u0094\u0095\u0003 \u0010\u0000\u0095\u0096\u0005\u0019\u0000"+ - "\u0000\u0096\u0097\u0003\u001e\u000f\u0000\u0097\u009d\u0001\u0000\u0000"+ - "\u0000\u0098\u0099\u0003 \u0010\u0000\u0099\u009a\u0005\u001a\u0000\u0000"+ - "\u009a\u009b\u0003\u001e\u000f\u0000\u009b\u009d\u0001\u0000\u0000\u0000"+ - "\u009cN\u0001\u0000\u0000\u0000\u009cR\u0001\u0000\u0000\u0000\u009cV"+ - "\u0001\u0000\u0000\u0000\u009cZ\u0001\u0000\u0000\u0000\u009c^\u0001\u0000"+ - "\u0000\u0000\u009cb\u0001\u0000\u0000\u0000\u009cf\u0001\u0000\u0000\u0000"+ - "\u009cj\u0001\u0000\u0000\u0000\u009cn\u0001\u0000\u0000\u0000\u009ct"+ - "\u0001\u0000\u0000\u0000\u009cz\u0001\u0000\u0000\u0000\u009c}\u0001\u0000"+ - "\u0000\u0000\u009c\u0080\u0001\u0000\u0000\u0000\u009c\u0083\u0001\u0000"+ - "\u0000\u0000\u009c\u0086\u0001\u0000\u0000\u0000\u009c\u0089\u0001\u0000"+ - "\u0000\u0000\u009c\u008c\u0001\u0000\u0000\u0000\u009c\u0090\u0001\u0000"+ - "\u0000\u0000\u009c\u0094\u0001\u0000\u0000\u0000\u009c\u0098\u0001\u0000"+ - "\u0000\u0000\u009d\r\u0001\u0000\u0000\u0000\u009e\u009f\u0005\u001b\u0000"+ - "\u0000\u009f\u00a0\u0005\u0001\u0000\u0000\u00a0\u00a1\u0003\u0012\t\u0000"+ - "\u00a1\u00a2\u0005\u0002\u0000\u0000\u00a2\u00a9\u0001\u0000\u0000\u0000"+ - "\u00a3\u00a4\u0005\u001b\u0000\u0000\u00a4\u00a5\u0005\u0003\u0000\u0000"+ - "\u00a5\u00a6\u0003\u0012\t\u0000\u00a6\u00a7\u0005\u0004\u0000\u0000\u00a7"+ - "\u00a9\u0001\u0000\u0000\u0000\u00a8\u009e\u0001\u0000\u0000\u0000\u00a8"+ - "\u00a3\u0001\u0000\u0000\u0000\u00a9\u000f\u0001\u0000\u0000\u0000\u00aa"+ - "\u00ab\u0005\u001c\u0000\u0000\u00ab\u00ac\u0005\u0001\u0000\u0000\u00ac"+ - "\u00ad\u0003\u0012\t\u0000\u00ad\u00ae\u0005\u0002\u0000\u0000\u00ae\u00b5"+ - "\u0001\u0000\u0000\u0000\u00af\u00b0\u0005\u001c\u0000\u0000\u00b0\u00b1"+ - "\u0005\u0003\u0000\u0000\u00b1\u00b2\u0003\u0012\t\u0000\u00b2\u00b3\u0005"+ - "\u0004\u0000\u0000\u00b3\u00b5\u0001\u0000\u0000\u0000\u00b4\u00aa\u0001"+ - "\u0000\u0000\u0000\u00b4\u00af\u0001\u0000\u0000\u0000\u00b5\u0011\u0001"+ - "\u0000\u0000\u0000\u00b6\u00bb\u0003\u001e\u000f\u0000\u00b7\u00b8\u0005"+ - "\u0005\u0000\u0000\u00b8\u00ba\u0003\u001e\u000f\u0000\u00b9\u00b7\u0001"+ - "\u0000\u0000\u0000\u00ba\u00bd\u0001\u0000\u0000\u0000\u00bb\u00b9\u0001"+ - "\u0000\u0000\u0000\u00bb\u00bc\u0001\u0000\u0000\u0000\u00bc\u0013\u0001"+ - "\u0000\u0000\u0000\u00bd\u00bb\u0001\u0000\u0000\u0000\u00be\u00bf\u0005"+ - "&\u0000\u0000\u00bf\u0015\u0001\u0000\u0000\u0000\u00c0\u00c1\u0007\u0004"+ - "\u0000\u0000\u00c1\u00c2\u0005\u0001\u0000\u0000\u00c2\u00c3\u0003\u0018"+ - "\f\u0000\u00c3\u00c4\u0005\u0002\u0000\u0000\u00c4\u0017\u0001\u0000\u0000"+ - "\u0000\u00c5\u00ca\u0003\u001a\r\u0000\u00c6\u00c7\u0005\u0005\u0000\u0000"+ - "\u00c7\u00c9\u0003\u001a\r\u0000\u00c8\u00c6\u0001\u0000\u0000\u0000\u00c9"+ - "\u00cc\u0001\u0000\u0000\u0000\u00ca\u00c8\u0001\u0000\u0000\u0000\u00ca"+ - "\u00cb\u0001\u0000\u0000\u0000\u00cb\u0019\u0001\u0000\u0000\u0000\u00cc"+ - "\u00ca\u0001\u0000\u0000\u0000\u00cd\u00d1\u0003 \u0010\u0000\u00ce\u00d1"+ - "\u0003\u001e\u000f\u0000\u00cf\u00d1\u0003\u001c\u000e\u0000\u00d0\u00cd"+ - "\u0001\u0000\u0000\u0000\u00d0\u00ce\u0001\u0000\u0000\u0000\u00d0\u00cf"+ - "\u0001\u0000\u0000\u0000\u00d1\u001b\u0001\u0000\u0000\u0000\u00d2\u00d3"+ - "\u0005\u0003\u0000\u0000\u00d3\u00d4\u0003\u0012\t\u0000\u00d4\u00d5\u0005"+ - "\u0004\u0000\u0000\u00d5\u001d\u0001\u0000\u0000\u0000\u00d6\u00d7\u0007"+ - "\u0005\u0000\u0000\u00d7\u001f\u0001\u0000\u0000\u0000\u00d8\u00d9\u0005"+ - "\'\u0000\u0000\u00d9!\u0001\u0000\u0000\u0000\r&(4;=AL\u009c\u00a8\u00b4"+ - "\u00bb\u00ca\u00d0"; + "\u0000\u001e!\u0001\u0000\"%\u00e3\u0000\"\u0001\u0000\u0000\u0000\u0002"+ + "-\u0001\u0000\u0000\u0000\u0004/\u0001\u0000\u0000\u0000\u00067\u0001"+ + "\u0000\u0000\u0000\bA\u0001\u0000\u0000\u0000\nL\u0001\u0000\u0000\u0000"+ + "\f\u0096\u0001\u0000\u0000\u0000\u000e\u00a2\u0001\u0000\u0000\u0000\u0010"+ + "\u00ae\u0001\u0000\u0000\u0000\u0012\u00b0\u0001\u0000\u0000\u0000\u0014"+ + "\u00b8\u0001\u0000\u0000\u0000\u0016\u00ba\u0001\u0000\u0000\u0000\u0018"+ + "\u00bf\u0001\u0000\u0000\u0000\u001a\u00ca\u0001\u0000\u0000\u0000\u001c"+ + "\u00cc\u0001\u0000\u0000\u0000\u001e\u00d0\u0001\u0000\u0000\u0000 \u00d2"+ + "\u0001\u0000\u0000\u0000\"(\u0003\u0002\u0001\u0000#$\u0007\u0000\u0000"+ + "\u0000$\'\u0003\u0002\u0001\u0000%\'\u0003\u0002\u0001\u0000&#\u0001\u0000"+ + "\u0000\u0000&%\u0001\u0000\u0000\u0000\'*\u0001\u0000\u0000\u0000(&\u0001"+ + "\u0000\u0000\u0000()\u0001\u0000\u0000\u0000)+\u0001\u0000\u0000\u0000"+ + "*(\u0001\u0000\u0000\u0000+,\u0005\u0000\u0000\u0001,\u0001\u0001\u0000"+ + "\u0000\u0000-.\u0003\u0004\u0002\u0000.\u0003\u0001\u0000\u0000\u0000"+ + "/4\u0003\u0006\u0003\u000001\u0005\u001d\u0000\u000013\u0003\u0006\u0003"+ + "\u000020\u0001\u0000\u0000\u000036\u0001\u0000\u0000\u000042\u0001\u0000"+ + "\u0000\u000045\u0001\u0000\u0000\u00005\u0005\u0001\u0000\u0000\u0000"+ + "64\u0001\u0000\u0000\u00007=\u0003\b\u0004\u000089\u0005\u001c\u0000\u0000"+ + "9<\u0003\b\u0004\u0000:<\u0003\b\u0004\u0000;8\u0001\u0000\u0000\u0000"+ + ";:\u0001\u0000\u0000\u0000\u0001\u0000\u0000\u0000>\u0007\u0001\u0000\u0000\u0000?=\u0001"+ + "\u0000\u0000\u0000@B\u0005\u001b\u0000\u0000A@\u0001\u0000\u0000\u0000"+ + "AB\u0001\u0000\u0000\u0000BC\u0001\u0000\u0000\u0000CD\u0003\n\u0005\u0000"+ + "D\t\u0001\u0000\u0000\u0000EF\u0005\u0001\u0000\u0000FG\u0003\u0004\u0002"+ + "\u0000GH\u0005\u0002\u0000\u0000HM\u0001\u0000\u0000\u0000IM\u0003\f\u0006"+ + "\u0000JM\u0003\u0016\u000b\u0000KM\u0003\u0014\n\u0000LE\u0001\u0000\u0000"+ + "\u0000LI\u0001\u0000\u0000\u0000LJ\u0001\u0000\u0000\u0000LK\u0001\u0000"+ + "\u0000\u0000M\u000b\u0001\u0000\u0000\u0000NO\u0003 \u0010\u0000OP\u0005"+ + "\u0006\u0000\u0000PQ\u0003\u001e\u000f\u0000Q\u0097\u0001\u0000\u0000"+ + "\u0000RS\u0003 \u0010\u0000ST\u0007\u0001\u0000\u0000TU\u0003\u001e\u000f"+ + "\u0000U\u0097\u0001\u0000\u0000\u0000VW\u0003 \u0010\u0000WX\u0005\t\u0000"+ + "\u0000XY\u0003\u001e\u000f\u0000Y\u0097\u0001\u0000\u0000\u0000Z[\u0003"+ + " \u0010\u0000[\\\u0005\n\u0000\u0000\\]\u0003\u001e\u000f\u0000]\u0097"+ + "\u0001\u0000\u0000\u0000^_\u0003 \u0010\u0000_`\u0005\u000b\u0000\u0000"+ + "`a\u0003\u001e\u000f\u0000a\u0097\u0001\u0000\u0000\u0000bc\u0003 \u0010"+ + "\u0000cd\u0005\f\u0000\u0000de\u0003\u001e\u000f\u0000e\u0097\u0001\u0000"+ + "\u0000\u0000fg\u0003 \u0010\u0000gh\u0007\u0002\u0000\u0000hi\u0003\u001e"+ + "\u000f\u0000i\u0097\u0001\u0000\u0000\u0000jk\u0003 \u0010\u0000kl\u0007"+ + "\u0003\u0000\u0000lm\u0003\u001e\u000f\u0000m\u0097\u0001\u0000\u0000"+ + "\u0000no\u0003 \u0010\u0000op\u0005\u0011\u0000\u0000pq\u0003\u001e\u000f"+ + "\u0000qr\u0005\u001c\u0000\u0000rs\u0003\u001e\u000f\u0000s\u0097\u0001"+ + "\u0000\u0000\u0000tu\u0003 \u0010\u0000uv\u0005\u0012\u0000\u0000vw\u0003"+ + "\u001e\u000f\u0000wx\u0005\u001c\u0000\u0000xy\u0003\u001e\u000f\u0000"+ + "y\u0097\u0001\u0000\u0000\u0000z{\u0003 \u0010\u0000{|\u0003\u000e\u0007"+ + "\u0000|\u0097\u0001\u0000\u0000\u0000}~\u0003 \u0010\u0000~\u007f\u0003"+ + "\u0010\b\u0000\u007f\u0097\u0001\u0000\u0000\u0000\u0080\u0081\u0003 "+ + "\u0010\u0000\u0081\u0082\u0005\u0013\u0000\u0000\u0082\u0097\u0001\u0000"+ + "\u0000\u0000\u0083\u0084\u0003 \u0010\u0000\u0084\u0085\u0005\u0014\u0000"+ + "\u0000\u0085\u0097\u0001\u0000\u0000\u0000\u0086\u0087\u0003 \u0010\u0000"+ + "\u0087\u0088\u0005\u0015\u0000\u0000\u0088\u0089\u0003\u001e\u000f\u0000"+ + "\u0089\u0097\u0001\u0000\u0000\u0000\u008a\u008b\u0003 \u0010\u0000\u008b"+ + "\u008c\u0005\u0016\u0000\u0000\u008c\u008d\u0003\u001e\u000f\u0000\u008d"+ + "\u0097\u0001\u0000\u0000\u0000\u008e\u008f\u0003 \u0010\u0000\u008f\u0090"+ + "\u0005\u0017\u0000\u0000\u0090\u0091\u0003\u001e\u000f\u0000\u0091\u0097"+ + "\u0001\u0000\u0000\u0000\u0092\u0093\u0003 \u0010\u0000\u0093\u0094\u0005"+ + "\u0018\u0000\u0000\u0094\u0095\u0003\u001e\u000f\u0000\u0095\u0097\u0001"+ + "\u0000\u0000\u0000\u0096N\u0001\u0000\u0000\u0000\u0096R\u0001\u0000\u0000"+ + "\u0000\u0096V\u0001\u0000\u0000\u0000\u0096Z\u0001\u0000\u0000\u0000\u0096"+ + "^\u0001\u0000\u0000\u0000\u0096b\u0001\u0000\u0000\u0000\u0096f\u0001"+ + "\u0000\u0000\u0000\u0096j\u0001\u0000\u0000\u0000\u0096n\u0001\u0000\u0000"+ + "\u0000\u0096t\u0001\u0000\u0000\u0000\u0096z\u0001\u0000\u0000\u0000\u0096"+ + "}\u0001\u0000\u0000\u0000\u0096\u0080\u0001\u0000\u0000\u0000\u0096\u0083"+ + "\u0001\u0000\u0000\u0000\u0096\u0086\u0001\u0000\u0000\u0000\u0096\u008a"+ + "\u0001\u0000\u0000\u0000\u0096\u008e\u0001\u0000\u0000\u0000\u0096\u0092"+ + "\u0001\u0000\u0000\u0000\u0097\r\u0001\u0000\u0000\u0000\u0098\u0099\u0005"+ + "\u0019\u0000\u0000\u0099\u009a\u0005\u0001\u0000\u0000\u009a\u009b\u0003"+ + "\u0012\t\u0000\u009b\u009c\u0005\u0002\u0000\u0000\u009c\u00a3\u0001\u0000"+ + "\u0000\u0000\u009d\u009e\u0005\u0019\u0000\u0000\u009e\u009f\u0005\u0003"+ + "\u0000\u0000\u009f\u00a0\u0003\u0012\t\u0000\u00a0\u00a1\u0005\u0004\u0000"+ + "\u0000\u00a1\u00a3\u0001\u0000\u0000\u0000\u00a2\u0098\u0001\u0000\u0000"+ + "\u0000\u00a2\u009d\u0001\u0000\u0000\u0000\u00a3\u000f\u0001\u0000\u0000"+ + "\u0000\u00a4\u00a5\u0005\u001a\u0000\u0000\u00a5\u00a6\u0005\u0001\u0000"+ + "\u0000\u00a6\u00a7\u0003\u0012\t\u0000\u00a7\u00a8\u0005\u0002\u0000\u0000"+ + "\u00a8\u00af\u0001\u0000\u0000\u0000\u00a9\u00aa\u0005\u001a\u0000\u0000"+ + "\u00aa\u00ab\u0005\u0003\u0000\u0000\u00ab\u00ac\u0003\u0012\t\u0000\u00ac"+ + "\u00ad\u0005\u0004\u0000\u0000\u00ad\u00af\u0001\u0000\u0000\u0000\u00ae"+ + "\u00a4\u0001\u0000\u0000\u0000\u00ae\u00a9\u0001\u0000\u0000\u0000\u00af"+ + "\u0011\u0001\u0000\u0000\u0000\u00b0\u00b5\u0003\u001e\u000f\u0000\u00b1"+ + "\u00b2\u0005\u0005\u0000\u0000\u00b2\u00b4\u0003\u001e\u000f\u0000\u00b3"+ + "\u00b1\u0001\u0000\u0000\u0000\u00b4\u00b7\u0001\u0000\u0000\u0000\u00b5"+ + "\u00b3\u0001\u0000\u0000\u0000\u00b5\u00b6\u0001\u0000\u0000\u0000\u00b6"+ + "\u0013\u0001\u0000\u0000\u0000\u00b7\u00b5\u0001\u0000\u0000\u0000\u00b8"+ + "\u00b9\u0005$\u0000\u0000\u00b9\u0015\u0001\u0000\u0000\u0000\u00ba\u00bb"+ + "\u0007\u0004\u0000\u0000\u00bb\u00bc\u0005\u0001\u0000\u0000\u00bc\u00bd"+ + "\u0003\u0018\f\u0000\u00bd\u00be\u0005\u0002\u0000\u0000\u00be\u0017\u0001"+ + "\u0000\u0000\u0000\u00bf\u00c4\u0003\u001a\r\u0000\u00c0\u00c1\u0005\u0005"+ + "\u0000\u0000\u00c1\u00c3\u0003\u001a\r\u0000\u00c2\u00c0\u0001\u0000\u0000"+ + "\u0000\u00c3\u00c6\u0001\u0000\u0000\u0000\u00c4\u00c2\u0001\u0000\u0000"+ + "\u0000\u00c4\u00c5\u0001\u0000\u0000\u0000\u00c5\u0019\u0001\u0000\u0000"+ + "\u0000\u00c6\u00c4\u0001\u0000\u0000\u0000\u00c7\u00cb\u0003 \u0010\u0000"+ + "\u00c8\u00cb\u0003\u001e\u000f\u0000\u00c9\u00cb\u0003\u001c\u000e\u0000"+ + "\u00ca\u00c7\u0001\u0000\u0000\u0000\u00ca\u00c8\u0001\u0000\u0000\u0000"+ + "\u00ca\u00c9\u0001\u0000\u0000\u0000\u00cb\u001b\u0001\u0000\u0000\u0000"+ + "\u00cc\u00cd\u0005\u0003\u0000\u0000\u00cd\u00ce\u0003\u0012\t\u0000\u00ce"+ + "\u00cf\u0005\u0004\u0000\u0000\u00cf\u001d\u0001\u0000\u0000\u0000\u00d0"+ + "\u00d1\u0007\u0005\u0000\u0000\u00d1\u001f\u0001\u0000\u0000\u0000\u00d2"+ + "\u00d3\u0005%\u0000\u0000\u00d3!\u0001\u0000\u0000\u0000\r&(4;=AL\u0096"+ + "\u00a2\u00ae\u00b5\u00c4\u00ca"; public static final ATN _ATN = new ATNDeserializer().deserialize(_serializedATN.toCharArray()); static { diff --git a/frontend/src/query-grammar/FilterQuery.g4 b/frontend/src/query-grammar/FilterQuery.g4 index 67542a60500e..f63508008ad3 100644 --- a/frontend/src/query-grammar/FilterQuery.g4 +++ b/frontend/src/query-grammar/FilterQuery.g4 @@ -47,8 +47,6 @@ comparison | key notInClause | key EXISTS | key NOT_EXISTS - | key IS_NULL - | key IS_NOT_NULL | key REGEXP value | key NOT_REGEXP value | key CONTAINS value @@ -132,9 +130,6 @@ NOT_BETWEEN : [Nn][Oo][Tt] '_' [Bb][Ee][Tt][Ww][Ee][Ee][Nn] ; EXISTS : [Ee][Xx][Ii][Ss][Tt][Ss]? ; NOT_EXISTS : [Nn][Oo][Tt] '-' [Ee][Xx][Ii][Ss][Tt][Ss]? ; -IS_NULL : [Ii][Ss] '_' [Nn][Uu][Ll][Ll] ; -IS_NOT_NULL : [Ii][Ss] '_' [Nn][Oo][Tt] '_' [Nn][Uu][Ll][Ll] ; - REGEXP : [Rr][Ee][Gg][Ee][Xx][Pp] ; NOT_REGEXP : [Nn][Oo][Tt] '_' [Rr][Ee][Gg][Ee][Xx][Pp] ; diff --git a/frontend/src/utils/antlrQueryUtils.ts b/frontend/src/utils/antlrQueryUtils.ts index 7dc0ba972662..64d5bc42c35f 100644 --- a/frontend/src/utils/antlrQueryUtils.ts +++ b/frontend/src/utils/antlrQueryUtils.ts @@ -847,11 +847,10 @@ export const queryOperatorSuggestions = [ { label: 'ILIKE', type: 'operator', info: 'Case insensitive like' }, { label: 'BETWEEN', type: 'operator', info: 'Between' }, { label: 'EXISTS', type: 'operator', info: 'Exists' }, + { label: 'NOT_EXISTS', type: 'operator', info: 'Not Exists' }, { label: 'REGEXP', type: 'operator', info: 'Regular expression' }, { label: 'CONTAINS', type: 'operator', info: 'Contains' }, { label: 'IN', type: 'operator', info: 'In' }, { label: 'NOT', type: 'operator', info: 'Not' }, { label: 'NOT_LIKE', type: 'operator', info: 'Not like' }, - { label: 'IS_NULL', type: 'operator', info: 'Is null' }, - { label: 'IS_NOT_NULL', type: 'operator', info: 'Is not null' }, ]; diff --git a/frontend/src/utils/tokenUtils.ts b/frontend/src/utils/tokenUtils.ts index bb69fe0b8eb8..0ff534b4adc1 100644 --- a/frontend/src/utils/tokenUtils.ts +++ b/frontend/src/utils/tokenUtils.ts @@ -24,18 +24,14 @@ export function isOperatorToken(tokenType: number): boolean { FilterQueryLexer.CONTAINS, FilterQueryLexer.IN, FilterQueryLexer.NOT, - FilterQueryLexer.IS_NOT_NULL, - FilterQueryLexer.IS_NULL, ].includes(tokenType); } // Helper function to check if a token is an operator which doesn't require a value export function isNonValueOperatorToken(tokenType: number): boolean { - return [ - FilterQueryLexer.IS_NOT_NULL, - FilterQueryLexer.IS_NULL, - FilterQueryLexer.EXISTS, - ].includes(tokenType); + return [FilterQueryLexer.NOT_EXISTS, FilterQueryLexer.EXISTS].includes( + tokenType, + ); } // Helper function to check if a token is a value