@sap/cds 6.0.4 → 6.1.2

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 (139) hide show
  1. package/CHANGELOG.md +180 -18
  2. package/apis/cds.d.ts +11 -7
  3. package/apis/log.d.ts +124 -0
  4. package/apis/ql.d.ts +72 -15
  5. package/apis/services.d.ts +13 -2
  6. package/bin/build/buildTaskHandler.js +5 -2
  7. package/bin/build/constants.js +4 -1
  8. package/bin/build/provider/buildTaskHandlerEdmx.js +11 -39
  9. package/bin/build/provider/buildTaskHandlerFeatureToggles.js +14 -34
  10. package/bin/build/provider/buildTaskHandlerInternal.js +56 -4
  11. package/bin/build/provider/buildTaskProviderInternal.js +22 -14
  12. package/bin/build/provider/hana/index.js +12 -9
  13. package/bin/build/provider/java/index.js +18 -8
  14. package/bin/build/provider/mtx/index.js +7 -4
  15. package/bin/build/provider/mtx/resourcesTarBuilder.js +60 -35
  16. package/bin/build/provider/mtx-extension/index.js +57 -0
  17. package/bin/build/provider/mtx-sidecar/index.js +46 -18
  18. package/bin/build/provider/nodejs/index.js +34 -13
  19. package/bin/deploy/to-hana/cfUtil.js +7 -2
  20. package/bin/deploy/to-hana/hana.js +20 -25
  21. package/bin/deploy/to-hana/hdiDeployUtil.js +13 -2
  22. package/bin/serve.js +7 -4
  23. package/lib/compile/{index.js → cds-compile.js} +0 -0
  24. package/lib/compile/extend.js +15 -5
  25. package/lib/compile/minify.js +1 -15
  26. package/lib/compile/parse.js +1 -1
  27. package/lib/compile/resolve.js +2 -2
  28. package/lib/compile/to/srvinfo.js +6 -4
  29. package/lib/{deploy.js → dbs/cds-deploy.js} +9 -8
  30. package/lib/env/{index.js → cds-env.js} +1 -17
  31. package/lib/env/{requires.js → cds-requires.js} +24 -3
  32. package/lib/env/defaults.js +7 -1
  33. package/lib/env/schemas/cds-package.json +11 -0
  34. package/lib/env/schemas/cds-rc.json +614 -0
  35. package/lib/index.js +19 -16
  36. package/lib/log/{errors.js → cds-error.js} +1 -1
  37. package/lib/log/{index.js → cds-log.js} +0 -0
  38. package/lib/log/format/kibana.js +19 -1
  39. package/lib/ql/Query.js +9 -3
  40. package/lib/ql/SELECT.js +2 -2
  41. package/lib/ql/UPDATE.js +2 -2
  42. package/lib/ql/{index.js → cds-ql.js} +4 -10
  43. package/lib/req/context.js +49 -17
  44. package/lib/req/locale.js +5 -1
  45. package/lib/{serve → srv}/adapters.js +23 -19
  46. package/lib/{connect → srv}/bindings.js +0 -0
  47. package/lib/{connect/index.js → srv/cds-connect.js} +1 -1
  48. package/lib/{serve/index.js → srv/cds-serve.js} +0 -0
  49. package/lib/{serve → srv}/factory.js +1 -1
  50. package/lib/{serve/Service-api.js → srv/srv-api.js} +22 -6
  51. package/lib/{serve/Service-dispatch.js → srv/srv-dispatch.js} +13 -8
  52. package/lib/{serve/Service-handlers.js → srv/srv-handlers.js} +10 -0
  53. package/lib/{serve/Service-methods.js → srv/srv-methods.js} +10 -8
  54. package/lib/srv/srv-models.js +207 -0
  55. package/lib/{serve/Transaction.js → srv/srv-tx.js} +57 -40
  56. package/lib/utils/{tests.js → cds-test.js} +2 -2
  57. package/lib/utils/cds-utils.js +146 -0
  58. package/lib/utils/index.js +2 -145
  59. package/lib/utils/jest.js +43 -0
  60. package/lib/utils/resources/index.js +15 -25
  61. package/lib/utils/resources/tar.js +18 -41
  62. package/libx/_runtime/auth/index.js +14 -11
  63. package/libx/_runtime/cds-services/adapter/odata-v4/OData.js +7 -19
  64. package/libx/_runtime/cds-services/adapter/odata-v4/ODataRequest.js +1 -4
  65. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/action.js +1 -4
  66. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/create.js +1 -4
  67. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/delete.js +1 -4
  68. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/error.js +2 -2
  69. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/metadata.js +6 -19
  70. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/read.js +3 -5
  71. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/request.js +1 -1
  72. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/update.js +1 -4
  73. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/PrimitiveValueDecoder.js +0 -2
  74. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DeserializerFactory.js +3 -1
  75. package/libx/_runtime/cds-services/adapter/odata-v4/to.js +38 -4
  76. package/libx/_runtime/cds-services/adapter/odata-v4/utils/readAfterWrite.js +1 -3
  77. package/libx/_runtime/cds-services/services/utils/differ.js +4 -0
  78. package/libx/_runtime/cds-services/util/errors.js +1 -29
  79. package/libx/_runtime/common/i18n/messages.properties +2 -1
  80. package/libx/_runtime/common/perf/index.js +10 -15
  81. package/libx/_runtime/common/utils/binary.js +3 -4
  82. package/libx/_runtime/common/utils/cqn2cqn4sql.js +0 -1
  83. package/libx/_runtime/common/utils/entityFromCqn.js +8 -5
  84. package/libx/_runtime/common/utils/keys.js +14 -6
  85. package/libx/_runtime/common/utils/resolveView.js +1 -1
  86. package/libx/_runtime/common/utils/template.js +1 -1
  87. package/libx/_runtime/db/Service.js +2 -14
  88. package/libx/_runtime/db/expand/expandCQNToJoin.js +28 -25
  89. package/libx/_runtime/db/expand/rawToExpanded.js +7 -6
  90. package/libx/_runtime/db/generic/input.js +8 -1
  91. package/libx/_runtime/db/sql-builder/InsertBuilder.js +1 -1
  92. package/libx/_runtime/db/sql-builder/SelectBuilder.js +37 -18
  93. package/libx/_runtime/extensibility/activate.js +47 -47
  94. package/libx/_runtime/extensibility/add.js +22 -13
  95. package/libx/_runtime/extensibility/addExtension.js +17 -13
  96. package/libx/_runtime/extensibility/defaults.js +25 -30
  97. package/libx/_runtime/extensibility/handler/transformREAD.js +20 -18
  98. package/libx/_runtime/extensibility/linter/allowlist_checker.js +373 -0
  99. package/libx/_runtime/extensibility/linter/annotations_checker.js +113 -0
  100. package/libx/_runtime/extensibility/linter/checker_base.js +20 -0
  101. package/libx/_runtime/extensibility/linter/namespace_checker.js +180 -0
  102. package/libx/_runtime/extensibility/linter.js +32 -0
  103. package/libx/_runtime/extensibility/push.js +77 -20
  104. package/libx/_runtime/extensibility/service.js +29 -12
  105. package/libx/_runtime/extensibility/token.js +57 -0
  106. package/libx/_runtime/extensibility/utils.js +8 -6
  107. package/libx/_runtime/extensibility/validation.js +6 -9
  108. package/libx/_runtime/fiori/generic/new.js +0 -11
  109. package/libx/_runtime/fiori/utils/where.js +1 -1
  110. package/libx/_runtime/hana/Service.js +0 -1
  111. package/libx/_runtime/hana/conversion.js +12 -1
  112. package/libx/_runtime/hana/customBuilder/CustomFunctionBuilder.js +4 -3
  113. package/libx/_runtime/hana/customBuilder/CustomSelectBuilder.js +5 -0
  114. package/libx/_runtime/hana/pool.js +6 -10
  115. package/libx/_runtime/hana/search2Contains.js +0 -5
  116. package/libx/_runtime/hana/search2cqn4sql.js +1 -0
  117. package/libx/_runtime/messaging/common-utils/authorizedRequest.js +1 -1
  118. package/libx/_runtime/messaging/enterprise-messaging-utils/EMManagement.js +1 -2
  119. package/libx/_runtime/messaging/outbox/utils.js +1 -1
  120. package/libx/_runtime/messaging/service.js +11 -6
  121. package/libx/_runtime/remote/utils/data.js +5 -0
  122. package/libx/_runtime/sqlite/Service.js +7 -6
  123. package/libx/_runtime/sqlite/execute.js +41 -28
  124. package/libx/odata/afterburner.js +79 -2
  125. package/libx/odata/cqn2odata.js +15 -9
  126. package/libx/odata/grammar.pegjs +157 -76
  127. package/libx/odata/index.js +9 -3
  128. package/libx/odata/parser.js +1 -1
  129. package/libx/odata/utils.js +39 -5
  130. package/libx/rest/RestAdapter.js +3 -7
  131. package/libx/rest/middleware/delete.js +4 -5
  132. package/libx/rest/middleware/parse.js +3 -2
  133. package/package.json +3 -3
  134. package/server.js +1 -1
  135. package/srv/extensibility-service.cds +6 -3
  136. package/srv/model-provider.cds +3 -1
  137. package/srv/model-provider.js +86 -106
  138. package/srv/mtx.js +7 -1
  139. package/libx/_runtime/cds-services/adapter/odata-v4/Dispatcher.js +0 -240
