@sap/cds 5.7.4 → 5.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/action.js +0 -6
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/ExpressionToCQN.js +13 -7
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriTokenizer.js +3 -3
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/data.js +18 -2
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/result.js +20 -3
- package/libx/_runtime/common/utils/structured.js +1 -1
- package/libx/_runtime/fiori/generic/read.js +2 -1
- package/libx/_runtime/hana/localized.js +1 -1
- package/libx/_runtime/messaging/AMQPWebhookMessaging.js +3 -1
- package/libx/_runtime/messaging/service.js +12 -6
- package/libx/_runtime/sqlite/localized.js +1 -1
- package/libx/odata/grammar.pegjs +1 -1
- package/libx/odata/parser.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,20 @@
|
|
|
4
4
|
- The format is based on [Keep a Changelog](http://keepachangelog.com/).
|
|
5
5
|
- This project adheres to [Semantic Versioning](http://semver.org/).
|
|
6
6
|
|
|
7
|
+
## Version 5.7.5 - 2022-01-14
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Instance-based restriction for activation of draft-enabled entities using `or` in restriction
|
|
12
|
+
- Messaging: Duplicate handler execution if application service registered events twice
|
|
13
|
+
- Post of a deeply nested sub-entity with structured parent keys
|
|
14
|
+
- Negating lambda expressions in OData using the `not` operator
|
|
15
|
+
- Event Mesh: Redelivery count when using AMQP
|
|
16
|
+
- OData requests using lambda expressions on localized data
|
|
17
|
+
- `cds.db.exists` wrongly generated a `SELECT * FROM ...` for odata flavor x4
|
|
18
|
+
- Return localized texts on draft activate
|
|
19
|
+
- Unicode characters in unquoted search terms in beta OData to CQN parser
|
|
20
|
+
|
|
7
21
|
## Version 5.7.4 - 2021-12-22
|
|
8
22
|
|
|
9
23
|
### Fixed
|
|
@@ -50,12 +50,6 @@ const _postProcessDraftActivate = async (req, result, service) => {
|
|
|
50
50
|
result.HasActiveEntity = false
|
|
51
51
|
result.HasDraftEntity = false
|
|
52
52
|
|
|
53
|
-
// REVISIT: should not be necessary
|
|
54
|
-
// remove composition and association stubs
|
|
55
|
-
if (!cds.env.effective.odata.structs) {
|
|
56
|
-
for (const k in req.target.elements) if (req.target.elements[k].isAssociation) delete result[k]
|
|
57
|
-
}
|
|
58
|
-
|
|
59
53
|
return result
|
|
60
54
|
}
|
|
61
55
|
|
|
@@ -58,7 +58,7 @@ class ExpressionToCQN {
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
_lambda(pathSegments) {
|
|
61
|
+
_lambda(pathSegments, operator) {
|
|
62
62
|
// we don't care about the variable name
|
|
63
63
|
if (pathSegments[0].getKind() === 'EXPRESSION.VARIABLE') pathSegments = pathSegments.slice(1)
|
|
64
64
|
const nav =
|
|
@@ -69,9 +69,15 @@ class ExpressionToCQN {
|
|
|
69
69
|
// in case of functions, condition is an object
|
|
70
70
|
if (condition && !Array.isArray(condition)) condition = [condition]
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
if (pathSegments[pathSegments.length - 1].getKind() === 'ALL.EXPRESSION') {
|
|
73
|
+
return [
|
|
74
|
+
...(operator === 'not' ? [] : ['not']),
|
|
75
|
+
'exists',
|
|
76
|
+
{ ref: [...nav, { id: navName, where: ['not', { xpr: condition }] }] }
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return [...(operator === 'not' ? ['not'] : []), 'exists', { ref: [...nav, { id: navName, where: condition }] }]
|
|
75
81
|
}
|
|
76
82
|
|
|
77
83
|
_segmentFromMember(segment) {
|
|
@@ -137,14 +143,14 @@ class ExpressionToCQN {
|
|
|
137
143
|
return [this._segmentFromMember(segment)]
|
|
138
144
|
}
|
|
139
145
|
|
|
140
|
-
_member(expression) {
|
|
146
|
+
_member(expression, operator) {
|
|
141
147
|
const pathSegments = expression.getPathSegments()
|
|
142
148
|
if (
|
|
143
149
|
pathSegments.some(segment =>
|
|
144
150
|
[ResourceKind.ANY_EXPRESSION, ResourceKind.ALL_EXPRESSION].includes(segment.getKind())
|
|
145
151
|
)
|
|
146
152
|
) {
|
|
147
|
-
return this._lambda(pathSegments)
|
|
153
|
+
return this._lambda(pathSegments, operator)
|
|
148
154
|
}
|
|
149
155
|
|
|
150
156
|
const members = this._getMemberRecursively(pathSegments)
|
|
@@ -309,7 +315,7 @@ class ExpressionToCQN {
|
|
|
309
315
|
return this._convert(expression)
|
|
310
316
|
|
|
311
317
|
case ExpressionKind.MEMBER:
|
|
312
|
-
return this._member(expression)
|
|
318
|
+
return this._member(expression, operator)
|
|
313
319
|
|
|
314
320
|
case ExpressionKind.METHOD:
|
|
315
321
|
return this._method(expression, operator)
|
|
@@ -684,8 +684,8 @@ class UriTokenizer {
|
|
|
684
684
|
* @returns {boolean} whether the constant has been found at the current index
|
|
685
685
|
* @private
|
|
686
686
|
*/
|
|
687
|
-
_nextConstant (constant) {
|
|
688
|
-
if (this._parseString.startsWith(constant, this._index)) {
|
|
687
|
+
_nextConstant (constant, caseInsensitive) {
|
|
688
|
+
if ((caseInsensitive ? this._parseString.toLowerCase() : this._parseString).startsWith(constant, this._index)) {
|
|
689
689
|
this._index += constant.length
|
|
690
690
|
return true
|
|
691
691
|
}
|
|
@@ -784,7 +784,7 @@ class UriTokenizer {
|
|
|
784
784
|
* @private
|
|
785
785
|
*/
|
|
786
786
|
_nextMethod (methodName) {
|
|
787
|
-
return this._nextConstant(methodName) && this._nextCharacter('(')
|
|
787
|
+
return this._nextConstant(methodName, true) && this._nextCharacter('(')
|
|
788
788
|
}
|
|
789
789
|
|
|
790
790
|
/**
|
|
@@ -66,10 +66,26 @@ const _getParamData = parameters => {
|
|
|
66
66
|
return paramData
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
const _flattenStructureKeys = structureData => {
|
|
70
|
+
const result = {}
|
|
71
|
+
for (const prop in structureData) {
|
|
72
|
+
if (typeof structureData[prop] === 'object') {
|
|
73
|
+
const nested = _flattenStructureKeys(structureData[prop])
|
|
74
|
+
for (const key in nested) {
|
|
75
|
+
result[prop + '_' + key] = nested[key]
|
|
76
|
+
}
|
|
77
|
+
} else {
|
|
78
|
+
result[prop] = structureData[prop]
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return result
|
|
82
|
+
}
|
|
83
|
+
|
|
69
84
|
// works only for custom on condition working on keys with '=' operator
|
|
70
85
|
// and combination of multiple conditions connected with 'and'
|
|
71
86
|
const _addKeysToData = (navSourceKeyValues, onCondition, data) => {
|
|
72
|
-
|
|
87
|
+
const flattenKeys = _flattenStructureKeys(navSourceKeyValues)
|
|
88
|
+
for (const key in flattenKeys) {
|
|
73
89
|
// find index of source column
|
|
74
90
|
const sourceIndex = onCondition.findIndex(e => e.ref && e.ref[0] === 'source' && e.ref[1] === key)
|
|
75
91
|
if (sourceIndex === -1) {
|
|
@@ -82,7 +98,7 @@ const _addKeysToData = (navSourceKeyValues, onCondition, data) => {
|
|
|
82
98
|
const {
|
|
83
99
|
ref: [, target]
|
|
84
100
|
} = onCondition[sourceIndex + 1] === '=' ? onCondition[sourceIndex + 2] : onCondition[sourceIndex - 2]
|
|
85
|
-
data[target] =
|
|
101
|
+
data[target] = flattenKeys[key]
|
|
86
102
|
}
|
|
87
103
|
}
|
|
88
104
|
}
|
|
@@ -112,6 +112,13 @@ const addAssociationToRow = (row, foreignKey, foreignKeyElement) => {
|
|
|
112
112
|
delete row[foreignKey]
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
+
const localizeAfterDraftActivate = (row, key, locale) => {
|
|
116
|
+
if (row.texts && Object.prototype.hasOwnProperty.call(row, key)) {
|
|
117
|
+
const texts = row.texts.filter(t => t.locale === locale)[0]
|
|
118
|
+
if (texts && texts[key]) row[key] = texts[key]
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
115
122
|
const _processCategory = (category, processArgs, req, options, previousResult) => {
|
|
116
123
|
const { row, key, element } = processArgs
|
|
117
124
|
|
|
@@ -136,6 +143,10 @@ const _processCategory = (category, processArgs, req, options, previousResult) =
|
|
|
136
143
|
if (key !== 'DraftAdministrativeData_DraftUUID') delete row[key]
|
|
137
144
|
break
|
|
138
145
|
|
|
146
|
+
case 'localizeAfterDraftActivate':
|
|
147
|
+
localizeAfterDraftActivate(row, key, req.locale)
|
|
148
|
+
break
|
|
149
|
+
|
|
139
150
|
// no default
|
|
140
151
|
}
|
|
141
152
|
}
|
|
@@ -200,13 +211,18 @@ const _pick = options => (element, target, parent) => {
|
|
|
200
211
|
if (element.type === 'cds.Decimal') categories.push('@cds.Decimal')
|
|
201
212
|
categories.push(..._assocs(element, target))
|
|
202
213
|
if (options.omitValuesPreference) categories.push('@odata.omitValues')
|
|
214
|
+
if (options.event === 'draftActivate' && options.locale && options.locale !== 'en' && element.localized === true) {
|
|
215
|
+
categories.push('localizeAfterDraftActivate')
|
|
216
|
+
}
|
|
203
217
|
if (categories.length) return { categories }
|
|
204
218
|
}
|
|
205
219
|
|
|
206
|
-
const _getOptions = headers => {
|
|
220
|
+
const _getOptions = ({ headers, locale, event }) => {
|
|
207
221
|
const options = {
|
|
208
222
|
decimals: null,
|
|
209
|
-
omitValuesPreference: null
|
|
223
|
+
omitValuesPreference: null,
|
|
224
|
+
locale,
|
|
225
|
+
event
|
|
210
226
|
}
|
|
211
227
|
|
|
212
228
|
if (!headers) return options
|
|
@@ -232,6 +248,7 @@ const _generateCacheKey = (headers, options) => {
|
|
|
232
248
|
let key = 'postProcess' // default template cache key for post processing
|
|
233
249
|
if (headers.prefer) key += `:${headers.prefer}`
|
|
234
250
|
if (options.decimals) key += `:exponentialDecimals=true`
|
|
251
|
+
if (options.event === 'draftActivate' && options.locale) key += `:locale=${options.locale}`
|
|
235
252
|
return key
|
|
236
253
|
}
|
|
237
254
|
|
|
@@ -241,7 +258,7 @@ const postProcess = (req, res, service, result, previousResult) => {
|
|
|
241
258
|
|
|
242
259
|
if (!target || !result || !model || !model.definitions[target.name]) return
|
|
243
260
|
|
|
244
|
-
const options = _getOptions(
|
|
261
|
+
const options = _getOptions(req)
|
|
245
262
|
const cacheKey = _generateCacheKey(headers, options)
|
|
246
263
|
const parent = _getParent(model, target.name)
|
|
247
264
|
const template = getTemplate(cacheKey, service, target, { pick: _pick(options) }, parent)
|
|
@@ -284,7 +284,7 @@ const flattenStructuredSelect = ({ SELECT }, model) => {
|
|
|
284
284
|
_flattenColumns(SELECT, flattenedElements, toBeDeleted, entity)
|
|
285
285
|
SELECT.columns = SELECT.columns.filter(column => {
|
|
286
286
|
const columnName = column.ref ? column.ref[0] : column.as
|
|
287
|
-
return (columnName && !toBeDeleted.includes(columnName)) || column.func || column.expand
|
|
287
|
+
return (columnName && !toBeDeleted.includes(columnName)) || column.func || column.expand || 'val' in column
|
|
288
288
|
})
|
|
289
289
|
if (flattenedElements.length) SELECT.columns.push(...flattenedElements)
|
|
290
290
|
}
|
|
@@ -50,7 +50,8 @@ const _getWhereWithAppendedDraftRestrictions = (where = [], req, scenarioAlias,
|
|
|
50
50
|
})
|
|
51
51
|
|
|
52
52
|
if (where.length) where.push('and')
|
|
53
|
-
|
|
53
|
+
// restriction might contain or clause -> use xpr for grouping
|
|
54
|
+
xpr.includes('or') ? where.push({ xpr }) : where.push(...xpr)
|
|
54
55
|
} else {
|
|
55
56
|
// > restriction inherited from parent via autoexposure
|
|
56
57
|
// find inner most sub select if available and append restriction to where clause
|
|
@@ -31,7 +31,7 @@ const localizedHandler = function (req) {
|
|
|
31
31
|
// suppress localization in "select for update"
|
|
32
32
|
if (query.SELECT.forUpdate) return
|
|
33
33
|
|
|
34
|
-
redirect(query
|
|
34
|
+
redirect(query, getLocalize(req.locale, this.model))
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
localizedHandler._initial = true
|
|
@@ -58,7 +58,9 @@ class AMQPWebhookMessaging extends MessagingService {
|
|
|
58
58
|
await super.emit(msg)
|
|
59
59
|
done()
|
|
60
60
|
} catch (e) {
|
|
61
|
-
failed
|
|
61
|
+
// In case of AMQP and Solace, the `failed` callback must be called
|
|
62
|
+
// with an error, otherwise there are problems with the redelivery count.
|
|
63
|
+
failed(new Error('processing failed'))
|
|
62
64
|
LOG._error && LOG.error(e)
|
|
63
65
|
}
|
|
64
66
|
})
|
|
@@ -26,17 +26,24 @@ class MessagingService extends OutboxService {
|
|
|
26
26
|
this.subscribedTopics = new Map()
|
|
27
27
|
// Only for one central `messaging` service, otherwise all technical services would register themselves
|
|
28
28
|
if (this.name === 'messaging') {
|
|
29
|
+
this._registeredServices = new Map()
|
|
29
30
|
// listen for all subscriptions to declared events of remote, i.e. connected services
|
|
30
31
|
cds.on('subscribe', (srv, event) => {
|
|
31
32
|
const declared = srv.events[event]
|
|
32
33
|
if (declared && srv.name in cds.requires && !srv.mocked) {
|
|
33
34
|
// we register self-handlers for declared events, which are supposed
|
|
34
35
|
// to be calles by subclasses calling this.dispatch on incoming events
|
|
36
|
+
let registeredEvents = this._registeredServices.get(srv.name)
|
|
37
|
+
if (!registeredEvents) {
|
|
38
|
+
registeredEvents = new Set()
|
|
39
|
+
this._registeredServices.set(srv.name, registeredEvents)
|
|
40
|
+
}
|
|
41
|
+
if (registeredEvents.has(event)) return
|
|
42
|
+
registeredEvents.add(event)
|
|
35
43
|
const topic = _topic(declared)
|
|
36
|
-
this.on(topic,
|
|
44
|
+
this.on(topic, msg => {
|
|
37
45
|
const { data, headers } = msg
|
|
38
|
-
|
|
39
|
-
return next()
|
|
46
|
+
return srv.tx(msg).emit({ event, data, headers, __proto__: msg })
|
|
40
47
|
})
|
|
41
48
|
}
|
|
42
49
|
})
|
|
@@ -48,10 +55,9 @@ class MessagingService extends OutboxService {
|
|
|
48
55
|
// calls to srv.emit are forwarded to this.emit, which is expected to
|
|
49
56
|
// be overwritten by subclasses to write events to message channel
|
|
50
57
|
const topic = _topic(declared)
|
|
51
|
-
srv.on(event,
|
|
58
|
+
srv.on(event, msg => {
|
|
52
59
|
const { data, headers } = msg
|
|
53
|
-
|
|
54
|
-
return next()
|
|
60
|
+
return this.tx(msg).emit({ event: topic, data, headers })
|
|
55
61
|
})
|
|
56
62
|
}
|
|
57
63
|
})
|
|
@@ -41,7 +41,7 @@ const _handler = function (req) {
|
|
|
41
41
|
|
|
42
42
|
// suppress localization in "select for update" n/a for sqlite
|
|
43
43
|
|
|
44
|
-
redirect(query
|
|
44
|
+
redirect(query, getLocalize(req.locale, this.model))
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
_handler._initial = true
|
package/libx/odata/grammar.pegjs
CHANGED
package/libx/odata/parser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function peg$subclass(t,r){function e(){this.constructor=t}e.prototype=r.prototype,t.prototype=new e}function peg$SyntaxError(t,r,e,n){this.message=t,this.expected=r,this.found=e,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(t,r){r=void 0!==r?r:{};var e,n={},s={ODataRelativeURI:Be},a=Be,u="/",o=Ce("/",!1),c=Ce("?",!1),i=Ce("&",!1),f="$count",l=Ce("$count",!1),h="$ref",p=Ce("$ref",!1),A="$value",d=Ce("$value",!1),g=function(t){return[t]},v=function(t,r){return r},b=Ce("=",!1),y="$skiptoken=",m=Ce("$skiptoken=",!1),C="$apply=",w=Ce("$apply=",!1),x="$select=",$=Ce("$select=",!1),E="$expand=",L=Ce("$expand=",!1),S="$filter=",B=Ce("$filter=",!1),Z="$orderby=",z=Ce("$orderby=",!1),O="$top=",T=Ce("$top=",!1),_="$skip=",F=Ce("$skip=",!1),R="$search=",j=Ce("$search=",!1),k="$count=",N=Ce("$count=",!1),U=Ce("*",!1),D=Ce(";",!1),P="/$count",q=Ce("/$count",!1),I=function(t){return t?[t]:[]},M=function(t,r){t.push({xpr:r})},X=function(t,r){t.push({val:r})},G=function(t,r,e){t.push(r,...e)},H=function(t,r){t.push(r)},J=function(t,r,e){t.push(r,...e)},K=":",Q=Ce(":",!1),V="any",W=Ce("any",!1),Y="all",tt=Ce("all",!1),rt=Ce("asc",!1),et="desc",nt=Ce("desc",!1),st=/^[a-zA-Z]/,at=we([["a","z"],["A","Z"]],!1,!1),ut=/^[a-zA-Z0-9\-]/,ot=we([["a","z"],["A","Z"],["0","9"],"-"],!1,!1),ct=/^[^&]/,it=we(["&"],!0,!1),ft=xe("a comparison"),lt=Ce("eq",!1),ht=Ce("ne",!1),pt=Ce("lt",!1),At=Ce("gt",!1),dt=Ce("le",!1),gt=Ce("ge",!1),vt=(Ce("add",!1),Ce("sub",!1),Ce("mul",!1),Ce("div",!1),Ce("mod",!1),xe("an operand")),bt=xe("navigation with $count"),yt=function(t,r){return r},mt=function(t,r){return r?{id:t,where:r}:t},Ct=xe("a reference"),wt=function(t,r){return r},xt=function(t){return{val:t}},$t=Ce("{",!1),Et=/^[^}]/,Lt=we(["}"],!0,!1),St=Ce("}",!1),Bt="[",Zt=Ce("[",!1),zt="]",Ot=Ce("]",!1),Tt=/^[^\]]/,_t=we(["]"],!0,!1),Ft=xe("a function call"),Rt=function(t,r,e){return e},jt=xe("a boolean function"),kt="contains",Nt=Ce("contains",!0),Ut="endswith",Dt=Ce("endswith",!0),Pt="startswith",qt=Ce("startswith",!0),It=Ce("NOT",!0),Mt=Ce("AND",!0),Xt=Ce("OR",!0),Gt="aggregate",Ht=Ce("aggregate",!1),Jt="groupby",Kt=Ce("groupby",!1),Qt="filter",Vt=Ce("filter",!1),Wt="expand",Yt=Ce("expand",!1),tr="search",rr=Ce("search",!1),er="concat",nr=Ce("concat",!1),sr="compute",ar=Ce("compute",!1),ur=Ce("topcount",!0),or=Ce("bottomcount",!0),cr=Ce("topsum",!0),ir=Ce("bottomsum",!0),fr=Ce("toppercent",!0),lr=Ce("bottompercent",!0),hr="with",pr=Ce("with",!1),Ar="from",dr=Ce("from",!1),gr=Ce("as",!1),vr="rollup",br=Ce("rollup",!1),yr="$all",mr=Ce("$all",!1),Cr="identity",wr=Ce("identity",!1),xr="true",$r=Ce("true",!1),Er="false",Lr=Ce("false",!1),Sr=xe("Edm.String"),Br=Ce("'",!1),Zr="''",zr=Ce("''",!1),Or=/^[^']/,Tr=we(["'"],!0,!1),_r='"',Fr=Ce('"',!1),Rr='\\"',jr=Ce('\\"',!1),kr=/^[^"]/,Nr=we(['"'],!0,!1),Ur=/^[a-zA-Z0-9.+\-]/,Dr=we([["a","z"],["A","Z"],["0","9"],".","+","-"],!1,!1),Pr=/^[0-9]/,qr=we([["0","9"]],!1,!1),Ir="-",Mr=Ce("-",!1),Xr=Ce("T",!1),Gr=".",Hr=Ce(".",!1),Jr=Ce("Z",!1),Kr=Ce("+",!1),Qr=/^[+\-]/,Vr=we(["+","-"],!1,!1),Wr=Ce("e",!1),Yr=/^[_a-zA-Z]/,te=we(["_",["a","z"],["A","Z"]],!1,!1),re=/^[_a-zA-Z0-9"."]/,ee=we(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"'],!1,!1),ne=/^[0-9a-fA-F]/,se=we([["0","9"],["a","f"],["A","F"]],!1,!1),ae=/^[a-zA-Z0-9\-"."_~!$&'()*+,;=:@]/,ue=we([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","&","'","(",")","*","+",",",";","=",":","@"],!1,!1),oe=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,ce=we([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),ie=Ce(",",!1),fe=Ce("(",!1),le=Ce(")",!1),he=xe("optional whitespaces"),pe=/^[ \t\n]/,Ae=we([" ","\t","\n"],!1,!1),de=xe("mandatory whitespaces"),ge=0,ve=[{line:1,column:1}],be=0,ye=[],me=0;if("startRule"in r){if(!(r.startRule in s))throw new Error("Can't start parsing from rule \""+r.startRule+'".');a=s[r.startRule]}function Ce(t,r){return{type:"literal",text:t,ignoreCase:r}}function we(t,r,e){return{type:"class",parts:t,inverted:r,ignoreCase:e}}function xe(t){return{type:"other",description:t}}function $e(r){var e,n=ve[r];if(n)return n;for(e=r-1;!ve[e];)e--;for(n={line:(n=ve[e]).line,column:n.column};e<r;)10===t.charCodeAt(e)?(n.line++,n.column=1):n.column++,e++;return ve[r]=n,n}function Ee(t,r){var e=$e(t),n=$e(r);return{start:{offset:t,line:e.line,column:e.column},end:{offset:r,line:n.line,column:n.column}}}function Le(t){ge<be||(ge>be&&(be=ge,ye=[]),ye.push(t))}function Se(t,r,e){return new peg$SyntaxError(peg$SyntaxError.buildMessage(t,r),t,r,e)}function Be(){var r,e,s,a,f,l,h,p,A,d,g,v,b,y;if(r=ge,47===t.charCodeAt(ge)?(e=u,ge++):(e=n,0===me&&Le(o)),e===n&&(e=null),e!==n)if(s=ge,(a=Ze())!==n&&(s,a=void(Bn=a)),(s=a)!==n){if(a=ge,(f=wn())!==n)if(63===t.charCodeAt(ge)?(l="?",ge++):(l=n,0===me&&Le(c)),l!==n)if((h=wn())!==n)if((p=Oe())!==n){for(A=[],d=ge,(g=wn())!==n?(38===t.charCodeAt(ge)?(v="&",ge++):(v=n,0===me&&Le(i)),v!==n&&(b=wn())!==n&&(y=Oe())!==n?d=g=[g,v,b,y]:(ge=d,d=n)):(ge=d,d=n);d!==n;)A.push(d),d=ge,(g=wn())!==n?(38===t.charCodeAt(ge)?(v="&",ge++):(v=n,0===me&&Le(i)),v!==n&&(b=wn())!==n&&(y=Oe())!==n?d=g=[g,v,b,y]:(ge=d,d=n)):(ge=d,d=n);A!==n?a=f=[f,l,h,p,A]:(ge=a,a=n)}else ge=a,a=n;else ge=a,a=n;else ge=a,a=n;else ge=a,a=n;a===n&&(a=null),a!==n&&(f=wn())!==n?(r,r=e=function(){if(Zn)return Bn.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete Bn.expand,delete Bn.limit,delete Bn.orderBy,Bn.apply&&(Bn.apply={apply:Bn.apply},jn(Bn,Bn.apply)),{SELECT:Bn};let t;if(Bn.expand){Bn.columns||(Bn.columns=["*"],t=!0);for(const t of Bn.expand){const r=Bn.columns.findIndex(Tn(t));r>-1&&Bn.columns.splice(r,1),Bn.columns.push(t)}delete Bn.expand}return Bn.count&&Bn.apply&&(Bn.__countAggregated=!0),jn(Bn,Bn.apply,t),{SELECT:Bn}}()):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;return r}function Ze(){var r,e,s,a,c,i,b,y;return r=ge,t.substr(ge,6)===f?(e=f,ge+=6):(e=n,0===me&&Le(l)),e!==n&&(r,e=void(Zn=!0)),(r=e)===n&&(r=ge,e=ge,t.substr(ge,4)===h?(s=h,ge+=4):(s=n,0===me&&Le(p)),s===n&&(t.substr(ge,6)===A?(s=A,ge+=6):(s=n,0===me&&Le(d))),(e=s!==n?t.substring(e,ge):s)!==n&&(r,y=e,e=!zn.includes(y)&&{from:{ref:[y]}}),(r=e)===n&&(r=ge,e=ge,(s=dn())!==n?(a=ge,(c=mn())!==n&&(i=Cn())!==n?a=c=[c,i]:(ge=a,a=n),a===n&&(a=ge,(c=mn())!==n&&(i=ze())!==n&&(b=Cn())!==n?a=c=[c,i,b]:(ge=a,a=n)),a===n&&(a=null),a!==n?(c=ge,me++,i=bn(),me--,i===n?c=void 0:(ge=c,c=n),c!==n?e=s=[s,a,c]:(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n),e===n&&(e=ge,s=ge,a=ge,c=ge,me++,i=pn(),me--,i===n?c=void 0:(ge=c,c=n),c!==n&&(i=He())!==n?a=c=[c,i]:(ge=a,a=n),a!==n&&(s,a=a[1]),(s=a)===n&&(s=bn()),s!==n&&(e,s=g(s)),e=s),e!==n?(s=ge,47===t.charCodeAt(ge)?(a=u,ge++):(a=n,0===me&&Le(o)),a!==n&&(c=Ze())!==n?(s,s=a=v(0,c)):(ge=s,s=n),s===n&&(s=null),s!==n?(r,r=e=function(t,r){const[e,n]=t,s=[n?n.length>2?{id:e,where:n[1].map((t=>t.val&&t.val.match&&t.val.match(/^"(.*)"$/)?{val:t.val.match(/^"(.*)"$/)[1]}:t))}:{id:e,where:[]}:Ln?`${"object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"val")?e.val:e}`:e];if(r&&r.from){const t=r.from.ref;Object.prototype.hasOwnProperty.call(t[0],"val")&&(s[s.length-1]={id:s[s.length-1],where:[t.shift()]}),s.push(...t)}const a={from:{ref:s}};return r&&r.columns&&(a.columns=r.columns),a}(e,s)):(ge=r,r=n)):(ge=r,r=n))),r}function ze(){var r,e,s,a,u,o,c;return r=ge,(e=He())!==n&&(r,e=g(e)),(r=e)===n&&(r=ge,(e=Ge())!==n&&wn()!==n?(61===t.charCodeAt(ge)?(s="=",ge++):(s=n,0===me&&Le(b)),s!==n&&wn()!==n&&(a=He())!==n?(u=ge,(o=yn())!==n&&(c=ze())!==n?u=o=[o,c]:(ge=u,u=n),u===n&&(u=null),u!==n?(r,r=e=function(t,r,e){const n=[t,"=",r];return e&&n.push("and",...e[1]),n}(e,a,u)):(ge=r,r=n)):(ge=r,r=n)):(ge=r,r=n)),r}function Oe(){var r,e,s,a;return(r=Te())===n&&(r=ge,t.substr(ge,11)===y?(e=y,ge+=11):(e=n,0===me&&Le(m)),e!==n&&(s=wn())!==n?(a=function(){var r,e,s;r=ge,(e=An())===n&&(e=null);e!==n?(s=function(){var r,e,s;r=ge,e=[],oe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(ce));if(s!==n)for(;s!==n;)e.push(s),oe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(ce));else e=n;r=e!==n?t.substring(r,ge):e;return r}(),s===n&&(s=null),s!==n?(r,a=e,r=e=void(s||kn(a))):(ge=r,r=n)):(ge=r,r=n);var a;return r}(),a!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,7)===C?(e=C,ge+=7):(e=n,0===me&&Le(w)),e!==n?(s=ge,(a=wn())!==n&&(s,a=void(Bn.apply={})),(s=a)!==n&&(a=Ie())!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=function(){var r,e,s,a,u,o;r=ge,st.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=n,0===me&&Le(at));if(e!==n){for(s=[],ut.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(ot));a!==n;)s.push(a),ut.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(ot));if(s!==n)if(61===t.charCodeAt(ge)?(a="=",ge++):(a=n,0===me&&Le(b)),a!==n){for(u=[],ct.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(it));o!==n;)u.push(o),ct.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(it));u!==n?r=e=[e,s,a,u]:(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n}else ge=r,r=n;return r}()))),r}function Te(){var r,e,s,a,u,o,c,i,f,l;if(r=ge,t.substr(ge,8)===x?(e=x,ge+=8):(e=n,0===me&&Le($)),e!==n)if((s=wn())!==n)if((a=_e())!==n){for(u=[],o=ge,(c=yn())!==n&&(i=_e())!==n?o=c=[c,i]:(ge=o,o=n);o!==n;)u.push(o),o=ge,(c=yn())!==n&&(i=_e())!==n?o=c=[c,i]:(ge=o,o=n);u!==n?r=e=[e,s,a,u]:(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;else ge=r,r=n;if(r===n){if(r=ge,t.substr(ge,8)===E?(e=E,ge+=8):(e=n,0===me&&Le(L)),e!==n)if((s=wn())!==n)if((a=Fe())!==n){for(u=[],o=ge,(c=yn())!==n&&(i=Fe())!==n?o=c=[c,i]:(ge=o,o=n);o!==n;)u.push(o),o=ge,(c=yn())!==n&&(i=Fe())!==n?o=c=[c,i]:(ge=o,o=n);u!==n?r=e=[e,s,a,u]:(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;else ge=r,r=n;if(r===n&&(r=ge,t.substr(ge,8)===S?(e=S,ge+=8):(e=n,0===me&&Le(B)),e!==n&&(s=wn())!==n&&(a=ke())!==n?(r,l=a,r=e=void(Bn.where=l)):(ge=r,r=n),r===n)){if(r=ge,t.substr(ge,9)===Z?(e=Z,ge+=9):(e=n,0===me&&Le(z)),e!==n)if((s=wn())!==n)if((a=qe())!==n){for(u=[],o=ge,(c=yn())!==n&&(i=qe())!==n?o=c=[c,i]:(ge=o,o=n);o!==n;)u.push(o),o=ge,(c=yn())!==n&&(i=qe())!==n?o=c=[c,i]:(ge=o,o=n);u!==n?r=e=[e,s,a,u]:(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;else ge=r,r=n;r===n&&(r=ge,t.substr(ge,5)===O?(e=O,ge+=5):(e=n,0===me&&Le(T)),e!==n&&(s=wn())!==n?(a=function(){var t,r;t=ge,(r=An())!==n&&(t,e=r,r=void((Bn.limit||(Bn.limit={})).rows={val:e}));var e;return t=r}(),a!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,6)===_?(e=_,ge+=6):(e=n,0===me&&Le(F)),e!==n&&(s=wn())!==n?(a=function(){var t,r;t=ge,(r=An())!==n&&(t,r=void kn(r));return t=r}(),a!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,8)===R?(e=R,ge+=8):(e=n,0===me&&Le(j)),e!==n&&(s=wn())!==n&&(a=Re())!==n?(r,r=e=void((f=a)&&(Bn.search=f))):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,7)===k?(e=k,ge+=7):(e=n,0===me&&Le(N)),e!==n&&(s=wn())!==n?(a=function(){var t,r;t=ge,(r=hn())!==n&&(t,r=void(r&&(Bn.count=!0)));return t=r}(),a!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n)))))}}return r}function _e(){var r,e,s;return r=ge,42===t.charCodeAt(ge)?(e="*",ge++):(e=n,0===me&&Le(U)),e===n&&(e=Ge()),e!==n&&(r,s=e,Bn.columns=Array.isArray(Bn.columns)?Bn.columns:[],Bn.columns.find(Tn(s))||Bn.columns.push(s),e=s),r=e}function Fe(){var r,e,s,a,u,o,c,i,f,l,h;if(r=ge,e=ge,42===t.charCodeAt(ge)?(s="*",ge++):(s=n,0===me&&Le(U)),s===n&&(s=Ge()),s!==n&&(e,s=function(t){const r="*"===t?{}:t;return r.expand="*",Array.isArray(Bn.expand)||(Bn.expand=[]),Bn.expand.find(Tn(r))||Bn.expand.push(r),r}(s)),(e=s)!==n){if(s=ge,a=ge,(u=mn())!==n&&(a,Sn.push(Bn),Bn=Bn.expand[Bn.expand.length-1],u=void(Bn.expand="*")),(a=u)!==n){for(u=ge,o=[],c=ge,(i=wn())!==n?(59===t.charCodeAt(ge)?(f=";",ge++):(f=n,0===me&&Le(D)),f===n&&(f=null),f!==n&&(l=wn())!==n&&(h=Te())!==n?c=i=[i,f,l,h]:(ge=c,c=n)):(ge=c,c=n);c!==n;)o.push(c),c=ge,(i=wn())!==n?(59===t.charCodeAt(ge)?(f=";",ge++):(f=n,0===me&&Le(D)),f===n&&(f=null),f!==n&&(l=wn())!==n&&(h=Te())!==n?c=i=[i,f,l,h]:(ge=c,c=n)):(ge=c,c=n);o!==n&&(u,o=function(t){if(Bn.columns){"*"===Bn.expand&&(Bn.expand=[]);for(const t of Bn.columns)Bn.expand.find(Tn(t))||Bn.expand.push(t);delete Bn.columns}else Array.isArray(Bn.expand)&&-1===Bn.expand.indexOf("*")&&Bn.expand.unshift("*")}()),(u=o)!==n?(o=ge,(c=Cn())!==n&&(o,c=void(Bn=Sn.pop())),(o=c)!==n?s=a=[a,u,o]:(ge=s,s=n)):(ge=s,s=n)}else ge=s,s=n;s===n&&(s=null),s!==n?(a=ge,(u=yn())!==n&&(o=Fe())!==n?a=u=[u,o]:(ge=a,a=n),a===n&&(a=null),a!==n?(u=ge,t.substr(ge,7)===P?(o=P,ge+=7):(o=n,0===me&&Le(q)),o!==n&&(u,o=function(){const t=new Error("EXPAND_COUNT_UNSUPPORTED");throw t.statusCode=501,t}()),(u=o)===n&&(u=null),u!==n?r=e=[e,s,a,u]:(ge=r,r=n)):(ge=r,r=n)):(ge=r,r=n)}else ge=r,r=n;return r}function Re(){var t,r;return t=ge,(r=je())!==n&&(t,r=r),(t=r)===n&&(t=wn()),t}function je(){var r,e,s,a,u,o,c;if(r=ge,e=ge,(s=Ve())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=ge,(a=mn())!==n&&(u=je())!==n&&(o=Cn())!==n?(s,s=a=M(e,u)):(ge=s,s=n),s===n&&(s=ge,a=function(){var r,e,s,a,u;r=ge,34===t.charCodeAt(ge)?(e=_r,ge++):(e=n,0===me&&Le(Fr));if(e!==n){for(s=ge,a=[],t.substr(ge,2)===Rr?(u=Rr,ge+=2):(u=n,0===me&&Le(jr)),u===n&&(kr.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(Nr)));u!==n;)a.push(u),t.substr(ge,2)===Rr?(u=Rr,ge+=2):(u=n,0===me&&Le(jr)),u===n&&(kr.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(Nr)));(s=a!==n?t.substring(s,ge):a)!==n?(34===t.charCodeAt(ge)?(a=_r,ge++):(a=n,0===me&&Le(Fr)),a!==n?(r,r=e=s.replace(/\\\\/g,"\\").replace(/\\"/g,'"')):(ge=r,r=n)):(ge=r,r=n)}else ge=r,r=n;return r}(),a!==n&&(s,a=X(e,a)),(s=a)===n&&(s=ge,(a=pn())!==n&&(s,a=X(e,a)),(s=a)===n&&(s=ge,a=function(){var r,e,s;r=ge,e=[],Ur.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Dr));if(s!==n)for(;s!==n;)e.push(s),Ur.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Dr));else e=n;r=e!==n?t.substring(r,ge):e;return r}(),a!==n&&(s,a=X(e,a)),s=a))),s!==n){for(a=[],u=ge,(o=We())===n&&(o=tn())===n&&(o=Ye()),o!==n&&(c=je())!==n?(u,u=o=G(e,o,c)):(ge=u,u=n);u!==n;)a.push(u),u=ge,(o=We())===n&&(o=tn())===n&&(o=Ye()),o!==n&&(c=je())!==n?(u,u=o=G(e,o,c)):(ge=u,u=n);a!==n?(r,r=e=e):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;return r}function ke(){var t,r;return t=ge,(r=Ne())!==n&&(t,r=r),t=r}function Ne(){var r,e,s,a,u,o,c,i;if(r=ge,e=ge,(s=Ve())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=ge,(a=mn())!==n&&(u=Ne())!==n&&(o=Cn())!==n?(s,s=a=M(e,u)):(ge=s,s=n),s===n&&(s=ge,(a=Me())!==n&&(s,i=a,a=void e.push(...i)),(s=a)===n&&(s=ge,(a=Ue())!==n&&(s,a=function(t,r){t.push(...r)}(e,a)),(s=a)===n&&(s=ge,a=function(){var r,e,s,a;me++,r=ge,t.substr(ge,8).toLowerCase()===kt?(e=t.substr(ge,8),ge+=8):(e=n,0===me&&Le(Nt));e===n&&(t.substr(ge,8).toLowerCase()===Ut?(e=t.substr(ge,8),ge+=8):(e=n,0===me&&Le(Dt)),e===n&&(t.substr(ge,10).toLowerCase()===Pt?(e=t.substr(ge,10),ge+=10):(e=n,0===me&&Le(qt))));e!==n&&mn()!==n&&(s=Xe())!==n&&yn()!==n&&(a=Xe())!==n&&Cn()!==n?(r,u=s,o=a,r=e={func:e.toLowerCase(),args:[u,o]}):(ge=r,r=n);var u,o;me--,r===n&&(e=n,0===me&&Le(jt));return r}(),a!==n&&(s,a=function(t,r){t.push(r)}(e,a)),(s=a)===n&&(s=ge,(a=hn())!==n&&(s,a=X(e,a)),s=a)))),s!==n){for(a=[],u=ge,(o=We())===n&&(o=tn()),o!==n&&(c=Ne())!==n?(u,u=o=G(e,o,c)):(ge=u,u=n);u!==n;)a.push(u),u=ge,(o=We())===n&&(o=tn()),o!==n&&(c=Ne())!==n?(u,u=o=G(e,o,c)):(ge=u,u=n);a!==n?(r,r=e=e):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;return r}function Ue(){var r,e,s,a,c,i,f;if(r=ge,e=ge,(s=dn())!==n&&(e,s=[s]),(e=s)!==n)if(47===t.charCodeAt(ge)?(s=u,ge++):(s=n,0===me&&Le(o)),s!==n){for(a=[],c=ge,(i=dn())!==n?(47===t.charCodeAt(ge)?(f=u,ge++):(f=n,0===me&&Le(o)),f!==n?(c,c=i=H(e,i)):(ge=c,c=n)):(ge=c,c=n);c!==n;)a.push(c),c=ge,(i=dn())!==n?(47===t.charCodeAt(ge)?(f=u,ge++):(f=n,0===me&&Le(o)),f!==n?(c,c=i=H(e,i)):(ge=c,c=n)):(ge=c,c=n);a!==n?(c=ge,i=function(){var r,e,s;r=ge,t.substr(ge,3)===V?(e=V,ge+=3):(e=n,0===me&&Le(W));e!==n&&mn()!==n?((s=Pe())===n&&(s=null),s!==n&&Cn()!==n?(r,r=e=s):(ge=r,r=n)):(ge=r,r=n);return r}(),i!==n&&(c,i=function(t,r){let e=t.pop();if(!r)return["exists",{ref:[...t,{id:e}]}];let n=[];for(let t=0,s=0;t<r.length;++t){let a=r[t];a.ref&&0===a.ref.length&&"="===r[t+1]?n[s++]={func:"contains",args:[{ref:e},r[t+=2]]}:n[s++]=a}return n.length<r.length?(e=t.pop(),["exists",{ref:[...t,{id:e,where:n}]}]):["exists",{ref:[...t,{id:e,where:r}]}]}(e,i)),(c=i)===n&&(c=ge,i=function(){var r,e,s;r=ge,t.substr(ge,3)===Y?(e=Y,ge+=3):(e=n,0===me&&Le(tt));e!==n&&mn()!==n&&(s=Pe())!==n&&Cn()!==n?(r,r=e=s):(ge=r,r=n);return r}(),i!==n&&(c,i=function(t,r){let e=t.pop();return["not","exists",{ref:[...t,{id:e,where:["not",{xpr:[...r]}]}]}]}(e,i)),c=i),c!==n?(r,r=e=c):(ge=r,r=n)):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;return r}function De(){var t,r,e,s,a,u,o,c,i;if(t=ge,r=ge,(e=Ve())===n&&(e=null),e!==n&&(r,e=(c=e)?[c]:[]),(r=e)!==n)if(e=ge,(s=mn())!==n&&(a=De())!==n&&(u=Cn())!==n?(e,i=a,e=s=void r.push("(",...i,")")):(ge=e,e=n),e===n&&(e=ge,(s=Me())!==n&&(e,s=function(t,r){t.push(...r)}(r,s)),(e=s)===n&&(e=ge,(s=Qe())!==n&&(e,s=function(t,r){t.push(r)}(r,s)),(e=s)===n&&(e=ge,(s=Ue())!==n&&(e,s=function(t,r){t.push(...r)}(r,s)),e=s))),e!==n){for(s=[],a=ge,(u=We())===n&&(u=tn()),u!==n&&(o=De())!==n?(a,a=u=J(r,u,o)):(ge=a,a=n);a!==n;)s.push(a),a=ge,(u=We())===n&&(u=tn()),u!==n&&(o=De())!==n?(a,a=u=J(r,u,o)):(ge=a,a=n);s!==n?(t,t=r=r):(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;return t}function Pe(){var r,e,s,a;return r=ge,(e=dn())!==n?(58===t.charCodeAt(ge)?(s=K,ge++):(s=n,0===me&&Le(Q)),s!==n&&(a=De())!==n?(r,r=e=Nn(e,a)):(ge=r,r=n)):(ge=r,r=n),r}function qe(){var r,e,s,a,u;return r=ge,(e=Qe())===n&&(e=Ge()),e!==n?(s=ge,xn()!==n?(a=ge,"asc"===t.substr(ge,3)?(u="asc",ge+=3):(u=n,0===me&&Le(rt)),u===n&&(t.substr(ge,4)===et?(u=et,ge+=4):(u=n,0===me&&Le(nt))),(a=u!==n?t.substring(a,ge):u)!==n?(s,s=a):(ge=s,s=n)):(ge=s,s=n),s===n&&(s=null),s!==n?(r,r=e=function(t,r){const e=$n(t,r&&{sort:r});Bn.orderBy=Bn.orderBy?[...Bn.orderBy,e]:[e]}(e,s)):(ge=r,r=n)):(ge=r,r=n),r}function Ie(){var r,e,s,a,c,i;if(r=ge,(e=rn())!==n){for(s=[],a=ge,47===t.charCodeAt(ge)?(c=u,ge++):(c=n,0===me&&Le(o)),c!==n&&(i=rn())!==n?a=c=[c,i]:(ge=a,a=n);a!==n;)s.push(a),a=ge,47===t.charCodeAt(ge)?(c=u,ge++):(c=n,0===me&&Le(o)),c!==n&&(i=rn())!==n?a=c=[c,i]:(ge=a,a=n);s!==n?r=e=[e,s]:(ge=r,r=n)}else ge=r,r=n;return r}function Me(){var r,e,s,a,u,o;return me++,r=ge,(e=Xe())!==n&&xn()!==n?(s=ge,"eq"===t.substr(ge,2)?(a="eq",ge+=2):(a=n,0===me&&Le(lt)),a===n&&("ne"===t.substr(ge,2)?(a="ne",ge+=2):(a=n,0===me&&Le(ht)),a===n&&("lt"===t.substr(ge,2)?(a="lt",ge+=2):(a=n,0===me&&Le(pt)),a===n&&("gt"===t.substr(ge,2)?(a="gt",ge+=2):(a=n,0===me&&Le(At)),a===n&&("le"===t.substr(ge,2)?(a="le",ge+=2):(a=n,0===me&&Le(dt)),a===n&&("ge"===t.substr(ge,2)?(a="ge",ge+=2):(a=n,0===me&&Le(gt))))))),(s=a!==n?t.substring(s,ge):a)!==n&&(a=xn())!==n&&(u=Xe())!==n?(r,r=e=[e,{eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="}[o=s]||o,u]):(ge=r,r=n)):(ge=r,r=n),me--,r===n&&(e=n,0===me&&Le(ft)),r}function Xe(){var r;return me++,r=function(){var r,e,s,a,c,i,h;me++,r=ge,e=[],s=ge,(a=dn())!==n?(c=ge,(i=mn())!==n&&(h=ze())!==n&&Cn()!==n?(c,c=i=yt(0,h)):(ge=c,c=n),c===n&&(c=null),c!==n?(47===t.charCodeAt(ge)?(i=u,ge++):(i=n,0===me&&Le(o)),i!==n?(s,s=a=mt(a,c)):(ge=s,s=n)):(ge=s,s=n)):(ge=s,s=n);if(s!==n)for(;s!==n;)e.push(s),s=ge,(a=dn())!==n?(c=ge,(i=mn())!==n&&(h=ze())!==n&&Cn()!==n?(c,c=i=yt(0,h)):(ge=c,c=n),c===n&&(c=null),c!==n?(47===t.charCodeAt(ge)?(i=u,ge++):(i=n,0===me&&Le(o)),i!==n?(s,s=a=mt(a,c)):(ge=s,s=n)):(ge=s,s=n)):(ge=s,s=n);else e=n;e!==n?(t.substr(ge,6)===f?(s=f,ge+=6):(s=n,0===me&&Le(l)),s!==n?(r,r=e={func:"count",as:"$count",args:[{ref:e}]}):(ge=r,r=n)):(ge=r,r=n);me--,r===n&&(e=n,0===me&&Le(bt));return r}(),r===n&&(r=Qe())===n&&(r=Ge())===n&&(r=He())===n&&(r=Je())===n&&(r=Ke())===n&&(r=function(){var r,e,s,a,u;r=ge,91===t.charCodeAt(ge)?(e=Bt,ge++):(e=n,0===me&&Le(Zt));if(e!==n){for(s=ge,a=[],Tt.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(_t));u!==n;)a.push(u),Tt.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(_t));(s=a!==n?t.substring(s,ge):a)!==n?(93===t.charCodeAt(ge)?(a=zt,ge++):(a=n,0===me&&Le(Ot)),a!==n?(r,r=e={list:s.replace(/"/g,"").split(",").map((t=>({val:t})))}):(ge=r,r=n)):(ge=r,r=n)}else ge=r,r=n;return r}()),me--,r===n&&(n,0===me&&Le(vt)),r}function Ge(){var r,e,s,a,c,i,f,l;if(me++,r=ge,(e=dn())!==n){for(s=[],a=ge,47===t.charCodeAt(ge)?(c=u,ge++):(c=n,0===me&&Le(o)),c!==n&&(i=dn())!==n?(a,a=c=wt(0,i)):(ge=a,a=n);a!==n;)s.push(a),a=ge,47===t.charCodeAt(ge)?(c=u,ge++):(c=n,0===me&&Le(o)),c!==n&&(i=dn())!==n?(a,a=c=wt(0,i)):(ge=a,a=n);s!==n?(r,l=s,r=e="null"===(f=e)?{val:null}:{ref:[f,...l]}):(ge=r,r=n)}else ge=r,r=n;return me--,r===n&&(e=n,0===me&&Le(Ct)),r}function He(){var r,e,s;return r=ge,(e=hn())===n&&(e=function(){var r,e,s,a,u,o,c,i,f,l,h,p,A,d,g,v,b,y,m,C,w,x,$,E;r=ge,e=ge,s=[],Pr.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(qr));if(a!==n)for(;a!==n;)s.push(a),Pr.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(qr));else s=n;if(s!==n)if(45===t.charCodeAt(ge)?(a=Ir,ge++):(a=n,0===me&&Le(Mr)),a!==n)if(Pr.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(qr)),u!==n)if(Pr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(qr)),o!==n)if(45===t.charCodeAt(ge)?(c=Ir,ge++):(c=n,0===me&&Le(Mr)),c!==n)if(Pr.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=n,0===me&&Le(qr)),i!==n)if(Pr.test(t.charAt(ge))?(f=t.charAt(ge),ge++):(f=n,0===me&&Le(qr)),f!==n){if(l=ge,84===t.charCodeAt(ge)?(h="T",ge++):(h=n,0===me&&Le(Xr)),h!==n)if(Pr.test(t.charAt(ge))?(p=t.charAt(ge),ge++):(p=n,0===me&&Le(qr)),p!==n)if(Pr.test(t.charAt(ge))?(A=t.charAt(ge),ge++):(A=n,0===me&&Le(qr)),A!==n)if(58===t.charCodeAt(ge)?(d=K,ge++):(d=n,0===me&&Le(Q)),d!==n)if(Pr.test(t.charAt(ge))?(g=t.charAt(ge),ge++):(g=n,0===me&&Le(qr)),g!==n)if(Pr.test(t.charAt(ge))?(v=t.charAt(ge),ge++):(v=n,0===me&&Le(qr)),v!==n){if(b=ge,58===t.charCodeAt(ge)?(y=K,ge++):(y=n,0===me&&Le(Q)),y!==n)if(Pr.test(t.charAt(ge))?(m=t.charAt(ge),ge++):(m=n,0===me&&Le(qr)),m!==n)if(Pr.test(t.charAt(ge))?(C=t.charAt(ge),ge++):(C=n,0===me&&Le(qr)),C!==n){if(w=ge,46===t.charCodeAt(ge)?(x=".",ge++):(x=n,0===me&&Le(Hr)),x!==n){if($=[],Pr.test(t.charAt(ge))?(E=t.charAt(ge),ge++):(E=n,0===me&&Le(qr)),E!==n)for(;E!==n;)$.push(E),Pr.test(t.charAt(ge))?(E=t.charAt(ge),ge++):(E=n,0===me&&Le(qr));else $=n;$!==n?w=x=[x,$]:(ge=w,w=n)}else ge=w,w=n;w===n&&(w=null),w!==n?b=y=[y,m,C,w]:(ge=b,b=n)}else ge=b,b=n;else ge=b,b=n;else ge=b,b=n;b===n&&(b=null),b!==n?(90===t.charCodeAt(ge)?(y="Z",ge++):(y=n,0===me&&Le(Jr)),y===n&&(y=ge,43===t.charCodeAt(ge)?(m="+",ge++):(m=n,0===me&&Le(Kr)),m===n&&(45===t.charCodeAt(ge)?(m=Ir,ge++):(m=n,0===me&&Le(Mr))),m!==n?(Pr.test(t.charAt(ge))?(C=t.charAt(ge),ge++):(C=n,0===me&&Le(qr)),C!==n?(Pr.test(t.charAt(ge))?(w=t.charAt(ge),ge++):(w=n,0===me&&Le(qr)),w!==n?(58===t.charCodeAt(ge)?(x=K,ge++):(x=n,0===me&&Le(Q)),x!==n?(Pr.test(t.charAt(ge))?($=t.charAt(ge),ge++):($=n,0===me&&Le(qr)),$!==n?(Pr.test(t.charAt(ge))?(E=t.charAt(ge),ge++):(E=n,0===me&&Le(qr)),E!==n?y=m=[m,C,w,x,$,E]:(ge=y,y=n)):(ge=y,y=n)):(ge=y,y=n)):(ge=y,y=n)):(ge=y,y=n)):(ge=y,y=n)),y===n&&(y=null),y!==n?l=h=[h,p,A,d,g,v,b,y]:(ge=l,l=n)):(ge=l,l=n)}else ge=l,l=n;else ge=l,l=n;else ge=l,l=n;else ge=l,l=n;else ge=l,l=n;else ge=l,l=n;l===n&&(l=null),l!==n?e=s=[s,a,u,o,c,i,f,l]:(ge=e,e=n)}else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;r=e!==n?t.substring(r,ge):e;return r}()),e!==n&&(r,e=xt(e)),(r=e)===n&&(r=ge,(e=gn())!==n&&(r,e=xt(e)),(r=e)===n&&(r=ge,e=function(){var r,e,s,a,u,o,c,i,f,l;r=ge,e=ge,s=ge,Qr.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(Vr));a===n&&(a=null);if(a!==n){if(u=[],Pr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(qr)),o!==n)for(;o!==n;)u.push(o),Pr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(qr));else u=n;if(u!==n){if(o=ge,46===t.charCodeAt(ge)?(c=Gr,ge++):(c=n,0===me&&Le(Hr)),c!==n){if(i=[],Pr.test(t.charAt(ge))?(f=t.charAt(ge),ge++):(f=n,0===me&&Le(qr)),f!==n)for(;f!==n;)i.push(f),Pr.test(t.charAt(ge))?(f=t.charAt(ge),ge++):(f=n,0===me&&Le(qr));else i=n;i!==n?o=c=[c,i]:(ge=o,o=n)}else ge=o,o=n;if(o===n&&(o=null),o!==n){if(c=ge,101===t.charCodeAt(ge)?(i="e",ge++):(i=n,0===me&&Le(Wr)),i!==n){if(f=[],Pr.test(t.charAt(ge))?(l=t.charAt(ge),ge++):(l=n,0===me&&Le(qr)),l!==n)for(;l!==n;)f.push(l),Pr.test(t.charAt(ge))?(l=t.charAt(ge),ge++):(l=n,0===me&&Le(qr));else f=n;f!==n?c=i=[i,f]:(ge=c,c=n)}else ge=c,c=n;c===n&&(c=null),c!==n?s=a=[a,u,o,c]:(ge=s,s=n)}else ge=s,s=n}else ge=s,s=n}else ge=s,s=n;e=s!==n?t.substring(e,ge):s;e!==n&&(r,e=On(e));return r=e}(),e!==n&&(r,e="number"==typeof(s=e)?{val:s}:{val:s,literal:"number"}),(r=e)===n&&(r=ge,(e=pn())!==n&&(r,e=xt(e)),r=e))),r}function Je(){var r,e,s,a,u,o;if(r=ge,e=ge,s=ge,123===t.charCodeAt(ge)?(a="{",ge++):(a=n,0===me&&Le($t)),a!==n){for(u=[],(o=Je())===n&&(Et.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(Lt)));o!==n;)u.push(o),(o=Je())===n&&(Et.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(Lt)));u!==n?(125===t.charCodeAt(ge)?(o="}",ge++):(o=n,0===me&&Le(St)),o!==n?s=a=[a,u,o]:(ge=s,s=n)):(ge=s,s=n)}else ge=s,s=n;return(e=s!==n?t.substring(e,ge):s)!==n&&(r,e=xt(e)),r=e}function Ke(){var r,e,s,a,u,o,c,i;if(r=ge,e=ge,s=ge,91===t.charCodeAt(ge)?(a=Bt,ge++):(a=n,0===me&&Le(Zt)),a!==n&&(u=wn())!==n?(93===t.charCodeAt(ge)?(o=zt,ge++):(o=n,0===me&&Le(Ot)),o!==n?s=a=[a,u,o]:(ge=s,s=n)):(ge=s,s=n),s===n)if(s=ge,91===t.charCodeAt(ge)?(a=Bt,ge++):(a=n,0===me&&Le(Zt)),a!==n)if((u=wn())!==n)if(123===t.charCodeAt(ge)?(o="{",ge++):(o=n,0===me&&Le($t)),o!==n){for(c=[],(i=Ke())===n&&(Tt.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=n,0===me&&Le(_t)));i!==n;)c.push(i),(i=Ke())===n&&(Tt.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=n,0===me&&Le(_t)));c!==n?(93===t.charCodeAt(ge)?(i=zt,ge++):(i=n,0===me&&Le(Ot)),i!==n?s=a=[a,u,o,c,i]:(ge=s,s=n)):(ge=s,s=n)}else ge=s,s=n;else ge=s,s=n;else ge=s,s=n;return(e=s!==n?t.substring(e,ge):s)!==n&&(r,e=xt(e)),r=e}function Qe(){var r,e,s,a,u,o,c;if(me++,r=ge,e=ge,s=[],st.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(at)),a!==n)for(;a!==n;)s.push(a),st.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(at));else s=n;if((e=s!==n?t.substring(e,ge):s)!==n)if((s=mn())!==n)if((a=Xe())!==n){for(u=[],o=ge,yn()!==n&&(c=Xe())!==n?(o,o=Rt(0,0,c)):(ge=o,o=n);o!==n;)u.push(o),o=ge,yn()!==n&&(c=Xe())!==n?(o,o=Rt(0,0,c)):(ge=o,o=n);u!==n&&(o=Cn())!==n?(r,r=e=function(t,r,e){if(En&&!(t.toLowerCase()in En.functions))throw Object.assign(new Error(`"${t}" is an unknown function in OData URL spec (strict mode)`),{statusCode:400});return{func:t.toLowerCase(),args:[r,...e]}}(e,a,u)):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;else ge=r,r=n;return me--,r===n&&(e=n,0===me&&Le(Ft)),r}function Ve(){var r,e;return r=ge,wn()!==n?("not"===t.substr(ge,3).toLowerCase()?(e=t.substr(ge,3),ge+=3):(e=n,0===me&&Le(It)),e!==n&&xn()!==n?(r,r="not"):(ge=r,r=n)):(ge=r,r=n),r}function We(){var r,e;return r=ge,xn()!==n?("and"===t.substr(ge,3).toLowerCase()?(e=t.substr(ge,3),ge+=3):(e=n,0===me&&Le(Mt)),e!==n&&xn()!==n?(r,r="and"):(ge=r,r=n)):(ge=r,r=n),r}function Ye(){var t,r;return t=ge,(r=xn())!==n&&(t,r="and"),t=r}function tn(){var r,e;return r=ge,xn()!==n?("or"===t.substr(ge,2).toLowerCase()?(e=t.substr(ge,2),ge+=2):(e=n,0===me&&Le(Xt)),e!==n&&xn()!==n?(r,r="or"):(ge=r,r=n)):(ge=r,r=n),r}function rn(){var r,e,s;return r=ge,t.substr(ge,9)===Gt?(e=Gt,ge+=9):(e=n,0===me&&Le(Ht)),e!==n?(s=function(){var t,r,e,s,a;if(t=ge,mn()!==n)if(wn()!==n)if((r=en())!==n){for(e=[],s=ge,wn()!==n&&yn()!==n&&wn()!==n&&(a=en())!==n?(s,s=v(0,a)):(ge=s,s=n);s!==n;)e.push(s),s=ge,wn()!==n&&yn()!==n&&wn()!==n&&(a=en())!==n?(s,s=v(0,a)):(ge=s,s=n);e!==n&&(s=wn())!==n&&Cn()!==n?(t,t=function(t,r){let e=Bn.apply;e.aggregate&&(Bn.apply={apply:e},e.groupBy&&(Bn.apply.groupBy=e.groupBy),e=Bn.apply),e.aggregate=[t,...r]}(r,e)):(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;return t}(),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,7)===Jt?(e=Jt,ge+=7):(e=n,0===me&&Le(Kt)),e!==n?(s=function(){var t,r,e,s,a,u,o,c,i;if(t=ge,(r=mn())!==n)if((e=mn())!==n)if((s=on())!==n){for(a=[],u=ge,(o=yn())!==n&&(c=on())!==n?(u,u=o=v(0,c)):(ge=u,u=n);u!==n;)a.push(u),u=ge,(o=yn())!==n&&(c=on())!==n?(u,u=o=v(0,c)):(ge=u,u=n);a!==n?(u=ge,(o=Cn())!==n&&(u,o=function(t,r){let e=Bn.apply;(e.groupBy||e.where||e.search)&&(Bn.apply={apply:e},e=Bn.apply),e.groupBy=[t,...r]}(s,a)),(u=o)!==n?(o=ge,(c=yn())!==n&&(i=Ie())!==n?o=c=[c,i]:(ge=o,o=n),o===n&&(o=null),o!==n&&(c=Cn())!==n?t=r=[r,e,s,a,u,o,c]:(ge=t,t=n)):(ge=t,t=n)):(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;return t}(),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,6)===Qt?(e=Qt,ge+=6):(e=n,0===me&&Le(Vt)),e!==n&&(s=cn())!==n?r=e=[e,s]:(ge=r,r=n),r===n&&(r=ge,t.substr(ge,6)===Wt?(e=Wt,ge+=6):(e=n,0===me&&Le(Yt)),e!==n&&(s=fn())!==n?r=e=[e,s]:(ge=r,r=n),r===n&&(r=ge,t.substr(ge,6)===tr?(e=tr,ge+=6):(e=n,0===me&&Le(rr)),e!==n?(s=function(){var t,r,e,s,a,u;t=ge,(r=mn())!==n&&(e=wn())!==n?(s=ge,(a=Re())!==n&&(s,a=function(t){if(!t)return;let r=Bn.apply;r.search&&(Bn.apply={apply:r},r=Bn.apply),r.search=t}(a)),(s=a)!==n&&(a=wn())!==n&&(u=Cn())!==n?t=r=[r,e,s,a,u]:(ge=t,t=n)):(ge=t,t=n);return t}(),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,6)===er?(e=er,ge+=6):(e=n,0===me&&Le(nr)),e!==n?(s=function(){var t,r,e,s,a,u,o,c,i,f;if(t=ge,(r=mn())!==n)if((e=wn())!==n)if((s=Ie())!==n){if(a=[],u=ge,(o=wn())!==n&&(c=yn())!==n&&(i=wn())!==n&&(f=Ie())!==n?u=o=[o,c,i,f]:(ge=u,u=n),u!==n)for(;u!==n;)a.push(u),u=ge,(o=wn())!==n&&(c=yn())!==n&&(i=wn())!==n&&(f=Ie())!==n?u=o=[o,c,i,f]:(ge=u,u=n);else a=n;a!==n&&(u=wn())!==n&&(o=Cn())!==n?t=r=[r,e,s,a,u,o]:(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;return t}(),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,7)===sr?(e=sr,ge+=7):(e=n,0===me&&Le(ar)),e!==n?(s=function(){var t,r,e,s,a,u,o,c,i,f;if(t=ge,(r=mn())!==n)if((e=wn())!==n)if((s=ln())!==n){for(a=[],u=ge,(o=wn())!==n&&(c=yn())!==n&&(i=wn())!==n&&(f=ln())!==n?u=o=[o,c,i,f]:(ge=u,u=n);u!==n;)a.push(u),u=ge,(o=wn())!==n&&(c=yn())!==n&&(i=wn())!==n&&(f=ln())!==n?u=o=[o,c,i,f]:(ge=u,u=n);a!==n&&(u=wn())!==n&&(o=Cn())!==n?t=r=[r,e,s,a,u,o]:(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;return t}(),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,"topcount"===t.substr(ge,8).toLowerCase()?(e=t.substr(ge,8),ge+=8):(e=n,0===me&&Le(ur)),e===n&&("bottomcount"===t.substr(ge,11).toLowerCase()?(e=t.substr(ge,11),ge+=11):(e=n,0===me&&Le(or)),e===n&&("topsum"===t.substr(ge,6).toLowerCase()?(e=t.substr(ge,6),ge+=6):(e=n,0===me&&Le(cr)),e===n&&("bottomsum"===t.substr(ge,9).toLowerCase()?(e=t.substr(ge,9),ge+=9):(e=n,0===me&&Le(ir)),e===n&&("toppercent"===t.substr(ge,10).toLowerCase()?(e=t.substr(ge,10),ge+=10):(e=n,0===me&&Le(fr)),e===n&&("bottompercent"===t.substr(ge,13).toLowerCase()?(e=t.substr(ge,13),ge+=13):(e=n,0===me&&Le(lr))))))),e!==n?(s=function(){var t,r,e;t=ge,mn()!==n&&wn()!==n&&(r=Xe())!==n&&wn()!==n&&yn()!==n&&wn()!==n&&(e=Xe())!==n&&wn()!==n&&Cn()!==n?(t,t=[r,e]):(ge=t,t=n);return t}(),s!==n?(r,r=e=function(t,r){if(!{topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1}[t=t.toLowerCase()])throw Object.assign(new Error(`Transformation "${t}" in $apply is not supported yet.`),{statusCode:501});(Bn.apply.aggregate||(Bn.apply.aggregate=[])).push({func:t,args:r})}(e,s)):(ge=r,r=n)):(ge=r,r=n),r===n&&(r=function(){var r;t.substr(ge,8)===Cr?(r=Cr,ge+=8):(r=n,0===me&&Le(wr));return r}())))))))),r}function en(){var r,e,s,a;return r=ge,e=ge,t.substr(ge,6)===f?(s=f,ge+=6):(s=n,0===me&&Le(l)),s!==n&&(a=un())!==n?(e,e=s={func:"count",args:[{val:1}],as:a}):(ge=e,e=n),e===n&&(e=nn()),e!==n&&(r,e=e),r=e}function nn(){var t,r,e,s,a;return t=ge,(r=Ge())!==n&&(e=sn())!==n?((s=an())===n&&(s=null),s!==n&&(a=un())!==n?(t,t=r={func:e,args:[r],as:a}):(ge=t,t=n)):(ge=t,t=n),t===n&&(t=ge,(r=dn())!==n&&(e=mn())!==n&&(s=nn())!==n&&(a=Cn())!==n?t=r=[r,e,s,a]:(ge=t,t=n)),t}function sn(){var r,e,s,a,u;if(r=ge,xn()!==n)if(t.substr(ge,4)===hr?(e=hr,ge+=4):(e=n,0===me&&Le(pr)),e!==n)if(xn()!==n){if(s=ge,a=[],st.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(at)),u!==n)for(;u!==n;)a.push(u),st.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(at));else a=n;(s=a!==n?t.substring(s,ge):a)!==n?(r,r=s.toLowerCase()):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;else ge=r,r=n;return r}function an(){var r,e,s,a,u,o,c;return r=ge,(e=xn())!==n?(t.substr(ge,4)===Ar?(s=Ar,ge+=4):(s=n,0===me&&Le(dr)),s!==n&&(a=xn())!==n&&(u=Ge())!==n&&(o=sn())!==n?((c=an())===n&&(c=null),c!==n?r=e=[e,s,a,u,o,c]:(ge=r,r=n)):(ge=r,r=n)):(ge=r,r=n),r}function un(){var r,e,s;return r=ge,xn()!==n?("as"===t.substr(ge,2)?(e="as",ge+=2):(e=n,0===me&&Le(gr)),e!==n&&xn()!==n&&(s=dn())!==n?(r,r=s):(ge=r,r=n)):(ge=r,r=n),r}function on(){var r,e;return r=ge,e=function(){var r,e,s,a,u,o,c,i,f,l,h;r=ge,e=ge,t.substr(ge,6)===vr?(s=vr,ge+=6):(s=n,0===me&&Le(br));if(s!==n)if((a=mn())!==n)if((u=wn())!==n)if(t.substr(ge,4)===yr?(o=yr,ge+=4):(o=n,0===me&&Le(mr)),o===n&&(o=Ge()),o!==n){if(c=[],i=ge,(f=wn())!==n&&(l=yn())!==n&&(h=Ge())!==n?i=f=[f,l,h]:(ge=i,i=n),i!==n)for(;i!==n;)c.push(i),i=ge,(f=wn())!==n&&(l=yn())!==n&&(h=Ge())!==n?i=f=[f,l,h]:(ge=i,i=n);else c=n;c!==n&&(i=wn())!==n&&(f=Cn())!==n?e=s=[s,a,u,o,c,i,f]:(ge=e,e=n)}else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;e!==n&&(r,e=function(t){const r=new Error("Rollup in groupby is not supported yet.");throw r.statusCode=501,r}());return r=e}(),e===n&&(e=Ge()),e!==n&&(r,e=e),r=e}function cn(){var t,r,e,s,a,u;return t=ge,(r=mn())!==n&&(e=wn())!==n?(s=ge,(a=ke())!==n&&(s,a=function(t){let r=Bn.apply;r.where&&(Bn.apply={apply:r},r=Bn.apply),r.where=t}(a)),(s=a)!==n&&(a=wn())!==n&&(u=Cn())!==n?t=r=[r,e,s,a,u]:(ge=t,t=n)):(ge=t,t=n),t}function fn(){var t,r,e,s,a,u,o,c,i,f,l,h,p,A;if(t=ge,(r=mn())!==n)if((e=wn())!==n)if((s=Ge())!==n)if((a=wn())!==n)if((u=yn())!==n)if((o=wn())!==n){if(c=ge,(i=fn())!==n){for(f=[],l=ge,(h=wn())!==n&&(p=yn())!==n&&(A=fn())!==n?l=h=[h,p,A]:(ge=l,l=n);l!==n;)f.push(l),l=ge,(h=wn())!==n&&(p=yn())!==n&&(A=fn())!==n?l=h=[h,p,A]:(ge=l,l=n);f!==n?c=i=[i,f]:(ge=c,c=n)}else ge=c,c=n;if(c===n)if(c=ge,(i=cn())!==n){for(f=[],l=ge,(h=wn())!==n&&(p=yn())!==n&&(A=fn())!==n?l=h=[h,p,A]:(ge=l,l=n);l!==n;)f.push(l),l=ge,(h=wn())!==n&&(p=yn())!==n&&(A=fn())!==n?l=h=[h,p,A]:(ge=l,l=n);f!==n?c=i=[i,f]:(ge=c,c=n)}else ge=c,c=n;c!==n&&(i=wn())!==n&&(f=Cn())!==n?t=r=[r,e,s,a,u,o,c,i,f]:(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;return t}function ln(){var t,r,e;return t=ge,(r=Ne())!==n&&(e=un())!==n?t=r=[r,e]:(ge=t,t=n),t}function hn(){var r,e;return r=ge,t.substr(ge,4)===xr?(e=xr,ge+=4):(e=n,0===me&&Le($r)),e===n&&(t.substr(ge,5)===Er?(e=Er,ge+=5):(e=n,0===me&&Le(Lr))),e!==n&&(r,e="true"===e),r=e}function pn(){var r,e,s,a,u;if(me++,r=ge,39===t.charCodeAt(ge)?(e="'",ge++):(e=n,0===me&&Le(Br)),e!==n){for(s=ge,a=[],t.substr(ge,2)===Zr?(u=Zr,ge+=2):(u=n,0===me&&Le(zr)),u===n&&(Or.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(Tr)));u!==n;)a.push(u),t.substr(ge,2)===Zr?(u=Zr,ge+=2):(u=n,0===me&&Le(zr)),u===n&&(Or.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(Tr)));(s=a!==n?t.substring(s,ge):a)!==n?(39===t.charCodeAt(ge)?(a="'",ge++):(a=n,0===me&&Le(Br)),a!==n?(r,r=e=s.replace(/''/g,"'")):(ge=r,r=n)):(ge=r,r=n)}else ge=r,r=n;return me--,r===n&&(e=n,0===me&&Le(Sr)),r}function An(){var r,e,s,a,u,o;if(r=ge,e=ge,s=ge,Qr.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(Vr)),a===n&&(a=null),a!==n){if(u=[],Pr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(qr)),o!==n)for(;o!==n;)u.push(o),Pr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(qr));else u=n;u!==n?s=a=[a,u]:(ge=s,s=n)}else ge=s,s=n;return(e=s!==n?t.substring(e,ge):s)!==n&&(r,e=parseInt(e)),r=e}function dn(){var r,e,s,a,u,o,c,i;if(r=ge,e=ge,me++,s=hn(),me--,s===n?e=void 0:(ge=e,e=n),e!==n)if(s=ge,me++,a=gn(),me--,a===n?s=void 0:(ge=s,s=n),s!==n){if(a=ge,u=ge,Yr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(te)),o!==n){for(c=[],re.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=n,0===me&&Le(ee));i!==n;)c.push(i),re.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=n,0===me&&Le(ee));c!==n?u=o=[o,c]:(ge=u,u=n)}else ge=u,u=n;(a=u!==n?t.substring(a,ge):u)!==n?(r,r=e=a):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;return r}function gn(){var r,e,s,a,u,o,c,i,f,l,h,p,A,d;return r=ge,e=ge,(s=vn())!==n&&(a=vn())!==n?(45===t.charCodeAt(ge)?(u=Ir,ge++):(u=n,0===me&&Le(Mr)),u===n&&(u=null),u!==n&&(o=vn())!==n?(45===t.charCodeAt(ge)?(c=Ir,ge++):(c=n,0===me&&Le(Mr)),c===n&&(c=null),c!==n&&(i=vn())!==n?(45===t.charCodeAt(ge)?(f=Ir,ge++):(f=n,0===me&&Le(Mr)),f===n&&(f=null),f!==n&&(l=vn())!==n?(45===t.charCodeAt(ge)?(h=Ir,ge++):(h=n,0===me&&Le(Mr)),h===n&&(h=null),h!==n&&(p=vn())!==n&&(A=vn())!==n&&(d=vn())!==n?e=s=[s,a,u,o,c,i,f,l,h,p,A,d]:(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n),r=e!==n?t.substring(r,ge):e}function vn(){var r,e,s,a,u,o;return r=ge,e=ge,ne.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(se)),s!==n?(ne.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(se)),a!==n?(ne.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(se)),u!==n?(ne.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(se)),o!==n?e=s=[s,a,u,o]:(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n),r=e!==n?t.substring(r,ge):e}function bn(){var r,e,s,a;if(r=ge,e=ge,s=[],ae.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(ue)),a!==n)for(;a!==n;)s.push(a),ae.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(ue));else s=n;return(e=s!==n?t.substring(e,ge):s)!==n&&(r,e=xt(e)),r=e}function yn(){var r,e,s,a;return r=ge,(e=wn())!==n?(44===t.charCodeAt(ge)?(s=",",ge++):(s=n,0===me&&Le(ie)),s!==n&&(a=wn())!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r}function mn(){var r,e,s,a;return r=ge,(e=wn())!==n?(40===t.charCodeAt(ge)?(s="(",ge++):(s=n,0===me&&Le(fe)),s!==n&&(a=wn())!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r}function Cn(){var r,e,s;return r=ge,(e=wn())!==n?(41===t.charCodeAt(ge)?(s=")",ge++):(s=n,0===me&&Le(le)),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r}function wn(){var r,e,s;for(me++,r=ge,e=[],pe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Ae));s!==n;)e.push(s),pe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Ae));return r=e!==n?t.substring(r,ge):e,me--,r===n&&(e=n,0===me&&Le(he)),r}function xn(){var r,e,s;if(me++,r=ge,e=[],pe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Ae)),s!==n)for(;s!==n;)e.push(s),pe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Ae));else e=n;return r=e!==n?t.substring(r,ge):e,me--,r===n&&(e=n,0===me&&Le(de)),r}const $n=Object.assign,{strict:En,minimal:Ln}=r,Sn=[];let Bn,Zn;const zn=["$value"],On=r.safeNumber||function(t){const r=Number(t);return Number.isSafeInteger(r)?r:t},Tn=t=>r=>t===r||t.as&&r.as&&t.as===r.as||r.as&&t.ref&&r.as===t.ref[t.ref.length-1]||t.ref&&r.ref&&t.ref.join("")===r.ref.join(""),_n=t=>r=>{if(Array.isArray(r))return r.map(_n(t));const e=r.ref&&t.find((t=>t.as&&t.func&&t.as===r.ref[0]));return e||r},Fn=t=>r=>Array.isArray(r)?r.map(Fn(t)):r.ref&&!t.find(Tn(r))?{val:null}:r,Rn=(t,r)=>{if(1===r.ref.length)t.find(Tn(r))||t.push(r);else{const e=r.ref.shift(),n=t.find((t=>t.ref&&t.ref[0]===e));if(n)Rn(n.expand,r);else{const n={ref:[e],expand:[]};Rn(n.expand,r),t.push(n)}}},jn=(t,r,e=!1)=>{if(!r)return;if(t.apply&&delete t.apply,(r.apply||r.where&&t.where||r.search&&t.search)&&(t.from={SELECT:{from:t.from}}),r.where&&(t.where?t.from.SELECT.where=r.where:t.where=r.where),r.search&&(t.search?t.from.SELECT.search=r.search:t.search=r.search),r.groupBy){t.groupBy=[];for(const e of r.groupBy)t.groupBy.find(Tn(e))||t.groupBy.push(e)}const n=[...t.groupBy||[],...r.aggregate||[]];n.length&&(t.columns=t.columns&&!e?t.columns.reduce(((t,r)=>{const e=n.find(Tn(r));return e&&t.push(e),t}),[]):n,t.where&&(t.where=t.where.map(_n(t.columns)),t.groupBy&&(t.having=t.where.map(Fn(t.groupBy)),delete t.where)),t.columns=t.columns.reduce(((t,r)=>(r.ref&&r.ref.length>1&&n.find(Tn(r))?Rn(t,{ref:[...r.ref]}):t.push(r),t)),[])),r.apply&&jn(t.from.SELECT,r.apply)},kn=t=>{Bn.limit&&Bn.limit.offset&&Bn.limit.offset.val&&(t+=Bn.limit.offset.val),(Bn.limit||(Bn.limit={})).offset={val:t}},Nn=(t,r)=>{for(const e of r)e.ref&&e.ref[0]===t&&e.ref.shift(),e.func&&Nn(t,e.args);return r};if((e=a())!==n&&ge===t.length)return e;throw e!==n&&ge<t.length&&Le({type:"end"}),Se(ye,be<t.length?t.charAt(be):null,be<t.length?Ee(be,be+1):Ee(be,be))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.buildMessage=function(t,r){var e={literal:function(t){return'"'+s(t.text)+'"'},class:function(t){var r,e="";for(r=0;r<t.parts.length;r++)e+=t.parts[r]instanceof Array?a(t.parts[r][0])+"-"+a(t.parts[r][1]):a(t.parts[r]);return"["+(t.inverted?"^":"")+e+"]"},any:function(t){return"any character"},end:function(t){return"end of input"},other:function(t){return t.description}};function n(t){return t.charCodeAt(0).toString(16).toUpperCase()}function s(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}function a(t){return t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}return"Expected "+function(t){var r,n,s,a=new Array(t.length);for(r=0;r<t.length;r++)a[r]=(s=t[r],e[s.type](s));if(a.sort(),a.length>0){for(r=1,n=1;r<a.length;r++)a[r-1]!==a[r]&&(a[n]=a[r],n++);a.length=n}switch(a.length){case 1:return a[0];case 2:return a[0]+" or "+a[1];default:return a.slice(0,-1).join(", ")+", or "+a[a.length-1]}}(t)+" but "+function(t){return t?'"'+s(t)+'"':"end of input"}(r)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
|
|
1
|
+
"use strict";function peg$subclass(t,r){function e(){this.constructor=t}e.prototype=r.prototype,t.prototype=new e}function peg$SyntaxError(t,r,e,n){this.message=t,this.expected=r,this.found=e,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(t,r){r=void 0!==r?r:{};var e,n={},s={ODataRelativeURI:Be},a=Be,u="/",o=Ce("/",!1),c=Ce("?",!1),i=Ce("&",!1),f="$count",l=Ce("$count",!1),h="$ref",p=Ce("$ref",!1),A="$value",d=Ce("$value",!1),g=function(t){return[t]},v=function(t,r){return r},b=Ce("=",!1),y="$skiptoken=",m=Ce("$skiptoken=",!1),C="$apply=",w=Ce("$apply=",!1),x="$select=",$=Ce("$select=",!1),E="$expand=",L=Ce("$expand=",!1),S="$filter=",B=Ce("$filter=",!1),O="$orderby=",T=Ce("$orderby=",!1),Z="$top=",z=Ce("$top=",!1),_="$skip=",F=Ce("$skip=",!1),R="$search=",j=Ce("$search=",!1),k="$count=",N=Ce("$count=",!1),U=Ce("*",!1),D=Ce(";",!1),P="/$count",q=Ce("/$count",!1),I=function(t){return t?[t]:[]},M=function(t,r){t.push({xpr:r})},X=function(t,r){t.push({val:r})},G=function(t,r,e){t.push(r,...e)},H=function(t,r){t.push(r)},J=function(t,r,e){t.push(r,...e)},K=":",Q=Ce(":",!1),V="any",W=Ce("any",!1),Y="all",tt=Ce("all",!1),rt=Ce("asc",!1),et="desc",nt=Ce("desc",!1),st=/^[a-zA-Z]/,at=we([["a","z"],["A","Z"]],!1,!1),ut=/^[a-zA-Z0-9\-]/,ot=we([["a","z"],["A","Z"],["0","9"],"-"],!1,!1),ct=/^[^&]/,it=we(["&"],!0,!1),ft=xe("a comparison"),lt=Ce("eq",!1),ht=Ce("ne",!1),pt=Ce("lt",!1),At=Ce("gt",!1),dt=Ce("le",!1),gt=Ce("ge",!1),vt=(Ce("add",!1),Ce("sub",!1),Ce("mul",!1),Ce("div",!1),Ce("mod",!1),xe("an operand")),bt=xe("navigation with $count"),yt=function(t,r){return r},mt=function(t,r){return r?{id:t,where:r}:t},Ct=xe("a reference"),wt=function(t,r){return r},xt=function(t){return{val:t}},$t=Ce("{",!1),Et=/^[^}]/,Lt=we(["}"],!0,!1),St=Ce("}",!1),Bt="[",Ot=Ce("[",!1),Tt="]",Zt=Ce("]",!1),zt=/^[^\]]/,_t=we(["]"],!0,!1),Ft=xe("a function call"),Rt=function(t,r,e){return e},jt=xe("a boolean function"),kt="contains",Nt=Ce("contains",!0),Ut="endswith",Dt=Ce("endswith",!0),Pt="startswith",qt=Ce("startswith",!0),It=Ce("NOT",!0),Mt=Ce("AND",!0),Xt=Ce("OR",!0),Gt="aggregate",Ht=Ce("aggregate",!1),Jt="groupby",Kt=Ce("groupby",!1),Qt="filter",Vt=Ce("filter",!1),Wt="expand",Yt=Ce("expand",!1),tr="search",rr=Ce("search",!1),er="concat",nr=Ce("concat",!1),sr="compute",ar=Ce("compute",!1),ur=Ce("topcount",!0),or=Ce("bottomcount",!0),cr=Ce("topsum",!0),ir=Ce("bottomsum",!0),fr=Ce("toppercent",!0),lr=Ce("bottompercent",!0),hr="with",pr=Ce("with",!1),Ar="from",dr=Ce("from",!1),gr=Ce("as",!1),vr="rollup",br=Ce("rollup",!1),yr="$all",mr=Ce("$all",!1),Cr="identity",wr=Ce("identity",!1),xr="true",$r=Ce("true",!1),Er="false",Lr=Ce("false",!1),Sr=xe("Edm.String"),Br=Ce("'",!1),Or="''",Tr=Ce("''",!1),Zr=/^[^']/,zr=we(["'"],!0,!1),_r='"',Fr=Ce('"',!1),Rr='\\"',jr=Ce('\\"',!1),kr=/^[^"]/,Nr=we(['"'],!0,!1),Ur=/^[^ \t\n()"&;]/,Dr=we([" ","\t","\n","(",")",'"',"&",";"],!0,!1),Pr=/^[0-9]/,qr=we([["0","9"]],!1,!1),Ir="-",Mr=Ce("-",!1),Xr=Ce("T",!1),Gr=".",Hr=Ce(".",!1),Jr=Ce("Z",!1),Kr=Ce("+",!1),Qr=/^[+\-]/,Vr=we(["+","-"],!1,!1),Wr=Ce("e",!1),Yr=/^[_a-zA-Z]/,te=we(["_",["a","z"],["A","Z"]],!1,!1),re=/^[_a-zA-Z0-9"."]/,ee=we(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"'],!1,!1),ne=/^[0-9a-fA-F]/,se=we([["0","9"],["a","f"],["A","F"]],!1,!1),ae=/^[a-zA-Z0-9\-"."_~!$&'()*+,;=:@]/,ue=we([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","&","'","(",")","*","+",",",";","=",":","@"],!1,!1),oe=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,ce=we([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),ie=Ce(",",!1),fe=Ce("(",!1),le=Ce(")",!1),he=xe("optional whitespaces"),pe=/^[ \t\n]/,Ae=we([" ","\t","\n"],!1,!1),de=xe("mandatory whitespaces"),ge=0,ve=[{line:1,column:1}],be=0,ye=[],me=0;if("startRule"in r){if(!(r.startRule in s))throw new Error("Can't start parsing from rule \""+r.startRule+'".');a=s[r.startRule]}function Ce(t,r){return{type:"literal",text:t,ignoreCase:r}}function we(t,r,e){return{type:"class",parts:t,inverted:r,ignoreCase:e}}function xe(t){return{type:"other",description:t}}function $e(r){var e,n=ve[r];if(n)return n;for(e=r-1;!ve[e];)e--;for(n={line:(n=ve[e]).line,column:n.column};e<r;)10===t.charCodeAt(e)?(n.line++,n.column=1):n.column++,e++;return ve[r]=n,n}function Ee(t,r){var e=$e(t),n=$e(r);return{start:{offset:t,line:e.line,column:e.column},end:{offset:r,line:n.line,column:n.column}}}function Le(t){ge<be||(ge>be&&(be=ge,ye=[]),ye.push(t))}function Se(t,r,e){return new peg$SyntaxError(peg$SyntaxError.buildMessage(t,r),t,r,e)}function Be(){var r,e,s,a,f,l,h,p,A,d,g,v,b,y;if(r=ge,47===t.charCodeAt(ge)?(e=u,ge++):(e=n,0===me&&Le(o)),e===n&&(e=null),e!==n)if(s=ge,(a=Oe())!==n&&(s,a=void(Bn=a)),(s=a)!==n){if(a=ge,(f=wn())!==n)if(63===t.charCodeAt(ge)?(l="?",ge++):(l=n,0===me&&Le(c)),l!==n)if((h=wn())!==n)if((p=Ze())!==n){for(A=[],d=ge,(g=wn())!==n?(38===t.charCodeAt(ge)?(v="&",ge++):(v=n,0===me&&Le(i)),v!==n&&(b=wn())!==n&&(y=Ze())!==n?d=g=[g,v,b,y]:(ge=d,d=n)):(ge=d,d=n);d!==n;)A.push(d),d=ge,(g=wn())!==n?(38===t.charCodeAt(ge)?(v="&",ge++):(v=n,0===me&&Le(i)),v!==n&&(b=wn())!==n&&(y=Ze())!==n?d=g=[g,v,b,y]:(ge=d,d=n)):(ge=d,d=n);A!==n?a=f=[f,l,h,p,A]:(ge=a,a=n)}else ge=a,a=n;else ge=a,a=n;else ge=a,a=n;else ge=a,a=n;a===n&&(a=null),a!==n&&(f=wn())!==n?(r,r=e=function(){if(On)return Bn.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete Bn.expand,delete Bn.limit,delete Bn.orderBy,Bn.apply&&(Bn.apply={apply:Bn.apply},jn(Bn,Bn.apply)),{SELECT:Bn};let t;if(Bn.expand){Bn.columns||(Bn.columns=["*"],t=!0);for(const t of Bn.expand){const r=Bn.columns.findIndex(zn(t));r>-1&&Bn.columns.splice(r,1),Bn.columns.push(t)}delete Bn.expand}return Bn.count&&Bn.apply&&(Bn.__countAggregated=!0),jn(Bn,Bn.apply,t),{SELECT:Bn}}()):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;return r}function Oe(){var r,e,s,a,c,i,b,y;return r=ge,t.substr(ge,6)===f?(e=f,ge+=6):(e=n,0===me&&Le(l)),e!==n&&(r,e=void(On=!0)),(r=e)===n&&(r=ge,e=ge,t.substr(ge,4)===h?(s=h,ge+=4):(s=n,0===me&&Le(p)),s===n&&(t.substr(ge,6)===A?(s=A,ge+=6):(s=n,0===me&&Le(d))),(e=s!==n?t.substring(e,ge):s)!==n&&(r,y=e,e=!Tn.includes(y)&&{from:{ref:[y]}}),(r=e)===n&&(r=ge,e=ge,(s=dn())!==n?(a=ge,(c=mn())!==n&&(i=Cn())!==n?a=c=[c,i]:(ge=a,a=n),a===n&&(a=ge,(c=mn())!==n&&(i=Te())!==n&&(b=Cn())!==n?a=c=[c,i,b]:(ge=a,a=n)),a===n&&(a=null),a!==n?(c=ge,me++,i=bn(),me--,i===n?c=void 0:(ge=c,c=n),c!==n?e=s=[s,a,c]:(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n),e===n&&(e=ge,s=ge,a=ge,c=ge,me++,i=pn(),me--,i===n?c=void 0:(ge=c,c=n),c!==n&&(i=He())!==n?a=c=[c,i]:(ge=a,a=n),a!==n&&(s,a=a[1]),(s=a)===n&&(s=bn()),s!==n&&(e,s=g(s)),e=s),e!==n?(s=ge,47===t.charCodeAt(ge)?(a=u,ge++):(a=n,0===me&&Le(o)),a!==n&&(c=Oe())!==n?(s,s=a=v(0,c)):(ge=s,s=n),s===n&&(s=null),s!==n?(r,r=e=function(t,r){const[e,n]=t,s=[n?n.length>2?{id:e,where:n[1].map((t=>t.val&&t.val.match&&t.val.match(/^"(.*)"$/)?{val:t.val.match(/^"(.*)"$/)[1]}:t))}:{id:e,where:[]}:Ln?`${"object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"val")?e.val:e}`:e];if(r&&r.from){const t=r.from.ref;Object.prototype.hasOwnProperty.call(t[0],"val")&&(s[s.length-1]={id:s[s.length-1],where:[t.shift()]}),s.push(...t)}const a={from:{ref:s}};return r&&r.columns&&(a.columns=r.columns),a}(e,s)):(ge=r,r=n)):(ge=r,r=n))),r}function Te(){var r,e,s,a,u,o,c;return r=ge,(e=He())!==n&&(r,e=g(e)),(r=e)===n&&(r=ge,(e=Ge())!==n&&wn()!==n?(61===t.charCodeAt(ge)?(s="=",ge++):(s=n,0===me&&Le(b)),s!==n&&wn()!==n&&(a=He())!==n?(u=ge,(o=yn())!==n&&(c=Te())!==n?u=o=[o,c]:(ge=u,u=n),u===n&&(u=null),u!==n?(r,r=e=function(t,r,e){const n=[t,"=",r];return e&&n.push("and",...e[1]),n}(e,a,u)):(ge=r,r=n)):(ge=r,r=n)):(ge=r,r=n)),r}function Ze(){var r,e,s,a;return(r=ze())===n&&(r=ge,t.substr(ge,11)===y?(e=y,ge+=11):(e=n,0===me&&Le(m)),e!==n&&(s=wn())!==n?(a=function(){var r,e,s;r=ge,(e=An())===n&&(e=null);e!==n?(s=function(){var r,e,s;r=ge,e=[],oe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(ce));if(s!==n)for(;s!==n;)e.push(s),oe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(ce));else e=n;r=e!==n?t.substring(r,ge):e;return r}(),s===n&&(s=null),s!==n?(r,a=e,r=e=void(s||kn(a))):(ge=r,r=n)):(ge=r,r=n);var a;return r}(),a!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,7)===C?(e=C,ge+=7):(e=n,0===me&&Le(w)),e!==n?(s=ge,(a=wn())!==n&&(s,a=void(Bn.apply={})),(s=a)!==n&&(a=Ie())!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=function(){var r,e,s,a,u,o;r=ge,st.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=n,0===me&&Le(at));if(e!==n){for(s=[],ut.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(ot));a!==n;)s.push(a),ut.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(ot));if(s!==n)if(61===t.charCodeAt(ge)?(a="=",ge++):(a=n,0===me&&Le(b)),a!==n){for(u=[],ct.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(it));o!==n;)u.push(o),ct.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(it));u!==n?r=e=[e,s,a,u]:(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n}else ge=r,r=n;return r}()))),r}function ze(){var r,e,s,a,u,o,c,i,f,l;if(r=ge,t.substr(ge,8)===x?(e=x,ge+=8):(e=n,0===me&&Le($)),e!==n)if((s=wn())!==n)if((a=_e())!==n){for(u=[],o=ge,(c=yn())!==n&&(i=_e())!==n?o=c=[c,i]:(ge=o,o=n);o!==n;)u.push(o),o=ge,(c=yn())!==n&&(i=_e())!==n?o=c=[c,i]:(ge=o,o=n);u!==n?r=e=[e,s,a,u]:(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;else ge=r,r=n;if(r===n){if(r=ge,t.substr(ge,8)===E?(e=E,ge+=8):(e=n,0===me&&Le(L)),e!==n)if((s=wn())!==n)if((a=Fe())!==n){for(u=[],o=ge,(c=yn())!==n&&(i=Fe())!==n?o=c=[c,i]:(ge=o,o=n);o!==n;)u.push(o),o=ge,(c=yn())!==n&&(i=Fe())!==n?o=c=[c,i]:(ge=o,o=n);u!==n?r=e=[e,s,a,u]:(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;else ge=r,r=n;if(r===n&&(r=ge,t.substr(ge,8)===S?(e=S,ge+=8):(e=n,0===me&&Le(B)),e!==n&&(s=wn())!==n&&(a=ke())!==n?(r,l=a,r=e=void(Bn.where=l)):(ge=r,r=n),r===n)){if(r=ge,t.substr(ge,9)===O?(e=O,ge+=9):(e=n,0===me&&Le(T)),e!==n)if((s=wn())!==n)if((a=qe())!==n){for(u=[],o=ge,(c=yn())!==n&&(i=qe())!==n?o=c=[c,i]:(ge=o,o=n);o!==n;)u.push(o),o=ge,(c=yn())!==n&&(i=qe())!==n?o=c=[c,i]:(ge=o,o=n);u!==n?r=e=[e,s,a,u]:(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;else ge=r,r=n;r===n&&(r=ge,t.substr(ge,5)===Z?(e=Z,ge+=5):(e=n,0===me&&Le(z)),e!==n&&(s=wn())!==n?(a=function(){var t,r;t=ge,(r=An())!==n&&(t,e=r,r=void((Bn.limit||(Bn.limit={})).rows={val:e}));var e;return t=r}(),a!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,6)===_?(e=_,ge+=6):(e=n,0===me&&Le(F)),e!==n&&(s=wn())!==n?(a=function(){var t,r;t=ge,(r=An())!==n&&(t,r=void kn(r));return t=r}(),a!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,8)===R?(e=R,ge+=8):(e=n,0===me&&Le(j)),e!==n&&(s=wn())!==n&&(a=Re())!==n?(r,r=e=void((f=a)&&(Bn.search=f))):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,7)===k?(e=k,ge+=7):(e=n,0===me&&Le(N)),e!==n&&(s=wn())!==n?(a=function(){var t,r;t=ge,(r=hn())!==n&&(t,r=void(r&&(Bn.count=!0)));return t=r}(),a!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n)))))}}return r}function _e(){var r,e,s;return r=ge,42===t.charCodeAt(ge)?(e="*",ge++):(e=n,0===me&&Le(U)),e===n&&(e=Ge()),e!==n&&(r,s=e,Bn.columns=Array.isArray(Bn.columns)?Bn.columns:[],Bn.columns.find(zn(s))||Bn.columns.push(s),e=s),r=e}function Fe(){var r,e,s,a,u,o,c,i,f,l,h;if(r=ge,e=ge,42===t.charCodeAt(ge)?(s="*",ge++):(s=n,0===me&&Le(U)),s===n&&(s=Ge()),s!==n&&(e,s=function(t){const r="*"===t?{}:t;return r.expand="*",Array.isArray(Bn.expand)||(Bn.expand=[]),Bn.expand.find(zn(r))||Bn.expand.push(r),r}(s)),(e=s)!==n){if(s=ge,a=ge,(u=mn())!==n&&(a,Sn.push(Bn),Bn=Bn.expand[Bn.expand.length-1],u=void(Bn.expand="*")),(a=u)!==n){for(u=ge,o=[],c=ge,(i=wn())!==n?(59===t.charCodeAt(ge)?(f=";",ge++):(f=n,0===me&&Le(D)),f===n&&(f=null),f!==n&&(l=wn())!==n&&(h=ze())!==n?c=i=[i,f,l,h]:(ge=c,c=n)):(ge=c,c=n);c!==n;)o.push(c),c=ge,(i=wn())!==n?(59===t.charCodeAt(ge)?(f=";",ge++):(f=n,0===me&&Le(D)),f===n&&(f=null),f!==n&&(l=wn())!==n&&(h=ze())!==n?c=i=[i,f,l,h]:(ge=c,c=n)):(ge=c,c=n);o!==n&&(u,o=function(t){if(Bn.columns){"*"===Bn.expand&&(Bn.expand=[]);for(const t of Bn.columns)Bn.expand.find(zn(t))||Bn.expand.push(t);delete Bn.columns}else Array.isArray(Bn.expand)&&-1===Bn.expand.indexOf("*")&&Bn.expand.unshift("*")}()),(u=o)!==n?(o=ge,(c=Cn())!==n&&(o,c=void(Bn=Sn.pop())),(o=c)!==n?s=a=[a,u,o]:(ge=s,s=n)):(ge=s,s=n)}else ge=s,s=n;s===n&&(s=null),s!==n?(a=ge,(u=yn())!==n&&(o=Fe())!==n?a=u=[u,o]:(ge=a,a=n),a===n&&(a=null),a!==n?(u=ge,t.substr(ge,7)===P?(o=P,ge+=7):(o=n,0===me&&Le(q)),o!==n&&(u,o=function(){const t=new Error("EXPAND_COUNT_UNSUPPORTED");throw t.statusCode=501,t}()),(u=o)===n&&(u=null),u!==n?r=e=[e,s,a,u]:(ge=r,r=n)):(ge=r,r=n)):(ge=r,r=n)}else ge=r,r=n;return r}function Re(){var t,r;return t=ge,(r=je())!==n&&(t,r=r),(t=r)===n&&(t=wn()),t}function je(){var r,e,s,a,u,o,c;if(r=ge,e=ge,(s=Ve())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=ge,(a=mn())!==n&&(u=je())!==n&&(o=Cn())!==n?(s,s=a=M(e,u)):(ge=s,s=n),s===n&&(s=ge,a=function(){var r,e,s,a,u;r=ge,34===t.charCodeAt(ge)?(e=_r,ge++):(e=n,0===me&&Le(Fr));if(e!==n){for(s=ge,a=[],t.substr(ge,2)===Rr?(u=Rr,ge+=2):(u=n,0===me&&Le(jr)),u===n&&(kr.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(Nr)));u!==n;)a.push(u),t.substr(ge,2)===Rr?(u=Rr,ge+=2):(u=n,0===me&&Le(jr)),u===n&&(kr.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(Nr)));(s=a!==n?t.substring(s,ge):a)!==n?(34===t.charCodeAt(ge)?(a=_r,ge++):(a=n,0===me&&Le(Fr)),a!==n?(r,r=e=s.replace(/\\\\/g,"\\").replace(/\\"/g,'"')):(ge=r,r=n)):(ge=r,r=n)}else ge=r,r=n;return r}(),a!==n&&(s,a=X(e,a)),(s=a)===n&&(s=ge,(a=pn())!==n&&(s,a=X(e,a)),(s=a)===n&&(s=ge,a=function(){var r,e,s;r=ge,e=[],Ur.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Dr));if(s!==n)for(;s!==n;)e.push(s),Ur.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Dr));else e=n;r=e!==n?t.substring(r,ge):e;return r}(),a!==n&&(s,a=X(e,a)),s=a))),s!==n){for(a=[],u=ge,(o=We())===n&&(o=tn())===n&&(o=Ye()),o!==n&&(c=je())!==n?(u,u=o=G(e,o,c)):(ge=u,u=n);u!==n;)a.push(u),u=ge,(o=We())===n&&(o=tn())===n&&(o=Ye()),o!==n&&(c=je())!==n?(u,u=o=G(e,o,c)):(ge=u,u=n);a!==n?(r,r=e=e):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;return r}function ke(){var t,r;return t=ge,(r=Ne())!==n&&(t,r=r),t=r}function Ne(){var r,e,s,a,u,o,c,i;if(r=ge,e=ge,(s=Ve())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=ge,(a=mn())!==n&&(u=Ne())!==n&&(o=Cn())!==n?(s,s=a=M(e,u)):(ge=s,s=n),s===n&&(s=ge,(a=Me())!==n&&(s,i=a,a=void e.push(...i)),(s=a)===n&&(s=ge,(a=Ue())!==n&&(s,a=function(t,r){t.push(...r)}(e,a)),(s=a)===n&&(s=ge,a=function(){var r,e,s,a;me++,r=ge,t.substr(ge,8).toLowerCase()===kt?(e=t.substr(ge,8),ge+=8):(e=n,0===me&&Le(Nt));e===n&&(t.substr(ge,8).toLowerCase()===Ut?(e=t.substr(ge,8),ge+=8):(e=n,0===me&&Le(Dt)),e===n&&(t.substr(ge,10).toLowerCase()===Pt?(e=t.substr(ge,10),ge+=10):(e=n,0===me&&Le(qt))));e!==n&&mn()!==n&&(s=Xe())!==n&&yn()!==n&&(a=Xe())!==n&&Cn()!==n?(r,u=s,o=a,r=e={func:e.toLowerCase(),args:[u,o]}):(ge=r,r=n);var u,o;me--,r===n&&(e=n,0===me&&Le(jt));return r}(),a!==n&&(s,a=function(t,r){t.push(r)}(e,a)),(s=a)===n&&(s=ge,(a=hn())!==n&&(s,a=X(e,a)),s=a)))),s!==n){for(a=[],u=ge,(o=We())===n&&(o=tn()),o!==n&&(c=Ne())!==n?(u,u=o=G(e,o,c)):(ge=u,u=n);u!==n;)a.push(u),u=ge,(o=We())===n&&(o=tn()),o!==n&&(c=Ne())!==n?(u,u=o=G(e,o,c)):(ge=u,u=n);a!==n?(r,r=e=e):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;return r}function Ue(){var r,e,s,a,c,i,f;if(r=ge,e=ge,(s=dn())!==n&&(e,s=[s]),(e=s)!==n)if(47===t.charCodeAt(ge)?(s=u,ge++):(s=n,0===me&&Le(o)),s!==n){for(a=[],c=ge,(i=dn())!==n?(47===t.charCodeAt(ge)?(f=u,ge++):(f=n,0===me&&Le(o)),f!==n?(c,c=i=H(e,i)):(ge=c,c=n)):(ge=c,c=n);c!==n;)a.push(c),c=ge,(i=dn())!==n?(47===t.charCodeAt(ge)?(f=u,ge++):(f=n,0===me&&Le(o)),f!==n?(c,c=i=H(e,i)):(ge=c,c=n)):(ge=c,c=n);a!==n?(c=ge,i=function(){var r,e,s;r=ge,t.substr(ge,3)===V?(e=V,ge+=3):(e=n,0===me&&Le(W));e!==n&&mn()!==n?((s=Pe())===n&&(s=null),s!==n&&Cn()!==n?(r,r=e=s):(ge=r,r=n)):(ge=r,r=n);return r}(),i!==n&&(c,i=function(t,r){let e=t.pop();if(!r)return["exists",{ref:[...t,{id:e}]}];let n=[];for(let t=0,s=0;t<r.length;++t){let a=r[t];a.ref&&0===a.ref.length&&"="===r[t+1]?n[s++]={func:"contains",args:[{ref:e},r[t+=2]]}:n[s++]=a}return n.length<r.length?(e=t.pop(),["exists",{ref:[...t,{id:e,where:n}]}]):["exists",{ref:[...t,{id:e,where:r}]}]}(e,i)),(c=i)===n&&(c=ge,i=function(){var r,e,s;r=ge,t.substr(ge,3)===Y?(e=Y,ge+=3):(e=n,0===me&&Le(tt));e!==n&&mn()!==n&&(s=Pe())!==n&&Cn()!==n?(r,r=e=s):(ge=r,r=n);return r}(),i!==n&&(c,i=function(t,r){let e=t.pop();return["not","exists",{ref:[...t,{id:e,where:["not",{xpr:[...r]}]}]}]}(e,i)),c=i),c!==n?(r,r=e=c):(ge=r,r=n)):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;return r}function De(){var t,r,e,s,a,u,o,c,i;if(t=ge,r=ge,(e=Ve())===n&&(e=null),e!==n&&(r,e=(c=e)?[c]:[]),(r=e)!==n)if(e=ge,(s=mn())!==n&&(a=De())!==n&&(u=Cn())!==n?(e,i=a,e=s=void r.push("(",...i,")")):(ge=e,e=n),e===n&&(e=ge,(s=Me())!==n&&(e,s=function(t,r){t.push(...r)}(r,s)),(e=s)===n&&(e=ge,(s=Qe())!==n&&(e,s=function(t,r){t.push(r)}(r,s)),(e=s)===n&&(e=ge,(s=Ue())!==n&&(e,s=function(t,r){t.push(...r)}(r,s)),e=s))),e!==n){for(s=[],a=ge,(u=We())===n&&(u=tn()),u!==n&&(o=De())!==n?(a,a=u=J(r,u,o)):(ge=a,a=n);a!==n;)s.push(a),a=ge,(u=We())===n&&(u=tn()),u!==n&&(o=De())!==n?(a,a=u=J(r,u,o)):(ge=a,a=n);s!==n?(t,t=r=r):(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;return t}function Pe(){var r,e,s,a;return r=ge,(e=dn())!==n?(58===t.charCodeAt(ge)?(s=K,ge++):(s=n,0===me&&Le(Q)),s!==n&&(a=De())!==n?(r,r=e=Nn(e,a)):(ge=r,r=n)):(ge=r,r=n),r}function qe(){var r,e,s,a,u;return r=ge,(e=Qe())===n&&(e=Ge()),e!==n?(s=ge,xn()!==n?(a=ge,"asc"===t.substr(ge,3)?(u="asc",ge+=3):(u=n,0===me&&Le(rt)),u===n&&(t.substr(ge,4)===et?(u=et,ge+=4):(u=n,0===me&&Le(nt))),(a=u!==n?t.substring(a,ge):u)!==n?(s,s=a):(ge=s,s=n)):(ge=s,s=n),s===n&&(s=null),s!==n?(r,r=e=function(t,r){const e=$n(t,r&&{sort:r});Bn.orderBy=Bn.orderBy?[...Bn.orderBy,e]:[e]}(e,s)):(ge=r,r=n)):(ge=r,r=n),r}function Ie(){var r,e,s,a,c,i;if(r=ge,(e=rn())!==n){for(s=[],a=ge,47===t.charCodeAt(ge)?(c=u,ge++):(c=n,0===me&&Le(o)),c!==n&&(i=rn())!==n?a=c=[c,i]:(ge=a,a=n);a!==n;)s.push(a),a=ge,47===t.charCodeAt(ge)?(c=u,ge++):(c=n,0===me&&Le(o)),c!==n&&(i=rn())!==n?a=c=[c,i]:(ge=a,a=n);s!==n?r=e=[e,s]:(ge=r,r=n)}else ge=r,r=n;return r}function Me(){var r,e,s,a,u,o;return me++,r=ge,(e=Xe())!==n&&xn()!==n?(s=ge,"eq"===t.substr(ge,2)?(a="eq",ge+=2):(a=n,0===me&&Le(lt)),a===n&&("ne"===t.substr(ge,2)?(a="ne",ge+=2):(a=n,0===me&&Le(ht)),a===n&&("lt"===t.substr(ge,2)?(a="lt",ge+=2):(a=n,0===me&&Le(pt)),a===n&&("gt"===t.substr(ge,2)?(a="gt",ge+=2):(a=n,0===me&&Le(At)),a===n&&("le"===t.substr(ge,2)?(a="le",ge+=2):(a=n,0===me&&Le(dt)),a===n&&("ge"===t.substr(ge,2)?(a="ge",ge+=2):(a=n,0===me&&Le(gt))))))),(s=a!==n?t.substring(s,ge):a)!==n&&(a=xn())!==n&&(u=Xe())!==n?(r,r=e=[e,{eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="}[o=s]||o,u]):(ge=r,r=n)):(ge=r,r=n),me--,r===n&&(e=n,0===me&&Le(ft)),r}function Xe(){var r;return me++,r=function(){var r,e,s,a,c,i,h;me++,r=ge,e=[],s=ge,(a=dn())!==n?(c=ge,(i=mn())!==n&&(h=Te())!==n&&Cn()!==n?(c,c=i=yt(0,h)):(ge=c,c=n),c===n&&(c=null),c!==n?(47===t.charCodeAt(ge)?(i=u,ge++):(i=n,0===me&&Le(o)),i!==n?(s,s=a=mt(a,c)):(ge=s,s=n)):(ge=s,s=n)):(ge=s,s=n);if(s!==n)for(;s!==n;)e.push(s),s=ge,(a=dn())!==n?(c=ge,(i=mn())!==n&&(h=Te())!==n&&Cn()!==n?(c,c=i=yt(0,h)):(ge=c,c=n),c===n&&(c=null),c!==n?(47===t.charCodeAt(ge)?(i=u,ge++):(i=n,0===me&&Le(o)),i!==n?(s,s=a=mt(a,c)):(ge=s,s=n)):(ge=s,s=n)):(ge=s,s=n);else e=n;e!==n?(t.substr(ge,6)===f?(s=f,ge+=6):(s=n,0===me&&Le(l)),s!==n?(r,r=e={func:"count",as:"$count",args:[{ref:e}]}):(ge=r,r=n)):(ge=r,r=n);me--,r===n&&(e=n,0===me&&Le(bt));return r}(),r===n&&(r=Qe())===n&&(r=Ge())===n&&(r=He())===n&&(r=Je())===n&&(r=Ke())===n&&(r=function(){var r,e,s,a,u;r=ge,91===t.charCodeAt(ge)?(e=Bt,ge++):(e=n,0===me&&Le(Ot));if(e!==n){for(s=ge,a=[],zt.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(_t));u!==n;)a.push(u),zt.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(_t));(s=a!==n?t.substring(s,ge):a)!==n?(93===t.charCodeAt(ge)?(a=Tt,ge++):(a=n,0===me&&Le(Zt)),a!==n?(r,r=e={list:s.replace(/"/g,"").split(",").map((t=>({val:t})))}):(ge=r,r=n)):(ge=r,r=n)}else ge=r,r=n;return r}()),me--,r===n&&(n,0===me&&Le(vt)),r}function Ge(){var r,e,s,a,c,i,f,l;if(me++,r=ge,(e=dn())!==n){for(s=[],a=ge,47===t.charCodeAt(ge)?(c=u,ge++):(c=n,0===me&&Le(o)),c!==n&&(i=dn())!==n?(a,a=c=wt(0,i)):(ge=a,a=n);a!==n;)s.push(a),a=ge,47===t.charCodeAt(ge)?(c=u,ge++):(c=n,0===me&&Le(o)),c!==n&&(i=dn())!==n?(a,a=c=wt(0,i)):(ge=a,a=n);s!==n?(r,l=s,r=e="null"===(f=e)?{val:null}:{ref:[f,...l]}):(ge=r,r=n)}else ge=r,r=n;return me--,r===n&&(e=n,0===me&&Le(Ct)),r}function He(){var r,e,s;return r=ge,(e=hn())===n&&(e=function(){var r,e,s,a,u,o,c,i,f,l,h,p,A,d,g,v,b,y,m,C,w,x,$,E;r=ge,e=ge,s=[],Pr.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(qr));if(a!==n)for(;a!==n;)s.push(a),Pr.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(qr));else s=n;if(s!==n)if(45===t.charCodeAt(ge)?(a=Ir,ge++):(a=n,0===me&&Le(Mr)),a!==n)if(Pr.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(qr)),u!==n)if(Pr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(qr)),o!==n)if(45===t.charCodeAt(ge)?(c=Ir,ge++):(c=n,0===me&&Le(Mr)),c!==n)if(Pr.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=n,0===me&&Le(qr)),i!==n)if(Pr.test(t.charAt(ge))?(f=t.charAt(ge),ge++):(f=n,0===me&&Le(qr)),f!==n){if(l=ge,84===t.charCodeAt(ge)?(h="T",ge++):(h=n,0===me&&Le(Xr)),h!==n)if(Pr.test(t.charAt(ge))?(p=t.charAt(ge),ge++):(p=n,0===me&&Le(qr)),p!==n)if(Pr.test(t.charAt(ge))?(A=t.charAt(ge),ge++):(A=n,0===me&&Le(qr)),A!==n)if(58===t.charCodeAt(ge)?(d=K,ge++):(d=n,0===me&&Le(Q)),d!==n)if(Pr.test(t.charAt(ge))?(g=t.charAt(ge),ge++):(g=n,0===me&&Le(qr)),g!==n)if(Pr.test(t.charAt(ge))?(v=t.charAt(ge),ge++):(v=n,0===me&&Le(qr)),v!==n){if(b=ge,58===t.charCodeAt(ge)?(y=K,ge++):(y=n,0===me&&Le(Q)),y!==n)if(Pr.test(t.charAt(ge))?(m=t.charAt(ge),ge++):(m=n,0===me&&Le(qr)),m!==n)if(Pr.test(t.charAt(ge))?(C=t.charAt(ge),ge++):(C=n,0===me&&Le(qr)),C!==n){if(w=ge,46===t.charCodeAt(ge)?(x=".",ge++):(x=n,0===me&&Le(Hr)),x!==n){if($=[],Pr.test(t.charAt(ge))?(E=t.charAt(ge),ge++):(E=n,0===me&&Le(qr)),E!==n)for(;E!==n;)$.push(E),Pr.test(t.charAt(ge))?(E=t.charAt(ge),ge++):(E=n,0===me&&Le(qr));else $=n;$!==n?w=x=[x,$]:(ge=w,w=n)}else ge=w,w=n;w===n&&(w=null),w!==n?b=y=[y,m,C,w]:(ge=b,b=n)}else ge=b,b=n;else ge=b,b=n;else ge=b,b=n;b===n&&(b=null),b!==n?(90===t.charCodeAt(ge)?(y="Z",ge++):(y=n,0===me&&Le(Jr)),y===n&&(y=ge,43===t.charCodeAt(ge)?(m="+",ge++):(m=n,0===me&&Le(Kr)),m===n&&(45===t.charCodeAt(ge)?(m=Ir,ge++):(m=n,0===me&&Le(Mr))),m!==n?(Pr.test(t.charAt(ge))?(C=t.charAt(ge),ge++):(C=n,0===me&&Le(qr)),C!==n?(Pr.test(t.charAt(ge))?(w=t.charAt(ge),ge++):(w=n,0===me&&Le(qr)),w!==n?(58===t.charCodeAt(ge)?(x=K,ge++):(x=n,0===me&&Le(Q)),x!==n?(Pr.test(t.charAt(ge))?($=t.charAt(ge),ge++):($=n,0===me&&Le(qr)),$!==n?(Pr.test(t.charAt(ge))?(E=t.charAt(ge),ge++):(E=n,0===me&&Le(qr)),E!==n?y=m=[m,C,w,x,$,E]:(ge=y,y=n)):(ge=y,y=n)):(ge=y,y=n)):(ge=y,y=n)):(ge=y,y=n)):(ge=y,y=n)),y===n&&(y=null),y!==n?l=h=[h,p,A,d,g,v,b,y]:(ge=l,l=n)):(ge=l,l=n)}else ge=l,l=n;else ge=l,l=n;else ge=l,l=n;else ge=l,l=n;else ge=l,l=n;else ge=l,l=n;l===n&&(l=null),l!==n?e=s=[s,a,u,o,c,i,f,l]:(ge=e,e=n)}else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;r=e!==n?t.substring(r,ge):e;return r}()),e!==n&&(r,e=xt(e)),(r=e)===n&&(r=ge,(e=gn())!==n&&(r,e=xt(e)),(r=e)===n&&(r=ge,e=function(){var r,e,s,a,u,o,c,i,f,l;r=ge,e=ge,s=ge,Qr.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(Vr));a===n&&(a=null);if(a!==n){if(u=[],Pr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(qr)),o!==n)for(;o!==n;)u.push(o),Pr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(qr));else u=n;if(u!==n){if(o=ge,46===t.charCodeAt(ge)?(c=Gr,ge++):(c=n,0===me&&Le(Hr)),c!==n){if(i=[],Pr.test(t.charAt(ge))?(f=t.charAt(ge),ge++):(f=n,0===me&&Le(qr)),f!==n)for(;f!==n;)i.push(f),Pr.test(t.charAt(ge))?(f=t.charAt(ge),ge++):(f=n,0===me&&Le(qr));else i=n;i!==n?o=c=[c,i]:(ge=o,o=n)}else ge=o,o=n;if(o===n&&(o=null),o!==n){if(c=ge,101===t.charCodeAt(ge)?(i="e",ge++):(i=n,0===me&&Le(Wr)),i!==n){if(f=[],Pr.test(t.charAt(ge))?(l=t.charAt(ge),ge++):(l=n,0===me&&Le(qr)),l!==n)for(;l!==n;)f.push(l),Pr.test(t.charAt(ge))?(l=t.charAt(ge),ge++):(l=n,0===me&&Le(qr));else f=n;f!==n?c=i=[i,f]:(ge=c,c=n)}else ge=c,c=n;c===n&&(c=null),c!==n?s=a=[a,u,o,c]:(ge=s,s=n)}else ge=s,s=n}else ge=s,s=n}else ge=s,s=n;e=s!==n?t.substring(e,ge):s;e!==n&&(r,e=Zn(e));return r=e}(),e!==n&&(r,e="number"==typeof(s=e)?{val:s}:{val:s,literal:"number"}),(r=e)===n&&(r=ge,(e=pn())!==n&&(r,e=xt(e)),r=e))),r}function Je(){var r,e,s,a,u,o;if(r=ge,e=ge,s=ge,123===t.charCodeAt(ge)?(a="{",ge++):(a=n,0===me&&Le($t)),a!==n){for(u=[],(o=Je())===n&&(Et.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(Lt)));o!==n;)u.push(o),(o=Je())===n&&(Et.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(Lt)));u!==n?(125===t.charCodeAt(ge)?(o="}",ge++):(o=n,0===me&&Le(St)),o!==n?s=a=[a,u,o]:(ge=s,s=n)):(ge=s,s=n)}else ge=s,s=n;return(e=s!==n?t.substring(e,ge):s)!==n&&(r,e=xt(e)),r=e}function Ke(){var r,e,s,a,u,o,c,i;if(r=ge,e=ge,s=ge,91===t.charCodeAt(ge)?(a=Bt,ge++):(a=n,0===me&&Le(Ot)),a!==n&&(u=wn())!==n?(93===t.charCodeAt(ge)?(o=Tt,ge++):(o=n,0===me&&Le(Zt)),o!==n?s=a=[a,u,o]:(ge=s,s=n)):(ge=s,s=n),s===n)if(s=ge,91===t.charCodeAt(ge)?(a=Bt,ge++):(a=n,0===me&&Le(Ot)),a!==n)if((u=wn())!==n)if(123===t.charCodeAt(ge)?(o="{",ge++):(o=n,0===me&&Le($t)),o!==n){for(c=[],(i=Ke())===n&&(zt.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=n,0===me&&Le(_t)));i!==n;)c.push(i),(i=Ke())===n&&(zt.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=n,0===me&&Le(_t)));c!==n?(93===t.charCodeAt(ge)?(i=Tt,ge++):(i=n,0===me&&Le(Zt)),i!==n?s=a=[a,u,o,c,i]:(ge=s,s=n)):(ge=s,s=n)}else ge=s,s=n;else ge=s,s=n;else ge=s,s=n;return(e=s!==n?t.substring(e,ge):s)!==n&&(r,e=xt(e)),r=e}function Qe(){var r,e,s,a,u,o,c;if(me++,r=ge,e=ge,s=[],st.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(at)),a!==n)for(;a!==n;)s.push(a),st.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(at));else s=n;if((e=s!==n?t.substring(e,ge):s)!==n)if((s=mn())!==n)if((a=Xe())!==n){for(u=[],o=ge,yn()!==n&&(c=Xe())!==n?(o,o=Rt(0,0,c)):(ge=o,o=n);o!==n;)u.push(o),o=ge,yn()!==n&&(c=Xe())!==n?(o,o=Rt(0,0,c)):(ge=o,o=n);u!==n&&(o=Cn())!==n?(r,r=e=function(t,r,e){if(En&&!(t.toLowerCase()in En.functions))throw Object.assign(new Error(`"${t}" is an unknown function in OData URL spec (strict mode)`),{statusCode:400});return{func:t.toLowerCase(),args:[r,...e]}}(e,a,u)):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;else ge=r,r=n;return me--,r===n&&(e=n,0===me&&Le(Ft)),r}function Ve(){var r,e;return r=ge,wn()!==n?("not"===t.substr(ge,3).toLowerCase()?(e=t.substr(ge,3),ge+=3):(e=n,0===me&&Le(It)),e!==n&&xn()!==n?(r,r="not"):(ge=r,r=n)):(ge=r,r=n),r}function We(){var r,e;return r=ge,xn()!==n?("and"===t.substr(ge,3).toLowerCase()?(e=t.substr(ge,3),ge+=3):(e=n,0===me&&Le(Mt)),e!==n&&xn()!==n?(r,r="and"):(ge=r,r=n)):(ge=r,r=n),r}function Ye(){var t,r;return t=ge,(r=xn())!==n&&(t,r="and"),t=r}function tn(){var r,e;return r=ge,xn()!==n?("or"===t.substr(ge,2).toLowerCase()?(e=t.substr(ge,2),ge+=2):(e=n,0===me&&Le(Xt)),e!==n&&xn()!==n?(r,r="or"):(ge=r,r=n)):(ge=r,r=n),r}function rn(){var r,e,s;return r=ge,t.substr(ge,9)===Gt?(e=Gt,ge+=9):(e=n,0===me&&Le(Ht)),e!==n?(s=function(){var t,r,e,s,a;if(t=ge,mn()!==n)if(wn()!==n)if((r=en())!==n){for(e=[],s=ge,wn()!==n&&yn()!==n&&wn()!==n&&(a=en())!==n?(s,s=v(0,a)):(ge=s,s=n);s!==n;)e.push(s),s=ge,wn()!==n&&yn()!==n&&wn()!==n&&(a=en())!==n?(s,s=v(0,a)):(ge=s,s=n);e!==n&&(s=wn())!==n&&Cn()!==n?(t,t=function(t,r){let e=Bn.apply;e.aggregate&&(Bn.apply={apply:e},e.groupBy&&(Bn.apply.groupBy=e.groupBy),e=Bn.apply),e.aggregate=[t,...r]}(r,e)):(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;return t}(),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,7)===Jt?(e=Jt,ge+=7):(e=n,0===me&&Le(Kt)),e!==n?(s=function(){var t,r,e,s,a,u,o,c,i;if(t=ge,(r=mn())!==n)if((e=mn())!==n)if((s=on())!==n){for(a=[],u=ge,(o=yn())!==n&&(c=on())!==n?(u,u=o=v(0,c)):(ge=u,u=n);u!==n;)a.push(u),u=ge,(o=yn())!==n&&(c=on())!==n?(u,u=o=v(0,c)):(ge=u,u=n);a!==n?(u=ge,(o=Cn())!==n&&(u,o=function(t,r){let e=Bn.apply;(e.groupBy||e.where||e.search)&&(Bn.apply={apply:e},e=Bn.apply),e.groupBy=[t,...r]}(s,a)),(u=o)!==n?(o=ge,(c=yn())!==n&&(i=Ie())!==n?o=c=[c,i]:(ge=o,o=n),o===n&&(o=null),o!==n&&(c=Cn())!==n?t=r=[r,e,s,a,u,o,c]:(ge=t,t=n)):(ge=t,t=n)):(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;return t}(),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,6)===Qt?(e=Qt,ge+=6):(e=n,0===me&&Le(Vt)),e!==n&&(s=cn())!==n?r=e=[e,s]:(ge=r,r=n),r===n&&(r=ge,t.substr(ge,6)===Wt?(e=Wt,ge+=6):(e=n,0===me&&Le(Yt)),e!==n&&(s=fn())!==n?r=e=[e,s]:(ge=r,r=n),r===n&&(r=ge,t.substr(ge,6)===tr?(e=tr,ge+=6):(e=n,0===me&&Le(rr)),e!==n?(s=function(){var t,r,e,s,a,u;t=ge,(r=mn())!==n&&(e=wn())!==n?(s=ge,(a=Re())!==n&&(s,a=function(t){if(!t)return;let r=Bn.apply;r.search&&(Bn.apply={apply:r},r=Bn.apply),r.search=t}(a)),(s=a)!==n&&(a=wn())!==n&&(u=Cn())!==n?t=r=[r,e,s,a,u]:(ge=t,t=n)):(ge=t,t=n);return t}(),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,6)===er?(e=er,ge+=6):(e=n,0===me&&Le(nr)),e!==n?(s=function(){var t,r,e,s,a,u,o,c,i,f;if(t=ge,(r=mn())!==n)if((e=wn())!==n)if((s=Ie())!==n){if(a=[],u=ge,(o=wn())!==n&&(c=yn())!==n&&(i=wn())!==n&&(f=Ie())!==n?u=o=[o,c,i,f]:(ge=u,u=n),u!==n)for(;u!==n;)a.push(u),u=ge,(o=wn())!==n&&(c=yn())!==n&&(i=wn())!==n&&(f=Ie())!==n?u=o=[o,c,i,f]:(ge=u,u=n);else a=n;a!==n&&(u=wn())!==n&&(o=Cn())!==n?t=r=[r,e,s,a,u,o]:(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;return t}(),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,t.substr(ge,7)===sr?(e=sr,ge+=7):(e=n,0===me&&Le(ar)),e!==n?(s=function(){var t,r,e,s,a,u,o,c,i,f;if(t=ge,(r=mn())!==n)if((e=wn())!==n)if((s=ln())!==n){for(a=[],u=ge,(o=wn())!==n&&(c=yn())!==n&&(i=wn())!==n&&(f=ln())!==n?u=o=[o,c,i,f]:(ge=u,u=n);u!==n;)a.push(u),u=ge,(o=wn())!==n&&(c=yn())!==n&&(i=wn())!==n&&(f=ln())!==n?u=o=[o,c,i,f]:(ge=u,u=n);a!==n&&(u=wn())!==n&&(o=Cn())!==n?t=r=[r,e,s,a,u,o]:(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;return t}(),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r===n&&(r=ge,"topcount"===t.substr(ge,8).toLowerCase()?(e=t.substr(ge,8),ge+=8):(e=n,0===me&&Le(ur)),e===n&&("bottomcount"===t.substr(ge,11).toLowerCase()?(e=t.substr(ge,11),ge+=11):(e=n,0===me&&Le(or)),e===n&&("topsum"===t.substr(ge,6).toLowerCase()?(e=t.substr(ge,6),ge+=6):(e=n,0===me&&Le(cr)),e===n&&("bottomsum"===t.substr(ge,9).toLowerCase()?(e=t.substr(ge,9),ge+=9):(e=n,0===me&&Le(ir)),e===n&&("toppercent"===t.substr(ge,10).toLowerCase()?(e=t.substr(ge,10),ge+=10):(e=n,0===me&&Le(fr)),e===n&&("bottompercent"===t.substr(ge,13).toLowerCase()?(e=t.substr(ge,13),ge+=13):(e=n,0===me&&Le(lr))))))),e!==n?(s=function(){var t,r,e;t=ge,mn()!==n&&wn()!==n&&(r=Xe())!==n&&wn()!==n&&yn()!==n&&wn()!==n&&(e=Xe())!==n&&wn()!==n&&Cn()!==n?(t,t=[r,e]):(ge=t,t=n);return t}(),s!==n?(r,r=e=function(t,r){if(!{topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1}[t=t.toLowerCase()])throw Object.assign(new Error(`Transformation "${t}" in $apply is not supported yet.`),{statusCode:501});(Bn.apply.aggregate||(Bn.apply.aggregate=[])).push({func:t,args:r})}(e,s)):(ge=r,r=n)):(ge=r,r=n),r===n&&(r=function(){var r;t.substr(ge,8)===Cr?(r=Cr,ge+=8):(r=n,0===me&&Le(wr));return r}())))))))),r}function en(){var r,e,s,a;return r=ge,e=ge,t.substr(ge,6)===f?(s=f,ge+=6):(s=n,0===me&&Le(l)),s!==n&&(a=un())!==n?(e,e=s={func:"count",args:[{val:1}],as:a}):(ge=e,e=n),e===n&&(e=nn()),e!==n&&(r,e=e),r=e}function nn(){var t,r,e,s,a;return t=ge,(r=Ge())!==n&&(e=sn())!==n?((s=an())===n&&(s=null),s!==n&&(a=un())!==n?(t,t=r={func:e,args:[r],as:a}):(ge=t,t=n)):(ge=t,t=n),t===n&&(t=ge,(r=dn())!==n&&(e=mn())!==n&&(s=nn())!==n&&(a=Cn())!==n?t=r=[r,e,s,a]:(ge=t,t=n)),t}function sn(){var r,e,s,a,u;if(r=ge,xn()!==n)if(t.substr(ge,4)===hr?(e=hr,ge+=4):(e=n,0===me&&Le(pr)),e!==n)if(xn()!==n){if(s=ge,a=[],st.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(at)),u!==n)for(;u!==n;)a.push(u),st.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(at));else a=n;(s=a!==n?t.substring(s,ge):a)!==n?(r,r=s.toLowerCase()):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;else ge=r,r=n;return r}function an(){var r,e,s,a,u,o,c;return r=ge,(e=xn())!==n?(t.substr(ge,4)===Ar?(s=Ar,ge+=4):(s=n,0===me&&Le(dr)),s!==n&&(a=xn())!==n&&(u=Ge())!==n&&(o=sn())!==n?((c=an())===n&&(c=null),c!==n?r=e=[e,s,a,u,o,c]:(ge=r,r=n)):(ge=r,r=n)):(ge=r,r=n),r}function un(){var r,e,s;return r=ge,xn()!==n?("as"===t.substr(ge,2)?(e="as",ge+=2):(e=n,0===me&&Le(gr)),e!==n&&xn()!==n&&(s=dn())!==n?(r,r=s):(ge=r,r=n)):(ge=r,r=n),r}function on(){var r,e;return r=ge,e=function(){var r,e,s,a,u,o,c,i,f,l,h;r=ge,e=ge,t.substr(ge,6)===vr?(s=vr,ge+=6):(s=n,0===me&&Le(br));if(s!==n)if((a=mn())!==n)if((u=wn())!==n)if(t.substr(ge,4)===yr?(o=yr,ge+=4):(o=n,0===me&&Le(mr)),o===n&&(o=Ge()),o!==n){if(c=[],i=ge,(f=wn())!==n&&(l=yn())!==n&&(h=Ge())!==n?i=f=[f,l,h]:(ge=i,i=n),i!==n)for(;i!==n;)c.push(i),i=ge,(f=wn())!==n&&(l=yn())!==n&&(h=Ge())!==n?i=f=[f,l,h]:(ge=i,i=n);else c=n;c!==n&&(i=wn())!==n&&(f=Cn())!==n?e=s=[s,a,u,o,c,i,f]:(ge=e,e=n)}else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;else ge=e,e=n;e!==n&&(r,e=function(t){const r=new Error("Rollup in groupby is not supported yet.");throw r.statusCode=501,r}());return r=e}(),e===n&&(e=Ge()),e!==n&&(r,e=e),r=e}function cn(){var t,r,e,s,a,u;return t=ge,(r=mn())!==n&&(e=wn())!==n?(s=ge,(a=ke())!==n&&(s,a=function(t){let r=Bn.apply;r.where&&(Bn.apply={apply:r},r=Bn.apply),r.where=t}(a)),(s=a)!==n&&(a=wn())!==n&&(u=Cn())!==n?t=r=[r,e,s,a,u]:(ge=t,t=n)):(ge=t,t=n),t}function fn(){var t,r,e,s,a,u,o,c,i,f,l,h,p,A;if(t=ge,(r=mn())!==n)if((e=wn())!==n)if((s=Ge())!==n)if((a=wn())!==n)if((u=yn())!==n)if((o=wn())!==n){if(c=ge,(i=fn())!==n){for(f=[],l=ge,(h=wn())!==n&&(p=yn())!==n&&(A=fn())!==n?l=h=[h,p,A]:(ge=l,l=n);l!==n;)f.push(l),l=ge,(h=wn())!==n&&(p=yn())!==n&&(A=fn())!==n?l=h=[h,p,A]:(ge=l,l=n);f!==n?c=i=[i,f]:(ge=c,c=n)}else ge=c,c=n;if(c===n)if(c=ge,(i=cn())!==n){for(f=[],l=ge,(h=wn())!==n&&(p=yn())!==n&&(A=fn())!==n?l=h=[h,p,A]:(ge=l,l=n);l!==n;)f.push(l),l=ge,(h=wn())!==n&&(p=yn())!==n&&(A=fn())!==n?l=h=[h,p,A]:(ge=l,l=n);f!==n?c=i=[i,f]:(ge=c,c=n)}else ge=c,c=n;c!==n&&(i=wn())!==n&&(f=Cn())!==n?t=r=[r,e,s,a,u,o,c,i,f]:(ge=t,t=n)}else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;else ge=t,t=n;return t}function ln(){var t,r,e;return t=ge,(r=Ne())!==n&&(e=un())!==n?t=r=[r,e]:(ge=t,t=n),t}function hn(){var r,e;return r=ge,t.substr(ge,4)===xr?(e=xr,ge+=4):(e=n,0===me&&Le($r)),e===n&&(t.substr(ge,5)===Er?(e=Er,ge+=5):(e=n,0===me&&Le(Lr))),e!==n&&(r,e="true"===e),r=e}function pn(){var r,e,s,a,u;if(me++,r=ge,39===t.charCodeAt(ge)?(e="'",ge++):(e=n,0===me&&Le(Br)),e!==n){for(s=ge,a=[],t.substr(ge,2)===Or?(u=Or,ge+=2):(u=n,0===me&&Le(Tr)),u===n&&(Zr.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(zr)));u!==n;)a.push(u),t.substr(ge,2)===Or?(u=Or,ge+=2):(u=n,0===me&&Le(Tr)),u===n&&(Zr.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(zr)));(s=a!==n?t.substring(s,ge):a)!==n?(39===t.charCodeAt(ge)?(a="'",ge++):(a=n,0===me&&Le(Br)),a!==n?(r,r=e=s.replace(/''/g,"'")):(ge=r,r=n)):(ge=r,r=n)}else ge=r,r=n;return me--,r===n&&(e=n,0===me&&Le(Sr)),r}function An(){var r,e,s,a,u,o;if(r=ge,e=ge,s=ge,Qr.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(Vr)),a===n&&(a=null),a!==n){if(u=[],Pr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(qr)),o!==n)for(;o!==n;)u.push(o),Pr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(qr));else u=n;u!==n?s=a=[a,u]:(ge=s,s=n)}else ge=s,s=n;return(e=s!==n?t.substring(e,ge):s)!==n&&(r,e=parseInt(e)),r=e}function dn(){var r,e,s,a,u,o,c,i;if(r=ge,e=ge,me++,s=hn(),me--,s===n?e=void 0:(ge=e,e=n),e!==n)if(s=ge,me++,a=gn(),me--,a===n?s=void 0:(ge=s,s=n),s!==n){if(a=ge,u=ge,Yr.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(te)),o!==n){for(c=[],re.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=n,0===me&&Le(ee));i!==n;)c.push(i),re.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=n,0===me&&Le(ee));c!==n?u=o=[o,c]:(ge=u,u=n)}else ge=u,u=n;(a=u!==n?t.substring(a,ge):u)!==n?(r,r=e=a):(ge=r,r=n)}else ge=r,r=n;else ge=r,r=n;return r}function gn(){var r,e,s,a,u,o,c,i,f,l,h,p,A,d;return r=ge,e=ge,(s=vn())!==n&&(a=vn())!==n?(45===t.charCodeAt(ge)?(u=Ir,ge++):(u=n,0===me&&Le(Mr)),u===n&&(u=null),u!==n&&(o=vn())!==n?(45===t.charCodeAt(ge)?(c=Ir,ge++):(c=n,0===me&&Le(Mr)),c===n&&(c=null),c!==n&&(i=vn())!==n?(45===t.charCodeAt(ge)?(f=Ir,ge++):(f=n,0===me&&Le(Mr)),f===n&&(f=null),f!==n&&(l=vn())!==n?(45===t.charCodeAt(ge)?(h=Ir,ge++):(h=n,0===me&&Le(Mr)),h===n&&(h=null),h!==n&&(p=vn())!==n&&(A=vn())!==n&&(d=vn())!==n?e=s=[s,a,u,o,c,i,f,l,h,p,A,d]:(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n),r=e!==n?t.substring(r,ge):e}function vn(){var r,e,s,a,u,o;return r=ge,e=ge,ne.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(se)),s!==n?(ne.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(se)),a!==n?(ne.test(t.charAt(ge))?(u=t.charAt(ge),ge++):(u=n,0===me&&Le(se)),u!==n?(ne.test(t.charAt(ge))?(o=t.charAt(ge),ge++):(o=n,0===me&&Le(se)),o!==n?e=s=[s,a,u,o]:(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n)):(ge=e,e=n),r=e!==n?t.substring(r,ge):e}function bn(){var r,e,s,a;if(r=ge,e=ge,s=[],ae.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(ue)),a!==n)for(;a!==n;)s.push(a),ae.test(t.charAt(ge))?(a=t.charAt(ge),ge++):(a=n,0===me&&Le(ue));else s=n;return(e=s!==n?t.substring(e,ge):s)!==n&&(r,e=xt(e)),r=e}function yn(){var r,e,s,a;return r=ge,(e=wn())!==n?(44===t.charCodeAt(ge)?(s=",",ge++):(s=n,0===me&&Le(ie)),s!==n&&(a=wn())!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r}function mn(){var r,e,s,a;return r=ge,(e=wn())!==n?(40===t.charCodeAt(ge)?(s="(",ge++):(s=n,0===me&&Le(fe)),s!==n&&(a=wn())!==n?r=e=[e,s,a]:(ge=r,r=n)):(ge=r,r=n),r}function Cn(){var r,e,s;return r=ge,(e=wn())!==n?(41===t.charCodeAt(ge)?(s=")",ge++):(s=n,0===me&&Le(le)),s!==n?r=e=[e,s]:(ge=r,r=n)):(ge=r,r=n),r}function wn(){var r,e,s;for(me++,r=ge,e=[],pe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Ae));s!==n;)e.push(s),pe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Ae));return r=e!==n?t.substring(r,ge):e,me--,r===n&&(e=n,0===me&&Le(he)),r}function xn(){var r,e,s;if(me++,r=ge,e=[],pe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Ae)),s!==n)for(;s!==n;)e.push(s),pe.test(t.charAt(ge))?(s=t.charAt(ge),ge++):(s=n,0===me&&Le(Ae));else e=n;return r=e!==n?t.substring(r,ge):e,me--,r===n&&(e=n,0===me&&Le(de)),r}const $n=Object.assign,{strict:En,minimal:Ln}=r,Sn=[];let Bn,On;const Tn=["$value"],Zn=r.safeNumber||function(t){const r=Number(t);return Number.isSafeInteger(r)?r:t},zn=t=>r=>t===r||t.as&&r.as&&t.as===r.as||r.as&&t.ref&&r.as===t.ref[t.ref.length-1]||t.ref&&r.ref&&t.ref.join("")===r.ref.join(""),_n=t=>r=>{if(Array.isArray(r))return r.map(_n(t));const e=r.ref&&t.find((t=>t.as&&t.func&&t.as===r.ref[0]));return e||r},Fn=t=>r=>Array.isArray(r)?r.map(Fn(t)):r.ref&&!t.find(zn(r))?{val:null}:r,Rn=(t,r)=>{if(1===r.ref.length)t.find(zn(r))||t.push(r);else{const e=r.ref.shift(),n=t.find((t=>t.ref&&t.ref[0]===e));if(n)Rn(n.expand,r);else{const n={ref:[e],expand:[]};Rn(n.expand,r),t.push(n)}}},jn=(t,r,e=!1)=>{if(!r)return;if(t.apply&&delete t.apply,(r.apply||r.where&&t.where||r.search&&t.search)&&(t.from={SELECT:{from:t.from}}),r.where&&(t.where?t.from.SELECT.where=r.where:t.where=r.where),r.search&&(t.search?t.from.SELECT.search=r.search:t.search=r.search),r.groupBy){t.groupBy=[];for(const e of r.groupBy)t.groupBy.find(zn(e))||t.groupBy.push(e)}const n=[...t.groupBy||[],...r.aggregate||[]];n.length&&(t.columns=t.columns&&!e?t.columns.reduce(((t,r)=>{const e=n.find(zn(r));return e&&t.push(e),t}),[]):n,t.where&&(t.where=t.where.map(_n(t.columns)),t.groupBy&&(t.having=t.where.map(Fn(t.groupBy)),delete t.where)),t.columns=t.columns.reduce(((t,r)=>(r.ref&&r.ref.length>1&&n.find(zn(r))?Rn(t,{ref:[...r.ref]}):t.push(r),t)),[])),r.apply&&jn(t.from.SELECT,r.apply)},kn=t=>{Bn.limit&&Bn.limit.offset&&Bn.limit.offset.val&&(t+=Bn.limit.offset.val),(Bn.limit||(Bn.limit={})).offset={val:t}},Nn=(t,r)=>{for(const e of r)e.ref&&e.ref[0]===t&&e.ref.shift(),e.func&&Nn(t,e.args);return r};if((e=a())!==n&&ge===t.length)return e;throw e!==n&&ge<t.length&&Le({type:"end"}),Se(ye,be<t.length?t.charAt(be):null,be<t.length?Ee(be,be+1):Ee(be,be))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.buildMessage=function(t,r){var e={literal:function(t){return'"'+s(t.text)+'"'},class:function(t){var r,e="";for(r=0;r<t.parts.length;r++)e+=t.parts[r]instanceof Array?a(t.parts[r][0])+"-"+a(t.parts[r][1]):a(t.parts[r]);return"["+(t.inverted?"^":"")+e+"]"},any:function(t){return"any character"},end:function(t){return"end of input"},other:function(t){return t.description}};function n(t){return t.charCodeAt(0).toString(16).toUpperCase()}function s(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}function a(t){return t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}return"Expected "+function(t){var r,n,s,a=new Array(t.length);for(r=0;r<t.length;r++)a[r]=(s=t[r],e[s.type](s));if(a.sort(),a.length>0){for(r=1,n=1;r<a.length;r++)a[r-1]!==a[r]&&(a[n]=a[r],n++);a.length=n}switch(a.length){case 1:return a[0];case 2:return a[0]+" or "+a[1];default:return a.slice(0,-1).join(", ")+", or "+a[a.length-1]}}(t)+" but "+function(t){return t?'"'+s(t)+'"':"end of input"}(r)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
|