@sap/cds 7.7.3 → 7.8.1

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.
Files changed (75) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/lib/auth/ias-auth.js +5 -3
  3. package/lib/auth/jwt-auth.js +4 -2
  4. package/lib/compile/cdsc.js +0 -10
  5. package/lib/compile/for/java.js +9 -5
  6. package/lib/compile/for/lean_drafts.js +1 -1
  7. package/lib/compile/to/edm.js +2 -1
  8. package/lib/compile/to/sql.js +0 -21
  9. package/lib/compile/to/srvinfo.js +13 -4
  10. package/lib/dbs/cds-deploy.js +7 -7
  11. package/lib/env/cds-requires.js +6 -0
  12. package/lib/index.js +4 -3
  13. package/lib/linked/classes.js +151 -88
  14. package/lib/linked/entities.js +28 -23
  15. package/lib/linked/models.js +57 -36
  16. package/lib/linked/types.js +42 -104
  17. package/lib/ql/Whereable.js +3 -3
  18. package/lib/req/context.js +9 -5
  19. package/lib/srv/protocols/hcql.js +2 -1
  20. package/lib/srv/protocols/http.js +7 -7
  21. package/lib/srv/protocols/index.js +31 -13
  22. package/lib/srv/protocols/odata-v4.js +79 -58
  23. package/lib/srv/srv-api.js +7 -6
  24. package/lib/srv/srv-dispatch.js +1 -12
  25. package/lib/srv/srv-tx.js +9 -13
  26. package/lib/utils/cds-utils.js +6 -5
  27. package/libx/_runtime/cds-services/adapter/odata-v4/ODataRequest.js +11 -8
  28. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/read.js +21 -12
  29. package/libx/_runtime/cds-services/adapter/odata-v4/to.js +5 -3
  30. package/libx/_runtime/cds-services/adapter/odata-v4/utils/handlerUtils.js +3 -7
  31. package/libx/_runtime/cds-services/adapter/odata-v4/utils/metaInfo.js +5 -0
  32. package/libx/_runtime/cds-services/adapter/odata-v4/utils/readAfterWrite.js +2 -1
  33. package/libx/_runtime/cds-services/adapter/odata-v4/utils/request.js +3 -7
  34. package/libx/_runtime/cds-services/services/utils/columns.js +6 -3
  35. package/libx/_runtime/cds.js +0 -13
  36. package/libx/_runtime/common/generic/input.js +3 -0
  37. package/libx/_runtime/common/generic/sorting.js +8 -6
  38. package/libx/_runtime/common/i18n/messages.properties +1 -0
  39. package/libx/_runtime/common/utils/cqn.js +5 -0
  40. package/libx/_runtime/common/utils/foreignKeyPropagations.js +7 -1
  41. package/libx/_runtime/common/utils/keys.js +2 -2
  42. package/libx/_runtime/common/utils/resolveView.js +2 -1
  43. package/libx/_runtime/common/utils/rewriteAsterisks.js +1 -1
  44. package/libx/_runtime/common/utils/stream.js +0 -10
  45. package/libx/_runtime/common/utils/template.js +20 -35
  46. package/libx/_runtime/db/Service.js +5 -1
  47. package/libx/_runtime/db/utils/columns.js +1 -1
  48. package/libx/_runtime/fiori/lean-draft.js +14 -2
  49. package/libx/_runtime/messaging/Outbox.js +7 -5
  50. package/libx/_runtime/messaging/kafka.js +266 -0
  51. package/libx/_runtime/messaging/service.js +7 -5
  52. package/libx/_runtime/sqlite/convertDraftAdminPathExpression.js +1 -0
  53. package/libx/common/assert/validation.js +1 -1
  54. package/libx/odata/index.js +8 -2
  55. package/libx/odata/middleware/batch.js +340 -0
  56. package/libx/odata/middleware/create.js +43 -46
  57. package/libx/odata/middleware/delete.js +27 -15
  58. package/libx/odata/middleware/error.js +6 -5
  59. package/libx/odata/middleware/metadata.js +16 -15
  60. package/libx/odata/middleware/operation.js +107 -59
  61. package/libx/odata/middleware/parse.js +15 -7
  62. package/libx/odata/middleware/read.js +150 -24
  63. package/libx/odata/middleware/service-document.js +17 -6
  64. package/libx/odata/middleware/stream.js +34 -17
  65. package/libx/odata/middleware/update.js +123 -87
  66. package/libx/odata/parse/afterburner.js +131 -28
  67. package/libx/odata/parse/cqn2odata.js +1 -1
  68. package/libx/odata/parse/grammar.peggy +4 -5
  69. package/libx/odata/parse/multipartToJson.js +163 -0
  70. package/libx/odata/parse/parser.js +1 -1
  71. package/libx/odata/utils/index.js +29 -47
  72. package/libx/odata/utils/path.js +72 -0
  73. package/libx/odata/utils/result.js +123 -20
  74. package/package.json +1 -1
  75. package/server.js +4 -0