@@ -1 +1 @@
1
- "use strict";function peg$subclass(r,t){function e(){this.constructor=r}e.prototype=t.prototype,r.prototype=new e}function peg$SyntaxError(r,t,e,n){this.message=r,this.expected=t,this.found=e,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(r,t){t=void 0!==t?t:{};var e,n={},s={ODataRelativeURI:Ye},o=Ye,u="/",a=De("/",!1),c=De("?",!1),i=De("&",!1),f="$count",l=De("$count",!1),h="$ref",p=De("$ref",!1),A="$value",d=De("$value",!1),g=function(r){return[r]},m="=",v=De("=",!1),b="$skiptoken=",y=De("$skiptoken=",!1),C="$select=",w=De("$select=",!1),x="$expand=",E=De("$expand=",!1),$="$filter=",L=De("$filter=",!1),B="$orderby=",S=De("$orderby=",!1),T=function(r,t){os(t)},_="$top=",O=De("$top=",!1),R="$skip=",Z=De("$skip=",!1),j="$search=",N=De("$search=",!1),k="$count=",z=De("$count=",!1),D="$apply=",P=De("$apply=",!1),F=De("*",!1),U=De(";",!1),M="/$count",q=De("/$count",!1),I=function(r){return r?[r]:[]},Y=function(r,t){r.push({xpr:t})},X=function(r,t){r.push({val:t})},J=function(r,t,e){r.push(t,...e)},Q=function(r,t){r.push(t)},W=function(r,t,e){r.push(t,...e)},G=":",H=De(":",!1),K="any",V=De("any",!1),rr="all",tr=De("all",!1),er=De("asc",!1),nr="desc",sr=De("desc",!1),or=function(r,t){return t},ur=/^[a-zA-Z0-9\-_.~]/,ar=Pe([["a","z"],["A","Z"],["0","9"],"-","_",".","~"],!1,!1),cr=/^[^&]/,ir=Pe(["&"],!0,!1),fr="$format=",lr=De("$format=",!1),hr=Fe("a comparison"),pr=De("eq",!1),Ar=De("ne",!1),dr=De("lt",!1),gr=De("gt",!1),mr=De("le",!1),vr=De("ge",!1),br=(De("add",!1),De("sub",!1),De("mul",!1),De("div",!1),De("mod",!1),Fe("an operand")),yr=Fe("navigation with $count"),Cr=function(r,t){return t},wr=function(r,t){return t?{id:r,where:t}:r},xr=Fe("a reference"),Er=function(r,t){return t},$r=function(r){return{val:r}},Lr=De("{",!1),Br=/^[^}]/,Sr=Pe(["}"],!0,!1),Tr=De("}",!1),_r="[",Or=De("[",!1),Rr="]",Zr=De("]",!1),jr=/^[^\]]/,Nr=Pe(["]"],!0,!1),kr=Fe("a function call"),zr=/^[a-zA-Z]/,Dr=Pe([["a","z"],["A","Z"]],!1,!1),Pr=function(r,t,e){return e},Fr=Fe("a boolean function"),Ur="contains",Mr=De("contains",!0),qr="endswith",Ir=De("endswith",!0),Yr="startswith",Xr=De("startswith",!0),Jr=De("NOT",!0),Qr=De("AND",!0),Wr=De("OR",!0),Gr="aggregate",Hr=De("aggregate",!1),Kr="groupby",Vr=De("groupby",!1),rt="filter",tt=De("filter",!1),et="search",nt=De("search",!1),st="concat",ot=De("concat",!1),ut="compute",at=De("compute",!1),ct=De("top",!1),it="skip",ft=De("skip",!1),lt="orderby",ht=De("orderby",!1),pt=De("topcount",!0),At=De("bottomcount",!0),dt=De("topsum",!0),gt=De("bottomsum",!0),mt=De("toppercent",!0),vt=De("bottompercent",!0),bt=function(r,t){return t},yt="with",Ct=De("with",!1),wt="from",xt=De("from",!1),Et=De("as",!1),$t="rollup",Lt=De("rollup",!1),Bt="$all",St=De("$all",!1),Tt=function(r,t){return t},_t="identity",Ot=De("identity",!1),Rt=function(r,t){return t},Zt="true",jt=De("true",!1),Nt="false",kt=De("false",!1),zt=Fe("Edm.String"),Dt="'",Pt=De("'",!1),Ft="''",Ut=De("''",!1),Mt=/^[^']/,qt=Pe(["'"],!0,!1),It='"',Yt=De('"',!1),Xt='\\"',Jt=De('\\"',!1),Qt=/^[^"]/,Wt=Pe(['"'],!0,!1),Gt=/^[^ \t\n()"&;]/,Ht=Pe([" ","\t","\n","(",")",'"',"&",";"],!0,!1),Kt=/^[0-9]/,Vt=Pe([["0","9"]],!1,!1),re="-",te=De("-",!1),ee=De("T",!1),ne=".",se=De(".",!1),oe=De("Z",!1),ue=De("+",!1),ae=/^[+\-]/,ce=Pe(["+","-"],!1,!1),ie=De("e",!1),fe=/^[_a-zA-Z]/,le=Pe(["_",["a","z"],["A","Z"]],!1,!1),he=/^[_a-zA-Z0-9"."]/,pe=Pe(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"'],!1,!1),Ae=/^[0-9a-fA-F]/,de=Pe([["0","9"],["a","f"],["A","F"]],!1,!1),ge=/^[^\/?]/,me=Pe(["/","?"],!0,!1),ve=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,be=Pe([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),ye="binary'",Ce=De("binary'",!1),we=/^[a-zA-Z0-9\-_]/,xe=Pe([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),Ee="==",$e=De("==",!1),Le=De(",",!1),Be=De("(",!1),Se=De(")",!1),Te=Fe("optional whitespaces"),_e=/^[ \t\n]/,Oe=Pe([" ","\t","\n"],!1,!1),Re=Fe("mandatory whitespaces"),Ze=0,je=[{line:1,column:1}],Ne=0,ke=[],ze=0;if("startRule"in t){if(!(t.startRule in s))throw new Error("Can't start parsing from rule \""+t.startRule+'".');o=s[t.startRule]}function De(r,t){return{type:"literal",text:r,ignoreCase:t}}function Pe(r,t,e){return{type:"class",parts:r,inverted:t,ignoreCase:e}}function Fe(r){return{type:"other",description:r}}function Ue(t){var e,n=je[t];if(n)return n;for(e=t-1;!je[e];)e--;for(n={line:(n=je[e]).line,column:n.column};e<t;)10===r.charCodeAt(e)?(n.line++,n.column=1):n.column++,e++;return je[t]=n,n}function Me(r,t){var e=Ue(r),n=Ue(t);return{start:{offset:r,line:e.line,column:e.column},end:{offset:t,line:n.line,column:n.column}}}function qe(r){Ze<Ne||(Ze>Ne&&(Ne=Ze,ke=[]),ke.push(r))}function Ie(r,t,e){return new peg$SyntaxError(peg$SyntaxError.buildMessage(r,t),r,t,e)}function Ye(){var t,e,s,o,f,l,h,p,A,d,g,m,v,b;if(t=Ze,47===r.charCodeAt(Ze)?(e=u,Ze++):(e=n,0===ze&&qe(a)),e===n&&(e=null),e!==n)if(s=Ze,(o=Xe())!==n&&(s,o=void(Yn=o)),(s=o)!==n){if(o=Ze,(f=Pn())!==n)if(63===r.charCodeAt(Ze)?(l="?",Ze++):(l=n,0===ze&&qe(c)),l!==n)if((h=Pn())!==n)if((p=Qe())!==n){for(A=[],d=Ze,(g=Pn())!==n?(38===r.charCodeAt(Ze)?(m="&",Ze++):(m=n,0===ze&&qe(i)),m!==n&&(v=Pn())!==n&&(b=Qe())!==n?d=g=[g,m,v,b]:(Ze=d,d=n)):(Ze=d,d=n);d!==n;)A.push(d),d=Ze,(g=Pn())!==n?(38===r.charCodeAt(Ze)?(m="&",Ze++):(m=n,0===ze&&qe(i)),m!==n&&(v=Pn())!==n&&(b=Qe())!==n?d=g=[g,m,v,b]:(Ze=d,d=n)):(Ze=d,d=n);A!==n?o=f=[f,l,h,p,A]:(Ze=o,o=n)}else Ze=o,o=n;else Ze=o,o=n;else Ze=o,o=n;else Ze=o,o=n;o===n&&(o=null),o!==n&&(f=Pn())!==n?(63===r.charCodeAt(Ze)?(l="?",Ze++):(l=n,0===ze&&qe(c)),l===n&&(l=null),l!==n&&(h=Pn())!==n?(t,t=e=function(){if(Xn)return Yn.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete Yn.expand,delete Yn.limit,delete Yn.orderBy,Yn.apply?rs(Yn,Yn.apply):{SELECT:Yn};let r;if(Yn.expand){Yn.columns||(Yn.columns=["*"],r=!0);for(const r of Yn.expand){const t=Yn.columns.findIndex(Gn(r));t>-1&&Yn.columns.splice(t,1),Yn.columns.push(r)}delete Yn.expand}return Yn.count&&Yn.apply&&(Yn.__countAggregated=!0),Yn.apply?rs(Yn,Yn.apply,r):{SELECT:Yn}}()):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;return t}function Xe(){var t,e,s,o,c,i,m,v;return t=Ze,r.substr(Ze,6)===f?(e=f,Ze+=6):(e=n,0===ze&&qe(l)),e!==n&&(t,e=void(Xn=!0)),(t=e)===n&&(t=Ze,e=Ze,r.substr(Ze,4)===h?(s=h,Ze+=4):(s=n,0===ze&&qe(p)),s===n&&(r.substr(Ze,6)===A?(s=A,Ze+=6):(s=n,0===ze&&qe(d))),(e=s!==n?r.substring(e,Ze):s)!==n&&(t,v=e,e=!Jn.includes(v)&&{from:{ref:[v]}}),(t=e)===n&&(t=Ze,e=Ze,(s=Rn())!==n?(o=Ze,(c=zn())!==n&&(i=Dn())!==n?o=c=[c,i]:(Ze=o,o=n),o===n&&(o=Ze,(c=zn())!==n&&(i=Je())!==n&&(m=Dn())!==n?o=c=[c,i,m]:(Ze=o,o=n)),o===n&&(o=null),o!==n?(c=Ze,ze++,i=Nn(),ze--,i===n?c=void 0:(Ze=c,c=n),c!==n?e=s=[s,o,c]:(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n),e===n&&(e=Ze,(s=Nn())!==n&&(e,s=g(s)),e=s),e===n&&(e=null),e!==n?(s=Ze,o=Ze,47===r.charCodeAt(Ze)?(c=u,Ze++):(c=n,0===ze&&qe(a)),c!==n&&(o,c=c),(o=c)!==n?((c=Xe())===n&&(c=null),c!==n?s=o=[o,c]:(Ze=s,s=n)):(Ze=s,s=n),s===n&&(s=null),s!==n?(t,t=e=function(r,t){if(t=t&&t[1],!r&&!t)return{from:{ref:[""]}};if(!r&&t&&t.from)return t.from.ref.unshift(""),t;const[e,n]=r,s=[];if(n?n.length>2?s.push({id:e,where:n[1].map((r=>r.val&&r.val.match&&r.val.match(/^"(.*)"$/)?{val:r.val.match(/^"(.*)"$/)[1]}:r))}):s.push({id:e,where:[]}):qn?s.push(`${"object"==typeof e&&"val"in e?e.val:e}`):"object"==typeof e&&"string"==typeof e.val&&e.val.match(/^[1-9]\d*$|^0$/)?s.push({val:Qn(e.val)}):s.push(e),t&&t.from){const r=t.from.ref;Object.prototype.hasOwnProperty.call(r[0],"val")&&(s[s.length-1]={id:s[s.length-1],where:[r.shift()]}),s.push(...r)}const o={from:{ref:s}};return t&&t.columns&&(o.columns=t.columns),o}(e,s)):(Ze=t,t=n)):(Ze=t,t=n))),t}function Je(){var t,e,s,o,u,a,c;return t=Ze,(e=pn())!==n&&(t,e=g(e)),(t=e)===n&&(t=Ze,(e=hn())!==n&&Pn()!==n?(61===r.charCodeAt(Ze)?(s="=",Ze++):(s=n,0===ze&&qe(v)),s!==n&&Pn()!==n&&(o=pn())!==n?(u=Ze,(a=kn())!==n&&(c=Je())!==n?u=a=[a,c]:(Ze=u,u=n),u===n&&(u=null),u!==n?(t,t=e=function(r,t,e){const n=[r,"=",t];return e&&n.push("and",...e[1]),n}(e,o,u)):(Ze=t,t=n)):(Ze=t,t=n)):(Ze=t,t=n)),t}function Qe(){var t,e,s,o,u;return t=Ze,(e=We())!==n&&(t,e=void((u=e)&&u.apply&&(Yn.apply=u.apply))),(t=e)===n&&(t=Ze,r.substr(Ze,11)===b?(e=b,Ze+=11):(e=n,0===ze&&qe(y)),e!==n&&(s=Pn())!==n?(o=function(){var t,e,s;t=Ze,(e=On())===n&&(e=null);e!==n?(s=function(){var t,e,s;t=Ze,e=[],ve.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(be));if(s!==n)for(;s!==n;)e.push(s),ve.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(be));else e=n;t=e!==n?r.substring(t,Ze):e;return t}(),s===n&&(s=null),s!==n?(t,o=e,t=e=void(s||ss(o))):(Ze=t,t=n)):(Ze=t,t=n);var o;return t}(),o!==n?t=e=[e,s,o]:(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=function(){var t,e,s,o,u;t=Ze,r.substr(Ze,8)===fr?(e=fr,Ze+=8):(e=n,0===ze&&qe(lr));if(e!==n){for(s=Ze,o=[],cr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(ir));u!==n;)o.push(u),cr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(ir));(s=o!==n?r.substring(s,Ze):o)!==n?(t,t=e=function(r){if("json"!==r.toLowerCase()){const r=new Error("ONLY_QUERY_PARAM_FORMAT_JSON_ALLOWED");throw r.statusCode=501,r}}(s)):(Ze=t,t=n)}else Ze=t,t=n;return t}(),t===n&&(t=function(){var t,e,s,o,u;t=Ze,e=[],ur.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(ar));if(s!==n)for(;s!==n;)e.push(s),ur.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(ar));else e=n;if(e!==n)if(61===r.charCodeAt(Ze)?(s=m,Ze++):(s=n,0===ze&&qe(v)),s!==n){for(o=[],cr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(ir));u!==n;)o.push(u),cr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(ir));o!==n?t=e=[e,s,o]:(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;return t}()))),t}function We(){var t,e,s,o,u,a,c,i,f,l,h;if(t=Ze,r.substr(Ze,8)===C?(e=C,Ze+=8):(e=n,0===ze&&qe(w)),e!==n)if((s=Pn())!==n)if((o=Ge())!==n){for(u=[],a=Ze,(c=kn())!==n&&(i=Ge())!==n?a=c=[c,i]:(Ze=a,a=n);a!==n;)u.push(a),a=Ze,(c=kn())!==n&&(i=Ge())!==n?a=c=[c,i]:(Ze=a,a=n);u!==n?t=e=[e,s,o,u]:(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;else Ze=t,t=n;if(t===n){if(t=Ze,r.substr(Ze,8)===x?(e=x,Ze+=8):(e=n,0===ze&&qe(E)),e!==n)if((s=Pn())!==n)if((o=He())!==n){for(u=[],a=Ze,(c=kn())!==n&&(i=He())!==n?a=c=[c,i]:(Ze=a,a=n);a!==n;)u.push(a),a=Ze,(c=kn())!==n&&(i=He())!==n?a=c=[c,i]:(Ze=a,a=n);u!==n?t=e=[e,s,o,u]:(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;else Ze=t,t=n;if(t===n&&(t=Ze,r.substr(Ze,8)===$?(e=$,Ze+=8):(e=n,0===ze&&qe(L)),e!==n&&(s=Pn())!==n&&(o=en())!==n?(t,h=o,t=e=void(Yn.where=h)):(Ze=t,t=n),t===n)){if(t=Ze,r.substr(Ze,9)===B?(e=B,Ze+=9):(e=n,0===ze&&qe(S)),e!==n)if((s=Pn())!==n)if((o=an())!==n){for(u=[],a=Ze,(c=kn())!==n&&(i=an())!==n?(a,a=c=T(0,i)):(Ze=a,a=n);a!==n;)u.push(a),a=Ze,(c=kn())!==n&&(i=an())!==n?(a,a=c=T(0,i)):(Ze=a,a=n);u!==n?(t,t=e=void os(o,!0)):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;else Ze=t,t=n;t===n&&(t=Ze,r.substr(Ze,5)===_?(e=_,Ze+=5):(e=n,0===ze&&qe(O)),e!==n&&(s=Pn())!==n&&(o=Ke())!==n?(t,l=o,t=e=void((Yn.limit||(Yn.limit={})).rows={val:l})):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,6)===R?(e=R,Ze+=6):(e=n,0===ze&&qe(Z)),e!==n&&(s=Pn())!==n&&(o=Ve())!==n?(t,e=function(r){ss(r)}(o),t=e):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,8)===j?(e=j,Ze+=8):(e=n,0===ze&&qe(N)),e!==n&&(s=Pn())!==n&&(o=rn())!==n?(t,t=e=void((f=o)&&(Yn.search=f))):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,7)===k?(e=k,Ze+=7):(e=n,0===ze&&qe(z)),e!==n&&(s=Pn())!==n?(o=function(){var r,t;r=Ze,(t=Tn())!==n&&(r,t=function(r){r&&(Yn.count=!0)}(t));return r=t}(),o!==n?t=e=[e,s,o]:(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,7)===D?(e=D,Ze+=7):(e=n,0===ze&&qe(P)),e!==n&&(s=Pn())!==n&&(o=cn())!==n?(t,t=e=o):(Ze=t,t=n))))))}}return t}function Ge(){var t,e,s;return t=Ze,42===r.charCodeAt(Ze)?(e="*",Ze++):(e=n,0===ze&&qe(F)),e===n&&(e=hn()),e!==n&&(t,s=e,Yn.columns=Array.isArray(Yn.columns)?Yn.columns:[],Yn.columns.find(Gn(s))||Yn.columns.push(s),e=s),t=e}function He(){var t,e,s,o,u,a,c,i,f;if(t=Ze,e=Ze,42===r.charCodeAt(Ze)?(s="*",Ze++):(s=n,0===ze&&qe(F)),s===n&&(s=hn()),s!==n&&(e,s=function(r){const t="*"===r?{}:r;return t.expand="*",Array.isArray(Yn.expand)||(Yn.expand=[]),Yn.expand.find(Gn(t))||Yn.expand.push(t),t}(s)),(e=s)!==n){if(s=Ze,o=Ze,(u=zn())!==n&&(o,In.push(Yn),Yn=Yn.expand[Yn.expand.length-1],u=void(Yn.expand="*")),(o=u)!==n){for(u=Ze,a=[],c=Ze,Pn()!==n?(59===r.charCodeAt(Ze)?(i=";",Ze++):(i=n,0===ze&&qe(U)),i===n&&(i=null),i!==n&&Pn()!==n&&(f=We())!==n?(c,c=f):(Ze=c,c=n)):(Ze=c,c=n);c!==n;)a.push(c),c=Ze,Pn()!==n?(59===r.charCodeAt(Ze)?(i=";",Ze++):(i=n,0===ze&&qe(U)),i===n&&(i=null),i!==n&&Pn()!==n&&(f=We())!==n?(c,c=f):(Ze=c,c=n)):(Ze=c,c=n);a!==n&&(u,a=function(r){if(r.find((r=>r&&void 0!==r.apply))){const r=new Error("EXPAND_APPLY_UNSUPPORTED");throw r.statusCode=501,r}if(Yn.columns){"*"===Yn.expand&&(Yn.expand=[]);for(const r of Yn.columns)Yn.expand.find(Gn(r))||Yn.expand.push(r);delete Yn.columns}else Array.isArray(Yn.expand)&&-1===Yn.expand.indexOf("*")&&Yn.expand.unshift("*")}(a)),(u=a)!==n?(a=Ze,(c=Dn())!==n&&(a,c=void(Yn=In.pop())),(a=c)!==n?s=o=[o,u,a]:(Ze=s,s=n)):(Ze=s,s=n)}else Ze=s,s=n;s===n&&(s=null),s!==n?(o=Ze,(u=kn())!==n&&(a=He())!==n?o=u=[u,a]:(Ze=o,o=n),o===n&&(o=null),o!==n?(u=Ze,r.substr(Ze,7)===M?(a=M,Ze+=7):(a=n,0===ze&&qe(q)),a!==n&&(u,a=function(){const r=new Error("EXPAND_COUNT_UNSUPPORTED");throw r.statusCode=501,r}()),(u=a)===n&&(u=null),u!==n?t=e=[e,s,o,u]:(Ze=t,t=n)):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;return t}function Ke(){var r,t;return r=Ze,(t=On())!==n&&r,r=t}function Ve(){var r,t;return r=Ze,(t=On())!==n&&r,r=t}function rn(){var r,t;return r=Ze,(t=tn())!==n&&r,(r=t)===n&&(r=Pn()),r}function tn(){var t,e,s,o,u,a,c;if(t=Ze,e=Ze,(s=mn())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=Ze,(o=zn())!==n&&(u=tn())!==n&&(a=Dn())!==n?(s,s=o=Y(e,u)):(Ze=s,s=n),s===n&&(s=Ze,o=function(){var t,e,s,o,u;t=Ze,34===r.charCodeAt(Ze)?(e=It,Ze++):(e=n,0===ze&&qe(Yt));if(e!==n){for(s=Ze,o=[],r.substr(Ze,2)===Xt?(u=Xt,Ze+=2):(u=n,0===ze&&qe(Jt)),u===n&&(Qt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Wt)));u!==n;)o.push(u),r.substr(Ze,2)===Xt?(u=Xt,Ze+=2):(u=n,0===ze&&qe(Jt)),u===n&&(Qt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Wt)));(s=o!==n?r.substring(s,Ze):o)!==n?(34===r.charCodeAt(Ze)?(o=It,Ze++):(o=n,0===ze&&qe(Yt)),o!==n?(t,t=e=s.replace(/\\\\/g,"\\").replace(/\\"/g,'"')):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;return t}(),o!==n&&(s,o=X(e,o)),(s=o)===n&&(s=Ze,(o=_n())!==n&&(s,o=X(e,o)),(s=o)===n&&(s=Ze,o=function(){var t,e,s;t=Ze,e=[],Gt.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(Ht));if(s!==n)for(;s!==n;)e.push(s),Gt.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(Ht));else e=n;t=e!==n?r.substring(t,Ze):e;return t}(),o!==n&&(s,o=X(e,o)),s=o))),s!==n){for(o=[],u=Ze,(a=vn())===n&&(a=yn())===n&&(a=bn()),a!==n&&(c=tn())!==n?(u,u=a=J(e,a,c)):(Ze=u,u=n);u!==n;)o.push(u),u=Ze,(a=vn())===n&&(a=yn())===n&&(a=bn()),a!==n&&(c=tn())!==n?(u,u=a=J(e,a,c)):(Ze=u,u=n);o!==n?(t,t=e):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;return t}function en(){var r,t;return r=Ze,(t=nn())!==n&&r,r=t}function nn(){var t,e,s,o,u,a,c,i;if(t=Ze,e=Ze,(s=mn())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=Ze,(o=zn())!==n&&(u=nn())!==n&&(a=Dn())!==n?(s,s=o=Y(e,u)):(Ze=s,s=n),s===n&&(s=Ze,(o=fn())!==n&&(s,i=o,o=void e.push(...i)),(s=o)===n&&(s=Ze,(o=sn())!==n&&(s,o=function(r,t){"not"===r[r.length-1]&&"not"===t[0]?r.push("(",...t,")"):r.push(...t)}(e,o)),(s=o)===n&&(s=Ze,o=function(){var t,e,s,o;ze++,t=Ze,r.substr(Ze,8).toLowerCase()===Ur?(e=r.substr(Ze,8),Ze+=8):(e=n,0===ze&&qe(Mr));e===n&&(r.substr(Ze,8).toLowerCase()===qr?(e=r.substr(Ze,8),Ze+=8):(e=n,0===ze&&qe(Ir)),e===n&&(r.substr(Ze,10).toLowerCase()===Yr?(e=r.substr(Ze,10),Ze+=10):(e=n,0===ze&&qe(Xr))));e!==n&&zn()!==n&&(s=ln())!==n&&kn()!==n&&(o=ln())!==n&&Dn()!==n?(t,u=s,a=o,t=e={func:e.toLowerCase(),args:[u,a]}):(Ze=t,t=n);var u,a;ze--,t===n&&(e=n,0===ze&&qe(Fr));return t}(),o!==n&&(s,o=function(r,t){r.push(t)}(e,o)),(s=o)===n&&(s=Ze,(o=Tn())!==n&&(s,o=X(e,o)),s=o)))),s!==n){for(o=[],u=Ze,(a=vn())===n&&(a=yn()),a!==n&&(c=nn())!==n?(u,u=a=J(e,a,c)):(Ze=u,u=n);u!==n;)o.push(u),u=Ze,(a=vn())===n&&(a=yn()),a!==n&&(c=nn())!==n?(u,u=a=J(e,a,c)):(Ze=u,u=n);o!==n?(t,t=e):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;return t}function sn(){var t,e,s,o,c,i,f;if(t=Ze,e=Ze,(s=Rn())!==n&&(e,s=[s]),(e=s)!==n)if(47===r.charCodeAt(Ze)?(s=u,Ze++):(s=n,0===ze&&qe(a)),s!==n){for(o=[],c=Ze,(i=Rn())!==n?(47===r.charCodeAt(Ze)?(f=u,Ze++):(f=n,0===ze&&qe(a)),f!==n?(c,c=i=Q(e,i)):(Ze=c,c=n)):(Ze=c,c=n);c!==n;)o.push(c),c=Ze,(i=Rn())!==n?(47===r.charCodeAt(Ze)?(f=u,Ze++):(f=n,0===ze&&qe(a)),f!==n?(c,c=i=Q(e,i)):(Ze=c,c=n)):(Ze=c,c=n);o!==n?(c=Ze,i=function(){var t,e,s;t=Ze,r.substr(Ze,3)===K?(e=K,Ze+=3):(e=n,0===ze&&qe(V));e!==n&&zn()!==n?((s=un())===n&&(s=null),s!==n&&Dn()!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n);return t}(),i!==n&&(c,i=function(r,t){let e=r.pop();if(!t)return["exists",{ref:[...r,{id:e}]}];let n=[];for(let r=0,s=0;r<t.length;++r){let o=t[r];o.ref&&0===o.ref.length&&"="===t[r+1]?n[s++]={func:"contains",args:[{ref:e},t[r+=2]]}:n[s++]=o}return n.length<t.length?(e=r.pop(),["exists",{ref:[...r,{id:e,where:n}]}]):["exists",{ref:[...r,{id:e,where:t}]}]}(e,i)),(c=i)===n&&(c=Ze,i=function(){var t,e,s;t=Ze,r.substr(Ze,3)===rr?(e=rr,Ze+=3):(e=n,0===ze&&qe(tr));e!==n&&zn()!==n&&(s=un())!==n&&Dn()!==n?(t,t=e=s):(Ze=t,t=n);return t}(),i!==n&&(c,i=function(r,t){let e=r.pop();return["not","exists",{ref:[...r,{id:e,where:["not",{xpr:[...t]}]}]}]}(e,i)),c=i),c!==n?(t,t=e=c):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;return t}function on(){var r,t,e,s,o,u,a,c,i;if(r=Ze,t=Ze,(e=mn())===n&&(e=null),e!==n&&(t,e=(c=e)?[c]:[]),(t=e)!==n)if(e=Ze,(s=zn())!==n&&(o=on())!==n&&(u=Dn())!==n?(e,i=o,e=s=void t.push("(",...i,")")):(Ze=e,e=n),e===n&&(e=Ze,(s=fn())!==n&&(e,s=function(r,t){r.push(...t)}(t,s)),(e=s)===n&&(e=Ze,(s=gn())!==n&&(e,s=function(r,t){r.push(t)}(t,s)),(e=s)===n&&(e=Ze,(s=sn())!==n&&(e,s=function(r,t){r.push(...t)}(t,s)),e=s))),e!==n){for(s=[],o=Ze,(u=vn())===n&&(u=yn()),u!==n&&(a=on())!==n?(o,o=u=W(t,u,a)):(Ze=o,o=n);o!==n;)s.push(o),o=Ze,(u=vn())===n&&(u=yn()),u!==n&&(a=on())!==n?(o,o=u=W(t,u,a)):(Ze=o,o=n);s!==n?(r,r=t):(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;return r}function un(){var t,e,s,o;return t=Ze,(e=Rn())!==n?(58===r.charCodeAt(Ze)?(s=G,Ze++):(s=n,0===ze&&qe(H)),s!==n&&(o=on())!==n?(t,t=e=us(e,o)):(Ze=t,t=n)):(Ze=t,t=n),t}function an(){var t,e,s,o,u,a;return t=Ze,e=Ze,(s=sn())!==n&&(e,s=function(){const r=new Error("ORDERBY_LAMBDA_UNSUPPORTED");throw r.statusCode=501,r}()),(e=s)===n&&(e=gn())===n&&(e=hn()),e!==n?(s=Ze,Fn()!==n?(o=Ze,"asc"===r.substr(Ze,3)?(u="asc",Ze+=3):(u=n,0===ze&&qe(er)),u===n&&(r.substr(Ze,4)===nr?(u=nr,Ze+=4):(u=n,0===ze&&qe(sr))),(o=u!==n?r.substring(o,Ze):u)!==n?(s,s=o):(Ze=s,s=n)):(Ze=s,s=n),s===n&&(s=null),s!==n?(t,t=e=Un(e,(a=s)&&{sort:a})):(Ze=t,t=n)):(Ze=t,t=n),t}function cn(){var t,e,s,o,c,i;if(t=Ze,(e=Cn())!==n){for(s=[],o=Ze,47===r.charCodeAt(Ze)?(c=u,Ze++):(c=n,0===ze&&qe(a)),c!==n&&(i=Cn())!==n?(o,o=c=or(0,i)):(Ze=o,o=n);o!==n;)s.push(o),o=Ze,47===r.charCodeAt(Ze)?(c=u,Ze++):(c=n,0===ze&&qe(a)),c!==n&&(i=Cn())!==n?(o,o=c=or(0,i)):(Ze=o,o=n);s!==n?(t,t=e=function(r,t){if(void 0!==r){t=Array.isArray(t)?t:[t];for(let e of t)for(const t in e)if("limit"===t&&e.limit&&r.limit&&r.limit.offset&&e.limit.rows)r.limit.rows=e.limit.rows;else if(r[t]||"groupBy"===t&&(r.where||r.search)||"aggregate"===t&&"groupBy"in r&&!("groupBy"in e)){let n=r;r={apply:n},"limit"===t&&e[t].offset&&n.limit&&n.limit.offset&&n.limit.offset.val&&(e[t].offset+=n.limit.offset.val),n=r,n[t]=e[t]}else r[t]=e[t];return{apply:r}}}(e,s)):(Ze=t,t=n)}else Ze=t,t=n;return t}function fn(){var t,e,s,o,u,a;return ze++,t=Ze,(e=ln())!==n&&Fn()!==n?(s=Ze,"eq"===r.substr(Ze,2)?(o="eq",Ze+=2):(o=n,0===ze&&qe(pr)),o===n&&("ne"===r.substr(Ze,2)?(o="ne",Ze+=2):(o=n,0===ze&&qe(Ar)),o===n&&("lt"===r.substr(Ze,2)?(o="lt",Ze+=2):(o=n,0===ze&&qe(dr)),o===n&&("gt"===r.substr(Ze,2)?(o="gt",Ze+=2):(o=n,0===ze&&qe(gr)),o===n&&("le"===r.substr(Ze,2)?(o="le",Ze+=2):(o=n,0===ze&&qe(mr)),o===n&&("ge"===r.substr(Ze,2)?(o="ge",Ze+=2):(o=n,0===ze&&qe(vr))))))),(s=o!==n?r.substring(s,Ze):o)!==n&&(o=Fn())!==n&&(u=ln())!==n?(t,t=e=[e,{eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="}[a=s]||a,u]):(Ze=t,t=n)):(Ze=t,t=n),ze--,t===n&&(e=n,0===ze&&qe(hr)),t}function ln(){var t;return ze++,t=function(){var t,e,s,o,c,i,h;ze++,t=Ze,e=[],s=Ze,(o=Rn())!==n?(c=Ze,(i=zn())!==n&&(h=Je())!==n&&Dn()!==n?(c,c=i=Cr(0,h)):(Ze=c,c=n),c===n&&(c=null),c!==n?(47===r.charCodeAt(Ze)?(i=u,Ze++):(i=n,0===ze&&qe(a)),i!==n?(s,s=o=wr(o,c)):(Ze=s,s=n)):(Ze=s,s=n)):(Ze=s,s=n);if(s!==n)for(;s!==n;)e.push(s),s=Ze,(o=Rn())!==n?(c=Ze,(i=zn())!==n&&(h=Je())!==n&&Dn()!==n?(c,c=i=Cr(0,h)):(Ze=c,c=n),c===n&&(c=null),c!==n?(47===r.charCodeAt(Ze)?(i=u,Ze++):(i=n,0===ze&&qe(a)),i!==n?(s,s=o=wr(o,c)):(Ze=s,s=n)):(Ze=s,s=n)):(Ze=s,s=n);else e=n;e!==n?(r.substr(Ze,6)===f?(s=f,Ze+=6):(s=n,0===ze&&qe(l)),s!==n?(t,t=e={func:"count",as:"$count",args:[{ref:e}]}):(Ze=t,t=n)):(Ze=t,t=n);ze--,t===n&&(e=n,0===ze&&qe(yr));return t}(),t===n&&(t=gn())===n&&(t=pn())===n&&(t=hn())===n&&(t=An())===n&&(t=dn())===n&&(t=function(){var t,e,s,o,u;t=Ze,91===r.charCodeAt(Ze)?(e=_r,Ze++):(e=n,0===ze&&qe(Or));if(e!==n){for(s=Ze,o=[],jr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Nr));u!==n;)o.push(u),jr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Nr));(s=o!==n?r.substring(s,Ze):o)!==n?(93===r.charCodeAt(Ze)?(o=Rr,Ze++):(o=n,0===ze&&qe(Zr)),o!==n?(t,t=e={list:s.replace(/"/g,"").split(",").map((r=>({val:r})))}):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;return t}()),ze--,t===n&&(n,0===ze&&qe(br)),t}function hn(){var t,e,s,o,c,i,f,l;if(ze++,t=Ze,(e=Rn())!==n){for(s=[],o=Ze,47===r.charCodeAt(Ze)?(c=u,Ze++):(c=n,0===ze&&qe(a)),c!==n&&(i=Rn())!==n?(o,o=c=Er(0,i)):(Ze=o,o=n);o!==n;)s.push(o),o=Ze,47===r.charCodeAt(Ze)?(c=u,Ze++):(c=n,0===ze&&qe(a)),c!==n&&(i=Rn())!==n?(o,o=c=Er(0,i)):(Ze=o,o=n);s!==n?(t,l=s,t=e="null"===(f=e)?{val:null}:{ref:[f,...l]}):(Ze=t,t=n)}else Ze=t,t=n;return ze--,t===n&&(e=n,0===ze&&qe(xr)),t}function pn(){var t,e,s;return t=Ze,(e=Tn())===n&&(e=function(){var t,e,s,o,u,a,c,i,f,l,h,p,A,d,g,m,v,b,y,C,w,x,E,$,L;t=Ze,e=Ze,s=Ze,o=[],Kt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Vt));if(u!==n)for(;u!==n;)o.push(u),Kt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Vt));else o=n;if(o!==n)if(45===r.charCodeAt(Ze)?(u=re,Ze++):(u=n,0===ze&&qe(te)),u!==n)if(Kt.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Vt)),a!==n)if(Kt.test(r.charAt(Ze))?(c=r.charAt(Ze),Ze++):(c=n,0===ze&&qe(Vt)),c!==n)if(45===r.charCodeAt(Ze)?(i=re,Ze++):(i=n,0===ze&&qe(te)),i!==n)if(Kt.test(r.charAt(Ze))?(f=r.charAt(Ze),Ze++):(f=n,0===ze&&qe(Vt)),f!==n)if(Kt.test(r.charAt(Ze))?(l=r.charAt(Ze),Ze++):(l=n,0===ze&&qe(Vt)),l!==n){if(h=Ze,84===r.charCodeAt(Ze)?(p="T",Ze++):(p=n,0===ze&&qe(ee)),p!==n)if(Kt.test(r.charAt(Ze))?(A=r.charAt(Ze),Ze++):(A=n,0===ze&&qe(Vt)),A!==n)if(Kt.test(r.charAt(Ze))?(d=r.charAt(Ze),Ze++):(d=n,0===ze&&qe(Vt)),d!==n)if(58===r.charCodeAt(Ze)?(g=G,Ze++):(g=n,0===ze&&qe(H)),g!==n)if(Kt.test(r.charAt(Ze))?(m=r.charAt(Ze),Ze++):(m=n,0===ze&&qe(Vt)),m!==n)if(Kt.test(r.charAt(Ze))?(v=r.charAt(Ze),Ze++):(v=n,0===ze&&qe(Vt)),v!==n){if(b=Ze,58===r.charCodeAt(Ze)?(y=G,Ze++):(y=n,0===ze&&qe(H)),y!==n)if(Kt.test(r.charAt(Ze))?(C=r.charAt(Ze),Ze++):(C=n,0===ze&&qe(Vt)),C!==n)if(Kt.test(r.charAt(Ze))?(w=r.charAt(Ze),Ze++):(w=n,0===ze&&qe(Vt)),w!==n){if(x=Ze,46===r.charCodeAt(Ze)?(E=".",Ze++):(E=n,0===ze&&qe(se)),E!==n){if($=[],Kt.test(r.charAt(Ze))?(L=r.charAt(Ze),Ze++):(L=n,0===ze&&qe(Vt)),L!==n)for(;L!==n;)$.push(L),Kt.test(r.charAt(Ze))?(L=r.charAt(Ze),Ze++):(L=n,0===ze&&qe(Vt));else $=n;$!==n?x=E=[E,$]:(Ze=x,x=n)}else Ze=x,x=n;x===n&&(x=null),x!==n?b=y=[y,C,w,x]:(Ze=b,b=n)}else Ze=b,b=n;else Ze=b,b=n;else Ze=b,b=n;b===n&&(b=null),b!==n?(90===r.charCodeAt(Ze)?(y="Z",Ze++):(y=n,0===ze&&qe(oe)),y===n&&(y=Ze,43===r.charCodeAt(Ze)?(C="+",Ze++):(C=n,0===ze&&qe(ue)),C===n&&(45===r.charCodeAt(Ze)?(C=re,Ze++):(C=n,0===ze&&qe(te))),C!==n?(Kt.test(r.charAt(Ze))?(w=r.charAt(Ze),Ze++):(w=n,0===ze&&qe(Vt)),w!==n?(Kt.test(r.charAt(Ze))?(x=r.charAt(Ze),Ze++):(x=n,0===ze&&qe(Vt)),x!==n?(58===r.charCodeAt(Ze)?(E=G,Ze++):(E=n,0===ze&&qe(H)),E!==n?(Kt.test(r.charAt(Ze))?($=r.charAt(Ze),Ze++):($=n,0===ze&&qe(Vt)),$!==n?(Kt.test(r.charAt(Ze))?(L=r.charAt(Ze),Ze++):(L=n,0===ze&&qe(Vt)),L!==n?y=C=[C,w,x,E,$,L]:(Ze=y,y=n)):(Ze=y,y=n)):(Ze=y,y=n)):(Ze=y,y=n)):(Ze=y,y=n)):(Ze=y,y=n)),y===n&&(y=null),y!==n?h=p=[p,A,d,g,m,v,b,y]:(Ze=h,h=n)):(Ze=h,h=n)}else Ze=h,h=n;else Ze=h,h=n;else Ze=h,h=n;else Ze=h,h=n;else Ze=h,h=n;else Ze=h,h=n;h===n&&(h=null),h!==n?s=o=[o,u,a,c,i,f,l,h]:(Ze=s,s=n)}else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;e=s!==n?r.substring(e,Ze):s;e!==n&&(t,e=function(r){if(r.split("-")[0].length>4)throw Object.assign(new Error(`The type 'Edm.DateTimeOffset' is not compatible with '${r}'`),{statusCode:400});return r}(e));return t=e}()),e!==n&&(t,e=$r(e)),(t=e)===n&&(t=Ze,(e=Zn())!==n&&(t,e=$r(e)),(t=e)===n&&(t=Ze,e=function(){var t,e,s,o,u,a,c,i,f,l;t=Ze,e=Ze,s=Ze,ae.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(ce));o===n&&(o=null);if(o!==n){if(u=[],Kt.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Vt)),a!==n)for(;a!==n;)u.push(a),Kt.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Vt));else u=n;if(u!==n){if(a=Ze,46===r.charCodeAt(Ze)?(c=ne,Ze++):(c=n,0===ze&&qe(se)),c!==n){if(i=[],Kt.test(r.charAt(Ze))?(f=r.charAt(Ze),Ze++):(f=n,0===ze&&qe(Vt)),f!==n)for(;f!==n;)i.push(f),Kt.test(r.charAt(Ze))?(f=r.charAt(Ze),Ze++):(f=n,0===ze&&qe(Vt));else i=n;i!==n?a=c=[c,i]:(Ze=a,a=n)}else Ze=a,a=n;if(a===n&&(a=null),a!==n){if(c=Ze,101===r.charCodeAt(Ze)?(i="e",Ze++):(i=n,0===ze&&qe(ie)),i!==n){if(f=[],Kt.test(r.charAt(Ze))?(l=r.charAt(Ze),Ze++):(l=n,0===ze&&qe(Vt)),l!==n)for(;l!==n;)f.push(l),Kt.test(r.charAt(Ze))?(l=r.charAt(Ze),Ze++):(l=n,0===ze&&qe(Vt));else f=n;f!==n?c=i=[i,f]:(Ze=c,c=n)}else Ze=c,c=n;c===n&&(c=null),c!==n?s=o=[o,u,a,c]:(Ze=s,s=n)}else Ze=s,s=n}else Ze=s,s=n}else Ze=s,s=n;e=s!==n?r.substring(e,Ze):s;e!==n&&(t,e=Qn(e));return t=e}(),e!==n&&(t,e="number"==typeof(s=e)?{val:s}:{val:s,literal:"number"}),(t=e)===n&&(t=Ze,(e=_n())!==n&&(t,e=$r(e)),(t=e)===n&&(t=Ze,e=function(){var t,e,s,o,u,a;t=Ze,r.substr(Ze,7)===ye?(e=ye,Ze+=7):(e=n,0===ze&&qe(Ce));if(e!==n){if(s=Ze,o=Ze,u=[],we.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(xe)),a!==n)for(;a!==n;)u.push(a),we.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(xe));else u=n;u!==n?(r.substr(Ze,2)===Ee?(a=Ee,Ze+=2):(a=n,0===ze&&qe($e)),a===n&&(61===r.charCodeAt(Ze)?(a=m,Ze++):(a=n,0===ze&&qe(v))),a===n&&(a=null),a!==n?o=u=[u,a]:(Ze=o,o=n)):(Ze=o,o=n),(s=o!==n?r.substring(s,Ze):o)!==n?(39===r.charCodeAt(Ze)?(o=Dt,Ze++):(o=n,0===ze&&qe(Pt)),o!==n?(t,t=e=Wn(s)):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;return t}(),e!==n&&(t,e=$r(e)),t=e)))),t}function An(){var t,e,s,o,u,a;if(t=Ze,e=Ze,s=Ze,123===r.charCodeAt(Ze)?(o="{",Ze++):(o=n,0===ze&&qe(Lr)),o!==n){for(u=[],(a=An())===n&&(Br.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Sr)));a!==n;)u.push(a),(a=An())===n&&(Br.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Sr)));u!==n?(125===r.charCodeAt(Ze)?(a="}",Ze++):(a=n,0===ze&&qe(Tr)),a!==n?s=o=[o,u,a]:(Ze=s,s=n)):(Ze=s,s=n)}else Ze=s,s=n;return(e=s!==n?r.substring(e,Ze):s)!==n&&(t,e=$r(e)),t=e}function dn(){var t,e,s,o,u,a,c,i;if(t=Ze,e=Ze,s=Ze,91===r.charCodeAt(Ze)?(o=_r,Ze++):(o=n,0===ze&&qe(Or)),o!==n&&(u=Pn())!==n?(93===r.charCodeAt(Ze)?(a=Rr,Ze++):(a=n,0===ze&&qe(Zr)),a!==n?s=o=[o,u,a]:(Ze=s,s=n)):(Ze=s,s=n),s===n)if(s=Ze,91===r.charCodeAt(Ze)?(o=_r,Ze++):(o=n,0===ze&&qe(Or)),o!==n)if((u=Pn())!==n)if(123===r.charCodeAt(Ze)?(a="{",Ze++):(a=n,0===ze&&qe(Lr)),a!==n){for(c=[],(i=dn())===n&&(jr.test(r.charAt(Ze))?(i=r.charAt(Ze),Ze++):(i=n,0===ze&&qe(Nr)));i!==n;)c.push(i),(i=dn())===n&&(jr.test(r.charAt(Ze))?(i=r.charAt(Ze),Ze++):(i=n,0===ze&&qe(Nr)));c!==n?(93===r.charCodeAt(Ze)?(i=Rr,Ze++):(i=n,0===ze&&qe(Zr)),i!==n?s=o=[o,u,a,c,i]:(Ze=s,s=n)):(Ze=s,s=n)}else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;return(e=s!==n?r.substring(e,Ze):s)!==n&&(t,e=$r(e)),t=e}function gn(){var t,e,s,o,u,a,c;if(ze++,t=Ze,e=Ze,s=[],zr.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(Dr)),o!==n)for(;o!==n;)s.push(o),zr.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(Dr));else s=n;if((e=s!==n?r.substring(e,Ze):s)!==n)if((s=zn())!==n)if((o=ln())!==n){for(u=[],a=Ze,kn()!==n&&(c=ln())!==n?(a,a=Pr(0,0,c)):(Ze=a,a=n);a!==n;)u.push(a),a=Ze,kn()!==n&&(c=ln())!==n?(a,a=Pr(0,0,c)):(Ze=a,a=n);u!==n&&(a=Dn())!==n?(t,t=e=function(r,t,e){if(Mn&&!(r.toLowerCase()in Mn.functions))throw Object.assign(new Error(`"${r}" is an unknown function in OData URL spec (strict mode)`),{statusCode:400});return{func:r.toLowerCase(),args:[t,...e]}}(e,o,u)):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;else Ze=t,t=n;return ze--,t===n&&(e=n,0===ze&&qe(kr)),t}function mn(){var t,e;return t=Ze,Pn()!==n?("not"===r.substr(Ze,3).toLowerCase()?(e=r.substr(Ze,3),Ze+=3):(e=n,0===ze&&qe(Jr)),e!==n&&Fn()!==n?(t,t="not"):(Ze=t,t=n)):(Ze=t,t=n),t}function vn(){var t,e;return t=Ze,Fn()!==n?("and"===r.substr(Ze,3).toLowerCase()?(e=r.substr(Ze,3),Ze+=3):(e=n,0===ze&&qe(Qr)),e!==n&&Fn()!==n?(t,t="and"):(Ze=t,t=n)):(Ze=t,t=n),t}function bn(){var r,t;return r=Ze,(t=Fn())!==n&&(r,t="and"),r=t}function yn(){var t,e;return t=Ze,Fn()!==n?("or"===r.substr(Ze,2).toLowerCase()?(e=r.substr(Ze,2),Ze+=2):(e=n,0===ze&&qe(Wr)),e!==n&&Fn()!==n?(t,t="or"):(Ze=t,t=n)):(Ze=t,t=n),t}function Cn(){var t,e,s;return t=Ze,r.substr(Ze,9)===Gr?(e=Gr,Ze+=9):(e=n,0===ze&&qe(Hr)),e!==n?(s=function(){var r,t,e,s,o;if(r=Ze,zn()!==n)if(Pn()!==n)if((t=wn())!==n){for(e=[],s=Ze,Pn()!==n&&kn()!==n&&Pn()!==n&&(o=wn())!==n?(s,s=bt(0,o)):(Ze=s,s=n);s!==n;)e.push(s),s=Ze,Pn()!==n&&kn()!==n&&Pn()!==n&&(o=wn())!==n?(s,s=bt(0,o)):(Ze=s,s=n);e!==n&&(s=Pn())!==n&&Dn()!==n?(r,u=e,r={aggregate:[t,...u]}):(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;else Ze=r,r=n;var u;return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,7)===Kr?(e=Kr,Ze+=7):(e=n,0===ze&&qe(Vr)),e!==n?(s=function(){var r,t,e,s,o,u,a,c;if(r=Ze,(t=zn())!==n)if(zn()!==n)if((e=Bn())!==n){for(s=[],o=Ze,(u=kn())!==n&&(a=Bn())!==n?(o,o=u=bt(0,a)):(Ze=o,o=n);o!==n;)s.push(o),o=Ze,(u=kn())!==n&&(a=Bn())!==n?(o,o=u=bt(0,a)):(Ze=o,o=n);s!==n?(o=Ze,(u=Dn())!==n&&(o,i=s,u={groupBy:[e,...i]}),(o=u)!==n?(u=Ze,(a=kn())!==n&&(c=cn())!==n?(u,u=a=c):(Ze=u,u=n),u===n&&(u=null),u!==n&&(a=Dn())!==n?(r,t=function(r,t,e){let n={};return n=e?{groupBy:[r,...t],...e.apply}:{groupBy:[r,...t]},n}(e,s,u),r=t):(Ze=r,r=n)):(Ze=r,r=n)):(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;else Ze=r,r=n;var i;return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,6)===rt?(e=rt,Ze+=6):(e=n,0===ze&&qe(tt)),e!==n?(s=function(){var r,t,e;r=Ze,zn()!==n&&Pn()!==n?(t=Ze,(e=en())!==n&&t,(t=e)!==n&&(e=Pn())!==n&&Dn()!==n?(r,r={where:t}):(Ze=r,r=n)):(Ze=r,r=n);return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,6)===et?(e=et,Ze+=6):(e=n,0===ze&&qe(nt)),e!==n?(s=function(){var r,t,e;r=Ze,zn()!==n&&Pn()!==n?(t=Ze,(e=rn())!==n&&(t,e=function(r){if(r)return r}(e)),(t=e)!==n&&(e=Pn())!==n&&Dn()!==n?(r,r={search:t}):(Ze=r,r=n)):(Ze=r,r=n);return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,6)===st?(e=st,Ze+=6):(e=n,0===ze&&qe(ot)),e!==n?(s=function(){var r,t,e,s,o;if(r=Ze,zn()!==n)if(Pn()!==n)if((t=cn())!==n){if(e=[],s=Ze,Pn()!==n&&kn()!==n&&Pn()!==n&&(o=cn())!==n?(s,s=Tt(0,o)):(Ze=s,s=n),s!==n)for(;s!==n;)e.push(s),s=Ze,Pn()!==n&&kn()!==n&&Pn()!==n&&(o=cn())!==n?(s,s=Tt(0,o)):(Ze=s,s=n);else e=n;e!==n&&(s=Pn())!==n&&Dn()!==n?(r,u=e,r={concat:[t,...u]}):(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;else Ze=r,r=n;var u;return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,7)===ut?(e=ut,Ze+=7):(e=n,0===ze&&qe(at)),e!==n?(s=function(){var r,t,e,s,o,u,a,c,i,f;if(r=Ze,(t=zn())!==n)if((e=Pn())!==n)if((s=Sn())!==n){for(o=[],u=Ze,(a=Pn())!==n&&(c=kn())!==n&&(i=Pn())!==n&&(f=Sn())!==n?u=a=[a,c,i,f]:(Ze=u,u=n);u!==n;)o.push(u),u=Ze,(a=Pn())!==n&&(c=kn())!==n&&(i=Pn())!==n&&(f=Sn())!==n?u=a=[a,c,i,f]:(Ze=u,u=n);o!==n&&(u=Pn())!==n&&(a=Dn())!==n?r=t=[t,e,s,o,u,a]:(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;else Ze=r,r=n;return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,"top"===r.substr(Ze,3)?(e="top",Ze+=3):(e=n,0===ze&&qe(ct)),e!==n?(s=function(){var r,t;r=Ze,zn()!==n&&Pn()!==n&&(t=Ke())!==n&&Pn()!==n&&Dn()!==n?(r,r={limit:{rows:{val:t}}}):(Ze=r,r=n);return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,4)===it?(e=it,Ze+=4):(e=n,0===ze&&qe(ft)),e!==n?(s=function(){var r,t;r=Ze,zn()!==n&&Pn()!==n&&(t=Ve())!==n&&Pn()!==n&&Dn()!==n?(r,r={limit:{offset:{val:t}}}):(Ze=r,r=n);return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,7)===lt?(e=lt,Ze+=7):(e=n,0===ze&&qe(ht)),e!==n?(s=function(){var r,t,e,s,o;if(r=Ze,zn()!==n)if(Pn()!==n)if((t=an())!==n){for(e=[],s=Ze,kn()!==n&&(o=an())!==n?(s,s=Rt(0,o)):(Ze=s,s=n);s!==n;)e.push(s),s=Ze,kn()!==n&&(o=an())!==n?(s,s=Rt(0,o)):(Ze=s,s=n);e!==n&&(s=Pn())!==n&&Dn()!==n?(r,u=e,r={orderBy:[t,...u]}):(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;else Ze=r,r=n;var u;return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,"topcount"===r.substr(Ze,8).toLowerCase()?(e=r.substr(Ze,8),Ze+=8):(e=n,0===ze&&qe(pt)),e===n&&("bottomcount"===r.substr(Ze,11).toLowerCase()?(e=r.substr(Ze,11),Ze+=11):(e=n,0===ze&&qe(At)),e===n&&("topsum"===r.substr(Ze,6).toLowerCase()?(e=r.substr(Ze,6),Ze+=6):(e=n,0===ze&&qe(dt)),e===n&&("bottomsum"===r.substr(Ze,9).toLowerCase()?(e=r.substr(Ze,9),Ze+=9):(e=n,0===ze&&qe(gt)),e===n&&("toppercent"===r.substr(Ze,10).toLowerCase()?(e=r.substr(Ze,10),Ze+=10):(e=n,0===ze&&qe(mt)),e===n&&("bottompercent"===r.substr(Ze,13).toLowerCase()?(e=r.substr(Ze,13),Ze+=13):(e=n,0===ze&&qe(vt))))))),e!==n?(s=function(){var r,t,e;r=Ze,zn()!==n&&Pn()!==n&&(t=ln())!==n&&Pn()!==n&&kn()!==n&&Pn()!==n&&(e=ln())!==n&&Pn()!==n&&Dn()!==n?(r,r=[t,e]):(Ze=r,r=n);return r}(),s!==n?(t,t=e=function(r,t){if(!{topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1}[r=r.toLowerCase()])throw Object.assign(new Error(`Transformation "${r}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:r,args:t}]}}(e,s)):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,e=function(){var t,e;t=Ze,r.substr(Ze,8)===_t?(e=_t,Ze+=8):(e=n,0===ze&&qe(Ot));e!==n&&(t,e={identity:!0});return t=e}(),e!==n&&t,t=e)))))))))),t}function wn(){var t,e,s,o;return t=Ze,e=Ze,r.substr(Ze,6)===f?(s=f,Ze+=6):(s=n,0===ze&&qe(l)),s!==n&&(o=Ln())!==n?(e,e=s={func:"count",args:[{val:1}],as:o}):(Ze=e,e=n),e===n&&(e=xn()),e!==n&&t,t=e}function xn(){var r,t,e,s,o;return r=Ze,(t=hn())!==n?((e=En())===n&&(e=null),e!==n?((s=$n())===n&&(s=null),s!==n?((o=Ln())===n&&(o=null),o!==n?(r,r=t={func:e,args:[t],as:o}):(Ze=r,r=n)):(Ze=r,r=n)):(Ze=r,r=n)):(Ze=r,r=n),r===n&&(r=Ze,(t=Rn())!==n&&(e=zn())!==n&&(s=xn())!==n&&(o=Dn())!==n?r=t=[t,e,s,o]:(Ze=r,r=n)),r}function En(){var t,e,s,o,u;if(t=Ze,Fn()!==n)if(r.substr(Ze,4)===yt?(e=yt,Ze+=4):(e=n,0===ze&&qe(Ct)),e!==n)if(Fn()!==n){if(s=Ze,o=[],zr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Dr)),u!==n)for(;u!==n;)o.push(u),zr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Dr));else o=n;(s=o!==n?r.substring(s,Ze):o)!==n?(t,t=s.toLowerCase()):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;else Ze=t,t=n;return t}function $n(){var t,e,s,o,u,a,c;return t=Ze,(e=Fn())!==n?(r.substr(Ze,4)===wt?(s=wt,Ze+=4):(s=n,0===ze&&qe(xt)),s!==n&&(o=Fn())!==n&&(u=hn())!==n&&(a=En())!==n?((c=$n())===n&&(c=null),c!==n?t=e=[e,s,o,u,a,c]:(Ze=t,t=n)):(Ze=t,t=n)):(Ze=t,t=n),t}function Ln(){var t,e,s;return t=Ze,Fn()!==n?("as"===r.substr(Ze,2)?(e="as",Ze+=2):(e=n,0===ze&&qe(Et)),e!==n&&Fn()!==n&&(s=Rn())!==n?(t,t=s):(Ze=t,t=n)):(Ze=t,t=n),t}function Bn(){var t,e;return t=Ze,e=function(){var t,e,s,o,u,a,c,i,f,l,h;t=Ze,e=Ze,r.substr(Ze,6)===$t?(s=$t,Ze+=6):(s=n,0===ze&&qe(Lt));if(s!==n)if((o=zn())!==n)if((u=Pn())!==n)if(r.substr(Ze,4)===Bt?(a=Bt,Ze+=4):(a=n,0===ze&&qe(St)),a===n&&(a=hn()),a!==n){if(c=[],i=Ze,(f=Pn())!==n&&(l=kn())!==n&&(h=hn())!==n?i=f=[f,l,h]:(Ze=i,i=n),i!==n)for(;i!==n;)c.push(i),i=Ze,(f=Pn())!==n&&(l=kn())!==n&&(h=hn())!==n?i=f=[f,l,h]:(Ze=i,i=n);else c=n;c!==n&&(i=Pn())!==n&&(f=Dn())!==n?e=s=[s,o,u,a,c,i,f]:(Ze=e,e=n)}else Ze=e,e=n;else Ze=e,e=n;else Ze=e,e=n;else Ze=e,e=n;e!==n&&(t,e=function(r){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t}());return t=e}(),e===n&&(e=hn()),e!==n&&t,t=e}function Sn(){var r,t,e;return r=Ze,(t=nn())!==n&&(e=Ln())!==n?r=t=[t,e]:(Ze=r,r=n),r}function Tn(){var t,e;return t=Ze,r.substr(Ze,4)===Zt?(e=Zt,Ze+=4):(e=n,0===ze&&qe(jt)),e===n&&(r.substr(Ze,5)===Nt?(e=Nt,Ze+=5):(e=n,0===ze&&qe(kt))),e!==n&&(t,e="true"===e),t=e}function _n(){var t,e,s,o,u;if(ze++,t=Ze,39===r.charCodeAt(Ze)?(e=Dt,Ze++):(e=n,0===ze&&qe(Pt)),e!==n){for(s=Ze,o=[],r.substr(Ze,2)===Ft?(u=Ft,Ze+=2):(u=n,0===ze&&qe(Ut)),u===n&&(Mt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(qt)));u!==n;)o.push(u),r.substr(Ze,2)===Ft?(u=Ft,Ze+=2):(u=n,0===ze&&qe(Ut)),u===n&&(Mt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(qt)));(s=o!==n?r.substring(s,Ze):o)!==n?(39===r.charCodeAt(Ze)?(o=Dt,Ze++):(o=n,0===ze&&qe(Pt)),o!==n?(t,t=e=s.replace(/''/g,"'")):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;return ze--,t===n&&(e=n,0===ze&&qe(zt)),t}function On(){var t,e,s,o,u,a;if(t=Ze,e=Ze,s=Ze,ae.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(ce)),o===n&&(o=null),o!==n){if(u=[],Kt.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Vt)),a!==n)for(;a!==n;)u.push(a),Kt.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Vt));else u=n;u!==n?s=o=[o,u]:(Ze=s,s=n)}else Ze=s,s=n;return(e=s!==n?r.substring(e,Ze):s)!==n&&(t,e=parseInt(e)),t=e}function Rn(){var t,e,s,o,u,a,c,i;if(t=Ze,e=Ze,ze++,s=Tn(),ze--,s===n?e=void 0:(Ze=e,e=n),e!==n)if(s=Ze,ze++,o=Zn(),ze--,o===n?s=void 0:(Ze=s,s=n),s!==n){if(o=Ze,u=Ze,fe.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(le)),a!==n){for(c=[],he.test(r.charAt(Ze))?(i=r.charAt(Ze),Ze++):(i=n,0===ze&&qe(pe));i!==n;)c.push(i),he.test(r.charAt(Ze))?(i=r.charAt(Ze),Ze++):(i=n,0===ze&&qe(pe));c!==n?u=a=[a,c]:(Ze=u,u=n)}else Ze=u,u=n;(o=u!==n?r.substring(o,Ze):u)!==n?(t,t=e=o):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;return t}function Zn(){var t,e,s,o,u,a,c,i,f,l,h,p,A,d;return t=Ze,e=Ze,(s=jn())!==n&&(o=jn())!==n?(45===r.charCodeAt(Ze)?(u=re,Ze++):(u=n,0===ze&&qe(te)),u===n&&(u=null),u!==n&&(a=jn())!==n?(45===r.charCodeAt(Ze)?(c=re,Ze++):(c=n,0===ze&&qe(te)),c===n&&(c=null),c!==n&&(i=jn())!==n?(45===r.charCodeAt(Ze)?(f=re,Ze++):(f=n,0===ze&&qe(te)),f===n&&(f=null),f!==n&&(l=jn())!==n?(45===r.charCodeAt(Ze)?(h=re,Ze++):(h=n,0===ze&&qe(te)),h===n&&(h=null),h!==n&&(p=jn())!==n&&(A=jn())!==n&&(d=jn())!==n?e=s=[s,o,u,a,c,i,f,l,h,p,A,d]:(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n),t=e!==n?r.substring(t,Ze):e}function jn(){var t,e,s,o,u,a;return t=Ze,e=Ze,Ae.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(de)),s!==n?(Ae.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(de)),o!==n?(Ae.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(de)),u!==n?(Ae.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(de)),a!==n?e=s=[s,o,u,a]:(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n),t=e!==n?r.substring(t,Ze):e}function Nn(){var t,e,s,o;if(t=Ze,e=Ze,s=[],ge.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(me)),o!==n)for(;o!==n;)s.push(o),ge.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(me));else s=n;return(e=s!==n?r.substring(e,Ze):s)!==n&&(t,e={val:e}),t=e}function kn(){var t,e,s,o;return t=Ze,(e=Pn())!==n?(44===r.charCodeAt(Ze)?(s=",",Ze++):(s=n,0===ze&&qe(Le)),s!==n&&(o=Pn())!==n?t=e=[e,s,o]:(Ze=t,t=n)):(Ze=t,t=n),t}function zn(){var t,e,s,o;return t=Ze,(e=Pn())!==n?(40===r.charCodeAt(Ze)?(s="(",Ze++):(s=n,0===ze&&qe(Be)),s!==n&&(o=Pn())!==n?t=e=[e,s,o]:(Ze=t,t=n)):(Ze=t,t=n),t}function Dn(){var t,e,s;return t=Ze,(e=Pn())!==n?(41===r.charCodeAt(Ze)?(s=")",Ze++):(s=n,0===ze&&qe(Se)),s!==n?t=e=[e,s]:(Ze=t,t=n)):(Ze=t,t=n),t}function Pn(){var t,e,s;for(ze++,t=Ze,e=[],_e.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(Oe));s!==n;)e.push(s),_e.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(Oe));return t=e!==n?r.substring(t,Ze):e,ze--,t===n&&(e=n,0===ze&&qe(Te)),t}function Fn(){var t,e,s;if(ze++,t=Ze,e=[],_e.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(Oe)),s!==n)for(;s!==n;)e.push(s),_e.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(Oe));else e=n;return t=e!==n?r.substring(t,Ze):e,ze--,t===n&&(e=n,0===ze&&qe(Re)),t}const Un=Object.assign,{strict:Mn,minimal:qn}=t,In=[];let Yn,Xn;const Jn=["$value"],Qn=t.safeNumber||function(r){const t=Number(r);return Number.isSafeInteger(t)?t:r},Wn=t.standardBase64||function(r){return Buffer.from(r,"base64").toString("base64")},Gn=r=>t=>r===t||r.as&&t.as&&r.as===t.as||t.as&&r.ref&&t.as===r.ref[r.ref.length-1]||r.ref&&t.ref&&r.ref.join("")===t.ref.join(""),Hn=r=>t=>{if(Array.isArray(t))return t.map(Hn(r));const e=t.ref&&r.find((r=>r.as&&r.func&&r.as===t.ref[0]));return e||t},Kn=r=>t=>Array.isArray(t)?t.map(Kn(r)):t.ref&&!r.find(Gn(t))?{val:null}:t,Vn=(r,t)=>{if(1===t.ref.length)r.find(Gn(t))||r.push(t);else{const e=t.ref.shift(),n=r.find((r=>r.ref&&r.ref[0]===e));if(n)Vn(n.expand,t);else{const n={ref:[e],expand:[]};Vn(n.expand,t),r.push(n)}}},rs=(r,t,e=!1)=>{let n=ns({from:r.from},t,e);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=ts(n[t],r,e);else n=ts(n,r,e);return n},ts=(r,t,e)=>{if(!t)return r;t.apply&&delete t.apply;let n={};t.columns&&"$count"===t.columns[0].as||r.SELECT.where&&t.where||r.SELECT.limit&&t.limit||r.SELECT.orderBy&&t.orderBy||r.SELECT.search&&t.search?n.from=r:n=r.SELECT;for(const r in t)"columns"===r?(t.columns=t.columns.map((r=>n.columns&&n.columns.find((t=>r.ref&&r.ref[0]===t.as||t.ref&&r.ref&&r.ref[0]===t.ref[0]&&!r.expand))||r)),n.columns&&n.groupBy&&t.columns.push(...n.columns.filter((r=>e&&n.groupBy.find((t=>r.ref&&r.ref[0]===t.ref[0]))&&!t.columns.some((t=>t.ref&&t.ref[0]===r.as||t.ref&&r.ref&&t.ref[0]===r.ref[0]||t.as&&t.as===r.as))))||[]),n.columns=t.columns):"from"!==r&&(n[r]=t[r]);const s=[...n.columns&&n.columns.filter((r=>n.groupBy&&n.groupBy.find((t=>r.ref&&r.ref[0]===t.ref[0]))))||[],...n.columns&&n.columns.filter((r=>r&&"object"==typeof r&&"func"in r))||[]];return es(n,s,e),{SELECT:n}},es=(r,t,e)=>{t.length&&(r.columns=r.columns&&!e?r.columns.reduce(((r,e)=>{const n=t.find(Gn(e));return n&&r.push(n),r}),[]):t,r.where&&(r.where=r.where.map(Hn(r.columns)),r.groupBy&&(r.having=r.where.map(Kn(r.groupBy)),delete r.where)),r.columns=r.columns.reduce(((r,e)=>(e.ref&&e.ref.length>1&&t.find(Gn(e))?Vn(r,{ref:[...e.ref]}):r.push(e),r)),[]))},ns=(r,t,e)=>{if(!t)return;if(r.apply&&delete r.apply,t.identity&&r.from.SELECT&&(r=r.from.SELECT),(t.apply||t.where&&r.where||t.search&&r.search||t.limit&&r.limit||t.orderBy&&r.orderBy)&&(r.from={SELECT:{...r}}),t.where&&(r.where=t.where),t.search&&(r.search=t.search),t.groupBy){r.groupBy=[];for(const e of t.groupBy)r.groupBy.find(Gn(e))||r.groupBy.push(e)}t.limit&&(r.limit=t.limit),t.orderBy&&(r.orderBy=t.orderBy);const n=[...r.groupBy||[],...t.aggregate||[]];if(es(r,n,e),t.apply&&r.from&&ns(r.from.SELECT,t.apply),t.concat&&Array.isArray(t.concat)){const e=[];for(let n of t.concat){n.from=1===Object.keys(r).length?r.from:{SELECT:r};const t=ns(n,n.apply);Array.isArray(t)?e.push(...t):e.push(t)}r=e}return Array.isArray(r)?r:{SELECT:r}},ss=r=>{Yn.limit&&Yn.limit.offset&&Yn.limit.offset.val&&(r+=Yn.limit.offset.val),(Yn.limit||(Yn.limit={})).offset={val:r}},os=(r,t=!1)=>{Yn.orderBy=Yn.orderBy?t?[r,...Yn.orderBy]:[...Yn.orderBy,r]:[r]},us=(r,t)=>{for(const e of t)e.ref&&e.ref[0]===r&&e.ref.shift(),e.func&&us(r,e.args);return t};if((e=o())!==n&&Ze===r.length)return e;throw e!==n&&Ze<r.length&&qe({type:"end"}),Ie(ke,Ne<r.length?r.charAt(Ne):null,Ne<r.length?Me(Ne,Ne+1):Me(Ne,Ne))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.buildMessage=function(r,t){var e={literal:function(r){return'"'+s(r.text)+'"'},class:function(r){var t,e="";for(t=0;t<r.parts.length;t++)e+=r.parts[t]instanceof Array?o(r.parts[t][0])+"-"+o(r.parts[t][1]):o(r.parts[t]);return"["+(r.inverted?"^":"")+e+"]"},any:function(r){return"any character"},end:function(r){return"end of input"},other:function(r){return r.description}};function n(r){return r.charCodeAt(0).toString(16).toUpperCase()}function s(r){return r.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(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}function o(r){return r.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(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}return"Expected "+function(r){var t,n,s,o=new Array(r.length);for(t=0;t<r.length;t++)o[t]=(s=r[t],e[s.type](s));if(o.sort(),o.length>0){for(t=1,n=1;t<o.length;t++)o[t-1]!==o[t]&&(o[n]=o[t],n++);o.length=n}switch(o.length){case 1:return o[0];case 2:return o[0]+" or "+o[1];default:return o.slice(0,-1).join(", ")+", or "+o[o.length-1]}}(r)+" but "+function(r){return r?'"'+s(r)+'"':"end of input"}(t)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
1
+ "use strict";function peg$subclass(r,t){function e(){this.constructor=r}e.prototype=t.prototype,r.prototype=new e}function peg$SyntaxError(r,t,e,n){this.message=r,this.expected=t,this.found=e,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(r,t){t=void 0!==t?t:{};var e,n={},s={ODataRelativeURI:hn},u=hn,o="/",a=sn("/",!1),c=sn("?",!1),i=sn("&",!1),f="$count",l=sn("$count",!1),h="$ref",p=sn("$ref",!1),A="$value",d=sn("$value",!1),g=function(r){return[r]},v="=",m=sn("=",!1),b="$skiptoken=",y=sn("$skiptoken=",!1),C="$select=",w=sn("$select=",!1),x="$expand=",E=sn("$expand=",!1),$="$filter=",L=sn("$filter=",!1),B="$orderby=",S=sn("$orderby=",!1),T=function(r,t){Ts(t)},_="$top=",O=sn("$top=",!1),R="$skip=",j=sn("$skip=",!1),Z="$search=",N=sn("$search=",!1),k="$count=",z=sn("$count=",!1),D="$apply=",P=sn("$apply=",!1),F=sn("*",!1),U="/$count",q=sn("/$count",!1),M=sn(";",!1),I=function(r){return r?[r]:[]},Y=function(r,t){r.push({xpr:t})},X=function(r,t){r.push({val:t})},J=function(r,t,e){r.push(t,...e)},Q=function(r,t){r.push(...t)},W=function(r,t){r.push(t)},G=function(r,t,e){r.push(t,...e)},H=":",K=sn(":",!1),V="any",rr=sn("any",!1),tr="all",er=sn("all",!1),nr=sn("asc",!1),sr="desc",ur=sn("desc",!1),or=function(r,t){return t},ar=/^[a-zA-Z0-9\-_.~]/,cr=un([["a","z"],["A","Z"],["0","9"],"-","_",".","~"],!1,!1),ir=/^[^&]/,fr=un(["&"],!0,!1),lr=on("an aliased parameter (@param)"),hr=sn("@",!1),pr=on("@alias=value"),Ar="$format=",dr=sn("$format=",!1),gr=sn("eq",!1),vr=sn("ne",!1),mr=sn("lt",!1),br=sn("gt",!1),yr=sn("le",!1),Cr=sn("ge",!1),wr=sn("in",!1),xr=(sn("add",!1),sn("sub",!1),sn("mul",!1),sn("div",!1),sn("mod",!1),on("navigation with $count")),Er=function(r,t){return t},$r=function(r,t){return t?{id:r,where:t}:r},Lr=on("a reference"),Br=function(r,t){return t},Sr=function(r){return{val:r}},Tr=on("null"),_r="null",Or=sn("null",!1),Rr=on("a json object"),jr=sn("{",!1),Zr=/^[^}]/,Nr=un(["}"],!0,!1),kr=sn("}",!1),zr=on("a json array"),Dr="[",Pr=sn("[",!1),Fr="]",Ur=sn("]",!1),qr=/^[^\]]/,Mr=un(["]"],!0,!1),Ir=on("a list"),Yr=",",Xr=sn(",",!1),Jr=function(r,t){return t},Qr=on("a function name"),Wr=/^[a-zA-Z]/,Gr=un([["a","z"],["A","Z"]],!1,!1),Hr=function(r,t){return t},Kr="contains",Vr=sn("contains",!0),rt="endswith",tt=sn("endswith",!0),et="startswith",nt=sn("startswith",!0),st=sn("NOT",!0),ut=sn("AND",!0),ot=sn("OR",!0),at="aggregate",ct=sn("aggregate",!1),it="groupby",ft=sn("groupby",!1),lt="filter",ht=sn("filter",!1),pt="search",At=sn("search",!1),dt="concat",gt=sn("concat",!1),vt="compute",mt=sn("compute",!1),bt=sn("top",!1),yt="skip",Ct=sn("skip",!1),wt="orderby",xt=sn("orderby",!1),Et=sn("topcount",!0),$t=sn("bottomcount",!0),Lt=sn("topsum",!0),Bt=sn("bottomsum",!0),St=sn("toppercent",!0),Tt=sn("bottompercent",!0),_t=function(r,t){return t},Ot="with",Rt=sn("with",!1),jt="from",Zt=sn("from",!1),Nt=sn("as",!1),kt="rollup",zt=sn("rollup",!1),Dt="$all",Pt=sn("$all",!1),Ft=function(r,t){return t},Ut="identity",qt=sn("identity",!1),Mt=function(r,t){return t},It=on("a boolean"),Yt="true",Xt=sn("true",!1),Jt="false",Qt=sn("false",!1),Wt=on("a single quoted string"),Gt="'",Ht=sn("'",!1),Kt="''",Vt=sn("''",!1),re=/^[^']/,te=un(["'"],!0,!1),ee=on("a doubled quoted string"),ne='"',se=sn('"',!1),ue='\\"',oe=sn('\\"',!1),ae=/^[^"]/,ce=un(['"'],!0,!1),ie=on("a string"),fe=/^[^ \t\n()"&;]/,le=un([" ","\t","\n","(",")",'"',"&",";"],!0,!1),he=on("a date"),pe=/^[0-9]/,Ae=un([["0","9"]],!1,!1),de="-",ge=sn("-",!1),ve=sn("T",!1),me=".",be=sn(".",!1),ye=sn("Z",!1),Ce=sn("+",!1),we=on("a number"),xe=/^[+\-]/,Ee=un(["+","-"],!1,!1),$e=sn("e",!1),Le=on("an integer"),Be=on("an identifier"),Se=/^[_a-zA-Z]/,Te=un(["_",["a","z"],["A","Z"]],!1,!1),_e=/^[_a-zA-Z0-9"."]/,Oe=un(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"'],!1,!1),Re=on("a guid"),je=on("a hex value"),Ze=/^[0-9a-fA-F]/,Ne=un([["0","9"],["a","f"],["A","F"]],!1,!1),ke=/^[^\/?]/,ze=un(["/","?"],!0,!1),De=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,Pe=un([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),Fe=on("a binary"),Ue="binary'",qe=sn("binary'",!1),Me=/^[a-zA-Z0-9\-_]/,Ie=un([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),Ye="==",Xe=sn("==",!1),Je=sn("(",!1),Qe=sn(")",!1),We=on("an optional whitespace"),Ge=/^[ \t\n]/,He=un([" ","\t","\n"],!1,!1),Ke=on("a whitespace"),Ve=0,rn=[{line:1,column:1}],tn=0,en=[],nn=0;if("startRule"in t){if(!(t.startRule in s))throw new Error("Can't start parsing from rule \""+t.startRule+'".');u=s[t.startRule]}function sn(r,t){return{type:"literal",text:r,ignoreCase:t}}function un(r,t,e){return{type:"class",parts:r,inverted:t,ignoreCase:e}}function on(r){return{type:"other",description:r}}function an(t){var e,n=rn[t];if(n)return n;for(e=t-1;!rn[e];)e--;for(n={line:(n=rn[e]).line,column:n.column};e<t;)10===r.charCodeAt(e)?(n.line++,n.column=1):n.column++,e++;return rn[t]=n,n}function cn(r,t){var e=an(r),n=an(t);return{start:{offset:r,line:e.line,column:e.column},end:{offset:t,line:n.line,column:n.column}}}function fn(r){Ve<tn||(Ve>tn&&(tn=Ve,en=[]),en.push(r))}function ln(r,t,e){return new peg$SyntaxError(peg$SyntaxError.buildMessage(r,t),r,t,e)}function hn(){var t,e,s,u,f,l,h,p,A,d,g,v,m,b,y;if(t=Ve,47===r.charCodeAt(Ve)?(e=o,Ve++):(e=n,0===nn&&fn(a)),e===n&&(e=null),e!==n)if(s=Ve,(u=pn())!==n&&(s,u=void(ds=u)),(s=u)!==n){if(u=Ve,(f=is())!==n)if(63===r.charCodeAt(Ve)?(l="?",Ve++):(l=n,0===nn&&fn(c)),l!==n)if((h=is())!==n){if(p=Ve,(A=dn())!==n){for(d=[],g=Ve,(v=is())!==n?(38===r.charCodeAt(Ve)?(m="&",Ve++):(m=n,0===nn&&fn(i)),m!==n&&(b=is())!==n&&(y=dn())!==n?g=v=[v,m,b,y]:(Ve=g,g=n)):(Ve=g,g=n);g!==n;)d.push(g),g=Ve,(v=is())!==n?(38===r.charCodeAt(Ve)?(m="&",Ve++):(m=n,0===nn&&fn(i)),m!==n&&(b=is())!==n&&(y=dn())!==n?g=v=[v,m,b,y]:(Ve=g,g=n)):(Ve=g,g=n);d!==n?p=A=[A,d]:(Ve=p,p=n)}else Ve=p,p=n;p===n&&(p=null),p!==n?u=f=[f,l,h,p]:(Ve=u,u=n)}else Ve=u,u=n;else Ve=u,u=n;else Ve=u,u=n;u===n&&(u=null),u!==n&&(f=is())!==n?(t,t=e=function(){if(gs)return ds.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete ds.expand,delete ds.limit,delete ds.orderBy,ds.apply?Es(ds,ds.apply):{SELECT:ds};let r;if(ds.expand){ds.columns||(ds.columns=["*"],r=!0);for(const r of ds.expand){const t=ds.columns.findIndex(ys(r));t>-1&&ds.columns.splice(t,1),ds.columns.push(r)}delete ds.expand}return ds.count&&ds.apply&&(ds.__countAggregated=!0),ds.apply?Es(ds,ds.apply,r):{SELECT:ds}}()):(Ve=t,t=n)}else Ve=t,t=n;else Ve=t,t=n;return t}function pn(){var t,e,s,u,c,i,v,m;return t=Ve,r.substr(Ve,6)===f?(e=f,Ve+=6):(e=n,0===nn&&fn(l)),e!==n&&(t,e=void(gs=!0)),(t=e)===n&&(t=Ve,e=Ve,r.substr(Ve,4)===h?(s=h,Ve+=4):(s=n,0===nn&&fn(p)),s===n&&(r.substr(Ve,6)===A?(s=A,Ve+=6):(s=n,0===nn&&fn(d))),(e=s!==n?r.substring(e,Ve):s)!==n&&(t,m=e,e=!vs.includes(m)&&{from:{ref:[m]}}),(t=e)===n&&(t=Ve,e=Ve,(s=es())!==n?(u=Ve,(c=as())!==n&&(i=cs())!==n?u=c=[c,i]:(Ve=u,u=n),u===n&&(u=Ve,(c=as())!==n&&(i=An())!==n&&(v=cs())!==n?u=c=[c,i,v]:(Ve=u,u=n)),u===n&&(u=null),u!==n?(c=Ve,nn++,i=us(),nn--,i===n?c=void 0:(Ve=c,c=n),c!==n?e=s=[s,u,c]:(Ve=e,e=n)):(Ve=e,e=n)):(Ve=e,e=n),e===n&&(e=Ve,(s=us())!==n&&(e,s=g(s)),e=s),e===n&&(e=null),e!==n?(s=Ve,u=Ve,47===r.charCodeAt(Ve)?(c=o,Ve++):(c=n,0===nn&&fn(a)),c!==n&&(u,c=c),(u=c)!==n?((c=pn())===n&&(c=null),c!==n?s=u=[u,c]:(Ve=s,s=n)):(Ve=s,s=n),s===n&&(s=null),s!==n?(t,t=e=function(r,t){if(t=t&&t[1],!r&&!t)return{from:{ref:[""]}};if(!r&&t&&t.from)return t.from.ref.unshift(""),t;const[e,n]=r,s=[];if(n?n.length>2?s.push({id:e,where:n[1].map((r=>r.val&&r.val.match&&r.val.match(/^"(.*)"$/)?{val:r.val.match(/^"(.*)"$/)[1]}:r))}):s.push({id:e,where:[]}):ps?s.push(`${"object"==typeof e&&"val"in e?e.val:e}`):"object"==typeof e&&"string"==typeof e.val&&e.val.match(/^[1-9]\d*$|^0$/)?s.push({val:ms(e.val)}):s.push(e),t&&t.from){const r=t.from.ref;Object.prototype.hasOwnProperty.call(r[0],"val")&&(s[s.length-1]={id:s[s.length-1],where:[r.shift()]}),s.push(...r)}const u={from:{ref:s}};return t&&t.columns&&(u.columns=t.columns),u}(e,s)):(Ve=t,t=n)):(Ve=t,t=n))),t}function An(){var t,e,s,u,o,a,c;return t=Ve,(e=zn())!==n&&(t,e=g(e)),(t=e)===n&&(t=Ve,(e=kn())!==n&&is()!==n?(61===r.charCodeAt(Ve)?(s=v,Ve++):(s=n,0===nn&&fn(m)),s!==n&&is()!==n&&(u=zn())!==n?(o=Ve,(a=os())!==n&&(c=An())!==n?o=a=[a,c]:(Ve=o,o=n),o===n&&(o=null),o!==n?(t,t=e=function(r,t,e){const n=[r,"=",t];return e&&n.push("and",...e[1]),n}(e,u,o)):(Ve=t,t=n)):(Ve=t,t=n)):(Ve=t,t=n)),t}function dn(){var t,e,s,u,o;return t=Ve,(e=gn())!==n&&(t,e=void((o=e)&&o.apply&&(ds.apply=o.apply))),(t=e)===n&&(t=Ve,r.substr(Ve,11)===b?(e=b,Ve+=11):(e=n,0===nn&&fn(y)),e!==n&&(s=is())!==n?(u=function(){var t,e,s;t=Ve,(e=ts())===n&&(e=null);e!==n?(s=function(){var t,e,s;t=Ve,e=[],De.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(Pe));if(s!==n)for(;s!==n;)e.push(s),De.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(Pe));else e=n;t=e!==n?r.substring(t,Ve):e;return t}(),s===n&&(s=null),s!==n?(t,u=e,t=e=void(s||Ss(u))):(Ve=t,t=n)):(Ve=t,t=n);var u;return t}(),u!==n?t=e=[e,s,u]:(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=function(){var t,e,s,u,o;t=Ve,r.substr(Ve,8)===Ar?(e=Ar,Ve+=8):(e=n,0===nn&&fn(dr));if(e!==n){for(s=Ve,u=[],ir.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(fr));o!==n;)u.push(o),ir.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(fr));(s=u!==n?r.substring(s,Ve):u)!==n?(t,t=e=function(r){if("json"!==r.toLowerCase()){const r=new Error("ONLY_QUERY_PARAM_FORMAT_JSON_ALLOWED");throw r.statusCode=501,r}}(s)):(Ve=t,t=n)}else Ve=t,t=n;return t}(),t===n&&(t=function(){var t,e,s,u,o;t=Ve,e=[],ar.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(cr));if(s!==n)for(;s!==n;)e.push(s),ar.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(cr));else e=n;if(e!==n)if(61===r.charCodeAt(Ve)?(s=v,Ve++):(s=n,0===nn&&fn(m)),s!==n){for(u=[],ir.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(fr));o!==n;)u.push(o),ir.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(fr));u!==n?t=e=[e,s,u]:(Ve=t,t=n)}else Ve=t,t=n;else Ve=t,t=n;return t}(),t===n&&(t=function(){var t,e,s,u,o;if(nn++,t=Ve,(e=Rn())!==n)if(61===r.charCodeAt(Ve)?(s=v,Ve++):(s=n,0===nn&&fn(m)),s!==n){for(u=[],ir.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(fr));o!==n;)u.push(o),ir.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(fr));u!==n?(t,t=e=e+"="+u):(Ve=t,t=n)}else Ve=t,t=n;else Ve=t,t=n;nn--,t===n&&(e=n,0===nn&&fn(pr));return t}())))),t}function gn(){var t,e,s,u,o,a,c,i,f,l,h;if(t=Ve,r.substr(Ve,8)===C?(e=C,Ve+=8):(e=n,0===nn&&fn(w)),e!==n)if((s=is())!==n)if((u=vn())!==n){for(o=[],a=Ve,(c=os())!==n&&(i=vn())!==n?a=c=[c,i]:(Ve=a,a=n);a!==n;)o.push(a),a=Ve,(c=os())!==n&&(i=vn())!==n?a=c=[c,i]:(Ve=a,a=n);o!==n?t=e=[e,s,u,o]:(Ve=t,t=n)}else Ve=t,t=n;else Ve=t,t=n;else Ve=t,t=n;if(t===n){if(t=Ve,r.substr(Ve,8)===x?(e=x,Ve+=8):(e=n,0===nn&&fn(E)),e!==n)if((s=is())!==n)if((u=yn())!==n){for(o=[],a=Ve,(c=os())!==n&&(i=yn())!==n?a=c=[c,i]:(Ve=a,a=n);a!==n;)o.push(a),a=Ve,(c=os())!==n&&(i=yn())!==n?a=c=[c,i]:(Ve=a,a=n);o!==n?(a=function(){var t,e;t=Ve,r.substr(Ve,7)===U?(e=U,Ve+=7):(e=n,0===nn&&fn(q));e!==n&&(t,e=function(){const r=new Error("EXPAND_COUNT_UNSUPPORTED");throw r.statusCode=501,r}());return t=e}(),a===n&&(a=null),a!==n?t=e=[e,s,u,o,a]:(Ve=t,t=n)):(Ve=t,t=n)}else Ve=t,t=n;else Ve=t,t=n;else Ve=t,t=n;if(t===n&&(t=Ve,r.substr(Ve,8)===$?(e=$,Ve+=8):(e=n,0===nn&&fn(L)),e!==n&&(s=is())!==n&&(u=$n())!==n?(t,h=u,t=e=void(ds.where=h)):(Ve=t,t=n),t===n)){if(t=Ve,r.substr(Ve,9)===B?(e=B,Ve+=9):(e=n,0===nn&&fn(S)),e!==n)if((s=is())!==n)if((u=_n())!==n){for(o=[],a=Ve,(c=os())!==n&&(i=_n())!==n?(a,a=c=T(0,i)):(Ve=a,a=n);a!==n;)o.push(a),a=Ve,(c=os())!==n&&(i=_n())!==n?(a,a=c=T(0,i)):(Ve=a,a=n);o!==n?(t,t=e=void Ts(u,!0)):(Ve=t,t=n)}else Ve=t,t=n;else Ve=t,t=n;else Ve=t,t=n;t===n&&(t=Ve,r.substr(Ve,5)===_?(e=_,Ve+=5):(e=n,0===nn&&fn(O)),e!==n&&(s=is())!==n&&(u=Cn())!==n?(t,l=u,t=e=void((ds.limit||(ds.limit={})).rows={val:l})):(Ve=t,t=n),t===n&&(t=Ve,r.substr(Ve,6)===R?(e=R,Ve+=6):(e=n,0===nn&&fn(j)),e!==n&&(s=is())!==n&&(u=wn())!==n?(t,e=function(r){Ss(r)}(u),t=e):(Ve=t,t=n),t===n&&(t=Ve,r.substr(Ve,8)===Z?(e=Z,Ve+=8):(e=n,0===nn&&fn(N)),e!==n&&(s=is())!==n&&(u=xn())!==n?(t,t=e=void((f=u)&&(ds.search=f))):(Ve=t,t=n),t===n&&(t=Ve,r.substr(Ve,7)===k?(e=k,Ve+=7):(e=n,0===nn&&fn(z)),e!==n&&(s=is())!==n?(u=function(){var r,t;r=Ve,(t=Vn())!==n&&(r,t=function(r){r&&(ds.count=!0)}(t));return r=t}(),u!==n?t=e=[e,s,u]:(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=Ve,r.substr(Ve,7)===D?(e=D,Ve+=7):(e=n,0===nn&&fn(P)),e!==n&&(s=is())!==n&&(u=On())!==n?(t,t=e=u):(Ve=t,t=n))))))}}return t}function vn(){var t,e,s;return t=Ve,42===r.charCodeAt(Ve)?(e="*",Ve++):(e=n,0===nn&&fn(F)),e===n&&(e=kn()),e!==n&&(t,s=e,ds.columns=Array.isArray(ds.columns)?ds.columns:[],ds.columns.find(ys(s))||ds.columns.push(s),e=s),t=e}function mn(){var t,e,s,u,o;for(t=Ve,e=[],s=Ve,(u=gn())!==n&&is()!==n?(59===r.charCodeAt(Ve)?(o=";",Ve++):(o=n,0===nn&&fn(M)),o===n&&(o=null),o!==n?(s,s=u):(Ve=s,s=n)):(Ve=s,s=n);s!==n;)e.push(s),s=Ve,(u=gn())!==n&&is()!==n?(59===r.charCodeAt(Ve)?(o=";",Ve++):(o=n,0===nn&&fn(M)),o===n&&(o=null),o!==n?(s,s=u):(Ve=s,s=n)):(Ve=s,s=n);return e!==n&&(t,e=function(r){if(r.find((r=>r&&void 0!==r.apply))){const r=new Error("EXPAND_APPLY_UNSUPPORTED");throw r.statusCode=501,r}if(ds.columns){"*"===ds.expand&&(ds.expand=[]);for(const r of ds.columns)ds.expand.find(ys(r))||ds.expand.push(r);delete ds.columns}else Array.isArray(ds.expand)&&-1===ds.expand.indexOf("*")&&ds.expand.unshift("*")}(e)),t=e}function bn(){var r,t,e,s,u;return r=Ve,t=Ve,(e=as())!==n&&(t,As.push(ds),ds=ds.expand[ds.expand.length-1],e=void(ds.expand="*")),(t=e)!==n?((e=mn())===n&&(e=null),e!==n?(s=Ve,(u=cs())!==n&&(s,u=void(ds=As.pop())),(s=u)!==n?r=t=[t,e,s]:(Ve=r,r=n)):(Ve=r,r=n)):(Ve=r,r=n),r}function yn(){var t,e,s;return t=Ve,e=Ve,42===r.charCodeAt(Ve)?(s="*",Ve++):(s=n,0===nn&&fn(F)),s===n&&(s=kn()),s!==n&&(e,s=function(r){const t="*"===r?{}:r;return t.expand="*",Array.isArray(ds.expand)||(ds.expand=[]),ds.expand.find(ys(t))||ds.expand.push(t),t}(s)),(e=s)!==n?((s=bn())===n&&(s=null),s!==n?t=e=[e,s]:(Ve=t,t=n)):(Ve=t,t=n),t}function Cn(){var r,t;return r=Ve,(t=ts())!==n&&r,r=t}function wn(){var r,t;return r=Ve,(t=ts())!==n&&r,r=t}function xn(){var r,t;return r=Ve,(t=En())!==n&&r,(r=t)===n&&(r=is()),r}function En(){var t,e,s,u,o,a,c;if(t=Ve,e=Ve,(s=Un())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=Ve,(u=as())!==n&&(o=En())!==n&&(a=cs())!==n?(s,s=u=Y(e,o)):(Ve=s,s=n),s===n&&(s=Ve,u=function(){var t,e,s,u,o;nn++,t=Ve,34===r.charCodeAt(Ve)?(e=ne,Ve++):(e=n,0===nn&&fn(se));if(e!==n){for(s=Ve,u=[],r.substr(Ve,2)===ue?(o=ue,Ve+=2):(o=n,0===nn&&fn(oe)),o===n&&(ae.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(ce)));o!==n;)u.push(o),r.substr(Ve,2)===ue?(o=ue,Ve+=2):(o=n,0===nn&&fn(oe)),o===n&&(ae.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(ce)));(s=u!==n?r.substring(s,Ve):u)!==n?(34===r.charCodeAt(Ve)?(u=ne,Ve++):(u=n,0===nn&&fn(se)),u!==n?(t,t=e=s.replace(/\\\\/g,"\\").replace(/\\"/g,'"')):(Ve=t,t=n)):(Ve=t,t=n)}else Ve=t,t=n;nn--,t===n&&(e=n,0===nn&&fn(ee));return t}(),u!==n&&(s,u=X(e,u)),(s=u)===n&&(s=Ve,(u=rs())!==n&&(s,u=X(e,u)),(s=u)===n&&(s=Ve,u=function(){var t,e,s;nn++,t=Ve,e=[],fe.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(le));if(s!==n)for(;s!==n;)e.push(s),fe.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(le));else e=n;t=e!==n?r.substring(t,Ve):e;nn--,t===n&&(e=n,0===nn&&fn(ie));return t}(),u!==n&&(s,u=X(e,u)),s=u))),s!==n){for(u=[],o=Ve,(a=qn())===n&&(a=In())===n&&(a=Mn()),a!==n&&(c=En())!==n?(o,o=a=J(e,a,c)):(Ve=o,o=n);o!==n;)u.push(o),o=Ve,(a=qn())===n&&(a=In())===n&&(a=Mn()),a!==n&&(c=En())!==n?(o,o=a=J(e,a,c)):(Ve=o,o=n);u!==n?(t,t=e):(Ve=t,t=n)}else Ve=t,t=n;else Ve=t,t=n;return t}function $n(){var r,t;return r=Ve,(t=Ln())!==n&&r,r=t}function Ln(){var t,e,s,u,o,a,c,i;if(t=Ve,e=Ve,(s=Un())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=Ve,(u=as())!==n&&(o=Ln())!==n&&(a=cs())!==n?(s,s=u=Y(e,o)):(Ve=s,s=n),s===n&&(s=Ve,(u=jn())!==n&&(s,i=u,u=void e.push(...i)),(s=u)===n&&(s=Ve,(u=Bn())!==n&&(s,u=function(r,t){"not"===r[r.length-1]&&"not"===t[0]?r.push("(",...t,")"):r.push(...t)}(e,u)),(s=u)===n&&(s=Ve,u=function(){var t,e,s,u;t=Ve,r.substr(Ve,8).toLowerCase()===Kr?(e=r.substr(Ve,8),Ve+=8):(e=n,0===nn&&fn(Vr));e===n&&(r.substr(Ve,8).toLowerCase()===rt?(e=r.substr(Ve,8),Ve+=8):(e=n,0===nn&&fn(tt)),e===n&&(r.substr(Ve,10).toLowerCase()===et?(e=r.substr(Ve,10),Ve+=10):(e=n,0===nn&&fn(nt))));e!==n&&as()!==n&&(s=Nn())!==n&&os()!==n&&(u=Nn())!==n&&cs()!==n?(t,o=s,a=u,t=e={func:e.toLowerCase(),args:[o,a]}):(Ve=t,t=n);var o,a;return t}(),u!==n&&(s,u=function(r,t){r.push(t)}(e,u)),(s=u)===n&&(s=Ve,(u=Vn())!==n&&(s,u=X(e,u)),(s=u)===n&&(s=Ve,(u=Zn())!==n&&(s,u=Q(e,u)),s=u))))),s!==n){for(u=[],o=Ve,(a=qn())===n&&(a=In()),a!==n&&(c=Ln())!==n?(o,o=a=J(e,a,c)):(Ve=o,o=n);o!==n;)u.push(o),o=Ve,(a=qn())===n&&(a=In()),a!==n&&(c=Ln())!==n?(o,o=a=J(e,a,c)):(Ve=o,o=n);u!==n?(t,t=e):(Ve=t,t=n)}else Ve=t,t=n;else Ve=t,t=n;return t}function Bn(){var t,e,s,u,c,i,f;if(t=Ve,e=Ve,(s=es())!==n&&(e,s=[s]),(e=s)!==n)if(47===r.charCodeAt(Ve)?(s=o,Ve++):(s=n,0===nn&&fn(a)),s!==n){for(u=[],c=Ve,(i=es())!==n?(47===r.charCodeAt(Ve)?(f=o,Ve++):(f=n,0===nn&&fn(a)),f!==n?(c,c=i=W(e,i)):(Ve=c,c=n)):(Ve=c,c=n);c!==n;)u.push(c),c=Ve,(i=es())!==n?(47===r.charCodeAt(Ve)?(f=o,Ve++):(f=n,0===nn&&fn(a)),f!==n?(c,c=i=W(e,i)):(Ve=c,c=n)):(Ve=c,c=n);u!==n?(c=Ve,i=function(){var t,e,s;t=Ve,r.substr(Ve,3)===V?(e=V,Ve+=3):(e=n,0===nn&&fn(rr));e!==n&&as()!==n?((s=Tn())===n&&(s=null),s!==n&&cs()!==n?(t,t=e=s):(Ve=t,t=n)):(Ve=t,t=n);return t}(),i!==n&&(c,i=function(r,t){let e=r.pop();if(!t)return["exists",{ref:[...r,{id:e}]}];let n=[];for(let r=0,s=0;r<t.length;++r){let u=t[r];u.ref&&0===u.ref.length&&"="===t[r+1]?n[s++]={func:"contains",args:[{ref:e},t[r+=2]]}:n[s++]=u}return n.length<t.length?(e=r.pop(),["exists",{ref:[...r,{id:e,where:n}]}]):["exists",{ref:[...r,{id:e,where:t}]}]}(e,i)),(c=i)===n&&(c=Ve,i=function(){var t,e,s;t=Ve,r.substr(Ve,3)===tr?(e=tr,Ve+=3):(e=n,0===nn&&fn(er));e!==n&&as()!==n&&(s=Tn())!==n&&cs()!==n?(t,t=e=s):(Ve=t,t=n);return t}(),i!==n&&(c,i=function(r,t){let e=r.pop();return["not","exists",{ref:[...r,{id:e,where:["not",{xpr:[...t]}]}]}]}(e,i)),c=i),c!==n?(t,t=e=c):(Ve=t,t=n)):(Ve=t,t=n)}else Ve=t,t=n;else Ve=t,t=n;return t}function Sn(){var r,t,e,s,u,o,a,c,i;if(r=Ve,t=Ve,(e=Un())===n&&(e=null),e!==n&&(t,e=(c=e)?[c]:[]),(t=e)!==n)if(e=Ve,(s=as())!==n&&(u=Sn())!==n&&(o=cs())!==n?(e,i=u,e=s=void t.push("(",...i,")")):(Ve=e,e=n),e===n&&(e=Ve,(s=jn())!==n&&(e,s=function(r,t){r.push(...t)}(t,s)),(e=s)===n&&(e=Ve,(s=Fn())!==n&&(e,s=function(r,t){r.push(t)}(t,s)),(e=s)===n&&(e=Ve,(s=Bn())!==n&&(e,s=function(r,t){r.push(...t)}(t,s)),(e=s)===n&&(e=Ve,(s=Zn())!==n&&(e,s=Q(t,s)),e=s)))),e!==n){for(s=[],u=Ve,(o=qn())===n&&(o=In()),o!==n&&(a=Sn())!==n?(u,u=o=G(t,o,a)):(Ve=u,u=n);u!==n;)s.push(u),u=Ve,(o=qn())===n&&(o=In()),o!==n&&(a=Sn())!==n?(u,u=o=G(t,o,a)):(Ve=u,u=n);s!==n?(r,r=t):(Ve=r,r=n)}else Ve=r,r=n;else Ve=r,r=n;return r}function Tn(){var t,e,s,u;return t=Ve,(e=es())!==n?(58===r.charCodeAt(Ve)?(s=H,Ve++):(s=n,0===nn&&fn(K)),s!==n&&(u=Sn())!==n?(t,t=e=_s(e,u)):(Ve=t,t=n)):(Ve=t,t=n),t}function _n(){var t,e,s,u,o,a;return t=Ve,e=Ve,(s=Bn())!==n&&(e,s=function(){const r=new Error("ORDERBY_LAMBDA_UNSUPPORTED");throw r.statusCode=501,r}()),(e=s)===n&&(e=Fn())===n&&(e=kn()),e!==n?(s=Ve,fs()!==n?(u=Ve,"asc"===r.substr(Ve,3)?(o="asc",Ve+=3):(o=n,0===nn&&fn(nr)),o===n&&(r.substr(Ve,4)===sr?(o=sr,Ve+=4):(o=n,0===nn&&fn(ur))),(u=o!==n?r.substring(u,Ve):o)!==n?(s,s=u):(Ve=s,s=n)):(Ve=s,s=n),s===n&&(s=null),s!==n?(t,t=e=ls(e,(a=s)&&{sort:a})):(Ve=t,t=n)):(Ve=t,t=n),t}function On(){var t,e,s,u,c,i;if(t=Ve,(e=Yn())!==n){for(s=[],u=Ve,47===r.charCodeAt(Ve)?(c=o,Ve++):(c=n,0===nn&&fn(a)),c!==n&&(i=Yn())!==n?(u,u=c=or(0,i)):(Ve=u,u=n);u!==n;)s.push(u),u=Ve,47===r.charCodeAt(Ve)?(c=o,Ve++):(c=n,0===nn&&fn(a)),c!==n&&(i=Yn())!==n?(u,u=c=or(0,i)):(Ve=u,u=n);s!==n?(t,t=e=function(r,t){if(void 0!==r){t=Array.isArray(t)?t:[t];for(let e of t)for(const t in e)if("limit"===t&&e.limit&&r.limit&&r.limit.offset&&e.limit.rows)r.limit.rows=e.limit.rows;else if(r[t]||"groupBy"===t&&(r.where||r.search)||"aggregate"===t&&"groupBy"in r&&!("groupBy"in e)){let n=r;r={apply:n},"limit"===t&&e[t].offset&&n.limit&&n.limit.offset&&n.limit.offset.val&&(e[t].offset+=n.limit.offset.val),n=r,n[t]=e[t]}else r[t]=e[t];return{apply:r}}}(e,s)):(Ve=t,t=n)}else Ve=t,t=n;return t}function Rn(){var t,e,s;return nn++,t=Ve,64===r.charCodeAt(Ve)?(e="@",Ve++):(e=n,0===nn&&fn(hr)),e!==n&&(s=es())!==n?(t,t=e="@"+s):(Ve=t,t=n),nn--,t===n&&(e=n,0===nn&&fn(lr)),t}function jn(){var t,e,s,u,o,a;return t=Ve,(e=Nn())!==n&&fs()!==n?(s=Ve,"eq"===r.substr(Ve,2)?(u="eq",Ve+=2):(u=n,0===nn&&fn(gr)),u===n&&("ne"===r.substr(Ve,2)?(u="ne",Ve+=2):(u=n,0===nn&&fn(vr)),u===n&&("lt"===r.substr(Ve,2)?(u="lt",Ve+=2):(u=n,0===nn&&fn(mr)),u===n&&("gt"===r.substr(Ve,2)?(u="gt",Ve+=2):(u=n,0===nn&&fn(br)),u===n&&("le"===r.substr(Ve,2)?(u="le",Ve+=2):(u=n,0===nn&&fn(yr)),u===n&&("ge"===r.substr(Ve,2)?(u="ge",Ve+=2):(u=n,0===nn&&fn(Cr))))))),(s=u!==n?r.substring(s,Ve):u)!==n&&(u=fs())!==n&&(o=Nn())!==n?(t,t=e=[e,{eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="}[a=s]||a,o]):(Ve=t,t=n)):(Ve=t,t=n),t}function Zn(){var t,e,s,u;return t=Ve,(e=Nn())!==n&&fs()!==n?("in"===r.substr(Ve,2)?(s="in",Ve+=2):(s=n,0===nn&&fn(wr)),s!==n&&fs()!==n?(u=function(){var t,e,s,u,o,a,c;if(nn++,t=Ve,as()!==n){if(e=Ve,(s=zn())!==n){for(u=[],o=Ve,44===r.charCodeAt(Ve)?(a=Yr,Ve++):(a=n,0===nn&&fn(Xr)),a!==n&&(c=zn())!==n?(o,o=a=Jr(0,c)):(Ve=o,o=n);o!==n;)u.push(o),o=Ve,44===r.charCodeAt(Ve)?(a=Yr,Ve++):(a=n,0===nn&&fn(Xr)),a!==n&&(c=zn())!==n?(o,o=a=Jr(0,c)):(Ve=o,o=n);u!==n?(e,i=u,e=s=[s,...i]):(Ve=e,e=n)}else Ve=e,e=n;e!==n&&(s=cs())!==n?(t,t={list:e}):(Ve=t,t=n)}else Ve=t,t=n;var i;nn--,t===n&&(n,0===nn&&fn(Ir));return t}(),u!==n?(t,t=e=[e,"in",u]):(Ve=t,t=n)):(Ve=t,t=n)):(Ve=t,t=n),t}function Nn(){var t;return(t=function(){var t,e,s,u,c,i,h;nn++,t=Ve,e=[],s=Ve,(u=es())!==n?(c=Ve,(i=as())!==n&&(h=An())!==n&&cs()!==n?(c,c=i=Er(0,h)):(Ve=c,c=n),c===n&&(c=null),c!==n?(47===r.charCodeAt(Ve)?(i=o,Ve++):(i=n,0===nn&&fn(a)),i!==n?(s,s=u=$r(u,c)):(Ve=s,s=n)):(Ve=s,s=n)):(Ve=s,s=n);if(s!==n)for(;s!==n;)e.push(s),s=Ve,(u=es())!==n?(c=Ve,(i=as())!==n&&(h=An())!==n&&cs()!==n?(c,c=i=Er(0,h)):(Ve=c,c=n),c===n&&(c=null),c!==n?(47===r.charCodeAt(Ve)?(i=o,Ve++):(i=n,0===nn&&fn(a)),i!==n?(s,s=u=$r(u,c)):(Ve=s,s=n)):(Ve=s,s=n)):(Ve=s,s=n);else e=n;e!==n?(r.substr(Ve,6)===f?(s=f,Ve+=6):(s=n,0===nn&&fn(l)),s!==n?(t,t=e={func:"count",as:"$count",args:[{ref:e}]}):(Ve=t,t=n)):(Ve=t,t=n);nn--,t===n&&(e=n,0===nn&&fn(xr));return t}())===n&&(t=Fn())===n&&(t=zn())===n&&(t=kn())===n&&(t=Dn())===n&&(t=Pn())===n&&(t=function(){var t,e,s,u,o;nn++,t=Ve,91===r.charCodeAt(Ve)?(e=Dr,Ve++):(e=n,0===nn&&fn(Pr));if(e!==n){for(s=Ve,u=[],qr.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(Mr));o!==n;)u.push(o),qr.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(Mr));(s=u!==n?r.substring(s,Ve):u)!==n?(93===r.charCodeAt(Ve)?(u=Fr,Ve++):(u=n,0===nn&&fn(Ur)),u!==n?(t,t=e={list:s.replace(/"/g,"").split(",").map((r=>({val:r})))}):(Ve=t,t=n)):(Ve=t,t=n)}else Ve=t,t=n;nn--,t===n&&(e=n,0===nn&&fn(Ir));return t}()),t}function kn(){var t,e,s,u,c,i,f,l;if(nn++,t=Ve,(e=es())!==n){for(s=[],u=Ve,47===r.charCodeAt(Ve)?(c=o,Ve++):(c=n,0===nn&&fn(a)),c!==n&&(i=es())!==n?(u,u=c=Br(0,i)):(Ve=u,u=n);u!==n;)s.push(u),u=Ve,47===r.charCodeAt(Ve)?(c=o,Ve++):(c=n,0===nn&&fn(a)),c!==n&&(i=es())!==n?(u,u=c=Br(0,i)):(Ve=u,u=n);s!==n?(t,l=s,t=e="null"===(f=e)?{val:null}:{ref:[f,...l]}):(Ve=t,t=n)}else Ve=t,t=n;return nn--,t===n&&(e=n,0===nn&&fn(Lr)),t}function zn(){var t,e,s;return t=Ve,(e=Vn())===n&&(e=function(){var t,e,s,u,o,a,c,i,f,l,h,p,A,d,g,v,m,b,y,C,w,x,E,$,L;nn++,t=Ve,e=Ve,s=Ve,u=[],pe.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(Ae));if(o!==n)for(;o!==n;)u.push(o),pe.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(Ae));else u=n;if(u!==n)if(45===r.charCodeAt(Ve)?(o=de,Ve++):(o=n,0===nn&&fn(ge)),o!==n)if(pe.test(r.charAt(Ve))?(a=r.charAt(Ve),Ve++):(a=n,0===nn&&fn(Ae)),a!==n)if(pe.test(r.charAt(Ve))?(c=r.charAt(Ve),Ve++):(c=n,0===nn&&fn(Ae)),c!==n)if(45===r.charCodeAt(Ve)?(i=de,Ve++):(i=n,0===nn&&fn(ge)),i!==n)if(pe.test(r.charAt(Ve))?(f=r.charAt(Ve),Ve++):(f=n,0===nn&&fn(Ae)),f!==n)if(pe.test(r.charAt(Ve))?(l=r.charAt(Ve),Ve++):(l=n,0===nn&&fn(Ae)),l!==n){if(h=Ve,84===r.charCodeAt(Ve)?(p="T",Ve++):(p=n,0===nn&&fn(ve)),p!==n)if(pe.test(r.charAt(Ve))?(A=r.charAt(Ve),Ve++):(A=n,0===nn&&fn(Ae)),A!==n)if(pe.test(r.charAt(Ve))?(d=r.charAt(Ve),Ve++):(d=n,0===nn&&fn(Ae)),d!==n)if(58===r.charCodeAt(Ve)?(g=H,Ve++):(g=n,0===nn&&fn(K)),g!==n)if(pe.test(r.charAt(Ve))?(v=r.charAt(Ve),Ve++):(v=n,0===nn&&fn(Ae)),v!==n)if(pe.test(r.charAt(Ve))?(m=r.charAt(Ve),Ve++):(m=n,0===nn&&fn(Ae)),m!==n){if(b=Ve,58===r.charCodeAt(Ve)?(y=H,Ve++):(y=n,0===nn&&fn(K)),y!==n)if(pe.test(r.charAt(Ve))?(C=r.charAt(Ve),Ve++):(C=n,0===nn&&fn(Ae)),C!==n)if(pe.test(r.charAt(Ve))?(w=r.charAt(Ve),Ve++):(w=n,0===nn&&fn(Ae)),w!==n){if(x=Ve,46===r.charCodeAt(Ve)?(E=".",Ve++):(E=n,0===nn&&fn(be)),E!==n){if($=[],pe.test(r.charAt(Ve))?(L=r.charAt(Ve),Ve++):(L=n,0===nn&&fn(Ae)),L!==n)for(;L!==n;)$.push(L),pe.test(r.charAt(Ve))?(L=r.charAt(Ve),Ve++):(L=n,0===nn&&fn(Ae));else $=n;$!==n?x=E=[E,$]:(Ve=x,x=n)}else Ve=x,x=n;x===n&&(x=null),x!==n?b=y=[y,C,w,x]:(Ve=b,b=n)}else Ve=b,b=n;else Ve=b,b=n;else Ve=b,b=n;b===n&&(b=null),b!==n?(90===r.charCodeAt(Ve)?(y="Z",Ve++):(y=n,0===nn&&fn(ye)),y===n&&(y=Ve,43===r.charCodeAt(Ve)?(C="+",Ve++):(C=n,0===nn&&fn(Ce)),C===n&&(45===r.charCodeAt(Ve)?(C=de,Ve++):(C=n,0===nn&&fn(ge))),C!==n?(pe.test(r.charAt(Ve))?(w=r.charAt(Ve),Ve++):(w=n,0===nn&&fn(Ae)),w!==n?(pe.test(r.charAt(Ve))?(x=r.charAt(Ve),Ve++):(x=n,0===nn&&fn(Ae)),x!==n?(58===r.charCodeAt(Ve)?(E=H,Ve++):(E=n,0===nn&&fn(K)),E!==n?(pe.test(r.charAt(Ve))?($=r.charAt(Ve),Ve++):($=n,0===nn&&fn(Ae)),$!==n?(pe.test(r.charAt(Ve))?(L=r.charAt(Ve),Ve++):(L=n,0===nn&&fn(Ae)),L!==n?y=C=[C,w,x,E,$,L]:(Ve=y,y=n)):(Ve=y,y=n)):(Ve=y,y=n)):(Ve=y,y=n)):(Ve=y,y=n)):(Ve=y,y=n)),y===n&&(y=null),y!==n?h=p=[p,A,d,g,v,m,b,y]:(Ve=h,h=n)):(Ve=h,h=n)}else Ve=h,h=n;else Ve=h,h=n;else Ve=h,h=n;else Ve=h,h=n;else Ve=h,h=n;else Ve=h,h=n;h===n&&(h=null),h!==n?s=u=[u,o,a,c,i,f,l,h]:(Ve=s,s=n)}else Ve=s,s=n;else Ve=s,s=n;else Ve=s,s=n;else Ve=s,s=n;else Ve=s,s=n;else Ve=s,s=n;else Ve=s,s=n;e=s!==n?r.substring(e,Ve):s;e!==n&&(t,e=function(r){if(r.split("-")[0].length>4)throw Object.assign(new Error(`The type 'Edm.DateTimeOffset' is not compatible with '${r}'`),{statusCode:400});return r}(e));nn--,(t=e)===n&&(e=n,0===nn&&fn(he));return t}()),e!==n&&(t,e=Sr(e)),(t=e)===n&&(t=Ve,(e=ns())!==n&&(t,e=Sr(e)),(t=e)===n&&(t=Ve,e=function(){var t,e,s,u,o,a,c,i,f,l,h;nn++,t=Ve,e=Ve,nn++,s=function(){var t,e,s;t=Ve,e=[],pe.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(Ae));if(s!==n)for(;s!==n;)e.push(s),pe.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(Ae));else e=n;e!==n?(45===r.charCodeAt(Ve)?(s=de,Ve++):(s=n,0===nn&&fn(ge)),s!==n?t=e=[e,s]:(Ve=t,t=n)):(Ve=t,t=n);return t}(),nn--,s===n?e=void 0:(Ve=e,e=n);if(e!==n){if(s=Ve,u=Ve,xe.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(Ee)),o===n&&(o=null),o!==n){if(a=[],pe.test(r.charAt(Ve))?(c=r.charAt(Ve),Ve++):(c=n,0===nn&&fn(Ae)),c!==n)for(;c!==n;)a.push(c),pe.test(r.charAt(Ve))?(c=r.charAt(Ve),Ve++):(c=n,0===nn&&fn(Ae));else a=n;if(a!==n){if(c=Ve,46===r.charCodeAt(Ve)?(i=me,Ve++):(i=n,0===nn&&fn(be)),i!==n){if(f=[],pe.test(r.charAt(Ve))?(l=r.charAt(Ve),Ve++):(l=n,0===nn&&fn(Ae)),l!==n)for(;l!==n;)f.push(l),pe.test(r.charAt(Ve))?(l=r.charAt(Ve),Ve++):(l=n,0===nn&&fn(Ae));else f=n;f!==n?c=i=[i,f]:(Ve=c,c=n)}else Ve=c,c=n;if(c===n&&(c=null),c!==n){if(i=Ve,101===r.charCodeAt(Ve)?(f="e",Ve++):(f=n,0===nn&&fn($e)),f!==n){if(l=[],pe.test(r.charAt(Ve))?(h=r.charAt(Ve),Ve++):(h=n,0===nn&&fn(Ae)),h!==n)for(;h!==n;)l.push(h),pe.test(r.charAt(Ve))?(h=r.charAt(Ve),Ve++):(h=n,0===nn&&fn(Ae));else l=n;l!==n?i=f=[f,l]:(Ve=i,i=n)}else Ve=i,i=n;i===n&&(i=null),i!==n?u=o=[o,a,c,i]:(Ve=u,u=n)}else Ve=u,u=n}else Ve=u,u=n}else Ve=u,u=n;(s=u!==n?r.substring(s,Ve):u)!==n?(t,t=e=ms(s)):(Ve=t,t=n)}else Ve=t,t=n;nn--,t===n&&(e=n,0===nn&&fn(we));return t}(),e!==n&&(t,e="number"==typeof(s=e)?{val:s}:{val:s,literal:"number"}),(t=e)===n&&(t=Ve,(e=rs())!==n&&(t,e=Sr(e)),(t=e)===n&&(t=Ve,e=function(){var t,e,s,u,o,a;nn++,t=Ve,r.substr(Ve,7)===Ue?(e=Ue,Ve+=7):(e=n,0===nn&&fn(qe));if(e!==n){if(s=Ve,u=Ve,o=[],Me.test(r.charAt(Ve))?(a=r.charAt(Ve),Ve++):(a=n,0===nn&&fn(Ie)),a!==n)for(;a!==n;)o.push(a),Me.test(r.charAt(Ve))?(a=r.charAt(Ve),Ve++):(a=n,0===nn&&fn(Ie));else o=n;o!==n?(r.substr(Ve,2)===Ye?(a=Ye,Ve+=2):(a=n,0===nn&&fn(Xe)),a===n&&(61===r.charCodeAt(Ve)?(a=v,Ve++):(a=n,0===nn&&fn(m))),a===n&&(a=null),a!==n?u=o=[o,a]:(Ve=u,u=n)):(Ve=u,u=n),(s=u!==n?r.substring(s,Ve):u)!==n?(39===r.charCodeAt(Ve)?(u=Gt,Ve++):(u=n,0===nn&&fn(Ht)),u!==n?(t,t=e=bs(s)):(Ve=t,t=n)):(Ve=t,t=n)}else Ve=t,t=n;nn--,t===n&&(e=n,0===nn&&fn(Fe));return t}(),e!==n&&(t,e=Sr(e)),(t=e)===n&&(t=Ve,(e=Rn())!==n&&(t,e=Sr(e)),(t=e)===n&&(t=function(){var t,e;nn++,t=Ve,r.substr(Ve,4)===_r?(e=_r,Ve+=4):(e=n,0===nn&&fn(Or));e!==n&&(t,e={val:null});nn--,(t=e)===n&&(e=n,0===nn&&fn(Tr));return t}())))))),t}function Dn(){var t,e,s,u,o,a;if(nn++,t=Ve,e=Ve,s=Ve,123===r.charCodeAt(Ve)?(u="{",Ve++):(u=n,0===nn&&fn(jr)),u!==n){for(o=[],(a=Dn())===n&&(Zr.test(r.charAt(Ve))?(a=r.charAt(Ve),Ve++):(a=n,0===nn&&fn(Nr)));a!==n;)o.push(a),(a=Dn())===n&&(Zr.test(r.charAt(Ve))?(a=r.charAt(Ve),Ve++):(a=n,0===nn&&fn(Nr)));o!==n?(125===r.charCodeAt(Ve)?(a="}",Ve++):(a=n,0===nn&&fn(kr)),a!==n?s=u=[u,o,a]:(Ve=s,s=n)):(Ve=s,s=n)}else Ve=s,s=n;return(e=s!==n?r.substring(e,Ve):s)!==n&&(t,e=Sr(e)),nn--,(t=e)===n&&(e=n,0===nn&&fn(Rr)),t}function Pn(){var t,e,s,u,o,a,c,i;if(nn++,t=Ve,e=Ve,s=Ve,91===r.charCodeAt(Ve)?(u=Dr,Ve++):(u=n,0===nn&&fn(Pr)),u!==n&&(o=is())!==n?(93===r.charCodeAt(Ve)?(a=Fr,Ve++):(a=n,0===nn&&fn(Ur)),a!==n?s=u=[u,o,a]:(Ve=s,s=n)):(Ve=s,s=n),s===n)if(s=Ve,91===r.charCodeAt(Ve)?(u=Dr,Ve++):(u=n,0===nn&&fn(Pr)),u!==n)if((o=is())!==n)if(123===r.charCodeAt(Ve)?(a="{",Ve++):(a=n,0===nn&&fn(jr)),a!==n){for(c=[],(i=Pn())===n&&(qr.test(r.charAt(Ve))?(i=r.charAt(Ve),Ve++):(i=n,0===nn&&fn(Mr)));i!==n;)c.push(i),(i=Pn())===n&&(qr.test(r.charAt(Ve))?(i=r.charAt(Ve),Ve++):(i=n,0===nn&&fn(Mr)));c!==n?(93===r.charCodeAt(Ve)?(i=Fr,Ve++):(i=n,0===nn&&fn(Ur)),i!==n?s=u=[u,o,a,c,i]:(Ve=s,s=n)):(Ve=s,s=n)}else Ve=s,s=n;else Ve=s,s=n;else Ve=s,s=n;return(e=s!==n?r.substring(e,Ve):s)!==n&&(t,e=Sr(e)),nn--,(t=e)===n&&(e=n,0===nn&&fn(zr)),t}function Fn(){var t,e,s;return t=Ve,e=function(){var t,e,s;if(nn++,t=Ve,e=[],Wr.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(Gr)),s!==n)for(;s!==n;)e.push(s),Wr.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(Gr));else e=n;return t=e!==n?r.substring(t,Ve):e,nn--,t===n&&(e=n,0===nn&&fn(Qr)),t}(),e!==n&&as()!==n?(s=function(){var r,t,e,s,u;if(r=Ve,(t=Nn())!==n){for(e=[],s=Ve,os()!==n&&(u=Nn())!==n?(s,s=Hr(0,u)):(Ve=s,s=n);s!==n;)e.push(s),s=Ve,os()!==n&&(u=Nn())!==n?(s,s=Hr(0,u)):(Ve=s,s=n);e!==n?(r,r=t={a:t,more:e}):(Ve=r,r=n)}else Ve=r,r=n;return r}(),s!==n&&cs()!==n?(t,t=e=function(r,t){if(hs&&!(r.toLowerCase()in hs.functions))throw Object.assign(new Error(`"${r}" is an unknown function in OData URL spec (strict mode)`),{statusCode:400});return{func:r.toLowerCase(),args:[t.a,...t.more]}}(e,s)):(Ve=t,t=n)):(Ve=t,t=n),t}function Un(){var t,e;return t=Ve,is()!==n?("not"===r.substr(Ve,3).toLowerCase()?(e=r.substr(Ve,3),Ve+=3):(e=n,0===nn&&fn(st)),e!==n&&fs()!==n?(t,t="not"):(Ve=t,t=n)):(Ve=t,t=n),t}function qn(){var t,e;return t=Ve,fs()!==n?("and"===r.substr(Ve,3).toLowerCase()?(e=r.substr(Ve,3),Ve+=3):(e=n,0===nn&&fn(ut)),e!==n&&fs()!==n?(t,t="and"):(Ve=t,t=n)):(Ve=t,t=n),t}function Mn(){var r,t;return r=Ve,(t=fs())!==n&&(r,t="and"),r=t}function In(){var t,e;return t=Ve,fs()!==n?("or"===r.substr(Ve,2).toLowerCase()?(e=r.substr(Ve,2),Ve+=2):(e=n,0===nn&&fn(ot)),e!==n&&fs()!==n?(t,t="or"):(Ve=t,t=n)):(Ve=t,t=n),t}function Yn(){var t,e,s;return t=Ve,r.substr(Ve,9)===at?(e=at,Ve+=9):(e=n,0===nn&&fn(ct)),e!==n?(s=function(){var r,t,e,s,u;if(r=Ve,as()!==n)if(is()!==n)if((t=Xn())!==n){for(e=[],s=Ve,is()!==n&&os()!==n&&is()!==n&&(u=Xn())!==n?(s,s=_t(0,u)):(Ve=s,s=n);s!==n;)e.push(s),s=Ve,is()!==n&&os()!==n&&is()!==n&&(u=Xn())!==n?(s,s=_t(0,u)):(Ve=s,s=n);e!==n&&(s=is())!==n&&cs()!==n?(r,o=e,r={aggregate:[t,...o]}):(Ve=r,r=n)}else Ve=r,r=n;else Ve=r,r=n;else Ve=r,r=n;var o;return r}(),s!==n?(t,t=e=s):(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=Ve,r.substr(Ve,7)===it?(e=it,Ve+=7):(e=n,0===nn&&fn(ft)),e!==n?(s=function(){var r,t,e,s,u,o,a,c;if(r=Ve,(t=as())!==n)if(as()!==n)if((e=Hn())!==n){for(s=[],u=Ve,(o=os())!==n&&(a=Hn())!==n?(u,u=o=_t(0,a)):(Ve=u,u=n);u!==n;)s.push(u),u=Ve,(o=os())!==n&&(a=Hn())!==n?(u,u=o=_t(0,a)):(Ve=u,u=n);s!==n?(u=Ve,(o=cs())!==n&&(u,i=s,o={groupBy:[e,...i]}),(u=o)!==n?(o=Ve,(a=os())!==n&&(c=On())!==n?(o,o=a=c):(Ve=o,o=n),o===n&&(o=null),o!==n&&(a=cs())!==n?(r,t=function(r,t,e){let n={};return n=e?{groupBy:[r,...t],...e.apply}:{groupBy:[r,...t]},n}(e,s,o),r=t):(Ve=r,r=n)):(Ve=r,r=n)):(Ve=r,r=n)}else Ve=r,r=n;else Ve=r,r=n;else Ve=r,r=n;var i;return r}(),s!==n?(t,t=e=s):(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=Ve,r.substr(Ve,6)===lt?(e=lt,Ve+=6):(e=n,0===nn&&fn(ht)),e!==n?(s=function(){var r,t,e;r=Ve,as()!==n&&is()!==n?(t=Ve,(e=$n())!==n&&t,(t=e)!==n&&(e=is())!==n&&cs()!==n?(r,r={where:t}):(Ve=r,r=n)):(Ve=r,r=n);return r}(),s!==n?(t,t=e=s):(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=Ve,r.substr(Ve,6)===pt?(e=pt,Ve+=6):(e=n,0===nn&&fn(At)),e!==n?(s=function(){var r,t,e;r=Ve,as()!==n&&is()!==n?(t=Ve,(e=xn())!==n&&(t,e=function(r){if(r)return r}(e)),(t=e)!==n&&(e=is())!==n&&cs()!==n?(r,r={search:t}):(Ve=r,r=n)):(Ve=r,r=n);return r}(),s!==n?(t,t=e=s):(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=Ve,r.substr(Ve,6)===dt?(e=dt,Ve+=6):(e=n,0===nn&&fn(gt)),e!==n?(s=function(){var r,t,e,s,u;if(r=Ve,as()!==n)if(is()!==n)if((t=On())!==n){if(e=[],s=Ve,is()!==n&&os()!==n&&is()!==n&&(u=On())!==n?(s,s=Ft(0,u)):(Ve=s,s=n),s!==n)for(;s!==n;)e.push(s),s=Ve,is()!==n&&os()!==n&&is()!==n&&(u=On())!==n?(s,s=Ft(0,u)):(Ve=s,s=n);else e=n;e!==n&&(s=is())!==n&&cs()!==n?(r,o=e,r={concat:[t,...o]}):(Ve=r,r=n)}else Ve=r,r=n;else Ve=r,r=n;else Ve=r,r=n;var o;return r}(),s!==n?(t,t=e=s):(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=Ve,r.substr(Ve,7)===vt?(e=vt,Ve+=7):(e=n,0===nn&&fn(mt)),e!==n?(s=function(){var r,t,e,s,u,o,a,c,i,f;if(r=Ve,(t=as())!==n)if((e=is())!==n)if((s=Kn())!==n){for(u=[],o=Ve,(a=is())!==n&&(c=os())!==n&&(i=is())!==n&&(f=Kn())!==n?o=a=[a,c,i,f]:(Ve=o,o=n);o!==n;)u.push(o),o=Ve,(a=is())!==n&&(c=os())!==n&&(i=is())!==n&&(f=Kn())!==n?o=a=[a,c,i,f]:(Ve=o,o=n);u!==n&&(o=is())!==n&&(a=cs())!==n?r=t=[t,e,s,u,o,a]:(Ve=r,r=n)}else Ve=r,r=n;else Ve=r,r=n;else Ve=r,r=n;return r}(),s!==n?(t,t=e=s):(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=Ve,"top"===r.substr(Ve,3)?(e="top",Ve+=3):(e=n,0===nn&&fn(bt)),e!==n?(s=function(){var r,t;r=Ve,as()!==n&&is()!==n&&(t=Cn())!==n&&is()!==n&&cs()!==n?(r,r={limit:{rows:{val:t}}}):(Ve=r,r=n);return r}(),s!==n?(t,t=e=s):(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=Ve,r.substr(Ve,4)===yt?(e=yt,Ve+=4):(e=n,0===nn&&fn(Ct)),e!==n?(s=function(){var r,t;r=Ve,as()!==n&&is()!==n&&(t=wn())!==n&&is()!==n&&cs()!==n?(r,r={limit:{offset:{val:t}}}):(Ve=r,r=n);return r}(),s!==n?(t,t=e=s):(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=Ve,r.substr(Ve,7)===wt?(e=wt,Ve+=7):(e=n,0===nn&&fn(xt)),e!==n?(s=function(){var r,t,e,s,u;if(r=Ve,as()!==n)if(is()!==n)if((t=_n())!==n){for(e=[],s=Ve,os()!==n&&(u=_n())!==n?(s,s=Mt(0,u)):(Ve=s,s=n);s!==n;)e.push(s),s=Ve,os()!==n&&(u=_n())!==n?(s,s=Mt(0,u)):(Ve=s,s=n);e!==n&&(s=is())!==n&&cs()!==n?(r,o=e,r={orderBy:[t,...o]}):(Ve=r,r=n)}else Ve=r,r=n;else Ve=r,r=n;else Ve=r,r=n;var o;return r}(),s!==n?(t,t=e=s):(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=Ve,"topcount"===r.substr(Ve,8).toLowerCase()?(e=r.substr(Ve,8),Ve+=8):(e=n,0===nn&&fn(Et)),e===n&&("bottomcount"===r.substr(Ve,11).toLowerCase()?(e=r.substr(Ve,11),Ve+=11):(e=n,0===nn&&fn($t)),e===n&&("topsum"===r.substr(Ve,6).toLowerCase()?(e=r.substr(Ve,6),Ve+=6):(e=n,0===nn&&fn(Lt)),e===n&&("bottomsum"===r.substr(Ve,9).toLowerCase()?(e=r.substr(Ve,9),Ve+=9):(e=n,0===nn&&fn(Bt)),e===n&&("toppercent"===r.substr(Ve,10).toLowerCase()?(e=r.substr(Ve,10),Ve+=10):(e=n,0===nn&&fn(St)),e===n&&("bottompercent"===r.substr(Ve,13).toLowerCase()?(e=r.substr(Ve,13),Ve+=13):(e=n,0===nn&&fn(Tt))))))),e!==n?(s=function(){var r,t,e;r=Ve,as()!==n&&is()!==n&&(t=Nn())!==n&&is()!==n&&os()!==n&&is()!==n&&(e=Nn())!==n&&is()!==n&&cs()!==n?(r,r=[t,e]):(Ve=r,r=n);return r}(),s!==n?(t,t=e=function(r,t){if(!{topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1}[r=r.toLowerCase()])throw Object.assign(new Error(`Transformation "${r}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:r,args:t}]}}(e,s)):(Ve=t,t=n)):(Ve=t,t=n),t===n&&(t=Ve,e=function(){var t,e;t=Ve,r.substr(Ve,8)===Ut?(e=Ut,Ve+=8):(e=n,0===nn&&fn(qt));e!==n&&(t,e={identity:!0});return t=e}(),e!==n&&t,t=e)))))))))),t}function Xn(){var t,e,s,u;return t=Ve,e=Ve,r.substr(Ve,6)===f?(s=f,Ve+=6):(s=n,0===nn&&fn(l)),s!==n&&(u=Gn())!==n?(e,e=s={func:"count",args:[{val:1}],as:u}):(Ve=e,e=n),e===n&&(e=Jn()),e!==n&&t,t=e}function Jn(){var r,t,e,s,u;return r=Ve,(t=kn())!==n?((e=Qn())===n&&(e=null),e!==n?((s=Wn())===n&&(s=null),s!==n?((u=Gn())===n&&(u=null),u!==n?(r,r=t={func:e,args:[t],as:u}):(Ve=r,r=n)):(Ve=r,r=n)):(Ve=r,r=n)):(Ve=r,r=n),r===n&&(r=Ve,(t=es())!==n&&(e=as())!==n&&(s=Jn())!==n&&(u=cs())!==n?r=t=[t,e,s,u]:(Ve=r,r=n)),r}function Qn(){var t,e,s,u,o;if(t=Ve,fs()!==n)if(r.substr(Ve,4)===Ot?(e=Ot,Ve+=4):(e=n,0===nn&&fn(Rt)),e!==n)if(fs()!==n){if(s=Ve,u=[],Wr.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(Gr)),o!==n)for(;o!==n;)u.push(o),Wr.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(Gr));else u=n;(s=u!==n?r.substring(s,Ve):u)!==n?(t,t=s.toLowerCase()):(Ve=t,t=n)}else Ve=t,t=n;else Ve=t,t=n;else Ve=t,t=n;return t}function Wn(){var t,e,s,u,o,a,c;return t=Ve,(e=fs())!==n?(r.substr(Ve,4)===jt?(s=jt,Ve+=4):(s=n,0===nn&&fn(Zt)),s!==n&&(u=fs())!==n&&(o=kn())!==n&&(a=Qn())!==n?((c=Wn())===n&&(c=null),c!==n?t=e=[e,s,u,o,a,c]:(Ve=t,t=n)):(Ve=t,t=n)):(Ve=t,t=n),t}function Gn(){var t,e,s;return t=Ve,fs()!==n?("as"===r.substr(Ve,2)?(e="as",Ve+=2):(e=n,0===nn&&fn(Nt)),e!==n&&fs()!==n&&(s=es())!==n?(t,t=s):(Ve=t,t=n)):(Ve=t,t=n),t}function Hn(){var t,e;return t=Ve,e=function(){var t,e,s,u,o,a,c,i,f,l,h;t=Ve,e=Ve,r.substr(Ve,6)===kt?(s=kt,Ve+=6):(s=n,0===nn&&fn(zt));if(s!==n)if((u=as())!==n)if((o=is())!==n)if(r.substr(Ve,4)===Dt?(a=Dt,Ve+=4):(a=n,0===nn&&fn(Pt)),a===n&&(a=kn()),a!==n){if(c=[],i=Ve,(f=is())!==n&&(l=os())!==n&&(h=kn())!==n?i=f=[f,l,h]:(Ve=i,i=n),i!==n)for(;i!==n;)c.push(i),i=Ve,(f=is())!==n&&(l=os())!==n&&(h=kn())!==n?i=f=[f,l,h]:(Ve=i,i=n);else c=n;c!==n&&(i=is())!==n&&(f=cs())!==n?e=s=[s,u,o,a,c,i,f]:(Ve=e,e=n)}else Ve=e,e=n;else Ve=e,e=n;else Ve=e,e=n;else Ve=e,e=n;e!==n&&(t,e=function(r){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t}());return t=e}(),e===n&&(e=kn()),e!==n&&t,t=e}function Kn(){var r,t,e;return r=Ve,(t=Ln())!==n&&(e=Gn())!==n?r=t=[t,e]:(Ve=r,r=n),r}function Vn(){var t,e;return nn++,t=Ve,r.substr(Ve,4)===Yt?(e=Yt,Ve+=4):(e=n,0===nn&&fn(Xt)),e===n&&(r.substr(Ve,5)===Jt?(e=Jt,Ve+=5):(e=n,0===nn&&fn(Qt))),e!==n&&(t,e="true"===e),nn--,(t=e)===n&&(e=n,0===nn&&fn(It)),t}function rs(){var t,e,s,u,o;if(nn++,t=Ve,39===r.charCodeAt(Ve)?(e=Gt,Ve++):(e=n,0===nn&&fn(Ht)),e!==n){for(s=Ve,u=[],r.substr(Ve,2)===Kt?(o=Kt,Ve+=2):(o=n,0===nn&&fn(Vt)),o===n&&(re.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(te)));o!==n;)u.push(o),r.substr(Ve,2)===Kt?(o=Kt,Ve+=2):(o=n,0===nn&&fn(Vt)),o===n&&(re.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(te)));(s=u!==n?r.substring(s,Ve):u)!==n?(39===r.charCodeAt(Ve)?(u=Gt,Ve++):(u=n,0===nn&&fn(Ht)),u!==n?(t,t=e=s.replace(/''/g,"'")):(Ve=t,t=n)):(Ve=t,t=n)}else Ve=t,t=n;return nn--,t===n&&(e=n,0===nn&&fn(Wt)),t}function ts(){var t,e,s,u,o,a;if(nn++,t=Ve,e=Ve,s=Ve,xe.test(r.charAt(Ve))?(u=r.charAt(Ve),Ve++):(u=n,0===nn&&fn(Ee)),u===n&&(u=null),u!==n){if(o=[],pe.test(r.charAt(Ve))?(a=r.charAt(Ve),Ve++):(a=n,0===nn&&fn(Ae)),a!==n)for(;a!==n;)o.push(a),pe.test(r.charAt(Ve))?(a=r.charAt(Ve),Ve++):(a=n,0===nn&&fn(Ae));else o=n;o!==n?s=u=[u,o]:(Ve=s,s=n)}else Ve=s,s=n;return(e=s!==n?r.substring(e,Ve):s)!==n&&(t,e=parseInt(e)),nn--,(t=e)===n&&(e=n,0===nn&&fn(Le)),t}function es(){var t,e,s,u,o,a,c,i;if(nn++,t=Ve,e=Ve,nn++,s=Vn(),nn--,s===n?e=void 0:(Ve=e,e=n),e!==n)if(s=Ve,nn++,u=ns(),nn--,u===n?s=void 0:(Ve=s,s=n),s!==n){if(u=Ve,o=Ve,Se.test(r.charAt(Ve))?(a=r.charAt(Ve),Ve++):(a=n,0===nn&&fn(Te)),a!==n){for(c=[],_e.test(r.charAt(Ve))?(i=r.charAt(Ve),Ve++):(i=n,0===nn&&fn(Oe));i!==n;)c.push(i),_e.test(r.charAt(Ve))?(i=r.charAt(Ve),Ve++):(i=n,0===nn&&fn(Oe));c!==n?o=a=[a,c]:(Ve=o,o=n)}else Ve=o,o=n;(u=o!==n?r.substring(u,Ve):o)!==n?(t,t=e=u):(Ve=t,t=n)}else Ve=t,t=n;else Ve=t,t=n;return nn--,t===n&&(e=n,0===nn&&fn(Be)),t}function ns(){var t,e,s,u,o,a,c,i,f,l,h,p,A,d;return nn++,t=Ve,e=Ve,(s=ss())!==n&&(u=ss())!==n?(45===r.charCodeAt(Ve)?(o=de,Ve++):(o=n,0===nn&&fn(ge)),o===n&&(o=null),o!==n&&(a=ss())!==n?(45===r.charCodeAt(Ve)?(c=de,Ve++):(c=n,0===nn&&fn(ge)),c===n&&(c=null),c!==n&&(i=ss())!==n?(45===r.charCodeAt(Ve)?(f=de,Ve++):(f=n,0===nn&&fn(ge)),f===n&&(f=null),f!==n&&(l=ss())!==n?(45===r.charCodeAt(Ve)?(h=de,Ve++):(h=n,0===nn&&fn(ge)),h===n&&(h=null),h!==n&&(p=ss())!==n&&(A=ss())!==n&&(d=ss())!==n?e=s=[s,u,o,a,c,i,f,l,h,p,A,d]:(Ve=e,e=n)):(Ve=e,e=n)):(Ve=e,e=n)):(Ve=e,e=n)):(Ve=e,e=n),t=e!==n?r.substring(t,Ve):e,nn--,t===n&&(e=n,0===nn&&fn(Re)),t}function ss(){var t,e,s,u,o,a;return nn++,t=Ve,e=Ve,Ze.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(Ne)),s!==n?(Ze.test(r.charAt(Ve))?(u=r.charAt(Ve),Ve++):(u=n,0===nn&&fn(Ne)),u!==n?(Ze.test(r.charAt(Ve))?(o=r.charAt(Ve),Ve++):(o=n,0===nn&&fn(Ne)),o!==n?(Ze.test(r.charAt(Ve))?(a=r.charAt(Ve),Ve++):(a=n,0===nn&&fn(Ne)),a!==n?e=s=[s,u,o,a]:(Ve=e,e=n)):(Ve=e,e=n)):(Ve=e,e=n)):(Ve=e,e=n),t=e!==n?r.substring(t,Ve):e,nn--,t===n&&(e=n,0===nn&&fn(je)),t}function us(){var t,e,s,u;if(t=Ve,e=Ve,s=[],ke.test(r.charAt(Ve))?(u=r.charAt(Ve),Ve++):(u=n,0===nn&&fn(ze)),u!==n)for(;u!==n;)s.push(u),ke.test(r.charAt(Ve))?(u=r.charAt(Ve),Ve++):(u=n,0===nn&&fn(ze));else s=n;return(e=s!==n?r.substring(e,Ve):s)!==n&&(t,e={val:e}),t=e}function os(){var t,e,s,u;return t=Ve,(e=is())!==n?(44===r.charCodeAt(Ve)?(s=Yr,Ve++):(s=n,0===nn&&fn(Xr)),s!==n&&(u=is())!==n?t=e=[e,s,u]:(Ve=t,t=n)):(Ve=t,t=n),t}function as(){var t,e,s,u;return t=Ve,(e=is())!==n?(40===r.charCodeAt(Ve)?(s="(",Ve++):(s=n,0===nn&&fn(Je)),s!==n&&(u=is())!==n?t=e=[e,s,u]:(Ve=t,t=n)):(Ve=t,t=n),t}function cs(){var t,e,s;return t=Ve,(e=is())!==n?(41===r.charCodeAt(Ve)?(s=")",Ve++):(s=n,0===nn&&fn(Qe)),s!==n?t=e=[e,s]:(Ve=t,t=n)):(Ve=t,t=n),t}function is(){var t,e,s;for(nn++,t=Ve,e=[],Ge.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(He));s!==n;)e.push(s),Ge.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(He));return t=e!==n?r.substring(t,Ve):e,nn--,t===n&&(e=n,0===nn&&fn(We)),t}function fs(){var t,e,s;if(nn++,t=Ve,e=[],Ge.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(He)),s!==n)for(;s!==n;)e.push(s),Ge.test(r.charAt(Ve))?(s=r.charAt(Ve),Ve++):(s=n,0===nn&&fn(He));else e=n;return t=e!==n?r.substring(t,Ve):e,nn--,t===n&&(e=n,0===nn&&fn(Ke)),t}const ls=Object.assign,{strict:hs,minimal:ps}=t,As=[];let ds,gs;const vs=["$value"],ms=t.safeNumber||function(r){const t=Number(r);return Number.isSafeInteger(t)?t:r},bs=t.standardBase64||function(r){return Buffer.from(r,"base64").toString("base64")},ys=r=>t=>r===t||r.as&&t.as&&r.as===t.as||t.as&&r.ref&&t.as===r.ref[r.ref.length-1]||r.ref&&t.ref&&r.ref.join("")===t.ref.join(""),Cs=r=>t=>{if(Array.isArray(t))return t.map(Cs(r));const e=t.ref&&r.find((r=>r.as&&r.func&&r.as===t.ref[0]));return e||t},ws=r=>t=>Array.isArray(t)?t.map(ws(r)):t.ref&&!r.find(ys(t))?{val:null}:t,xs=(r,t)=>{if(1===t.ref.length)r.find(ys(t))||r.push(t);else{const e=t.ref.shift(),n=r.find((r=>r.ref&&r.ref[0]===e));if(n)xs(n.expand,t);else{const n={ref:[e],expand:[]};xs(n.expand,t),r.push(n)}}},Es=(r,t,e=!1)=>{let n=Bs({from:r.from},t,e);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=$s(n[t],r,e);else n=$s(n,r,e);return n},$s=(r,t,e)=>{if(!t)return r;t.apply&&delete t.apply;let n={};t.columns&&"$count"===t.columns[0].as||r.SELECT.where&&t.where||r.SELECT.limit&&t.limit||r.SELECT.orderBy&&t.orderBy||r.SELECT.search&&t.search?n.from=r:n=r.SELECT;for(const r in t)"columns"===r?(t.columns=t.columns.map((r=>n.columns&&n.columns.find((t=>r.ref&&r.ref[0]===t.as||t.ref&&r.ref&&r.ref[0]===t.ref[0]&&!r.expand))||r)),n.columns&&n.groupBy&&t.columns.push(...n.columns.filter((r=>e&&n.groupBy.find((t=>r.ref&&r.ref[0]===t.ref[0]))&&!t.columns.some((t=>t.ref&&t.ref[0]===r.as||t.ref&&r.ref&&t.ref[0]===r.ref[0]||t.as&&t.as===r.as))))||[]),n.columns=t.columns):"from"!==r&&(n[r]=t[r]);const s=[...n.columns&&n.columns.filter((r=>n.groupBy&&n.groupBy.find((t=>r.ref&&r.ref[0]===t.ref[0]))))||[],...n.columns&&n.columns.filter((r=>r&&"object"==typeof r&&"func"in r))||[]];return Ls(n,s,e),{SELECT:n}},Ls=(r,t,e)=>{t.length&&(r.columns=r.columns&&!e?r.columns.reduce(((r,e)=>{const n=t.find(ys(e));return n&&r.push(n),r}),[]):t,r.where&&(r.where=r.where.map(Cs(r.columns)),r.groupBy&&(r.having=r.where.map(ws(r.groupBy)),delete r.where)),r.columns=r.columns.reduce(((r,e)=>(e.ref&&e.ref.length>1&&t.find(ys(e))?xs(r,{ref:[...e.ref]}):r.push(e),r)),[]))},Bs=(r,t,e)=>{if(!t)return;if(r.apply&&delete r.apply,t.identity&&r.from.SELECT&&(r=r.from.SELECT),(t.apply||t.where&&r.where||t.search&&r.search||t.limit&&r.limit||t.orderBy&&r.orderBy)&&(r.from={SELECT:{...r}}),t.where&&(r.where=t.where),t.search&&(r.search=t.search),t.groupBy){r.groupBy=[];for(const e of t.groupBy)r.groupBy.find(ys(e))||r.groupBy.push(e)}t.limit&&(r.limit=t.limit),t.orderBy&&(r.orderBy=t.orderBy);const n=[...r.groupBy||[],...t.aggregate||[]];if(Ls(r,n,e),t.apply&&r.from&&Bs(r.from.SELECT,t.apply),t.concat&&Array.isArray(t.concat)){const e=[];for(let n of t.concat){n.from=1===Object.keys(r).length?r.from:{SELECT:r};const t=Bs(n,n.apply);Array.isArray(t)?e.push(...t):e.push(t)}r=e}return Array.isArray(r)?r:{SELECT:r}},Ss=r=>{ds.limit&&ds.limit.offset&&ds.limit.offset.val&&(r+=ds.limit.offset.val),(ds.limit||(ds.limit={})).offset={val:r}},Ts=(r,t=!1)=>{ds.orderBy=ds.orderBy?t?[r,...ds.orderBy]:[...ds.orderBy,r]:[r]},_s=(r,t)=>{for(const e of t)e.ref&&e.ref[0]===r&&e.ref.shift(),e.func&&_s(r,e.args);return t};if((e=u())!==n&&Ve===r.length)return e;throw e!==n&&Ve<r.length&&fn({type:"end"}),ln(en,tn<r.length?r.charAt(tn):null,tn<r.length?cn(tn,tn+1):cn(tn,tn))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.buildMessage=function(r,t){var e={literal:function(r){return'"'+s(r.text)+'"'},class:function(r){var t,e="";for(t=0;t<r.parts.length;t++)e+=r.parts[t]instanceof Array?u(r.parts[t][0])+"-"+u(r.parts[t][1]):u(r.parts[t]);return"["+(r.inverted?"^":"")+e+"]"},any:function(r){return"any character"},end:function(r){return"end of input"},other:function(r){return r.description}};function n(r){return r.charCodeAt(0).toString(16).toUpperCase()}function s(r){return r.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(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}function u(r){return r.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(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}return"Expected "+function(r){var t,n,s,u=new Array(r.length);for(t=0;t<r.length;t++)u[t]=(s=r[t],e[s.type](s));if(u.sort(),u.length>0){for(t=1,n=1;t<u.length;t++)u[t-1]!==u[t]&&(u[n]=u[t],n++);u.length=n}switch(u.length){case 1:return u[0];case 2:return u[0]+" or "+u[1];default:return u.slice(0,-1).join(", ")+", or "+u[u.length-1]}}(r)+" but "+function(r){return r?'"'+s(r)+'"':"end of input"}(t)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
@@ -10,15 +10,49 @@ const _PT = ([hh, mm, ss]) => `PT${hh}H${mm}M${ss}S`
10
10
  const _isTimestamp = val =>
11
11
  /^\d+-\d\d-\d\d(T\d\d:\d\d(:\d\d(\.\d+)?)?(Z|([+-]{1}\d\d:\d\d))?)?$/.test(val) && !isNaN(Date.parse(val))
12
12
 
13
- const formatVal = (val, key, csnTarget, kind) => {
13
+ const _getElement = (csnTarget, key) => {
14
+ if (csnTarget) {
15
+ if (csnTarget.elements) {
16
+ if (Array.isArray(key)) {
17
+ const [navigation, ...targetElement] = key
18
+ const element = csnTarget.elements[navigation]
19
+ if (element && element.isAssociation) {
20
+ return _getElement(
21
+ csnTarget.elements[navigation]._target,
22
+ targetElement.length > 1 ? targetElement : targetElement[0]
23
+ )
24
+ } else if (element && element._isStructured) {
25
+ return _getElement(
26
+ csnTarget.elements[navigation],
27
+ targetElement.length > 1 ? targetElement : targetElement[0]
28
+ )
29
+ }
30
+ }
31
+ return (
32
+ csnTarget.elements[key] || {
33
+ type: undefined
34
+ }
35
+ )
36
+ } else if (csnTarget.params) {
37
+ return (
38
+ csnTarget.params[key] || {
39
+ type: undefined
40
+ }
41
+ )
42
+ }
43
+ }
44
+
45
+ return {
46
+ type: undefined
47
+ }
48
+ }
49
+
50
+ const formatVal = (val, elementName, csnTarget, kind) => {
14
51
  if (val === null || val === 'null') return 'null'
15
52
  if (typeof val === 'boolean') return val
16
53
  if (typeof val === 'number') return getSafeNumber(val)
17
54
  if (!csnTarget && typeof val === 'string' && UUID.test(val)) return kind === 'odata-v2' ? `guid'${val}'` : val
18
- const { type } = (csnTarget &&
19
- ((csnTarget.elements && csnTarget.elements[key]) || (csnTarget.params && csnTarget.params[key]))) || {
20
- type: undefined
21
- }
55
+ const { type } = _getElement(csnTarget, elementName)
22
56
 
23
57
  if (kind === 'odata-v2') {
24
58
  switch (type) {
@@ -117,9 +117,7 @@ const RestAdapter = function(srv) {
117
117
  // begin tx
118
118
  router.use((req, res, next) => { // REVISIT: -> move to actual handler(s)
119
119
  // create tx and set as cds.context
120
- // REVISIT: _model should not be necessary
121
- // REVISIT: req._tx should not be used like that!
122
- req.tx = cds.context = srv.tx({ user: req.user, req, res, _model: srv.model })
120
+ cds.context = srv.tx(new cds.EventContext({ user: req.user, req, res }))
123
121
  next()
124
122
  })
125
123
 
@@ -149,8 +147,7 @@ const RestAdapter = function(srv) {
149
147
 
150
148
  // unfortunately, express doesn't catch async errors -> try catch needed
151
149
  try {
152
- // REVISIT: req._tx should not be used like that!
153
- await req.tx.commit(result)
150
+ await cds.context?.tx?.commit(result)
154
151
  } catch (e) {
155
152
  return next(e)
156
153
  }
@@ -180,8 +177,7 @@ const RestAdapter = function(srv) {
180
177
  // request may fail during processing or during commit -> both caught here
181
178
 
182
179
  // REVISIT: rollback needed if error occured before commit attempted -> how to distinguish?
183
- // REVISIT: req._tx should not be used like that!
184
- if (req.tx) req.tx.rollback(err).catch(() => {}) // REVISIT: silently ?!?
180
+ cds.context?.tx?.rollback(err).catch(() => {}) // REVISIT: silently ?!?
185
181
 
186
182
  next(err)
187
183
  })
@@ -1,12 +1,11 @@
1
1
  const RestRequest = require('../RestRequest')
2
2
 
3
- module.exports = async (_req) => {
4
- const { _srv: srv, _query: query, _target, _params } = _req
5
-
6
- const req = new RestRequest({ query, _target, params: _params })
3
+ module.exports = async _req => {
4
+ const { _srv: srv, _query: query, _target, _data, _params } = _req
7
5
 
6
+ const req = new RestRequest({ query, _target, params: _params, data: _data })
8
7
  // req.data is filled with keys during read and delete
9
- if (_params) req.data = _params[_params.length - 1] // REVISIT: We should avoid that!
8
+ if (_params) req.data = Object.assign(_data, _params[_params.length - 1]) // REVISIT: We should avoid that!
10
9
 
11
10
  await srv.dispatch(req)
12
11
  _req._result = { result: null, status: 204 } // REVISIT: Ugly voodoo _re._result channel -> eliminate
@@ -9,7 +9,8 @@ const { deepCopy } = require('../../_runtime/common/utils/copy')
9
9
  module.exports = (req, res, next) => {
10
10
  const { _srv: service } = req
11
11
 
12
- let query = cds.odata.parse(req.url, { service })
12
+ // REVISIT: Once we don't display the error message location in terms of an offset, but instead a copy of the original request including a marker, we don't need to provide the baseUrl here.
13
+ let query = cds.odata.parse(req.url, { service, baseUrl: req.baseUrl })
13
14
 
14
15
  // parser always produces selects
15
16
  const _target = (req._target = query.SELECT && query.SELECT.from)
@@ -74,7 +75,7 @@ module.exports = (req, res, next) => {
74
75
  if (query) req._query.__target = definition
75
76
 
76
77
  // REVISIT: query._data hack
77
- if ((query && (query.INSERT || query.UPDATE)) || (operation && operation.kind === 'action') || args) {
78
+ if ((query && (query.INSERT || query.UPDATE || query.DELETE)) || (operation && operation.kind === 'action') || args) {
78
79
  if (operation && (operation.kind === 'action' || operation.kind === 'function') && !operation.params) {
79
80
  req._data = {}
80
81
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap/cds",
3
- "version": "6.0.4",
3
+ "version": "6.1.2",
4
4
  "description": "SAP Cloud Application Programming Model - CDS for Node.js",
5
5
  "homepage": "https://cap.cloud.sap/",
6
6
  "keywords": [
@@ -30,8 +30,8 @@
30
30
  "node": ">=14.15.0"
31
31
  },
32
32
  "dependencies": {
33
- "@sap/cds-compiler": ">=2.13.0",
34
- "@sap/cds-foss": ">=3"
33
+ "@sap/cds-compiler": "^3.0.0",
34
+ "@sap/cds-foss": "^4"
35
35
  },
36
36
  "husky": {
37
37
  "hooks": {
package/server.js CHANGED
@@ -84,7 +84,7 @@ const defaults = {
84
84
  get favicon() {
85
85
  const favicon = require.resolve ('./app/favicon.ico')
86
86
  return express.static (favicon, {maxAge:'14d'})
87
- }
87
+ }
88
88
  }
89
89
 
90
90
 
@@ -3,7 +3,7 @@ using { cds.xt.TAR } from './model-provider';
3
3
 
4
4
  @protocol: 'rest'
5
5
  @(requires : 'authenticated-user')
6
- service cds.xt.ExtensibilityService @(path:'/-/cds/extensibility') {
6
+ service cds.xt.ExtensibilityService @(path:'/-/cds/extensibility', impl:'@sap/cds/srv/extensibility-service.js') {
7
7
  // TODO: allow-lists - custom before('add') handler
8
8
  // TODO: async jobs
9
9
 
@@ -41,10 +41,13 @@ service cds.xt.ExtensibilityService @(path:'/-/cds/extensibility') {
41
41
  @(requires : ['cds.ExtensionDeveloper'])
42
42
  function base() returns TAR;
43
43
 
44
+ @(requires : ['cds.ExtensionDeveloper'])
45
+ action pull() returns TAR;
46
+
44
47
  @(requires : ['cds.ExtensionDeveloper'])
45
48
  action push (
46
- extension : TAR // TODO: i18n, csv
47
- // tag : Extensions:tag,
49
+ extension : TAR,
50
+ tag : Extensions:tag
48
51
  // activate : ActivationLevel
49
52
  );
50
53
 
@@ -20,6 +20,8 @@ context cds.xt { // IMPORTANT: we don't use namespaces to avoid issues with cds.
20
20
  tenant : TenantID,
21
21
  toggles : array of String,
22
22
  for : CSNConsumer @cds.java.name: 'runtime',
23
+ flavor : String enum { parsed ; xtended ; inferred },
24
+ base : Boolean,
23
25
  ) returns CSN;
24
26
 
25
27
  action getExtCsn(
@@ -33,7 +35,7 @@ context cds.xt { // IMPORTANT: we don't use namespaces to avoid issues with cds.
33
35
  toggles : array of String,
34
36
  service : String,
35
37
  locale : Locale,
36
- flavor : String,
38
+ flavor : String enum { v2; v4; w4; x4 },
37
39
  for : CSNConsumer @cds.java.name: 'runtime',
38
40
  ) returns XML;
39
41