@@ -0,0 +1,163 @@
1
+ // eslint-disable-next-line cds/no-missing-dependencies
2
+ const { parsers, freeParser, HTTPParser } = require('_http_common')
3
+ const { PassThrough, Readable } = require('stream')
4
+ const streamConsumers = require('stream/consumers')
5
+
6
+ const CRLF = '\r\n'
7
+
8
+ const parseStream = async function* (body, boundary) {
9
+ const parser = parsers.alloc()
10
+
11
+ try {
12
+ const boundaries = [boundary]
13
+ let yielded = 0
14
+ const requests = []
15
+ let idCount = 0
16
+
17
+ parser.onIncoming = function (req /*, keepAlive */) {
18
+ // Boundaries encoded as HEAD request
19
+ if (req.method === 'HEAD') {
20
+ if (`/${boundaries.at(-1)}` !== req.url) {
21
+ // TODO: error ?
22
+ }
23
+ // Leave current boundary
24
+ if (`/${boundaries.at(-1)}--` === req.url) {
25
+ boundaries.pop()
26
+ }
27
+ const newBoundary = req.headers['content-type']?.match(/boundary=(.*)/i)?.[1]
28
+ if (newBoundary) boundaries.push(newBoundary)
29
+ return
30
+ }
31
+
32
+ const wrapper = new PassThrough()
33
+ req.pipe(wrapper)
34
+
35
+ const request = {
36
+ id: `r${++idCount}`,
37
+ url: req.url,
38
+ method: req.method,
39
+ headers: { ...req.headers },
40
+ body: streamConsumers.json(wrapper).catch(() => {})
41
+ }
42
+
43
+ const dependencies = [...req.url.matchAll(/\$(\d+)/g)]
44
+ if (dependencies.length) {
45
+ request.dependsOn = []
46
+ for (const dependency of dependencies) {
47
+ const index = Number.parseInt(dependency[1], 10)
48
+ if (Number.isNaN(index)) continue
49
+ const id = requests[index - 1].id
50
+ request.dependsOn.push(id)
51
+ request.url = request.url.replace(`$${index}`, `$${id}`)
52
+ }
53
+ if (request.url[1] === '$') request.url = request.url.slice(1)
54
+ }
55
+
56
+ if (boundaries.length > 1) request.atomicityGroup = boundaries.at(-1)
57
+
58
+ requests.push(request)
59
+ }
60
+
61
+ parser.initialize(HTTPParser.REQUEST, { type: 'HTTPINCOMINGMESSAGE' })
62
+
63
+ if (typeof body === 'string') body = [body]
64
+
65
+ const process = chunk => {
66
+ let changed = chunk
67
+ .toString()
68
+ .replace(/--(.*)$/gm, (_, g) => `HEAD /${g} HTTP/1.1${g.slice(-2) === '--' ? CRLF : ''}`)
69
+ .replace(/ \$/g, ' /$')
70
+
71
+ // HACKS!!!
72
+ // eslint-disable-next-line no-constant-condition
73
+ while (true) {
74
+ // ensure URLs start with slashes
75
+ const m = changed.match(/(GET|PUT|POST|PATCH|DELETE) (\w)/)
76
+ if (!m) break
77
+ changed = changed.replace(m[0], `${m[1]} /${m[2]}`)
78
+ // add content-length header
79
+ try {
80
+ let x = changed.substr(m.index)
81
+ let y = x.indexOf(`${CRLF}HEAD`)
82
+ let z = changed.substr(m.index, y)
83
+ const lines = z.split(CRLF)
84
+ if (lines.some(l => l.match(/^content-length/i))) continue
85
+ const cl = lines.slice(-1)[0].length
86
+ if (cl) {
87
+ lines.splice(-2, 0, `content-length:${cl}`)
88
+ changed = changed.substr(0, m.index) + lines.join(CRLF) + x.substr(y)
89
+ }
90
+ } catch (e) {
91
+ console.error(e)
92
+ }
93
+ }
94
+ // remove strange "Group ID" appendix
95
+ changed = changed.split(`${CRLF}Group ID`)[0] + CRLF
96
+
97
+ let ret = parser.execute(Buffer.from(changed))
98
+
99
+ if (typeof ret !== 'number') {
100
+ // console.trace(ret, ret.bytesParsed ? `\n\nin:\n${changed.substr(0, ret.bytesParsed + 1)}\n\n` : '')
101
+ // REVISIT: handle parsing error for when replace did not work
102
+ throw ret
103
+ }
104
+ }
105
+
106
+ let leftover = ''
107
+ for await (let chunk of body) {
108
+ // Ensure that the whole boundary is inside the current chunk
109
+ chunk = `${leftover}${chunk}`
110
+ const lastBoundary = chunk.lastIndexOf('--')
111
+ const lastCRLF = chunk.lastIndexOf(CRLF)
112
+ if (lastBoundary > lastCRLF) {
113
+ leftover = chunk.slice(lastBoundary)
114
+ chunk = chunk.slice(0, lastBoundary)
115
+ } else {
116
+ leftover = ''
117
+ }
118
+ process(chunk)
119
+
120
+ // Drain request
121
+ for (; yielded < requests.length; yielded++) {
122
+ // TODO: remove should be consumed by protocol adapter itself
123
+ requests[yielded].body = await requests[yielded].body
124
+ if (requests[yielded].body === undefined) {
125
+ delete requests[yielded].body
126
+ }
127
+ yield requests[yielded]
128
+ }
129
+ }
130
+
131
+ // Process any leftovers
132
+ if (leftover) {
133
+ process(leftover)
134
+
135
+ // Drain request
136
+ for (; yielded < requests.length; yielded++) {
137
+ // TODO: remove should be consumed by protocol adapter itself
138
+ requests[yielded].body = await requests[yielded].body
139
+ if (requests[yielded].body === undefined) {
140
+ delete requests[yielded].body
141
+ }
142
+ yield requests[yielded]
143
+ }
144
+ }
145
+ } finally {
146
+ freeParser(parser)
147
+ }
148
+ }
149
+
150
+ // Normalize
151
+ module.exports = async (body, boundary) => {
152
+ const ret = {
153
+ requests: []
154
+ }
155
+
156
+ // This logic would ultimately be inside the json batch processor
157
+ // for await supports both async iterator and normal iterators (e.g. any Array)
158
+ for await (const request of Readable.from(parseStream(body, boundary))) {
159
+ ret.requests.push(request)
160
+ }
161
+
162
+ return ret
163
+ }
@@ -1 +1 @@
1
- "use strict";function peg$subclass(u,t){function r(){this.constructor=u}r.prototype=t.prototype,u.prototype=new r}function peg$SyntaxError(u,t,r,n){var e=Error.call(this,u);return Object.setPrototypeOf&&Object.setPrototypeOf(e,peg$SyntaxError.prototype),e.expected=t,e.found=r,e.location=n,e.name="SyntaxError",e}function peg$padEnd(u,t,r){return r=r||" ",u.length>t?u:(t-=u.length,u+(r+=r.repeat(t)).slice(0,t))}function peg$parse(u,t){var r,n={},e=(t=void 0!==t?t:{}).grammarSource,o={ODataRelativeURI:ms},s=ms,a="/",c="?",i="&",f="$count",l="$ref",A="$value",h="=",p="$skiptoken=",C="$select=",d="$expand=",F="$filter=",B="$orderby=",g="$top=",v="$skip=",E="$search=",m="$count=",b="$apply=",D="$at",y="$from",w="$toInclusive",x="$to",$="*",L="/$count",S=";",T=":",j="any",O="all",Z="asc",z="desc",k="[",_="]",R="@",N="$format=",q="eq",I="ne",P="lt",U="gt",M="le",G="ge",H="in",J="null",K="{",Q="}",V=",",W="contains",X="endswith",Y="startswith",uu="not",tu="and",ru="or",nu="aggregate",eu="groupby",ou="filter",su="search",au="concat",cu="compute",iu="top",fu="skip",lu="orderby",Au="topcount",hu="bottomcount",pu="topsum",Cu="bottomsum",du="toppercent",Fu="bottompercent",Bu="with",gu="from",vu="as",Eu="rollup",mu="$all",bu="identity",Du="true",yu="false",wu="'",xu="''",$u='"',Lu='\\"',Su="-",Tu="T",ju=".",Ou="Z",Zu="+",zu="e",ku="binary'",_u="==",Ru="(",Nu=")",qu=/^[a-zA-Z0-9\-_.~]/,Iu=/^[^&]/,Pu=/^[^}]/,Uu=/^[^\]]/,Mu=/^[a-zA-Z]/,Gu=/^[^']/,Hu=/^[^"]/,Ju=/^[^ \t\n()"&;]/,Ku=/^[0-9]/,Qu=/^[+\-]/,Vu=/^[_a-zA-Z]/,Wu=/^[_a-zA-Z0-9"."A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Xu=/^[0-9a-fA-F]/,Yu=/^[^\/?]/,ut=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,tt=/^[a-zA-Z0-9\-_]/,rt=/^[ \t\n]/,nt=Cs("/",!1),et=Cs("?",!1),ot=Cs("&",!1),st=Cs("$count",!1),at=Cs("$ref",!1),ct=Cs("$value",!1),it=Cs("=",!1),ft=Cs("$skiptoken=",!1),lt=Cs("$select=",!1),At=Cs("$expand=",!1),ht=Cs("$filter=",!1),pt=Cs("$orderby=",!1),Ct=Cs("$top=",!1),dt=Cs("$skip=",!1),Ft=Cs("$search=",!1),Bt=Cs("$count=",!1),gt=Cs("$apply=",!1),vt=Cs("$at",!1),Et=Cs("$from",!1),mt=Cs("$toInclusive",!1),bt=Cs("$to",!1),Dt=Cs("*",!1),yt=Cs("/$count",!1),wt=Cs(";",!1),xt=Cs(":",!1),$t=Cs("any",!1),Lt=Cs("all",!1),St=Cs("asc",!1),Tt=Cs("desc",!1),jt=Cs("[",!1),Ot=Cs("]",!1),Zt=ds([["a","z"],["A","Z"],["0","9"],"-","_",".","~"],!1,!1),zt=ds(["&"],!0,!1),kt=Fs("an aliased parameter (@param)"),_t=Cs("@",!1),Rt=Cs("$format=",!1),Nt=Cs("eq",!1),qt=Cs("ne",!1),It=Cs("lt",!1),Pt=Cs("gt",!1),Ut=Cs("le",!1),Mt=Cs("ge",!1),Gt=Cs("in",!1),Ht=(Cs("add",!1),Cs("sub",!1),Cs("mul",!1),Cs("div",!1),Cs("mod",!1),Fs("navigation with $count")),Jt=Fs("a reference"),Kt=Fs("null"),Qt=Cs("null",!1),Vt=Fs("a json object"),Wt=Cs("{",!1),Xt=ds(["}"],!0,!1),Yt=Cs("}",!1),ur=Fs("a json array"),tr=ds(["]"],!0,!1),rr=Fs("a list"),nr=Cs(",",!1),er=Fs("a function name"),or=ds([["a","z"],["A","Z"]],!1,!1),sr=Cs("contains",!0),ar=Cs("endswith",!0),cr=Cs("startswith",!0),ir=Cs("NOT",!0),fr=Cs("AND",!0),lr=Cs("OR",!0),Ar=Cs("aggregate",!1),hr=Cs("groupby",!1),pr=Cs("filter",!1),Cr=Cs("search",!1),dr=Cs("concat",!1),Fr=Cs("compute",!1),Br=Cs("top",!1),gr=Cs("skip",!1),vr=Cs("orderby",!1),Er=Cs("topcount",!0),mr=Cs("bottomcount",!0),br=Cs("topsum",!0),Dr=Cs("bottomsum",!0),yr=Cs("toppercent",!0),wr=Cs("bottompercent",!0),xr=Cs("with",!1),$r=Cs("from",!1),Lr=Cs("as",!1),Sr=Cs("rollup",!1),Tr=Cs("$all",!1),jr=Cs("identity",!1),Or=Fs("a boolean"),Zr=Cs("true",!1),zr=Cs("false",!1),kr=Fs("a single quoted string"),_r=Cs("'",!1),Rr=Cs("''",!1),Nr=ds(["'"],!0,!1),qr=Fs("a doubled quoted string"),Ir=Cs('"',!1),Pr=Cs('\\"',!1),Ur=ds(['"'],!0,!1),Mr=Fs("a string"),Gr=ds([" ","\t","\n","(",")",'"',"&",";"],!0,!1),Hr=Fs("a time"),Jr=ds([["0","9"]],!1,!1),Kr=Fs("a date"),Qr=Cs("-",!1),Vr=Cs("T",!1),Wr=Cs(".",!1),Xr=Cs("Z",!1),Yr=Cs("+",!1),un=Fs("a number"),tn=ds(["+","-"],!1,!1),rn=Cs("e",!1),nn=Fs("an integer"),en=Fs("an identifier"),on=ds(["_",["a","z"],["A","Z"]],!1,!1),sn=ds(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"',["A","Z"],["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],"Ͷ","ͷ",["ͺ","ͽ"],"Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԧ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],"ٮ","ٯ",["ٱ","ۓ"],"ە","ۥ","ۦ","ۮ","ۯ",["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],"ߴ","ߵ","ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],"ࢠ",["ࢢ","ࢬ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ॷ"],["ॹ","ॿ"],["অ","ঌ"],"এ","ঐ",["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ","ড়","ঢ়",["য়","ৡ"],"ৰ","ৱ",["ਅ","ਊ"],"ਏ","ਐ",["ਓ","ਨ"],["ਪ","ਰ"],"ਲ","ਲ਼","ਵ","ਸ਼","ਸ","ਹ",["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],"લ","ળ",["વ","હ"],"ઽ","ૐ","ૠ","ૡ",["ଅ","ଌ"],"ଏ","ଐ",["ଓ","ନ"],["ପ","ର"],"ଲ","ଳ",["ଵ","ହ"],"ଽ","ଡ଼","ଢ଼",["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],"ங","ச","ஜ","ஞ","ட","ண","த",["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","ళ"],["వ","హ"],"ఽ","ౘ","ౙ","ౠ","ౡ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ","ೠ","ೡ","ೱ","ೲ",["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ","ൠ","ൡ",["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],"า","ำ",["เ","ๆ"],"ກ","ຂ","ຄ","ງ","ຈ","ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ","ສ","ຫ",["ອ","ະ"],"າ","ຳ","ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ","ၥ","ၦ",["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏼ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤜ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᧁ","ᧇ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],"ᮮ","ᮯ",["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],"ᳵ","ᳶ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ","Ↄ","ↄ",["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],"Ⳳ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ","々","〆",["〱","〵"],"〻","〼",["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿌"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],"ꘪ","ꘫ",["Ꙁ","ꙮ"],["ꙿ","ꚗ"],["ꚠ","ꛥ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꞎ"],["Ꞑ","ꞓ"],["Ꞡ","Ɦ"],["ꟸ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꪀ","ꪯ"],"ꪱ","ꪵ","ꪶ",["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ","נּ","סּ","ףּ","פּ",["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),an=Fs("a guid"),cn=Fs("a hex value"),fn=ds([["0","9"],["a","f"],["A","F"]],!1,!1),ln=ds(["/","?"],!0,!1),An=ds([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),hn=Fs("a binary"),pn=Cs("binary'",!1),Cn=ds([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),dn=Cs("==",!1),Fn=Cs("(",!1),Bn=Cs(")",!1),gn=Fs("an optional whitespace"),vn=ds([" ","\t","\n"],!1,!1),En=Fs("a whitespace"),mn=function(u){Sa=u},bn=function(){if(Ta)return Sa.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete Sa.expand,delete Sa.limit,delete Sa.orderBy,Sa.apply?Na(Sa,Sa.apply):{SELECT:Sa};let u;if(Sa.expand){Sa.columns||(Sa.columns=["*"],u=!0);for(const u of Sa.expand){const t=Sa.columns.findIndex(za(u));t>-1&&Sa.columns.splice(t,1),Sa.columns.push(u)}delete Sa.expand}return Sa.count&&Sa.apply&&(Sa.__countAggregated=!0),Sa.apply?Na(Sa,Sa.apply,u):{SELECT:Sa}},Dn=function(){Ta=!0},yn=function(u){return!ba.includes(u)&&{from:{ref:[u]}}},wn=function(u){return[u]},xn=function(u,t){return t},$n=function(u,t){if(t=t&&t[1],!u&&!t)return{from:{ref:[""]}};if(!u&&t&&t.from)return t.from.ref.unshift(""),t;const[r,n]=u,e=[];if(n?n.length>2?e.push({id:r,where:n[1].map((u=>u.val&&u.val.match&&u.val.match(/^"(.*)"$/)?{val:u.val.match(/^"(.*)"$/)[1]}:u))}):e.push({id:r,where:[]}):$a?e.push(`${"object"==typeof r&&"val"in r?r.val:r}`):"object"==typeof r&&"string"==typeof r.val&&r.val.match(/^[1-9]\d*$|^0$/)?e.push({val:ja(r.val)}):e.push(r),t&&t.from){const u=t.from.ref;Object.prototype.hasOwnProperty.call(u[0],"val")&&(e[e.length-1]={id:e[e.length-1],where:[u.shift()]}),e.push(...u)}const o={from:{ref:e}};return t&&t.columns&&(o.columns=t.columns),o},Ln=function(u){return[u]},Sn=function(u,t,r){const n=[u,"=",t];return r&&n.push("and",...r[1]),n},Tn=function(u){u&&u.apply&&(Sa.apply=u.apply)},jn=function(u){Sa.where=u},On=function(u,t){Ma(t)},Zn=function(u){Ma(u,!0)},zn=function(u){(Sa.limit||(Sa.limit={})).rows={val:u}},kn=function(u){Ua(u)},_n=function(u){u&&(Sa.search=u)},Rn=function(u){return u},Nn=function(){return null},qn=function(u){return Sa.columns=Array.isArray(Sa.columns)?Sa.columns:[],Sa.columns.find(za(u))||Sa.columns.push(u),u},In=function(){const u=new Error('"/$count" is not supported for expand operation');throw u.statusCode=501,u},Pn=function(u){return u},Un=function(u){if(u.find((u=>u&&void 0!==u.apply))){const u=new Error('"$apply" is not supported for expand operation');throw u.statusCode=501,u}if(Sa.columns){for(const u of Sa.columns)Sa.expand.find(za(u))||Sa.expand.push(u);delete Sa.columns}else Array.isArray(Sa.expand)&&-1===Sa.expand.indexOf("*")&&Sa.expand.unshift("*")},Mn=function(){La.push(Sa),Sa=Sa.expand[Sa.expand.length-1],Sa.expand=[]},Gn=function(){Sa.expand.length||Sa.expand.push("*"),Sa=La.pop()},Hn=function(u){const t="*"===u?{}:u;return t.expand=["*"],Array.isArray(Sa.expand)||(Sa.expand=[]),Sa.expand.find(za(t))||Sa.expand.push(t),t},Jn=function(u){return u},Kn=function(u){Oa(u,{SELECT:Sa})},Qn=function(u){return u},Vn=function(u){return u},Wn=function(u){return u?[u]:[]},Xn=function(u,t){u.push({xpr:t})},Yn=function(u,t){u.push({val:t})},ue=function(u,t){u.push({val:t})},te=function(u,t){u.push({val:t})},re=function(u,t,r){u.push(t,...r)},ne=function(u){return u},ee=function(u){return u},oe=function(u){return u?[u]:[]},se=function(u,t){u.push({xpr:t})},ae=function(u,t){u.push(...t)},ce=function(u,t){"not"===u[u.length-1]&&"not"===t[0]?u.push("(",...t,")"):u.push(...t)},ie=function(u,t){u.push(t)},fe=function(u,t){u.push({val:t})},le=function(u,t){u.push(...t)},Ae=function(u,t,r){u.push(t,...r)},he=function(u){return u},pe=function(u){return[u]},Ce=function(u,t){u.push(t)},de=function(u,t){let r=u.pop();if(!t)return["exists",{ref:[...u,{id:r}]}];let n=[];for(let u=0,e=0;u<t.length;++u){let o=t[u];o.ref&&0===o.ref.length&&"="===t[u+1]?n[e++]={func:"contains",args:[{ref:[r]},t[u+=2]]}:n[e++]=o}return n.length<t.length?u.length?(r=u.pop(),["exists",{ref:[...u,{id:r,where:n}]}]):n:["exists",{ref:[...u,{id:r,where:t}]}]},Fe=function(u,t){let r=u.pop();return["not","exists",{ref:[...u,{id:r,where:["not",{xpr:[...t]}]}]}]},Be=function(u,t){return t},ge=function(u){return u?[u]:[]},ve=function(u,t){u.push("(",...t,")")},Ee=function(u,t){u.push(...t)},me=function(u,t){u.push(t)},be=function(u,t){u.push(...t)},De=function(u,t){u.push(...t)},ye=function(u,t,r){u.push(t,...r)},we=function(u){return u},xe=function(u,t){return Ga(u,t)},$e=function(u){return u},Le=function(u){return u},Se=function(){const u=new Error('"$orderby" does not support lambda');throw u.statusCode=501,u},Te=function(u,t){return t},je=function(u,t){return wa(u,t&&{sort:t})},Oe=function(u){u&&(Sa.count=!0)},Ze=function(u,t){return t},ze=function(u,t){if(void 0!==u){t=Array.isArray(t)?t:[t];for(let r of t)for(const t in r)if("limit"===t&&r.limit&&u.limit&&u.limit.offset&&r.limit.rows)u.limit.rows=r.limit.rows;else if(u[t]||"groupBy"===t&&(u.where||u.search)||"aggregate"===t&&"groupBy"in u&&!("groupBy"in r)){let n=u;u={apply:n},"limit"===t&&r[t].offset&&n.limit&&n.limit.offset&&n.limit.offset.val&&(r[t].offset+=n.limit.offset.val),n=u,n[t]=r[t]}else u[t]=r[t];return{apply:u}}},ke=function(u){return{list:u}},_e=function(u){return"@"+u},Re=function(u,t){Ja(Sa,u,t)},Ne=function(u){if("json"!==u.toLowerCase()){const u=new Error('Only query parameter "json" is allowed in "$format".');throw u.statusCode=501,u}},qe=function(u,t,r){return[u,Da[t]||t,r]},Ie=function(u){return{list:u}},Pe=function(u,t){return[u,"in",t]},Ue=function(u,t){return t},Me=function(u,t){return t?{id:u,where:t}:u},Ge=function(u,t){return{func:"count",as:"$count",args:[{ref:u}]}},He=function(u,t){return t},Je=function(u,t){return"null"===u?{val:null}:{ref:[u,...t]}},Ke=function(u){return{val:u}},Qe=function(u){return{val:u}},Ve=function(u){return{val:u}},We=function(u){return{val:u}},Xe=function(u){return"number"==typeof u?{val:u}:{val:u,literal:"number"}},Ye=function(u){return{val:u}},uo=function(u){return{val:u}},to=function(u){return{val:u}},ro=function(){return{val:null}},no=function(u){return{val:u}},eo=function(u){return{val:u}},oo=function(u){return{list:u.replace(/"/g,"").split(",").map((u=>({val:u})))}},so=function(u,t){return t},ao=function(u,t){return[u,...t]},co=function(u){return{list:u}},io=function(u,t){if(xa&&!(u.toLowerCase()in xa.functions))throw Object.assign(new Error(`"${u}" is an unknown function in OData URL spec (strict mode)`),{statusCode:400});return{func:u.toLowerCase(),args:t}},fo=function(u,t){return t},lo=function(u,t){return[u,...t]},Ao=function(u){return u.length?u[0]:u},ho=function(u,t,r){return{func:u.toLowerCase(),args:[t,r]}},po=function(){return"not"},Co=function(){return"and"},Fo=function(){return"and"},Bo=function(){return"or"},go=function(u){return u},vo=function(u){return u},Eo=function(u){return u},mo=function(u){return u},bo=function(u){return u},Do=function(u){return u},yo=function(u){return u},wo=function(u){return u},xo=function(u){return u},$o=function(u,t){if(u=u.toLowerCase(),!ya[u])throw Object.assign(new Error(`Transformation "${u}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:u,args:t}]}},Lo=function(u){return u},So=function(u,t){return t},To=function(u,t){return{aggregate:[u,...t]}},jo=function(u){return{func:"count",args:[{val:1}],as:u}},Oo=function(u){return u},Zo=function(u,t,r){return{func:t,args:[u],as:r}},zo=function(u){return u.toLowerCase()},ko=function(u){return u},_o=function(u,t){return t},Ro=function(u,t){return{groupBy:[u,...t]}},No=function(u,t,r){return r},qo=function(u,t,r){let n={};return n=r?{groupBy:[u,...t],...r.apply}:{groupBy:[u,...t]},n},Io=function(u){return u},Po=function(u){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t},Uo=function(u){return u},Mo=function(u){return{where:u}},Go=function(u){if(u)return u},Ho=function(u){return{search:u}},Jo=function(u,t){return t},Ko=function(u,t){return{concat:[u,...t]}},Qo=function(u,t){return[u,t]},Vo=function(){return{identity:!0}},Wo=function(u){return{limit:{rows:{val:u}}}},Xo=function(u){return{limit:{offset:{val:u}}}},Yo=function(u,t){return t},us=function(u,t){return{orderBy:[u,...t]}},ts=function(u){return"true"===u},rs=function(u){return u.replace(/''/g,"'")},ns=function(u){return u.replace(/\\\\/g,"\\").replace(/\\"/g,'"')},es=function(u){if(u.split("-")[0].length>4)throw Object.assign(new Error(`The type 'Edm.DateTimeOffset' is not compatible with '${u}'`),{statusCode:400});return u},os=function(u){return ja(u)},ss=function(u){return parseInt(u)},as=function(u){return u},cs=function(u){return{val:u}},is=function(u){return Za(u)},fs=0,ls=[{line:1,column:1}],As=0,hs=[],ps=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function Cs(u,t){return{type:"literal",text:u,ignoreCase:t}}function ds(u,t,r){return{type:"class",parts:u,inverted:t,ignoreCase:r}}function Fs(u){return{type:"other",description:u}}function Bs(t){var r,n=ls[t];if(n)return n;for(r=t-1;!ls[r];)r--;for(n={line:(n=ls[r]).line,column:n.column};r<t;)10===u.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return ls[t]=n,n}function gs(u,t,r){var n=Bs(u),o=Bs(t),s={source:e,start:{offset:u,line:n.line,column:n.column},end:{offset:t,line:o.line,column:o.column}};return r&&e&&"function"==typeof e.offset&&(s.start=e.offset(s.start),s.end=e.offset(s.end)),s}function vs(u){fs<As||(fs>As&&(As=fs,hs=[]),hs.push(u))}function Es(u,t,r){return new peg$SyntaxError(peg$SyntaxError.buildMessage(u,t),u,t,r)}function ms(){var t,r,e,o,s,f,l,A,h,p,C,d,F,B,g;if(t=fs,47===u.charCodeAt(fs)?(r=a,fs++):(r=n,0===ps&&vs(nt)),r===n&&(r=null),e=fs,(o=bs())!==n&&(e,o=mn(o)),(e=o)!==n){if(o=fs,s=Ea(),63===u.charCodeAt(fs)?(f=c,fs++):(f=n,0===ps&&vs(et)),f!==n){if(l=Ea(),A=fs,(h=ys())!==n){for(p=[],C=fs,d=Ea(),38===u.charCodeAt(fs)?(F=i,fs++):(F=n,0===ps&&vs(ot)),F!==n?(B=Ea(),(g=ys())!==n?C=d=[d,F,B,g]:(fs=C,C=n)):(fs=C,C=n);C!==n;)p.push(C),C=fs,d=Ea(),38===u.charCodeAt(fs)?(F=i,fs++):(F=n,0===ps&&vs(ot)),F!==n?(B=Ea(),(g=ys())!==n?C=d=[d,F,B,g]:(fs=C,C=n)):(fs=C,C=n);A=h=[h,p]}else fs=A,A=n;A===n&&(A=null),o=s=[s,f,l,A]}else fs=o,o=n;o===n&&(o=null),s=Ea(),t,t=bn()}else fs=t,t=n;return t}function bs(){var t,r,e,o,s,c,i;return t=fs,u.substr(fs,6)===f?(r=f,fs+=6):(r=n,0===ps&&vs(st)),r!==n&&(t,r=Dn()),(t=r)===n&&(t=fs,r=fs,u.substr(fs,4)===l?(e=l,fs+=4):(e=n,0===ps&&vs(at)),e===n&&(u.substr(fs,6)===A?(e=A,fs+=6):(e=n,0===ps&&vs(ct))),(r=e!==n?u.substring(r,fs):e)!==n&&(t,r=yn(r)),(t=r)===n&&(t=fs,r=fs,(e=pa())!==n?(o=fs,(s=ga())!==n&&(c=va())!==n?o=s=[s,c]:(fs=o,o=n),o===n&&(o=fs,(s=ga())!==n&&(c=Ds())!==n&&(i=va())!==n?o=s=[s,c,i]:(fs=o,o=n)),o===n&&(o=null),s=fs,ps++,c=Fa(),ps--,c===n?s=void 0:(fs=s,s=n),s!==n?r=e=[e,o,s]:(fs=r,r=n)):(fs=r,r=n),r===n&&(r=fs,(e=Fa())!==n&&(r,e=wn(e)),r=e),r===n&&(r=null),e=fs,o=fs,47===u.charCodeAt(fs)?(s=a,fs++):(s=n,0===ps&&vs(nt)),s!==n&&(o,s=xn(r,s)),(o=s)!==n?((s=bs())===n&&(s=null),e=o=[o,s]):(fs=e,e=n),e===n&&(e=null),t,t=$n(r,e))),t}function Ds(){var t,r,e,o,s,a,c;return t=fs,(r=Js())!==n&&(t,r=Ln(r)),(t=r)===n&&(t=fs,(r=Hs())!==n?(Ea(),61===u.charCodeAt(fs)?(e=h,fs++):(e=n,0===ps&&vs(it)),e!==n?(Ea(),(o=Js())!==n?(s=fs,(a=Ba())!==n&&(c=Ds())!==n?s=a=[a,c]:(fs=s,s=n),s===n&&(s=null),t,t=Sn(r,o,s)):(fs=t,t=n)):(fs=t,t=n)):(fs=t,t=n)),t}function ys(){var t,r,e,o;return t=fs,(r=ws())!==n&&(t,r=Tn(r)),(t=r)===n&&(t=fs,u.substr(fs,11)===p?(r=p,fs+=11):(r=n,0===ps&&vs(ft)),r!==n?(e=Ea(),o=function(){var t,r;t=fs,r=function(){var t,r,e;t=fs,r=[],ut.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(An));if(e!==n)for(;e!==n;)r.push(e),ut.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(An));else r=n;t=r!==n?u.substring(t,fs):r;return t}(),r===n&&(r=null);return t,r=Kn(r),t=r,t}(),t=r=[r,e,o]):(fs=t,t=n),t===n&&(t=function(){var t,r,e,o;t=fs,u.substr(fs,3)===D?(r=D,fs+=3):(r=n,0===ps&&vs(vt));r===n&&(u.substr(fs,5)===y?(r=y,fs+=5):(r=n,0===ps&&vs(Et)),r===n&&(u.substr(fs,12)===w?(r=w,fs+=12):(r=n,0===ps&&vs(mt)),r===n&&(u.substr(fs,3)===x?(r=x,fs+=3):(r=n,0===ps&&vs(bt)))));r!==n?(61===u.charCodeAt(fs)?(e=h,fs++):(e=n,0===ps&&vs(it)),e!==n&&(o=Aa())!==n?t=r=[r,e,o]:(fs=t,t=n)):(fs=t,t=n);return t}(),t===n&&(t=function(){var t,r,e,o,s;t=fs,u.substr(fs,8)===N?(r=N,fs+=8):(r=n,0===ps&&vs(Rt));if(r!==n){for(e=fs,o=[],Iu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(zt));s!==n;)o.push(s),Iu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(zt));e=u.substring(e,fs),t,t=Ne(e)}else fs=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s,a;t=fs,r=[],qu.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(Zt));if(e!==n)for(;e!==n;)r.push(e),qu.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(Zt));else r=n;if(r!==n){if(e=fs,61===u.charCodeAt(fs)?(o=h,fs++):(o=n,0===ps&&vs(it)),o!==n){for(s=[],Iu.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(zt));a!==n;)s.push(a),Iu.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(zt));e=o=[o,s]}else fs=e,e=n;e===n&&(e=null),t=r=[r,e]}else fs=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s;t=fs,r=Is(),r!==n?(61===u.charCodeAt(fs)?(e=h,fs++):(e=n,0===ps&&vs(it)),e!==n?(o=fs,ps++,s=Is(),ps--,s===n?o=void 0:(fs=o,o=n),o!==n?(s=function(){var t,r,e,o;t=Js(),t===n&&(t=Ks())===n&&(t=Qs())===n&&(t=fs,91===u.charCodeAt(fs)?(r=k,fs++):(r=n,0===ps&&vs(jt)),r!==n&&(e=Vs())!==n?(93===u.charCodeAt(fs)?(o=_,fs++):(o=n,0===ps&&vs(Ot)),o!==n?(t,t=ke(e)):(fs=t,t=n)):(fs=t,t=n));return t}(),s!==n?(t,t=Re(r,s)):(fs=t,t=n)):(fs=t,t=n)):(fs=t,t=n)):(fs=t,t=n);return t}()))))),t}function ws(){var t,r,e,o,s,a,c,i;if(t=fs,u.substr(fs,8)===C?(r=C,fs+=8):(r=n,0===ps&&vs(lt)),r!==n)if(e=Ea(),(o=xs())!==n){for(s=[],a=fs,(c=Ba())!==n&&(i=xs())!==n?a=c=[c,i]:(fs=a,a=n);a!==n;)s.push(a),a=fs,(c=Ba())!==n&&(i=xs())!==n?a=c=[c,i]:(fs=a,a=n);t=r=[r,e,o,s]}else fs=t,t=n;else fs=t,t=n;if(t===n){if(t=fs,u.substr(fs,8)===d?(r=d,fs+=8):(r=n,0===ps&&vs(At)),r!==n)if(e=Ea(),(o=Ls())!==n){for(s=[],a=fs,(c=Ba())!==n&&(i=Ls())!==n?a=c=[c,i]:(fs=a,a=n);a!==n;)s.push(a),a=fs,(c=Ba())!==n&&(i=Ls())!==n?a=c=[c,i]:(fs=a,a=n);a=function(){var t,r;t=fs,u.substr(fs,7)===L?(r=L,fs+=7):(r=n,0===ps&&vs(yt));r!==n&&(t,r=In());return t=r,t}(),a===n&&(a=null),t=r=[r,e,o,s,a]}else fs=t,t=n;else fs=t,t=n;if(t===n&&(t=fs,u.substr(fs,8)===F?(r=F,fs+=8):(r=n,0===ps&&vs(ht)),r!==n?(e=Ea(),(o=Zs())!==n?(t,t=jn(o)):(fs=t,t=n)):(fs=t,t=n),t===n)){if(t=fs,u.substr(fs,9)===B?(r=B,fs+=9):(r=n,0===ps&&vs(pt)),r!==n)if(e=Ea(),(o=Ns())!==n){for(s=[],a=fs,(c=Ba())!==n&&(i=Ns())!==n?(a,a=On(o,i)):(fs=a,a=n);a!==n;)s.push(a),a=fs,(c=Ba())!==n&&(i=Ns())!==n?(a,a=On(o,i)):(fs=a,a=n);t,t=Zn(o)}else fs=t,t=n;else fs=t,t=n;t===n&&(t=fs,u.substr(fs,5)===g?(r=g,fs+=5):(r=n,0===ps&&vs(Ct)),r!==n?(e=Ea(),(o=Ss())!==n?(t,t=zn(o)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,6)===v?(r=v,fs+=6):(r=n,0===ps&&vs(dt)),r!==n?(e=Ea(),(o=Ts())!==n?(t,t=kn(o)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,8)===E?(r=E,fs+=8):(r=n,0===ps&&vs(Ft)),r!==n?(e=Ea(),(o=js())!==n?(t,t=_n(o)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,7)===m?(r=m,fs+=7):(r=n,0===ps&&vs(Bt)),r!==n?(e=Ea(),o=function(){var u,t;u=fs,t=fa(),t!==n&&(u,t=Oe(t));return u=t,u}(),o!==n?t=r=[r,e,o]:(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,7)===b?(r=b,fs+=7):(r=n,0===ps&&vs(gt)),r!==n?(e=Ea(),(o=qs())!==n?(t,t=Rn(o)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,8)===d?(r=d,fs+=8):(r=n,0===ps&&vs(At)),r!==n&&(t,r=Nn()),t=r))))))}}return t}function xs(){var t,r;return t=fs,42===u.charCodeAt(fs)?(r=$,fs++):(r=n,0===ps&&vs(Dt)),r===n&&(r=Hs()),r!==n&&(t,r=qn(r)),t=r}function $s(){var t,r,e,o,s;return t=fs,r=fs,(e=ga())!==n&&(r,e=Mn()),(r=e)!==n?(e=function(){var t,r,e,o,s;for(t=fs,r=[],e=fs,(o=ws())!==n?(Ea(),59===u.charCodeAt(fs)?(s=S,fs++):(s=n,0===ps&&vs(wt)),s===n&&(s=null),e,e=Pn(o)):(fs=e,e=n);e!==n;)r.push(e),e=fs,(o=ws())!==n?(Ea(),59===u.charCodeAt(fs)?(s=S,fs++):(s=n,0===ps&&vs(wt)),s===n&&(s=null),e,e=Pn(o)):(fs=e,e=n);return t,Un(r)}(),o=fs,(s=va())!==n&&(o,s=Gn()),(o=s)!==n?t=r=[r,e,o]:(fs=t,t=n)):(fs=t,t=n),t}function Ls(){var t,r,e;return t=fs,r=fs,42===u.charCodeAt(fs)?(e=$,fs++):(e=n,0===ps&&vs(Dt)),e===n&&(e=Hs()),e!==n&&(r,e=Hn(e)),(r=e)!==n?((e=$s())===n&&(e=null),t=r=[r,e]):(fs=t,t=n),t}function Ss(){var u,t;return u=fs,(t=ha())!==n&&(u,t=Jn(t)),u=t}function Ts(){var u,t;return u=fs,(t=ha())!==n&&(u,t=Qn(t)),u=t}function js(){var u,t;return u=fs,(t=Os())!==n&&(u,t=Vn(t)),(u=t)===n&&(u=Ea()),u}function Os(){var t,r,e,o,s,a,c;if(t=fs,r=fs,(e=Xs())===n&&(e=null),r,r=e=Wn(e),e=fs,(o=ga())!==n&&(s=Os())!==n&&(a=va())!==n?(e,e=Xn(r,s)):(fs=e,e=n),e===n&&(e=fs,o=function(){var t,r,e,o,s;ps++,t=fs,34===u.charCodeAt(fs)?(r=$u,fs++):(r=n,0===ps&&vs(Ir));if(r!==n){for(e=fs,o=[],u.substr(fs,2)===Lu?(s=Lu,fs+=2):(s=n,0===ps&&vs(Pr)),s===n&&(Hu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(Ur)));s!==n;)o.push(s),u.substr(fs,2)===Lu?(s=Lu,fs+=2):(s=n,0===ps&&vs(Pr)),s===n&&(Hu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(Ur)));e=u.substring(e,fs),34===u.charCodeAt(fs)?(o=$u,fs++):(o=n,0===ps&&vs(Ir)),o!==n?(t,t=ns(e)):(fs=t,t=n)}else fs=t,t=n;ps--,t===n&&(r=n,0===ps&&vs(qr));return t}(),o!==n&&(e,o=Yn(r,o)),(e=o)===n&&(e=fs,(o=la())!==n&&(e,o=ue(r,o)),(e=o)===n&&(e=fs,o=function(){var t,r,e;ps++,t=fs,r=[],Ju.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(Gr));if(e!==n)for(;e!==n;)r.push(e),Ju.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(Gr));else r=n;t=r!==n?u.substring(t,fs):r;ps--,t===n&&(r=n,0===ps&&vs(Mr));return t}(),o!==n&&(e,o=te(r,o)),e=o))),e!==n){for(o=[],s=fs,(a=Ys())===n&&(a=ta())===n&&(a=ua()),a!==n&&(c=Os())!==n?(s,s=re(r,a,c)):(fs=s,s=n);s!==n;)o.push(s),s=fs,(a=Ys())===n&&(a=ta())===n&&(a=ua()),a!==n&&(c=Os())!==n?(s,s=re(r,a,c)):(fs=s,s=n);t,t=ne(r)}else fs=t,t=n;return t}function Zs(){var u,t;return u=fs,(t=zs())!==n&&(u,t=ee(t)),u=t}function zs(){var t,r,e,o,s,a,c;if(t=fs,r=fs,(e=Xs())===n&&(e=null),r,r=e=oe(e),e=fs,(o=ga())!==n&&(s=zs())!==n&&(a=va())!==n?(e,e=se(r,s)):(fs=e,e=n),e===n&&(e=fs,(o=Ps())!==n&&(e,o=ae(r,o)),(e=o)===n&&(e=fs,(o=ks())!==n&&(e,o=ce(r,o)),(e=o)===n&&(e=fs,o=function(){var t,r,e,o;t=fs,u.substr(fs,8).toLowerCase()===W?(r=u.substr(fs,8),fs+=8):(r=n,0===ps&&vs(sr));r===n&&(u.substr(fs,8).toLowerCase()===X?(r=u.substr(fs,8),fs+=8):(r=n,0===ps&&vs(ar)),r===n&&(u.substr(fs,10).toLowerCase()===Y?(r=u.substr(fs,10),fs+=10):(r=n,0===ps&&vs(cr))));r!==n&&ga()!==n&&(e=Gs())!==n&&Ba()!==n&&(o=Gs())!==n&&va()!==n?(t,t=ho(r,e,o)):(fs=t,t=n);return t}(),o!==n&&(e,o=ie(r,o)),(e=o)===n&&(e=fs,(o=fa())!==n&&(e,o=fe(r,o)),(e=o)===n&&(e=fs,(o=Ms())!==n&&(e,o=le(r,o)),e=o))))),e!==n){for(o=[],s=fs,(a=Ys())===n&&(a=ta()),a!==n&&(c=zs())!==n?(s,s=Ae(r,a,c)):(fs=s,s=n);s!==n;)o.push(s),s=fs,(a=Ys())===n&&(a=ta()),a!==n&&(c=zs())!==n?(s,s=Ae(r,a,c)):(fs=s,s=n);t,t=he(r)}else fs=t,t=n;return t}function ks(){var t,r,e,o,s,c,i;if(t=fs,r=fs,(e=pa())!==n&&(r,e=pe(e)),(r=e)!==n)if(47===u.charCodeAt(fs)?(e=a,fs++):(e=n,0===ps&&vs(nt)),e!==n){for(o=[],s=fs,(c=pa())!==n?(47===u.charCodeAt(fs)?(i=a,fs++):(i=n,0===ps&&vs(nt)),i!==n?(s,s=Ce(r,c)):(fs=s,s=n)):(fs=s,s=n);s!==n;)o.push(s),s=fs,(c=pa())!==n?(47===u.charCodeAt(fs)?(i=a,fs++):(i=n,0===ps&&vs(nt)),i!==n?(s,s=Ce(r,c)):(fs=s,s=n)):(fs=s,s=n);s=fs,c=function(){var t,r,e;t=fs,u.substr(fs,3)===j?(r=j,fs+=3):(r=n,0===ps&&vs($t));r!==n&&ga()!==n?((e=Rs())===n&&(e=null),va()!==n?(t,t=$e(e)):(fs=t,t=n)):(fs=t,t=n);return t}(),c!==n&&(s,c=de(r,c)),(s=c)===n&&(s=fs,c=function(){var t,r,e;t=fs,u.substr(fs,3)===O?(r=O,fs+=3):(r=n,0===ps&&vs(Lt));r!==n&&ga()!==n&&(e=Rs())!==n&&va()!==n?(t,t=Le(e)):(fs=t,t=n);return t}(),c!==n&&(s,c=Fe(r,c)),s=c),s!==n?(t,t=Be(r,s)):(fs=t,t=n)}else fs=t,t=n;else fs=t,t=n;return t}function _s(){var u,t,r,e,o,s,a;if(u=fs,t=fs,(r=Xs())===n&&(r=null),t,t=r=ge(r),r=fs,(e=ga())!==n&&(o=_s())!==n&&(s=va())!==n?(r,r=ve(t,o)):(fs=r,r=n),r===n&&(r=fs,(e=Ps())!==n&&(r,e=Ee(t,e)),(r=e)===n&&(r=fs,(e=Ws())!==n&&(r,e=me(t,e)),(r=e)===n&&(r=fs,(e=ks())!==n&&(r,e=be(t,e)),(r=e)===n&&(r=fs,(e=Ms())!==n&&(r,e=De(t,e)),r=e)))),r!==n){for(e=[],o=fs,(s=Ys())===n&&(s=ta()),s!==n&&(a=_s())!==n?(o,o=ye(t,s,a)):(fs=o,o=n);o!==n;)e.push(o),o=fs,(s=Ys())===n&&(s=ta()),s!==n&&(a=_s())!==n?(o,o=ye(t,s,a)):(fs=o,o=n);u,u=we(t)}else fs=u,u=n;return u}function Rs(){var t,r,e,o;return t=fs,(r=pa())!==n?(58===u.charCodeAt(fs)?(e=T,fs++):(e=n,0===ps&&vs(xt)),e!==n&&(o=_s())!==n?(t,t=xe(r,o)):(fs=t,t=n)):(fs=t,t=n),t}function Ns(){var t,r,e,o,s;return t=fs,r=fs,(e=ks())!==n&&(r,e=Se()),(r=e)===n&&(r=Ws())===n&&(r=Hs()),r!==n?(e=fs,ma()!==n?(o=fs,u.substr(fs,3)===Z?(s=Z,fs+=3):(s=n,0===ps&&vs(St)),s===n&&(u.substr(fs,4)===z?(s=z,fs+=4):(s=n,0===ps&&vs(Tt))),(o=s!==n?u.substring(o,fs):s)!==n?(e,e=Te(r,o)):(fs=e,e=n)):(fs=e,e=n),e===n&&(e=null),t,t=je(r,e)):(fs=t,t=n),t}function qs(){var t,r,e,o,s,c;if(t=fs,(r=ra())!==n){for(e=[],o=fs,47===u.charCodeAt(fs)?(s=a,fs++):(s=n,0===ps&&vs(nt)),s!==n&&(c=ra())!==n?(o,o=Ze(r,c)):(fs=o,o=n);o!==n;)e.push(o),o=fs,47===u.charCodeAt(fs)?(s=a,fs++):(s=n,0===ps&&vs(nt)),s!==n&&(c=ra())!==n?(o,o=Ze(r,c)):(fs=o,o=n);t,t=ze(r,e)}else fs=t,t=n;return t}function Is(){var t,r,e;return ps++,t=fs,64===u.charCodeAt(fs)?(r=R,fs++):(r=n,0===ps&&vs(_t)),r!==n&&(e=pa())!==n?(t,t=_e(e)):(fs=t,t=n),ps--,t===n&&(r=n,0===ps&&vs(kt)),t}function Ps(){var t,r,e,o,s;return t=fs,(r=Gs())!==n&&ma()!==n?(e=fs,u.substr(fs,2)===q?(o=q,fs+=2):(o=n,0===ps&&vs(Nt)),o===n&&(u.substr(fs,2)===I?(o=I,fs+=2):(o=n,0===ps&&vs(qt)),o===n&&(u.substr(fs,2)===P?(o=P,fs+=2):(o=n,0===ps&&vs(It)),o===n&&(u.substr(fs,2)===U?(o=U,fs+=2):(o=n,0===ps&&vs(Pt)),o===n&&(u.substr(fs,2)===M?(o=M,fs+=2):(o=n,0===ps&&vs(Ut)),o===n&&(u.substr(fs,2)===G?(o=G,fs+=2):(o=n,0===ps&&vs(Mt))))))),(e=o!==n?u.substring(e,fs):o)!==n&&(o=ma())!==n&&(s=Gs())!==n?(t,t=qe(r,e,s)):(fs=t,t=n)):(fs=t,t=n),t}function Us(){var u,t;return u=fs,(t=Is())!==n&&(u,t=Ie(t)),(u=t)===n&&(u=function(){var u,t,r;ps++,u=fs,t=ga(),t!==n&&(r=Vs())!==n&&va()!==n?(u,u=co(r)):(fs=u,u=n);ps--,u===n&&(t=n,0===ps&&vs(rr));return u}()),u}function Ms(){var t,r,e,o;return t=fs,(r=Gs())!==n&&ma()!==n?(u.substr(fs,2)===H?(e=H,fs+=2):(e=n,0===ps&&vs(Gt)),e!==n&&ma()!==n&&(o=Us())!==n?(t,t=Pe(r,o)):(fs=t,t=n)):(fs=t,t=n),t}function Gs(){var t;return(t=function(){var t,r,e,o,s,c,i;ps++,t=fs,r=[],e=fs,(o=pa())!==n?(s=fs,(c=ga())!==n&&(i=Ds())!==n&&va()!==n?(s,s=Ue(o,i)):(fs=s,s=n),s===n&&(s=null),47===u.charCodeAt(fs)?(c=a,fs++):(c=n,0===ps&&vs(nt)),c!==n?(e,e=Me(o,s)):(fs=e,e=n)):(fs=e,e=n);if(e!==n)for(;e!==n;)r.push(e),e=fs,(o=pa())!==n?(s=fs,(c=ga())!==n&&(i=Ds())!==n&&va()!==n?(s,s=Ue(o,i)):(fs=s,s=n),s===n&&(s=null),47===u.charCodeAt(fs)?(c=a,fs++):(c=n,0===ps&&vs(nt)),c!==n?(e,e=Me(o,s)):(fs=e,e=n)):(fs=e,e=n);else r=n;r!==n?(u.substr(fs,6)===f?(e=f,fs+=6):(e=n,0===ps&&vs(st)),e!==n?(t,t=Ge(r,e)):(fs=t,t=n)):(fs=t,t=n);ps--,t===n&&(r=n,0===ps&&vs(Ht));return t}())===n&&(t=Ws())===n&&(t=Js())===n&&(t=Hs())===n&&(t=Ks())===n&&(t=Qs())===n&&(t=function(){var t,r,e,o,s;ps++,t=fs,91===u.charCodeAt(fs)?(r=k,fs++):(r=n,0===ps&&vs(jt));if(r!==n){for(e=fs,o=[],Uu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(tr));s!==n;)o.push(s),Uu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(tr));e=u.substring(e,fs),93===u.charCodeAt(fs)?(o=_,fs++):(o=n,0===ps&&vs(Ot)),o!==n?(t,t=oo(e)):(fs=t,t=n)}else fs=t,t=n;ps--,t===n&&(r=n,0===ps&&vs(rr));return t}()),t}function Hs(){var t,r,e,o,s,c;if(ps++,t=fs,(r=pa())!==n){for(e=[],o=fs,47===u.charCodeAt(fs)?(s=a,fs++):(s=n,0===ps&&vs(nt)),s!==n&&(c=pa())!==n?(o,o=He(r,c)):(fs=o,o=n);o!==n;)e.push(o),o=fs,47===u.charCodeAt(fs)?(s=a,fs++):(s=n,0===ps&&vs(nt)),s!==n&&(c=pa())!==n?(o,o=He(r,c)):(fs=o,o=n);t,t=Je(r,e)}else fs=t,t=n;return ps--,t===n&&(r=n,0===ps&&vs(Jt)),t}function Js(){var t,r;return t=fs,(r=fa())!==n&&(t,r=Ke(r)),(t=r)===n&&(t=fs,(r=Aa())!==n&&(t,r=Qe(r)),(t=r)===n&&(t=fs,r=function(){var t,r,e,o,s,a,c,i,f,l;ps++,t=fs,r=fs,Ku.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(Jr));e!==n?(Ku.test(u.charAt(fs))?(o=u.charAt(fs),fs++):(o=n,0===ps&&vs(Jr)),o!==n?(58===u.charCodeAt(fs)?(s=T,fs++):(s=n,0===ps&&vs(xt)),s!==n?(Ku.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(Jr)),a!==n?(Ku.test(u.charAt(fs))?(c=u.charAt(fs),fs++):(c=n,0===ps&&vs(Jr)),c!==n?(58===u.charCodeAt(fs)?(i=T,fs++):(i=n,0===ps&&vs(xt)),i!==n?(Ku.test(u.charAt(fs))?(f=u.charAt(fs),fs++):(f=n,0===ps&&vs(Jr)),f!==n?(Ku.test(u.charAt(fs))?(l=u.charAt(fs),fs++):(l=n,0===ps&&vs(Jr)),l!==n?r=e=[e,o,s,a,c,i,f,l]:(fs=r,r=n)):(fs=r,r=n)):(fs=r,r=n)):(fs=r,r=n)):(fs=r,r=n)):(fs=r,r=n)):(fs=r,r=n)):(fs=r,r=n);t=r!==n?u.substring(t,fs):r;ps--,t===n&&(r=n,0===ps&&vs(Hr));return t}(),r!==n&&(t,r=Ve(r)),(t=r)===n&&(t=fs,(r=Ca())!==n&&(t,r=We(r)),(t=r)===n&&(t=fs,r=function(){var t,r,e,o,s,a,c,i,f,l,A;ps++,t=fs,r=fs,ps++,e=function(){var t,r,e;t=fs,r=[],Ku.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(Jr));if(e!==n)for(;e!==n;)r.push(e),Ku.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(Jr));else r=n;r!==n?(45===u.charCodeAt(fs)?(e=Su,fs++):(e=n,0===ps&&vs(Qr)),e!==n?t=r=[r,e]:(fs=t,t=n)):(fs=t,t=n);return t}(),ps--,e===n?r=void 0:(fs=r,r=n);if(r!==n){if(e=fs,o=fs,Qu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(tn)),s===n&&(s=null),a=[],Ku.test(u.charAt(fs))?(c=u.charAt(fs),fs++):(c=n,0===ps&&vs(Jr)),c!==n)for(;c!==n;)a.push(c),Ku.test(u.charAt(fs))?(c=u.charAt(fs),fs++):(c=n,0===ps&&vs(Jr));else a=n;if(a!==n){if(c=fs,46===u.charCodeAt(fs)?(i=ju,fs++):(i=n,0===ps&&vs(Wr)),i!==n){if(f=[],Ku.test(u.charAt(fs))?(l=u.charAt(fs),fs++):(l=n,0===ps&&vs(Jr)),l!==n)for(;l!==n;)f.push(l),Ku.test(u.charAt(fs))?(l=u.charAt(fs),fs++):(l=n,0===ps&&vs(Jr));else f=n;f!==n?c=i=[i,f]:(fs=c,c=n)}else fs=c,c=n;if(c===n&&(c=null),i=fs,101===u.charCodeAt(fs)?(f=zu,fs++):(f=n,0===ps&&vs(rn)),f!==n){if(l=[],Ku.test(u.charAt(fs))?(A=u.charAt(fs),fs++):(A=n,0===ps&&vs(Jr)),A!==n)for(;A!==n;)l.push(A),Ku.test(u.charAt(fs))?(A=u.charAt(fs),fs++):(A=n,0===ps&&vs(Jr));else l=n;l!==n?i=f=[f,l]:(fs=i,i=n)}else fs=i,i=n;i===n&&(i=null),o=s=[s,a,c,i]}else fs=o,o=n;(e=o!==n?u.substring(e,fs):o)!==n?(t,t=os(e)):(fs=t,t=n)}else fs=t,t=n;ps--,t===n&&(r=n,0===ps&&vs(un));return t}(),r!==n&&(t,r=Xe(r)),(t=r)===n&&(t=fs,(r=la())!==n&&(t,r=Ye(r)),(t=r)===n&&(t=fs,r=function(){var t,r,e,o,s,a;ps++,t=fs,u.substr(fs,7)===ku?(r=ku,fs+=7):(r=n,0===ps&&vs(pn));if(r!==n){if(e=fs,o=fs,s=[],tt.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(Cn)),a!==n)for(;a!==n;)s.push(a),tt.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(Cn));else s=n;s!==n?(u.substr(fs,2)===_u?(a=_u,fs+=2):(a=n,0===ps&&vs(dn)),a===n&&(61===u.charCodeAt(fs)?(a=h,fs++):(a=n,0===ps&&vs(it))),a===n&&(a=null),o=s=[s,a]):(fs=o,o=n),(e=o!==n?u.substring(e,fs):o)!==n?(39===u.charCodeAt(fs)?(o=wu,fs++):(o=n,0===ps&&vs(_r)),o!==n?(t,t=is(e)):(fs=t,t=n)):(fs=t,t=n)}else fs=t,t=n;ps--,t===n&&(r=n,0===ps&&vs(hn));return t}(),r!==n&&(t,r=uo(r)),(t=r)===n&&(t=fs,(r=Is())!==n&&(t,r=to(r)),(t=r)===n&&(t=function(){var t,r;ps++,t=fs,u.substr(fs,4)===J?(r=J,fs+=4):(r=n,0===ps&&vs(Qt));r!==n&&(t,r=ro());t=r,ps--,t===n&&(r=n,0===ps&&vs(Kt));return t}())))))))),t}function Ks(){var t,r,e,o,s,a;if(ps++,t=fs,r=fs,e=fs,123===u.charCodeAt(fs)?(o=K,fs++):(o=n,0===ps&&vs(Wt)),o!==n){for(s=[],(a=Ks())===n&&(Pu.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(Xt)));a!==n;)s.push(a),(a=Ks())===n&&(Pu.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(Xt)));125===u.charCodeAt(fs)?(a=Q,fs++):(a=n,0===ps&&vs(Yt)),a!==n?e=o=[o,s,a]:(fs=e,e=n)}else fs=e,e=n;return(r=e!==n?u.substring(r,fs):e)!==n&&(t,r=no(r)),ps--,(t=r)===n&&(r=n,0===ps&&vs(Vt)),t}function Qs(){var t,r,e,o,s,a,c,i;if(ps++,t=fs,r=fs,e=fs,91===u.charCodeAt(fs)?(o=k,fs++):(o=n,0===ps&&vs(jt)),o!==n?(s=Ea(),93===u.charCodeAt(fs)?(a=_,fs++):(a=n,0===ps&&vs(Ot)),a!==n?e=o=[o,s,a]:(fs=e,e=n)):(fs=e,e=n),e===n)if(e=fs,91===u.charCodeAt(fs)?(o=k,fs++):(o=n,0===ps&&vs(jt)),o!==n)if(s=Ea(),123===u.charCodeAt(fs)?(a=K,fs++):(a=n,0===ps&&vs(Wt)),a!==n){for(c=[],(i=Qs())===n&&(Uu.test(u.charAt(fs))?(i=u.charAt(fs),fs++):(i=n,0===ps&&vs(tr)));i!==n;)c.push(i),(i=Qs())===n&&(Uu.test(u.charAt(fs))?(i=u.charAt(fs),fs++):(i=n,0===ps&&vs(tr)));93===u.charCodeAt(fs)?(i=_,fs++):(i=n,0===ps&&vs(Ot)),i!==n?e=o=[o,s,a,c,i]:(fs=e,e=n)}else fs=e,e=n;else fs=e,e=n;return(r=e!==n?u.substring(r,fs):e)!==n&&(t,r=eo(r)),ps--,(t=r)===n&&(r=n,0===ps&&vs(ur)),t}function Vs(){var t,r,e,o,s,a;if(t=fs,(r=Js())!==n){for(e=[],o=fs,44===u.charCodeAt(fs)?(s=V,fs++):(s=n,0===ps&&vs(nr)),s!==n&&(a=Js())!==n?(o,o=so(r,a)):(fs=o,o=n);o!==n;)e.push(o),o=fs,44===u.charCodeAt(fs)?(s=V,fs++):(s=n,0===ps&&vs(nr)),s!==n&&(a=Js())!==n?(o,o=so(r,a)):(fs=o,o=n);t,t=ao(r,e)}else fs=t,t=n;return t}function Ws(){var t,r,e;return t=fs,r=function(){var t,r,e;if(ps++,t=fs,r=[],Mu.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(or)),e!==n)for(;e!==n;)r.push(e),Mu.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(or));else r=n;return t=r!==n?u.substring(t,fs):r,ps--,t===n&&(r=n,0===ps&&vs(er)),t}(),r!==n&&ga()!==n?(e=function(){var u,t,r,e,o,s,a;if(u=fs,t=[],r=fs,e=Gs(),e!==n){for(o=[],s=fs,Ba()!==n&&(a=Gs())!==n?(s,s=fo(e,a)):(fs=s,s=n);s!==n;)o.push(s),s=fs,Ba()!==n&&(a=Gs())!==n?(s,s=fo(e,a)):(fs=s,s=n);r,r=lo(e,o)}else fs=r,r=n;for(;r!==n;)if(t.push(r),r=fs,(e=Gs())!==n){for(o=[],s=fs,Ba()!==n&&(a=Gs())!==n?(s,s=fo(e,a)):(fs=s,s=n);s!==n;)o.push(s),s=fs,Ba()!==n&&(a=Gs())!==n?(s,s=fo(e,a)):(fs=s,s=n);r,r=lo(e,o)}else fs=r,r=n;return u,t=Ao(t),u=t,u}(),va()!==n?(t,t=io(r,e)):(fs=t,t=n)):(fs=t,t=n),t}function Xs(){var t,r;return t=fs,Ea(),u.substr(fs,3).toLowerCase()===uu?(r=u.substr(fs,3),fs+=3):(r=n,0===ps&&vs(ir)),r!==n&&ma()!==n?(t,t=po()):(fs=t,t=n),t}function Ys(){var t,r;return t=fs,ma()!==n?(u.substr(fs,3).toLowerCase()===tu?(r=u.substr(fs,3),fs+=3):(r=n,0===ps&&vs(fr)),r!==n&&ma()!==n?(t,t=Co()):(fs=t,t=n)):(fs=t,t=n),t}function ua(){var u,t;return u=fs,(t=ma())!==n&&(u,t=Fo()),u=t}function ta(){var t,r;return t=fs,ma()!==n?(u.substr(fs,2).toLowerCase()===ru?(r=u.substr(fs,2),fs+=2):(r=n,0===ps&&vs(lr)),r!==n&&ma()!==n?(t,t=Bo()):(fs=t,t=n)):(fs=t,t=n),t}function ra(){var t,r,e;return t=fs,u.substr(fs,9)===nu?(r=nu,fs+=9):(r=n,0===ps&&vs(Ar)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=fs,t=ga(),t!==n)if(Ea(),(r=na())!==n){for(e=[],o=fs,Ea(),Ba()!==n?(Ea(),(s=na())!==n?(o,o=So(r,s)):(fs=o,o=n)):(fs=o,o=n);o!==n;)e.push(o),o=fs,Ea(),Ba()!==n?(Ea(),(s=na())!==n?(o,o=So(r,s)):(fs=o,o=n)):(fs=o,o=n);o=Ea(),va()!==n?(u,u=To(r,e)):(fs=u,u=n)}else fs=u,u=n;else fs=u,u=n;return u}(),e!==n?(t,t=go(e)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,7)===eu?(r=eu,fs+=7):(r=n,0===ps&&vs(hr)),r!==n?(e=function(){var u,t,r,e,o,s,a,c;if(u=fs,t=ga(),t!==n)if(ga()!==n)if((r=ca())!==n){for(e=[],o=fs,(s=Ba())!==n&&(a=ca())!==n?(o,o=_o(r,a)):(fs=o,o=n);o!==n;)e.push(o),o=fs,(s=Ba())!==n&&(a=ca())!==n?(o,o=_o(r,a)):(fs=o,o=n);o=fs,(s=va())!==n&&(o,s=Ro(r,e)),(o=s)!==n?(s=fs,(a=Ba())!==n&&(c=qs())!==n?(s,s=No(r,e,c)):(fs=s,s=n),s===n&&(s=null),(a=va())!==n?(u,u=qo(r,e,s)):(fs=u,u=n)):(fs=u,u=n)}else fs=u,u=n;else fs=u,u=n;else fs=u,u=n;return u}(),e!==n?(t,t=vo(e)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,6)===ou?(r=ou,fs+=6):(r=n,0===ps&&vs(pr)),r!==n?(e=function(){var u,t,r,e;u=fs,t=ga(),t!==n?(Ea(),r=fs,(e=Zs())!==n&&(r,e=Uo(e)),(r=e)!==n?(e=Ea(),va()!==n?(u,u=Mo(r)):(fs=u,u=n)):(fs=u,u=n)):(fs=u,u=n);return u}(),e!==n?(t,t=Eo(e)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,6)===su?(r=su,fs+=6):(r=n,0===ps&&vs(Cr)),r!==n?(e=function(){var u,t,r,e;u=fs,t=ga(),t!==n?(Ea(),r=fs,(e=js())!==n&&(r,e=Go(e)),(r=e)!==n?(e=Ea(),va()!==n?(u,u=Ho(r)):(fs=u,u=n)):(fs=u,u=n)):(fs=u,u=n);return u}(),e!==n?(t,t=mo(e)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,6)===au?(r=au,fs+=6):(r=n,0===ps&&vs(dr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=fs,t=ga(),t!==n)if(Ea(),(r=qs())!==n){if(e=[],o=fs,Ea(),Ba()!==n?(Ea(),(s=qs())!==n?(o,o=Jo(r,s)):(fs=o,o=n)):(fs=o,o=n),o!==n)for(;o!==n;)e.push(o),o=fs,Ea(),Ba()!==n?(Ea(),(s=qs())!==n?(o,o=Jo(r,s)):(fs=o,o=n)):(fs=o,o=n);else e=n;e!==n?(o=Ea(),va()!==n?(u,u=Ko(r,e)):(fs=u,u=n)):(fs=u,u=n)}else fs=u,u=n;else fs=u,u=n;return u}(),e!==n?(t,t=bo(e)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,7)===cu?(r=cu,fs+=7):(r=n,0===ps&&vs(Fr)),r!==n?(e=function(){var u,t,r,e,o,s,a,c,i,f;if(u=fs,t=ga(),t!==n)if(r=Ea(),(e=ia())!==n){for(o=[],s=fs,a=Ea(),(c=Ba())!==n?(i=Ea(),(f=ia())!==n?s=a=[a,c,i,f]:(fs=s,s=n)):(fs=s,s=n);s!==n;)o.push(s),s=fs,a=Ea(),(c=Ba())!==n?(i=Ea(),(f=ia())!==n?s=a=[a,c,i,f]:(fs=s,s=n)):(fs=s,s=n);s=Ea(),(a=va())!==n?u=t=[t,r,e,o,s,a]:(fs=u,u=n)}else fs=u,u=n;else fs=u,u=n;return u}(),e!==n?(t,t=Do(e)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,3)===iu?(r=iu,fs+=3):(r=n,0===ps&&vs(Br)),r!==n?(e=function(){var u,t,r;u=fs,t=ga(),t!==n?(Ea(),(r=Ss())!==n?(Ea(),va()!==n?(u,u=Wo(r)):(fs=u,u=n)):(fs=u,u=n)):(fs=u,u=n);return u}(),e!==n?(t,t=yo(e)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,4)===fu?(r=fu,fs+=4):(r=n,0===ps&&vs(gr)),r!==n?(e=function(){var u,t,r;u=fs,t=ga(),t!==n?(Ea(),(r=Ts())!==n?(Ea(),va()!==n?(u,u=Xo(r)):(fs=u,u=n)):(fs=u,u=n)):(fs=u,u=n);return u}(),e!==n?(t,t=wo(e)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,7)===lu?(r=lu,fs+=7):(r=n,0===ps&&vs(vr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=fs,t=ga(),t!==n)if(Ea(),(r=Ns())!==n){for(e=[],o=fs,Ba()!==n&&(s=Ns())!==n?(o,o=Yo(r,s)):(fs=o,o=n);o!==n;)e.push(o),o=fs,Ba()!==n&&(s=Ns())!==n?(o,o=Yo(r,s)):(fs=o,o=n);o=Ea(),va()!==n?(u,u=us(r,e)):(fs=u,u=n)}else fs=u,u=n;else fs=u,u=n;return u}(),e!==n?(t,t=xo(e)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,u.substr(fs,8).toLowerCase()===Au?(r=u.substr(fs,8),fs+=8):(r=n,0===ps&&vs(Er)),r===n&&(u.substr(fs,11).toLowerCase()===hu?(r=u.substr(fs,11),fs+=11):(r=n,0===ps&&vs(mr)),r===n&&(u.substr(fs,6).toLowerCase()===pu?(r=u.substr(fs,6),fs+=6):(r=n,0===ps&&vs(br)),r===n&&(u.substr(fs,9).toLowerCase()===Cu?(r=u.substr(fs,9),fs+=9):(r=n,0===ps&&vs(Dr)),r===n&&(u.substr(fs,10).toLowerCase()===du?(r=u.substr(fs,10),fs+=10):(r=n,0===ps&&vs(yr)),r===n&&(u.substr(fs,13).toLowerCase()===Fu?(r=u.substr(fs,13),fs+=13):(r=n,0===ps&&vs(wr))))))),r!==n?(e=function(){var u,t,r,e;u=fs,t=ga(),t!==n?(Ea(),(r=Gs())!==n?(Ea(),Ba()!==n?(Ea(),(e=Gs())!==n?(Ea(),va()!==n?(u,u=Qo(r,e)):(fs=u,u=n)):(fs=u,u=n)):(fs=u,u=n)):(fs=u,u=n)):(fs=u,u=n);return u}(),e!==n?(t,t=$o(r,e)):(fs=t,t=n)):(fs=t,t=n),t===n&&(t=fs,r=function(){var t,r;t=fs,u.substr(fs,8)===bu?(r=bu,fs+=8):(r=n,0===ps&&vs(jr));r!==n&&(t,r=Vo());return t=r,t}(),r!==n&&(t,r=Lo(r)),t=r)))))))))),t}function na(){var t,r,e,o;return t=fs,r=fs,u.substr(fs,6)===f?(e=f,fs+=6):(e=n,0===ps&&vs(st)),e!==n&&(o=aa())!==n?(r,r=jo(o)):(fs=r,r=n),r===n&&(r=ea()),r!==n&&(t,r=Oo(r)),t=r}function ea(){var u,t,r,e,o;return u=fs,(t=Hs())!==n?((r=oa())===n&&(r=null),(e=sa())===n&&(e=null),(o=aa())===n&&(o=null),u,u=Zo(t,r,o)):(fs=u,u=n),u===n&&(u=fs,(t=pa())!==n&&(r=ga())!==n&&(e=ea())!==n&&(o=va())!==n?u=t=[t,r,e,o]:(fs=u,u=n)),u}function oa(){var t,r,e,o,s;if(t=fs,ma()!==n)if(u.substr(fs,4)===Bu?(r=Bu,fs+=4):(r=n,0===ps&&vs(xr)),r!==n)if(ma()!==n){if(e=fs,o=[],Mu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(or)),s!==n)for(;s!==n;)o.push(s),Mu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(or));else o=n;(e=o!==n?u.substring(e,fs):o)!==n?(t,t=zo(e)):(fs=t,t=n)}else fs=t,t=n;else fs=t,t=n;else fs=t,t=n;return t}function sa(){var t,r,e,o,s,a,c;return t=fs,(r=ma())!==n?(u.substr(fs,4)===gu?(e=gu,fs+=4):(e=n,0===ps&&vs($r)),e!==n&&(o=ma())!==n&&(s=Hs())!==n&&(a=oa())!==n?((c=sa())===n&&(c=null),t=r=[r,e,o,s,a,c]):(fs=t,t=n)):(fs=t,t=n),t}function aa(){var t,r,e;return t=fs,ma()!==n?(u.substr(fs,2)===vu?(r=vu,fs+=2):(r=n,0===ps&&vs(Lr)),r!==n&&ma()!==n&&(e=pa())!==n?(t,t=ko(e)):(fs=t,t=n)):(fs=t,t=n),t}function ca(){var t,r;return t=fs,r=function(){var t,r,e,o,s,a,c,i,f,l,A;t=fs,r=fs,u.substr(fs,6)===Eu?(e=Eu,fs+=6):(e=n,0===ps&&vs(Sr));if(e!==n)if((o=ga())!==n)if(s=Ea(),u.substr(fs,4)===mu?(a=mu,fs+=4):(a=n,0===ps&&vs(Tr)),a===n&&(a=Hs()),a!==n){if(c=[],i=fs,f=Ea(),(l=Ba())!==n&&(A=Hs())!==n?i=f=[f,l,A]:(fs=i,i=n),i!==n)for(;i!==n;)c.push(i),i=fs,f=Ea(),(l=Ba())!==n&&(A=Hs())!==n?i=f=[f,l,A]:(fs=i,i=n);else c=n;c!==n?(i=Ea(),(f=va())!==n?r=e=[e,o,s,a,c,i,f]:(fs=r,r=n)):(fs=r,r=n)}else fs=r,r=n;else fs=r,r=n;else fs=r,r=n;r!==n&&(t,r=Po(r));return t=r,t}(),r===n&&(r=Hs()),r!==n&&(t,r=Io(r)),t=r}function ia(){var u,t,r;return u=fs,(t=zs())!==n&&(r=aa())!==n?u=t=[t,r]:(fs=u,u=n),u}function fa(){var t,r;return ps++,t=fs,u.substr(fs,4)===Du?(r=Du,fs+=4):(r=n,0===ps&&vs(Zr)),r===n&&(u.substr(fs,5)===yu?(r=yu,fs+=5):(r=n,0===ps&&vs(zr))),r!==n&&(t,r=ts(r)),ps--,(t=r)===n&&(r=n,0===ps&&vs(Or)),t}function la(){var t,r,e,o,s;if(ps++,t=fs,39===u.charCodeAt(fs)?(r=wu,fs++):(r=n,0===ps&&vs(_r)),r!==n){for(e=fs,o=[],u.substr(fs,2)===xu?(s=xu,fs+=2):(s=n,0===ps&&vs(Rr)),s===n&&(Gu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(Nr)));s!==n;)o.push(s),u.substr(fs,2)===xu?(s=xu,fs+=2):(s=n,0===ps&&vs(Rr)),s===n&&(Gu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(Nr)));e=u.substring(e,fs),39===u.charCodeAt(fs)?(o=wu,fs++):(o=n,0===ps&&vs(_r)),o!==n?(t,t=rs(e)):(fs=t,t=n)}else fs=t,t=n;return ps--,t===n&&(r=n,0===ps&&vs(kr)),t}function Aa(){var t,r,e,o,s,a,c,i,f,l,A,h,p,C,d,F,B,g,v,E,m,b,D,y,w;if(ps++,t=fs,r=fs,e=fs,o=[],Ku.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(Jr)),s!==n)for(;s!==n;)o.push(s),Ku.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(Jr));else o=n;if(o!==n)if(45===u.charCodeAt(fs)?(s=Su,fs++):(s=n,0===ps&&vs(Qr)),s!==n)if(Ku.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(Jr)),a!==n)if(Ku.test(u.charAt(fs))?(c=u.charAt(fs),fs++):(c=n,0===ps&&vs(Jr)),c!==n)if(45===u.charCodeAt(fs)?(i=Su,fs++):(i=n,0===ps&&vs(Qr)),i!==n)if(Ku.test(u.charAt(fs))?(f=u.charAt(fs),fs++):(f=n,0===ps&&vs(Jr)),f!==n)if(Ku.test(u.charAt(fs))?(l=u.charAt(fs),fs++):(l=n,0===ps&&vs(Jr)),l!==n){if(A=fs,84===u.charCodeAt(fs)?(h=Tu,fs++):(h=n,0===ps&&vs(Vr)),h!==n)if(Ku.test(u.charAt(fs))?(p=u.charAt(fs),fs++):(p=n,0===ps&&vs(Jr)),p!==n)if(Ku.test(u.charAt(fs))?(C=u.charAt(fs),fs++):(C=n,0===ps&&vs(Jr)),C!==n)if(58===u.charCodeAt(fs)?(d=T,fs++):(d=n,0===ps&&vs(xt)),d!==n)if(Ku.test(u.charAt(fs))?(F=u.charAt(fs),fs++):(F=n,0===ps&&vs(Jr)),F!==n)if(Ku.test(u.charAt(fs))?(B=u.charAt(fs),fs++):(B=n,0===ps&&vs(Jr)),B!==n){if(g=fs,58===u.charCodeAt(fs)?(v=T,fs++):(v=n,0===ps&&vs(xt)),v!==n)if(Ku.test(u.charAt(fs))?(E=u.charAt(fs),fs++):(E=n,0===ps&&vs(Jr)),E!==n)if(Ku.test(u.charAt(fs))?(m=u.charAt(fs),fs++):(m=n,0===ps&&vs(Jr)),m!==n){if(b=fs,46===u.charCodeAt(fs)?(D=ju,fs++):(D=n,0===ps&&vs(Wr)),D!==n){if(y=[],Ku.test(u.charAt(fs))?(w=u.charAt(fs),fs++):(w=n,0===ps&&vs(Jr)),w!==n)for(;w!==n;)y.push(w),Ku.test(u.charAt(fs))?(w=u.charAt(fs),fs++):(w=n,0===ps&&vs(Jr));else y=n;y!==n?b=D=[D,y]:(fs=b,b=n)}else fs=b,b=n;b===n&&(b=null),g=v=[v,E,m,b]}else fs=g,g=n;else fs=g,g=n;else fs=g,g=n;g===n&&(g=null),90===u.charCodeAt(fs)?(v=Ou,fs++):(v=n,0===ps&&vs(Xr)),v===n&&(v=fs,43===u.charCodeAt(fs)?(E=Zu,fs++):(E=n,0===ps&&vs(Yr)),E===n&&(45===u.charCodeAt(fs)?(E=Su,fs++):(E=n,0===ps&&vs(Qr))),E!==n?(Ku.test(u.charAt(fs))?(m=u.charAt(fs),fs++):(m=n,0===ps&&vs(Jr)),m!==n?(Ku.test(u.charAt(fs))?(b=u.charAt(fs),fs++):(b=n,0===ps&&vs(Jr)),b!==n?(58===u.charCodeAt(fs)?(D=T,fs++):(D=n,0===ps&&vs(xt)),D!==n?(Ku.test(u.charAt(fs))?(y=u.charAt(fs),fs++):(y=n,0===ps&&vs(Jr)),y!==n?(Ku.test(u.charAt(fs))?(w=u.charAt(fs),fs++):(w=n,0===ps&&vs(Jr)),w!==n?v=E=[E,m,b,D,y,w]:(fs=v,v=n)):(fs=v,v=n)):(fs=v,v=n)):(fs=v,v=n)):(fs=v,v=n)):(fs=v,v=n)),v===n&&(v=null),A=h=[h,p,C,d,F,B,g,v]}else fs=A,A=n;else fs=A,A=n;else fs=A,A=n;else fs=A,A=n;else fs=A,A=n;else fs=A,A=n;A===n&&(A=null),e=o=[o,s,a,c,i,f,l,A]}else fs=e,e=n;else fs=e,e=n;else fs=e,e=n;else fs=e,e=n;else fs=e,e=n;else fs=e,e=n;else fs=e,e=n;return(r=e!==n?u.substring(r,fs):e)!==n&&(t,r=es(r)),ps--,(t=r)===n&&(r=n,0===ps&&vs(Kr)),t}function ha(){var t,r,e,o,s,a;if(ps++,t=fs,r=fs,e=fs,Qu.test(u.charAt(fs))?(o=u.charAt(fs),fs++):(o=n,0===ps&&vs(tn)),o===n&&(o=null),s=[],Ku.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(Jr)),a!==n)for(;a!==n;)s.push(a),Ku.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(Jr));else s=n;return s!==n?e=o=[o,s]:(fs=e,e=n),(r=e!==n?u.substring(r,fs):e)!==n&&(t,r=ss(r)),ps--,(t=r)===n&&(r=n,0===ps&&vs(nn)),t}function pa(){var t,r,e,o,s,a,c,i;if(ps++,t=fs,r=fs,ps++,e=fa(),ps--,e===n?r=void 0:(fs=r,r=n),r!==n)if(e=fs,ps++,o=Ca(),ps--,o===n?e=void 0:(fs=e,e=n),e!==n){if(o=fs,s=fs,Vu.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(on)),a!==n){for(c=[],Wu.test(u.charAt(fs))?(i=u.charAt(fs),fs++):(i=n,0===ps&&vs(sn));i!==n;)c.push(i),Wu.test(u.charAt(fs))?(i=u.charAt(fs),fs++):(i=n,0===ps&&vs(sn));s=a=[a,c]}else fs=s,s=n;(o=s!==n?u.substring(o,fs):s)!==n?(t,t=as(o)):(fs=t,t=n)}else fs=t,t=n;else fs=t,t=n;return ps--,t===n&&(r=n,0===ps&&vs(en)),t}function Ca(){var t,r,e,o,s,a,c,i,f,l,A,h,p,C;return ps++,t=fs,r=fs,(e=da())!==n&&(o=da())!==n?(45===u.charCodeAt(fs)?(s=Su,fs++):(s=n,0===ps&&vs(Qr)),s===n&&(s=null),(a=da())!==n?(45===u.charCodeAt(fs)?(c=Su,fs++):(c=n,0===ps&&vs(Qr)),c===n&&(c=null),(i=da())!==n?(45===u.charCodeAt(fs)?(f=Su,fs++):(f=n,0===ps&&vs(Qr)),f===n&&(f=null),(l=da())!==n?(45===u.charCodeAt(fs)?(A=Su,fs++):(A=n,0===ps&&vs(Qr)),A===n&&(A=null),(h=da())!==n&&(p=da())!==n&&(C=da())!==n?r=e=[e,o,s,a,c,i,f,l,A,h,p,C]:(fs=r,r=n)):(fs=r,r=n)):(fs=r,r=n)):(fs=r,r=n)):(fs=r,r=n),t=r!==n?u.substring(t,fs):r,ps--,t===n&&(r=n,0===ps&&vs(an)),t}function da(){var t,r,e,o,s,a;return ps++,t=fs,r=fs,Xu.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(fn)),e!==n?(Xu.test(u.charAt(fs))?(o=u.charAt(fs),fs++):(o=n,0===ps&&vs(fn)),o!==n?(Xu.test(u.charAt(fs))?(s=u.charAt(fs),fs++):(s=n,0===ps&&vs(fn)),s!==n?(Xu.test(u.charAt(fs))?(a=u.charAt(fs),fs++):(a=n,0===ps&&vs(fn)),a!==n?r=e=[e,o,s,a]:(fs=r,r=n)):(fs=r,r=n)):(fs=r,r=n)):(fs=r,r=n),t=r!==n?u.substring(t,fs):r,ps--,t===n&&(r=n,0===ps&&vs(cn)),t}function Fa(){var t,r,e,o;if(t=fs,r=fs,e=[],Yu.test(u.charAt(fs))?(o=u.charAt(fs),fs++):(o=n,0===ps&&vs(ln)),o!==n)for(;o!==n;)e.push(o),Yu.test(u.charAt(fs))?(o=u.charAt(fs),fs++):(o=n,0===ps&&vs(ln));else e=n;return(r=e!==n?u.substring(r,fs):e)!==n&&(t,r=cs(r)),t=r}function Ba(){var t,r,e;return t=fs,r=Ea(),44===u.charCodeAt(fs)?(e=V,fs++):(e=n,0===ps&&vs(nr)),e!==n?t=r=[r,e,Ea()]:(fs=t,t=n),t}function ga(){var t,r,e;return t=fs,r=Ea(),40===u.charCodeAt(fs)?(e=Ru,fs++):(e=n,0===ps&&vs(Fn)),e!==n?t=r=[r,e,Ea()]:(fs=t,t=n),t}function va(){var t,r,e;return t=fs,r=Ea(),41===u.charCodeAt(fs)?(e=Nu,fs++):(e=n,0===ps&&vs(Bn)),e!==n?t=r=[r,e]:(fs=t,t=n),t}function Ea(){var t,r,e;for(ps++,t=fs,r=[],rt.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(vn));e!==n;)r.push(e),rt.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(vn));return t=u.substring(t,fs),ps--,r=n,0===ps&&vs(gn),t}function ma(){var t,r,e;if(ps++,t=fs,r=[],rt.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(vn)),e!==n)for(;e!==n;)r.push(e),rt.test(u.charAt(fs))?(e=u.charAt(fs),fs++):(e=n,0===ps&&vs(vn));else r=n;return t=r!==n?u.substring(t,fs):r,ps--,t===n&&(r=n,0===ps&&vs(En)),t}const ba=["$value"],Da={eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="},ya={topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1},wa=Object.assign,{strict:xa,minimal:$a}=t,La=[];let Sa,Ta;const ja=t.safeNumber||function(u){if("string"!=typeof u)return u;const t=parseFloat(u);if(!isNaN(t)&&String(t)===u)return t;const r=parseInt(u);return isNaN(r)||String(r)!==u.replace(/^-?\d+\.0+$/,u.split(".")[0])?u:r},Oa=t.skipToken,Za=t.standardBase64||function(u){return Buffer.from(u,"base64").toString("base64")},za=u=>t=>u===t||u.as&&t.as&&u.as===t.as||t.as&&u.ref&&t.as===u.ref[u.ref.length-1]||u.ref&&t.ref&&u.ref.join("")===t.ref.join(""),ka=u=>t=>{if(Array.isArray(t))return t.map(ka(u));const r=t.ref&&u.find((u=>u.as&&u.func&&u.as===t.ref[0]));return r||t},_a=u=>t=>Array.isArray(t)?t.map(_a(u)):t.ref&&!u.find(za(t))?{val:null}:t,Ra=(u,t)=>{if(1===t.ref.length)u.find(za(t))||u.push(t);else{const r=t.ref.shift(),n=u.find((u=>u.ref&&u.ref[0]===r));if(n)Ra(n.expand,t);else{const n={ref:[r],expand:[]};Ra(n.expand,t),u.push(n)}}},Na=(u,t,r=!1)=>{let n=Pa({from:u.from},t,r);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=qa(n[t],u,r);else n=qa(n,u,r);return n},qa=(u,t,r)=>{if(!t)return u;t.apply&&delete t.apply;let n={};t.columns&&"$count"===t.columns[0].as||u.SELECT.where&&t.where||u.SELECT.limit&&t.limit||u.SELECT.orderBy&&t.orderBy||u.SELECT.search&&t.search?n.from=u:n=u.SELECT;for(const u in t)"columns"===u?(t.columns=t.columns.map((u=>n.columns&&n.columns.find((t=>u.ref&&u.ref[0]===t.as||t.ref&&u.ref&&u.ref[0]===t.ref[0]&&!u.expand))||u)),n.columns&&n.groupBy&&t.columns.push(...n.columns.filter((u=>r&&n.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))&&!t.columns.some((t=>t.ref&&t.ref[0]===u.as||t.ref&&u.ref&&t.ref[0]===u.ref[0]||t.as&&t.as===u.as))))||[]),n.columns=t.columns):"from"!==u&&(n[u]=t[u]);const e=[...n.columns&&n.columns.filter((u=>n.groupBy&&n.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))))||[],...n.columns&&n.columns.filter((u=>u&&"object"==typeof u&&"func"in u))||[]];return Ia(n,e,r),{SELECT:n}},Ia=(u,t,r)=>{t.length&&(u.columns=u.columns&&!r?u.columns.reduce(((u,r)=>{const n=t.find(za(r));return n&&u.push(n),u}),[]):t,u.where&&(u.where=u.where.map(ka(u.columns)),u.groupBy&&(u.having=u.where.map(_a(u.groupBy)),delete u.where)),u.columns=u.columns.reduce(((u,r)=>(r.ref&&r.ref.length>1&&t.find(za(r))?Ra(u,{ref:[...r.ref]}):u.push(r),u)),[]))},Pa=(u,t,r)=>{if(!t)return;if(u.apply&&delete u.apply,t.identity&&u.from.SELECT&&(u=u.from.SELECT),(t.apply||t.where&&u.where||t.search&&u.search||t.limit&&u.limit||t.orderBy&&u.orderBy)&&(u.from={SELECT:{...u}}),t.where&&(u.where=t.where),t.search&&(u.search=t.search),t.groupBy){u.groupBy=[];for(const r of t.groupBy)u.groupBy.find(za(r))||u.groupBy.push(r)}t.limit&&(u.limit=t.limit),t.orderBy&&(u.orderBy=t.orderBy);const n=[...u.groupBy||[],...t.aggregate||[]];if(Ia(u,n,r),t.apply&&u.from&&Pa(u.from.SELECT,t.apply),t.concat&&Array.isArray(t.concat)){const r=[];for(let n of t.concat){n.from=1===Object.keys(u).length?u.from:{SELECT:u};const t=Pa(n,n.apply);Array.isArray(t)?r.push(...t):r.push(t)}u=r}return Array.isArray(u)?u:{SELECT:u}},Ua=u=>{Sa.limit&&Sa.limit.offset&&Sa.limit.offset.val&&(u+=Sa.limit.offset.val),(Sa.limit||(Sa.limit={})).offset={val:u}},Ma=(u,t=!1)=>{Sa.orderBy=Sa.orderBy?t?[u,...Sa.orderBy]:[...Sa.orderBy,u]:[u]},Ga=(u,t)=>{for(const r of t)r.ref&&r.ref[0]===u&&r.ref.shift(),r.func&&Ga(u,r.args);return t},Ha=(u,t,r,n=!1)=>{u?.forEach((u=>{u.val===t?u.val=r.val:u.list===t?u.list=r.list:u.func?u.args.forEach(((u,e)=>{u.val===t?u.val=r.val:u.func&&Ha(u.args,t,r,n)})):u.SELECT&&Ja(u.SELECT,t,r,n)}))},Ja=(u,t,r,n=!1)=>{const{where:e,from:o}=u;Ha(e,t,r),o?.ref?.forEach((u=>{Ha(u.where,t,r,!0)}))};if((r=s())!==n&&fs===u.length)return r;throw r!==n&&fs<u.length&&vs({type:"end"}),Es(hs,As<u.length?u.charAt(As):null,As<u.length?gs(As,As+1):gs(As,As))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.prototype.format=function(u){var t="Error: "+this.message;if(this.location){var r,n=null;for(r=0;r<u.length;r++)if(u[r].source===this.location.source){n=u[r].text.split(/\r\n|\n|\r/g);break}var e=this.location.start,o=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(e):e,s=this.location.source+":"+o.line+":"+o.column;if(n){var a=this.location.end,c=peg$padEnd("",o.line.toString().length," "),i=n[e.line-1],f=(e.line===a.line?a.column:i.length+1)-e.column||1;t+="\n --\x3e "+s+"\n"+c+" |\n"+o.line+" | "+i+"\n"+c+" | "+peg$padEnd("",e.column-1," ")+peg$padEnd("",f,"^")}else t+="\n at "+s}return t},peg$SyntaxError.buildMessage=function(u,t){var r={literal:function(u){return'"'+e(u.text)+'"'},class:function(u){var t=u.parts.map((function(u){return Array.isArray(u)?o(u[0])+"-"+o(u[1]):o(u)}));return"["+(u.inverted?"^":"")+t.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(u){return u.description}};function n(u){return u.charCodeAt(0).toString(16).toUpperCase()}function e(u){return u.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(u){return"\\x0"+n(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+n(u)}))}function o(u){return u.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(u){return"\\x0"+n(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+n(u)}))}function s(u){return r[u.type](u)}return"Expected "+function(u){var t,r,n=u.map(s);if(n.sort(),n.length>0){for(t=1,r=1;t<n.length;t++)n[t-1]!==n[t]&&(n[r]=n[t],r++);n.length=r}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}(u)+" but "+function(u){return u?'"'+e(u)+'"':"end of input"}(t)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
1
+ "use strict";function peg$subclass(u,t){function r(){this.constructor=u}r.prototype=t.prototype,u.prototype=new r}function peg$SyntaxError(u,t,r,n){var e=Error.call(this,u);return Object.setPrototypeOf&&Object.setPrototypeOf(e,peg$SyntaxError.prototype),e.expected=t,e.found=r,e.location=n,e.name="SyntaxError",e}function peg$padEnd(u,t,r){return r=r||" ",u.length>t?u:(t-=u.length,u+(r+=r.repeat(t)).slice(0,t))}function peg$parse(u,t){var r,n={},e=(t=void 0!==t?t:{}).grammarSource,o={ODataRelativeURI:vs},s=vs,i="/",a="?",c="&",f="$count",l="$ref",A="$value",p="=",h="$skiptoken=",C="$select=",d="$expand=",F="$filter=",g="$orderby=",B="$top=",E="$skip=",v="$search=",m="$count=",b="$apply=",D="$at",y="$from",$="$toInclusive",x="$to",w="*",L="/$count",S=";",T="'",j=":",O="any",Z="all",z="asc",k="desc",_="[",R="]",I="@",N="$format=",q="eq",P="ne",U="lt",M="gt",G="le",H="ge",J="in",K="null",Q="{",V="}",W=",",X="contains",Y="endswith",uu="startswith",tu="not",ru="and",nu="or",eu="aggregate",ou="groupby",su="filter",iu="search",au="concat",cu="compute",fu="top",lu="skip",Au="orderby",pu="topcount",hu="bottomcount",Cu="topsum",du="bottomsum",Fu="toppercent",gu="bottompercent",Bu="with",Eu="from",vu="as",mu="rollup",bu="$all",Du="identity",yu="true",$u="false",xu="''",wu='"',Lu='\\"',Su="\\\\",Tu="-",ju="T",Ou=".",Zu="Z",zu="e",ku="binary'",_u="==",Ru="(",Iu=")",Nu=/^[a-zA-Z0-9\-_.~]/,qu=/^[^&]/,Pu=/^[^}]/,Uu=/^[^\]]/,Mu=/^[a-zA-Z]/,Gu=/^[^']/,Hu=/^[^"]/,Ju=/^[^ \t\n()"&;]/,Ku=/^[0-9]/,Qu=/^[+\-]/,Vu=/^[_a-zA-Z]/,Wu=/^[_a-zA-Z0-9"."A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Xu=/^[0-9a-fA-F]/,Yu=/^[^\/?]/,ut=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,tt=/^[a-zA-Z0-9\-_]/,rt=/^[ \t\n]/,nt=hs("/",!1),et=hs("?",!1),ot=hs("&",!1),st=hs("$count",!1),it=hs("$ref",!1),at=hs("$value",!1),ct=hs("=",!1),ft=hs("$skiptoken=",!1),lt=hs("$select=",!1),At=hs("$expand=",!1),pt=hs("$filter=",!1),ht=hs("$orderby=",!1),Ct=hs("$top=",!1),dt=hs("$skip=",!1),Ft=hs("$search=",!1),gt=hs("$count=",!1),Bt=hs("$apply=",!1),Et=hs("$at",!1),vt=hs("$from",!1),mt=hs("$toInclusive",!1),bt=hs("$to",!1),Dt=hs("*",!1),yt=hs("/$count",!1),$t=hs(";",!1),xt=hs("'",!1),wt=hs(":",!1),Lt=hs("any",!1),St=hs("all",!1),Tt=hs("asc",!1),jt=hs("desc",!1),Ot=hs("[",!1),Zt=hs("]",!1),zt=Cs([["a","z"],["A","Z"],["0","9"],"-","_",".","~"],!1,!1),kt=Cs(["&"],!0,!1),_t=ds("an aliased parameter (@param)"),Rt=hs("@",!1),It=hs("$format=",!1),Nt=hs("eq",!1),qt=hs("ne",!1),Pt=hs("lt",!1),Ut=hs("gt",!1),Mt=hs("le",!1),Gt=hs("ge",!1),Ht=hs("in",!1),Jt=(hs("add",!1),hs("sub",!1),hs("mul",!1),hs("div",!1),hs("mod",!1),ds("navigation with $count")),Kt=ds("a reference"),Qt=ds("null"),Vt=hs("null",!1),Wt=ds("a json object"),Xt=hs("{",!1),Yt=Cs(["}"],!0,!1),ur=hs("}",!1),tr=ds("a json array"),rr=Cs(["]"],!0,!1),nr=ds("a list"),er=hs(",",!1),or=ds("a function name"),sr=Cs([["a","z"],["A","Z"]],!1,!1),ir=hs("contains",!0),ar=hs("endswith",!0),cr=hs("startswith",!0),fr=hs("NOT",!0),lr=hs("AND",!0),Ar=hs("OR",!0),pr=hs("aggregate",!1),hr=hs("groupby",!1),Cr=hs("filter",!1),dr=hs("search",!1),Fr=hs("concat",!1),gr=hs("compute",!1),Br=hs("top",!1),Er=hs("skip",!1),vr=hs("orderby",!1),mr=hs("topcount",!0),br=hs("bottomcount",!0),Dr=hs("topsum",!0),yr=hs("bottomsum",!0),$r=hs("toppercent",!0),xr=hs("bottompercent",!0),wr=hs("with",!1),Lr=hs("from",!1),Sr=hs("as",!1),Tr=hs("rollup",!1),jr=hs("$all",!1),Or=hs("identity",!1),Zr=ds("a boolean"),zr=hs("true",!1),kr=hs("false",!1),_r=ds("a single quoted string"),Rr=hs("''",!1),Ir=Cs(["'"],!0,!1),Nr=ds("a doubled quoted string"),qr=hs('"',!1),Pr=hs('\\"',!1),Ur=hs("\\\\",!1),Mr=Cs(['"'],!0,!1),Gr=ds("a string"),Hr=Cs([" ","\t","\n","(",")",'"',"&",";"],!0,!1),Jr=ds("a time"),Kr=Cs([["0","9"]],!1,!1),Qr=ds("a date"),Vr=hs("-",!1),Wr=hs("T",!1),Xr=hs(".",!1),Yr=hs("Z",!1),un=Cs(["+","-"],!1,!1),tn=ds("a number"),rn=hs("e",!1),nn=ds("an integer"),en=ds("an identifier"),on=Cs(["_",["a","z"],["A","Z"]],!1,!1),sn=Cs(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"',["A","Z"],["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],"Ͷ","ͷ",["ͺ","ͽ"],"Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԧ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],"ٮ","ٯ",["ٱ","ۓ"],"ە","ۥ","ۦ","ۮ","ۯ",["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],"ߴ","ߵ","ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],"ࢠ",["ࢢ","ࢬ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ॷ"],["ॹ","ॿ"],["অ","ঌ"],"এ","ঐ",["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ","ড়","ঢ়",["য়","ৡ"],"ৰ","ৱ",["ਅ","ਊ"],"ਏ","ਐ",["ਓ","ਨ"],["ਪ","ਰ"],"ਲ","ਲ਼","ਵ","ਸ਼","ਸ","ਹ",["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],"લ","ળ",["વ","હ"],"ઽ","ૐ","ૠ","ૡ",["ଅ","ଌ"],"ଏ","ଐ",["ଓ","ନ"],["ପ","ର"],"ଲ","ଳ",["ଵ","ହ"],"ଽ","ଡ଼","ଢ଼",["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],"ங","ச","ஜ","ஞ","ட","ண","த",["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","ళ"],["వ","హ"],"ఽ","ౘ","ౙ","ౠ","ౡ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ","ೠ","ೡ","ೱ","ೲ",["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ","ൠ","ൡ",["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],"า","ำ",["เ","ๆ"],"ກ","ຂ","ຄ","ງ","ຈ","ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ","ສ","ຫ",["ອ","ະ"],"າ","ຳ","ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ","ၥ","ၦ",["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏼ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤜ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᧁ","ᧇ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],"ᮮ","ᮯ",["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],"ᳵ","ᳶ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ","Ↄ","ↄ",["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],"Ⳳ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ","々","〆",["〱","〵"],"〻","〼",["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿌"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],"ꘪ","ꘫ",["Ꙁ","ꙮ"],["ꙿ","ꚗ"],["ꚠ","ꛥ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꞎ"],["Ꞑ","ꞓ"],["Ꞡ","Ɦ"],["ꟸ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꪀ","ꪯ"],"ꪱ","ꪵ","ꪶ",["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ","נּ","סּ","ףּ","פּ",["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),an=ds("a guid"),cn=ds("a hex value"),fn=Cs([["0","9"],["a","f"],["A","F"]],!1,!1),ln=Cs(["/","?"],!0,!1),An=Cs([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),pn=ds("a binary"),hn=hs("binary'",!1),Cn=Cs([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),dn=hs("==",!1),Fn=hs("(",!1),gn=hs(")",!1),Bn=ds("an optional whitespace"),En=Cs([" ","\t","\n"],!1,!1),vn=ds("a whitespace"),mn=function(u){wi=u},bn=function(){if(Li)return wi.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete wi.expand,delete wi.limit,delete wi.orderBy,wi.apply?_i(wi,wi.apply):{SELECT:wi};let u;if(wi.expand){wi.columns||(wi.columns=["*"],u=!0);for(const u of wi.expand){const t=wi.columns.findIndex(Oi(u));t>-1&&wi.columns.splice(t,1),wi.columns.push(u)}delete wi.expand}return wi.count&&wi.apply&&(wi.__countAggregated=!0),wi.apply?_i(wi,wi.apply,u):{SELECT:wi}},Dn=function(){Li=!0},yn=function(u){return!vi.includes(u)&&{from:{ref:[u]}}},$n=function(u){return[u]},xn=function(u,t){return t},wn=function(u,t){if(t=t&&t[1],!u&&!t)return{from:{ref:[""]}};if(!u&&t&&t.from)return t.from.ref.unshift(""),t;const[r,n]=u,e=[];if(n?n.length>2?e.push({id:r,where:n[1].map((u=>u.val&&u.val.match&&u.val.match(/^"(.*)"$/)?{val:u.val.match(/^"(.*)"$/)[1]}:u))}):e.push({id:r,where:[]}):$i?e.push(`${"object"==typeof r&&"val"in r?r.val:r}`):"object"==typeof r&&"string"==typeof r.val&&r.val.match(/^[1-9]\d*$|^0$/)?e.push({val:Si(r.val)}):e.push(r),t&&t.from){const u=t.from.ref;Object.prototype.hasOwnProperty.call(u[0],"val")&&(e[e.length-1]={id:e[e.length-1],where:[u.shift()]}),e.push(...u)}const o={from:{ref:e}};return t&&t.columns&&(o.columns=t.columns),o},Ln=function(u){return[u]},Sn=function(u,t,r){const n=[u,"=",t];return r&&n.push("and",...r[1]),n},Tn=function(u){u&&u.apply&&(wi.apply=u.apply)},jn=function(u){wi.where=u},On=function(u,t){Pi(t)},Zn=function(u){Pi(u,!0)},zn=function(u){(wi.limit||(wi.limit={})).rows={val:u}},kn=function(u){qi(u)},_n=function(u){u&&(wi.search=u)},Rn=function(u){return u},In=function(){return null},Nn=function(u){return wi.columns=Array.isArray(wi.columns)?wi.columns:[],wi.columns.find(Oi(u))||wi.columns.push(u),u},qn=function(){const u=new Error('"/$count" is not supported for expand operation');throw u.statusCode=501,u},Pn=function(u){return u},Un=function(u){if(u.find((u=>u&&void 0!==u.apply))){const u=new Error('"$apply" is not supported for expand operation');throw u.statusCode=501,u}if(wi.columns){for(const u of wi.columns)wi.expand.find(Oi(u))||wi.expand.push(u);delete wi.columns}else Array.isArray(wi.expand)&&-1===wi.expand.indexOf("*")&&wi.expand.unshift("*")},Mn=function(){xi.push(wi),wi=wi.expand[wi.expand.length-1],wi.expand=[]},Gn=function(){wi.expand.length||wi.expand.push("*"),wi=xi.pop()},Hn=function(u){const t="*"===u?{}:u;return t.expand=["*"],Array.isArray(wi.expand)||(wi.expand=[]),wi.expand.find(Oi(t))||wi.expand.push(t),t},Jn=function(u){return u},Kn=function(u){Ti(u,{SELECT:wi})},Qn=function(u){return u},Vn=function(u){return u},Wn=function(u){return u?[u]:[]},Xn=function(u,t){u.push({xpr:t})},Yn=function(u,t){u.push({val:t})},ue=function(u,t){u.push({val:t})},te=function(u,t,r){u.push(t,...r)},re=function(u){return u},ne=function(u){return u},ee=function(u){return u?[u]:[]},oe=function(u,t){u.push({xpr:t})},se=function(u,t){u.push(...t)},ie=function(u,t){"not"===u[u.length-1]&&"not"===t[0]?u.push("(",...t,")"):u.push(...t)},ae=function(u,t){u.push(t)},ce=function(u,t){u.push({val:t})},fe=function(u,t){u.push(...t)},le=function(u,t,r){u.push(t,...r)},Ae=function(u){return u},pe=function(u){return[u]},he=function(u,t){u.push(t)},Ce=function(u,t){let r=u.pop();if(!t)return["exists",{ref:[...u,{id:r}]}];let n=[];for(let u=0,e=0;u<t.length;++u){let o=t[u];o.ref&&0===o.ref.length&&"="===t[u+1]?n[e++]={func:"contains",args:[{ref:[r]},t[u+=2]]}:n[e++]=o}return n.length<t.length?u.length?(r=u.pop(),["exists",{ref:[...u,{id:r,where:n}]}]):n:["exists",{ref:[...u,{id:r,where:t}]}]},de=function(u,t){let r=u.pop();return["not","exists",{ref:[...u,{id:r,where:["not",{xpr:[...t]}]}]}]},Fe=function(u,t){return t},ge=function(u){return u?[u]:[]},Be=function(u,t){u.push("(",...t,")")},Ee=function(u,t){u.push(...t)},ve=function(u,t){u.push(t)},me=function(u,t){u.push(...t)},be=function(u,t){u.push(...t)},De=function(u,t,r){u.push(t,...r)},ye=function(u){return u},$e=function(u,t){return Ui(u,t)},xe=function(u){return u},we=function(u){return u},Le=function(){const u=new Error('"$orderby" does not support lambda');throw u.statusCode=501,u},Se=function(u,t){return t},Te=function(u,t){return Di(u,t&&{sort:t})},je=function(u){u&&(wi.count=!0)},Oe=function(u,t){return t},Ze=function(u,t){if(void 0!==u){t=Array.isArray(t)?t:[t];for(let r of t)for(const t in r)if("limit"===t&&r.limit&&u.limit&&u.limit.offset&&r.limit.rows)u.limit.rows=r.limit.rows;else if(u[t]||"groupBy"===t&&(u.where||u.search)||"aggregate"===t&&"groupBy"in u&&!("groupBy"in r)){let n=u;u={apply:n},"limit"===t&&r[t].offset&&n.limit&&n.limit.offset&&n.limit.offset.val&&(r[t].offset+=n.limit.offset.val),n=u,n[t]=r[t]}else u[t]=r[t];return{apply:u}}},ze=function(u){return{list:u}},ke=function(u){return"@"+u},_e=function(u,t){Gi(wi,u,t)},Re=function(u){if("json"!==u.toLowerCase()){const u=new Error('Only query parameter "json" is allowed in "$format".');throw u.statusCode=501,u}},Ie=function(u,t,r){return[u,mi[t]||t,r]},Ne=function(u){return{list:u}},qe=function(u,t){return[u,"in",t]},Pe=function(u,t){return t},Ue=function(u,t){return t?{id:u,where:t}:u},Me=function(u,t){return{func:"count",as:"$count",args:[{ref:u}]}},Ge=function(u,t){return t},He=function(u,t){return"null"===u?{val:null}:{ref:[u,...t]}},Je=function(u){return{val:u}},Ke=function(u){return{val:u}},Qe=function(u){return{val:u}},Ve=function(u){return{val:u}},We=function(u){return"number"==typeof u?{val:u}:{val:u,literal:"number"}},Xe=function(u){return{val:u}},Ye=function(u){return{val:u}},uo=function(u){return{val:u}},to=function(){return{val:null}},ro=function(u){return{val:u}},no=function(u){return{val:u}},eo=function(u){return{list:u.replace(/"/g,"").split(",").map((u=>({val:u})))}},oo=function(u,t){return t},so=function(u,t){return[u,...t]},io=function(u){return{list:u}},ao=function(u,t){if(yi&&!(u.toLowerCase()in yi.functions))throw Object.assign(new Error(`Function '${u}' is not supported`),{statusCode:400});return{func:u.toLowerCase(),args:t}},co=function(u,t){return t},fo=function(u,t){return[u,...t]},lo=function(u){return u.length?u[0]:u},Ao=function(u,t,r){return{func:u.toLowerCase(),args:[t,r]}},po=function(){return"not"},ho=function(){return"and"},Co=function(){return"and"},Fo=function(){return"or"},go=function(u){return u},Bo=function(u){return u},Eo=function(u){return u},vo=function(u){return u},mo=function(u){return u},bo=function(u){return u},Do=function(u){return u},yo=function(u){return u},$o=function(u){return u},xo=function(u,t){if(u=u.toLowerCase(),!bi[u])throw Object.assign(new Error(`Transformation "${u}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:u,args:t}]}},wo=function(u){return u},Lo=function(u,t){return t},So=function(u,t){return{aggregate:[u,...t]}},To=function(u){return{func:"count",args:[{val:1}],as:u}},jo=function(u){return u},Oo=function(u,t,r){return{func:t,args:[u],as:r}},Zo=function(u){return u.toLowerCase()},zo=function(u){return u},ko=function(u,t){return t},_o=function(u,t){return{groupBy:[u,...t]}},Ro=function(u,t,r){return r},Io=function(u,t,r){let n={};return n=r?{groupBy:[u,...t],...r.apply}:{groupBy:[u,...t]},n},No=function(u){return u},qo=function(u){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t},Po=function(u){return u},Uo=function(u){return{where:u}},Mo=function(u){if(u)return u},Go=function(u){return{search:u}},Ho=function(u,t){return t},Jo=function(u,t){return{concat:[u,...t]}},Ko=function(u,t){return[u,t]},Qo=function(){return{identity:!0}},Vo=function(u){return{limit:{rows:{val:u}}}},Wo=function(u){return{limit:{offset:{val:u}}}},Xo=function(u,t){return t},Yo=function(u,t){return{orderBy:[u,...t]}},us=function(u){return"true"===u},ts=function(u){return u.replace(/''/g,"'")},rs=function(u){return u.replace(/\\\\/g,"\\").replace(/\\"/g,'"')},ns=function(u){if(u.split("-")[0].length>4)throw Object.assign(new Error(`The type 'Edm.DateTimeOffset' is not compatible with '${u}'`),{statusCode:400});return u},es=function(u){return Si(u)},os=function(u){return parseInt(u)},ss=function(u){return u},is=function(u){return{val:u}},as=function(u){return ji(u)},cs=0|t.peg$currPos,fs=[{line:1,column:1}],ls=cs,As=t.peg$maxFailExpected||[],ps=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function hs(u,t){return{type:"literal",text:u,ignoreCase:t}}function Cs(u,t,r){return{type:"class",parts:u,inverted:t,ignoreCase:r}}function ds(u){return{type:"other",description:u}}function Fs(t){var r,n=fs[t];if(n)return n;if(t>=fs.length)r=fs.length-1;else for(r=t;!fs[--r];);for(n={line:(n=fs[r]).line,column:n.column};r<t;)10===u.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return fs[t]=n,n}function gs(u,t,r){var n=Fs(u),o=Fs(t),s={source:e,start:{offset:u,line:n.line,column:n.column},end:{offset:t,line:o.line,column:o.column}};return r&&e&&"function"==typeof e.offset&&(s.start=e.offset(s.start),s.end=e.offset(s.end)),s}function Bs(u){cs<ls||(cs>ls&&(ls=cs,As=[]),As.push(u))}function Es(u,t,r){return new peg$SyntaxError(peg$SyntaxError.buildMessage(u,t),u,t,r)}function vs(){var t,r,e,o,s,f,l,A,p,h,C,d,F,g,B;if(t=cs,47===u.charCodeAt(cs)?(r=i,cs++):(r=n,0===ps&&Bs(nt)),r===n&&(r=null),e=cs,(o=ms())!==n&&(e,o=mn(o)),(e=o)!==n){if(o=cs,s=Bi(),63===u.charCodeAt(cs)?(f=a,cs++):(f=n,0===ps&&Bs(et)),f!==n){if(l=Bi(),A=cs,(p=Ds())!==n){for(h=[],C=cs,d=Bi(),38===u.charCodeAt(cs)?(F=c,cs++):(F=n,0===ps&&Bs(ot)),F!==n?(g=Bi(),(B=Ds())!==n?C=d=[d,F,g,B]:(cs=C,C=n)):(cs=C,C=n);C!==n;)h.push(C),C=cs,d=Bi(),38===u.charCodeAt(cs)?(F=c,cs++):(F=n,0===ps&&Bs(ot)),F!==n?(g=Bi(),(B=Ds())!==n?C=d=[d,F,g,B]:(cs=C,C=n)):(cs=C,C=n);A=p=[p,h]}else cs=A,A=n;A===n&&(A=null),o=s=[s,f,l,A]}else cs=o,o=n;o===n&&(o=null),s=Bi(),t,t=bn()}else cs=t,t=n;return t}function ms(){var t,r,e,o,s,a,c;return t=cs,u.substr(cs,6)===f?(r=f,cs+=6):(r=n,0===ps&&Bs(st)),r!==n&&(t,r=Dn()),(t=r)===n&&(t=cs,r=cs,u.substr(cs,4)===l?(e=l,cs+=4):(e=n,0===ps&&Bs(it)),e===n&&(u.substr(cs,6)===A?(e=A,cs+=6):(e=n,0===ps&&Bs(at))),(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=yn(r)),(t=r)===n&&(t=cs,r=cs,(e=Ai())!==n?(o=cs,(s=Fi())!==n&&(a=gi())!==n?o=s=[s,a]:(cs=o,o=n),o===n&&(o=cs,(s=Fi())!==n&&(a=bs())!==n&&(c=gi())!==n?o=s=[s,a,c]:(cs=o,o=n)),o===n&&(o=null),s=cs,ps++,a=Ci(),ps--,a===n?s=void 0:(cs=s,s=n),s!==n?r=e=[e,o,s]:(cs=r,r=n)):(cs=r,r=n),r===n&&(r=cs,(e=Ci())!==n&&(r,e=$n(e)),r=e),r===n&&(r=null),e=cs,o=cs,47===u.charCodeAt(cs)?(s=i,cs++):(s=n,0===ps&&Bs(nt)),s!==n&&(o,s=xn(r,s)),(o=s)!==n?((s=ms())===n&&(s=null),e=o=[o,s]):(cs=e,e=n),e===n&&(e=null),t,t=wn(r,e))),t}function bs(){var t,r,e,o,s,i,a;return t=cs,(r=Hs())!==n&&(t,r=Ln(r)),(t=r)===n&&(t=cs,(r=Gs())!==n?(Bi(),61===u.charCodeAt(cs)?(e=p,cs++):(e=n,0===ps&&Bs(ct)),e!==n?(Bi(),(o=Hs())!==n?(s=cs,(i=di())!==n&&(a=bs())!==n?s=i=[i,a]:(cs=s,s=n),s===n&&(s=null),t,t=Sn(r,o,s)):(cs=t,t=n)):(cs=t,t=n)):(cs=t,t=n)),t}function Ds(){var t,r,e,o;return t=cs,(r=ys())!==n&&(t,r=Tn(r)),(t=r)===n&&(t=cs,u.substr(cs,11)===h?(r=h,cs+=11):(r=n,0===ps&&Bs(ft)),r!==n?(e=Bi(),o=function(){var t,r;t=cs,r=function(){var t,r,e;t=cs,r=[],e=u.charAt(cs),ut.test(e)?cs++:(e=n,0===ps&&Bs(An));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),ut.test(e)?cs++:(e=n,0===ps&&Bs(An));else r=n;t=r!==n?u.substring(t,cs):r;return t}(),r===n&&(r=null);return t,r=Kn(r),t=r,t}(),t=r=[r,e,o]):(cs=t,t=n),t===n&&(t=function(){var t,r,e,o;t=cs,u.substr(cs,3)===D?(r=D,cs+=3):(r=n,0===ps&&Bs(Et));r===n&&(u.substr(cs,5)===y?(r=y,cs+=5):(r=n,0===ps&&Bs(vt)),r===n&&(u.substr(cs,12)===$?(r=$,cs+=12):(r=n,0===ps&&Bs(mt)),r===n&&(u.substr(cs,3)===x?(r=x,cs+=3):(r=n,0===ps&&Bs(bt)))));r!==n?(61===u.charCodeAt(cs)?(e=p,cs++):(e=n,0===ps&&Bs(ct)),e!==n&&(o=fi())!==n?t=r=[r,e,o]:(cs=t,t=n)):(cs=t,t=n);return t}(),t===n&&(t=function(){var t,r,e,o,s;t=cs,u.substr(cs,8)===N?(r=N,cs+=8):(r=n,0===ps&&Bs(It));if(r!==n){for(e=cs,o=[],s=u.charAt(cs),qu.test(s)?cs++:(s=n,0===ps&&Bs(kt));s!==n;)o.push(s),s=u.charAt(cs),qu.test(s)?cs++:(s=n,0===ps&&Bs(kt));e=u.substring(e,cs),t,t=Re(e)}else cs=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s,i;t=cs,r=[],e=u.charAt(cs),Nu.test(e)?cs++:(e=n,0===ps&&Bs(zt));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),Nu.test(e)?cs++:(e=n,0===ps&&Bs(zt));else r=n;if(r!==n){if(e=cs,61===u.charCodeAt(cs)?(o=p,cs++):(o=n,0===ps&&Bs(ct)),o!==n){for(s=[],i=u.charAt(cs),qu.test(i)?cs++:(i=n,0===ps&&Bs(kt));i!==n;)s.push(i),i=u.charAt(cs),qu.test(i)?cs++:(i=n,0===ps&&Bs(kt));e=o=[o,s]}else cs=e,e=n;e===n&&(e=null),t=r=[r,e]}else cs=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s;t=cs,r=Ns(),r!==n?(61===u.charCodeAt(cs)?(e=p,cs++):(e=n,0===ps&&Bs(ct)),e!==n?(o=cs,ps++,s=Ns(),ps--,s===n?o=void 0:(cs=o,o=n),o!==n?(s=function(){var t,r,e,o;t=Hs(),t===n&&(t=Js())===n&&(t=Ks())===n&&(t=cs,91===u.charCodeAt(cs)?(r=_,cs++):(r=n,0===ps&&Bs(Ot)),r!==n&&(e=Qs())!==n?(93===u.charCodeAt(cs)?(o=R,cs++):(o=n,0===ps&&Bs(Zt)),o!==n?(t,t=ze(e)):(cs=t,t=n)):(cs=t,t=n));return t}(),s!==n?(t,t=_e(r,s)):(cs=t,t=n)):(cs=t,t=n)):(cs=t,t=n)):(cs=t,t=n);return t}()))))),t}function ys(){var t,r,e,o,s,i,a,c;if(t=cs,u.substr(cs,8)===C?(r=C,cs+=8):(r=n,0===ps&&Bs(lt)),r!==n)if(e=Bi(),(o=$s())!==n){for(s=[],i=cs,(a=di())!==n&&(c=$s())!==n?i=a=[a,c]:(cs=i,i=n);i!==n;)s.push(i),i=cs,(a=di())!==n&&(c=$s())!==n?i=a=[a,c]:(cs=i,i=n);t=r=[r,e,o,s]}else cs=t,t=n;else cs=t,t=n;if(t===n){if(t=cs,u.substr(cs,8)===d?(r=d,cs+=8):(r=n,0===ps&&Bs(At)),r!==n)if(e=Bi(),(o=ws())!==n){for(s=[],i=cs,(a=di())!==n&&(c=ws())!==n?i=a=[a,c]:(cs=i,i=n);i!==n;)s.push(i),i=cs,(a=di())!==n&&(c=ws())!==n?i=a=[a,c]:(cs=i,i=n);i=function(){var t,r;t=cs,u.substr(cs,7)===L?(r=L,cs+=7):(r=n,0===ps&&Bs(yt));r!==n&&(t,r=qn());return t=r,t}(),i===n&&(i=null),t=r=[r,e,o,s,i]}else cs=t,t=n;else cs=t,t=n;if(t===n&&(t=cs,u.substr(cs,8)===F?(r=F,cs+=8):(r=n,0===ps&&Bs(pt)),r!==n?(e=Bi(),(o=Os())!==n?(t,t=jn(o)):(cs=t,t=n)):(cs=t,t=n),t===n)){if(t=cs,u.substr(cs,9)===g?(r=g,cs+=9):(r=n,0===ps&&Bs(ht)),r!==n)if(e=Bi(),(o=Rs())!==n){for(s=[],i=cs,(a=di())!==n&&(c=Rs())!==n?(i,i=On(o,c)):(cs=i,i=n);i!==n;)s.push(i),i=cs,(a=di())!==n&&(c=Rs())!==n?(i,i=On(o,c)):(cs=i,i=n);t,t=Zn(o)}else cs=t,t=n;else cs=t,t=n;t===n&&(t=cs,u.substr(cs,5)===B?(r=B,cs+=5):(r=n,0===ps&&Bs(Ct)),r!==n?(e=Bi(),(o=Ls())!==n?(t,t=zn(o)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,6)===E?(r=E,cs+=6):(r=n,0===ps&&Bs(dt)),r!==n?(e=Bi(),(o=Ss())!==n?(t,t=kn(o)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,8)===v?(r=v,cs+=8):(r=n,0===ps&&Bs(Ft)),r!==n?(e=Bi(),(o=Ts())!==n?(t,t=_n(o)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,7)===m?(r=m,cs+=7):(r=n,0===ps&&Bs(gt)),r!==n?(e=Bi(),o=function(){var u,t;u=cs,t=ci(),t!==n&&(u,t=je(t));return u=t,u}(),o!==n?t=r=[r,e,o]:(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,7)===b?(r=b,cs+=7):(r=n,0===ps&&Bs(Bt)),r!==n?(e=Bi(),(o=Is())!==n?(t,t=Rn(o)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,8)===d?(r=d,cs+=8):(r=n,0===ps&&Bs(At)),r!==n&&(t,r=In()),t=r))))))}}return t}function $s(){var t,r;return t=cs,42===u.charCodeAt(cs)?(r=w,cs++):(r=n,0===ps&&Bs(Dt)),r===n&&(r=Gs()),r!==n&&(t,r=Nn(r)),t=r}function xs(){var t,r,e,o,s;return t=cs,r=cs,(e=Fi())!==n&&(r,e=Mn()),(r=e)!==n?(e=function(){var t,r,e,o,s;for(t=cs,r=[],e=cs,(o=ys())!==n?(Bi(),59===u.charCodeAt(cs)?(s=S,cs++):(s=n,0===ps&&Bs($t)),s===n&&(s=null),e,e=Pn(o)):(cs=e,e=n);e!==n;)r.push(e),e=cs,(o=ys())!==n?(Bi(),59===u.charCodeAt(cs)?(s=S,cs++):(s=n,0===ps&&Bs($t)),s===n&&(s=null),e,e=Pn(o)):(cs=e,e=n);return t,Un(r)}(),o=cs,(s=gi())!==n&&(o,s=Gn()),(o=s)!==n?t=r=[r,e,o]:(cs=t,t=n)):(cs=t,t=n),t}function ws(){var t,r,e;return t=cs,r=cs,42===u.charCodeAt(cs)?(e=w,cs++):(e=n,0===ps&&Bs(Dt)),e===n&&(e=Gs()),e!==n&&(r,e=Hn(e)),(r=e)!==n?((e=xs())===n&&(e=null),t=r=[r,e]):(cs=t,t=n),t}function Ls(){var u,t;return u=cs,(t=li())!==n&&(u,t=Jn(t)),u=t}function Ss(){var u,t;return u=cs,(t=li())!==n&&(u,t=Qn(t)),u=t}function Ts(){var u,t;return u=cs,(t=js())!==n&&(u,t=Vn(t)),(u=t)===n&&(u=Bi()),u}function js(){var t,r,e,o,s,i,a;if(t=cs,r=cs,(e=Ws())===n&&(e=null),r,r=e=Wn(e),e=cs,(o=Fi())!==n&&(s=js())!==n&&(i=gi())!==n?(e,e=Xn(r,s)):(cs=e,e=n),e===n&&(e=cs,o=function(){var t,r,e,o,s;ps++,t=cs,34===u.charCodeAt(cs)?(r=wu,cs++):(r=n,0===ps&&Bs(qr));if(r!==n){for(e=cs,o=[],u.substr(cs,2)===Lu?(s=Lu,cs+=2):(s=n,0===ps&&Bs(Pr)),s===n&&(u.substr(cs,2)===Su?(s=Su,cs+=2):(s=n,0===ps&&Bs(Ur)),s===n&&(s=u.charAt(cs),Hu.test(s)?cs++:(s=n,0===ps&&Bs(Mr))));s!==n;)o.push(s),u.substr(cs,2)===Lu?(s=Lu,cs+=2):(s=n,0===ps&&Bs(Pr)),s===n&&(u.substr(cs,2)===Su?(s=Su,cs+=2):(s=n,0===ps&&Bs(Ur)),s===n&&(s=u.charAt(cs),Hu.test(s)?cs++:(s=n,0===ps&&Bs(Mr))));e=u.substring(e,cs),34===u.charCodeAt(cs)?(o=wu,cs++):(o=n,0===ps&&Bs(qr)),o!==n?(t,t=rs(e)):(cs=t,t=n)}else cs=t,t=n;ps--,t===n&&(r=n,0===ps&&Bs(Nr));return t}(),o!==n&&(e,o=Yn(r,o)),(e=o)===n&&(e=cs,o=cs,ps++,39===u.charCodeAt(cs)?(s=T,cs++):(s=n,0===ps&&Bs(xt)),ps--,s===n?o=void 0:(cs=o,o=n),o!==n?(s=function(){var t,r,e;ps++,t=cs,r=[],e=u.charAt(cs),Ju.test(e)?cs++:(e=n,0===ps&&Bs(Hr));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),Ju.test(e)?cs++:(e=n,0===ps&&Bs(Hr));else r=n;t=r!==n?u.substring(t,cs):r;ps--,t===n&&(r=n,0===ps&&Bs(Gr));return t}(),s!==n?(e,e=ue(r,s)):(cs=e,e=n)):(cs=e,e=n))),e!==n){for(o=[],s=cs,(i=Xs())===n&&(i=ui())===n&&(i=Ys()),i!==n&&(a=js())!==n?(s,s=te(r,i,a)):(cs=s,s=n);s!==n;)o.push(s),s=cs,(i=Xs())===n&&(i=ui())===n&&(i=Ys()),i!==n&&(a=js())!==n?(s,s=te(r,i,a)):(cs=s,s=n);t,t=re(r)}else cs=t,t=n;return t}function Os(){var u,t;return u=cs,(t=Zs())!==n&&(u,t=ne(t)),u=t}function Zs(){var t,r,e,o,s,i,a;if(t=cs,r=cs,(e=Ws())===n&&(e=null),r,r=e=ee(e),e=cs,(o=Fi())!==n&&(s=Zs())!==n&&(i=gi())!==n?(e,e=oe(r,s)):(cs=e,e=n),e===n&&(e=cs,(o=qs())!==n&&(e,o=se(r,o)),(e=o)===n&&(e=cs,(o=zs())!==n&&(e,o=ie(r,o)),(e=o)===n&&(e=cs,o=function(){var t,r,e,o;t=cs,r=u.substr(cs,8),r.toLowerCase()===X?cs+=8:(r=n,0===ps&&Bs(ir));r===n&&((r=u.substr(cs,8)).toLowerCase()===Y?cs+=8:(r=n,0===ps&&Bs(ar)),r===n&&((r=u.substr(cs,10)).toLowerCase()===uu?cs+=10:(r=n,0===ps&&Bs(cr))));r!==n&&Fi()!==n&&(e=Ms())!==n&&di()!==n&&(o=Ms())!==n&&gi()!==n?(t,t=Ao(r,e,o)):(cs=t,t=n);return t}(),o!==n&&(e,o=ae(r,o)),(e=o)===n&&(e=cs,(o=ci())!==n&&(e,o=ce(r,o)),(e=o)===n&&(e=cs,(o=Us())!==n&&(e,o=fe(r,o)),e=o))))),e!==n){for(o=[],s=cs,(i=Xs())===n&&(i=ui()),i!==n&&(a=Zs())!==n?(s,s=le(r,i,a)):(cs=s,s=n);s!==n;)o.push(s),s=cs,(i=Xs())===n&&(i=ui()),i!==n&&(a=Zs())!==n?(s,s=le(r,i,a)):(cs=s,s=n);t,t=Ae(r)}else cs=t,t=n;return t}function zs(){var t,r,e,o,s,a,c;if(t=cs,r=cs,(e=Ai())!==n&&(r,e=pe(e)),(r=e)!==n)if(47===u.charCodeAt(cs)?(e=i,cs++):(e=n,0===ps&&Bs(nt)),e!==n){for(o=[],s=cs,(a=Ai())!==n?(47===u.charCodeAt(cs)?(c=i,cs++):(c=n,0===ps&&Bs(nt)),c!==n?(s,s=he(r,a)):(cs=s,s=n)):(cs=s,s=n);s!==n;)o.push(s),s=cs,(a=Ai())!==n?(47===u.charCodeAt(cs)?(c=i,cs++):(c=n,0===ps&&Bs(nt)),c!==n?(s,s=he(r,a)):(cs=s,s=n)):(cs=s,s=n);s=cs,a=function(){var t,r,e;t=cs,u.substr(cs,3)===O?(r=O,cs+=3):(r=n,0===ps&&Bs(Lt));r!==n&&Fi()!==n?((e=_s())===n&&(e=null),gi()!==n?(t,t=xe(e)):(cs=t,t=n)):(cs=t,t=n);return t}(),a!==n&&(s,a=Ce(r,a)),(s=a)===n&&(s=cs,a=function(){var t,r,e;t=cs,u.substr(cs,3)===Z?(r=Z,cs+=3):(r=n,0===ps&&Bs(St));r!==n&&Fi()!==n&&(e=_s())!==n&&gi()!==n?(t,t=we(e)):(cs=t,t=n);return t}(),a!==n&&(s,a=de(r,a)),s=a),s!==n?(t,t=Fe(r,s)):(cs=t,t=n)}else cs=t,t=n;else cs=t,t=n;return t}function ks(){var u,t,r,e,o,s,i;if(u=cs,t=cs,(r=Ws())===n&&(r=null),t,t=r=ge(r),r=cs,(e=Fi())!==n&&(o=ks())!==n&&(s=gi())!==n?(r,r=Be(t,o)):(cs=r,r=n),r===n&&(r=cs,(e=qs())!==n&&(r,e=Ee(t,e)),(r=e)===n&&(r=cs,(e=Vs())!==n&&(r,e=ve(t,e)),(r=e)===n&&(r=cs,(e=zs())!==n&&(r,e=me(t,e)),(r=e)===n&&(r=cs,(e=Us())!==n&&(r,e=be(t,e)),r=e)))),r!==n){for(e=[],o=cs,(s=Xs())===n&&(s=ui()),s!==n&&(i=ks())!==n?(o,o=De(t,s,i)):(cs=o,o=n);o!==n;)e.push(o),o=cs,(s=Xs())===n&&(s=ui()),s!==n&&(i=ks())!==n?(o,o=De(t,s,i)):(cs=o,o=n);u,u=ye(t)}else cs=u,u=n;return u}function _s(){var t,r,e,o;return t=cs,(r=Ai())!==n?(58===u.charCodeAt(cs)?(e=j,cs++):(e=n,0===ps&&Bs(wt)),e!==n&&(o=ks())!==n?(t,t=$e(r,o)):(cs=t,t=n)):(cs=t,t=n),t}function Rs(){var t,r,e,o,s;return t=cs,r=cs,(e=zs())!==n&&(r,e=Le()),(r=e)===n&&(r=Vs())===n&&(r=Gs()),r!==n?(e=cs,Ei()!==n?(o=cs,u.substr(cs,3)===z?(s=z,cs+=3):(s=n,0===ps&&Bs(Tt)),s===n&&(u.substr(cs,4)===k?(s=k,cs+=4):(s=n,0===ps&&Bs(jt))),(o=s!==n?u.substring(o,cs):s)!==n?(e,e=Se(r,o)):(cs=e,e=n)):(cs=e,e=n),e===n&&(e=null),t,t=Te(r,e)):(cs=t,t=n),t}function Is(){var t,r,e,o,s,a;if(t=cs,(r=ti())!==n){for(e=[],o=cs,47===u.charCodeAt(cs)?(s=i,cs++):(s=n,0===ps&&Bs(nt)),s!==n&&(a=ti())!==n?(o,o=Oe(r,a)):(cs=o,o=n);o!==n;)e.push(o),o=cs,47===u.charCodeAt(cs)?(s=i,cs++):(s=n,0===ps&&Bs(nt)),s!==n&&(a=ti())!==n?(o,o=Oe(r,a)):(cs=o,o=n);t,t=Ze(r,e)}else cs=t,t=n;return t}function Ns(){var t,r,e;return ps++,t=cs,64===u.charCodeAt(cs)?(r=I,cs++):(r=n,0===ps&&Bs(Rt)),r!==n&&(e=Ai())!==n?(t,t=ke(e)):(cs=t,t=n),ps--,t===n&&(r=n,0===ps&&Bs(_t)),t}function qs(){var t,r,e,o,s;return t=cs,(r=Ms())!==n&&Ei()!==n?(e=cs,u.substr(cs,2)===q?(o=q,cs+=2):(o=n,0===ps&&Bs(Nt)),o===n&&(u.substr(cs,2)===P?(o=P,cs+=2):(o=n,0===ps&&Bs(qt)),o===n&&(u.substr(cs,2)===U?(o=U,cs+=2):(o=n,0===ps&&Bs(Pt)),o===n&&(u.substr(cs,2)===M?(o=M,cs+=2):(o=n,0===ps&&Bs(Ut)),o===n&&(u.substr(cs,2)===G?(o=G,cs+=2):(o=n,0===ps&&Bs(Mt)),o===n&&(u.substr(cs,2)===H?(o=H,cs+=2):(o=n,0===ps&&Bs(Gt))))))),(e=o!==n?u.substring(e,cs):o)!==n&&(o=Ei())!==n&&(s=Ms())!==n?(t,t=Ie(r,e,s)):(cs=t,t=n)):(cs=t,t=n),t}function Ps(){var u,t;return u=cs,(t=Ns())!==n&&(u,t=Ne(t)),(u=t)===n&&(u=function(){var u,t,r;ps++,u=cs,t=Fi(),t!==n&&(r=Qs())!==n&&gi()!==n?(u,u=io(r)):(cs=u,u=n);ps--,u===n&&(t=n,0===ps&&Bs(nr));return u}()),u}function Us(){var t,r,e,o;return t=cs,(r=Ms())!==n&&Ei()!==n?(u.substr(cs,2)===J?(e=J,cs+=2):(e=n,0===ps&&Bs(Ht)),e!==n&&Ei()!==n&&(o=Ps())!==n?(t,t=qe(r,o)):(cs=t,t=n)):(cs=t,t=n),t}function Ms(){var t;return(t=function(){var t,r,e,o,s,a,c;ps++,t=cs,r=[],e=cs,(o=Ai())!==n?(s=cs,(a=Fi())!==n&&(c=bs())!==n&&gi()!==n?(s,s=Pe(o,c)):(cs=s,s=n),s===n&&(s=null),47===u.charCodeAt(cs)?(a=i,cs++):(a=n,0===ps&&Bs(nt)),a!==n?(e,e=Ue(o,s)):(cs=e,e=n)):(cs=e,e=n);if(e!==n)for(;e!==n;)r.push(e),e=cs,(o=Ai())!==n?(s=cs,(a=Fi())!==n&&(c=bs())!==n&&gi()!==n?(s,s=Pe(o,c)):(cs=s,s=n),s===n&&(s=null),47===u.charCodeAt(cs)?(a=i,cs++):(a=n,0===ps&&Bs(nt)),a!==n?(e,e=Ue(o,s)):(cs=e,e=n)):(cs=e,e=n);else r=n;r!==n?(u.substr(cs,6)===f?(e=f,cs+=6):(e=n,0===ps&&Bs(st)),e!==n?(t,t=Me(r,e)):(cs=t,t=n)):(cs=t,t=n);ps--,t===n&&(r=n,0===ps&&Bs(Jt));return t}())===n&&(t=Vs())===n&&(t=Hs())===n&&(t=Gs())===n&&(t=Js())===n&&(t=Ks())===n&&(t=function(){var t,r,e,o,s;ps++,t=cs,91===u.charCodeAt(cs)?(r=_,cs++):(r=n,0===ps&&Bs(Ot));if(r!==n){for(e=cs,o=[],s=u.charAt(cs),Uu.test(s)?cs++:(s=n,0===ps&&Bs(rr));s!==n;)o.push(s),s=u.charAt(cs),Uu.test(s)?cs++:(s=n,0===ps&&Bs(rr));e=u.substring(e,cs),93===u.charCodeAt(cs)?(o=R,cs++):(o=n,0===ps&&Bs(Zt)),o!==n?(t,t=eo(e)):(cs=t,t=n)}else cs=t,t=n;ps--,t===n&&(r=n,0===ps&&Bs(nr));return t}()),t}function Gs(){var t,r,e,o,s,a;if(ps++,t=cs,(r=Ai())!==n){for(e=[],o=cs,47===u.charCodeAt(cs)?(s=i,cs++):(s=n,0===ps&&Bs(nt)),s!==n&&(a=Ai())!==n?(o,o=Ge(r,a)):(cs=o,o=n);o!==n;)e.push(o),o=cs,47===u.charCodeAt(cs)?(s=i,cs++):(s=n,0===ps&&Bs(nt)),s!==n&&(a=Ai())!==n?(o,o=Ge(r,a)):(cs=o,o=n);t,t=He(r,e)}else cs=t,t=n;return ps--,t===n&&(r=n,0===ps&&Bs(Kt)),t}function Hs(){var t,r;return t=cs,(r=ci())!==n&&(t,r=Je(r)),(t=r)===n&&(t=cs,(r=fi())!==n&&(t,r=Ke(r)),(t=r)===n&&(t=cs,r=function(){var t,r,e,o,s,i,a,c,f,l;ps++,t=cs,r=cs,e=u.charAt(cs),Ku.test(e)?cs++:(e=n,0===ps&&Bs(Kr));e!==n?(o=u.charAt(cs),Ku.test(o)?cs++:(o=n,0===ps&&Bs(Kr)),o!==n?(58===u.charCodeAt(cs)?(s=j,cs++):(s=n,0===ps&&Bs(wt)),s!==n?(i=u.charAt(cs),Ku.test(i)?cs++:(i=n,0===ps&&Bs(Kr)),i!==n?(a=u.charAt(cs),Ku.test(a)?cs++:(a=n,0===ps&&Bs(Kr)),a!==n?(58===u.charCodeAt(cs)?(c=j,cs++):(c=n,0===ps&&Bs(wt)),c!==n?(f=u.charAt(cs),Ku.test(f)?cs++:(f=n,0===ps&&Bs(Kr)),f!==n?(l=u.charAt(cs),Ku.test(l)?cs++:(l=n,0===ps&&Bs(Kr)),l!==n?r=e=[e,o,s,i,a,c,f,l]:(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n);t=r!==n?u.substring(t,cs):r;ps--,t===n&&(r=n,0===ps&&Bs(Jr));return t}(),r!==n&&(t,r=Qe(r)),(t=r)===n&&(t=cs,(r=pi())!==n&&(t,r=Ve(r)),(t=r)===n&&(t=cs,r=function(){var t,r,e,o,s,i,a,c,f,l,A;ps++,t=cs,r=cs,ps++,e=function(){var t,r,e;t=cs,r=[],e=u.charAt(cs),Ku.test(e)?cs++:(e=n,0===ps&&Bs(Kr));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),Ku.test(e)?cs++:(e=n,0===ps&&Bs(Kr));else r=n;r!==n?(45===u.charCodeAt(cs)?(e=Tu,cs++):(e=n,0===ps&&Bs(Vr)),e!==n?t=r=[r,e]:(cs=t,t=n)):(cs=t,t=n);return t}(),ps--,e===n?r=void 0:(cs=r,r=n);if(r!==n){if(e=cs,o=cs,s=u.charAt(cs),Qu.test(s)?cs++:(s=n,0===ps&&Bs(un)),s===n&&(s=null),i=[],a=u.charAt(cs),Ku.test(a)?cs++:(a=n,0===ps&&Bs(Kr)),a!==n)for(;a!==n;)i.push(a),a=u.charAt(cs),Ku.test(a)?cs++:(a=n,0===ps&&Bs(Kr));else i=n;if(i!==n){if(a=cs,46===u.charCodeAt(cs)?(c=Ou,cs++):(c=n,0===ps&&Bs(Xr)),c!==n){if(f=[],l=u.charAt(cs),Ku.test(l)?cs++:(l=n,0===ps&&Bs(Kr)),l!==n)for(;l!==n;)f.push(l),l=u.charAt(cs),Ku.test(l)?cs++:(l=n,0===ps&&Bs(Kr));else f=n;f!==n?a=c=[c,f]:(cs=a,a=n)}else cs=a,a=n;if(a===n&&(a=null),c=cs,101===u.charCodeAt(cs)?(f=zu,cs++):(f=n,0===ps&&Bs(rn)),f!==n){if(l=[],A=u.charAt(cs),Ku.test(A)?cs++:(A=n,0===ps&&Bs(Kr)),A!==n)for(;A!==n;)l.push(A),A=u.charAt(cs),Ku.test(A)?cs++:(A=n,0===ps&&Bs(Kr));else l=n;l!==n?c=f=[f,l]:(cs=c,c=n)}else cs=c,c=n;c===n&&(c=null),o=s=[s,i,a,c]}else cs=o,o=n;(e=o!==n?u.substring(e,cs):o)!==n?(t,t=es(e)):(cs=t,t=n)}else cs=t,t=n;ps--,t===n&&(r=n,0===ps&&Bs(tn));return t}(),r!==n&&(t,r=We(r)),(t=r)===n&&(t=cs,r=function(){var t,r,e,o,s;ps++,t=cs,39===u.charCodeAt(cs)?(r=T,cs++):(r=n,0===ps&&Bs(xt));if(r!==n){for(e=cs,o=[],u.substr(cs,2)===xu?(s=xu,cs+=2):(s=n,0===ps&&Bs(Rr)),s===n&&(s=u.charAt(cs),Gu.test(s)?cs++:(s=n,0===ps&&Bs(Ir)));s!==n;)o.push(s),u.substr(cs,2)===xu?(s=xu,cs+=2):(s=n,0===ps&&Bs(Rr)),s===n&&(s=u.charAt(cs),Gu.test(s)?cs++:(s=n,0===ps&&Bs(Ir)));e=u.substring(e,cs),39===u.charCodeAt(cs)?(o=T,cs++):(o=n,0===ps&&Bs(xt)),o!==n?(t,t=ts(e)):(cs=t,t=n)}else cs=t,t=n;ps--,t===n&&(r=n,0===ps&&Bs(_r));return t}(),r!==n&&(t,r=Xe(r)),(t=r)===n&&(t=cs,r=function(){var t,r,e,o,s,i;ps++,t=cs,u.substr(cs,7)===ku?(r=ku,cs+=7):(r=n,0===ps&&Bs(hn));if(r!==n){if(e=cs,o=cs,s=[],i=u.charAt(cs),tt.test(i)?cs++:(i=n,0===ps&&Bs(Cn)),i!==n)for(;i!==n;)s.push(i),i=u.charAt(cs),tt.test(i)?cs++:(i=n,0===ps&&Bs(Cn));else s=n;s!==n?(u.substr(cs,2)===_u?(i=_u,cs+=2):(i=n,0===ps&&Bs(dn)),i===n&&(61===u.charCodeAt(cs)?(i=p,cs++):(i=n,0===ps&&Bs(ct))),i===n&&(i=null),o=s=[s,i]):(cs=o,o=n),(e=o!==n?u.substring(e,cs):o)!==n?(39===u.charCodeAt(cs)?(o=T,cs++):(o=n,0===ps&&Bs(xt)),o!==n?(t,t=as(e)):(cs=t,t=n)):(cs=t,t=n)}else cs=t,t=n;ps--,t===n&&(r=n,0===ps&&Bs(pn));return t}(),r!==n&&(t,r=Ye(r)),(t=r)===n&&(t=cs,(r=Ns())!==n&&(t,r=uo(r)),(t=r)===n&&(t=function(){var t,r;ps++,t=cs,u.substr(cs,4)===K?(r=K,cs+=4):(r=n,0===ps&&Bs(Vt));r!==n&&(t,r=to());t=r,ps--,t===n&&(r=n,0===ps&&Bs(Qt));return t}())))))))),t}function Js(){var t,r,e,o,s,i;if(ps++,t=cs,r=cs,e=cs,123===u.charCodeAt(cs)?(o=Q,cs++):(o=n,0===ps&&Bs(Xt)),o!==n){for(s=[],(i=Js())===n&&(i=u.charAt(cs),Pu.test(i)?cs++:(i=n,0===ps&&Bs(Yt)));i!==n;)s.push(i),(i=Js())===n&&(i=u.charAt(cs),Pu.test(i)?cs++:(i=n,0===ps&&Bs(Yt)));125===u.charCodeAt(cs)?(i=V,cs++):(i=n,0===ps&&Bs(ur)),i!==n?e=o=[o,s,i]:(cs=e,e=n)}else cs=e,e=n;return(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=ro(r)),ps--,(t=r)===n&&(r=n,0===ps&&Bs(Wt)),t}function Ks(){var t,r,e,o,s,i,a,c;if(ps++,t=cs,r=cs,e=cs,91===u.charCodeAt(cs)?(o=_,cs++):(o=n,0===ps&&Bs(Ot)),o!==n?(s=Bi(),93===u.charCodeAt(cs)?(i=R,cs++):(i=n,0===ps&&Bs(Zt)),i!==n?e=o=[o,s,i]:(cs=e,e=n)):(cs=e,e=n),e===n)if(e=cs,91===u.charCodeAt(cs)?(o=_,cs++):(o=n,0===ps&&Bs(Ot)),o!==n)if(s=Bi(),123===u.charCodeAt(cs)?(i=Q,cs++):(i=n,0===ps&&Bs(Xt)),i!==n){for(a=[],(c=Ks())===n&&(c=u.charAt(cs),Uu.test(c)?cs++:(c=n,0===ps&&Bs(rr)));c!==n;)a.push(c),(c=Ks())===n&&(c=u.charAt(cs),Uu.test(c)?cs++:(c=n,0===ps&&Bs(rr)));93===u.charCodeAt(cs)?(c=R,cs++):(c=n,0===ps&&Bs(Zt)),c!==n?e=o=[o,s,i,a,c]:(cs=e,e=n)}else cs=e,e=n;else cs=e,e=n;return(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=no(r)),ps--,(t=r)===n&&(r=n,0===ps&&Bs(tr)),t}function Qs(){var t,r,e,o,s,i;if(t=cs,(r=Hs())!==n){for(e=[],o=cs,44===u.charCodeAt(cs)?(s=W,cs++):(s=n,0===ps&&Bs(er)),s!==n&&(i=Hs())!==n?(o,o=oo(r,i)):(cs=o,o=n);o!==n;)e.push(o),o=cs,44===u.charCodeAt(cs)?(s=W,cs++):(s=n,0===ps&&Bs(er)),s!==n&&(i=Hs())!==n?(o,o=oo(r,i)):(cs=o,o=n);t,t=so(r,e)}else cs=t,t=n;return t}function Vs(){var t,r,e;return t=cs,r=function(){var t,r,e;if(ps++,t=cs,r=[],e=u.charAt(cs),Mu.test(e)?cs++:(e=n,0===ps&&Bs(sr)),e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),Mu.test(e)?cs++:(e=n,0===ps&&Bs(sr));else r=n;return t=r!==n?u.substring(t,cs):r,ps--,t===n&&(r=n,0===ps&&Bs(or)),t}(),r!==n&&Fi()!==n?(e=function(){var u,t,r,e,o,s,i;if(u=cs,t=[],r=cs,e=Ms(),e!==n){for(o=[],s=cs,di()!==n&&(i=Ms())!==n?(s,s=co(e,i)):(cs=s,s=n);s!==n;)o.push(s),s=cs,di()!==n&&(i=Ms())!==n?(s,s=co(e,i)):(cs=s,s=n);r,r=fo(e,o)}else cs=r,r=n;for(;r!==n;)if(t.push(r),r=cs,(e=Ms())!==n){for(o=[],s=cs,di()!==n&&(i=Ms())!==n?(s,s=co(e,i)):(cs=s,s=n);s!==n;)o.push(s),s=cs,di()!==n&&(i=Ms())!==n?(s,s=co(e,i)):(cs=s,s=n);r,r=fo(e,o)}else cs=r,r=n;return u,t=lo(t),u=t,u}(),gi()!==n?(t,t=ao(r,e)):(cs=t,t=n)):(cs=t,t=n),t}function Ws(){var t,r;return t=cs,Bi(),(r=u.substr(cs,3)).toLowerCase()===tu?cs+=3:(r=n,0===ps&&Bs(fr)),r!==n&&Ei()!==n?(t,t=po()):(cs=t,t=n),t}function Xs(){var t,r;return t=cs,Ei()!==n?((r=u.substr(cs,3)).toLowerCase()===ru?cs+=3:(r=n,0===ps&&Bs(lr)),r!==n&&Ei()!==n?(t,t=ho()):(cs=t,t=n)):(cs=t,t=n),t}function Ys(){var u,t;return u=cs,(t=Ei())!==n&&(u,t=Co()),u=t}function ui(){var t,r;return t=cs,Ei()!==n?((r=u.substr(cs,2)).toLowerCase()===nu?cs+=2:(r=n,0===ps&&Bs(Ar)),r!==n&&Ei()!==n?(t,t=Fo()):(cs=t,t=n)):(cs=t,t=n),t}function ti(){var t,r,e;return t=cs,u.substr(cs,9)===eu?(r=eu,cs+=9):(r=n,0===ps&&Bs(pr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=cs,t=Fi(),t!==n)if(Bi(),(r=ri())!==n){for(e=[],o=cs,Bi(),di()!==n?(Bi(),(s=ri())!==n?(o,o=Lo(r,s)):(cs=o,o=n)):(cs=o,o=n);o!==n;)e.push(o),o=cs,Bi(),di()!==n?(Bi(),(s=ri())!==n?(o,o=Lo(r,s)):(cs=o,o=n)):(cs=o,o=n);o=Bi(),gi()!==n?(u,u=So(r,e)):(cs=u,u=n)}else cs=u,u=n;else cs=u,u=n;return u}(),e!==n?(t,t=go(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,7)===ou?(r=ou,cs+=7):(r=n,0===ps&&Bs(hr)),r!==n?(e=function(){var u,t,r,e,o,s,i,a;if(u=cs,t=Fi(),t!==n)if(Fi()!==n)if((r=ii())!==n){for(e=[],o=cs,(s=di())!==n&&(i=ii())!==n?(o,o=ko(r,i)):(cs=o,o=n);o!==n;)e.push(o),o=cs,(s=di())!==n&&(i=ii())!==n?(o,o=ko(r,i)):(cs=o,o=n);o=cs,(s=gi())!==n&&(o,s=_o(r,e)),(o=s)!==n?(s=cs,(i=di())!==n&&(a=Is())!==n?(s,s=Ro(r,e,a)):(cs=s,s=n),s===n&&(s=null),(i=gi())!==n?(u,u=Io(r,e,s)):(cs=u,u=n)):(cs=u,u=n)}else cs=u,u=n;else cs=u,u=n;else cs=u,u=n;return u}(),e!==n?(t,t=Bo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,6)===su?(r=su,cs+=6):(r=n,0===ps&&Bs(Cr)),r!==n?(e=function(){var u,t,r,e;u=cs,t=Fi(),t!==n?(Bi(),r=cs,(e=Os())!==n&&(r,e=Po(e)),(r=e)!==n?(e=Bi(),gi()!==n?(u,u=Uo(r)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n);return u}(),e!==n?(t,t=Eo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,6)===iu?(r=iu,cs+=6):(r=n,0===ps&&Bs(dr)),r!==n?(e=function(){var u,t,r,e;u=cs,t=Fi(),t!==n?(Bi(),r=cs,(e=Ts())!==n&&(r,e=Mo(e)),(r=e)!==n?(e=Bi(),gi()!==n?(u,u=Go(r)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n);return u}(),e!==n?(t,t=vo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,6)===au?(r=au,cs+=6):(r=n,0===ps&&Bs(Fr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=cs,t=Fi(),t!==n)if(Bi(),(r=Is())!==n){if(e=[],o=cs,Bi(),di()!==n?(Bi(),(s=Is())!==n?(o,o=Ho(r,s)):(cs=o,o=n)):(cs=o,o=n),o!==n)for(;o!==n;)e.push(o),o=cs,Bi(),di()!==n?(Bi(),(s=Is())!==n?(o,o=Ho(r,s)):(cs=o,o=n)):(cs=o,o=n);else e=n;e!==n?(o=Bi(),gi()!==n?(u,u=Jo(r,e)):(cs=u,u=n)):(cs=u,u=n)}else cs=u,u=n;else cs=u,u=n;return u}(),e!==n?(t,t=mo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,7)===cu?(r=cu,cs+=7):(r=n,0===ps&&Bs(gr)),r!==n?(e=function(){var u,t,r,e,o,s,i,a,c,f;if(u=cs,t=Fi(),t!==n)if(r=Bi(),(e=ai())!==n){for(o=[],s=cs,i=Bi(),(a=di())!==n?(c=Bi(),(f=ai())!==n?s=i=[i,a,c,f]:(cs=s,s=n)):(cs=s,s=n);s!==n;)o.push(s),s=cs,i=Bi(),(a=di())!==n?(c=Bi(),(f=ai())!==n?s=i=[i,a,c,f]:(cs=s,s=n)):(cs=s,s=n);s=Bi(),(i=gi())!==n?u=t=[t,r,e,o,s,i]:(cs=u,u=n)}else cs=u,u=n;else cs=u,u=n;return u}(),e!==n?(t,t=bo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,3)===fu?(r=fu,cs+=3):(r=n,0===ps&&Bs(Br)),r!==n?(e=function(){var u,t,r;u=cs,t=Fi(),t!==n?(Bi(),(r=Ls())!==n?(Bi(),gi()!==n?(u,u=Vo(r)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n);return u}(),e!==n?(t,t=Do(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,4)===lu?(r=lu,cs+=4):(r=n,0===ps&&Bs(Er)),r!==n?(e=function(){var u,t,r;u=cs,t=Fi(),t!==n?(Bi(),(r=Ss())!==n?(Bi(),gi()!==n?(u,u=Wo(r)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n);return u}(),e!==n?(t,t=yo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,7)===Au?(r=Au,cs+=7):(r=n,0===ps&&Bs(vr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=cs,t=Fi(),t!==n)if(Bi(),(r=Rs())!==n){for(e=[],o=cs,di()!==n&&(s=Rs())!==n?(o,o=Xo(r,s)):(cs=o,o=n);o!==n;)e.push(o),o=cs,di()!==n&&(s=Rs())!==n?(o,o=Xo(r,s)):(cs=o,o=n);o=Bi(),gi()!==n?(u,u=Yo(r,e)):(cs=u,u=n)}else cs=u,u=n;else cs=u,u=n;return u}(),e!==n?(t,t=$o(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,(r=u.substr(cs,8)).toLowerCase()===pu?cs+=8:(r=n,0===ps&&Bs(mr)),r===n&&((r=u.substr(cs,11)).toLowerCase()===hu?cs+=11:(r=n,0===ps&&Bs(br)),r===n&&((r=u.substr(cs,6)).toLowerCase()===Cu?cs+=6:(r=n,0===ps&&Bs(Dr)),r===n&&((r=u.substr(cs,9)).toLowerCase()===du?cs+=9:(r=n,0===ps&&Bs(yr)),r===n&&((r=u.substr(cs,10)).toLowerCase()===Fu?cs+=10:(r=n,0===ps&&Bs($r)),r===n&&((r=u.substr(cs,13)).toLowerCase()===gu?cs+=13:(r=n,0===ps&&Bs(xr))))))),r!==n?(e=function(){var u,t,r,e;u=cs,t=Fi(),t!==n?(Bi(),(r=Ms())!==n?(Bi(),di()!==n?(Bi(),(e=Ms())!==n?(Bi(),gi()!==n?(u,u=Ko(r,e)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n);return u}(),e!==n?(t,t=xo(r,e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,r=function(){var t,r;t=cs,u.substr(cs,8)===Du?(r=Du,cs+=8):(r=n,0===ps&&Bs(Or));r!==n&&(t,r=Qo());return t=r,t}(),r!==n&&(t,r=wo(r)),t=r)))))))))),t}function ri(){var t,r,e,o;return t=cs,r=cs,u.substr(cs,6)===f?(e=f,cs+=6):(e=n,0===ps&&Bs(st)),e!==n&&(o=si())!==n?(r,r=To(o)):(cs=r,r=n),r===n&&(r=ni()),r!==n&&(t,r=jo(r)),t=r}function ni(){var u,t,r,e,o;return u=cs,(t=Gs())!==n?((r=ei())===n&&(r=null),(e=oi())===n&&(e=null),(o=si())===n&&(o=null),u,u=Oo(t,r,o)):(cs=u,u=n),u===n&&(u=cs,(t=Ai())!==n&&(r=Fi())!==n&&(e=ni())!==n&&(o=gi())!==n?u=t=[t,r,e,o]:(cs=u,u=n)),u}function ei(){var t,r,e,o,s;if(t=cs,Ei()!==n)if(u.substr(cs,4)===Bu?(r=Bu,cs+=4):(r=n,0===ps&&Bs(wr)),r!==n)if(Ei()!==n){if(e=cs,o=[],s=u.charAt(cs),Mu.test(s)?cs++:(s=n,0===ps&&Bs(sr)),s!==n)for(;s!==n;)o.push(s),s=u.charAt(cs),Mu.test(s)?cs++:(s=n,0===ps&&Bs(sr));else o=n;(e=o!==n?u.substring(e,cs):o)!==n?(t,t=Zo(e)):(cs=t,t=n)}else cs=t,t=n;else cs=t,t=n;else cs=t,t=n;return t}function oi(){var t,r,e,o,s,i,a;return t=cs,(r=Ei())!==n?(u.substr(cs,4)===Eu?(e=Eu,cs+=4):(e=n,0===ps&&Bs(Lr)),e!==n&&(o=Ei())!==n&&(s=Gs())!==n&&(i=ei())!==n?((a=oi())===n&&(a=null),t=r=[r,e,o,s,i,a]):(cs=t,t=n)):(cs=t,t=n),t}function si(){var t,r,e;return t=cs,Ei()!==n?(u.substr(cs,2)===vu?(r=vu,cs+=2):(r=n,0===ps&&Bs(Sr)),r!==n&&Ei()!==n&&(e=Ai())!==n?(t,t=zo(e)):(cs=t,t=n)):(cs=t,t=n),t}function ii(){var t,r;return t=cs,r=function(){var t,r,e,o,s,i,a,c,f,l,A;t=cs,r=cs,u.substr(cs,6)===mu?(e=mu,cs+=6):(e=n,0===ps&&Bs(Tr));if(e!==n)if((o=Fi())!==n)if(s=Bi(),u.substr(cs,4)===bu?(i=bu,cs+=4):(i=n,0===ps&&Bs(jr)),i===n&&(i=Gs()),i!==n){if(a=[],c=cs,f=Bi(),(l=di())!==n&&(A=Gs())!==n?c=f=[f,l,A]:(cs=c,c=n),c!==n)for(;c!==n;)a.push(c),c=cs,f=Bi(),(l=di())!==n&&(A=Gs())!==n?c=f=[f,l,A]:(cs=c,c=n);else a=n;a!==n?(c=Bi(),(f=gi())!==n?r=e=[e,o,s,i,a,c,f]:(cs=r,r=n)):(cs=r,r=n)}else cs=r,r=n;else cs=r,r=n;else cs=r,r=n;r!==n&&(t,r=qo(r));return t=r,t}(),r===n&&(r=Gs()),r!==n&&(t,r=No(r)),t=r}function ai(){var u,t,r;return u=cs,(t=Zs())!==n&&(r=si())!==n?u=t=[t,r]:(cs=u,u=n),u}function ci(){var t,r;return ps++,t=cs,u.substr(cs,4)===yu?(r=yu,cs+=4):(r=n,0===ps&&Bs(zr)),r===n&&(u.substr(cs,5)===$u?(r=$u,cs+=5):(r=n,0===ps&&Bs(kr))),r!==n&&(t,r=us(r)),ps--,(t=r)===n&&(r=n,0===ps&&Bs(Zr)),t}function fi(){var t,r,e,o,s,i,a,c,f,l,A,p,h,C,d,F,g,B,E,v,m,b,D,y,$;if(ps++,t=cs,r=cs,e=cs,o=[],s=u.charAt(cs),Ku.test(s)?cs++:(s=n,0===ps&&Bs(Kr)),s!==n)for(;s!==n;)o.push(s),s=u.charAt(cs),Ku.test(s)?cs++:(s=n,0===ps&&Bs(Kr));else o=n;if(o!==n)if(45===u.charCodeAt(cs)?(s=Tu,cs++):(s=n,0===ps&&Bs(Vr)),s!==n)if(i=u.charAt(cs),Ku.test(i)?cs++:(i=n,0===ps&&Bs(Kr)),i!==n)if(a=u.charAt(cs),Ku.test(a)?cs++:(a=n,0===ps&&Bs(Kr)),a!==n)if(45===u.charCodeAt(cs)?(c=Tu,cs++):(c=n,0===ps&&Bs(Vr)),c!==n)if(f=u.charAt(cs),Ku.test(f)?cs++:(f=n,0===ps&&Bs(Kr)),f!==n)if(l=u.charAt(cs),Ku.test(l)?cs++:(l=n,0===ps&&Bs(Kr)),l!==n){if(A=cs,84===u.charCodeAt(cs)?(p=ju,cs++):(p=n,0===ps&&Bs(Wr)),p!==n)if(h=u.charAt(cs),Ku.test(h)?cs++:(h=n,0===ps&&Bs(Kr)),h!==n)if(C=u.charAt(cs),Ku.test(C)?cs++:(C=n,0===ps&&Bs(Kr)),C!==n)if(58===u.charCodeAt(cs)?(d=j,cs++):(d=n,0===ps&&Bs(wt)),d!==n)if(F=u.charAt(cs),Ku.test(F)?cs++:(F=n,0===ps&&Bs(Kr)),F!==n)if(g=u.charAt(cs),Ku.test(g)?cs++:(g=n,0===ps&&Bs(Kr)),g!==n){if(B=cs,58===u.charCodeAt(cs)?(E=j,cs++):(E=n,0===ps&&Bs(wt)),E!==n)if(v=u.charAt(cs),Ku.test(v)?cs++:(v=n,0===ps&&Bs(Kr)),v!==n)if(m=u.charAt(cs),Ku.test(m)?cs++:(m=n,0===ps&&Bs(Kr)),m!==n){if(b=cs,46===u.charCodeAt(cs)?(D=Ou,cs++):(D=n,0===ps&&Bs(Xr)),D!==n){if(y=[],$=u.charAt(cs),Ku.test($)?cs++:($=n,0===ps&&Bs(Kr)),$!==n)for(;$!==n;)y.push($),$=u.charAt(cs),Ku.test($)?cs++:($=n,0===ps&&Bs(Kr));else y=n;y!==n?b=D=[D,y]:(cs=b,b=n)}else cs=b,b=n;b===n&&(b=null),B=E=[E,v,m,b]}else cs=B,B=n;else cs=B,B=n;else cs=B,B=n;B===n&&(B=null),90===u.charCodeAt(cs)?(E=Zu,cs++):(E=n,0===ps&&Bs(Yr)),E===n&&(E=cs,v=u.charAt(cs),Qu.test(v)?cs++:(v=n,0===ps&&Bs(un)),v!==n?(m=u.charAt(cs),Ku.test(m)?cs++:(m=n,0===ps&&Bs(Kr)),m!==n?(b=u.charAt(cs),Ku.test(b)?cs++:(b=n,0===ps&&Bs(Kr)),b!==n?(58===u.charCodeAt(cs)?(D=j,cs++):(D=n,0===ps&&Bs(wt)),D!==n?(y=u.charAt(cs),Ku.test(y)?cs++:(y=n,0===ps&&Bs(Kr)),y!==n?($=u.charAt(cs),Ku.test($)?cs++:($=n,0===ps&&Bs(Kr)),$!==n?E=v=[v,m,b,D,y,$]:(cs=E,E=n)):(cs=E,E=n)):(cs=E,E=n)):(cs=E,E=n)):(cs=E,E=n)):(cs=E,E=n)),E===n&&(E=null),A=p=[p,h,C,d,F,g,B,E]}else cs=A,A=n;else cs=A,A=n;else cs=A,A=n;else cs=A,A=n;else cs=A,A=n;else cs=A,A=n;A===n&&(A=null),e=o=[o,s,i,a,c,f,l,A]}else cs=e,e=n;else cs=e,e=n;else cs=e,e=n;else cs=e,e=n;else cs=e,e=n;else cs=e,e=n;else cs=e,e=n;return(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=ns(r)),ps--,(t=r)===n&&(r=n,0===ps&&Bs(Qr)),t}function li(){var t,r,e,o,s,i;if(ps++,t=cs,r=cs,e=cs,o=u.charAt(cs),Qu.test(o)?cs++:(o=n,0===ps&&Bs(un)),o===n&&(o=null),s=[],i=u.charAt(cs),Ku.test(i)?cs++:(i=n,0===ps&&Bs(Kr)),i!==n)for(;i!==n;)s.push(i),i=u.charAt(cs),Ku.test(i)?cs++:(i=n,0===ps&&Bs(Kr));else s=n;return s!==n?e=o=[o,s]:(cs=e,e=n),(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=os(r)),ps--,(t=r)===n&&(r=n,0===ps&&Bs(nn)),t}function Ai(){var t,r,e,o,s,i,a,c;if(ps++,t=cs,r=cs,ps++,e=ci(),ps--,e===n?r=void 0:(cs=r,r=n),r!==n)if(e=cs,ps++,o=pi(),ps--,o===n?e=void 0:(cs=e,e=n),e!==n){if(o=cs,s=cs,i=u.charAt(cs),Vu.test(i)?cs++:(i=n,0===ps&&Bs(on)),i!==n){for(a=[],c=u.charAt(cs),Wu.test(c)?cs++:(c=n,0===ps&&Bs(sn));c!==n;)a.push(c),c=u.charAt(cs),Wu.test(c)?cs++:(c=n,0===ps&&Bs(sn));s=i=[i,a]}else cs=s,s=n;(o=s!==n?u.substring(o,cs):s)!==n?(t,t=ss(o)):(cs=t,t=n)}else cs=t,t=n;else cs=t,t=n;return ps--,t===n&&(r=n,0===ps&&Bs(en)),t}function pi(){var t,r,e,o,s,i,a,c,f,l,A,p,h,C;return ps++,t=cs,r=cs,(e=hi())!==n&&(o=hi())!==n?(45===u.charCodeAt(cs)?(s=Tu,cs++):(s=n,0===ps&&Bs(Vr)),s===n&&(s=null),(i=hi())!==n?(45===u.charCodeAt(cs)?(a=Tu,cs++):(a=n,0===ps&&Bs(Vr)),a===n&&(a=null),(c=hi())!==n?(45===u.charCodeAt(cs)?(f=Tu,cs++):(f=n,0===ps&&Bs(Vr)),f===n&&(f=null),(l=hi())!==n?(45===u.charCodeAt(cs)?(A=Tu,cs++):(A=n,0===ps&&Bs(Vr)),A===n&&(A=null),(p=hi())!==n&&(h=hi())!==n&&(C=hi())!==n?r=e=[e,o,s,i,a,c,f,l,A,p,h,C]:(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n),t=r!==n?u.substring(t,cs):r,ps--,t===n&&(r=n,0===ps&&Bs(an)),t}function hi(){var t,r,e,o,s,i;return ps++,t=cs,r=cs,e=u.charAt(cs),Xu.test(e)?cs++:(e=n,0===ps&&Bs(fn)),e!==n?(o=u.charAt(cs),Xu.test(o)?cs++:(o=n,0===ps&&Bs(fn)),o!==n?(s=u.charAt(cs),Xu.test(s)?cs++:(s=n,0===ps&&Bs(fn)),s!==n?(i=u.charAt(cs),Xu.test(i)?cs++:(i=n,0===ps&&Bs(fn)),i!==n?r=e=[e,o,s,i]:(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n),t=r!==n?u.substring(t,cs):r,ps--,t===n&&(r=n,0===ps&&Bs(cn)),t}function Ci(){var t,r,e,o;if(t=cs,r=cs,e=[],o=u.charAt(cs),Yu.test(o)?cs++:(o=n,0===ps&&Bs(ln)),o!==n)for(;o!==n;)e.push(o),o=u.charAt(cs),Yu.test(o)?cs++:(o=n,0===ps&&Bs(ln));else e=n;return(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=is(r)),t=r}function di(){var t,r,e;return t=cs,r=Bi(),44===u.charCodeAt(cs)?(e=W,cs++):(e=n,0===ps&&Bs(er)),e!==n?t=r=[r,e,Bi()]:(cs=t,t=n),t}function Fi(){var t,r,e;return t=cs,r=Bi(),40===u.charCodeAt(cs)?(e=Ru,cs++):(e=n,0===ps&&Bs(Fn)),e!==n?t=r=[r,e,Bi()]:(cs=t,t=n),t}function gi(){var t,r,e;return t=cs,r=Bi(),41===u.charCodeAt(cs)?(e=Iu,cs++):(e=n,0===ps&&Bs(gn)),e!==n?t=r=[r,e]:(cs=t,t=n),t}function Bi(){var t,r,e;for(ps++,t=cs,r=[],e=u.charAt(cs),rt.test(e)?cs++:(e=n,0===ps&&Bs(En));e!==n;)r.push(e),e=u.charAt(cs),rt.test(e)?cs++:(e=n,0===ps&&Bs(En));return t=u.substring(t,cs),ps--,r=n,0===ps&&Bs(Bn),t}function Ei(){var t,r,e;if(ps++,t=cs,r=[],e=u.charAt(cs),rt.test(e)?cs++:(e=n,0===ps&&Bs(En)),e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),rt.test(e)?cs++:(e=n,0===ps&&Bs(En));else r=n;return t=r!==n?u.substring(t,cs):r,ps--,t===n&&(r=n,0===ps&&Bs(vn)),t}const vi=["$value"],mi={eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="},bi={topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1},Di=Object.assign,{strict:yi,minimal:$i}=t,xi=[];let wi,Li;const Si=t.safeNumber||function(u){if("string"!=typeof u)return u;const t=parseFloat(u);if(!isNaN(t)&&String(t)===u)return t;const r=parseInt(u);return isNaN(r)||String(r)!==u.replace(/^-?\d+\.0+$/,u.split(".")[0])?u:r},Ti=t.skipToken,ji=t.standardBase64||function(u){return Buffer.from(u,"base64").toString("base64")},Oi=u=>t=>u===t||u.as&&t.as&&u.as===t.as||t.as&&u.ref&&t.as===u.ref[u.ref.length-1]||u.ref&&t.ref&&u.ref.join("")===t.ref.join(""),Zi=u=>t=>{if(Array.isArray(t))return t.map(Zi(u));const r=t.ref&&u.find((u=>u.as&&u.func&&u.as===t.ref[0]));return r||t},zi=u=>t=>Array.isArray(t)?t.map(zi(u)):t.ref&&!u.find(Oi(t))?{val:null}:t,ki=(u,t)=>{if(1===t.ref.length)u.find(Oi(t))||u.push(t);else{const r=t.ref.shift(),n=u.find((u=>u.ref&&u.ref[0]===r));if(n)ki(n.expand,t);else{const n={ref:[r],expand:[]};ki(n.expand,t),u.push(n)}}},_i=(u,t,r=!1)=>{let n=Ni({from:u.from},t,r);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=Ri(n[t],u,r);else n=Ri(n,u,r);return n},Ri=(u,t,r)=>{if(!t)return u;t.apply&&delete t.apply;let n={};t.columns&&"$count"===t.columns[0].as||u.SELECT.where&&t.where||u.SELECT.limit&&t.limit||u.SELECT.orderBy&&t.orderBy||u.SELECT.search&&t.search?n.from=u:n=u.SELECT;for(const u in t)"columns"===u?(t.columns=t.columns.map((u=>n.columns&&n.columns.find((t=>u.ref&&u.ref[0]===t.as||t.ref&&u.ref&&u.ref[0]===t.ref[0]&&!u.expand))||u)),n.columns&&n.groupBy&&t.columns.push(...n.columns.filter((u=>r&&n.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))&&!t.columns.some((t=>t.ref&&t.ref[0]===u.as||t.ref&&u.ref&&t.ref[0]===u.ref[0]||t.as&&t.as===u.as))))||[]),n.columns=t.columns):"from"!==u&&(n[u]=t[u]);const e=[...n.columns&&n.columns.filter((u=>n.groupBy&&n.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))))||[],...n.columns&&n.columns.filter((u=>u&&"object"==typeof u&&"func"in u))||[]];return Ii(n,e,r),{SELECT:n}},Ii=(u,t,r)=>{t.length&&(u.columns=u.columns&&!r?u.columns.reduce(((u,r)=>{const n=t.find(Oi(r));return n&&u.push(n),u}),[]):t,u.where&&(u.where=u.where.map(Zi(u.columns)),u.groupBy&&(u.having=u.where.map(zi(u.groupBy)),delete u.where)),u.columns=u.columns.reduce(((u,r)=>(r.ref&&r.ref.length>1&&t.find(Oi(r))?ki(u,{ref:[...r.ref]}):u.push(r),u)),[]))},Ni=(u,t,r)=>{if(!t)return;if(u.apply&&delete u.apply,t.identity&&u.from.SELECT&&(u=u.from.SELECT),(t.apply||t.where&&u.where||t.search&&u.search||t.limit&&u.limit||t.orderBy&&u.orderBy)&&(u.from={SELECT:{...u}}),t.where&&(u.where=t.where),t.search&&(u.search=t.search),t.groupBy){u.groupBy=[];for(const r of t.groupBy)u.groupBy.find(Oi(r))||u.groupBy.push(r)}t.limit&&(u.limit=t.limit),t.orderBy&&(u.orderBy=t.orderBy);const n=[...u.groupBy||[],...t.aggregate||[]];if(Ii(u,n,r),t.apply&&u.from&&Ni(u.from.SELECT,t.apply),t.concat&&Array.isArray(t.concat)){const r=[];for(let n of t.concat){n.from=1===Object.keys(u).length?u.from:{SELECT:u};const t=Ni(n,n.apply);Array.isArray(t)?r.push(...t):r.push(t)}u=r}return Array.isArray(u)?u:{SELECT:u}},qi=u=>{wi.limit&&wi.limit.offset&&wi.limit.offset.val&&(u+=wi.limit.offset.val),(wi.limit||(wi.limit={})).offset={val:u}},Pi=(u,t=!1)=>{wi.orderBy=wi.orderBy?t?[u,...wi.orderBy]:[...wi.orderBy,u]:[u]},Ui=(u,t)=>{for(const r of t)r.ref&&r.ref[0]===u&&r.ref.shift(),r.func&&Ui(u,r.args);return t},Mi=(u,t,r,n=!1)=>{u?.forEach((u=>{u.val===t?u.val=r.val:u.list===t?u.list=r.list:u.func?u.args.forEach(((u,e)=>{u.val===t?u.val=r.val:u.func&&Mi(u.args,t,r,n)})):u.SELECT&&Gi(u.SELECT,t,r,n)}))},Gi=(u,t,r,n=!1)=>{const{where:e,from:o}=u;Mi(e,t,r),o?.ref?.forEach((u=>{Mi(u.where,t,r,!0)}))};if(r=s(),t.peg$library)return{peg$result:r,peg$currPos:cs,peg$FAILED:n,peg$maxFailExpected:As,peg$maxFailPos:ls};if(r!==n&&cs===u.length)return r;throw r!==n&&cs<u.length&&Bs({type:"end"}),Es(As,ls<u.length?u.charAt(ls):null,ls<u.length?gs(ls,ls+1):gs(ls,ls))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.prototype.format=function(u){var t="Error: "+this.message;if(this.location){var r,n=null;for(r=0;r<u.length;r++)if(u[r].source===this.location.source){n=u[r].text.split(/\r\n|\n|\r/g);break}var e=this.location.start,o=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(e):e,s=this.location.source+":"+o.line+":"+o.column;if(n){var i=this.location.end,a=peg$padEnd("",o.line.toString().length," "),c=n[e.line-1],f=(e.line===i.line?i.column:c.length+1)-e.column||1;t+="\n --\x3e "+s+"\n"+a+" |\n"+o.line+" | "+c+"\n"+a+" | "+peg$padEnd("",e.column-1," ")+peg$padEnd("",f,"^")}else t+="\n at "+s}return t},peg$SyntaxError.buildMessage=function(u,t){var r={literal:function(u){return'"'+e(u.text)+'"'},class:function(u){var t=u.parts.map((function(u){return Array.isArray(u)?o(u[0])+"-"+o(u[1]):o(u)}));return"["+(u.inverted?"^":"")+t.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(u){return u.description}};function n(u){return u.charCodeAt(0).toString(16).toUpperCase()}function e(u){return u.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(u){return"\\x0"+n(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+n(u)}))}function o(u){return u.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(u){return"\\x0"+n(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+n(u)}))}function s(u){return r[u.type](u)}return"Expected "+function(u){var t,r,n=u.map(s);if(n.sort(),n.length>0){for(t=1,r=1;t<n.length;t++)n[t-1]!==n[t]&&(n[r]=n[t],r++);n.length=r}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}(u)+" but "+function(u){return u?'"'+e(u)+'"':"end of input"}(t)+" found."},module.exports={StartRules:["ODataRelativeURI"],SyntaxError:peg$SyntaxError,parse:peg$parse};